Network Difficulty
30299864
Hash Rate
30.000 MH/s
Avg Block Time
17.71334s
Total Supply
14476701
Mempool
Fee per KB
0
Block Size Limit
0.00 kB
← Back to Explorer

Transaction Details

SMART CONTRACT

Smart Contract State

SCID Reserves

SCID Amount (Atomic Units)
0000000000000000000000000000000000000000000000000000000000000000 0

String Variables

Key Value
C 2f2f2020436f7079726967687420323032342e20436976696c776172652e20416c6c207269676874732072657365727665642e0a2f2f202054454c4120446563656e7472616c697a65642057656220446f63756d656e74202854454c412d444f432d31290a46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c2022636f6c6c6973696f6e2e6a7322290a33312053544f524528226465736372486472222c2022436f6c6c6973696f6e204a532066696c6522290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c2022636f6c6c6973696f6e2e6a7322290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c20223232396264373938656435376232653038666262623661646531363038386661623839633864626134393636326437323633386465336632366238343138326222290a33372053544f5245282266696c65436865636b53222c2022386538613765313939393930616262383032656666653738323138383237383434326537316438643265616438633666353736666631373866373662303022290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a2f2f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a2f2f20436f6c6c6973696f6e20646574656374696f6e0a0a66756e6374696f6e20636f6c6c6973696f6e28297b0a09706c617965725465727261696e436f6c6c6973696f6e28293b0a09706c617965724275696c64696e67436f6c6c6973696f6e28293b090a096169506c61796572436f6c6c6973696f6e28293b0a09616956734169436f6c6c6973696f6e28293b090a0961695465727261696e436f6c6c6973696f6e28293b0909090a0970726f6a656374696c65436f6c6c6973696f6e28293b0a7d0a0a66756e6374696f6e20636972636c654869742861782c2061792c2061722c2062782c2062792c20627229207b0a09636f6e7374206478203d206178202d2062783b0a09636f6e7374206479203d206179202d2062793b0a0972657475726e2064782a6478202b2064792a6479203c3d20286172202b20627229202a20286172202b206272293b0a7d0a0a66756e6374696f6e20706f6c79436972636c6548697428706f6c792c2063782c2063792c207229207b0a092f2f2063656e74657220696e7369646520706f6c790a0969662028706f696e74496e506f6c792863782c2063792c20706f6c7929292072657475726e20747275653b0a0a092f2f20656467652064697374616e63650a09666f7220286c65742069203d20303b2069203c20706f6c792e6c656e6774683b20692b2b29207b0a0909636f6e73742061203d20706f6c795b695d3b0a0909636f6e73742062203d20706f6c795b28692b3129202520706f6c792e6c656e6774685d3b0a090969662028706f696e744c696e6544697374616e63652863782c2063792c20612e782c20612e792c20622e782c20622e7929203c3d2072290a09090972657475726e20747275653b0a097d0a0a0972657475726e2066616c73653b0a7d0a0a66756e6374696f6e206161626248697428612c206229207b0a0972657475726e20280a0909612e78203c20622e78202b20622e772026260a0909612e78202b20612e77203e20622e782026260a0909612e79203c20622e79202b20622e682026260a0909612e79202b20612e68203e20622e790a09293b0a7d0a0a66756e6374696f6e20706f696e74496e506f6c792870782c2070792c20706f6c792c206f783d302c206f793d3029207b0a096c657420696e73696465203d2066616c73653b0a09666f7220286c65742069203d20302c206a203d20706f6c792e6c656e677468202d20313b2069203c20706f6c792e6c656e6774683b206a203d20692b2b29207b0a0909636f6e7374207869203d20706f6c795b695d2e78202b206f783b0a0909636f6e7374207969203d20706f6c795b695d2e79202b206f793b0a0909636f6e737420786a203d20706f6c795b6a5d2e78202b206f783b0a0909636f6e737420796a203d20706f6c795b6a5d2e79202b206f793b0a0a0909636f6e737420696e74657273656374203d0a09090928287969203e2070792920213d3d2028796a203e20707929292026260a090909287078203c2028786a202d20786929202a20287079202d20796929202f2028796a202d20796929202b207869293b0a0a090969662028696e746572736563742920696e73696465203d2021696e736964653b0a097d0a0972657475726e20696e736964653b0a7d0a0a2f2f53415420636f6c6c73696f6e20706f6c7920767320706f6c790a66756e6374696f6e2073617428706f6c79412c20706f6c794229207b0a096c6574206f7665726c6170203d20496e66696e6974793b0a096c657420736d616c6c65737441786973203d206e756c6c3b0a0a092f2f207465737420626f746820706f6c79676f6e73272065646765730a09666f722028636f6e737420706f6c79206f66205b706f6c79412c20706f6c79425d29207b0a0909666f7220286c65742069203d20303b2069203c20706f6c792e6c656e6774683b20692b2b29207b0a090909636f6e7374207031203d20706f6c795b695d3b0a090909636f6e7374207032203d20706f6c795b2869202b203129202520706f6c792e6c656e6774685d3b0a0a0909092f2f2065646765206e6f726d616c0a090909636f6e7374206e78203d2070322e79202d2070312e793b0a090909636f6e7374206e79203d202d2870322e78202d2070312e78293b0a0a0909096c6574205b6d696e412c206d6178415d203d2070726f6a65637428706f6c79412c206e782c206e79293b0a0909096c6574205b6d696e422c206d6178425d203d2070726f6a65637428706f6c79422c206e782c206e79293b0a0a090909696620286d617841203c206d696e42207c7c206d617842203c206d696e41292072657475726e206e756c6c3b0a0a090909636f6e7374206f203d204d6174682e6d696e286d6178412c206d61784229202d204d6174682e6d6178286d696e412c206d696e42293b0a090909696620286f203c206f7665726c617029207b0a090909096f7665726c6170203d206f3b0a09090909736d616c6c65737441786973203d207b20783a206e782c20793a206e79207d3b0a0909097d0a09097d0a097d0a0a092f2f206e6f726d616c697a6520617869730a09636f6e7374206c656e203d204d6174682e6879706f7428736d616c6c657374417869732e782c20736d616c6c657374417869732e79293b0a0972657475726e207b0a09096f7665726c61702c0a09096e783a20736d616c6c657374417869732e78202f206c656e2c0a09096e793a20736d616c6c657374417869732e79202f206c656e0a097d3b0a7d0a0a66756e6374696f6e2070726f6a65637428706f6c792c206e782c206e7929207b0a096c6574206d696e203d20496e66696e6974792c206d6178203d202d496e66696e6974793b0a09666f722028636f6e73742070206f6620706f6c7929207b0a0909636f6e737420646f74203d20702e78202a206e78202b20702e79202a206e793b0a090969662028646f74203c206d696e29206d696e203d20646f743b0a090969662028646f74203e206d617829206d6178203d20646f743b0a097d0a0972657475726e205b6d696e2c206d61785d3b0a7d0a0a66756e6374696f6e20706c617965724275696c64696e67436f6c6c6973696f6e2829207b0a09636f6e73742070203d2067616d652e706c617965723b0a09636f6e73742070506f6c79203d20676574576f726c64506f6c792870293b0a0a09666f722028636f6e7374206f626a206f662067616d652e626173657329207b0a0909636f6e7374206f506f6c79203d20676574576f726c64506f6c79286f626a293b0a0909636f6e73742070656e203d207361742870506f6c792c206f506f6c79293b0a0a0909696620282170656e2920636f6e74696e75653b0a09096966202870656e2e6f7665726c6170203c20302e312920636f6e74696e75653b0a0a0909636f6e73742070757368203d204d6174682e6d696e2870656e2e6f7665726c61702c2033293b0a0a09092f2f20766563746f722066726f6d206f62737461636c652063656e74657220746f20706c617965722063656e7465720a0909636f6e7374206478203d20702e78202d206f626a2e783b0a0909636f6e7374206479203d20702e79202d206f626a2e793b0a0a09092f2f20666c6970206e6f726d616c20736f20697420616c7761797320706f696e7473206f7574776172640a09096c6574206e78203d2070656e2e6e783b0a09096c6574206e79203d2070656e2e6e793b0a0909696620286478202a206e78202b206479202a206e79203c203029207b0a0909096e78203d202d6e783b0a0909096e79203d202d6e793b0a09097d0a0a09092f2f2070757368206f75740a0909702e78202b3d206e78202a20707573683b0a0909702e79202b3d206e79202a20707573683b0a097d0a7d0a66756e6374696f6e20706c617965725465727261696e436f6c6c6973696f6e2829207b0a20202020636f6e73742070203d2067616d652e706c617965723b0a20202020636f6e73742070506f6c79203d20676574576f726c64506f6c792870293b0a0a20202020666f722028636f6e7374206f626a206f6620776f726c644f626a6563747329207b0a2020202020202020636f6e7374206f506f6c79203d20676574576f726c64506f6c79286f626a293b0a2020202020202020636f6e73742070656e203d207361742870506f6c792c206f506f6c79293b0a0a2020202020202020696620282170656e2920636f6e74696e75653b0a20202020202020206966202870656e2e6f7665726c6170203c20302e312920636f6e74696e75653b0a0a2020202020202020636f6e73742070757368203d204d6174682e6d696e2870656e2e6f7665726c61702c2033293b0a0a20202020202020202f2f20766563746f722066726f6d206f62737461636c652063656e74657220746f20706c617965722063656e7465720a2020202020202020636f6e7374206478203d20702e78202d206f626a2e783b0a2020202020202020636f6e7374206479203d20702e79202d206f626a2e793b0a0a20202020202020202f2f20666c6970206e6f726d616c20736f20697420616c7761797320706f696e7473206f7574776172640a20202020202020206c6574206e78203d2070656e2e6e783b0a20202020202020206c6574206e79203d2070656e2e6e793b0a2020202020202020696620286478202a206e78202b206479202a206e79203c203029207b0a2020202020202020202020206e78203d202d6e783b0a2020202020202020202020206e79203d202d6e793b0a20202020202020207d0a0a20202020202020202f2f2070757368206f75740a2020202020202020702e78202b3d206e78202a20707573683b0a2020202020202020702e79202b3d206e79202a20707573683b0a202020207d0a7d0a0a66756e6374696f6e206170706c7941495374656572696e674166746572436f6c6c6973696f6e28652c206e782c206e7929207b0a09636f6e737420686974416e676c65203d204d6174682e6174616e32286e792c206e78293b0a096c65742064696666203d20686974416e676c65202d20652e616e676c653b0a0964696666203d204d6174682e6174616e32284d6174682e73696e2864696666292c204d6174682e636f73286469666629293b0a0a09652e616e676c65202b3d2064696666202a20302e31353b202f2f20737465657220617761790a7d0a66756e6374696f6e2061695465727261696e436f6c6c6973696f6e2829207b0a20202020666f722028636f6e7374206f626a206f6620776f726c644f626a6563747329207b0a0909666f722028636f6e73742065206f662067616d652e656e656d69657329207b0a090909636f6e7374206f506f6c79203d20676574576f726c64506f6c79286f626a293b0a090909636f6e7374206169506f6c79203d20676574576f726c64506f6c792865293b0a090909636f6e73742070656e203d20736174286169506f6c792c206f506f6c79293b0a0a090909696620282170656e2920636f6e74696e75653b0a0909096966202870656e2e6f7665726c6170203c20302e312920636f6e74696e75653b0a0a090909636f6e73742070757368203d204d6174682e6d696e2870656e2e6f7665726c61702c2033293b0a0a0909092f2f20766563746f722066726f6d206f62737461636c652063656e74657220746f20706c617965722063656e7465720a090909636f6e7374206478203d20652e78202d206f626a2e783b0a090909636f6e7374206479203d20652e79202d206f626a2e793b0a0a0909092f2f20666c6970206e6f726d616c20736f20697420616c7761797320706f696e7473206f7574776172640a0909096c6574206e78203d2070656e2e6e783b0a0909096c6574206e79203d2070656e2e6e793b0a090909696620286478202a206e78202b206479202a206e79203c203029207b0a090909096e78203d202d6e783b0a090909096e79203d202d6e793b0a0909097d0a0a0909092f2f2070757368206f75740a090909652e78202b3d206e78202a20707573683b0a090909652e79202b3d206e79202a20707573683b0a0a0909096170706c7941495374656572696e674166746572436f6c6c6973696f6e28652c206e782c206e79293b0a09097d0a202020207d0a7d0a0a66756e6374696f6e206169506c61796572436f6c6c6973696f6e2829207b0a09636f6e73742070506f6c79203d20676574576f726c64506f6c792867616d652e706c61796572293b0a09666f722028636f6e7374206f626a206f662067616d652e656e656d69657329207b0a0909636f6e7374206169506f6c79203d20676574576f726c64506f6c79286f626a293b2020200a0a0909636f6e73742070656e203d20736174286169506f6c792c2070506f6c79293b0a0909696620282170656e207c7c2070656e2e6f7665726c6170203c20302e312920636f6e74696e75653b0a0a0909636f6e737420616950757368203d204d6174682e6d696e2870656e2e6f7665726c61702c206f626a2e776569676874293b0a0909636f6e7374207050757368203d204d6174682e6d696e2870656e2e6f7665726c61702c2035293b0a09090a09092f2f20766563746f722066726f6d20706c6179657220746f2041490a0909636f6e7374206478203d206f626a2e78202d2067616d652e706c617965722e783b0a0909636f6e7374206479203d206f626a2e79202d2067616d652e706c617965722e793b0a0a09096c6574206e78203d2070656e2e6e783b0a09096c6574206e79203d2070656e2e6e793b0a09090a09090a09090a09092f2f20706c6179657220414920617761792066726f6d2041490a090967616d652e706c617965722e78202b3d206e78202a206169507573683b0a090967616d652e706c617965722e79202b3d206e79202a206169507573683b0a09090a0909696620286478202a206e78202b206479202a206e79203c203029207b0a0909096e78203d202d6e783b0a0909096e79203d202d6e793b0a09097d0a0a09092f2f207075736820414920617761792066726f6d20706c617965720a09096f626a2e78202b3d206e78202a2070507573683b0a09096f626a2e79202b3d206e79202a2070507573683b0a097d0a7d0a0a66756e6374696f6e20616956734169436f6c6c6973696f6e2829207b0a09666f7220286c65742069203d20303b2069203c2067616d652e656e656d6965732e6c656e6774683b20692b2b29207b0a0909666f7220286c6574206a203d2069202b20313b206a203c2067616d652e656e656d6965732e6c656e6774683b206a2b2b29207b0a0a090909636f6e73742061203d2067616d652e656e656d6965735b695d3b0a090909636f6e73742062203d2067616d652e656e656d6965735b6a5d3b0a0a090909636f6e73742061506f6c79203d20676574576f726c64506f6c792861293b0a090909636f6e73742062506f6c79203d20676574576f726c64506f6c792862293b0a0a090909636f6e73742070656e203d207361742861506f6c792c2062506f6c79293b0a090909696620282170656e207c7c2070656e2e6f7665726c6170203c20302e312920636f6e74696e75653b0a0a090909636f6e73742070757368203d204d6174682e6d696e2870656e2e6f7665726c61702c2033293b0a0a0909092f2f20766563746f722066726f6d206220746f20610a090909636f6e7374206478203d20612e78202d20622e783b0a090909636f6e7374206479203d20612e79202d20622e793b0a0a0909096c6574206e78203d2070656e2e6e783b0a0909096c6574206e79203d2070656e2e6e793b0a0a090909696620286478202a206e78202b206479202a206e79203c203029207b0a090909096e78203d202d6e783b0a090909096e79203d202d6e793b0a0909097d0a0a0909092f2f2073706c697420707573682035302f35300a090909612e78202b3d206e78202a2070757368202a20302e353b0a090909612e79202b3d206e79202a2070757368202a20302e353b0a0a090909622e78202d3d206e78202a2070757368202a20302e353b0a090909622e79202d3d206e79202a2070757368202a20302e353b0a09097d0a097d0a7d0a0a66756e6374696f6e2070726f6a656374696c65436f6c6c6973696f6e2829207b0a0a092f2f202d2d2d20436f6c6c6973696f6e20636865636b73202d2d2d0a09666f7220286c65742070206f662067616d652e70726f6a656374696c657329207b0a0a09092f2f2042756c6c657420767320506c617965720a090969662028702e74797065203d3d3d2022656e656d7922207c7c20702e74797065203d3d3d202274616e6b2229207b0a09090969662028706f696e74496e506f6c7928702e782c20702e792c2067616d652e706c617965722e706f6c792c2067616d652e706c617965722e782c2067616d652e706c617965722e792929207b0a0909090967616d652e706c617965722e6870202d3d20702e64616d6167653b0a09090909702e6c696665203d20303b0a0a090909096966202867616d652e706c617965722e6870203c3d203029207b0a09090909097366784578706c6f73696f6e28293b0a090909090967616d652e706c617965722e64656164203d20747275653b0a0909090909737061776e5061727469636c65732867616d652e706c617965722e782c2067616d652e706c617965722e792c203230293b0a09090909090a090909097d0a0909097d0a09097d0a0a09092f2f2042756c6c657420767320456e656d6965730a0909666f7220286c65742065206f662067616d652e656e656d69657329207b0a0909096966202828702e74797065203d3d3d2022706c6179657222207c7c20702e74797065203d3d3d202274757272657422292026260a09090909706f696e74496e506f6c7928702e782c20702e792c20652e706f6c792c20652e782c20652e792929207b0a0a09090909652e6870202d3d20702e64616d6167653b0a09090909702e6c696665203d20303b0a0a0909090969662028652e6870203c3d203029207b0a09090909097366784578706c6f73696f6e28293b0a0909090909652e64656164203d20747275653b0a0909090909737061776e5061727469636c657328652e782c20652e792c203230293b0a090909097d0a0909097d0a09097d0a0a09092f2f2042756c6c65742076732042617365730a0909666f7220286c65742062206f662067616d652e626173657329207b0a09090969662028702e7479706520213d3d2022706c617965722220262620702e7479706520213d3d20227475727265742229636f6e74696e75653b0a090909636f6e73742062506f6c79203d20676574576f726c64506f6c792862293b0a090909696628706f696e74496e506f6c7928702e782c20702e792c2062506f6c792929207b0a0a09090909622e6870202d3d20702e64616d6167650a09090909702e6c696665203d20303b0a0a0909090969662028622e6870203c3d203029207b0a09090909097366784578706c6f73696f6e28293b0a0909090909622e64656164203d20747275653b0a0909090909737061776e46697265776f726b7328622e782c20622e792c203430293b0a090909097d0a0909097d0a0909090a09097d0a0a09092f2f2042756c6c6574207673205465727261696e0a0909666f7220286c6574206f626a206f6620776f726c644f626a6563747329207b0a09090969662028706f696e74496e506f6c7928702e782c20702e792c206f626a2e706f6c792c206f626a2e782c206f626a2e792929207b0a09090909702e6c696665203d20303b0a0a0909090969662028702e7479706520213d3d2022706c617965722220262620702e7479706520213d3d2022747572726574222920636f6e74696e75653b0a0a090909096f626a2e6870202d3d20702e64616d6167653b0a0a09090909696620286f626a2e6870203c3d203029207b0a09090909096f626a2e64656164203d20747275653b0a0909090909737061776e5061727469636c6573286f626a2e782c206f626a2e792c203132293b0a090909097d0a0909097d0a09097d0a097d0a0a092f2f202d2d2d20436c65616e7570202d2d2d0a0967616d652e656e656d696573203d2067616d652e656e656d6965732e66696c7465722865203d3e2021652e64656164293b0a0967616d652e6261736573203d2067616d652e62617365732e66696c7465722862203d3e2021622e64656164293b0a09776f726c644f626a65637473203d20776f726c644f626a656374732e66696c746572286f203d3e20216f2e64656164293b0a0967616d652e70726f6a656374696c6573203d2067616d652e70726f6a656374696c65732e66696c7465722870203d3e20702e6c696665203e2030293b0a7d2a2f
dURL 636f6c6c6973696f6e2e6a73
descrHdr 436f6c6c6973696f6e204a532066696c65
dislikes 0
docType 54454c412d4a532d31
docVersion 312e302e30
fileCheckC 32323962643739386564353762326530386662626236616465313630383866616238396338646261343936363264373236333864653366323662383431383262
fileCheckS 3865386137653139393939306162623830326566666537383231383832373834343265373164386432656164386336663537366666313738663736623030
hash 39336462363430623438643562326230313039353737326235353536326562346631363965396465386336636138623431643730386664626662663362323866
iconURLHdr
likes 0
nameHdr 636f6c6c6973696f6e2e6a73
owner 6465726f317179347966376335373777717a767a7134347833306c7967686135776a7a377772687736646e76356e337071346634643761716c75717133306d37616b
subDir

Transaction Information

Root Hash
Built Height
7138507
Block
Timestamp
1780514179646
Timestamp (UTC)
2026-06-03 19:16:19
Block Age
5h 56m ago
Fee
0.13486
TX Size
10.375 kB
Version
1
Confirmations
1159
Signature Type
DERO_HOMOMORPHIC

DERO Asset

2
Ring Size
0.13486
Fees
0.00000
Deposited
Sender
dero1qy4yf7c577wqzvzq44x30lygha5wjz7wrhw6dnv5n3pq4f4d7aqluqq30m7ak

Ring Members (2)

Smart Contract Details

SC Balance
0.00000 DERO

Smart Contract Code

Smart Contract Arguments

Name Type Value
SC_ACTION uint64 1
SC_CODE string "// 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", "collision.js") 31 STORE("descrHdr", "Collision JS file") 32 STORE("iconURLHdr", "") 33 STORE("dURL", "collision.js") 34 STORE("docType", "TELA-JS-1") 35 STORE("subDir", "") 36 STORE("fileCheckC", "229bd798ed57b2e08fbbb6ade16088fab89c8dba49662d72638de3f26b84182b") 37 STORE("fileCheckS", "8e8a7e199990abb802effe782188278442e71d8d2ead8c6f576ff178f76b00") 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 /*//-------------------- // Collision detection function collision(){ playerTerrainCollision(); playerBuildingCollision(); aiPlayerCollision(); aiVsAiCollision(); aiTerrainCollision(); projectileCollision(); } function circleHit(ax, ay, ar, bx, by, br) { const dx = ax - bx; const dy = ay - by; return dx*dx + dy*dy <= (ar + br) * (ar + br); } function polyCircleHit(poly, cx, cy, r) { // center inside poly if (pointInPoly(cx, cy, poly)) return true; // edge distance for (let i = 0; i < poly.length; i++) { const a = poly[i]; const b = poly[(i+1) % poly.length]; if (pointLineDistance(cx, cy, a.x, a.y, b.x, b.y) <= r) return true; } return false; } function aabbHit(a, b) { return ( a.x < b.x + b.w && a.x + a.w > b.x && a.y < b.y + b.h && a.y + a.h > b.y ); } function pointInPoly(px, py, poly, ox=0, oy=0) { let inside = false; for (let i = 0, j = poly.length - 1; i < poly.length; j = i++) { const xi = poly[i].x + ox; const yi = poly[i].y + oy; const xj = poly[j].x + ox; const yj = poly[j].y + oy; const intersect = ((yi > py) !== (yj > py)) && (px < (xj - xi) * (py - yi) / (yj - yi) + xi); if (intersect) inside = !inside; } return inside; } //SAT collsion poly vs poly function sat(polyA, polyB) { let overlap = Infinity; let smallestAxis = null; // test both polygons' edges for (const poly of [polyA, polyB]) { for (let i = 0; i < poly.length; i++) { const p1 = poly[i]; const p2 = poly[(i + 1) % poly.length]; // edge normal const nx = p2.y - p1.y; const ny = -(p2.x - p1.x); let [minA, maxA] = project(polyA, nx, ny); let [minB, maxB] = project(polyB, nx, ny); if (maxA < minB || maxB < minA) return null; const o = Math.min(maxA, maxB) - Math.max(minA, minB); if (o < overlap) { overlap = o; smallestAxis = { x: nx, y: ny }; } } } // normalize axis const len = Math.hypot(smallestAxis.x, smallestAxis.y); return { overlap, nx: smallestAxis.x / len, ny: smallestAxis.y / len }; } function project(poly, nx, ny) { let min = Infinity, max = -Infinity; for (const p of poly) { const dot = p.x * nx + p.y * ny; if (dot < min) min = dot; if (dot > max) max = dot; } return [min, max]; } function playerBuildingCollision() { const p = game.player; const pPoly = getWorldPoly(p); for (const obj of game.bases) { const oPoly = getWorldPoly(obj); const pen = sat(pPoly, oPoly); if (!pen) continue; if (pen.overlap < 0.1) continue; const push = Math.min(pen.overlap, 3); // vector from obstacle center to player center const dx = p.x - obj.x; const dy = p.y - obj.y; // flip normal so it always points outward let nx = pen.nx; let ny = pen.ny; if (dx * nx + dy * ny < 0) { nx = -nx; ny = -ny; } // push out p.x += nx * push; p.y += ny * push; } } function playerTerrainCollision() { const p = game.player; const pPoly = getWorldPoly(p); for (const obj of worldObjects) { const oPoly = getWorldPoly(obj); const pen = sat(pPoly, oPoly); if (!pen) continue; if (pen.overlap < 0.1) continue; const push = Math.min(pen.overlap, 3); // vector from obstacle center to player center const dx = p.x - obj.x; const dy = p.y - obj.y; // flip normal so it always points outward let nx = pen.nx; let ny = pen.ny; if (dx * nx + dy * ny < 0) { nx = -nx; ny = -ny; } // push out p.x += nx * push; p.y += ny * push; } } function applyAISteeringAfterCollision(e, nx, ny) { const hitAngle = Math.atan2(ny, nx); let diff = hitAngle - e.angle; diff = Math.atan2(Math.sin(diff), Math.cos(diff)); e.angle += diff * 0.15; // steer away } function aiTerrainCollision() { for (const obj of worldObjects) { for (const e of game.enemies) { const oPoly = getWorldPoly(obj); const aiPoly = getWorldPoly(e); const pen = sat(aiPoly, oPoly); if (!pen) continue; if (pen.overlap < 0.1) continue; const push = Math.min(pen.overlap, 3); // vector from obstacle center to player center const dx = e.x - obj.x; const dy = e.y - obj.y; // flip normal so it always points outward let nx = pen.nx; let ny = pen.ny; if (dx * nx + dy * ny < 0) { nx = -nx; ny = -ny; } // push out e.x += nx * push; e.y += ny * push; applyAISteeringAfterCollision(e, nx, ny); } } } function aiPlayerCollision() { const pPoly = getWorldPoly(game.player); for (const obj of game.enemies) { const aiPoly = getWorldPoly(obj); const pen = sat(aiPoly, pPoly); if (!pen || pen.overlap < 0.1) continue; const aiPush = Math.min(pen.overlap, obj.weight); const pPush = Math.min(pen.overlap, 5); // vector from player to AI const dx = obj.x - game.player.x; const dy = obj.y - game.player.y; let nx = pen.nx; let ny = pen.ny; // player AI away from AI game.player.x += nx * aiPush; game.player.y += ny * aiPush; if (dx * nx + dy * ny < 0) { nx = -nx; ny = -ny; } // push AI away from player obj.x += nx * pPush; obj.y += ny * pPush; } } function aiVsAiCollision() { for (let i = 0; i < game.enemies.length; i++) { for (let j = i + 1; j < game.enemies.length; j++) { const a = game.enemies[i]; const b = game.enemies[j]; const aPoly = getWorldPoly(a); const bPoly = getWorldPoly(b); const pen = sat(aPoly, bPoly); if (!pen || pen.overlap < 0.1) continue; const push = Math.min(pen.overlap, 3); // vector from b to a const dx = a.x - b.x; const dy = a.y - b.y; let nx = pen.nx; let ny = pen.ny; if (dx * nx + dy * ny < 0) { nx = -nx; ny = -ny; } // split push 50/50 a.x += nx * push * 0.5; a.y += ny * push * 0.5; b.x -= nx * push * 0.5; b.y -= ny * push * 0.5; } } } function projectileCollision() { // --- Collision checks --- for (let p of game.projectiles) { // Bullet vs Player if (p.type === "enemy" || p.type === "tank") { if (pointInPoly(p.x, p.y, game.player.poly, game.player.x, game.player.y)) { game.player.hp -= p.damage; p.life = 0; if (game.player.hp <= 0) { sfxExplosion(); game.player.dead = true; spawnParticles(game.player.x, game.player.y, 20); } } } // Bullet vs Enemies for (let e of game.enemies) { if ((p.type === "player" || p.type === "turret") && pointInPoly(p.x, p.y, e.poly, e.x, e.y)) { e.hp -= p.damage; p.life = 0; if (e.hp <= 0) { sfxExplosion(); e.dead = true; spawnParticles(e.x, e.y, 20); } } } // Bullet vs Bases for (let b of game.bases) { if (p.type !== "player" && p.type !== "turret")continue; const bPoly = getWorldPoly(b); if(pointInPoly(p.x, p.y, bPoly)) { b.hp -= p.damage p.life = 0; if (b.hp <= 0) { sfxExplosion(); b.dead = true; spawnFireworks(b.x, b.y, 40); } } } // Bullet vs Terrain for (let obj of worldObjects) { if (pointInPoly(p.x, p.y, obj.poly, obj.x, obj.y)) { p.life = 0; if (p.type !== "player" && p.type !== "turret") continue; obj.hp -= p.damage; if (obj.hp <= 0) { obj.dead = true; spawnParticles(obj.x, obj.y, 12); } } } } // --- Cleanup --- game.enemies = game.enemies.filter(e => !e.dead); game.bases = game.bases.filter(b => !b.dead); worldObjects = worldObjects.filter(o => !o.dead); game.projectiles = game.projectiles.filter(p => p.life > 0); }*/"

Prove Transaction

Prove that you sent DERO in this transaction. Obtain proof using the dero-wallet-cli command or from your wallet statement.

Note: The proof is sent to the server for verification calculations. Payload proofs are user-provided display proofs; for the strongest verification, confirm with the receiving wallet.

Raw Transaction Data