logo DERO HE BlockChain Explorer(v1) Mainnet

Tx hash: a792aee27eca10fdb1d93cfd9cc127a39c47cb4b299bcc16ab46cb24fc747abe Type SC

Block: daafb8f0c28b9e380ef0c6696f5e9ced5a220f928cbadd6c795edc2586a1fa3b (VALID)
SCID current reserves
SCID Amount(in atomic units)
0000000000000000000000000000000000000000000000000000000000000000 1575701
d74d1bb9968e3947a9bd40c5a9bdf598135f6b07a93bc98ded1fefa6ddd36bf5 4785911599
SCID string variables
key value
C 0a2f2f202020205f5f5f5f5f20205f5f5f5f5f205f5f5f5f5f5f5f205f5f5f5f5f5f5f205f20205f20205f205f5f5f5f5f5f5f20205f5f5f5f5f200a2f2f2020207c5f5f5f5f5f5d2020207c2020207c5f5f5f5f5f5f207c5f5f5f5f5f5f207c20207c20207c207c5f5f5f5f5f7c207c5f5f5f5f5f5d0a2f2f2020207c202020202020205f5f7c5f5f207c5f5f5f5f5f5f205f5f5f5f5f5f7c207c5f5f7c5f5f7c207c20202020207c207c2020202020200a2f2f0a2f2f2020205377617020636f6e74726163740a0a46756e6374696f6e20496e697469616c697a652861737365743120537472696e672c2061737365743220537472696e672c2073796d626f6c20537472696e672c206e616d6520537472696e672c206665652055696e743634292055696e7436340a09313020494620455849535453282276657273696f6e2229205448454e20474f544f20313130300a0932302053657456657228290a0933302053544f524528226f3a22202b20484558285349474e45522829292c2030290a0934302053544f524528226f6c3a30222c20484558285349474e4552282929290a0935302053544f524528226e756d5472757374656573222c2031290a0936302053544f5245282271756f72756d222c2031290a0937302053544f52452822617373657431222c204845584445434f44452861737365743129290a0938302053544f52452822617373657432222c204845584445434f44452861737365743229290a0939302053544f5245282273796d626f6c222c2073796d626f6c290a093130302053544f52452822646563696d616c73222c2030290a093131302053544f524528226e616d65222c206e616d65290a093132302053544f52452822666565222c20666565290a093133302053544f5245282276616c31222c2030290a093134302053544f5245282276616c32222c2030290a093135302053544f524528227368617265734f75747374616e64696e67222c2030290a093136302053544f5245282261646473222c2030290a093137302053544f5245282272656d73222c2030290a093138302053544f524528227377617073222c2030290a0a09313030302052455455524e20300a09313130302052455455524e203130300a456e642046756e6374696f6e0a0a46756e6374696f6e20476574566572282920537472696e670a0931302072657475726e2022322e313030220a456e642046756e6374696f6e0a0a46756e6374696f6e2053657456657228292055696e7436340a0931302053544f5245282276657273696f6e222c204765745665722829290a0a09313030302052455455524e20300a456e642046756e6374696f6e0a0a2f2f206c6f73736c657373202861202a20622029202f20630a2f2f20282763617573652074686572652061696e2774206e6f2055696e74323536290a46756e6374696f6e206d756c7444697628612055696e7436342c20622055696e7436342c20632055696e743634292055696e7436340a0931302044494d20626173652c206d61786469762041532055696e7436340a093230204c45542062617365203d2034323934393637323936092f2f2028313c3c3332290a093330204c4554206d6178646976203d2028626173652d31292a62617365202b2028626173652d31290a0a0935302044494d207265732041532055696e7436340a093630204c455420726573203d2028612f6329202a2062202b202861256329202a2028622f63290a093730204c45542061203d2061202520630a093830204c45542062203d2062202520630a093930204946202861203d3d2030207c7c2062203d3d203029205448454e20474f544f20313030300a0a09313030204946202863203e3d206261736529205448454e20474f544f203230300a09313130204c455420726573203d20726573202b2028612a622f63290a0931323020474f544f20313030300a0a093230302044494d206e6f726d2041532055696e7436340a09323130204c4554206e6f726d203d206d61786469762f630a09323230204c45542063203d2063202a206e6f726d0a09323330204c45542061203d2061202a206e6f726d0a0a093330302044494d2061682c20616c2c2062682c20626c2c2063682c20636c2041532055696e7436340a09333130204c4554206168203d2061202f20626173650a09333230204c455420616c203d2061202520626173650a09333330204c4554206268203d2062202f20626173650a09333430204c455420626c203d2062202520626173650a09333530204c4554206368203d2063202f20626173650a09333630204c455420636c203d2063202520626173650a0a093430302044494d2070302c2070312c2070322041532055696e7436340a09343130204c4554207030203d20616c2a626c0a09343230204c4554207031203d207030202f2062617365202b20616c2a62680a09343330204c4554207030203d207030202520626173650a09343430204c4554207032203d207031202f2062617365202b2061682a62680a09343530204c4554207031203d202870312025206261736529202b2061682a626c0a09343630204c4554207032203d207032202b207031202f20626173650a09343730204c4554207031203d207031202520626173650a0a093530302044494d2071302c2071312c20726861742041532055696e7436340a09353130204c4554207032203d207032202520630a09353230204c4554207131203d207032202f2063680a09353330204c45542072686174203d20703220252063680a0a0936303020494620287131203c2062617365202626202872686174203e3d2062617365207c7c2071312a636c203c3d20726861742a626173652b70312929205448454e20474f544f203730300a09363130204c4554207131203d207131202d20310a09363230204c45542072686174203d2072686174202b2063680a0936333020474f544f203630300a0a09373030204c4554207031203d20282870322025206261736529202a2062617365202b20703129202d207131202a20636c0a09373130204c4554207032203d20287032202f2062617365202a2062617365202b207031202f206261736529202d207131202a2063680a09373230204c4554207031203d202870312025206261736529202b202870322025206261736529202a20626173650a09373330204c4554207130203d207031202f2063680a09373430204c45542072686174203d20703120252063680a0a0938303020494620287130203c2062617365202626202872686174203e3d2062617365207c7c2071302a636c203c3d20726861742a626173652b70302929205448454e20474f544f203930300a09383130204c4554207130203d207130202d20310a09383230204c45542072686174203d2072686174202b2063680a0938333020474f544f203830300a0a09393030204c455420726573203d20726573202b207130202b207131202a20626173650a0a09313030302052455455524e207265730a456e642046756e6374696f6e0a0a46756e6374696f6e204164644c697175696469747928292055696e743634200a0931302044494d20696e312c20696e322c2076616c312c2076616c322c207368617265734f75747374616e64696e672c2073686172652041532055696e7436340a0932302044494d206173736574312c2061737365743220415320537472696e670a0a093330204c455420617373657431203d204c4f4144282261737365743122290a093430204c455420617373657432203d204c4f4144282261737365743222290a093530204c45542076616c31203d204c4f4144282276616c3122290a093630204c45542076616c32203d204c4f4144282276616c3222290a093730204c4554207368617265734f75747374616e64696e67203d204c4f414428227368617265734f75747374616e64696e6722290a093830204c455420696e31203d20415353455456414c554528617373657431290a093930204c455420696e32203d20415353455456414c554528617373657432290a0a0931303020494620696e31203c2031207c7c20696e32203c2031205448454e20474f544f20313131300a09313130204946207368617265734f75747374616e64696e67203e2030205448454e20474f544f203135300a09313230204c4554207368617265203d204d415828696e312c20696e32290a0931333020474f544f203330300a0a0931353020494620696e32203d3d206d756c7444697628696e312c2076616c322c2076616c3129205448454e20474f544f203230300a0931363020494620696e31203d3d206d756c7444697628696e322c2076616c312c2076616c3229205448454e20474f544f203230300a0931373020474f544f20313132300a0a09323030204c4554207368617265203d206d756c74446976287368617265734f75747374616e64696e672c20696e312c2076616c31290a0a093330302053454e445f41535345545f544f5f41444452455353285349474e455228292c2073686172652c20534349442829290a093331302053544f5245282276616c31222c2076616c31202b20696e31290a093332302053544f5245282276616c32222c2076616c32202b20696e32290a093333302053544f524528227368617265734f75747374616e64696e67222c207368617265734f75747374616e64696e67202b207368617265290a093334302053544f5245282261646473222c204c4f41442822616464732229202b2031290a0a09313030302052455455524e20300a09313131302052455455524e203131300a09313132302052455455524e203132300a456e642046756e6374696f6e0a0a46756e6374696f6e2052656d6f76654c697175696469747928292055696e7436340a0931302044494d206f7574312c206f7574322c2076616c312c2076616c322c207368617265732c207368617265734f75747374616e64696e672041532055696e7436340a0932302044494d206173736574312c2061737365743220415320537472696e670a0a093330204c45542076616c31203d204c4f4144282276616c3122290a093430204c45542076616c32203d204c4f4144282276616c3222290a093530204c455420736861726573203d20415353455456414c554528534349442829290a093630204c4554207368617265734f75747374616e64696e67203d204c4f414428227368617265734f75747374616e64696e6722290a093730204c455420617373657431203d204c4f4144282261737365743122290a093830204c455420617373657432203d204c4f4144282261737365743222290a0a093930204946207368617265734f75747374616e64696e67203c2031207c7c20736861726573203c2031205448454e20474f544f20313133300a09313030204c4554206f757431203d206d756c744469762876616c312c207368617265732c207368617265734f75747374616e64696e67290a09313130204c4554206f757432203d206d756c744469762876616c322c207368617265732c207368617265734f75747374616e64696e67290a0a093132302053544f5245282276616c31222c2076616c31202d206f757431290a093133302053544f5245282276616c32222c2076616c32202d206f757432290a093134302053544f524528227368617265734f75747374616e64696e67222c207368617265734f75747374616e64696e67202d20736861726573290a093135302053544f5245282272656d73222c204c4f4144282272656d732229202b2031290a093136302053454e445f41535345545f544f5f41444452455353285349474e455228292c206f7574312c20617373657431290a093137302053454e445f41535345545f544f5f41444452455353285349474e455228292c206f7574322c20617373657432290a0a09313030302052455455524e20300a09313130302052455455524e203130300a09313133302052455455524e203133300a456e642046756e6374696f6e0a0a46756e6374696f6e205377617028292055696e7436340a0931302044494d20696e312c20696e322c206f7574312c206f7574322c2076616c312c2076616c322c206665652041532055696e7436340a0932302044494d206173736574312c2061737365743220415320537472696e670a0a093330204c455420617373657431203d204c4f4144282261737365743122290a093430204c455420617373657432203d204c4f4144282261737365743222290a093530204c455420696e31203d20415353455456414c554528617373657431290a093630204c455420696e32203d20415353455456414c554528617373657432290a093730204c45542076616c31203d204c4f4144282276616c3122290a093830204c45542076616c32203d204c4f4144282276616c3222290a093930204c455420666565203d204c4f4144282266656522290a0a0931303020494620696e31203e203020262620696e32203e2030205448454e20474f544f20313134300a0931313020494620696e31203c203120262620696e32203c2031205448454e20474f544f20313131300a0931323020494620696e32203e2030205448454e20474f544f203330300a0a09323030204c4554206f757432203d206d756c7444697628696e312c2076616c322c202876616c31202b20696e3129290a09323130204c4554206f757432203d206d756c74446976286f7574322c202831303030302d666565292c203130303030290a093232302053544f5245282276616c31222c2076616c31202b20696e31290a093233302053544f5245282276616c32222c2076616c32202d206f757432290a093235302053454e445f41535345545f544f5f41444452455353285349474e455228292c206f7574322c20617373657432290a0932363020474f544f203430300a0a09333030204c4554206f757431203d206d756c7444697628696e322c2076616c312c202876616c32202b20696e3229290a09333130204c4554206f757431203d206d756c74446976286f7574312c202831303030302d666565292c203130303030290a093332302053544f5245282276616c31222c2076616c31202d206f757431290a093333302053544f5245282276616c32222c2076616c32202b20696e32290a093335302053454e445f41535345545f544f5f41444452455353285349474e455228292c206f7574312c20617373657431290a0a093430302053544f524528227377617073222c204c4f4144282273776170732229202b2031290a0a09313030302052455455524e20300a09313130302052455455524e203130300a09313131302052455455524e203131300a09313134302052455455524e203134300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f7465536574466565286665652055696e743634292055696e7436340a0931302044494d207472757374656520415320537472696e670a093230204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0933302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a093430204946204c4f414428226665652229203d3d20666565205448454e20474f544f20313236300a0a093130302049462063617374566f746528747275737465652c202230222c2049544f4128666565292920213d2031205448454e20474f544f203230300a093131302044454c4554452822693a3022290a093132302053544f52452822666565222c20666565290a0a09313030302052455455524e20300a09313130302052455455524e203130300a09313236302052455455524e203236300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f746541646454727573746565286e65775f7472757374656520537472696e67292055696e7436340a0931302044494d207472757374656520415320537472696e670a093230204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0933302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a0934302049462045584953545328226f3a22202b206e65775f7472757374656529205448454e20474f544f20313236300a093530204946205354524c454e286e65775f747275737465652920213d203636205448454e20474f544f20313236300a0a093130302049462063617374566f746528747275737465652c202231222c206e65775f747275737465652920213d2031205448454e20474f544f203230300a093131302044454c4554452822693a3122290a093132302044494d206e756d54727573746565732041532055696e7436340a09313330204c4554206e756d5472757374656573203d204c4f414428226e756d547275737465657322290a093134302053544f524528226f6c3a22202b206e756d54727573746565732c206e65775f74727573746565290a093135302053544f524528226f3a222b206e65775f747275737465652c206e756d5472757374656573290a093136302053544f524528226e756d5472757374656573222c206e756d5472757374656573202b2031290a0a093230302052455455524e20300a0a09313130302052455455524e203130300a09313236302052455455524e203236300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f746552656d6f766554727573746565286f6c645f7472757374656520537472696e67292055696e7436340a0931302044494d207472757374656520415320537472696e670a0932302044494d206e756d54727573746565732041532055696e7436340a093330204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0934302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a0935302049462045584953545328226f3a22202b206f6c645f747275737465652920213d2031205448454e20474f544f20313236300a093630204c4554206e756d5472757374656573203d204c4f414428226e756d54727573746565732229202d20310a093730204946206e756d5472757374656573203d3d2030205448454e20474f544f20313237300a093830204946206e756d5472757374656573203e204c4f4144282271756f72756d2229205448454e20474f544f20313238300a0a093130302049462063617374566f746528747275737465652c202232222c206f6c645f747275737465652920213d2031205448454e20474f544f203330300a093131302044454c4554452822693a3222290a0a093230302044494d206b6579546f4d6f766520415320537472696e670a093231302044494d20726f77546f5265706c6163652041532055696e7436340a09323230204c4554206b6579546f4d6f7665203d204c4f414428226f6c3a22202b206e756d5472757374656573290a09323330204c455420726f77546f5265706c616365203d204c4f414428226f3a22202b206f6c645f74727573746565290a093234302053544f524528226f3a22202b206b6579546f4d6f76652c20726f77546f5265706c616365290a093235302053544f524528226f6c3a22202b20726f77546f5265706c6163652c206b6579546f4d6f7665290a093236302044454c45544528226f3a22202b206f6c645f74727573746565290a093237302044454c45544528226f6c3a22202b206e756d5472757374656573290a093238302053544f524528226e756d5472757374656573222c206e756d5472757374656573290a0a093330302052455455524e20300a0a09313130302052455455524e203130300a09313236302052455455524e203236300a09313237302052455455524e203237300a09313239302052455455524e203239300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f74654368616e676551756f72756d286e65775f71756f72756d2055696e743634292055696e7436340a0931302044494d207472757374656520415320537472696e670a093230204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0933302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a093430204946204c4f4144282271756f72756d2229203d3d206e65775f71756f72756d205448454e20474f544f20313236300a093530204946206e65775f71756f72756d203e204c4f414428226e756d54727573746565732229205448454e20474f544f20313330300a0a093130302049462063617374566f746528747275737465652c202233222c2049544f41286e65775f71756f72756d292920213d2031205448454e20474f544f203230300a093131302044454c4554452822693a3322290a093132302053544f5245282271756f72756d222c206e65775f71756f72756d290a0a093230302052455455524e20300a0a09313130302052455455524e203130300a09313236302052455455524e203236300a09313330302052455455524e203330300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f7465557064617465436f646528636f646520537472696e67292055696e7436340a0931302044494d207472757374656520415320537472696e670a093230204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0933302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a0a093130302049462063617374566f746528747275737465652c202234222c2073686132353628636f6465292920213d2031205448454e20474f544f203230300a093131302044454c4554452822693a3422290a09313230205550444154455f53435f434f444528636f6465290a0a093230302052455455524e20300a0a09313130302052455455524e203130300a09313236302052455455524e203236300a456e642046756e6374696f6e0a0a46756e6374696f6e20636f756e74566f7465732874616c6c792055696e743634292055696e7436340a0931302044494d20766f7465732c20692041532055696e7436340a093230204c455420766f746573203d20300a093330204c45542069203d204c4f414428226e756d547275737465657322290a0a09313030204946202874616c6c7920262028313c3c692929203c2031205448454e20474f544f203132300a09313130204c455420766f746573203d20766f746573202b20310a09313230204c45542069203d2069202d20310a093133302049462069203c2031205448454e20474f544f20313030300a0931343020474f544f203130300a0a09313030302052455455524e20766f7465730a456e642046756e6374696f6e0a0a46756e6374696f6e2053484c28612055696e7436342c20622055696e743634292055696e7436340a0931302052455455524e2061203c3c20620a456e642046756e6374696f6e0a0a46756e6374696f6e2063617374566f7465287472757374656520537472696e672c206b657920537472696e672c2070726f706f73616c20537472696e67292055696e7436340a0931302044494d2076616c75652c20632c2074616c6c795f73747220415320537472696e670a0932302044494d20692c2074616c6c792041532055696e7436340a093330204c45542074616c6c795f737472203d202230220a093430204946204558495354532822693a22202b206b65792920213d2031205448454e20474f544f203233300a093530204c45542076616c7565203d204c4f41442822693a22202b206b6579290a093630204c45542069203d20300a0a09313030204c45542063203d205355425354522876616c75652c20692c2031290a09313130204946202863203d3d20223a2229205448454e20474f544f203230300a09313230204c45542074616c6c795f737472203d2074616c6c795f737472202b20630a09313330204c45542069203d2069202b20310a0931343020474f544f203130300a0a09323030204c45542074616c6c79203d2041544f492874616c6c795f737472290a0932313020494620282874616c6c792026203129203d3d203129205448454e20474f544f20313030300a09323230204946205355425354522876616c75652c20692b312c205354524c454e2870726f706f73616c2929203d3d2070726f706f73616c205448454e20474f544f203330300a09323330204c45542074616c6c79203d20300a0a09333030204c45542074616c6c79203d2074616c6c79207c2053484c28312c204c4f4144287472757374656529202b2031290a0933313020494620636f756e74566f7465732874616c6c7929203c204c4f4144282271756f72756d2229205448454e20474f544f203430300a09333230204c45542074616c6c79203d2074616c6c79207c20310a0a093430302053544f52452822693a22202b206b65792c2049544f412874616c6c7929202b20223a22202b2070726f706f73616c290a093431302052455455524e202874616c6c7920262031290a0a09313030302052455455524e20300a456e642046756e6374696f6e0a
adds 83
asset1 0000000000000000000000000000000000000000000000000000000000000000
asset2 d74d1bb9968e3947a9bd40c5a9bdf598135f6b07a93bc98ded1fefa6ddd36bf5
decimals 0
fee 50
name 4c697175696469747920666f7220737761702070616972204445524f3a445354
numTrustees 1
o:1098e6d8117e12ea0a291d49919b5d0e94bb9b20a693349544a366f6db1067e600 0
ol:0 313039386536643831313765313265613061323931643439393139623564306539346262396232306136393333343935343461333636663664623130363765363030
quorum 1
rems 55
sharesOutstanding 5.38567231e+08
swaps 588
symbol 4445524f3a445354
val1 1.575701e+06
val2 4.785911599e+09
version 322e313030
SCID uint64 variables
key value
built BLID : ddfdc1f4b30679c9a68ef48491444a8bcf1d5a892f2b8a461ed01903b8084d5c
Tx RootHash: 1b25968a45ad1c4d2b8fc65f9a1a1c36e12b19aa710e68e4a7972b6a8ab83466 built height : 1232701
Timestamp: 1668799237901 Timestamp [UTC]: 2022-11-18 19:20:37 Age [y:d:h:m:s]: 24112:23:11.012
Block: 1232705 Fee: 0.09648 Tx size: 10.895 kB
Tx version: 1 No of confirmations: 4583699 Signature type: DERO_HOMOMORPHIC
Extra:
DERO : 2 inputs/outputs (RING size) Fees 0.09648 Deposited to SC 0.00000
Sender : dero1qygf3ekcz9lp96s29yw5nyvmt58ffwumyznfxdy4gj3kdakmzpn7vqq2v6r58
address
dero1qygf3ekcz9lp96s29yw5nyvmt58ffwumyznfxdy4gj3kdakmzpn7vqq2v6r58
dero1qyxq9ng09m2y6w632tajl2geg4f8h9jh652nv54xj4tdpc9jxxewcqg6fwdmc
SC Balance: 0.00000 DERO
SC CODE:
  
//    _____  _____ _______ _______ _  _  _ _______  _____ 
//   |_____]   |   |______ |______ |  |  | |_____| |_____]
//   |       __|__ |______ ______| |__|__| |     | |      
//
//   Swap contract

Function Initialize(asset1 String, asset2 String, symbol String, name String, fee Uint64) Uint64
	10 IF EXISTS("version") THEN GOTO 1100
	20 SetVer()
	30 STORE("o:" + HEX(SIGNER()), 0)
	40 STORE("ol:0", HEX(SIGNER()))
	50 STORE("numTrustees", 1)
	60 STORE("quorum", 1)
	70 STORE("asset1", HEXDECODE(asset1))
	80 STORE("asset2", HEXDECODE(asset2))
	90 STORE("symbol", symbol)
	100 STORE("decimals", 0)
	110 STORE("name", name)
	120 STORE("fee", fee)
	130 STORE("val1", 0)
	140 STORE("val2", 0)
	150 STORE("sharesOutstanding", 0)
	160 STORE("adds", 0)
	170 STORE("rems", 0)
	180 STORE("swaps", 0)

	1000 RETURN 0
	1100 RETURN 100
End Function

Function GetVer() String
	10 return "2.100"
End Function

Function SetVer() Uint64
	10 STORE("version", GetVer())

	1000 RETURN 0
End Function

// lossless (a * b ) / c
// ('cause there ain't no Uint256)
Function multDiv(a Uint64, b Uint64, c Uint64) Uint64
	10 DIM base, maxdiv AS Uint64
	20 LET base = 4294967296	// (1<<32)
	30 LET maxdiv = (base-1)*base + (base-1)

	50 DIM res AS Uint64
	60 LET res = (a/c) * b + (a%c) * (b/c)
	70 LET a = a % c
	80 LET b = b % c
	90 IF (a == 0 || b == 0) THEN GOTO 1000

	100 IF (c >= base) THEN GOTO 200
	110 LET res = res + (a*b/c)
	120 GOTO 1000

	200 DIM norm AS Uint64
	210 LET norm = maxdiv/c
	220 LET c = c * norm
	230 LET a = a * norm

	300 DIM ah, al, bh, bl, ch, cl AS Uint64
	310 LET ah = a / base
	320 LET al = a % base
	330 LET bh = b / base
	340 LET bl = b % base
	350 LET ch = c / base
	360 LET cl = c % base

	400 DIM p0, p1, p2 AS Uint64
	410 LET p0 = al*bl
	420 LET p1 = p0 / base + al*bh
	430 LET p0 = p0 % base
	440 LET p2 = p1 / base + ah*bh
	450 LET p1 = (p1 % base) + ah*bl
	460 LET p2 = p2 + p1 / base
	470 LET p1 = p1 % base

	500 DIM q0, q1, rhat AS Uint64
	510 LET p2 = p2 % c
	520 LET q1 = p2 / ch
	530 LET rhat = p2 % ch

	600 IF (q1 < base && (rhat >= base || q1*cl <= rhat*base+p1)) THEN GOTO 700
	610 LET q1 = q1 - 1
	620 LET rhat = rhat + ch
	630 GOTO 600

	700 LET p1 = ((p2 % base) * base + p1) - q1 * cl
	710 LET p2 = (p2 / base * base + p1 / base) - q1 * ch
	720 LET p1 = (p1 % base) + (p2 % base) * base
	730 LET q0 = p1 / ch
	740 LET rhat = p1 % ch

	800 IF (q0 < base && (rhat >= base || q0*cl <= rhat*base+p0)) THEN GOTO 900
	810 LET q0 = q0 - 1
	820 LET rhat = rhat + ch
	830 GOTO 800

	900 LET res = res + q0 + q1 * base

	1000 RETURN res
End Function

Function AddLiquidity() Uint64 
	10 DIM in1, in2, val1, val2, sharesOutstanding, share AS Uint64
	20 DIM asset1, asset2 AS String

	30 LET asset1 = LOAD("asset1")
	40 LET asset2 = LOAD("asset2")
	50 LET val1 = LOAD("val1")
	60 LET val2 = LOAD("val2")
	70 LET sharesOutstanding = LOAD("sharesOutstanding")
	80 LET in1 = ASSETVALUE(asset1)
	90 LET in2 = ASSETVALUE(asset2)

	100 IF in1 < 1 || in2 < 1 THEN GOTO 1110
	110 IF sharesOutstanding > 0 THEN GOTO 150
	120 LET share = MAX(in1, in2)
	130 GOTO 300

	150 IF in2 == multDiv(in1, val2, val1) THEN GOTO 200
	160 IF in1 == multDiv(in2, val1, val2) THEN GOTO 200
	170 GOTO 1120

	200 LET share = multDiv(sharesOutstanding, in1, val1)

	300 SEND_ASSET_TO_ADDRESS(SIGNER(), share, SCID())
	310 STORE("val1", val1 + in1)
	320 STORE("val2", val2 + in2)
	330 STORE("sharesOutstanding", sharesOutstanding + share)
	340 STORE("adds", LOAD("adds") + 1)

	1000 RETURN 0
	1110 RETURN 110
	1120 RETURN 120
End Function

Function RemoveLiquidity() Uint64
	10 DIM out1, out2, val1, val2, shares, sharesOutstanding AS Uint64
	20 DIM asset1, asset2 AS String

	30 LET val1 = LOAD("val1")
	40 LET val2 = LOAD("val2")
	50 LET shares = ASSETVALUE(SCID())
	60 LET sharesOutstanding = LOAD("sharesOutstanding")
	70 LET asset1 = LOAD("asset1")
	80 LET asset2 = LOAD("asset2")

	90 IF sharesOutstanding < 1 || shares < 1 THEN GOTO 1130
	100 LET out1 = multDiv(val1, shares, sharesOutstanding)
	110 LET out2 = multDiv(val2, shares, sharesOutstanding)

	120 STORE("val1", val1 - out1)
	130 STORE("val2", val2 - out2)
	140 STORE("sharesOutstanding", sharesOutstanding - shares)
	150 STORE("rems", LOAD("rems") + 1)
	160 SEND_ASSET_TO_ADDRESS(SIGNER(), out1, asset1)
	170 SEND_ASSET_TO_ADDRESS(SIGNER(), out2, asset2)

	1000 RETURN 0
	1100 RETURN 100
	1130 RETURN 130
End Function

Function Swap() Uint64
	10 DIM in1, in2, out1, out2, val1, val2, fee AS Uint64
	20 DIM asset1, asset2 AS String

	30 LET asset1 = LOAD("asset1")
	40 LET asset2 = LOAD("asset2")
	50 LET in1 = ASSETVALUE(asset1)
	60 LET in2 = ASSETVALUE(asset2)
	70 LET val1 = LOAD("val1")
	80 LET val2 = LOAD("val2")
	90 LET fee = LOAD("fee")

	100 IF in1 > 0 && in2 > 0 THEN GOTO 1140
	110 IF in1 < 1 && in2 < 1 THEN GOTO 1110
	120 IF in2 > 0 THEN GOTO 300

	200 LET out2 = multDiv(in1, val2, (val1 + in1))
	210 LET out2 = multDiv(out2, (10000-fee), 10000)
	220 STORE("val1", val1 + in1)
	230 STORE("val2", val2 - out2)
	250 SEND_ASSET_TO_ADDRESS(SIGNER(), out2, asset2)
	260 GOTO 400

	300 LET out1 = multDiv(in2, val1, (val2 + in2))
	310 LET out1 = multDiv(out1, (10000-fee), 10000)
	320 STORE("val1", val1 - out1)
	330 STORE("val2", val2 + in2)
	350 SEND_ASSET_TO_ADDRESS(SIGNER(), out1, asset1)

	400 STORE("swaps", LOAD("swaps") + 1)

	1000 RETURN 0
	1100 RETURN 100
	1110 RETURN 110
	1140 RETURN 140
End Function

Function VoteSetFee(fee Uint64) Uint64
	10 DIM trustee AS String
	20 LET trustee = "o:" + HEX(SIGNER())
	30 IF EXISTS(trustee) != 1 THEN GOTO 1100
	40 IF LOAD("fee") == fee THEN GOTO 1260

	100 IF castVote(trustee, "0", ITOA(fee)) != 1 THEN GOTO 200
	110 DELETE("i:0")
	120 STORE("fee", fee)

	1000 RETURN 0
	1100 RETURN 100
	1260 RETURN 260
End Function

Function VoteAddTrustee(new_trustee String) Uint64
	10 DIM trustee AS String
	20 LET trustee = "o:" + HEX(SIGNER())
	30 IF EXISTS(trustee) != 1 THEN GOTO 1100
	40 IF EXISTS("o:" + new_trustee) THEN GOTO 1260
	50 IF STRLEN(new_trustee) != 66 THEN GOTO 1260

	100 IF castVote(trustee, "1", new_trustee) != 1 THEN GOTO 200
	110 DELETE("i:1")
	120 DIM numTrustees AS Uint64
	130 LET numTrustees = LOAD("numTrustees")
	140 STORE("ol:" + numTrustees, new_trustee)
	150 STORE("o:"+ new_trustee, numTrustees)
	160 STORE("numTrustees", numTrustees + 1)

	200 RETURN 0

	1100 RETURN 100
	1260 RETURN 260
End Function

Function VoteRemoveTrustee(old_trustee String) Uint64
	10 DIM trustee AS String
	20 DIM numTrustees AS Uint64
	30 LET trustee = "o:" + HEX(SIGNER())
	40 IF EXISTS(trustee) != 1 THEN GOTO 1100
	50 IF EXISTS("o:" + old_trustee) != 1 THEN GOTO 1260
	60 LET numTrustees = LOAD("numTrustees") - 1
	70 IF numTrustees == 0 THEN GOTO 1270
	80 IF numTrustees > LOAD("quorum") THEN GOTO 1280

	100 IF castVote(trustee, "2", old_trustee) != 1 THEN GOTO 300
	110 DELETE("i:2")

	200 DIM keyToMove AS String
	210 DIM rowToReplace AS Uint64
	220 LET keyToMove = LOAD("ol:" + numTrustees)
	230 LET rowToReplace = LOAD("o:" + old_trustee)
	240 STORE("o:" + keyToMove, rowToReplace)
	250 STORE("ol:" + rowToReplace, keyToMove)
	260 DELETE("o:" + old_trustee)
	270 DELETE("ol:" + numTrustees)
	280 STORE("numTrustees", numTrustees)

	300 RETURN 0

	1100 RETURN 100
	1260 RETURN 260
	1270 RETURN 270
	1290 RETURN 290
End Function

Function VoteChangeQuorum(new_quorum Uint64) Uint64
	10 DIM trustee AS String
	20 LET trustee = "o:" + HEX(SIGNER())
	30 IF EXISTS(trustee) != 1 THEN GOTO 1100
	40 IF LOAD("quorum") == new_quorum THEN GOTO 1260
	50 IF new_quorum > LOAD("numTrustees") THEN GOTO 1300

	100 IF castVote(trustee, "3", ITOA(new_quorum)) != 1 THEN GOTO 200
	110 DELETE("i:3")
	120 STORE("quorum", new_quorum)

	200 RETURN 0

	1100 RETURN 100
	1260 RETURN 260
	1300 RETURN 300
End Function

Function VoteUpdateCode(code String) Uint64
	10 DIM trustee AS String
	20 LET trustee = "o:" + HEX(SIGNER())
	30 IF EXISTS(trustee) != 1 THEN GOTO 1100

	100 IF castVote(trustee, "4", sha256(code)) != 1 THEN GOTO 200
	110 DELETE("i:4")
	120 UPDATE_SC_CODE(code)

	200 RETURN 0

	1100 RETURN 100
	1260 RETURN 260
End Function

Function countVotes(tally Uint64) Uint64
	10 DIM votes, i AS Uint64
	20 LET votes = 0
	30 LET i = LOAD("numTrustees")

	100 IF (tally & (1<<i)) < 1 THEN GOTO 120
	110 LET votes = votes + 1
	120 LET i = i - 1
	130 IF i < 1 THEN GOTO 1000
	140 GOTO 100

	1000 RETURN votes
End Function

Function SHL(a Uint64, b Uint64) Uint64
	10 RETURN a << b
End Function

Function castVote(trustee String, key String, proposal String) Uint64
	10 DIM value, c, tally_str AS String
	20 DIM i, tally AS Uint64
	30 LET tally_str = "0"
	40 IF EXISTS("i:" + key) != 1 THEN GOTO 230
	50 LET value = LOAD("i:" + key)
	60 LET i = 0

	100 LET c = SUBSTR(value, i, 1)
	110 IF (c == ":") THEN GOTO 200
	120 LET tally_str = tally_str + c
	130 LET i = i + 1
	140 GOTO 100

	200 LET tally = ATOI(tally_str)
	210 IF ((tally & 1) == 1) THEN GOTO 1000
	220 IF SUBSTR(value, i+1, STRLEN(proposal)) == proposal THEN GOTO 300
	230 LET tally = 0

	300 LET tally = tally | SHL(1, LOAD(trustee) + 1)
	310 IF countVotes(tally) < LOAD("quorum") THEN GOTO 400
	320 LET tally = tally | 1

	400 STORE("i:" + key, ITOA(tally) + ":" + proposal)
	410 RETURN (tally & 1)

	1000 RETURN 0
End Function

SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:' // _____ _____ _______ _______ _ _ _ _______ _____ // |_____] | |______ |______ | | | |_____| |_____] // | __|__ |______ ______| |__|__| | | | // // Swap contract Function Initialize(asset1 String, asset2 String, symbol String, name String, fee Uint64) Uint64 10 IF EXISTS("version") THEN GOTO 1100 20 SetVer() 30 STORE("o:" + HEX(SIGNER()), 0) 40 STORE("ol:0", HEX(SIGNER())) 50 STORE("numTrustees", 1) 60 STORE("quorum", 1) 70 STORE("asset1", HEXDECODE(asset1)) 80 STORE("asset2", HEXDECODE(asset2)) 90 STORE("symbol", symbol) 100 STORE("decimals", 0) 110 STORE("name", name) 120 STORE("fee", fee) 130 STORE("val1", 0) 140 STORE("val2", 0) 150 STORE("sharesOutstanding", 0) 160 STORE("adds", 0) 170 STORE("rems", 0) 180 STORE("swaps", 0) 1000 RETURN 0 1100 RETURN 100 End Function Function GetVer() String 10 return "2.100" End Function Function SetVer() Uint64 10 STORE("version", GetVer()) 1000 RETURN 0 End Function // lossless (a * b ) / c // ('cause there ain't no Uint256) Function multDiv(a Uint64, b Uint64, c Uint64) Uint64 10 DIM base, maxdiv AS Uint64 20 LET base = 4294967296 // (1<<32) 30 LET maxdiv = (base-1)*base + (base-1) 50 DIM res AS Uint64 60 LET res = (a/c) * b + (a%c) * (b/c) 70 LET a = a % c 80 LET b = b % c 90 IF (a == 0 || b == 0) THEN GOTO 1000 100 IF (c >= base) THEN GOTO 200 110 LET res = res + (a*b/c) 120 GOTO 1000 200 DIM norm AS Uint64 210 LET norm = maxdiv/c 220 LET c = c * norm 230 LET a = a * norm 300 DIM ah, al, bh, bl, ch, cl AS Uint64 310 LET ah = a / base 320 LET al = a % base 330 LET bh = b / base 340 LET bl = b % base 350 LET ch = c / base 360 LET cl = c % base 400 DIM p0, p1, p2 AS Uint64 410 LET p0 = al*bl 420 LET p1 = p0 / base + al*bh 430 LET p0 = p0 % base 440 LET p2 = p1 / base + ah*bh 450 LET p1 = (p1 % base) + ah*bl 460 LET p2 = p2 + p1 / base 470 LET p1 = p1 % base 500 DIM q0, q1, rhat AS Uint64 510 LET p2 = p2 % c 520 LET q1 = p2 / ch 530 LET rhat = p2 % ch 600 IF (q1 < base && (rhat >= base || q1*cl <= rhat*base+p1)) THEN GOTO 700 610 LET q1 = q1 - 1 620 LET rhat = rhat + ch 630 GOTO 600 700 LET p1 = ((p2 % base) * base + p1) - q1 * cl 710 LET p2 = (p2 / base * base + p1 / base) - q1 * ch 720 LET p1 = (p1 % base) + (p2 % base) * base 730 LET q0 = p1 / ch 740 LET rhat = p1 % ch 800 IF (q0 < base && (rhat >= base || q0*cl <= rhat*base+p0)) THEN GOTO 900 810 LET q0 = q0 - 1 820 LET rhat = rhat + ch 830 GOTO 800 900 LET res = res + q0 + q1 * base 1000 RETURN res End Function Function AddLiquidity() Uint64 10 DIM in1, in2, val1, val2, sharesOutstanding, share AS Uint64 20 DIM asset1, asset2 AS String 30 LET asset1 = LOAD("asset1") 40 LET asset2 = LOAD("asset2") 50 LET val1 = LOAD("val1") 60 LET val2 = LOAD("val2") 70 LET sharesOutstanding = LOAD("sharesOutstanding") 80 LET in1 = ASSETVALUE(asset1) 90 LET in2 = ASSETVALUE(asset2) 100 IF in1 < 1 || in2 < 1 THEN GOTO 1110 110 IF sharesOutstanding > 0 THEN GOTO 150 120 LET share = MAX(in1, in2) 130 GOTO 300 150 IF in2 == multDiv(in1, val2, val1) THEN GOTO 200 160 IF in1 == multDiv(in2, val1, val2) THEN GOTO 200 170 GOTO 1120 200 LET share = multDiv(sharesOutstanding, in1, val1) 300 SEND_ASSET_TO_ADDRESS(SIGNER(), share, SCID()) 310 STORE("val1", val1 + in1) 320 STORE("val2", val2 + in2) 330 STORE("sharesOutstanding", sharesOutstanding + share) 340 STORE("adds", LOAD("adds") + 1) 1000 RETURN 0 1110 RETURN 110 1120 RETURN 120 End Function Function RemoveLiquidity() Uint64 10 DIM out1, out2, val1, val2, shares, sharesOutstanding AS Uint64 20 DIM asset1, asset2 AS String 30 LET val1 = LOAD("val1") 40 LET val2 = LOAD("val2") 50 LET shares = ASSETVALUE(SCID()) 60 LET sharesOutstanding = LOAD("sharesOutstanding") 70 LET asset1 = LOAD("asset1") 80 LET asset2 = LOAD("asset2") 90 IF sharesOutstanding < 1 || shares < 1 THEN GOTO 1130 100 LET out1 = multDiv(val1, shares, sharesOutstanding) 110 LET out2 = multDiv(val2, shares, sharesOutstanding) 120 STORE("val1", val1 - out1) 130 STORE("val2", val2 - out2) 140 STORE("sharesOutstanding", sharesOutstanding - shares) 150 STORE("rems", LOAD("rems") + 1) 160 SEND_ASSET_TO_ADDRESS(SIGNER(), out1, asset1) 170 SEND_ASSET_TO_ADDRESS(SIGNER(), out2, asset2) 1000 RETURN 0 1100 RETURN 100 1130 RETURN 130 End Function Function Swap() Uint64 10 DIM in1, in2, out1, out2, val1, val2, fee AS Uint64 20 DIM asset1, asset2 AS String 30 LET asset1 = LOAD("asset1") 40 LET asset2 = LOAD("asset2") 50 LET in1 = ASSETVALUE(asset1) 60 LET in2 = ASSETVALUE(asset2) 70 LET val1 = LOAD("val1") 80 LET val2 = LOAD("val2") 90 LET fee = LOAD("fee") 100 IF in1 > 0 && in2 > 0 THEN GOTO 1140 110 IF in1 < 1 && in2 < 1 THEN GOTO 1110 120 IF in2 > 0 THEN GOTO 300 200 LET out2 = multDiv(in1, val2, (val1 + in1)) 210 LET out2 = multDiv(out2, (10000-fee), 10000) 220 STORE("val1", val1 + in1) 230 STORE("val2", val2 - out2) 250 SEND_ASSET_TO_ADDRESS(SIGNER(), out2, asset2) 260 GOTO 400 300 LET out1 = multDiv(in2, val1, (val2 + in2)) 310 LET out1 = multDiv(out1, (10000-fee), 10000) 320 STORE("val1", val1 - out1) 330 STORE("val2", val2 + in2) 350 SEND_ASSET_TO_ADDRESS(SIGNER(), out1, asset1) 400 STORE("swaps", LOAD("swaps") + 1) 1000 RETURN 0 1100 RETURN 100 1110 RETURN 110 1140 RETURN 140 End Function Function VoteSetFee(fee Uint64) Uint64 10 DIM trustee AS String 20 LET trustee = "o:" + HEX(SIGNER()) 30 IF EXISTS(trustee) != 1 THEN GOTO 1100 40 IF LOAD("fee") == fee THEN GOTO 1260 100 IF castVote(trustee, "0", ITOA(fee)) != 1 THEN GOTO 200 110 DELETE("i:0") 120 STORE("fee", fee) 1000 RETURN 0 1100 RETURN 100 1260 RETURN 260 End Function Function VoteAddTrustee(new_trustee String) Uint64 10 DIM trustee AS String 20 LET trustee = "o:" + HEX(SIGNER()) 30 IF EXISTS(trustee) != 1 THEN GOTO 1100 40 IF EXISTS("o:" + new_trustee) THEN GOTO 1260 50 IF STRLEN(new_trustee) != 66 THEN GOTO 1260 100 IF castVote(trustee, "1", new_trustee) != 1 THEN GOTO 200 110 DELETE("i:1") 120 DIM numTrustees AS Uint64 130 LET numTrustees = LOAD("numTrustees") 140 STORE("ol:" + numTrustees, new_trustee) 150 STORE("o:"+ new_trustee, numTrustees) 160 STORE("numTrustees", numTrustees + 1) 200 RETURN 0 1100 RETURN 100 1260 RETURN 260 End Function Function VoteRemoveTrustee(old_trustee String) Uint64 10 DIM trustee AS String 20 DIM numTrustees AS Uint64 30 LET trustee = "o:" + HEX(SIGNER()) 40 IF EXISTS(trustee) != 1 THEN GOTO 1100 50 IF EXISTS("o:" + old_trustee) != 1 THEN GOTO 1260 60 LET numTrustees = LOAD("numTrustees") - 1 70 IF numTrustees == 0 THEN GOTO 1270 80 IF numTrustees > LOAD("quorum") THEN GOTO 1280 100 IF castVote(trustee, "2", old_trustee) != 1 THEN GOTO 300 110 DELETE("i:2") 200 DIM keyToMove AS String 210 DIM rowToReplace AS Uint64 220 LET keyToMove = LOAD("ol:" + numTrustees) 230 LET rowToReplace = LOAD("o:" + old_trustee) 240 STORE("o:" + keyToMove, rowToReplace) 250 STORE("ol:" + rowToReplace, keyToMove) 260 DELETE("o:" + old_trustee) 270 DELETE("ol:" + numTrustees) 280 STORE("numTrustees", numTrustees) 300 RETURN 0 1100 RETURN 100 1260 RETURN 260 1270 RETURN 270 1290 RETURN 290 End Function Function VoteChangeQuorum(new_quorum Uint64) Uint64 10 DIM trustee AS String 20 LET trustee = "o:" + HEX(SIGNER()) 30 IF EXISTS(trustee) != 1 THEN GOTO 1100 40 IF LOAD("quorum") == new_quorum THEN GOTO 1260 50 IF new_quorum > LOAD("numTrustees") THEN GOTO 1300 100 IF castVote(trustee, "3", ITOA(new_quorum)) != 1 THEN GOTO 200 110 DELETE("i:3") 120 STORE("quorum", new_quorum) 200 RETURN 0 1100 RETURN 100 1260 RETURN 260 1300 RETURN 300 End Function Function VoteUpdateCode(code String) Uint64 10 DIM trustee AS String 20 LET trustee = "o:" + HEX(SIGNER()) 30 IF EXISTS(trustee) != 1 THEN GOTO 1100 100 IF castVote(trustee, "4", sha256(code)) != 1 THEN GOTO 200 110 DELETE("i:4") 120 UPDATE_SC_CODE(code) 200 RETURN 0 1100 RETURN 100 1260 RETURN 260 End Function Function countVotes(tally Uint64) Uint64 10 DIM votes, i AS Uint64 20 LET votes = 0 30 LET i = LOAD("numTrustees") 100 IF (tally & (1<<i)) < 1 THEN GOTO 120 110 LET votes = votes + 1 120 LET i = i - 1 130 IF i < 1 THEN GOTO 1000 140 GOTO 100 1000 RETURN votes End Function Function SHL(a Uint64, b Uint64) Uint64 10 RETURN a << b End Function Function castVote(trustee String, key String, proposal String) Uint64 10 DIM value, c, tally_str AS String 20 DIM i, tally AS Uint64 30 LET tally_str = "0" 40 IF EXISTS("i:" + key) != 1 THEN GOTO 230 50 LET value = LOAD("i:" + key) 60 LET i = 0 100 LET c = SUBSTR(value, i, 1) 110 IF (c == ":") THEN GOTO 200 120 LET tally_str = tally_str + c 130 LET i = i + 1 140 GOTO 100 200 LET tally = ATOI(tally_str) 210 IF ((tally & 1) == 1) THEN GOTO 1000 220 IF SUBSTR(value, i+1, STRLEN(proposal)) == proposal THEN GOTO 300 230 LET tally = 0 300 LET tally = tally | SHL(1, LOAD(trustee) + 1) 310 IF countVotes(tally) < LOAD("quorum") THEN GOTO 400 320 LET tally = tally | 1 400 STORE("i:" + key, ITOA(tally) + ":" + proposal) 410 RETURN (tally & 1) 1000 RETURN 0 End Function ' Name:asset1 Type:string Value:'0000000000000000000000000000000000000000000000000000000000000000' Name:asset2 Type:string Value:'d74d1bb9968e3947a9bd40c5a9bdf598135f6b07a93bc98ded1fefa6ddd36bf5' Name:fee Type:uint64 Value:'50' Name:name Type:string Value:'Liquidity for swap pair DERO:DST' Name:symbol Type:string Value:'DERO:DST']


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
0100000500bd9e4bddfdc1f4b30679c9a68ef48491444a8bcf1d5a892f2b8a461ed01903b8084d5c0100000000000000000000000000000000000000000000000000000000000000000000ffd9e6a951dd795661749956ca1d0e38946103cb3abc3c8e74a88c1e289846d0fbd75ba020ee994bdb021cb95b34f335e834f6080b039e80bd515d0a862c6cc9b7b65423da71cfee75294fcb5578942a08170fde46b3c534e48237ddd295418003a5781a44514271fbe1ab64b48ffe292350342314b86dbff06ba8d16188a6cbae3e6558a5cc7197b6d74650c60691dfd10107b04b14c066c224ba5904549e3114d3b2dad1163a1a718ba84987c7deb7e365afd2110014e52040998bd16af0de15e0e701302eb3d2a4dc00f0d53a7859f617aa1965d378231f598696534932a44ef8a354001e1d7cd7bbc4145acc19e869034c6df89f596f5b78bdf57f6a3d552a473d374f001b25968a45ad1c4d2b8fc65f9a1a1c36e12b19aa710e68e4a7972b6a8ab83466e449a764666565551832656e616d655378204c697175696469747920666f7220737761702070616972204445524f3a445354676173736574315378403030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303067617373657432537840643734643162623939363865333934376139626434306335613962646635393831333566366230376139336263393864656431666566613664646433366266356773796d626f6c53684445524f3a4453546853435f434f4445537923f70a2f2f202020205f5f5f5f5f20205f5f5f5f5f205f5f5f5f5f5f5f205f5f5f5f5f5f5f205f20205f20205f205f5f5f5f5f5f5f20205f5f5f5f5f200a2f2f2020207c5f5f5f5f5f5d2020207c2020207c5f5f5f5f5f5f207c5f5f5f5f5f5f207c20207c20207c207c5f5f5f5f5f7c207c5f5f5f5f5f5d0a2f2f2020207c202020202020205f5f7c5f5f207c5f5f5f5f5f5f205f5f5f5f5f5f7c207c5f5f7c5f5f7c207c20202020207c207c2020202020200a2f2f0a2f2f2020205377617020636f6e74726163740a0a46756e6374696f6e20496e697469616c697a652861737365743120537472696e672c2061737365743220537472696e672c2073796d626f6c20537472696e672c206e616d6520537472696e672c206665652055696e743634292055696e7436340a09313020494620455849535453282276657273696f6e2229205448454e20474f544f20313130300a0932302053657456657228290a0933302053544f524528226f3a22202b20484558285349474e45522829292c2030290a0934302053544f524528226f6c3a30222c20484558285349474e4552282929290a0935302053544f524528226e756d5472757374656573222c2031290a0936302053544f5245282271756f72756d222c2031290a0937302053544f52452822617373657431222c204845584445434f44452861737365743129290a0938302053544f52452822617373657432222c204845584445434f44452861737365743229290a0939302053544f5245282273796d626f6c222c2073796d626f6c290a093130302053544f52452822646563696d616c73222c2030290a093131302053544f524528226e616d65222c206e616d65290a093132302053544f52452822666565222c20666565290a093133302053544f5245282276616c31222c2030290a093134302053544f5245282276616c32222c2030290a093135302053544f524528227368617265734f75747374616e64696e67222c2030290a093136302053544f5245282261646473222c2030290a093137302053544f5245282272656d73222c2030290a093138302053544f524528227377617073222c2030290a0a09313030302052455455524e20300a09313130302052455455524e203130300a456e642046756e6374696f6e0a0a46756e6374696f6e20476574566572282920537472696e670a0931302072657475726e2022322e313030220a456e642046756e6374696f6e0a0a46756e6374696f6e2053657456657228292055696e7436340a0931302053544f5245282276657273696f6e222c204765745665722829290a0a09313030302052455455524e20300a456e642046756e6374696f6e0a0a2f2f206c6f73736c657373202861202a20622029202f20630a2f2f20282763617573652074686572652061696e2774206e6f2055696e74323536290a46756e6374696f6e206d756c7444697628612055696e7436342c20622055696e7436342c20632055696e743634292055696e7436340a0931302044494d20626173652c206d61786469762041532055696e7436340a093230204c45542062617365203d2034323934393637323936092f2f2028313c3c3332290a093330204c4554206d6178646976203d2028626173652d31292a62617365202b2028626173652d31290a0a0935302044494d207265732041532055696e7436340a093630204c455420726573203d2028612f6329202a2062202b202861256329202a2028622f63290a093730204c45542061203d2061202520630a093830204c45542062203d2062202520630a093930204946202861203d3d2030207c7c2062203d3d203029205448454e20474f544f20313030300a0a09313030204946202863203e3d206261736529205448454e20474f544f203230300a09313130204c455420726573203d20726573202b2028612a622f63290a0931323020474f544f20313030300a0a093230302044494d206e6f726d2041532055696e7436340a09323130204c4554206e6f726d203d206d61786469762f630a09323230204c45542063203d2063202a206e6f726d0a09323330204c45542061203d2061202a206e6f726d0a0a093330302044494d2061682c20616c2c2062682c20626c2c2063682c20636c2041532055696e7436340a09333130204c4554206168203d2061202f20626173650a09333230204c455420616c203d2061202520626173650a09333330204c4554206268203d2062202f20626173650a09333430204c455420626c203d2062202520626173650a09333530204c4554206368203d2063202f20626173650a09333630204c455420636c203d2063202520626173650a0a093430302044494d2070302c2070312c2070322041532055696e7436340a09343130204c4554207030203d20616c2a626c0a09343230204c4554207031203d207030202f2062617365202b20616c2a62680a09343330204c4554207030203d207030202520626173650a09343430204c4554207032203d207031202f2062617365202b2061682a62680a09343530204c4554207031203d202870312025206261736529202b2061682a626c0a09343630204c4554207032203d207032202b207031202f20626173650a09343730204c4554207031203d207031202520626173650a0a093530302044494d2071302c2071312c20726861742041532055696e7436340a09353130204c4554207032203d207032202520630a09353230204c4554207131203d207032202f2063680a09353330204c45542072686174203d20703220252063680a0a0936303020494620287131203c2062617365202626202872686174203e3d2062617365207c7c2071312a636c203c3d20726861742a626173652b70312929205448454e20474f544f203730300a09363130204c4554207131203d207131202d20310a09363230204c45542072686174203d2072686174202b2063680a0936333020474f544f203630300a0a09373030204c4554207031203d20282870322025206261736529202a2062617365202b20703129202d207131202a20636c0a09373130204c4554207032203d20287032202f2062617365202a2062617365202b207031202f206261736529202d207131202a2063680a09373230204c4554207031203d202870312025206261736529202b202870322025206261736529202a20626173650a09373330204c4554207130203d207031202f2063680a09373430204c45542072686174203d20703120252063680a0a0938303020494620287130203c2062617365202626202872686174203e3d2062617365207c7c2071302a636c203c3d20726861742a626173652b70302929205448454e20474f544f203930300a09383130204c4554207130203d207130202d20310a09383230204c45542072686174203d2072686174202b2063680a0938333020474f544f203830300a0a09393030204c455420726573203d20726573202b207130202b207131202a20626173650a0a09313030302052455455524e207265730a456e642046756e6374696f6e0a0a46756e6374696f6e204164644c697175696469747928292055696e743634200a0931302044494d20696e312c20696e322c2076616c312c2076616c322c207368617265734f75747374616e64696e672c2073686172652041532055696e7436340a0932302044494d206173736574312c2061737365743220415320537472696e670a0a093330204c455420617373657431203d204c4f4144282261737365743122290a093430204c455420617373657432203d204c4f4144282261737365743222290a093530204c45542076616c31203d204c4f4144282276616c3122290a093630204c45542076616c32203d204c4f4144282276616c3222290a093730204c4554207368617265734f75747374616e64696e67203d204c4f414428227368617265734f75747374616e64696e6722290a093830204c455420696e31203d20415353455456414c554528617373657431290a093930204c455420696e32203d20415353455456414c554528617373657432290a0a0931303020494620696e31203c2031207c7c20696e32203c2031205448454e20474f544f20313131300a09313130204946207368617265734f75747374616e64696e67203e2030205448454e20474f544f203135300a09313230204c4554207368617265203d204d415828696e312c20696e32290a0931333020474f544f203330300a0a0931353020494620696e32203d3d206d756c7444697628696e312c2076616c322c2076616c3129205448454e20474f544f203230300a0931363020494620696e31203d3d206d756c7444697628696e322c2076616c312c2076616c3229205448454e20474f544f203230300a0931373020474f544f20313132300a0a09323030204c4554207368617265203d206d756c74446976287368617265734f75747374616e64696e672c20696e312c2076616c31290a0a093330302053454e445f41535345545f544f5f41444452455353285349474e455228292c2073686172652c20534349442829290a093331302053544f5245282276616c31222c2076616c31202b20696e31290a093332302053544f5245282276616c32222c2076616c32202b20696e32290a093333302053544f524528227368617265734f75747374616e64696e67222c207368617265734f75747374616e64696e67202b207368617265290a093334302053544f5245282261646473222c204c4f41442822616464732229202b2031290a0a09313030302052455455524e20300a09313131302052455455524e203131300a09313132302052455455524e203132300a456e642046756e6374696f6e0a0a46756e6374696f6e2052656d6f76654c697175696469747928292055696e7436340a0931302044494d206f7574312c206f7574322c2076616c312c2076616c322c207368617265732c207368617265734f75747374616e64696e672041532055696e7436340a0932302044494d206173736574312c2061737365743220415320537472696e670a0a093330204c45542076616c31203d204c4f4144282276616c3122290a093430204c45542076616c32203d204c4f4144282276616c3222290a093530204c455420736861726573203d20415353455456414c554528534349442829290a093630204c4554207368617265734f75747374616e64696e67203d204c4f414428227368617265734f75747374616e64696e6722290a093730204c455420617373657431203d204c4f4144282261737365743122290a093830204c455420617373657432203d204c4f4144282261737365743222290a0a093930204946207368617265734f75747374616e64696e67203c2031207c7c20736861726573203c2031205448454e20474f544f20313133300a09313030204c4554206f757431203d206d756c744469762876616c312c207368617265732c207368617265734f75747374616e64696e67290a09313130204c4554206f757432203d206d756c744469762876616c322c207368617265732c207368617265734f75747374616e64696e67290a0a093132302053544f5245282276616c31222c2076616c31202d206f757431290a093133302053544f5245282276616c32222c2076616c32202d206f757432290a093134302053544f524528227368617265734f75747374616e64696e67222c207368617265734f75747374616e64696e67202d20736861726573290a093135302053544f5245282272656d73222c204c4f4144282272656d732229202b2031290a093136302053454e445f41535345545f544f5f41444452455353285349474e455228292c206f7574312c20617373657431290a093137302053454e445f41535345545f544f5f41444452455353285349474e455228292c206f7574322c20617373657432290a0a09313030302052455455524e20300a09313130302052455455524e203130300a09313133302052455455524e203133300a456e642046756e6374696f6e0a0a46756e6374696f6e205377617028292055696e7436340a0931302044494d20696e312c20696e322c206f7574312c206f7574322c2076616c312c2076616c322c206665652041532055696e7436340a0932302044494d206173736574312c2061737365743220415320537472696e670a0a093330204c455420617373657431203d204c4f4144282261737365743122290a093430204c455420617373657432203d204c4f4144282261737365743222290a093530204c455420696e31203d20415353455456414c554528617373657431290a093630204c455420696e32203d20415353455456414c554528617373657432290a093730204c45542076616c31203d204c4f4144282276616c3122290a093830204c45542076616c32203d204c4f4144282276616c3222290a093930204c455420666565203d204c4f4144282266656522290a0a0931303020494620696e31203e203020262620696e32203e2030205448454e20474f544f20313134300a0931313020494620696e31203c203120262620696e32203c2031205448454e20474f544f20313131300a0931323020494620696e32203e2030205448454e20474f544f203330300a0a09323030204c4554206f757432203d206d756c7444697628696e312c2076616c322c202876616c31202b20696e3129290a09323130204c4554206f757432203d206d756c74446976286f7574322c202831303030302d666565292c203130303030290a093232302053544f5245282276616c31222c2076616c31202b20696e31290a093233302053544f5245282276616c32222c2076616c32202d206f757432290a093235302053454e445f41535345545f544f5f41444452455353285349474e455228292c206f7574322c20617373657432290a0932363020474f544f203430300a0a09333030204c4554206f757431203d206d756c7444697628696e322c2076616c312c202876616c32202b20696e3229290a09333130204c4554206f757431203d206d756c74446976286f7574312c202831303030302d666565292c203130303030290a093332302053544f5245282276616c31222c2076616c31202d206f757431290a093333302053544f5245282276616c32222c2076616c32202b20696e32290a093335302053454e445f41535345545f544f5f41444452455353285349474e455228292c206f7574312c20617373657431290a0a093430302053544f524528227377617073222c204c4f4144282273776170732229202b2031290a0a09313030302052455455524e20300a09313130302052455455524e203130300a09313131302052455455524e203131300a09313134302052455455524e203134300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f7465536574466565286665652055696e743634292055696e7436340a0931302044494d207472757374656520415320537472696e670a093230204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0933302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a093430204946204c4f414428226665652229203d3d20666565205448454e20474f544f20313236300a0a093130302049462063617374566f746528747275737465652c202230222c2049544f4128666565292920213d2031205448454e20474f544f203230300a093131302044454c4554452822693a3022290a093132302053544f52452822666565222c20666565290a0a09313030302052455455524e20300a09313130302052455455524e203130300a09313236302052455455524e203236300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f746541646454727573746565286e65775f7472757374656520537472696e67292055696e7436340a0931302044494d207472757374656520415320537472696e670a093230204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0933302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a0934302049462045584953545328226f3a22202b206e65775f7472757374656529205448454e20474f544f20313236300a093530204946205354524c454e286e65775f747275737465652920213d203636205448454e20474f544f20313236300a0a093130302049462063617374566f746528747275737465652c202231222c206e65775f747275737465652920213d2031205448454e20474f544f203230300a093131302044454c4554452822693a3122290a093132302044494d206e756d54727573746565732041532055696e7436340a09313330204c4554206e756d5472757374656573203d204c4f414428226e756d547275737465657322290a093134302053544f524528226f6c3a22202b206e756d54727573746565732c206e65775f74727573746565290a093135302053544f524528226f3a222b206e65775f747275737465652c206e756d5472757374656573290a093136302053544f524528226e756d5472757374656573222c206e756d5472757374656573202b2031290a0a093230302052455455524e20300a0a09313130302052455455524e203130300a09313236302052455455524e203236300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f746552656d6f766554727573746565286f6c645f7472757374656520537472696e67292055696e7436340a0931302044494d207472757374656520415320537472696e670a0932302044494d206e756d54727573746565732041532055696e7436340a093330204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0934302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a0935302049462045584953545328226f3a22202b206f6c645f747275737465652920213d2031205448454e20474f544f20313236300a093630204c4554206e756d5472757374656573203d204c4f414428226e756d54727573746565732229202d20310a093730204946206e756d5472757374656573203d3d2030205448454e20474f544f20313237300a093830204946206e756d5472757374656573203e204c4f4144282271756f72756d2229205448454e20474f544f20313238300a0a093130302049462063617374566f746528747275737465652c202232222c206f6c645f747275737465652920213d2031205448454e20474f544f203330300a093131302044454c4554452822693a3222290a0a093230302044494d206b6579546f4d6f766520415320537472696e670a093231302044494d20726f77546f5265706c6163652041532055696e7436340a09323230204c4554206b6579546f4d6f7665203d204c4f414428226f6c3a22202b206e756d5472757374656573290a09323330204c455420726f77546f5265706c616365203d204c4f414428226f3a22202b206f6c645f74727573746565290a093234302053544f524528226f3a22202b206b6579546f4d6f76652c20726f77546f5265706c616365290a093235302053544f524528226f6c3a22202b20726f77546f5265706c6163652c206b6579546f4d6f7665290a093236302044454c45544528226f3a22202b206f6c645f74727573746565290a093237302044454c45544528226f6c3a22202b206e756d5472757374656573290a093238302053544f524528226e756d5472757374656573222c206e756d5472757374656573290a0a093330302052455455524e20300a0a09313130302052455455524e203130300a09313236302052455455524e203236300a09313237302052455455524e203237300a09313239302052455455524e203239300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f74654368616e676551756f72756d286e65775f71756f72756d2055696e743634292055696e7436340a0931302044494d207472757374656520415320537472696e670a093230204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0933302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a093430204946204c4f4144282271756f72756d2229203d3d206e65775f71756f72756d205448454e20474f544f20313236300a093530204946206e65775f71756f72756d203e204c4f414428226e756d54727573746565732229205448454e20474f544f20313330300a0a093130302049462063617374566f746528747275737465652c202233222c2049544f41286e65775f71756f72756d292920213d2031205448454e20474f544f203230300a093131302044454c4554452822693a3322290a093132302053544f5245282271756f72756d222c206e65775f71756f72756d290a0a093230302052455455524e20300a0a09313130302052455455524e203130300a09313236302052455455524e203236300a09313330302052455455524e203330300a456e642046756e6374696f6e0a0a46756e6374696f6e20566f7465557064617465436f646528636f646520537472696e67292055696e7436340a0931302044494d207472757374656520415320537472696e670a093230204c45542074727573746565203d20226f3a22202b20484558285349474e45522829290a0933302049462045584953545328747275737465652920213d2031205448454e20474f544f20313130300a0a093130302049462063617374566f746528747275737465652c202234222c2073686132353628636f6465292920213d2031205448454e20474f544f203230300a093131302044454c4554452822693a3422290a09313230205550444154455f53435f434f444528636f6465290a0a093230302052455455524e20300a0a09313130302052455455524e203130300a09313236302052455455524e203236300a456e642046756e6374696f6e0a0a46756e6374696f6e20636f756e74566f7465732874616c6c792055696e743634292055696e7436340a0931302044494d20766f7465732c20692041532055696e7436340a093230204c455420766f746573203d20300a093330204c45542069203d204c4f414428226e756d547275737465657322290a0a09313030204946202874616c6c7920262028313c3c692929203c2031205448454e20474f544f203132300a09313130204c455420766f746573203d20766f746573202b20310a09313230204c45542069203d2069202d20310a093133302049462069203c2031205448454e20474f544f20313030300a0931343020474f544f203130300a0a09313030302052455455524e20766f7465730a456e642046756e6374696f6e0a0a46756e6374696f6e2053484c28612055696e7436342c20622055696e743634292055696e7436340a0931302052455455524e2061203c3c20620a456e642046756e6374696f6e0a0a46756e6374696f6e2063617374566f7465287472757374656520537472696e672c206b657920537472696e672c2070726f706f73616c20537472696e67292055696e7436340a0931302044494d2076616c75652c20632c2074616c6c795f73747220415320537472696e670a0932302044494d20692c2074616c6c792041532055696e7436340a093330204c45542074616c6c795f737472203d202230220a093430204946204558495354532822693a22202b206b65792920213d2031205448454e20474f544f203233300a093530204c45542076616c7565203d204c4f41442822693a22202b206b6579290a093630204c45542069203d20300a0a09313030204c45542063203d205355425354522876616c75652c20692c2031290a09313130204946202863203d3d20223a2229205448454e20474f544f203230300a09313230204c45542074616c6c795f737472203d2074616c6c795f737472202b20630a09313330204c45542069203d2069202b20310a0931343020474f544f203130300a0a09323030204c45542074616c6c79203d2041544f492874616c6c795f737472290a0932313020494620282874616c6c792026203129203d3d203129205448454e20474f544f20313030300a09323230204946205355425354522876616c75652c20692b312c205354524c454e2870726f706f73616c2929203d3d2070726f706f73616c205448454e20474f544f203330300a09323330204c45542074616c6c79203d20300a0a09333030204c45542074616c6c79203d2074616c6c79207c2053484c28312c204c4f4144287472757374656529202b2031290a0933313020494620636f756e74566f7465732874616c6c7929203c204c4f4144282271756f72756d2229205448454e20474f544f203430300a09333230204c45542074616c6c79203d2074616c6c79207c20310a0a093430302053544f52452822693a22202b206b65792c2049544f412874616c6c7929202b20223a22202b2070726f706f73616c290a093431302052455455524e202874616c6c7920262031290a0a09313030302052455455524e20300a456e642046756e6374696f6e0a6a53435f414354494f4e55010149611ff6f1978c50b6bf5758db25b73297653b9c4060e22cca1619e6ce2e47010e1c92cd4ef4380332565c623daad6dc8bd45b5b28560f145140b528bf3c9b1700249696e65094bfcb3d38610d9316b132ed3fa9eca6ab78440f43fcb9df7db940012294993114b861b0d481cbdecbd1ebfa47a67637ff3ac8ae3a3f9bb96a4d5bd8001e89edabb8fe3cb44a59f556a6a3641856f2f9e6170bb24db06036ed5bf68fd501126cff05b64a76ad1bfbb182a2533ddb87d119a8793963d2e1b2ac58478da9ed0030640495a161b34a09497e07bf07d4b375f15c69cf7bf043d6b5b4df1fa90131001eae8a59d8da2b2df5f1d54638a0403434ea5bf0549a2d0a9e411d5ab87dab7700091c5833cc4ed6d7f3e9732679e346caaf1dded27e0d55a18e4009b143ae15290019a3de83ed74bca8f65a60af17677f057adf72d3affcb48fa4a81996dd193aa6002e350d56d827c7f22eb27d0fbd9b1a41d35c1e4f8d189459379cbdd5ff604e28002614aaba566b7a0ef29f846802cd15c8c22ca0c85f599e2617506afab910fac700180e8443658ad5c47d60eb50679489cd10a4acc638566f9d5243f99667060a7001000000000000000000000000000000000000000000000000000000000000000029da232f6d7d6541491af906533863a5f00c58a8b292015caa48c76585a706a405634508a78958251e4007ca7edf5e62ef0c6ef0bf1f43dbbc301c90e3f2448e0af98e38adfe1f1a0caebdda820ab730a772762ca623e73345f5e908245acd3e012b523ae02f78dd01a9dcc0c1ff2adf37664597b5c39bc2774f80dbc1981fc179002c36daf86ceeeaa3bc3f9663f9f04a21ac707486908eec969274a67776cae1dc0e6e7fc71892888cb65400b9b18fa6f1a5212016cc2607e476b76325cc06c17603d6e7722d67f64f681a2cb6bc85c35d1792809360d3c5ac0b40f0f13c53950210750e9913ac976d77883af15faf267275389708db1eb277454e4b7f2421f5cc0296b7dfad490cbfe59df2cc6562e7b6187b4d5b8aa5f2d8847cb34bcb60c4982b1e1827d20d8cc37c09a87eab74766fecf949fd0eef72c0d54b1ee950ef68891ac2ebccb239930f259a508c76a8073f33ad0dd133fd56418bd0fe862f4c8fe80509cce794c74a61f9d6656e9523ef96dd55383aff02baad46d6d265d3f2642c0de4ff4be60a2b27173e9adef0e8fc7a4de3850bc63f0407691fe07613a3a584003087c80d6ea996f9670cc90f4a247f09d266eadb33e25f157015a81091443e000da8d9db6f4701fe7b0e53c9d9d5798ccc220e03e4a29153badd7790e037b6c00029fcc2c3bb3f2343e9e6b022e555cfe9b877e5c6ae7571ad74c921d88bb4189b012926a805cc327e203e657fffcc56657aeda0e516a2afe10c82c3e35b912062dc001204f0c7f7d34a4b70ddf2072e7a552da8e82649511c51fd662643df83f608310027296a8755e91ac57a30edbe51ef4164e64e6efd15c29d97efd974f3c2ebf62500033f30068d468c469a5618853b3d7e2781bdcc21aa3eb919c117c87cf4fd20e4012c3527ff4e598b4b2312a2c3fae21a119e849e5dd1017f4cf610048b0d3201180121aeb552180f2cb3608c4fb1537e8250c7ba5a744a4e62b574b6bbd469dd24020000e2d7b4a130d82a47866c47997918f34fe536ac77b41861b4351c855e73452a010d56773bd2ae90936f94aa5d023780049bd7130e53dec9753a964778651cac450009f96e7cc371782abb26e38db03f66a60270df9354c07d8619cd0626eb47005a010409eff45f806477289115ce8fbab574d9e805d90e3e025fee837d90d9aab3c0012b10a4cdc396f81f476349edb90e1e554536c3ef57233a72f4ac8c09422c1e9701
DERO explorer source code | explorer version (api): under development (1.0) | dero version: golang pre-alpha | Copyright 2017-2022 Dero Project