logo DERO HE BlockChain Explorer(v1) Mainnet

Tx hash: c18b65efb16a6f454dee90182c43e63c6342ef74dd6e591c379987834a92618a Type SC

Block: c006ed9afd03c454ea659b98b8d1dba09325c0b5b7ae24797607fd3abd443c36 (VALID)
SCID current reserves
SCID Amount(in atomic units)
0000000000000000000000000000000000000000000000000000000000000000 0
SCID string variables
key value
C 2f2a20094445524f4d756c74697369670a094d756c746973696720636f6e6365707420696d706c656d656e746174696f6e206f6e2044564d2d424153494320200a0962792040706c727370726f0a090a095374727563747572653a0a09546865726520617265207468726565206d61696e206c6f676963616c20756e69747320696e207468697320636f6e74726163740a0977616c6c65742c207472616e73616374696f6e20616e64207369676e65720a0a09312e2077616c6c657420696e7465726e616c206163636f756e74207769636820686f6c6420616d6f756e7420746861742062656c6f6e677320746f20746869732077616c6c65742066726f6d206f766572616c6c2073632062616c616e63650a09322e20656163682077616c6c657420636f6e7461696e73206f6e206f6e65206f7265206d6f7265207369676e6572730a09332e20616e79207369676e65722063616e206372656174652061207472616e73616374696f6e2066726f6d2061736f63696174656420776974682068696d20696e7465726e616c2077616c6c657420746f204445524f20616464726573730a09342e20616c6c207369676e6572732077697468696e67207468652077616c6c6574206d757374207369676e20746865207472616e73616374696f6e0a09352e207768656e206c617374207369676e6572207369676e732061207472616e73616374696f6e206974206561746865722073656e64696e67206465726f20746f20616472657373206f72206265636f6d6520696e76616c696420696620616d6f756e74206973206c6172676572207468652077616c6c65742062616c616e63650a090a0946756c6c2064657461696c65642064697363757373696f6e3a2068747470733a2f2f666f72756d2e6465726f2e696f2f742f7769702d6465726f2d6d756c74697369672d736d6172742d636f6e74726163742f3934320a090a095573657220466c6f77204578616d706c653a0a090a09312e204372656174652057616c6c65740a09322e2041646420616e6f74686572207061727469636970616e74730a09332e204c6f636b2077616c6c65740a09342e204465706f73697420736f6d652066756e64730a09352e204372656174652061207472616e73616374696f6e0a09362e20416c6c2077616c6c6574207061727469636970616e74732073686f756c64207369676e2074686973207472616e73616374696f6e0a092a205768656e206c617374207369676e657220737563637365737366756c6c79207369676e732066756e64732077696c6c2062652073656e74206f7665720a090a2a2f0a0a2f2a20536572766963652046756e6374696f6e7320616e64205574696c697479202a2f0a0a46756e6374696f6e20496e697469616c697a6528292055696e7436340a090a093939392052455455524e20496e666f2822436f6e7472616374205375636365737366756c6c79204465706c6f79656422290a456e642046756e6374696f6e200a0a0a46756e6374696f6e20496e666f28696e666f5f6d65737361676520537472696e67292055696e743634200a0a0930312044494d207478696420617320537472696e670a093032204c45542074786964203d205458494428290a0a09313020205052494e5446202220202b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b202022200a09323020205052494e5446202220207c2020604445524f4d756c7469736967202020207c202022200a09333020205052494e5446202220207c202020202020202020202020202020202020207c202022200a09343020205052494e5446202220207c2025732220696e666f5f6d6573736167650a09353020205052494e5446202220207c202020202020202020202020202020202020207c202022200a09363020205052494e5446202220202b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b202022200a09373020205052494e5446202220202b20545849443a2025732220747869640a09383020205052494e5446202220202b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b202022200a090a093939392052455455524e20300a456e642046756e6374696f6e200a0a0a46756e6374696f6e204572726f72286572726f725f6d65737361676520537472696e67292055696e743634200a0a0930312044494d207478696420617320537472696e670a093032204c45542074786964203d205458494428290a0a09313020205052494e5446202220202b2d2d2d2d2d5b204552524f52205d2d2d2d2d2d2b202022200a09323020205052494e5446202220207c2020604445524f4d756c7469736967202020207c202022200a09333020205052494e5446202220207c202020202020202020202020202020202020207c202022200a09343020205052494e5446202220207c20257322206572726f725f6d6573736167650a09353020205052494e5446202220207c202020202020202020202020202020202020207c202022200a09363020205052494e5446202220202b2d2d2d2d2d5b204552524f52205d2d2d2d2d2d2b202022200a09373020205052494e5446202220202b20545849443a2025732220747869640a09383020205052494e5446202220202b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b202022200a090a093939392052455455524e20310a456e642046756e6374696f6e200a0a0a2f2a20604445524f4d756c74697369672057616c6c6574602053706563696669632046756e6374696f6e73202a2f0a0a2f2f204372656174657320756e6c6f636b656420604445524f4d756c74697369672057616c6c65746020696e7374616e636520287478696420726570726573656e747320796f75722077616c6c657420696420696e73696465206f66206120636f6e74726163742073636f7065290a46756e6374696f6e2057616c6c657443726561746528292055696e7436340a0a0930312044494d2077616c6c65742c2063726561746f7220617320537472696e670a093032204c45542077616c6c6574203d205458494428290a093033204c45542063726561746f72203d205349474e455228290a090a0932302053544f52452877616c6c65742c2063726561746f7229202f2f20596f757220604445524f4d756c74697369672057616c6c6574602069642c207768657265206b6579206973207478696420616e642076616c7565206973207369676e657220616464726573730a0932312053544f52452877616c6c65742b225f6c6f636b6564222c203029202f2f20466c61672074686174206c6f636b732077616c6c6574207769636820616c6c6f77206465706f7369747320616e642064697361626c657320616464696e6720616e6f74686572207369676e6572730a0932322053544f52452877616c6c65742b225f62616c616e6365222c203029202f2f20446566696e657320612062616c616e6365206f6620612077616c6c65740a0932332053544f52452877616c6c65742b225f7369676e65725f696e646578222c203029202f2f204669727374207369676e6572206c69737420696e64657820726570726573656e74732063726561746f720a0932342053544f52452877616c6c65742b225f7369676e65725f30222c2063726561746f7229202f2f4669727374207369676e65722077696c6c206265206578656375746f727320616464726573730a090a093939392052455455524e20496e666f28224e657720604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b2229207375636365737366756c6c7920637265617465642e22290a456e642046756e6374696f6e0a0a0a2f2f20416464207369676e657220746f20604445524f4d756c74697369672057616c6c6574600a46756e6374696f6e2057616c6c65744164645369676e65722877616c6c657420537472696e672c207369676e657220537472696e67292055696e7436340a0a092f2f20436865636b20696620676976656e204445524f206164647265737320287369676e6572292069732076616c69640a0931302049462049535f414444524553535f56414c4944287369676e657229203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e207369676e657220616464726573732028222b7369676e65722b2229206973206e6f7420612076616c6964204445524f20616464726573732e22290a090a092f2f20436865636b20696620676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652065786973747320696e2064617461626173650a093230204946204558495354532877616c6c657429203d3d2031205448454e20474f544f2033300a0932312052455455524e204572726f722822476976656e20604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b222920696e7374616e636520646f6573206e6f742065786973747320696e2064617461626173652e22290a090a092f2f20436865636b20696620636f6e7472616374206578656375746f722068617665207065726d697373696f6e20746f20696e746572616374207769746820676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63650a09333020494620414444524553535f524157284c4f41442877616c6c65742929203d3d20414444524553535f524157285349474e4552282929205448454e20474f544f2034300a0933312052455455524e204572726f722822596f752068617665206e6f207065726d697373696f6e20746f20616464207369676e65727320746f207468697320604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a092f2f20496e206f7264657220746f20616464206164646974696f6e616c207369676e657220604445524f4d756c74697369672057616c6c65746020696e7374616e63652073686f756c6420626520756e6c6f636b65640a093430204946204c4f41442877616c6c65742b225f6c6f636b65642229203d3d2030205448454e20474f544f2035300a0934312052455455524e204572726f722822596f7520617265206e6f742061626c6520746f20616464206164646974696f6e616c207369676e657220746f206c6f636b656420604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a092f2f2050726576656e7420616464696e672073616d65207369676e65722074776963650a0935302044494d207369676e65725f6974657261746f722061732055696e7436340a093531204c4554207369676e65725f6974657261746f72203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a090a093532204c4554207369676e65725f6974657261746f72203d207369676e65725f6974657261746f72202d20310a09353320494620414444524553535f524157284c4f41442877616c6c65742b225f7369676e65725f222b7369676e65725f6974657261746f72292920213d20414444524553535f524157287369676e657229205448454e20474f544f2035350a0935342052455455524e204572726f722822596f752063616e6e6f7420616464207468652073616d65207369676e657220746f20604445524f4d756c74697369672057616c6c65746020696e7374616e63652074776963652e22290a093535204946207369676e65725f6974657261746f72203e2030205448454e20474f544f2035320a090a093630205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a093130302044494d206e6578745f7369676e65725f696e6465782061732055696e7436340a09313031204c4554206e6578745f7369676e65725f696e646578203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a090a093131302053544f52452877616c6c65742b225f7369676e65725f222b6e6578745f7369676e65725f696e6465782c207369676e6572290a093131312053544f52452877616c6c65742b225f7369676e65725f696e646578222c206e6578745f7369676e65725f696e646578290a090a093939392052455455524e20496e666f28224e6577207369676e65722028222b7369676e65722b222920616464656420746f20604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b2229207375636365737366756c6c792e22290a456e642046756e6374696f6e0a0a0a2f2f4c6f636b7320604445524f4d756c74697369672057616c6c6574602070726576656e74696e67206e6577207369676e65727320746f20626520616464656420746f20746869732077616c6c657420616e6420616c6c6f7773206465706f736974730a46756e6374696f6e2057616c6c65744c6f636b2877616c6c657420537472696e67292055696e7436340a090a092f2f20436865636b20696620676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652065786973747320696e2064617461626173650a093130204946204558495354532877616c6c657429203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e636520646f6573206e6f742065786973747320696e2064617461626173652e22290a090a092f2f20436865636b20696620636f6e7472616374206578656375746f722068617665207065726d697373696f6e20746f20696e746572616374207769746820676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63650a09323020494620414444524553535f524157284c4f41442877616c6c65742929203d3d20414444524553535f524157285349474e4552282929205448454e20474f544f2033300a0932312052455455524e204572726f722822596f752068617665206e6f207065726d697373696f6e20746f206c6f636b207468697320604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a092f2f20496e206f7264657220746f206c6f636b20604445524f4d756c74697369672057616c6c65746020696e7374616e63652073686f756c6420626520756e6c6f636b65640a093330204946204c4f41442877616c6c65742b225f6c6f636b65642229203d3d2030205448454e20474f544f2034300a0933312052455455524e204572726f722822596f7520617265206e6f742061626c6520746f206c6f636b20616e20616c7265616479206c6f636b656420604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a093430205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a093130302053544f52452877616c6c65742b225f6c6f636b6564222c2031290a090a093939392052455455524e20496e666f2822604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b2229206973206e6f77206c6f636b65642e22290a456e642046756e6374696f6e0a0a0a2f2f4465706f7369747320617265206f6e6c7920616c6c6f77656420696e206c6f636b65642077616c6c657473202849662077616c6c657420697320756e6c6f636b65642076616c75652077696c6c206265207472616e736665726564206261636b290a46756e6374696f6e2057616c6c65744465706f7369742877616c6c657420537472696e672c2076616c75652055696e743634292055696e7436340a0a092f2f20436865636b20696620676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652065786973747320696e2064617461626173650a093130204946204558495354532877616c6c657429203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e636520646f6573206e6f742065786973747320696e2064617461626173652e22290a090a092f2f20496e206f7264657220746f206465706f73697420746f20604445524f4d756c74697369672057616c6c65746020696e7374616e63652069742073686f756c64206265206c6f636b65640a093230204946204c4f41442877616c6c65742b225f6c6f636b65642229203d3d2031205448454e20474f544f2033300a0932312052455455524e204572726f722822596f7520617265206e6f742061626c65206465706f73697420696e746f20756e6c6f636b656420604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a0a093330205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a0a093130302044494d206e65775f62616c616e63652061732055696e7436340a09313031204c4554206e65775f62616c616e6365203d204c4f41442877616c6c65742b225f62616c616e63652229202b2076616c75650a093130322053544f52452877616c6c65742b225f62616c616e6365222c206e65775f62616c616e6365290a090a093939392052455455524e20496e666f2822604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b2229207375636373657366756c6c79206372656469746564207769746820222b2876616c75652f31303030303030303030303030292b22204445524f2e20546f74616c20657175616c7320746f20222b286e65775f62616c616e63652f31303030303030303030303030292b22204445524f2e22290a456e642046756e6374696f6e0a0a0a2f2a2057616c6c6574204372656174696f6e20416c6961736573202a2f0a0a0a0a2f2f416c69617320746f20696e7374616e746c79204372656174652c204164642033205369676e65727320616e64204c6f636b2077697468696e2031207472616e73616374696f6e0a46756e6374696f6e2057616c6c6574437265617465416e644c6f636b5769746854687265654164646974696f6e616c5369676e657273287369676e65723120537472696e672c207369676e65723220537472696e672c207369676e65723320537472696e67292055696e7436340a0a0930312044494d2077616c6c657420617320537472696e670a093032204c45542077616c6c6574203d205458494428290a0a0931302049462057616c6c65744372656174652829203d3d2030205448454e20474f544f2032300a0931312052455455524e20310a090a0932302049462057616c6c65744164645369676e65722877616c6c65742c207369676e65723129203d3d2030205448454e20474f544f202033300a0932312052455455524e20310a090a0933302049462057616c6c65744164645369676e65722877616c6c65742c207369676e65723229203d3d2030205448454e20474f544f202034300a0933312052455455524e20310a090a0934302049462057616c6c65744164645369676e65722877616c6c65742c207369676e65723329203d3d2030205448454e20474f544f202035300a0934312052455455524e20310a090a092f2f2035302049462057616c6c65744c6f636b2877616c6c657429203d3d2030205448454e20474f544f2036300a092f2f2035312052455455524e20310a090a092f2f2036302049462057616c6c65744465706f7369742877616c6c65742c2076616c756529203d3d2030205448454e20474f544f2037300a092f2f2036312052455455524e20310a090a093730205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a093939392052455455524e20300a456e642046756e6374696f6e0a0a0a0a0a2f2a20604445524f4d756c7469736967205472616e73616374696f6e602053706563696669632046756e6374696f6e73202a2f0a0a2f2f43726561746573206120604445524f4d756c7469736967205472616e73616374696f6e6020696e7374616e636520726561647920666f72207369676e696e670a46756e6374696f6e205472616e73616374696f6e43726561746553656e642877616c6c657420537472696e672c2064657374696e6174696f6e20537472696e672c20616d6f756e742055696e743634292055696e7436340a0a092f2f20436865636b20696620676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652065786973747320696e2064617461626173650a093130204946204558495354532877616c6c657429203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e20604445524f4d756c74697369672057616c6c65746020646f6573206e6f742065786973747322290a090a092f2f20436865636b2069662064657374696e6174696f6e2077616c6c65742069732076616c6964204445524f20616464726573730a0932302049462049535f414444524553535f56414c49442864657374696e6174696f6e29203d3d2031205448454e20474f544f2033300a0932312052455455524e204572726f7228224465737469616e74696f6e2061646472657373206973206e6f7420612076616c6964204445524f20616464726573732e22290a0a092f2f20436865636b20696620616d6f756e74206973206c6172676572207468656e207a65726f0a09333020494620616d6f756e74203e2030205448454e20474f544f2034300a0933312052455455524e204572726f722822416d6f756e742073686f756c642062652067726561746572207468656e207a65726f2e22290a090a092f2f20436865636b20696620616d6f756e74206578697374206f6e20604445524f4d756c74697369672057616c6c6574602062616c616e63650a0934302044494d2077616c6c65745f62616c616e63652061732055696e7436340a093431204c45542077616c6c65745f62616c616e6365203d204c4f41442877616c6c65742b225f62616c616e636522290a0934322049462077616c6c65745f62616c616e6365203e3d20616d6f756e74205448454e20474f544f203530202f2f205468616e6b7320404e656c62657274343432233534333320666f722074686973206c696e650a0934332052455455524e204572726f72282254686520616d6f756e74206f66204445524f20796f752072657175657374656420746f2073656e642028222b28616d6f756e742f31303030303030303030303030292b222920657863656564696e6720616d6f756e7420696e20604445524f4d756c74697369672057616c6c6574602028222b2877616c6c65745f62616c616e63652f31303030303030303030303030292b222920696e7374616e63652062616c616e63652e22290a090a092f2f20436865636b206966207369676e65722069732076616c6964206d656d626572206f66206120676976656e20604445524f4d756c74697369672057616c6c6574602c20736f2068652063616e20637265617465207472616e73616374696f6e730a0935302044494d207369676e65725f6974657261746f722061732055696e7436340a093531204c4554207369676e65725f6974657261746f72203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a090a093532204c4554207369676e65725f6974657261746f72203d207369676e65725f6974657261746f72202d20310a09353320494620414444524553535f524157284c4f41442877616c6c65742b225f7369676e65725f222b7369676e65725f6974657261746f72292920213d20414444524553535f524157285349474e4552282929205448454e20474f544f2035350a09353420474f544f2036300a093535204946207369676e65725f6974657261746f72203e2030205448454e20474f544f2035320a0935362052455455524e204572726f722822596f7520617265206e6f7420612076616c6964206d656d62657220287369676e657229206f66207468697320604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a093630205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a093130302044494d207472616e73616374696f6e20617320537472696e670a09313031204c4554207472616e73616374696f6e203d205458494428290a090a093130322053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2c2064657374696e6174696f6e290a093130332053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f616d6f756e74222c20616d6f756e74290a093130342053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f77616c6c6574222c2077616c6c6574290a093130352053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f6578656375746564222c203029202f2f2030202d207472616e73616374696f6e206f70656e2c2031202d207472616e73616374696f6e207375636365737366756c6c792065786563757465642c2032202d207472616e73616374696f6e2072656a65637465642028696e73756666697369656e742062616c616e6365290a093130362053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e6174757265735f636f756e74222c2030290a090a092f2f5072657369676e207472616e73616374696f6e207769746820796f7572207369676e617475726520746f207361766520657865637574696f6e730a09313037205472616e73616374696f6e5369676e287472616e73616374696f6e290a090a093939392052455455524e20496e666f2822604445524f4d756c7469736967205472616e73616374696f6e602028222b7472616e73616374696f6e2b2229207375636373657366756c6c7920637265617465642e22290a456e642046756e6374696f6e0a0a0a2f2f416c69617320746f20604445524f4d756c7469736967205472616e73616374696f6e600a46756e6374696f6e205472616e73616374696f6e43726561746557697468647261772877616c6c657420537472696e672c20616d6f756e742055696e743634292055696e7436340a090a093939392052455455524e205472616e73616374696f6e43726561746553656e642877616c6c65742c205349474e455228292c20616d6f756e74290a456e642046756e6374696f6e0a0a0a2f2f416c69617320746f20604445524f4d756c7469736967205472616e73616374696f6e6020776974682068756d616e207265616461626c6520616d6f756e742065672034204465726f20696e7374656164206f6620343030303030303030303030300a46756e6374696f6e205472616e73616374696f6e43726561746553656e6448756d616e5265616461626c65416d6f756e742877616c6c657420537472696e672c2064657374696e6174696f6e20537472696e672c20616d6f756e742055696e743634292055696e7436340a090a092f2f20436f6e76657274696e672068756d616e207265616461626c65206465726f20616d6f756e7420696e746f20626c6f636b636861696e20707265636973650a093031204c455420616d6f756e74203d20616d6f756e74202a20313030303030303030303030300a090a093939392052455455524e205472616e73616374696f6e43726561746553656e642877616c6c65742c2064657374696e6174696f6e2c20616d6f756e74290a456e642046756e6374696f6e0a0a0a2f2f416c69617320746f20604445524f4d756c7469736967205472616e73616374696f6e6020776974686472617720776974682068756d616e207265616461626c6520616d6f756e740a46756e6374696f6e205472616e73616374696f6e437265617465576974686472617748756d616e5265616461626c65416d6f756e742877616c6c657420537472696e672c20616d6f756e742055696e743634292055696e7436340a090a093939392052455455524e205472616e73616374696f6e43726561746553656e6448756d616e5265616461626c65416d6f756e742877616c6c65742c205349474e455228292c20616d6f756e74290a456e642046756e6374696f6e0a0a0a2f2f5369676e73206120604445524f4d756c7469736967205472616e73616374696f6e6020287768656e206c617374207369676e65722077696c6c207369676e2074686973207472616e73616374696f6e206465726f2077696c6c2062652077697468647261776e290a46756e6374696f6e205472616e73616374696f6e5369676e287472616e73616374696f6e20537472696e67292055696e7436340a0a092f2f20436865636b20696620676976656e20604445524f4d756c7469736967205472616e73616374696f6e6020696e7374616e63652065786973747320696e2064617461626173650a0931302049462045584953545328227472616e73616374696f6e5f222b7472616e73616374696f6e29203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e20604445524f4d756c7469736967205472616e73616374696f6e6020646f6573206e6f74206578697374732e22290a090a092f2f20436865636b20696620604445524f4d756c7469736967205472616e73616374696f6e60207374696c6c206f70656e0a093230204946204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f65786563757465642229203d3d2030205448454e20474f544f2033300a0932312052455455524e204572726f722822476976656e20604445524f4d756c7469736967205472616e73616374696f6e6020697320616c72656164792065786563757465642e22290a090a092f2f20436865636b20696620616d6f756e74206578697374206f6e20604445524f4d756c74697369672057616c6c6574602062616c616e63650a0933302044494d2077616c6c657420617320537472696e670a093331204c45542077616c6c6574203d204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f77616c6c657422290a0933322044494d2077616c6c65745f62616c616e63652061732055696e7436340a093333204c45542077616c6c65745f62616c616e6365203d204c4f41442877616c6c65742b225f62616c616e636522290a090a0933342049462077616c6c65745f62616c616e6365202d204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f616d6f756e742229203e3d2030205448454e20474f544f2034300a0933352053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f6578656375746564222c2032290a0933362052455455524e204572726f72282254686520616d6f756e74206f66204445524f20796f752072657175657374656420657863656564696e6720616d6f756e7420696e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652062736c736e76722c207472616e73616374696f6e206e6f206c6f6e6765722076616c69642e22290a090a092f2f20436865636b206966207369676e65722069732076616c6964206d656d626572206f66206120676976656e20604445524f4d756c7469736967205472616e73616374696f6e600a0934302044494d207369676e65725f6974657261746f722061732055696e7436340a093431204c4554207369676e65725f6974657261746f72203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a090a093432204c4554207369676e65725f6974657261746f72203d207369676e65725f6974657261746f72202d20310a09343320494620414444524553535f524157284c4f41442877616c6c65742b225f7369676e65725f222b7369676e65725f6974657261746f72292920213d20414444524553535f524157285349474e4552282929205448454e20474f544f2034350a09343420474f544f2035300a093435204946207369676e65725f6974657261746f72203e2030205448454e20474f544f2034320a0934362052455455524e204572726f722822596f7520617265206e6f7420612076616c6964207369676e6572206f66207468697320604445524f4d756c7469736967205472616e73616374696f6e6020696e7374616e63652e22290a090a0935302049462045584953545328227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e65725f222b7369676e65725f6974657261746f7229203d3d2030205448454e20474f544f2036300a0935312052455455524e204572726f7228225468697320604445524f4d756c7469736967205472616e73616374696f6e6020697320616c7265616479207369676e656420627920796f752e22290a090a093630205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a092f2f2050726576696f757320636865636b75702077696c6c2066696e64207369676e65727320696e64657820616e64206e657874206f7065726174696f6e2077696c6c207365742061206865696768206f6e2077696368207369676e657220636f6e6669726d65642074686973207472616e73616374696f6e0a093130302053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e65725f222b7369676e65725f6974657261746f722c20424c4f434b5f484549474854282929202f2f4669727374207369676e65722077696c6c206265206578656375746f727320616464726573730a090a092f2f20436865636b2069662063757272656e74207369676e657220697320746865206c617374207369676e6572206f66207468697320604445524f4d756c7469736967205472616e73616374696f6e602c20696620736f206578656375746520616e6420636c6f7365207472616e73616374696f6e207769746820737461747573203120287375636365737366756c6c79206578656375746564290a093131302044494d207369676e65645f6974657261746f722c207369676e65645f636f756e742061732055696e7436340a09313131204c4554207369676e65645f6974657261746f72203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a09313132204c4554207369676e65645f636f756e74203d20300a090a09313230204c4554207369676e65645f6974657261746f72203d207369676e65645f6974657261746f72202d20310a093132312049462045584953545328227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e65725f222b7369676e65645f6974657261746f7229203d3d2030205448454e20474f544f203132330a09313232204c4554207369676e65645f636f756e74203d207369676e65645f636f756e74202b20310a09313233204946207369676e65645f6974657261746f72203e2030205448454e20474f544f203132300a093132342053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e6174757265735f636f756e74222c207369676e65645f636f756e74290a09313235204946207369676e65645f636f756e7420213d204c4f41442877616c6c65742b225f7369676e65725f696e64657822292b31205448454e20474f544f203939390a090a093132362053454e445f4445524f5f544f5f41444452455353284c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e292c204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f616d6f756e7422292d3129202f2f202d3120746f2066697820275265636f766572656420696e2066756e6374696f6e2075696e74363420756e646572666c6f77207772617061726f756e642061747461636b270a093132372053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f6578656375746564222c2031290a093132382053544f52452877616c6c65742b225f62616c616e6365222c2077616c6c65745f62616c616e6365202d204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f616d6f756e742229290a090a093939382052455455524e20496e666f2822604445524f4d756c7469736967205472616e73616374696f6e602028222b7472616e73616374696f6e2b2229207369676e6564206279206c617374206d656d62657220616e64206e6f772065786563757465642e22290a090a093939392052455455524e20496e666f2822604445524f4d756c7469736967205472616e73616374696f6e602028222b7472616e73616374696f6e2b2229207369676e6564207375636365737366756c6c792e22290a456e642046756e6374696f6e0a0a
SCID uint64 variables
key value
built BLID : 253e06f0c82424718573b6cd7c6799391772e2c68f2c8e23803217e0f92394fb
Tx RootHash: e091fa149ed69281538c116a4ae732763e9b4fde545294cded90692faabb4f33 built height : 1342689
Timestamp: 1670852800481 Timestamp [UTC]: 2022-12-12 13:46:40 Age [y:d:h:m:s]: 24184:54:9.542
Block: 1342693 Fee: 0.20502 Tx size: 14.938 kB
Tx version: 1 No of confirmations: 4594921 Signature type: DERO_HOMOMORPHIC
Extra:
DERO : 2 inputs/outputs (RING size) Fees 0.20502 Deposited to SC 0.00000
Sender : dero1qy4fxqwqrwmsny5uuypwyh5rhhdzglr3ylx77sglhzr5klmyqya36qgvmh5k2
address
dero1qyg4tmspn6t7c7grh0w0tglx8q7xtc5lvacum5crqde2c38s0r5jcqg923cms
dero1qy4fxqwqrwmsny5uuypwyh5rhhdzglr3ylx77sglhzr5klmyqya36qgvmh5k2
SC Balance: 0.00000 DERO
SC CODE:
  /* 	DEROMultisig
	Multisig concept implementation on DVM-BASIC  
	by @plrspro
	
	Structure:
	There are three main logical units in this contract
	wallet, transaction and signer

	1. wallet internal account wich hold amount that belongs to this wallet from overall sc balance
	2. each wallet contains on one ore more signers
	3. any signer can create a transaction from asociated with him internal wallet to DERO address
	4. all signers withing the wallet must sign the transaction
	5. when last signer signs a transaction it eather sending dero to adress or become invalid if amount is larger the wallet balance
	
	Full detailed discussion: https://forum.dero.io/t/wip-dero-multisig-smart-contract/942
	
	User Flow Example:
	
	1. Create Wallet
	2. Add another participants
	3. Lock wallet
	4. Deposit some funds
	5. Create a transaction
	6. All wallet participants should sign this transaction
	* When last signer succsessfully signs funds will be sent over
	
*/

/* Service Functions and Utility */

Function Initialize() Uint64
	
	999 RETURN Info("Contract Successfully Deployed")
End Function 


Function Info(info_message String) Uint64 

	01 DIM txid as String
	02 LET txid = TXID()

	10  PRINTF "  +-------------------+  " 
	20  PRINTF "  |  `DEROMultisig    |  " 
	30  PRINTF "  |                   |  " 
	40  PRINTF "  | %s" info_message
	50  PRINTF "  |                   |  " 
	60  PRINTF "  +-------------------+  " 
	70  PRINTF "  + TXID: %s" txid
	80  PRINTF "  +-------------------+  " 
	
	999 RETURN 0
End Function 


Function Error(error_message String) Uint64 

	01 DIM txid as String
	02 LET txid = TXID()

	10  PRINTF "  +-----[ ERROR ]-----+  " 
	20  PRINTF "  |  `DEROMultisig    |  " 
	30  PRINTF "  |                   |  " 
	40  PRINTF "  | %s" error_message
	50  PRINTF "  |                   |  " 
	60  PRINTF "  +-----[ ERROR ]-----+  " 
	70  PRINTF "  + TXID: %s" txid
	80  PRINTF "  +-------------------+  " 
	
	999 RETURN 1
End Function 


/* `DEROMultisig Wallet` Specific Functions */

// Creates unlocked `DEROMultisig Wallet` instance (txid represents your wallet id inside of a contract scope)
Function WalletCreate() Uint64

	01 DIM wallet, creator as String
	02 LET wallet = TXID()
	03 LET creator = SIGNER()
	
	20 STORE(wallet, creator) // Your `DEROMultisig Wallet` id, where key is txid and value is signer address
	21 STORE(wallet+"_locked", 0) // Flag that locks wallet wich allow deposits and disables adding another signers
	22 STORE(wallet+"_balance", 0) // Defines a balance of a wallet
	23 STORE(wallet+"_signer_index", 0) // First signer list index represents creator
	24 STORE(wallet+"_signer_0", creator) //First signer will be executors address
	
	999 RETURN Info("New `DEROMultisig Wallet` ("+wallet+") successfully created.")
End Function


// Add signer to `DEROMultisig Wallet`
Function WalletAddSigner(wallet String, signer String) Uint64

	// Check if given DERO address (signer) is valid
	10 IF IS_ADDRESS_VALID(signer) == 1 THEN GOTO 20
	11 RETURN Error("Given signer address ("+signer+") is not a valid DERO address.")
	
	// Check if given `DEROMultisig Wallet` instance exists in database
	20 IF EXISTS(wallet) == 1 THEN GOTO 30
	21 RETURN Error("Given `DEROMultisig Wallet` ("+wallet+") instance does not exists in database.")
	
	// Check if contract executor have permission to interact with given `DEROMultisig Wallet` instance
	30 IF ADDRESS_RAW(LOAD(wallet)) == ADDRESS_RAW(SIGNER()) THEN GOTO 40
	31 RETURN Error("You have no permission to add signers to this `DEROMultisig Wallet` instance.")
	
	// In order to add additional signer `DEROMultisig Wallet` instance should be unlocked
	40 IF LOAD(wallet+"_locked") == 0 THEN GOTO 50
	41 RETURN Error("You are not able to add additional signer to locked `DEROMultisig Wallet` instance.")
	
	// Prevent adding same signer twice
	50 DIM signer_iterator as Uint64
	51 LET signer_iterator = LOAD(wallet+"_signer_index") + 1
	
	52 LET signer_iterator = signer_iterator - 1
	53 IF ADDRESS_RAW(LOAD(wallet+"_signer_"+signer_iterator)) != ADDRESS_RAW(signer) THEN GOTO 55
	54 RETURN Error("You cannot add the same signer to `DEROMultisig Wallet` instance twice.")
	55 IF signer_iterator > 0 THEN GOTO 52
	
	60 PRINTF "  ---------------------  "
	
	100 DIM next_signer_index as Uint64
	101 LET next_signer_index = LOAD(wallet+"_signer_index") + 1
	
	110 STORE(wallet+"_signer_"+next_signer_index, signer)
	111 STORE(wallet+"_signer_index", next_signer_index)
	
	999 RETURN Info("New signer ("+signer+") added to `DEROMultisig Wallet` ("+wallet+") successfully.")
End Function


//Locks `DEROMultisig Wallet` preventing new signers to be added to this wallet and allows deposits
Function WalletLock(wallet String) Uint64
	
	// Check if given `DEROMultisig Wallet` instance exists in database
	10 IF EXISTS(wallet) == 1 THEN GOTO 20
	11 RETURN Error("Given `DEROMultisig Wallet` instance does not exists in database.")
	
	// Check if contract executor have permission to interact with given `DEROMultisig Wallet` instance
	20 IF ADDRESS_RAW(LOAD(wallet)) == ADDRESS_RAW(SIGNER()) THEN GOTO 30
	21 RETURN Error("You have no permission to lock this `DEROMultisig Wallet` instance.")
	
	// In order to lock `DEROMultisig Wallet` instance should be unlocked
	30 IF LOAD(wallet+"_locked") == 0 THEN GOTO 40
	31 RETURN Error("You are not able to lock an already locked `DEROMultisig Wallet` instance.")
	
	40 PRINTF "  ---------------------  "
	
	100 STORE(wallet+"_locked", 1)
	
	999 RETURN Info("`DEROMultisig Wallet` ("+wallet+") is now locked.")
End Function


//Deposits are only allowed in locked wallets (If wallet is unlocked value will be transfered back)
Function WalletDeposit(wallet String, value Uint64) Uint64

	// Check if given `DEROMultisig Wallet` instance exists in database
	10 IF EXISTS(wallet) == 1 THEN GOTO 20
	11 RETURN Error("Given `DEROMultisig Wallet` instance does not exists in database.")
	
	// In order to deposit to `DEROMultisig Wallet` instance it should be locked
	20 IF LOAD(wallet+"_locked") == 1 THEN GOTO 30
	21 RETURN Error("You are not able deposit into unlocked `DEROMultisig Wallet` instance.")

	30 PRINTF "  ---------------------  "

	100 DIM new_balance as Uint64
	101 LET new_balance = LOAD(wallet+"_balance") + value
	102 STORE(wallet+"_balance", new_balance)
	
	999 RETURN Info("`DEROMultisig Wallet` ("+wallet+") succsesfully credited with "+(value/1000000000000)+" DERO. Total equals to "+(new_balance/1000000000000)+" DERO.")
End Function


/* Wallet Creation Aliases */



//Alias to instantly Create, Add 3 Signers and Lock within 1 transaction
Function WalletCreateAndLockWithThreeAdditionalSigners(signer1 String, signer2 String, signer3 String) Uint64

	01 DIM wallet as String
	02 LET wallet = TXID()

	10 IF WalletCreate() == 0 THEN GOTO 20
	11 RETURN 1
	
	20 IF WalletAddSigner(wallet, signer1) == 0 THEN GOTO  30
	21 RETURN 1
	
	30 IF WalletAddSigner(wallet, signer2) == 0 THEN GOTO  40
	31 RETURN 1
	
	40 IF WalletAddSigner(wallet, signer3) == 0 THEN GOTO  50
	41 RETURN 1
	
	// 50 IF WalletLock(wallet) == 0 THEN GOTO 60
	// 51 RETURN 1
	
	// 60 IF WalletDeposit(wallet, value) == 0 THEN GOTO 70
	// 61 RETURN 1
	
	70 PRINTF "  ---------------------  "
	
	999 RETURN 0
End Function




/* `DEROMultisig Transaction` Specific Functions */

//Creates a `DEROMultisig Transaction` instance ready for signing
Function TransactionCreateSend(wallet String, destination String, amount Uint64) Uint64

	// Check if given `DEROMultisig Wallet` instance exists in database
	10 IF EXISTS(wallet) == 1 THEN GOTO 20
	11 RETURN Error("Given `DEROMultisig Wallet` does not exists")
	
	// Check if destination wallet is valid DERO address
	20 IF IS_ADDRESS_VALID(destination) == 1 THEN GOTO 30
	21 RETURN Error("Destiantion address is not a valid DERO address.")

	// Check if amount is larger then zero
	30 IF amount > 0 THEN GOTO 40
	31 RETURN Error("Amount should be greater then zero.")
	
	// Check if amount exist on `DEROMultisig Wallet` balance
	40 DIM wallet_balance as Uint64
	41 LET wallet_balance = LOAD(wallet+"_balance")
	42 IF wallet_balance >= amount THEN GOTO 50 // Thanks @Nelbert442#5433 for this line
	43 RETURN Error("The amount of DERO you requested to send ("+(amount/1000000000000)+") exceeding amount in `DEROMultisig Wallet` ("+(wallet_balance/1000000000000)+") instance balance.")
	
	// Check if signer is valid member of a given `DEROMultisig Wallet`, so he can create transactions
	50 DIM signer_iterator as Uint64
	51 LET signer_iterator = LOAD(wallet+"_signer_index") + 1
	
	52 LET signer_iterator = signer_iterator - 1
	53 IF ADDRESS_RAW(LOAD(wallet+"_signer_"+signer_iterator)) != ADDRESS_RAW(SIGNER()) THEN GOTO 55
	54 GOTO 60
	55 IF signer_iterator > 0 THEN GOTO 52
	56 RETURN Error("You are not a valid member (signer) of this `DEROMultisig Wallet` instance.")
	
	60 PRINTF "  ---------------------  "
	
	100 DIM transaction as String
	101 LET transaction = TXID()
	
	102 STORE("transaction_"+transaction, destination)
	103 STORE("transaction_"+transaction+"_amount", amount)
	104 STORE("transaction_"+transaction+"_wallet", wallet)
	105 STORE("transaction_"+transaction+"_executed", 0) // 0 - transaction open, 1 - transaction successfully executed, 2 - transaction rejected (insuffisient balance)
	106 STORE("transaction_"+transaction+"_signatures_count", 0)
	
	//Presign transaction with your signature to save executions
	107 TransactionSign(transaction)
	
	999 RETURN Info("`DEROMultisig Transaction` ("+transaction+") succsesfully created.")
End Function


//Alias to `DEROMultisig Transaction`
Function TransactionCreateWithdraw(wallet String, amount Uint64) Uint64
	
	999 RETURN TransactionCreateSend(wallet, SIGNER(), amount)
End Function


//Alias to `DEROMultisig Transaction` with human readable amount eg 4 Dero instead of 4000000000000
Function TransactionCreateSendHumanReadableAmount(wallet String, destination String, amount Uint64) Uint64
	
	// Converting human readable dero amount into blockchain precise
	01 LET amount = amount * 1000000000000
	
	999 RETURN TransactionCreateSend(wallet, destination, amount)
End Function


//Alias to `DEROMultisig Transaction` withdraw with human readable amount
Function TransactionCreateWithdrawHumanReadableAmount(wallet String, amount Uint64) Uint64
	
	999 RETURN TransactionCreateSendHumanReadableAmount(wallet, SIGNER(), amount)
End Function


//Signs a `DEROMultisig Transaction` (when last signer will sign this transaction dero will be withdrawn)
Function TransactionSign(transaction String) Uint64

	// Check if given `DEROMultisig Transaction` instance exists in database
	10 IF EXISTS("transaction_"+transaction) == 1 THEN GOTO 20
	11 RETURN Error("Given `DEROMultisig Transaction` does not exists.")
	
	// Check if `DEROMultisig Transaction` still open
	20 IF LOAD("transaction_"+transaction+"_executed") == 0 THEN GOTO 30
	21 RETURN Error("Given `DEROMultisig Transaction` is already executed.")
	
	// Check if amount exist on `DEROMultisig Wallet` balance
	30 DIM wallet as String
	31 LET wallet = LOAD("transaction_"+transaction+"_wallet")
	32 DIM wallet_balance as Uint64
	33 LET wallet_balance = LOAD(wallet+"_balance")
	
	34 IF wallet_balance - LOAD("transaction_"+transaction+"_amount") >= 0 THEN GOTO 40
	35 STORE("transaction_"+transaction+"_executed", 2)
	36 RETURN Error("The amount of DERO you requested exceeding amount in `DEROMultisig Wallet` instance bslsnvr, transaction no longer valid.")
	
	// Check if signer is valid member of a given `DEROMultisig Transaction`
	40 DIM signer_iterator as Uint64
	41 LET signer_iterator = LOAD(wallet+"_signer_index") + 1
	
	42 LET signer_iterator = signer_iterator - 1
	43 IF ADDRESS_RAW(LOAD(wallet+"_signer_"+signer_iterator)) != ADDRESS_RAW(SIGNER()) THEN GOTO 45
	44 GOTO 50
	45 IF signer_iterator > 0 THEN GOTO 42
	46 RETURN Error("You are not a valid signer of this `DEROMultisig Transaction` instance.")
	
	50 IF EXISTS("transaction_"+transaction+"_signer_"+signer_iterator) == 0 THEN GOTO 60
	51 RETURN Error("This `DEROMultisig Transaction` is already signed by you.")
	
	60 PRINTF "  ---------------------  "
	
	// Previous checkup will find signers index and next operation will set a heigh on wich signer confirmed this transaction
	100 STORE("transaction_"+transaction+"_signer_"+signer_iterator, BLOCK_HEIGHT()) //First signer will be executors address
	
	// Check if current signer is the last signer of this `DEROMultisig Transaction`, if so execute and close transaction with status 1 (successfully executed)
	110 DIM signed_iterator, signed_count as Uint64
	111 LET signed_iterator = LOAD(wallet+"_signer_index") + 1
	112 LET signed_count = 0
	
	120 LET signed_iterator = signed_iterator - 1
	121 IF EXISTS("transaction_"+transaction+"_signer_"+signed_iterator) == 0 THEN GOTO 123
	122 LET signed_count = signed_count + 1
	123 IF signed_iterator > 0 THEN GOTO 120
	124 STORE("transaction_"+transaction+"_signatures_count", signed_count)
	125 IF signed_count != LOAD(wallet+"_signer_index")+1 THEN GOTO 999
	
	126 SEND_DERO_TO_ADDRESS(LOAD("transaction_"+transaction), LOAD("transaction_"+transaction+"_amount")-1) // -1 to fix 'Recovered in function uint64 underflow wraparound attack'
	127 STORE("transaction_"+transaction+"_executed", 1)
	128 STORE(wallet+"_balance", wallet_balance - LOAD("transaction_"+transaction+"_amount"))
	
	998 RETURN Info("`DEROMultisig Transaction` ("+transaction+") signed by last member and now executed.")
	
	999 RETURN Info("`DEROMultisig Transaction` ("+transaction+") signed successfully.")
End Function


SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'/* DEROMultisig Multisig concept implementation on DVM-BASIC by @plrspro Structure: There are three main logical units in this contract wallet, transaction and signer 1. wallet internal account wich hold amount that belongs to this wallet from overall sc balance 2. each wallet contains on one ore more signers 3. any signer can create a transaction from asociated with him internal wallet to DERO address 4. all signers withing the wallet must sign the transaction 5. when last signer signs a transaction it eather sending dero to adress or become invalid if amount is larger the wallet balance Full detailed discussion: https://forum.dero.io/t/wip-dero-multisig-smart-contract/942 User Flow Example: 1. Create Wallet 2. Add another participants 3. Lock wallet 4. Deposit some funds 5. Create a transaction 6. All wallet participants should sign this transaction * When last signer succsessfully signs funds will be sent over */ /* Service Functions and Utility */ Function Initialize() Uint64 999 RETURN Info("Contract Successfully Deployed") End Function Function Info(info_message String) Uint64 01 DIM txid as String 02 LET txid = TXID() 10 PRINTF " +-------------------+ " 20 PRINTF " | `DEROMultisig | " 30 PRINTF " | | " 40 PRINTF " | %s" info_message 50 PRINTF " | | " 60 PRINTF " +-------------------+ " 70 PRINTF " + TXID: %s" txid 80 PRINTF " +-------------------+ " 999 RETURN 0 End Function Function Error(error_message String) Uint64 01 DIM txid as String 02 LET txid = TXID() 10 PRINTF " +-----[ ERROR ]-----+ " 20 PRINTF " | `DEROMultisig | " 30 PRINTF " | | " 40 PRINTF " | %s" error_message 50 PRINTF " | | " 60 PRINTF " +-----[ ERROR ]-----+ " 70 PRINTF " + TXID: %s" txid 80 PRINTF " +-------------------+ " 999 RETURN 1 End Function /* `DEROMultisig Wallet` Specific Functions */ // Creates unlocked `DEROMultisig Wallet` instance (txid represents your wallet id inside of a contract scope) Function WalletCreate() Uint64 01 DIM wallet, creator as String 02 LET wallet = TXID() 03 LET creator = SIGNER() 20 STORE(wallet, creator) // Your `DEROMultisig Wallet` id, where key is txid and value is signer address 21 STORE(wallet+"_locked", 0) // Flag that locks wallet wich allow deposits and disables adding another signers 22 STORE(wallet+"_balance", 0) // Defines a balance of a wallet 23 STORE(wallet+"_signer_index", 0) // First signer list index represents creator 24 STORE(wallet+"_signer_0", creator) //First signer will be executors address 999 RETURN Info("New `DEROMultisig Wallet` ("+wallet+") successfully created.") End Function // Add signer to `DEROMultisig Wallet` Function WalletAddSigner(wallet String, signer String) Uint64 // Check if given DERO address (signer) is valid 10 IF IS_ADDRESS_VALID(signer) == 1 THEN GOTO 20 11 RETURN Error("Given signer address ("+signer+") is not a valid DERO address.") // Check if given `DEROMultisig Wallet` instance exists in database 20 IF EXISTS(wallet) == 1 THEN GOTO 30 21 RETURN Error("Given `DEROMultisig Wallet` ("+wallet+") instance does not exists in database.") // Check if contract executor have permission to interact with given `DEROMultisig Wallet` instance 30 IF ADDRESS_RAW(LOAD(wallet)) == ADDRESS_RAW(SIGNER()) THEN GOTO 40 31 RETURN Error("You have no permission to add signers to this `DEROMultisig Wallet` instance.") // In order to add additional signer `DEROMultisig Wallet` instance should be unlocked 40 IF LOAD(wallet+"_locked") == 0 THEN GOTO 50 41 RETURN Error("You are not able to add additional signer to locked `DEROMultisig Wallet` instance.") // Prevent adding same signer twice 50 DIM signer_iterator as Uint64 51 LET signer_iterator = LOAD(wallet+"_signer_index") + 1 52 LET signer_iterator = signer_iterator - 1 53 IF ADDRESS_RAW(LOAD(wallet+"_signer_"+signer_iterator)) != ADDRESS_RAW(signer) THEN GOTO 55 54 RETURN Error("You cannot add the same signer to `DEROMultisig Wallet` instance twice.") 55 IF signer_iterator > 0 THEN GOTO 52 60 PRINTF " --------------------- " 100 DIM next_signer_index as Uint64 101 LET next_signer_index = LOAD(wallet+"_signer_index") + 1 110 STORE(wallet+"_signer_"+next_signer_index, signer) 111 STORE(wallet+"_signer_index", next_signer_index) 999 RETURN Info("New signer ("+signer+") added to `DEROMultisig Wallet` ("+wallet+") successfully.") End Function //Locks `DEROMultisig Wallet` preventing new signers to be added to this wallet and allows deposits Function WalletLock(wallet String) Uint64 // Check if given `DEROMultisig Wallet` instance exists in database 10 IF EXISTS(wallet) == 1 THEN GOTO 20 11 RETURN Error("Given `DEROMultisig Wallet` instance does not exists in database.") // Check if contract executor have permission to interact with given `DEROMultisig Wallet` instance 20 IF ADDRESS_RAW(LOAD(wallet)) == ADDRESS_RAW(SIGNER()) THEN GOTO 30 21 RETURN Error("You have no permission to lock this `DEROMultisig Wallet` instance.") // In order to lock `DEROMultisig Wallet` instance should be unlocked 30 IF LOAD(wallet+"_locked") == 0 THEN GOTO 40 31 RETURN Error("You are not able to lock an already locked `DEROMultisig Wallet` instance.") 40 PRINTF " --------------------- " 100 STORE(wallet+"_locked", 1) 999 RETURN Info("`DEROMultisig Wallet` ("+wallet+") is now locked.") End Function //Deposits are only allowed in locked wallets (If wallet is unlocked value will be transfered back) Function WalletDeposit(wallet String, value Uint64) Uint64 // Check if given `DEROMultisig Wallet` instance exists in database 10 IF EXISTS(wallet) == 1 THEN GOTO 20 11 RETURN Error("Given `DEROMultisig Wallet` instance does not exists in database.") // In order to deposit to `DEROMultisig Wallet` instance it should be locked 20 IF LOAD(wallet+"_locked") == 1 THEN GOTO 30 21 RETURN Error("You are not able deposit into unlocked `DEROMultisig Wallet` instance.") 30 PRINTF " --------------------- " 100 DIM new_balance as Uint64 101 LET new_balance = LOAD(wallet+"_balance") + value 102 STORE(wallet+"_balance", new_balance) 999 RETURN Info("`DEROMultisig Wallet` ("+wallet+") succsesfully credited with "+(value/1000000000000)+" DERO. Total equals to "+(new_balance/1000000000000)+" DERO.") End Function /* Wallet Creation Aliases */ //Alias to instantly Create, Add 3 Signers and Lock within 1 transaction Function WalletCreateAndLockWithThreeAdditionalSigners(signer1 String, signer2 String, signer3 String) Uint64 01 DIM wallet as String 02 LET wallet = TXID() 10 IF WalletCreate() == 0 THEN GOTO 20 11 RETURN 1 20 IF WalletAddSigner(wallet, signer1) == 0 THEN GOTO 30 21 RETURN 1 30 IF WalletAddSigner(wallet, signer2) == 0 THEN GOTO 40 31 RETURN 1 40 IF WalletAddSigner(wallet, signer3) == 0 THEN GOTO 50 41 RETURN 1 // 50 IF WalletLock(wallet) == 0 THEN GOTO 60 // 51 RETURN 1 // 60 IF WalletDeposit(wallet, value) == 0 THEN GOTO 70 // 61 RETURN 1 70 PRINTF " --------------------- " 999 RETURN 0 End Function /* `DEROMultisig Transaction` Specific Functions */ //Creates a `DEROMultisig Transaction` instance ready for signing Function TransactionCreateSend(wallet String, destination String, amount Uint64) Uint64 // Check if given `DEROMultisig Wallet` instance exists in database 10 IF EXISTS(wallet) == 1 THEN GOTO 20 11 RETURN Error("Given `DEROMultisig Wallet` does not exists") // Check if destination wallet is valid DERO address 20 IF IS_ADDRESS_VALID(destination) == 1 THEN GOTO 30 21 RETURN Error("Destiantion address is not a valid DERO address.") // Check if amount is larger then zero 30 IF amount > 0 THEN GOTO 40 31 RETURN Error("Amount should be greater then zero.") // Check if amount exist on `DEROMultisig Wallet` balance 40 DIM wallet_balance as Uint64 41 LET wallet_balance = LOAD(wallet+"_balance") 42 IF wallet_balance >= amount THEN GOTO 50 // Thanks @Nelbert442#5433 for this line 43 RETURN Error("The amount of DERO you requested to send ("+(amount/1000000000000)+") exceeding amount in `DEROMultisig Wallet` ("+(wallet_balance/1000000000000)+") instance balance.") // Check if signer is valid member of a given `DEROMultisig Wallet`, so he can create transactions 50 DIM signer_iterator as Uint64 51 LET signer_iterator = LOAD(wallet+"_signer_index") + 1 52 LET signer_iterator = signer_iterator - 1 53 IF ADDRESS_RAW(LOAD(wallet+"_signer_"+signer_iterator)) != ADDRESS_RAW(SIGNER()) THEN GOTO 55 54 GOTO 60 55 IF signer_iterator > 0 THEN GOTO 52 56 RETURN Error("You are not a valid member (signer) of this `DEROMultisig Wallet` instance.") 60 PRINTF " --------------------- " 100 DIM transaction as String 101 LET transaction = TXID() 102 STORE("transaction_"+transaction, destination) 103 STORE("transaction_"+transaction+"_amount", amount) 104 STORE("transaction_"+transaction+"_wallet", wallet) 105 STORE("transaction_"+transaction+"_executed", 0) // 0 - transaction open, 1 - transaction successfully executed, 2 - transaction rejected (insuffisient balance) 106 STORE("transaction_"+transaction+"_signatures_count", 0) //Presign transaction with your signature to save executions 107 TransactionSign(transaction) 999 RETURN Info("`DEROMultisig Transaction` ("+transaction+") succsesfully created.") End Function //Alias to `DEROMultisig Transaction` Function TransactionCreateWithdraw(wallet String, amount Uint64) Uint64 999 RETURN TransactionCreateSend(wallet, SIGNER(), amount) End Function //Alias to `DEROMultisig Transaction` with human readable amount eg 4 Dero instead of 4000000000000 Function TransactionCreateSendHumanReadableAmount(wallet String, destination String, amount Uint64) Uint64 // Converting human readable dero amount into blockchain precise 01 LET amount = amount * 1000000000000 999 RETURN TransactionCreateSend(wallet, destination, amount) End Function //Alias to `DEROMultisig Transaction` withdraw with human readable amount Function TransactionCreateWithdrawHumanReadableAmount(wallet String, amount Uint64) Uint64 999 RETURN TransactionCreateSendHumanReadableAmount(wallet, SIGNER(), amount) End Function //Signs a `DEROMultisig Transaction` (when last signer will sign this transaction dero will be withdrawn) Function TransactionSign(transaction String) Uint64 // Check if given `DEROMultisig Transaction` instance exists in database 10 IF EXISTS("transaction_"+transaction) == 1 THEN GOTO 20 11 RETURN Error("Given `DEROMultisig Transaction` does not exists.") // Check if `DEROMultisig Transaction` still open 20 IF LOAD("transaction_"+transaction+"_executed") == 0 THEN GOTO 30 21 RETURN Error("Given `DEROMultisig Transaction` is already executed.") // Check if amount exist on `DEROMultisig Wallet` balance 30 DIM wallet as String 31 LET wallet = LOAD("transaction_"+transaction+"_wallet") 32 DIM wallet_balance as Uint64 33 LET wallet_balance = LOAD(wallet+"_balance") 34 IF wallet_balance - LOAD("transaction_"+transaction+"_amount") >= 0 THEN GOTO 40 35 STORE("transaction_"+transaction+"_executed", 2) 36 RETURN Error("The amount of DERO you requested exceeding amount in `DEROMultisig Wallet` instance bslsnvr, transaction no longer valid.") // Check if signer is valid member of a given `DEROMultisig Transaction` 40 DIM signer_iterator as Uint64 41 LET signer_iterator = LOAD(wallet+"_signer_index") + 1 42 LET signer_iterator = signer_iterator - 1 43 IF ADDRESS_RAW(LOAD(wallet+"_signer_"+signer_iterator)) != ADDRESS_RAW(SIGNER()) THEN GOTO 45 44 GOTO 50 45 IF signer_iterator > 0 THEN GOTO 42 46 RETURN Error("You are not a valid signer of this `DEROMultisig Transaction` instance.") 50 IF EXISTS("transaction_"+transaction+"_signer_"+signer_iterator) == 0 THEN GOTO 60 51 RETURN Error("This `DEROMultisig Transaction` is already signed by you.") 60 PRINTF " --------------------- " // Previous checkup will find signers index and next operation will set a heigh on wich signer confirmed this transaction 100 STORE("transaction_"+transaction+"_signer_"+signer_iterator, BLOCK_HEIGHT()) //First signer will be executors address // Check if current signer is the last signer of this `DEROMultisig Transaction`, if so execute and close transaction with status 1 (successfully executed) 110 DIM signed_iterator, signed_count as Uint64 111 LET signed_iterator = LOAD(wallet+"_signer_index") + 1 112 LET signed_count = 0 120 LET signed_iterator = signed_iterator - 1 121 IF EXISTS("transaction_"+transaction+"_signer_"+signed_iterator) == 0 THEN GOTO 123 122 LET signed_count = signed_count + 1 123 IF signed_iterator > 0 THEN GOTO 120 124 STORE("transaction_"+transaction+"_signatures_count", signed_count) 125 IF signed_count != LOAD(wallet+"_signer_index")+1 THEN GOTO 999 126 SEND_DERO_TO_ADDRESS(LOAD("transaction_"+transaction), LOAD("transaction_"+transaction+"_amount")-1) // -1 to fix 'Recovered in function uint64 underflow wraparound attack' 127 STORE("transaction_"+transaction+"_executed", 1) 128 STORE(wallet+"_balance", wallet_balance - LOAD("transaction_"+transaction+"_amount")) 998 RETURN Info("`DEROMultisig Transaction` ("+transaction+") signed by last member and now executed.") 999 RETURN Info("`DEROMultisig Transaction` ("+transaction+") signed successfully.") End Function ']


Prove to someone that you have sent them DERO in this transaction

proof can be obtained using wallet command in dero-wallet-cli or from the statement
Note: proof is sent to the server, as the calculations are done on the server side


TX hex bytes
0100000500e1f951253e06f0c82424718573b6cd7c6799391772e2c68f2c8e23803217e0f92394fb01000000000000000000000000000000000000000000000000000000000000000000000291832132b990598f43b1993d55bf01696a71e6890ee6c603814c9513a565bc6c8f79ab989d79bd3719f5dc2eb011d174d5afefdab7276466b5794a31dc6116120390618b20321e32f1f1529325f1fc169af1450923bc315ecdd25e634f71ff7667a9c22a3a8d9d23bc593236f7a6f00fe1e2170ed1ad8432aa0ed1405a39141b31fff1c0f0a686e2bb3a6b67b02c8106010596a00122700343555990123eacf721c8ef03b4e566bd22b46d52239e6caf0fcd4b5de100ad4bf1fad9b2012e322c0828c4cdd4617f0530cf62b12c8436296e47b94a05675166dead1aeeeed433c0012b0cf6cfaa02c427bc8f41e61622de065117b9bf0eab226c4d3c71405ae9c82c00e091fa149ed69281538c116a4ae732763e9b4fde545294cded90692faabb4f33946aa26853435f434f4445537934fb2f2a20094445524f4d756c74697369670a094d756c746973696720636f6e6365707420696d706c656d656e746174696f6e206f6e2044564d2d424153494320200a0962792040706c727370726f0a090a095374727563747572653a0a09546865726520617265207468726565206d61696e206c6f676963616c20756e69747320696e207468697320636f6e74726163740a0977616c6c65742c207472616e73616374696f6e20616e64207369676e65720a0a09312e2077616c6c657420696e7465726e616c206163636f756e74207769636820686f6c6420616d6f756e7420746861742062656c6f6e677320746f20746869732077616c6c65742066726f6d206f766572616c6c2073632062616c616e63650a09322e20656163682077616c6c657420636f6e7461696e73206f6e206f6e65206f7265206d6f7265207369676e6572730a09332e20616e79207369676e65722063616e206372656174652061207472616e73616374696f6e2066726f6d2061736f63696174656420776974682068696d20696e7465726e616c2077616c6c657420746f204445524f20616464726573730a09342e20616c6c207369676e6572732077697468696e67207468652077616c6c6574206d757374207369676e20746865207472616e73616374696f6e0a09352e207768656e206c617374207369676e6572207369676e732061207472616e73616374696f6e206974206561746865722073656e64696e67206465726f20746f20616472657373206f72206265636f6d6520696e76616c696420696620616d6f756e74206973206c6172676572207468652077616c6c65742062616c616e63650a090a0946756c6c2064657461696c65642064697363757373696f6e3a2068747470733a2f2f666f72756d2e6465726f2e696f2f742f7769702d6465726f2d6d756c74697369672d736d6172742d636f6e74726163742f3934320a090a095573657220466c6f77204578616d706c653a0a090a09312e204372656174652057616c6c65740a09322e2041646420616e6f74686572207061727469636970616e74730a09332e204c6f636b2077616c6c65740a09342e204465706f73697420736f6d652066756e64730a09352e204372656174652061207472616e73616374696f6e0a09362e20416c6c2077616c6c6574207061727469636970616e74732073686f756c64207369676e2074686973207472616e73616374696f6e0a092a205768656e206c617374207369676e657220737563637365737366756c6c79207369676e732066756e64732077696c6c2062652073656e74206f7665720a090a2a2f0a0a2f2a20536572766963652046756e6374696f6e7320616e64205574696c697479202a2f0a0a46756e6374696f6e20496e697469616c697a6528292055696e7436340a090a093939392052455455524e20496e666f2822436f6e7472616374205375636365737366756c6c79204465706c6f79656422290a456e642046756e6374696f6e200a0a0a46756e6374696f6e20496e666f28696e666f5f6d65737361676520537472696e67292055696e743634200a0a0930312044494d207478696420617320537472696e670a093032204c45542074786964203d205458494428290a0a09313020205052494e5446202220202b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b202022200a09323020205052494e5446202220207c2020604445524f4d756c7469736967202020207c202022200a09333020205052494e5446202220207c202020202020202020202020202020202020207c202022200a09343020205052494e5446202220207c2025732220696e666f5f6d6573736167650a09353020205052494e5446202220207c202020202020202020202020202020202020207c202022200a09363020205052494e5446202220202b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b202022200a09373020205052494e5446202220202b20545849443a2025732220747869640a09383020205052494e5446202220202b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b202022200a090a093939392052455455524e20300a456e642046756e6374696f6e200a0a0a46756e6374696f6e204572726f72286572726f725f6d65737361676520537472696e67292055696e743634200a0a0930312044494d207478696420617320537472696e670a093032204c45542074786964203d205458494428290a0a09313020205052494e5446202220202b2d2d2d2d2d5b204552524f52205d2d2d2d2d2d2b202022200a09323020205052494e5446202220207c2020604445524f4d756c7469736967202020207c202022200a09333020205052494e5446202220207c202020202020202020202020202020202020207c202022200a09343020205052494e5446202220207c20257322206572726f725f6d6573736167650a09353020205052494e5446202220207c202020202020202020202020202020202020207c202022200a09363020205052494e5446202220202b2d2d2d2d2d5b204552524f52205d2d2d2d2d2d2b202022200a09373020205052494e5446202220202b20545849443a2025732220747869640a09383020205052494e5446202220202b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b202022200a090a093939392052455455524e20310a456e642046756e6374696f6e200a0a0a2f2a20604445524f4d756c74697369672057616c6c6574602053706563696669632046756e6374696f6e73202a2f0a0a2f2f204372656174657320756e6c6f636b656420604445524f4d756c74697369672057616c6c65746020696e7374616e636520287478696420726570726573656e747320796f75722077616c6c657420696420696e73696465206f66206120636f6e74726163742073636f7065290a46756e6374696f6e2057616c6c657443726561746528292055696e7436340a0a0930312044494d2077616c6c65742c2063726561746f7220617320537472696e670a093032204c45542077616c6c6574203d205458494428290a093033204c45542063726561746f72203d205349474e455228290a090a0932302053544f52452877616c6c65742c2063726561746f7229202f2f20596f757220604445524f4d756c74697369672057616c6c6574602069642c207768657265206b6579206973207478696420616e642076616c7565206973207369676e657220616464726573730a0932312053544f52452877616c6c65742b225f6c6f636b6564222c203029202f2f20466c61672074686174206c6f636b732077616c6c6574207769636820616c6c6f77206465706f7369747320616e642064697361626c657320616464696e6720616e6f74686572207369676e6572730a0932322053544f52452877616c6c65742b225f62616c616e6365222c203029202f2f20446566696e657320612062616c616e6365206f6620612077616c6c65740a0932332053544f52452877616c6c65742b225f7369676e65725f696e646578222c203029202f2f204669727374207369676e6572206c69737420696e64657820726570726573656e74732063726561746f720a0932342053544f52452877616c6c65742b225f7369676e65725f30222c2063726561746f7229202f2f4669727374207369676e65722077696c6c206265206578656375746f727320616464726573730a090a093939392052455455524e20496e666f28224e657720604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b2229207375636365737366756c6c7920637265617465642e22290a456e642046756e6374696f6e0a0a0a2f2f20416464207369676e657220746f20604445524f4d756c74697369672057616c6c6574600a46756e6374696f6e2057616c6c65744164645369676e65722877616c6c657420537472696e672c207369676e657220537472696e67292055696e7436340a0a092f2f20436865636b20696620676976656e204445524f206164647265737320287369676e6572292069732076616c69640a0931302049462049535f414444524553535f56414c4944287369676e657229203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e207369676e657220616464726573732028222b7369676e65722b2229206973206e6f7420612076616c6964204445524f20616464726573732e22290a090a092f2f20436865636b20696620676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652065786973747320696e2064617461626173650a093230204946204558495354532877616c6c657429203d3d2031205448454e20474f544f2033300a0932312052455455524e204572726f722822476976656e20604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b222920696e7374616e636520646f6573206e6f742065786973747320696e2064617461626173652e22290a090a092f2f20436865636b20696620636f6e7472616374206578656375746f722068617665207065726d697373696f6e20746f20696e746572616374207769746820676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63650a09333020494620414444524553535f524157284c4f41442877616c6c65742929203d3d20414444524553535f524157285349474e4552282929205448454e20474f544f2034300a0933312052455455524e204572726f722822596f752068617665206e6f207065726d697373696f6e20746f20616464207369676e65727320746f207468697320604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a092f2f20496e206f7264657220746f20616464206164646974696f6e616c207369676e657220604445524f4d756c74697369672057616c6c65746020696e7374616e63652073686f756c6420626520756e6c6f636b65640a093430204946204c4f41442877616c6c65742b225f6c6f636b65642229203d3d2030205448454e20474f544f2035300a0934312052455455524e204572726f722822596f7520617265206e6f742061626c6520746f20616464206164646974696f6e616c207369676e657220746f206c6f636b656420604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a092f2f2050726576656e7420616464696e672073616d65207369676e65722074776963650a0935302044494d207369676e65725f6974657261746f722061732055696e7436340a093531204c4554207369676e65725f6974657261746f72203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a090a093532204c4554207369676e65725f6974657261746f72203d207369676e65725f6974657261746f72202d20310a09353320494620414444524553535f524157284c4f41442877616c6c65742b225f7369676e65725f222b7369676e65725f6974657261746f72292920213d20414444524553535f524157287369676e657229205448454e20474f544f2035350a0935342052455455524e204572726f722822596f752063616e6e6f7420616464207468652073616d65207369676e657220746f20604445524f4d756c74697369672057616c6c65746020696e7374616e63652074776963652e22290a093535204946207369676e65725f6974657261746f72203e2030205448454e20474f544f2035320a090a093630205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a093130302044494d206e6578745f7369676e65725f696e6465782061732055696e7436340a09313031204c4554206e6578745f7369676e65725f696e646578203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a090a093131302053544f52452877616c6c65742b225f7369676e65725f222b6e6578745f7369676e65725f696e6465782c207369676e6572290a093131312053544f52452877616c6c65742b225f7369676e65725f696e646578222c206e6578745f7369676e65725f696e646578290a090a093939392052455455524e20496e666f28224e6577207369676e65722028222b7369676e65722b222920616464656420746f20604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b2229207375636365737366756c6c792e22290a456e642046756e6374696f6e0a0a0a2f2f4c6f636b7320604445524f4d756c74697369672057616c6c6574602070726576656e74696e67206e6577207369676e65727320746f20626520616464656420746f20746869732077616c6c657420616e6420616c6c6f7773206465706f736974730a46756e6374696f6e2057616c6c65744c6f636b2877616c6c657420537472696e67292055696e7436340a090a092f2f20436865636b20696620676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652065786973747320696e2064617461626173650a093130204946204558495354532877616c6c657429203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e636520646f6573206e6f742065786973747320696e2064617461626173652e22290a090a092f2f20436865636b20696620636f6e7472616374206578656375746f722068617665207065726d697373696f6e20746f20696e746572616374207769746820676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63650a09323020494620414444524553535f524157284c4f41442877616c6c65742929203d3d20414444524553535f524157285349474e4552282929205448454e20474f544f2033300a0932312052455455524e204572726f722822596f752068617665206e6f207065726d697373696f6e20746f206c6f636b207468697320604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a092f2f20496e206f7264657220746f206c6f636b20604445524f4d756c74697369672057616c6c65746020696e7374616e63652073686f756c6420626520756e6c6f636b65640a093330204946204c4f41442877616c6c65742b225f6c6f636b65642229203d3d2030205448454e20474f544f2034300a0933312052455455524e204572726f722822596f7520617265206e6f742061626c6520746f206c6f636b20616e20616c7265616479206c6f636b656420604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a093430205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a093130302053544f52452877616c6c65742b225f6c6f636b6564222c2031290a090a093939392052455455524e20496e666f2822604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b2229206973206e6f77206c6f636b65642e22290a456e642046756e6374696f6e0a0a0a2f2f4465706f7369747320617265206f6e6c7920616c6c6f77656420696e206c6f636b65642077616c6c657473202849662077616c6c657420697320756e6c6f636b65642076616c75652077696c6c206265207472616e736665726564206261636b290a46756e6374696f6e2057616c6c65744465706f7369742877616c6c657420537472696e672c2076616c75652055696e743634292055696e7436340a0a092f2f20436865636b20696620676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652065786973747320696e2064617461626173650a093130204946204558495354532877616c6c657429203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e636520646f6573206e6f742065786973747320696e2064617461626173652e22290a090a092f2f20496e206f7264657220746f206465706f73697420746f20604445524f4d756c74697369672057616c6c65746020696e7374616e63652069742073686f756c64206265206c6f636b65640a093230204946204c4f41442877616c6c65742b225f6c6f636b65642229203d3d2031205448454e20474f544f2033300a0932312052455455524e204572726f722822596f7520617265206e6f742061626c65206465706f73697420696e746f20756e6c6f636b656420604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a0a093330205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a0a093130302044494d206e65775f62616c616e63652061732055696e7436340a09313031204c4554206e65775f62616c616e6365203d204c4f41442877616c6c65742b225f62616c616e63652229202b2076616c75650a093130322053544f52452877616c6c65742b225f62616c616e6365222c206e65775f62616c616e6365290a090a093939392052455455524e20496e666f2822604445524f4d756c74697369672057616c6c6574602028222b77616c6c65742b2229207375636373657366756c6c79206372656469746564207769746820222b2876616c75652f31303030303030303030303030292b22204445524f2e20546f74616c20657175616c7320746f20222b286e65775f62616c616e63652f31303030303030303030303030292b22204445524f2e22290a456e642046756e6374696f6e0a0a0a2f2a2057616c6c6574204372656174696f6e20416c6961736573202a2f0a0a0a0a2f2f416c69617320746f20696e7374616e746c79204372656174652c204164642033205369676e65727320616e64204c6f636b2077697468696e2031207472616e73616374696f6e0a46756e6374696f6e2057616c6c6574437265617465416e644c6f636b5769746854687265654164646974696f6e616c5369676e657273287369676e65723120537472696e672c207369676e65723220537472696e672c207369676e65723320537472696e67292055696e7436340a0a0930312044494d2077616c6c657420617320537472696e670a093032204c45542077616c6c6574203d205458494428290a0a0931302049462057616c6c65744372656174652829203d3d2030205448454e20474f544f2032300a0931312052455455524e20310a090a0932302049462057616c6c65744164645369676e65722877616c6c65742c207369676e65723129203d3d2030205448454e20474f544f202033300a0932312052455455524e20310a090a0933302049462057616c6c65744164645369676e65722877616c6c65742c207369676e65723229203d3d2030205448454e20474f544f202034300a0933312052455455524e20310a090a0934302049462057616c6c65744164645369676e65722877616c6c65742c207369676e65723329203d3d2030205448454e20474f544f202035300a0934312052455455524e20310a090a092f2f2035302049462057616c6c65744c6f636b2877616c6c657429203d3d2030205448454e20474f544f2036300a092f2f2035312052455455524e20310a090a092f2f2036302049462057616c6c65744465706f7369742877616c6c65742c2076616c756529203d3d2030205448454e20474f544f2037300a092f2f2036312052455455524e20310a090a093730205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a093939392052455455524e20300a456e642046756e6374696f6e0a0a0a0a0a2f2a20604445524f4d756c7469736967205472616e73616374696f6e602053706563696669632046756e6374696f6e73202a2f0a0a2f2f43726561746573206120604445524f4d756c7469736967205472616e73616374696f6e6020696e7374616e636520726561647920666f72207369676e696e670a46756e6374696f6e205472616e73616374696f6e43726561746553656e642877616c6c657420537472696e672c2064657374696e6174696f6e20537472696e672c20616d6f756e742055696e743634292055696e7436340a0a092f2f20436865636b20696620676976656e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652065786973747320696e2064617461626173650a093130204946204558495354532877616c6c657429203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e20604445524f4d756c74697369672057616c6c65746020646f6573206e6f742065786973747322290a090a092f2f20436865636b2069662064657374696e6174696f6e2077616c6c65742069732076616c6964204445524f20616464726573730a0932302049462049535f414444524553535f56414c49442864657374696e6174696f6e29203d3d2031205448454e20474f544f2033300a0932312052455455524e204572726f7228224465737469616e74696f6e2061646472657373206973206e6f7420612076616c6964204445524f20616464726573732e22290a0a092f2f20436865636b20696620616d6f756e74206973206c6172676572207468656e207a65726f0a09333020494620616d6f756e74203e2030205448454e20474f544f2034300a0933312052455455524e204572726f722822416d6f756e742073686f756c642062652067726561746572207468656e207a65726f2e22290a090a092f2f20436865636b20696620616d6f756e74206578697374206f6e20604445524f4d756c74697369672057616c6c6574602062616c616e63650a0934302044494d2077616c6c65745f62616c616e63652061732055696e7436340a093431204c45542077616c6c65745f62616c616e6365203d204c4f41442877616c6c65742b225f62616c616e636522290a0934322049462077616c6c65745f62616c616e6365203e3d20616d6f756e74205448454e20474f544f203530202f2f205468616e6b7320404e656c62657274343432233534333320666f722074686973206c696e650a0934332052455455524e204572726f72282254686520616d6f756e74206f66204445524f20796f752072657175657374656420746f2073656e642028222b28616d6f756e742f31303030303030303030303030292b222920657863656564696e6720616d6f756e7420696e20604445524f4d756c74697369672057616c6c6574602028222b2877616c6c65745f62616c616e63652f31303030303030303030303030292b222920696e7374616e63652062616c616e63652e22290a090a092f2f20436865636b206966207369676e65722069732076616c6964206d656d626572206f66206120676976656e20604445524f4d756c74697369672057616c6c6574602c20736f2068652063616e20637265617465207472616e73616374696f6e730a0935302044494d207369676e65725f6974657261746f722061732055696e7436340a093531204c4554207369676e65725f6974657261746f72203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a090a093532204c4554207369676e65725f6974657261746f72203d207369676e65725f6974657261746f72202d20310a09353320494620414444524553535f524157284c4f41442877616c6c65742b225f7369676e65725f222b7369676e65725f6974657261746f72292920213d20414444524553535f524157285349474e4552282929205448454e20474f544f2035350a09353420474f544f2036300a093535204946207369676e65725f6974657261746f72203e2030205448454e20474f544f2035320a0935362052455455524e204572726f722822596f7520617265206e6f7420612076616c6964206d656d62657220287369676e657229206f66207468697320604445524f4d756c74697369672057616c6c65746020696e7374616e63652e22290a090a093630205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a093130302044494d207472616e73616374696f6e20617320537472696e670a09313031204c4554207472616e73616374696f6e203d205458494428290a090a093130322053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2c2064657374696e6174696f6e290a093130332053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f616d6f756e74222c20616d6f756e74290a093130342053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f77616c6c6574222c2077616c6c6574290a093130352053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f6578656375746564222c203029202f2f2030202d207472616e73616374696f6e206f70656e2c2031202d207472616e73616374696f6e207375636365737366756c6c792065786563757465642c2032202d207472616e73616374696f6e2072656a65637465642028696e73756666697369656e742062616c616e6365290a093130362053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e6174757265735f636f756e74222c2030290a090a092f2f5072657369676e207472616e73616374696f6e207769746820796f7572207369676e617475726520746f207361766520657865637574696f6e730a09313037205472616e73616374696f6e5369676e287472616e73616374696f6e290a090a093939392052455455524e20496e666f2822604445524f4d756c7469736967205472616e73616374696f6e602028222b7472616e73616374696f6e2b2229207375636373657366756c6c7920637265617465642e22290a456e642046756e6374696f6e0a0a0a2f2f416c69617320746f20604445524f4d756c7469736967205472616e73616374696f6e600a46756e6374696f6e205472616e73616374696f6e43726561746557697468647261772877616c6c657420537472696e672c20616d6f756e742055696e743634292055696e7436340a090a093939392052455455524e205472616e73616374696f6e43726561746553656e642877616c6c65742c205349474e455228292c20616d6f756e74290a456e642046756e6374696f6e0a0a0a2f2f416c69617320746f20604445524f4d756c7469736967205472616e73616374696f6e6020776974682068756d616e207265616461626c6520616d6f756e742065672034204465726f20696e7374656164206f6620343030303030303030303030300a46756e6374696f6e205472616e73616374696f6e43726561746553656e6448756d616e5265616461626c65416d6f756e742877616c6c657420537472696e672c2064657374696e6174696f6e20537472696e672c20616d6f756e742055696e743634292055696e7436340a090a092f2f20436f6e76657274696e672068756d616e207265616461626c65206465726f20616d6f756e7420696e746f20626c6f636b636861696e20707265636973650a093031204c455420616d6f756e74203d20616d6f756e74202a20313030303030303030303030300a090a093939392052455455524e205472616e73616374696f6e43726561746553656e642877616c6c65742c2064657374696e6174696f6e2c20616d6f756e74290a456e642046756e6374696f6e0a0a0a2f2f416c69617320746f20604445524f4d756c7469736967205472616e73616374696f6e6020776974686472617720776974682068756d616e207265616461626c6520616d6f756e740a46756e6374696f6e205472616e73616374696f6e437265617465576974686472617748756d616e5265616461626c65416d6f756e742877616c6c657420537472696e672c20616d6f756e742055696e743634292055696e7436340a090a093939392052455455524e205472616e73616374696f6e43726561746553656e6448756d616e5265616461626c65416d6f756e742877616c6c65742c205349474e455228292c20616d6f756e74290a456e642046756e6374696f6e0a0a0a2f2f5369676e73206120604445524f4d756c7469736967205472616e73616374696f6e6020287768656e206c617374207369676e65722077696c6c207369676e2074686973207472616e73616374696f6e206465726f2077696c6c2062652077697468647261776e290a46756e6374696f6e205472616e73616374696f6e5369676e287472616e73616374696f6e20537472696e67292055696e7436340a0a092f2f20436865636b20696620676976656e20604445524f4d756c7469736967205472616e73616374696f6e6020696e7374616e63652065786973747320696e2064617461626173650a0931302049462045584953545328227472616e73616374696f6e5f222b7472616e73616374696f6e29203d3d2031205448454e20474f544f2032300a0931312052455455524e204572726f722822476976656e20604445524f4d756c7469736967205472616e73616374696f6e6020646f6573206e6f74206578697374732e22290a090a092f2f20436865636b20696620604445524f4d756c7469736967205472616e73616374696f6e60207374696c6c206f70656e0a093230204946204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f65786563757465642229203d3d2030205448454e20474f544f2033300a0932312052455455524e204572726f722822476976656e20604445524f4d756c7469736967205472616e73616374696f6e6020697320616c72656164792065786563757465642e22290a090a092f2f20436865636b20696620616d6f756e74206578697374206f6e20604445524f4d756c74697369672057616c6c6574602062616c616e63650a0933302044494d2077616c6c657420617320537472696e670a093331204c45542077616c6c6574203d204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f77616c6c657422290a0933322044494d2077616c6c65745f62616c616e63652061732055696e7436340a093333204c45542077616c6c65745f62616c616e6365203d204c4f41442877616c6c65742b225f62616c616e636522290a090a0933342049462077616c6c65745f62616c616e6365202d204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f616d6f756e742229203e3d2030205448454e20474f544f2034300a0933352053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f6578656375746564222c2032290a0933362052455455524e204572726f72282254686520616d6f756e74206f66204445524f20796f752072657175657374656420657863656564696e6720616d6f756e7420696e20604445524f4d756c74697369672057616c6c65746020696e7374616e63652062736c736e76722c207472616e73616374696f6e206e6f206c6f6e6765722076616c69642e22290a090a092f2f20436865636b206966207369676e65722069732076616c6964206d656d626572206f66206120676976656e20604445524f4d756c7469736967205472616e73616374696f6e600a0934302044494d207369676e65725f6974657261746f722061732055696e7436340a093431204c4554207369676e65725f6974657261746f72203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a090a093432204c4554207369676e65725f6974657261746f72203d207369676e65725f6974657261746f72202d20310a09343320494620414444524553535f524157284c4f41442877616c6c65742b225f7369676e65725f222b7369676e65725f6974657261746f72292920213d20414444524553535f524157285349474e4552282929205448454e20474f544f2034350a09343420474f544f2035300a093435204946207369676e65725f6974657261746f72203e2030205448454e20474f544f2034320a0934362052455455524e204572726f722822596f7520617265206e6f7420612076616c6964207369676e6572206f66207468697320604445524f4d756c7469736967205472616e73616374696f6e6020696e7374616e63652e22290a090a0935302049462045584953545328227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e65725f222b7369676e65725f6974657261746f7229203d3d2030205448454e20474f544f2036300a0935312052455455524e204572726f7228225468697320604445524f4d756c7469736967205472616e73616374696f6e6020697320616c7265616479207369676e656420627920796f752e22290a090a093630205052494e5446202220202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2020220a090a092f2f2050726576696f757320636865636b75702077696c6c2066696e64207369676e65727320696e64657820616e64206e657874206f7065726174696f6e2077696c6c207365742061206865696768206f6e2077696368207369676e657220636f6e6669726d65642074686973207472616e73616374696f6e0a093130302053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e65725f222b7369676e65725f6974657261746f722c20424c4f434b5f484549474854282929202f2f4669727374207369676e65722077696c6c206265206578656375746f727320616464726573730a090a092f2f20436865636b2069662063757272656e74207369676e657220697320746865206c617374207369676e6572206f66207468697320604445524f4d756c7469736967205472616e73616374696f6e602c20696620736f206578656375746520616e6420636c6f7365207472616e73616374696f6e207769746820737461747573203120287375636365737366756c6c79206578656375746564290a093131302044494d207369676e65645f6974657261746f722c207369676e65645f636f756e742061732055696e7436340a09313131204c4554207369676e65645f6974657261746f72203d204c4f41442877616c6c65742b225f7369676e65725f696e6465782229202b20310a09313132204c4554207369676e65645f636f756e74203d20300a090a09313230204c4554207369676e65645f6974657261746f72203d207369676e65645f6974657261746f72202d20310a093132312049462045584953545328227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e65725f222b7369676e65645f6974657261746f7229203d3d2030205448454e20474f544f203132330a09313232204c4554207369676e65645f636f756e74203d207369676e65645f636f756e74202b20310a09313233204946207369676e65645f6974657261746f72203e2030205448454e20474f544f203132300a093132342053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f7369676e6174757265735f636f756e74222c207369676e65645f636f756e74290a09313235204946207369676e65645f636f756e7420213d204c4f41442877616c6c65742b225f7369676e65725f696e64657822292b31205448454e20474f544f203939390a090a093132362053454e445f4445524f5f544f5f41444452455353284c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e292c204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f616d6f756e7422292d3129202f2f202d3120746f2066697820275265636f766572656420696e2066756e6374696f6e2075696e74363420756e646572666c6f77207772617061726f756e642061747461636b270a093132372053544f524528227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f6578656375746564222c2031290a093132382053544f52452877616c6c65742b225f62616c616e6365222c2077616c6c65745f62616c616e6365202d204c4f414428227472616e73616374696f6e5f222b7472616e73616374696f6e2b225f616d6f756e742229290a090a093939382052455455524e20496e666f2822604445524f4d756c7469736967205472616e73616374696f6e602028222b7472616e73616374696f6e2b2229207369676e6564206279206c617374206d656d62657220616e64206e6f772065786563757465642e22290a090a093939392052455455524e20496e666f2822604445524f4d756c7469736967205472616e73616374696f6e602028222b7472616e73616374696f6e2b2229207369676e6564207375636365737366756c6c792e22290a456e642046756e6374696f6e0a0a6a53435f414354494f4e55012486f17de1b9d20ada91bdc4e752159a364a18b4442f3e89aa91d67521c1407301095a482c6b4a098442072c192674db9872484f410166cb96c847ce5581b8fb36010f958a3e04a921febaa5f507b5d4e100d413c7f0a35bc252a9cd0ef1e92496660124a996e41895b1271c6b8f2089aa5693e8228bccb60d1083133d55f0a2687b6d011505e943a1f15da6634531b528da06be4350950ed67b27355122c487a38f2a1d000709518444baa4cf26777000d247ab7ced3399cc8f7288d2f6af96dc7daecf8f010459c9aa65e9575c5587c3a165298a5d5530ff6b5a93b1726e53eda97d768a45011b97efb278b6ed8e715849e5a1e3cb34f864a76224561f836444c13a12eae79e0125d441835a8e234694967b0370cf22f8268fadb7e3068c5f0c073a6302ee4b02010a089d01424674d10ca0d997ff0f2d29cd29555f15a499966186e7f227ec71250115103b9d2ec6575552b72d26707f7418033bb33f7e8596f46d2f38e5bc68dccd010eb5ed90c5762456e6fa79dd303aa4bda85f9d1596469608286dbb0e921fa903012ca5ac274b2414dfa7b178268aebc03fee36b83a496582f5161c9de9ad3e1799011dec65941c7ffb99623dc69fd33485bf40c21a581952f6f619de10cfdb6eb3f1000000000000000000000000000000000000000000000000000000000000000023a118675ec4ba9725c6addcdc004888f7ab19c7f577282cf2af7c493b4e421900eb1939eed233c9cb7f8d56b0ad8455c47faefb3c458a0a39fb5755f0b1fd45012a58be89426174596813ff6411b14fbb8203c8220e566444541e98cfd3ec0229010016ea82b7346caad3170a94ccfbbd93d9850d0724fe7807189ec7b4e782dfdf1b045c47a9094816cf8be5ca3897fc94f650ba5dc743b2829328782b1553c27f1bb35fbbe8fbf0166ccefa0680525ea57fbfa4cc445ef110240d0351f8a592560c4e14aa350a4286b4c1d31909b1bfa9c305aa184128a699ed2e5c2d46e57f7626bd702873c724a650c31b5f8befcc300289fc721139a73b057451000851272821301421db356b3bfda28065f05c1ccc5018a067a3d2241bc9acb1914a7999c82aaca36d8701ce9b11e44d2fefaf0789b3159badb52a7882dcda802deacbbbd2016f66d694a989d1ba10f266d059da156aa54b54930d90a2a94ff8f662ab4fad16ffed4d0117bcd6409a7cec3901ee1752a7d0f44d443eca92cef50e5dc3d3141968bcb580126e53c799330a27c8869d1804a2c3f52a15684407422eaf9b80cc0120176ed0299b63ebad32a6ed381b4ab845ac890969788180bdb204f427c188650126d0d16a454880535129f7302aed7d0de30a15fa8bd11c25fe0a3388e5f41379002bd6a70527012f38a5dd811caf5fc0d954c7426590a837ed9a15ba793ca8f7830117e6d5270507377107f166e8ecc03db6db708e07aebbf3719904d0336859c2e6011d5af89ad19c6b40a759d5db7962b58fd06ee09d6441c8596d859d644394662d01053715ba87bd7eb026f587095c1eacc9a161cd1a862b5d850a17f9be78582aed00190747ceb2f288154728468686151e4412b1f7d065009cbaba1028718be28732001d4534560897f984dbe8190cfe32ee7ea36607e514cf364564494e19cf49c19f0024ab51a5f7c65029ed8453aaa9012663e16ef22414676ef9b7210677f32c9014010f86c9e96d332a8be0a31a23f60bd641230700e45889f451e6eef92fe51c676d000579b7534c50e1c2d93a6ec28913271f0c6b2eabdfbdfad3c226db9612fc5d2d000e237f3c31dd1ca307eb402deddad6a3f38a482abe8caab2c482247bfc5004e40124ebd6292bc47c9de7a2e30c15630a8153ae33826a7ae89bebbb810112a174b701
DERO explorer source code | explorer version (api): under development (1.0) | dero version: golang pre-alpha | Copyright 2017-2022 Dero Project