DERO HE BlockChain Explorer(v1) Mainnet

hosted on

DERO Mining Node

Tx hash: 946bd07efc52c9c1cb821f57929ef2bbeeef2b0e506047a2da3c2143e8335482 Type SC

Block: b92150176944be738764b59102a4b49cac43318b78865b3dedfd1d7dde35724f (VALID)
SCID current reserves
SCID Amount(in atomic units)
0000000000000000000000000000000000000000000000000000000000000000 0
SCID string variables
key value
C 2f2f2020436f7079726967687420323032342e20436976696c776172652e20416c6c207269676874732072657365727665642e0a2f2f202054454c4120446563656e7472616c697a65642057656220446f63756d656e74202854454c412d444f432d31290a46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c202272656e6465722e6a7322290a33312053544f524528226465736372486472222c202252656e646572204a532066696c6522290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c202272656e6465722e6a7322290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c20223130623434623032346437353634386636316638333662363639393332653535303936633131666130386263376632643366393662346438623466333230636122290a33372053544f5245282266696c65436865636b53222c20223237306331303864353330343036336661373830383638313166613437646232316561376631343737366331623931353137333535313433333730313731643422290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a2f2f2d2d2d2d2d2d2d2d2d2d0a2f2f2052656e646572696e670a0a66756e6374696f6e2072656e6465722829207b0a096c657420737667436f6e74656e74203d20603c646566733e0a3c66696c7465722069643d22736861646f7734352220783d222d3530252220793d222d353025222077696474683d223230302522206865696768743d2232303025223e0a093c666544726f70536861646f772064783d2236222064793d22362220737464446576696174696f6e3d22342220666c6f6f642d636f6c6f723d227267626128302c302c302c302e342922202f3e0a3c2f66696c7465723e0a3c72616469616c4772616469656e742069643d22747572726574446f6d65222063783d22302e35222063793d22302e352220723d22302e35223e0a093c73746f70206f66667365743d223025222073746f702d636f6c6f723d227768697465222073746f702d6f7061636974793d22302e3822202f3e0a093c73746f70206f66667365743d22323525222073746f702d636f6c6f723d227768697465222073746f702d6f7061636974793d22302e3822202f3e0a093c73746f70206f66667365743d2231303025222073746f702d636f6c6f723d22626c61636b222073746f702d6f7061636974793d223122202f3e0a3c2f72616469616c4772616469656e743e0a3c2f646566733e0a603b0a0a09737667436f6e74656e74202b3d2072656e6465724261636b67726f756e6428293b0a09737667436f6e74656e74202b3d2072656e646572576f726c644f626a6563747328293b0a09737667436f6e74656e74202b3d2072656e646572426173657328293b0a09737667436f6e74656e74202b3d2072656e646572456e656d69657328293b20200a09737667436f6e74656e74202b3d2072656e646572506c6179657228293b0a09737667436f6e74656e74202b3d2072656e64657254757272657428293b0a09737667436f6e74656e74202b3d2072656e64657250726f6a656374696c657328293b0a09737667436f6e74656e74202b3d2072656e6465725061727469636c657328293b0a097376672e696e6e657248544d4c203d20737667436f6e74656e743b0a0a0972656e6465724d696e696d617028293b0a0972656e646572537461746528293b0a7d0a0a66756e6374696f6e207365745374617465287329207b0a0967616d652e7374617465203d20733b0a7d0a66756e6374696f6e2072656e64657253746174652829207b0a096966202867616d652e7374617465203d3d3d2053544154452e4d454e5529207b0a09096875642e696e6e657248544d4c203d20600a0909093c7465787420783d223130302220793d223430222066696c6c3d2277686974652220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2232342220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a0909090946554c4c2054414e4b0a0909093c2f746578743e0a0909093c7465787420783d223130302220793d223630222066696c6c3d2279656c6c6f772220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231362220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a09090909507265737320454e54455220746f20426567696e0a0909093c2f746578743e0a0909093c7465787420783d223130302220793d223830222066696c6c3d2279656c6c6f772220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231342220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a090909094d6f76656d656e743a20772c20612c20732c2064207c205475727265743a206c2c2027090909090a0909093c2f746578743e0a0909093c7465787420783d223130302220793d22313030222066696c6c3d2279656c6c6f772220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231342220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a0909090953686f6f743a2053706163652c205475727265743a203b0a0909093c2f746578743e0a0909603b0a097d0a0a09656c7365206966202867616d652e7374617465203d3d3d2053544154452e4d495353494f4e5f53454c45435429207b0a09096875642e696e6e657248544d4c203d20600a0909093c7465787420783d223130302220793d223330222066696c6c3d2277686974652220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2232302220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a0909090953656c656374204d697373696f6e0a0909093c2f746578743e603b0a0909636f6e7374207363656e6172696f73203d206765745363656e6172696f28293b0a09096c65742079203d2033303b0a09090a0909666f722028636f6e7374206b657920696e207363656e6172696f7329207b0a090909636f6e7374207363656e203d207363656e6172696f735b6b65795d3b0a09090979202b3d2032303b0a0909096c65742074436f6c6f72203d202279656c6c6f77223b0a090909696620286c6576656c53656c6563746f72203d3d207363656e2e696429207b0a0909090974436f6c6f72203d20226f72616e6765223b0a090909090a0909097d0a0909096875642e696e6e657248544d4c202b3d20603c7465787420783d223130302220793d22247b797d222066696c6c3d22247b74436f6c6f727d2220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231342220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a09090909247b7363656e2e69647d202d20247b7363656e2e6d697373696f6e7d0a090909093c2f746578743e603b090909090a09097d0a097d0a0a09656c7365206966202867616d652e7374617465203d3d3d2053544154452e4445414429207b0a09096875642e696e6e657248544d4c203d20600a0909093c7465787420783d223130302220793d223430222066696c6c3d227265642220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2232342220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a09090909594f5520444945440a0909093c2f746578743e0a0909093c7465787420783d223130302220793d223830222066696c6c3d2277686974652220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231362220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a090909095072657373205220746f20526573746172740a0909093c2f746578743e603b0a097d0a090a09656c7365206966202867616d652e7374617465203d3d3d2053544154452e57494e29207b0a09096c6574207431203d20224d495353494f4e20434f4d504c455445223b0a09096c6574207432203d2022746f20436f6e74696e7565223b09090a09096966287363656e6172696f2e6964203d3d204f626a6563742e6b657973286765745363656e6172696f2829292e6c656e67746829207b0a0909097431203d2022594f552042454154205448452047414d4521223b0a0909097432203d2022666f72204d656e75223b0a09097d0a09096875642e696e6e657248544d4c203d20600a0909093c7465787420783d223130302220793d223430222066696c6c3d226c696d652220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231382220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a09090909247b74317d200a0909093c2f746578743e0a0909093c7465787420783d223130302220793d223830222066696c6c3d2277686974652220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231342220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a09090909507265737320454e544552206f72205354415254200a0909093c2f746578743e0a0909093c7465787420783d223130302220793d22313030222066696c6c3d2277686974652220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231342220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a09090909247b74327d0a0909093c2f746578743e603b0a097d0a090a09656c7365206966202867616d652e7374617465203d3d3d2053544154452e50415553454429207b0a09096c6574206f7574203d20600a0909093c7465787420783d223130302220793d223430222066696c6c3d226c696d652220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2232302220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a090909095041555345440a0909093c2f746578743e0a0909093c7465787420783d223130302220793d223830222066696c6c3d2277686974652220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231342220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a09090909507265737320457363206f7220535441525420746f20526573756d650a0909093c2f746578743e603b0a09090a09096966202867616d652e7374617465203d3d3d2053544154452e50415553454429207b0a0909096f7574202b3d603c7465787420783d223130302220793d22313230222066696c6c3d2277686974652220746578742d616e63686f723d226d6964646c652220666f6e742d73697a653d2231342220666f6e742d7765696768743d22626f6c6422207374726f6b653d22626c61636b22207374726f6b652d77696474683d222e32223e0a09090909564f4c554d453a20247b28766f6c756d65202a20313030297c307d250a0909093c2f746578743e603b0a09097d0a09096875642e696e6e657248544d4c203d206f75743b0a097d0a0a09656c7365207b0a090972656e64657248554428293b200a097d0a7d0a0a66756e6374696f6e2072656e6465724855442829207b0a0a09636f6e73742070203d2067616d652e706c617965723b0a0a09636f6e737420687050657263656e74203d20702e6870202f20702e6d617848703b0a09636f6e737420616d6d6f50657263656e74203d20702e616d6d6f202f20702e6d6178416d6d6f3b0a0969662028687050657263656e74203c2030207c20616d6d6f50657263656e74203c2030292072657475726e3b0a096875642e696e6e657248544d4c203d20600a09093c7265637420783d2232302220793d223230222077696474683d2232303022206865696768743d223230222066696c6c3d22626c61636b22206f7061636974793d22302e35222f3e0a09093c7265637420783d2232302220793d223230222077696474683d22247b323030202a20687050657263656e747d22206865696768743d223230222066696c6c3d22726564222f3e0a09093c7465787420783d223132352220793d223335222066696c6c3d2277686974652220666f6e742d73697a653d2231342220746578742d616e63686f723d226d6964646c65223e0a09090948503a20247b702e68707d2f247b702e6d617848707d0a09093c2f746578743e0a0a09093c7265637420783d2232302220793d223530222077696474683d2232303022206865696768743d223230222066696c6c3d22626c61636b22206f7061636974793d22302e35222f3e0a09093c7265637420783d2232302220793d223530222077696474683d22247b323030202a20616d6d6f50657263656e747d22206865696768743d223230222066696c6c3d2279656c6c6f77222f3e0a09093c7465787420783d223132352220793d223635222066696c6c3d22626c61636b2220666f6e742d73697a653d2231342220746578742d616e63686f723d226d6964646c65223e0a090909416d6d6f3a20247b702e616d6d6f7d2f247b702e6d6178416d6d6f7d0a09093c2f746578743e603b0a7d0a0a2f2f204d696e69206d61700a66756e6374696f6e206d617058287829207b2072657475726e2078202a206d61705363616c65583b207d0a66756e6374696f6e206d617059287929207b2072657475726e2079202a206d61705363616c65593b207d0a66756e6374696f6e2072656e6465724d696e696d61702829207b0a096c6574206f7574203d2022223b0a0a092f2f204261636b67726f756e640a096f7574202b3d20603c7265637420783d22302220793d2230222077696474683d22247b4d41505f577d22206865696768743d22247b4d41505f487d222066696c6c3d222332323222207374726f6b653d222335353522202f3e603b0a0a092f2f2042617365730a09666f722028636f6e73742062206f662067616d652e626173657329207b0a0a09092f2f205472616e73666f726d206561636820706f6c79676f6e2076657274657820696e746f206d696e696d61702073706163650a09096c657420707473203d20622e706f6c790a0909092e6d61702870203d3e207b0a09090909636f6e7374207778203d20622e78202b20702e783b202f2f20776f726c6420580a09090909636f6e7374207779203d20622e79202b20702e793b202f2f20776f726c6420590a0909090972657475726e2060247b6d617058287778297d2c247b6d617059287779297d603b0a0909097d290a0909092e6a6f696e28222022293b0a0a09096f7574202b3d20603c706f6c79676f6e20706f696e74733d22247b7074737d222066696c6c3d2272676261283235352c302c302c302e352922202f3e603b0a097d0a0a092f2f20456e656d6965730a09666f722028636f6e73742065206f662067616d652e656e656d69657329207b0a09096f7574202b3d20603c636972636c652063783d22247b6d61705828652e78297d222063793d22247b6d61705928652e79297d2220723d2232222066696c6c3d2272656422202f3e603b0a097d0a0a092f2f20506c617965720a096f7574202b3d20603c636972636c652063783d22247b6d6170582867616d652e706c617965722e78297d222063793d22247b6d6170592867616d652e706c617965722e79297d2220723d2233222066696c6c3d226379616e22202f3e603b0a0a092f2f2043616d65726120766965772072656374616e676c650a096f7574202b3d20600a09093c7265637420783d22247b6d6170582863616d4c656674297d22200a0909092020793d22247b6d6170592863616d546f70297d22200a090909202077696474683d22247b2863616d5269676874202d2063616d4c65667429202a206d61705363616c65587d22200a09090920206865696768743d22247b2863616d426f74746f6d202d2063616d546f7029202a206d61705363616c65597d220a090909202066696c6c3d226e6f6e6522207374726f6b653d22776869746522207374726f6b652d77696474683d223122202f3e0a09603b0a0a096d61702e696e6e657248544d4c203d206f75743b0a7d0a0a0a2f2f2047616d652072656e646572696e670a66756e6374696f6e20696e56696577286f626a2c206d617267696e203d2032303029207b0a096c6574206c6566742c2072696768742c20746f702c20626f74746f6d3b0a0a09696620286f626a2e7720213d3d20756e646566696e656429207b0a09092f2f2052656374616e676c650a09096c6566742020203d206f626a2e783b0a0909726967687420203d206f626a2e78202b206f626a2e773b0a0909746f70202020203d206f626a2e793b0a0909626f74746f6d203d206f626a2e79202b206f626a2e683b0a097d20656c736520696620286f626a2e7220213d3d20756e646566696e656429207b0a09092f2f20436972636c650a09096c6566742020203d206f626a2e78202d206f626a2e723b0a0909726967687420203d206f626a2e78202b206f626a2e723b0a0909746f70202020203d206f626a2e79202d206f626a2e723b0a0909626f74746f6d203d206f626a2e79202b206f626a2e723b0a097d20656c7365207b0a09092f2f20506f696e742d6c696b652028656e656d792c2070726f6a656374696c65290a09096c656674203d207269676874203d206f626a2e783b0a0909746f70203d20626f74746f6d203d206f626a2e793b0a097d0a0a0972657475726e20280a0909726967687420203e2063616d4c6566742020202d206d617267696e2026260a09096c6566742020203c2063616d526967687420202b206d617267696e2026260a0909626f74746f6d203e2063616d546f70202020202d206d617267696e2026260a0909746f70202020203c2063616d426f74746f6d202b206d617267696e0a09293b0a7d0a0a2f2f2047657420776f726c6420656e7469747920706f6c79676f6e0a66756e6374696f6e20676574576f726c64506f6c7928656e7469747929207b0a09636f6e737420636f73203d204d6174682e636f7328656e746974792e616e676c65293b0a09636f6e73742073696e203d204d6174682e73696e28656e746974792e616e676c65293b0a0a0972657475726e20656e746974792e706f6c792e6d61702870203d3e20287b0a0909783a20656e746974792e78202b20702e78202a20636f73202d20702e79202a2073696e2c0a0909793a20656e746974792e79202b20702e78202a2073696e202b20702e79202a20636f730a097d29293b0a7d0a0a2f2f2052656e64657220656e74697469657320737667730a66756e6374696f6e2072656e64657242617365732829207b0a096c657420737667436f6e74656e74203d2022223b0a09666f722028636f6e73742062206f662067616d652e626173657329207b0a09096966202821696e566965772862292920636f6e74696e75653b0a0909636f6e737420707473203d20676574576f726c64506f6c792862290a0909092e6d61702870203d3e2060247b702e787d2c247b702e797d60290a0909092e6a6f696e28222022293b0a0a0909737667436f6e74656e74202b3d20603c706f6c79676f6e20706f696e74733d22247b7074737d222066696c6c3d2262726f776e222066696c7465723d2275726c2823736861646f7734352922202f3e600a097d0a0972657475726e20737667436f6e74656e743b0a7d0a0a66756e6374696f6e2072656e646572456e656d69657328297b0a096c657420737667436f6e74656e74203d2022223b0a09666f722028636f6e73742065206f662067616d652e656e656d69657329207b0a09096966202821696e566965772865292920636f6e74696e75653b0a0909636f6e737420707473203d20676574576f726c64506f6c792865290a0909092e6d61702870203d3e2060247b702e787d2c247b702e797d60290a0909092e6a6f696e28222022293b0a0909737667436f6e74656e74202b3d20603c706f6c79676f6e20706f696e74733d22247b7074737d22207374726f6b653d22626c61636b22207374726f6b652d77696474683d22302e35222066696c6c3d2223393133643030222066696c7465723d2275726c2823736861646f7734352922202f3e603b0a09090a0909696628652e7479706520213d3d202274616e6b22297b0a090909636f6e73742077734f626a203d207b0a09090909783a20652e782c0a09090909793a20652e792c0a09090909616e676c653a20652e616e676c652c0a09090909706f6c793a20652e77696e64736869656c640a0909097d3b0a0a090909636f6e7374207773507473203d20676574576f726c64506f6c792877734f626a290a090909092e6d61702870203d3e2060247b702e787d2c247b702e797d60290a090909092e6a6f696e28222022293b0a0a090909737667436f6e74656e74202b3d20600a090909093c706f6c79676f6e20706f696e74733d22247b77735074737d220a0909090909092066696c6c3d2267726179220a090909090909207374726f6b653d22626c61636b220a090909090909207374726f6b652d77696474683d22302e3522202f3e0a090909603b0a09097d20656c7365207b0a090909636f6e7374207475727265744f626a203d207b0a09090909783a20652e782c0a09090909793a20652e792c0a09090909616e676c653a20652e7475727265742e616e676c652c0a09090909706f6c793a20652e7475727265742e706f6c790a0909097d3b0a090909636f6e737420707473203d20676574576f726c64506f6c79287475727265744f626a290a090909092e6d61702870203d3e2060247b702e787d2c247b702e797d60290a090909092e6a6f696e28222022293b0a090909737667436f6e74656e74202b3d20603c636972636c652063783d22247b652e787d222063793d22247b652e797d2220723d223130222066696c6c3d2275726c2823747572726574446f6d652922202f3e0a0909090909203c706f6c79676f6e20706f696e74733d22247b7074737d222066696c6c3d226772617922207374726f6b653d22626c61636b22207374726f6b652d77696474683d22302e3522202f3e603b0a0909090a09097d200a09090a097d0a0972657475726e20737667436f6e74656e743b0a7d0a0a66756e6374696f6e2072656e646572506c617965722829207b0a09636f6e737420707473203d20676574576f726c64506f6c792867616d652e706c61796572290a09092e6d61702870203d3e2060247b702e787d2c247b702e797d60290a09092e6a6f696e28222022293b0a0a0972657475726e20603c706f6c79676f6e20706f696e74733d22247b7074737d22207374726f6b653d22626c61636b22207374726f6b652d77696474683d22302e35222066696c6c3d2223313233343732222066696c7465723d2275726c2823736861646f7734352922202f3e0a0909093c636972636c652063783d22247b67616d652e706c617965722e787d222063793d22247b67616d652e706c617965722e797d2220723d223130222066696c6c3d2275726c2823747572726574446f6d652922202f3e603b0a7d0a66756e6374696f6e2072656e6465725475727265742829207b0a09636f6e7374207475727265744f626a203d207b0a0909783a2067616d652e706c617965722e782c0a0909793a2067616d652e706c617965722e792c0a0909616e676c653a2067616d652e706c617965722e616e676c65202b2067616d652e706c617965722e7475727265742e6f66667365742c0a0909706f6c793a2067616d652e706c617965722e7475727265742e706f6c790a097d3b0a0a09636f6e7374207470203d20676574576f726c64506f6c79287475727265744f626a293b0a0a0972657475726e20603c706f6c79676f6e20706f696e74733d22247b74702e6d61702870203d3e2060247b702e787d2c247b702e797d60292e6a6f696e28272027297d220a0909090966696c6c3d226772617922207374726f6b653d22626c61636b22207374726f6b652d77696474683d223122202f3e603b0a0a7d0a0a0a2f2f206e6f6e2d726f746174696e670a66756e6374696f6e2072656e646572576f726c644f626a6563747328297b0a096c657420737667436f6e74656e74203d2022223b0a092f2f206472617720736f6d6520776f726c64206f626a6563747320666f722074657374696e670a09666f722028636f6e7374206f626a206f6620776f726c644f626a6563747329207b0a09096966202821696e56696577286f626a292920636f6e74696e75653b0a0909636f6e737420707473203d20676574576f726c64506f6c79286f626a290a0909092e6d61702870203d3e2060247b702e787d2c247b702e797d60290a0909092e6a6f696e28222022293b0a09096c65742066696c6c203d2074726565436f6c6f72735b7363656e6172696f2e7465727261696e5d3b0a0a09096966286f626a2e74797065203d3d2022726f636b22297b66696c6c203d202267726579223b7d0a09092f2f20536861646f772066697273740a0909737667436f6e74656e74202b3d20600a0909093c706f6c79676f6e20706f696e74733d22247b7074737d220a0909090966696c6c3d22626c61636b220a090909096f7061636974793d22302e3235220a090909097472616e73666f726d3d227472616e736c61746528342c342922202f3e0a0909603b0a0909737667436f6e74656e74202b3d20603c706f6c79676f6e20706f696e74733d22247b7074737d222066696c6c3d22247b66696c6c7d22202f3e603b0a097d20200a0972657475726e20737667436f6e74656e743b0a7d0a66756e6374696f6e2072656e64657250726f6a656374696c657328297b0a096c657420737667436f6e74656e74203d2022223b202020200a0a09666f722028636f6e73742070206f662067616d652e70726f6a656374696c657329207b0a0a0909636f6e7374206d61784c656e203d2035303b0a0a09092f2f20766563746f722066726f6d207374617274202d3e2063757272656e740a0909636f6e7374207678203d20702e78202d20702e7374617274583b0a0909636f6e7374207679203d20702e79202d20702e7374617274593b0a0909636f6e73742064697374203d204d6174682e6879706f742876782c207679293b0a0a09096c65742074782c2074793b0a0a09096966202864697374203c3d206d61784c656e29207b0a0909097478203d20702e7374617274583b0a0909097479203d20702e7374617274593b0a09097d20656c7365207b0a090909636f6e7374207363616c65203d206d61784c656e202f20646973743b0a0909097478203d20702e78202d207678202a207363616c653b0a0909097479203d20702e79202d207679202a207363616c653b0a09097d0a0a09092f2f206472617720747261696c0a0909737667436f6e74656e74202b3d20600a0909093c6c696e652078313d22247b74787d222079313d22247b74797d220a09090909202078323d22247b702e787d222079323d22247b702e797d220a0909090920207374726f6b653d226772657922207374726f6b652d77696474683d223222206f7061636974793d22302e3222202f3e0a0909603b0a0a09092f2f20647261772062756c6c65740a0909696628702e74797065203d3d3d2022706c6179657222297b20202020202020202020200a090909737667436f6e74656e74202b3d20603c636972636c652063783d22247b702e787d222063793d22247b702e797d2220723d2232222066696c6c3d2279656c6c6f7722202f3e603b0a09097d20656c736520696628702e74797065203d3d3d202274757272657422207c20702e74797065203d3d3d202274616e6b22297b0a090909737667436f6e74656e74202b3d20603c636972636c652063783d22247b702e787d222063793d22247b702e797d2220723d2234222066696c6c3d2272656422202f3e3c636972636c652063783d22247b702e787d222063793d22247b702e797d2220723d2232222066696c6c3d226f72616e676522202f3e603b0a09097d20656c736520696628702e74797065203d3d3d2022656e656d7922297b0a090909737667436f6e74656e74202b3d20603c636972636c652063783d22247b702e787d222063793d22247b702e797d2220723d2232222066696c6c3d2272656422202f3e3c636972636c652063783d22247b702e787d222063793d22247b702e797d2220723d2231222066696c6c3d226f72616e676522202f3e603b0a09097d0a097d0a0a0972657475726e20737667436f6e74656e743b0a7d0a0a0a66756e6374696f6e2072656e6465725061727469636c65732829207b0a096c657420737667436f6e74656e74203d2022223b090a09666f7220286c65742070206f662067616d652e7061727469636c657329207b0a09202020737667436f6e74656e74202b3d20603c636972636c652063783d22247b702e787d222063793d22247b702e797d2220723d22247b702e73697a657d220a09090909092066696c6c3d22247b702e636f6c6f727d22206f7061636974793d22247b702e6c696665202f2036307d22202f3e603b0a097d0a0972657475726e20737667436f6e74656e743b0a7d0a0a66756e6374696f6e2072656e6465724261636b67726f756e6428297b202020200a0972657475726e206267446566735b7363656e6172696f2e7465727261696e5d2b603c7265637420783d22302220793d2230222077696474683d22247b574f524c445f577d22206865696768743d22247b574f524c445f487d220a090966696c6c3d22247b6267436f6c6f72735b7363656e6172696f2e7465727261696e5d7d222066696c7465723d2275726c2823247b7363656e6172696f2e7465727261696e7d2922202f3e603b0a7d0a2a2f
dURL 72656e6465722e6a73
descrHdr 52656e646572204a532066696c65
dislikes 0
docType 54454c412d4a532d31
docVersion 312e302e30
fileCheckC 31306234346230323464373536343866363166383336623636393933326535353039366331316661303862633766326433663936623464386234663332306361
fileCheckS 32373063313038643533303430363366613738303836383131666134376462323165613766313437373663316239313531373335353134333337303137316434
hash 39343662643037656663353263396331636238323166353739323965663262626565656632623065353036303437613264613363323134336538333335343832
iconURLHdr
likes 0
nameHdr 72656e6465722e6a73
owner 6465726f317179347966376335373777717a767a7134347833306c7967686135776a7a377772687736646e76356e337071346634643761716c75717133306d37616b
subDir
SCID uint64 variables
key value
built BLID : 752af1430d414cdcd7cfd84320403e0d6021f5082ce9f57fd76f50c502461899
Tx RootHash: bc2e30d7e7d3879f16f9d1c141df7091139ecd525dbe932d2f6813ad831353ea built height : 7138506
Timestamp: 1780514142150 Timestamp [UTC]: 2026-06-03 21:15:42 Age [y:d:h:m:s]: 2:28:30.102
Block: 7138507 Fee: 0.18295 Tx size: 13.503 kB
Tx version: 1 No of confirmations: 477 Signature type: DERO_HOMOMORPHIC
Extra:
DERO : 2 inputs/outputs (RING size) Fees 0.18295 Deposited to SC 0.00000
Sender : dero1qy4yf7c577wqzvzq44x30lygha5wjz7wrhw6dnv5n3pq4f4d7aqluqq30m7ak
address
dero1qy4yf7c577wqzvzq44x30lygha5wjz7wrhw6dnv5n3pq4f4d7aqluqq30m7ak
dero1qykyta6ntpd27nl0yq4xtzaf4ls6p5e9pqu0k2x4x3pqq5xavjsdxqgny8270
SC Balance: 0.00000 DERO
SC CODE:
  //  Copyright 2024. Civilware. All rights reserved.
//  TELA Decentralized Web Document (TELA-DOC-1)
Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("nameHdr", "render.js")
31 STORE("descrHdr", "Render JS file")
32 STORE("iconURLHdr", "")
33 STORE("dURL", "render.js")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "")
36 STORE("fileCheckC", "10b44b024d75648f61f836b669932e55096c11fa08bc7f2d3f96b4d8b4f320ca")
37 STORE("fileCheckS", "270c108d5304063fa78086811fa47db21ea7f14776c1b91517355143370171d4")
100 RETURN 0
End Function

Function init() Uint64
10 IF EXISTS("owner") == 0 THEN GOTO 30
20 RETURN 1
30 STORE("owner", address())
50 STORE("docVersion", "1.0.0")
60 STORE("hash", HEX(TXID()))
70 STORE("likes", 0)
80 STORE("dislikes", 0)
100 RETURN 0
End Function

Function address() String
10 DIM s as String
20 LET s = SIGNER()
30 IF IS_ADDRESS_VALID(s) THEN GOTO 50
40 RETURN "anon"
50 RETURN ADDRESS_STRING(s)
End Function

Function Rate(r Uint64) Uint64
10 DIM addr as String
15 LET addr = address()
16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30
20 RETURN 1
30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT())
40 IF r < 50 THEN GOTO 70
50 STORE("likes", LOAD("likes")+1)
60 RETURN 0
70 STORE("dislikes", LOAD("dislikes")+1)
100 RETURN 0
End Function

/*//----------
// Rendering

function render() {
	let svgContent = `<defs>
<filter id="shadow45" x="-50%" y="-50%" width="200%" height="200%">
	<feDropShadow dx="6" dy="6" stdDeviation="4" flood-color="rgba(0,0,0,0.4)" />
</filter>
<radialGradient id="turretDome" cx="0.5" cy="0.5" r="0.5">
	<stop offset="0%" stop-color="white" stop-opacity="0.8" />
	<stop offset="25%" stop-color="white" stop-opacity="0.8" />
	<stop offset="100%" stop-color="black" stop-opacity="1" />
</radialGradient>
</defs>
`;

	svgContent += renderBackground();
	svgContent += renderWorldObjects();
	svgContent += renderBases();
	svgContent += renderEnemies();  
	svgContent += renderPlayer();
	svgContent += renderTurret();
	svgContent += renderProjectiles();
	svgContent += renderParticles();
	svg.innerHTML = svgContent;

	renderMinimap();
	renderState();
}

function setState(s) {
	game.state = s;
}
function renderState() {
	if (game.state === STATE.MENU) {
		hud.innerHTML = `
			<text x="100" y="40" fill="white" text-anchor="middle" font-size="24" font-weight="bold" stroke="black" stroke-width=".2">
				FULL TANK
			</text>
			<text x="100" y="60" fill="yellow" text-anchor="middle" font-size="16" font-weight="bold" stroke="black" stroke-width=".2">
				Press ENTER to Begin
			</text>
			<text x="100" y="80" fill="yellow" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2">
				Movement: w, a, s, d | Turret: l, '				
			</text>
			<text x="100" y="100" fill="yellow" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2">
				Shoot: Space, Turret: ;
			</text>
		`;
	}

	else if (game.state === STATE.MISSION_SELECT) {
		hud.innerHTML = `
			<text x="100" y="30" fill="white" text-anchor="middle" font-size="20" font-weight="bold" stroke="black" stroke-width=".2">
				Select Mission
			</text>`;
		const scenarios = getScenario();
		let y = 30;
		
		for (const key in scenarios) {
			const scen = scenarios[key];
			y += 20;
			let tColor = "yellow";
			if (levelSelector == scen.id) {
				tColor = "orange";
				
			}
			hud.innerHTML += `<text x="100" y="${y}" fill="${tColor}" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2">
				${scen.id} - ${scen.mission}
				</text>`;				
		}
	}

	else if (game.state === STATE.DEAD) {
		hud.innerHTML = `
			<text x="100" y="40" fill="red" text-anchor="middle" font-size="24" font-weight="bold" stroke="black" stroke-width=".2">
				YOU DIED
			</text>
			<text x="100" y="80" fill="white" text-anchor="middle" font-size="16" font-weight="bold" stroke="black" stroke-width=".2">
				Press R to Restart
			</text>`;
	}
	
	else if (game.state === STATE.WIN) {
		let t1 = "MISSION COMPLETE";
		let t2 = "to Continue";		
		if(scenario.id == Object.keys(getScenario()).length) {
			t1 = "YOU BEAT THE GAME!";
			t2 = "for Menu";
		}
		hud.innerHTML = `
			<text x="100" y="40" fill="lime" text-anchor="middle" font-size="18" font-weight="bold" stroke="black" stroke-width=".2">
				${t1} 
			</text>
			<text x="100" y="80" fill="white" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2">
				Press ENTER or START 
			</text>
			<text x="100" y="100" fill="white" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2">
				${t2}
			</text>`;
	}
	
	else if (game.state === STATE.PAUSED) {
		let out = `
			<text x="100" y="40" fill="lime" text-anchor="middle" font-size="20" font-weight="bold" stroke="black" stroke-width=".2">
				PAUSED
			</text>
			<text x="100" y="80" fill="white" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2">
				Press Esc or START to Resume
			</text>`;
		
		if (game.state === STATE.PAUSED) {
			out +=`<text x="100" y="120" fill="white" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2">
				VOLUME: ${(volume * 100)|0}%
			</text>`;
		}
		hud.innerHTML = out;
	}

	else {
		renderHUD(); 
	}
}

function renderHUD() {

	const p = game.player;

	const hpPercent = p.hp / p.maxHp;
	const ammoPercent = p.ammo / p.maxAmmo;
	if (hpPercent < 0 | ammoPercent < 0) return;
	hud.innerHTML = `
		<rect x="20" y="20" width="200" height="20" fill="black" opacity="0.5"/>
		<rect x="20" y="20" width="${200 * hpPercent}" height="20" fill="red"/>
		<text x="125" y="35" fill="white" font-size="14" text-anchor="middle">
			HP: ${p.hp}/${p.maxHp}
		</text>

		<rect x="20" y="50" width="200" height="20" fill="black" opacity="0.5"/>
		<rect x="20" y="50" width="${200 * ammoPercent}" height="20" fill="yellow"/>
		<text x="125" y="65" fill="black" font-size="14" text-anchor="middle">
			Ammo: ${p.ammo}/${p.maxAmmo}
		</text>`;
}

// Mini map
function mapX(x) { return x * mapScaleX; }
function mapY(y) { return y * mapScaleY; }
function renderMinimap() {
	let out = "";

	// Background
	out += `<rect x="0" y="0" width="${MAP_W}" height="${MAP_H}" fill="#222" stroke="#555" />`;

	// Bases
	for (const b of game.bases) {

		// Transform each polygon vertex into minimap space
		let pts = b.poly
			.map(p => {
				const wx = b.x + p.x; // world X
				const wy = b.y + p.y; // world Y
				return `${mapX(wx)},${mapY(wy)}`;
			})
			.join(" ");

		out += `<polygon points="${pts}" fill="rgba(255,0,0,0.5)" />`;
	}

	// Enemies
	for (const e of game.enemies) {
		out += `<circle cx="${mapX(e.x)}" cy="${mapY(e.y)}" r="2" fill="red" />`;
	}

	// Player
	out += `<circle cx="${mapX(game.player.x)}" cy="${mapY(game.player.y)}" r="3" fill="cyan" />`;

	// Camera view rectangle
	out += `
		<rect x="${mapX(camLeft)}" 
			  y="${mapY(camTop)}" 
			  width="${(camRight - camLeft) * mapScaleX}" 
			  height="${(camBottom - camTop) * mapScaleY}"
			  fill="none" stroke="white" stroke-width="1" />
	`;

	map.innerHTML = out;
}


// Game rendering
function inView(obj, margin = 200) {
	let left, right, top, bottom;

	if (obj.w !== undefined) {
		// Rectangle
		left   = obj.x;
		right  = obj.x + obj.w;
		top    = obj.y;
		bottom = obj.y + obj.h;
	} else if (obj.r !== undefined) {
		// Circle
		left   = obj.x - obj.r;
		right  = obj.x + obj.r;
		top    = obj.y - obj.r;
		bottom = obj.y + obj.r;
	} else {
		// Point-like (enemy, projectile)
		left = right = obj.x;
		top = bottom = obj.y;
	}

	return (
		right  > camLeft   - margin &&
		left   < camRight  + margin &&
		bottom > camTop    - margin &&
		top    < camBottom + margin
	);
}

// Get world entity polygon
function getWorldPoly(entity) {
	const cos = Math.cos(entity.angle);
	const sin = Math.sin(entity.angle);

	return entity.poly.map(p => ({
		x: entity.x + p.x * cos - p.y * sin,
		y: entity.y + p.x * sin + p.y * cos
	}));
}

// Render entities svgs
function renderBases() {
	let svgContent = "";
	for (const b of game.bases) {
		if (!inView(b)) continue;
		const pts = getWorldPoly(b)
			.map(p => `${p.x},${p.y}`)
			.join(" ");

		svgContent += `<polygon points="${pts}" fill="brown" filter="url(#shadow45)" />`
	}
	return svgContent;
}

function renderEnemies(){
	let svgContent = "";
	for (const e of game.enemies) {
		if (!inView(e)) continue;
		const pts = getWorldPoly(e)
			.map(p => `${p.x},${p.y}`)
			.join(" ");
		svgContent += `<polygon points="${pts}" stroke="black" stroke-width="0.5" fill="#913d00" filter="url(#shadow45)" />`;
		
		if(e.type !== "tank"){
			const wsObj = {
				x: e.x,
				y: e.y,
				angle: e.angle,
				poly: e.windshield
			};

			const wsPts = getWorldPoly(wsObj)
				.map(p => `${p.x},${p.y}`)
				.join(" ");

			svgContent += `
				<polygon points="${wsPts}"
						 fill="gray"
						 stroke="black"
						 stroke-width="0.5" />
			`;
		} else {
			const turretObj = {
				x: e.x,
				y: e.y,
				angle: e.turret.angle,
				poly: e.turret.poly
			};
			const pts = getWorldPoly(turretObj)
				.map(p => `${p.x},${p.y}`)
				.join(" ");
			svgContent += `<circle cx="${e.x}" cy="${e.y}" r="10" fill="url(#turretDome)" />
					 <polygon points="${pts}" fill="gray" stroke="black" stroke-width="0.5" />`;
			
		} 
		
	}
	return svgContent;
}

function renderPlayer() {
	const pts = getWorldPoly(game.player)
		.map(p => `${p.x},${p.y}`)
		.join(" ");

	return `<polygon points="${pts}" stroke="black" stroke-width="0.5" fill="#123472" filter="url(#shadow45)" />
			<circle cx="${game.player.x}" cy="${game.player.y}" r="10" fill="url(#turretDome)" />`;
}
function renderTurret() {
	const turretObj = {
		x: game.player.x,
		y: game.player.y,
		angle: game.player.angle + game.player.turret.offset,
		poly: game.player.turret.poly
	};

	const tp = getWorldPoly(turretObj);

	return `<polygon points="${tp.map(p => `${p.x},${p.y}`).join(' ')}"
				fill="gray" stroke="black" stroke-width="1" />`;

}


// non-rotating
function renderWorldObjects(){
	let svgContent = "";
	// draw some world objects for testing
	for (const obj of worldObjects) {
		if (!inView(obj)) continue;
		const pts = getWorldPoly(obj)
			.map(p => `${p.x},${p.y}`)
			.join(" ");
		let fill = treeColors[scenario.terrain];

		if(obj.type == "rock"){fill = "grey";}
		// Shadow first
		svgContent += `
			<polygon points="${pts}"
				fill="black"
				opacity="0.25"
				transform="translate(4,4)" />
		`;
		svgContent += `<polygon points="${pts}" fill="${fill}" />`;
	}  
	return svgContent;
}
function renderProjectiles(){
	let svgContent = "";    

	for (const p of game.projectiles) {

		const maxLen = 50;

		// vector from start -> current
		const vx = p.x - p.startX;
		const vy = p.y - p.startY;
		const dist = Math.hypot(vx, vy);

		let tx, ty;

		if (dist <= maxLen) {
			tx = p.startX;
			ty = p.startY;
		} else {
			const scale = maxLen / dist;
			tx = p.x - vx * scale;
			ty = p.y - vy * scale;
		}

		// draw trail
		svgContent += `
			<line x1="${tx}" y1="${ty}"
				  x2="${p.x}" y2="${p.y}"
				  stroke="grey" stroke-width="2" opacity="0.2" />
		`;

		// draw bullet
		if(p.type === "player"){           
			svgContent += `<circle cx="${p.x}" cy="${p.y}" r="2" fill="yellow" />`;
		} else if(p.type === "turret" | p.type === "tank"){
			svgContent += `<circle cx="${p.x}" cy="${p.y}" r="4" fill="red" /><circle cx="${p.x}" cy="${p.y}" r="2" fill="orange" />`;
		} else if(p.type === "enemy"){
			svgContent += `<circle cx="${p.x}" cy="${p.y}" r="2" fill="red" /><circle cx="${p.x}" cy="${p.y}" r="1" fill="orange" />`;
		}
	}

	return svgContent;
}


function renderParticles() {
	let svgContent = "";	
	for (let p of game.particles) {
	   svgContent += `<circle cx="${p.x}" cy="${p.y}" r="${p.size}"
					 fill="${p.color}" opacity="${p.life / 60}" />`;
	}
	return svgContent;
}

function renderBackground(){    
	return bgDefs[scenario.terrain]+`<rect x="0" y="0" width="${WORLD_W}" height="${WORLD_H}"
		fill="${bgColors[scenario.terrain]}" filter="url(#${scenario.terrain})" />`;
}
*/
SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'// Copyright 2024. Civilware. All rights reserved. // TELA Decentralized Web Document (TELA-DOC-1) Function InitializePrivate() Uint64 10 IF init() == 0 THEN GOTO 30 20 RETURN 1 30 STORE("nameHdr", "render.js") 31 STORE("descrHdr", "Render JS file") 32 STORE("iconURLHdr", "") 33 STORE("dURL", "render.js") 34 STORE("docType", "TELA-JS-1") 35 STORE("subDir", "") 36 STORE("fileCheckC", "10b44b024d75648f61f836b669932e55096c11fa08bc7f2d3f96b4d8b4f320ca") 37 STORE("fileCheckS", "270c108d5304063fa78086811fa47db21ea7f14776c1b91517355143370171d4") 100 RETURN 0 End Function Function init() Uint64 10 IF EXISTS("owner") == 0 THEN GOTO 30 20 RETURN 1 30 STORE("owner", address()) 50 STORE("docVersion", "1.0.0") 60 STORE("hash", HEX(TXID())) 70 STORE("likes", 0) 80 STORE("dislikes", 0) 100 RETURN 0 End Function Function address() String 10 DIM s as String 20 LET s = SIGNER() 30 IF IS_ADDRESS_VALID(s) THEN GOTO 50 40 RETURN "anon" 50 RETURN ADDRESS_STRING(s) End Function Function Rate(r Uint64) Uint64 10 DIM addr as String 15 LET addr = address() 16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30 20 RETURN 1 30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT()) 40 IF r < 50 THEN GOTO 70 50 STORE("likes", LOAD("likes")+1) 60 RETURN 0 70 STORE("dislikes", LOAD("dislikes")+1) 100 RETURN 0 End Function /*//---------- // Rendering function render() { let svgContent = `<defs> <filter id="shadow45" x="-50%" y="-50%" width="200%" height="200%"> <feDropShadow dx="6" dy="6" stdDeviation="4" flood-color="rgba(0,0,0,0.4)" /> </filter> <radialGradient id="turretDome" cx="0.5" cy="0.5" r="0.5"> <stop offset="0%" stop-color="white" stop-opacity="0.8" /> <stop offset="25%" stop-color="white" stop-opacity="0.8" /> <stop offset="100%" stop-color="black" stop-opacity="1" /> </radialGradient> </defs> `; svgContent += renderBackground(); svgContent += renderWorldObjects(); svgContent += renderBases(); svgContent += renderEnemies(); svgContent += renderPlayer(); svgContent += renderTurret(); svgContent += renderProjectiles(); svgContent += renderParticles(); svg.innerHTML = svgContent; renderMinimap(); renderState(); } function setState(s) { game.state = s; } function renderState() { if (game.state === STATE.MENU) { hud.innerHTML = ` <text x="100" y="40" fill="white" text-anchor="middle" font-size="24" font-weight="bold" stroke="black" stroke-width=".2"> FULL TANK </text> <text x="100" y="60" fill="yellow" text-anchor="middle" font-size="16" font-weight="bold" stroke="black" stroke-width=".2"> Press ENTER to Begin </text> <text x="100" y="80" fill="yellow" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2"> Movement: w, a, s, d | Turret: l, ' </text> <text x="100" y="100" fill="yellow" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2"> Shoot: Space, Turret: ; </text> `; } else if (game.state === STATE.MISSION_SELECT) { hud.innerHTML = ` <text x="100" y="30" fill="white" text-anchor="middle" font-size="20" font-weight="bold" stroke="black" stroke-width=".2"> Select Mission </text>`; const scenarios = getScenario(); let y = 30; for (const key in scenarios) { const scen = scenarios[key]; y += 20; let tColor = "yellow"; if (levelSelector == scen.id) { tColor = "orange"; } hud.innerHTML += `<text x="100" y="${y}" fill="${tColor}" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2"> ${scen.id} - ${scen.mission} </text>`; } } else if (game.state === STATE.DEAD) { hud.innerHTML = ` <text x="100" y="40" fill="red" text-anchor="middle" font-size="24" font-weight="bold" stroke="black" stroke-width=".2"> YOU DIED </text> <text x="100" y="80" fill="white" text-anchor="middle" font-size="16" font-weight="bold" stroke="black" stroke-width=".2"> Press R to Restart </text>`; } else if (game.state === STATE.WIN) { let t1 = "MISSION COMPLETE"; let t2 = "to Continue"; if(scenario.id == Object.keys(getScenario()).length) { t1 = "YOU BEAT THE GAME!"; t2 = "for Menu"; } hud.innerHTML = ` <text x="100" y="40" fill="lime" text-anchor="middle" font-size="18" font-weight="bold" stroke="black" stroke-width=".2"> ${t1} </text> <text x="100" y="80" fill="white" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2"> Press ENTER or START </text> <text x="100" y="100" fill="white" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2"> ${t2} </text>`; } else if (game.state === STATE.PAUSED) { let out = ` <text x="100" y="40" fill="lime" text-anchor="middle" font-size="20" font-weight="bold" stroke="black" stroke-width=".2"> PAUSED </text> <text x="100" y="80" fill="white" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2"> Press Esc or START to Resume </text>`; if (game.state === STATE.PAUSED) { out +=`<text x="100" y="120" fill="white" text-anchor="middle" font-size="14" font-weight="bold" stroke="black" stroke-width=".2"> VOLUME: ${(volume * 100)|0}% </text>`; } hud.innerHTML = out; } else { renderHUD(); } } function renderHUD() { const p = game.player; const hpPercent = p.hp / p.maxHp; const ammoPercent = p.ammo / p.maxAmmo; if (hpPercent < 0 | ammoPercent < 0) return; hud.innerHTML = ` <rect x="20" y="20" width="200" height="20" fill="black" opacity="0.5"/> <rect x="20" y="20" width="${200 * hpPercent}" height="20" fill="red"/> <text x="125" y="35" fill="white" font-size="14" text-anchor="middle"> HP: ${p.hp}/${p.maxHp} </text> <rect x="20" y="50" width="200" height="20" fill="black" opacity="0.5"/> <rect x="20" y="50" width="${200 * ammoPercent}" height="20" fill="yellow"/> <text x="125" y="65" fill="black" font-size="14" text-anchor="middle"> Ammo: ${p.ammo}/${p.maxAmmo} </text>`; } // Mini map function mapX(x) { return x * mapScaleX; } function mapY(y) { return y * mapScaleY; } function renderMinimap() { let out = ""; // Background out += `<rect x="0" y="0" width="${MAP_W}" height="${MAP_H}" fill="#222" stroke="#555" />`; // Bases for (const b of game.bases) { // Transform each polygon vertex into minimap space let pts = b.poly .map(p => { const wx = b.x + p.x; // world X const wy = b.y + p.y; // world Y return `${mapX(wx)},${mapY(wy)}`; }) .join(" "); out += `<polygon points="${pts}" fill="rgba(255,0,0,0.5)" />`; } // Enemies for (const e of game.enemies) { out += `<circle cx="${mapX(e.x)}" cy="${mapY(e.y)}" r="2" fill="red" />`; } // Player out += `<circle cx="${mapX(game.player.x)}" cy="${mapY(game.player.y)}" r="3" fill="cyan" />`; // Camera view rectangle out += ` <rect x="${mapX(camLeft)}" y="${mapY(camTop)}" width="${(camRight - camLeft) * mapScaleX}" height="${(camBottom - camTop) * mapScaleY}" fill="none" stroke="white" stroke-width="1" /> `; map.innerHTML = out; } // Game rendering function inView(obj, margin = 200) { let left, right, top, bottom; if (obj.w !== undefined) { // Rectangle left = obj.x; right = obj.x + obj.w; top = obj.y; bottom = obj.y + obj.h; } else if (obj.r !== undefined) { // Circle left = obj.x - obj.r; right = obj.x + obj.r; top = obj.y - obj.r; bottom = obj.y + obj.r; } else { // Point-like (enemy, projectile) left = right = obj.x; top = bottom = obj.y; } return ( right > camLeft - margin && left < camRight + margin && bottom > camTop - margin && top < camBottom + margin ); } // Get world entity polygon function getWorldPoly(entity) { const cos = Math.cos(entity.angle); const sin = Math.sin(entity.angle); return entity.poly.map(p => ({ x: entity.x + p.x * cos - p.y * sin, y: entity.y + p.x * sin + p.y * cos })); } // Render entities svgs function renderBases() { let svgContent = ""; for (const b of game.bases) { if (!inView(b)) continue; const pts = getWorldPoly(b) .map(p => `${p.x},${p.y}`) .join(" "); svgContent += `<polygon points="${pts}" fill="brown" filter="url(#shadow45)" />` } return svgContent; } function renderEnemies(){ let svgContent = ""; for (const e of game.enemies) { if (!inView(e)) continue; const pts = getWorldPoly(e) .map(p => `${p.x},${p.y}`) .join(" "); svgContent += `<polygon points="${pts}" stroke="black" stroke-width="0.5" fill="#913d00" filter="url(#shadow45)" />`; if(e.type !== "tank"){ const wsObj = { x: e.x, y: e.y, angle: e.angle, poly: e.windshield }; const wsPts = getWorldPoly(wsObj) .map(p => `${p.x},${p.y}`) .join(" "); svgContent += ` <polygon points="${wsPts}" fill="gray" stroke="black" stroke-width="0.5" /> `; } else { const turretObj = { x: e.x, y: e.y, angle: e.turret.angle, poly: e.turret.poly }; const pts = getWorldPoly(turretObj) .map(p => `${p.x},${p.y}`) .join(" "); svgContent += `<circle cx="${e.x}" cy="${e.y}" r="10" fill="url(#turretDome)" /> <polygon points="${pts}" fill="gray" stroke="black" stroke-width="0.5" />`; } } return svgContent; } function renderPlayer() { const pts = getWorldPoly(game.player) .map(p => `${p.x},${p.y}`) .join(" "); return `<polygon points="${pts}" stroke="black" stroke-width="0.5" fill="#123472" filter="url(#shadow45)" /> <circle cx="${game.player.x}" cy="${game.player.y}" r="10" fill="url(#turretDome)" />`; } function renderTurret() { const turretObj = { x: game.player.x, y: game.player.y, angle: game.player.angle + game.player.turret.offset, poly: game.player.turret.poly }; const tp = getWorldPoly(turretObj); return `<polygon points="${tp.map(p => `${p.x},${p.y}`).join(' ')}" fill="gray" stroke="black" stroke-width="1" />`; } // non-rotating function renderWorldObjects(){ let svgContent = ""; // draw some world objects for testing for (const obj of worldObjects) { if (!inView(obj)) continue; const pts = getWorldPoly(obj) .map(p => `${p.x},${p.y}`) .join(" "); let fill = treeColors[scenario.terrain]; if(obj.type == "rock"){fill = "grey";} // Shadow first svgContent += ` <polygon points="${pts}" fill="black" opacity="0.25" transform="translate(4,4)" /> `; svgContent += `<polygon points="${pts}" fill="${fill}" />`; } return svgContent; } function renderProjectiles(){ let svgContent = ""; for (const p of game.projectiles) { const maxLen = 50; // vector from start -> current const vx = p.x - p.startX; const vy = p.y - p.startY; const dist = Math.hypot(vx, vy); let tx, ty; if (dist <= maxLen) { tx = p.startX; ty = p.startY; } else { const scale = maxLen / dist; tx = p.x - vx * scale; ty = p.y - vy * scale; } // draw trail svgContent += ` <line x1="${tx}" y1="${ty}" x2="${p.x}" y2="${p.y}" stroke="grey" stroke-width="2" opacity="0.2" /> `; // draw bullet if(p.type === "player"){ svgContent += `<circle cx="${p.x}" cy="${p.y}" r="2" fill="yellow" />`; } else if(p.type === "turret" | p.type === "tank"){ svgContent += `<circle cx="${p.x}" cy="${p.y}" r="4" fill="red" /><circle cx="${p.x}" cy="${p.y}" r="2" fill="orange" />`; } else if(p.type === "enemy"){ svgContent += `<circle cx="${p.x}" cy="${p.y}" r="2" fill="red" /><circle cx="${p.x}" cy="${p.y}" r="1" fill="orange" />`; } } return svgContent; } function renderParticles() { let svgContent = ""; for (let p of game.particles) { svgContent += `<circle cx="${p.x}" cy="${p.y}" r="${p.size}" fill="${p.color}" opacity="${p.life / 60}" />`; } return svgContent; } function renderBackground(){ return bgDefs[scenario.terrain]+`<rect x="0" y="0" width="${WORLD_W}" height="${WORLD_H}" fill="${bgColors[scenario.terrain]}" filter="url(#${scenario.terrain})" />`; } */']


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