Network Difficulty
15627440
Hash Rate
15.000 MH/s
Avg Block Time
18.64124s
Total Supply
14508197
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 2f2f2020436f7079726967687420323032342e20436976696c776172652e20416c6c207269676874732072657365727665642e0a2f2f202054454c4120446563656e7472616c697a65642057656220446f63756d656e74202854454c412d444f432d31290a46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c202261692e6a7322290a33312053544f524528226465736372486472222c202241492066696c6522290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c202261692e6a7322290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c202233336436336533643833356338623732393434363135356431663736393538333363663662373465663433333739336533333334646465393434663038353222290a33372053544f5245282266696c65436865636b53222c202264666134356632633834323663343331353736313539306665636435313032386638316138306461336532343135313936333035313238333736336532303222290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a2f2f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a2f2f2055706461746520456e7469746965730a636f6e737420656e656d795369676874203d20313030303b0a66756e6374696f6e20757064617465456e656d79414928656e656d7929207b0a0a0969662028656e656d792e7374617465203d3d3d20226479696e6722207c7c2028656e656d792e7374617465203d3d3d2022646561642229292072657475726e3b090a0a0969662028656e656d792e7374756e203e203029207b0a0909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a0909656e656d792e6d6f76655374617465203d202269646c65223b0a0909726573657441747461636b7328656e656d79293b0a090972657475726e3b0a097d200a0a09636f6e7374206478203d2067616d652e706c617965722e78202d20656e656d792e783b0a09636f6e7374206479203d2067616d652e706c617965722e79202d20656e656d792e793b0a09636f6e73742064697374203d204d6174682e6879706f742864782c206479293b20090a0969662864697374203e20656e656d795369676874297b200a0909656e656d792e6d6f7665496e707574203d20303b0a0909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a0909656e656d792e6d6f76655374617465203d202269646c65223b0a0909726573657441747461636b7328656e656d79290a090972657475726e3b0a097d2020202020200a0a0969662028656e656d792e61747461636b436f6f6c646f776e203e20302920656e656d792e61747461636b436f6f6c646f776e202d3d2064742f313030303b0a0969662028656e656d792e6a756d70436f6f6c646f776e203e20302920656e656d792e6a756d70436f6f6c646f776e202d3d2064742f313030303b0a0969662028656e656d792e666163654c6f636b54696d6572203e20302920656e656d792e666163654c6f636b54696d6572202d3d2064742f313030303b0a0969662028656e656d792e666163654c6f636b54696d6572203c3d203029207b0a0909656e656d792e666163696e67203d20286478203c2030203f202d31203a2031293b0a097d090a0a09636f6e7374207b207365676d656e743a20706c617965725365676d656e742c20706c6174666f726d3a20706c61796572506c6174666f726d207d203d20676574506c6174666f726d556e6465722867616d652e706c61796572293b0a09636f6e7374207b207365676d656e743a20656e656d795365676d656e742c2020706c6174666f726d3a20656e656d79506c6174666f726d20207d203d20676574506c6174666f726d556e64657228656e656d79293b0a0a09636f6e737420706c6179657241626f7665203d2067616d652e706c617965722e79203c20656e656d792e79202d2034303b0a096c65742077616c6c536567203d206e756c6c3b0a0a092f2f202d2d2d20504c4154464f524d204e415649474154494f4e202d2d2d0a092f2f202d2d2d2044524f5020444f574e204c4f474943202d2d2d0a0969662028656e656d79506c6174666f726d297b0a09090a0909696628656e656d79506c6174666f726d2e696420213d20656e656d792e6f6e506c6174666f726d297b0a090909656e656d792e626c6f636b65645269676874203d2066616c73650a090909656e656d792e626c6f636b65644c656674203d2066616c73650a090909656e656d792e626c6f636b656450203d206e756c6c0a090909656e656d792e6f6e506c6174666f726d20203d20656e656d79506c6174666f726d2e69643b0a09097d0a090977616c6c536567203d2064657465637457616c6c416865616428656e656d7929090a0a09092f2f20526573657420616c6c20706c6174666f726d20656e656d79206c697374730a0909666f722028636f6e737420706c6174206f662067616d652e706c6174666f726d7329207b0a090909706c61742e656e656d6965732e6c656e677468203d20303b0a0909092f2f2041737369676e20656e656d69657320746f20746865697220706c6174666f726d206c697374730a090909666f722028636f6e73742065206f662067616d652e656e656d69657329207b0a0909090969662028652e6f6e506c6174666f726d203d3d3d20706c61742e696429207b0a0909090909706c61742e656e656d6965732e707573682865293b0a090909097d0a0909097d0909090a090909636f6e73742072616e6765203d2036303b202f2f206f72207768617465766572206665656c732072696768740a090909666f722028636f6e7374206f74686572206f6620706c61742e656e656d69657329207b0a09090909696620286f74686572203d3d3d20656e656d79207c2021656e656d792e6f6e47726f756e64207c20216f746865722e6f6e47726f756e64207c206f746865722e6f6e506c6174666f726d20213d3d20656e656d792e6f6e506c6174666f726d207c206f746865722e7374617465203d3d3d20226465616422207c206f746865722e7374617465203d3d3d20226479696e67222920636f6e74696e75653b0a0a09090909636f6e7374206478203d204d6174682e616273286f746865722e78202d20656e656d792e78293b0a09090909696620286478203c3d2072616e676529207b0a090909090969662028656e656d792e626c6f636b65644c656674297b20206f746865722e626c6f636b65644c65667420203d20747275653b206f746865722e626c6f636b6564526967687420203d2066616c73653b20656e656d792e626c6f636b656450203d20706c61742e69643b7d0a090909090969662028656e656d792e626c6f636b65645269676874297b20206f746865722e626c6f636b6564526967687420203d20747275653b206f746865722e626c6f636b65644c65667420203d2066616c73653b20656e656d792e626c6f636b656450203d20706c61742e69643b7d0a090909097d0a0909097d0a09097d0a0a0909636f6e737420706c6179657242656c6f77506c6174666f726d203d206973506c6179657242656c6f77506c6174666f726d28656e656d79506c6174666f726d29090a09090a0909696628656e656d792e7479706520213d3d20226772756e74222026262069734e65617245646765466163696e6728656e656d792c20656e656d79506c6174666f726d2c20313029297b0a09090909656e656d792e6d6f7665496e707574203d20303b0a09090909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a09090909656e656d792e6d6f76655374617465203d202269646c65223b0a09090909726573657441747461636b7328656e656d79293b0a0909090972657475726e3b200a0909097d0a09090a0a09090a09092f2f20696620706c617965722069732062656c6f772c206d6f7665206f666620636c6f7365737420656467650a090969662028706c6179657242656c6f77506c6174666f726d29207b0a090909636f6e7374206c6566744564676520203d20656e656d79506c6174666f726d2e6d696e583b0a090909636f6e737420726967687445646765203d20656e656d79506c6174666f726d2e6d6178583b0a0a090909636f6e73742064697374546f4c65667420203d204d6174682e6162732867616d652e706c617965722e78202d206c65667445646765293b0a090909636f6e73742064697374546f5269676874203d204d6174682e6162732867616d652e706c617965722e78202d20726967687445646765293b0a0a090909636f6e73742074617267657445646765203d202864697374546f4c656674203c2064697374546f526967687429203f206c65667445646765203a207269676874456467653b0a090909636f6e7374206d6f7665203d204d6174682e7369676e2874617267657445646765202d20656e656d792e78293b0a090909696628656e656d792e7479706520213d3d20226772756e742220297b0a090909096966286d6f766520213d3d204d6174682e7369676e2867616d652e706c617965722e78202d20656e656d792e78297c7c202169734e65617245646765466163696e6728656e656d792c20656e656d79506c6174666f726d2c2031302920297b2f2f2626204d6174682e616273286478293e3429636865636b2064697374616e6365206865726528666f7220736c6f706573290a090909090970757273756528656e656d792c2064782c20656e656d795365676d656e742c20706c61796572506c6174666f726d2c2077616c6c536567293b0a090909097d656c73657b0a09090909656e656d792e6d6f7665496e707574203d20303b0a09090909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a09090909656e656d792e6d6f76655374617465203d202269646c65223b0a090909097d0a09090909726573657441747461636b7328656e656d79293b0a0909090972657475726e3b200a0909097d656c73657b0a090909092f2f204d6f766520746f77617264207468617420656467650a09090909656e656d792e6d6f7665496e707574203d206d6f76653b0a09090909656e656d792e666163696e67203d20656e656d792e6d6f7665496e7075743b0a09090909696628646972656374696f6e426c6f636b656428656e656d7929297b0a0909090909656e656d792e666163696e67203d202d656e656d792e6d6f7665496e7075743b0a0909090909656e656d792e6d6f7665496e707574203d20656e656d792e666163696e673b0a090909097d09090a090909090a090909092f2f20424f4f53543a20656e7375726520746865792061637475616c6c792066616c6c206f66660a090909096966202869734e656172506c6174666f726d4564676528656e656d792c20656e656d79506c6174666f726d2c2031302920262620697353616665546f44726f7028656e656d792929207b0a0909090909656e656d792e666163654c6f636b54696d6572203d202e37353b0a0909090909656e656d792e7678203d20656e656d792e666163696e67202a20656e656d792e7370656564202a20312e323b202f2f20736d616c6c20707573680a0909090909656e656d792e7679203d202d302e343b202f2f2074696e7920686f702075707761726420746f20627265616b20706c6174666f726d20676c75650a0909090909656e656d792e696e416972203d20747275653b0a0909090909656e656d792e6f6e47726f756e64203d2066616c73653b0a090909097d0a0909097d0a09090972657475726e3b0a0909090a09097d0a09090a090969662028706c6179657241626f76652920207b0a0909090a0909092f2f20646f6e277420676574206c6564206f66662074686520656467650a090909696628706c617965725365676d656e74297b0a090909092f2f206966206e65617220656467652c20636865636b2069662061626c6520746f206a756d702075702c206966206e6f742c2073746f700a090909090a0a090909096966202869734e65617245646765466163696e6728656e656d792c20656e656d79506c6174666f726d2c2031322929207b0909090a0909090909696620287472794a756d7041626f766528656e656d792c656e656d795365676d656e74292972657475726e3b090a090909090969662821697353616665546f44726f7028656e656d7929297b0a0909090909656e656d792e6d6f7665496e707574203d20303b0a0909090909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a0909090909656e656d792e6d6f76655374617465203d202269646c65223b0a090909090972657475726e3b0a09090909097d0a090909097d090909090a0909097d656c73657b0a090909092f2f6e6f20706c6179657220706c6174666f726d202f207365676d656e740a090909096966202869734e65617245646765466163696e6728656e656d792c20656e656d79506c6174666f726d2c20313229200a090909090929207b0a0909090909656e656d792e6d6f7665496e707574203d20303b0a0909090909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a0909090909656e656d792e6d6f76655374617465203d202269646c65223b0a090909090972657475726e3b0a090909097d0a0909090970757273756528656e656d792c2064782c20656e656d795365676d656e742c20706c61796572506c6174666f726d293b0a0909090972657475726e0a0909097d090a0909090a09097d0a09090a09090a09090a0a09092f2f2054727920746f2067657420746f20706c6179657220706c6174666f726d0a090969662028706c617965725365676d656e7420262620656e656d795365676d656e7420213d3d20706c617965725365676d656e742029207b0a0909096c6574207461726765743b0a090909696628656e656d79506c6174666f726d20213d20706c61796572506c6174666f726d297b0a09090909696628706c6179657241626f7665297b0a0909090909636f6e737420636c6f736573745365676d656e7473203d2066696e64436c6f736573745365676d656e74734265747765656e28656e656d79506c6174666f726d2c20706c61796572506c6174666f726d293b0a0909090909636f6e737420636c6f736573745365676d656e74734d6964506f696e74203d2066696e64436c6f736573745365676d656e74734265747765656e4d6964506f696e747328656e656d79506c6174666f726d2c20706c61796572506c6174666f726d293b09090a0909090909636f6e7374207365676d656e744f766572506c6174666f726d203d206765745365676d656e744f766572506c6174666f726d28656e656d79506c6174666f726d293b0a0909090909636f6e7374207365676d656e744f76657243757272656e745365676d656e74203d206765745365676d656e744f76657243757272656e7428656e656d795365676d656e74290a0909090909636f6e737420626573744a756d705365676d656e74203d2066696e64426573744a756d705365676d656e7428656e656d792c20656e656d79506c6174666f726d2c20706c61796572506c6174666f726d293b090a090909090a0909090909746172676574203d20636c6f736573745365676d656e74732e736567413b0a090909090969662874617267657420213d3d20656e656d795365676d656e74297b09090909090a0909090909090a090909090909696628636c6f736573745365676d656e74732e7365674120213d3d20636c6f736573745365676d656e74734d6964506f696e742e7365674120297b0a090909090909090a090909090909096966287365676d656e744f76657243757272656e745365676d656e74297b0a0909090909090909746172676574203d207365676d656e744f76657243757272656e745365676d656e743b0a090909090909097d656c7365206966287365676d656e744f766572506c6174666f726d297b090909090909090a0909090909090909746172676574203d207365676d656e744f766572506c6174666f726d3b0a090909090909097d0a0909090909097d0a0909090909090a090909090909696628706c6179657241626f766520262620746172676574297b0a090909090909096966202874727954617267657428656e656d792c656e656d795365676d656e742c746172676574292972657475726e3b090909090909090a0909090909097d0a0a0909090909096d6f7665546f776172645365676d656e7428656e656d792c20656e656d79506c6174666f726d2c207461726765742c2077616c6c536567290a09090909090961766f696457616c6c734f6e53616d65506c6174666f726d28656e656d792c2077616c6c536567290a09090909090972657475726e3b0a09090909097d0a09090909090a090909090a0909090909746172676574203d20626573744a756d705365676d656e743b0a09090909096966282174617267657420262620706c6179657241626f7665297b0a090909090909746172676574203d207365676d656e744f76657243757272656e745365676d656e743b0a09090909097d0a09090909096966282174617267657420262620706c6179657241626f7665297b0a090909090909746172676574203d207365676d656e744f766572506c6174666f726d3b0a09090909097d0a09090909090a09090909096966282174617267657420262620636c6f736573745365676d656e74732e73656741203d3d3d20656e656d795365676d656e74297b0a090909090909746172676574203d20636c6f736573745365676d656e74732e736567423b0a09090909097d0a09090909090a09090909096966282169735365676d656e7442656c6f77506c6174666f726d287461726765742c20706c61796572506c6174666f726d29297b0a090909090909746172676574203d20706c617965725365676d656e743b0a09090909097d0a0909090a0a090909090969662874617267657420297b0a090909090909696620287472794a756d7041626f766528656e656d792c656e656d795365676d656e74292972657475726e3b0a09090909090a09090909090969662820747970656f66207365676d656e744f766572506c6174666f726d20213d3d2022756e646566696e656422202626207365676d656e744f766572506c6174666f726d20213d3d6e756c6c297b0a090909090909096966287365676d656e744f766572506c6174666f726d2e706964203d3d3d20706c61796572506c6174666f726d2e6964297b09090909090909090a09090909090909096966286a756d70546f5365676d656e7428656e656d792c656e656d79506c6174666f726d2c7365676d656e744f766572506c6174666f726d2c77616c6c53656729297b0a09090909090909090961766f696457616c6c734f6e53616d65506c6174666f726d28656e656d792c656e656d79506c6174666f726d2c77616c6c53656729090a09090909090909090972657475726e3b0a09090909090909097d09090909090909090a090909090909097d0a0909090909097d0a0a090909090909696628216d6f7665546f776172645365676d656e7428656e656d792c20656e656d79506c6174666f726d2c207461726765742c2077616c6c5365672926267365676d656e744f766572506c6174666f726d297b0a090909090909096d6f7665546f776172645365676d656e7428656e656d792c20656e656d79506c6174666f726d2c207365676d656e744f766572506c6174666f726d2c2077616c6c536567290a0909090909090961766f696457616c6c734f6e53616d65506c6174666f726d28656e656d792c656e656d79506c6174666f726d2c77616c6c53656729090a0909090909090972657475726e0a0909090909097d0a0909090909090a0909090909096966202874727954617267657428656e656d792c656e656d795365676d656e742c746172676574292972657475726e3b0a09090909097d0a090909097d0a090909090a0909097d0a0a0909096966202863616e4a756d70546f5365676d656e7428656e656d792c20656e656d795365676d656e742c20706c617965725365676d656e74292626202169735365676d656e7442656c6f775365676d656e7428706c617965725365676d656e742c20656e656d795365676d656e7429297b2f2f0a09090909696628706c6174666f726d4a756d7028656e656d792c656e656d79506c6174666f726d29292072657475726e3b0a0909097d0a0909090a09090970757273756528656e656d792c2064782c20656e656d795365676d656e742c20706c61796572506c6174666f726d2c2077616c6c536567293b0a09090972657475726e3b0a09097d0a09090a09090a097d0a0a0969662821656e656d792e696e416972297b656e656d792e666163654c6f636b54696d6572203d20303b7d2f2f646f6e27742077616c6b206f66662065646765206966206a757374206c616e646564206f6e20706c6179657220706c6174666f726d0a092f2f2d2d2d2053414d4520504c4154464f524d3a204e4f524d414c2050555253554954202b2041545441434b202d2d2d0a096966202864697374203c20353029207b0a09092f2f2061747461636b206c6f6769632e2e2e0a09096c65742064656c6179203d20302e33202b204d6174682e72616e646f6d2829202a20302e373b202f2f20302e332d312e30207365630a0909696628656e656d792e74797065203d3d3d2022626f737322292064656c6179203d20302e353b0a09092f2f204f6e6c792070756e636820696620636f6f6c646f776e20697320646f6e650a090969662028656e656d792e61747461636b436f6f6c646f776e203c3d203029207b0a0909090a0909090a090909656e656d792e766572746963616c496e707574203d20303b0a090909656e656d792e61747461636b436f6f6c646f776e203d2064656c61793b0a090909696620284d6174682e72616e646f6d2829203c20302e3529207b090909090a09090909656e656d792e77616e7450756e6368203d20747275653b0a0909097d656c73657b0a09090909656e656d792e77616e744b69636b203d20747275653b0a0909097d0a0a0909090909090a0909096966282167616d652e706c617965722e696e4169722026262067616d652e706c617965722e766572746963616c496e707574203c2030297b0a09090909656e656d792e766572746963616c496e707574203d20303b0a0909097d656c736520696620284d6174682e72616e646f6d2829203c20302e35297b0a09090909656e656d792e766572746963616c496e707574203d20303b0a0909097d656c73657b0a09090909656e656d792e766572746963616c496e707574203d20313b0a0909097d0a09097d0a0909696628656e656d792e616e696d2e7374617465203d3d3d202277616c6b2220262620656e656d792e7479706520213d3d2022626f737322297b0a090909726573657441747461636b7328656e656d79290a09097d0a090969662028656e656d792e616e696d2e7374617465203d3d3d202270756e6368222020262620656e656d792e616e696d2e6672616d65203e2061747461636b4672616d65732e70756e63682e656e642029207b0a090909656e656d792e77616e7450756e6368203d2066616c73653b090909090a09097d0a090969662028656e656d792e616e696d2e7374617465203d3d3d20226869676850756e6368222020262620656e656d792e616e696d2e6672616d65203e2061747461636b4672616d65732e6869676850756e63682e656e642029207b0a090909656e656d792e77616e7450756e6368203d2066616c73653b090909090a09097d0a090969662028656e656d792e616e696d2e7374617465203d3d3d20226b69636b222020262620656e656d792e616e696d2e6672616d65203e2061747461636b4672616d65732e6b69636b2e656e642029207b0a090909656e656d792e77616e744b69636b203d2066616c73653b090909090a09097d0a090969662028656e656d792e616e696d2e7374617465203d3d3d2022686967684b69636b222020262620656e656d792e616e696d2e6672616d65203e2061747461636b4672616d65732e686967684b69636b2e656e642029207b0a090909656e656d792e77616e744b69636b203d2066616c73653b090909090a09097d0a09090a0909696628656e656d792e7479706520213d3d2022626f737322297b0a090909656e656d792e6d6f7665496e707574203d20303b0a09097d656c73657b0a09092f2f626f7373200a09090969662028656e656d792e616e696d2e7374617465203d3d3d202277616c6b50756e6368222020262620656e656d792e616e696d2e6672616d65203e2061747461636b4672616d65732e77616c6b50756e63682e656e642029207b0a09090909656e656d792e77616e7450756e6368203d2066616c73653b090909090a0909097d0a09090969662028656e656d792e616e696d2e7374617465203d3d3d202277616c6b4869676850756e6368222020262620656e656d792e616e696d2e6672616d65203e2061747461636b4672616d65732e77616c6b4869676850756e63682e656e642029207b0a09090909656e656d792e77616e7450756e6368203d2066616c73653b090909090a0909097d0a090909696628656e656d792e74797065203d3d3d2022626f7373222026262021656e656d792e77616e7450756e63682029207b200a09090909656e656d792e6d6f7665496e707574203d20303b0a09090909696628656e656d792e616e696d2e7374617465203d3d3d202277616c6b22297b0a0909090909726573657441747461636b7328656e656d79290a090909097d0a0909097d0a09097d0a09092f2f20666f7220617564696f0a0909636f6e73742061747461636b50726573736564203d2028656e656d792e77616e7450756e6368207c7c20656e656d792e77616e744b69636b292026262021656e656d792e7072657641747461636b3b0a0909656e656d792e7072657641747461636b203d20656e656d792e77616e7450756e6368207c7c20656e656d792e77616e744b69636b3b0a09096966202861747461636b5072657373656429207b0a09090973667848756828293b0a09090967616d652e706c617965722e70726576486974203d66616c73653b0a09097d090a097d20656c7365207b09090a090970757273756528656e656d792c2064782c20656e656d795365676d656e742c20706c61796572506c6174666f726d2c2077616c6c536567293b0a097d0a7d0a66756e6374696f6e2069735365676d656e7442656c6f77506c6174666f726d287365672c20706c6174297b0a09666f722028636f6e73742070736567206f6620706c61742e7365676d656e747329207b0a20202020202020202f2f204f7074696f6e616c3a206f6e6c7920747265617420666c6f6f722d74797065207365676d656e747320617320706c6174666f726d20737572666163650a202020202020202069662028707365672e697357616c6c29636f6e74696e75653b0a090969662869735365676d656e7442656c6f775365676d656e74287365672c7073656729292072657475726e20747275653b09090a097d0a0972657475726e2066616c73653b09090a7d0a0a0a0a66756e6374696f6e2070757273756528656e656d792c64782c20656e656d795365676d656e742c20706c61796572506c6174666f726d2c77616c6c536567297b0a096c65742077616c6c4a756d706564203d2066616c73653b0a0969662877616c6c536567297b0a09096966287472794a756d7057616c6c28656e656d792c77616c6c53656729297b0a090909726573657441747461636b7328656e656d79293b0a09090972657475726e0a09097d0a097d0a090a090a09696620286b656570456e656d7953706163696e6728656e656d792929207b0a090909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a090909656e656d792e6d6f76655374617465203d202269646c65223b0a090909656e656d792e6d6f7665496e707574203d20303b0a090972657475726e3b0a097d0a0a0969662028656e656d792e7479706520213d3d20226772756e742220262620656e656d795365676d656e74297b0a0909636f6e737420706c6174203d20676574506c6174666f726d4279496428656e656d792e6f6e506c6174666f726d290a0909696628747970656f6620706c617420213d3d2022756e646566696e656422297b0a09090969662869734e65617245646765466163696e6728656e656d792c706c6174202c20313029297b0a0909090920656e656d792e6d6f7665496e707574203d20303b0a09090909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a09090909656e656d792e6d6f76655374617465203d202269646c65223b090a09090909726573657441747461636b7328656e656d79293b0a0909090972657475726e0a0909097d0a09097d0a09090a097d0a09696628706c61796572506c6174666f726d20262620656e656d795365676d656e74297b0a090969662028706c61796572506c6174666f726d2e6964203d3d3d20656e656d792e6f6e506c6174666f726d297b0a090909636f6e737420626568696e64203d20636f756e74456e656d696573426568696e6428656e656d79293b0a09090969662028626568696e64203e3d203120262620636f756e74456e656d696573416865616428656e656d7929203c20626568696e64202626204d6174682e61627328647829203e3d203530202626204d6174682e61627328647829203c2031303029207b2f2f2626204d6174682e61627328647829203e3d2036350a0909090969662028656e656d792e6f6e47726f756e6420262620656e656d792e6a756d70436f6f6c646f776e203c3d203029207b0a0909090909656e656d792e6d6f7665496e707574203d20656e656d792e666163696e673b0a09090909096a756d7028656e656d79293b0a0909090909656e656d792e6a756d70436f6f6c646f776e203d20312e30202b204d6174682e72616e646f6d2829202a20302e353b0a090909090972657475726e3b0a090909097d0a0909097d0a090909096966280a09090909706c617965724973546872656174656e696e672867616d652e706c617965722920262620656e656d792e6f6e47726f756e642026260a0909090928656e656d792e666163696e67203d3d3d20312026262067616d652e706c617965722e666163696e67203d3d3d202d31207c7c0a09090909656e656d792e666163696e67203d3d3d202d312026262067616d652e706c617965722e666163696e67203d3d3d2031290a0909090929207b0a09090909636f6e7374207361666544697374203d2037303b200a0a09090909696620284d6174682e61627328647829203c20736166654469737429207b0a0909090909656e656d792e6d6f7665496e707574203d20303b0a0909090909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a0909090909656e656d792e6d6f76655374617465203d202269646c65223b0a090909090972657475726e3b0a090909097d0a0909097d0a09097d090a097d0a090a09092f2f206e6f726d616c206d6f76656d656e740a09696620284d6174682e61627328647829203e20332029207b200a0909696628656e656d795365676d656e74202626204d6174682e61627328656e656d795365676d656e742e616e676c6529203e206d6178436c696d62416e676c65297b200a090909656e656d792e6d6f7665496e707574203d20656e656d792e666163696e673b0a0909096a756d7028656e656d79293b0a090909656e656d792e6a756d70436f6f6c646f776e203d20312e30202b204d6174682e72616e646f6d2829202a20302e353b0a09097d656c73657b0a090909656e656d792e6d6f7665496e707574203d20656e656d792e666163696e673b0a090909656e656d792e616e696d2e7374617465203d202277616c6b223b0a09097d0a09090a202020207d20656c736520696628706c61796572506c6174666f726d20262620656e656d795365676d656e74297b0a0909656e656d792e6d6f7665496e707574203d20303b0a0909656e656d792e616e696d2e7374617465203d20226e6f6e65223b0a0909656e656d792e6d6f76655374617465203d202269646c65223b090a202020207d09090a0961766f696457616c6c734f6e53616d65506c6174666f726d28656e656d792c2077616c6c536567290a09726573657441747461636b7328656e656d79290a0a7d0a0a0a66756e6374696f6e206d6f7665546f776172645365676d656e7428656e656d792c656e656d79506c6174666f726d2c7461726765742c2077616c6c536567297b0a090a092f2f2077616c6b20746f776172642069740a096c6574206c656674203d204d6174682e6d696e287461726765742e78312c207461726765742e7832293b0a096c6574207269676874203d204d6174682e6d6178287461726765742e78312c207461726765742e7832293b0a096c65742079746172676574203d204d6174682e6d696e287461726765742e79312c207461726765742e7932293b0a090a09636f6e737420656e656d79506c61744c656674203d204d6174682e6d696e28656e656d79506c6174666f726d2e78312c20656e656d79506c6174666f726d2e7832293b0a09636f6e737420656e656d79506c61745269676874203d204d6174682e6d617828656e656d79506c6174666f726d2e78312c20656e656d79506c6174666f726d2e7832293b0a090a092f2f74617267657420746865206c6f7765722065646765206966207468657265206973206f6e650a096966287461726765742e7931203e207461726765742e7932297b0a09096c656674203d207461726765742e78313b0a09097269676874203d207461726765742e7831202b20383b0a090979746172676574203d207461726765742e79313b0a097d656c7365206966287461726765742e7931203c207461726765742e7932297b0a09096c656674203d207461726765742e7832202d20383b0a09097269676874203d207461726765742e78323b0a090979746172676574203d207461726765742e79323b0a097d0a090a0969662028656e656d792e78203c206c656674202d3820297b2009090a0909656e656d792e6d6f7665496e707574203d20313b0a0909656e656d792e616e696d2e7374617465203d202277616c6b223b0a0909656e656d792e666163696e67203d20656e656d792e6d6f7665496e7075743b09090a09096966287472794a756d7057616c6c28656e656d792c77616c6c536567292972657475726e20747275653b0a097d0a09656c73652069662028656e656d792e78203e207269676874202b3829207b09090a090a0909656e656d792e6d6f7665496e707574203d202d313b0a0909656e656d792e616e696d2e7374617465203d202277616c6b223b0a0909656e656d792e666163696e67203d20656e656d792e6d6f7665496e7075743b090a09096966287472794a756d7057616c6c28656e656d792c77616c6c536567292972657475726e20747275653b09090a097d0a09656c736520696628656e656d792e79202d2079746172676574203c203132382026262021656e656d792e696e4169722026262028656e656d792e6f6e506c6174666f726d20213d3d207461726765742e70696429297b0a09092f2f206469726563746c7920756e646572206974206f7220636c6f736520746f2069742c206a756d70206e657874206368616e63650a09096a756d7028656e656d79293b0a0909656e656d792e6a756d70436f6f6c646f776e203d20312e30202b204d6174682e72616e646f6d2829202a20302e353b0a0909656e656d792e666163654c6f636b54696d6572203d202e353b0a097d656c73657b0a0909656e656d792e6d6f7665496e707574203d20656e656d792e666163696e670a0a0909696628646972656374696f6e426c6f636b656428656e656d7929297b0a090909656e656d792e666163696e67203d202d656e656d792e6d6f7665496e7075743b0a090909656e656d792e6d6f7665496e707574203d20656e656d792e666163696e673b0a09097d0a0909726573657441747461636b7328656e656d79290a090972657475726e2066616c73650a097d090a09726573657441747461636b7328656e656d79290a0972657475726e20747275650a7d0a090a0a0a0a66756e6374696f6e206a756d70546f5365676d656e7428656e656d792c656e656d79506c6174666f726d2c7461726765742c77616c6c536567297b0a096c6574206c656674203d204d6174682e6d696e287461726765742e78312c207461726765742e7832293b0a096c6574207269676874203d204d6174682e6d6178287461726765742e78312c207461726765742e7832293b0a0a092f2f74617267657420746865206c6f7765722065646765206966207468657265206973206f6e650a096966287461726765742e7931203e207461726765742e7932297b0a09096c656674203d207461726765742e78313b0a09097269676874203d207461726765742e7831202b20383b0a097d656c7365206966287461726765742e7931203c207461726765742e7932297b0a09096c656674203d207461726765742e7832202d20383b0a09097269676874203d207461726765742e78323b0a097d0a0a090a09696628656e656d792e79202d204d6174682e6d696e287461726765742e79312c207461726765742e793229203c20313238200a092626206973556e6465724f72466163696e675365676d656e7428656e656d792c2074617267657429297b200a09092f2f206469726563746c7920756e6465722069742c206a756d70206e657874206368616e63650a09096a756d7028656e656d79293b0a0909656e656d792e6a756d70436f6f6c646f776e203d20312e30202b204d6174682e72616e646f6d2829202a20302e353b0a0909656e656d792e666163654c6f636b54696d6572203d202e353b09090a090972657475726e20747275650a097d0a0972657475726e2066616c73650a7d0a0a66756e6374696f6e20706c6174666f726d4a756d7028656e656d792c656e656d79506c6174666f726d297b0a0969662869734e65617245646765466163696e6728656e656d792c20656e656d79506c6174666f726d2c20323029202026260a0909656e656d792e6a756d70436f6f6c646f776e203c3d20302026260a090921656e656d792e696e4169722026262021646972656374696f6e426c6f636b656428656e656d792929207b0a0909696628656e656d792e767820213d30297b0a090909656e656d792e6d6f7665496e707574203d20656e656d792e666163696e673b0a09097d0a09096a756d7028656e656d79293b0a0909656e656d792e6a756d70436f6f6c646f776e203d20312e30202b204d6174682e72616e646f6d2829202a20302e353b0a090972657475726e20747275653b202f2f2020636f6d6d6974206a756d700a097d0a0972657475726e2066616c73653b0a7d0a090a66756e6374696f6e2074727954617267657428656e656d792c656e656d795365676d656e742c746172676574297b0a090a09696628656e656d792e79202d204d6174682e6d696e287461726765742e79312c207461726765742e793229203e203132382972657475726e2066616c73653b090a0a09636f6e7374206c656674203d204d6174682e6d696e287461726765742e78312c207461726765742e7832293b0a09636f6e7374207269676874203d204d6174682e6d6178287461726765742e78312c207461726765742e7832293b0a090a090a096c65742064697374546f546172676574203d2032353b200a0969662028656e656d792e78203c206c656674292064697374546f546172676574203d2028656e656d792e78202b20323529202d206c6566743b0a0969662028656e656d792e78203e207269676874292064697374546f546172676574203d20287269676874202b20323529202d20656e656d792e783b0a0964697374546f546172676574203d204d6174682e6d61782864697374546f5461726765742c203235290a0a096966202828656e656d792e666163696e67203d3d3d203120262620656e656d792e6d6f7665496e707574203d3d3d3120262620656e656d792e78203c206c656674202d203520262620656e656d792e78203e206c656674202d2064697374546f54617267657420297c7c202f2f206d69676874207472792072656c617469766520746f207269676874206d696e7573206c6566740a0928656e656d792e666163696e67203d3d3d202d3120262620656e656d792e6d6f7665496e707574203d3d3d202d3120262620656e656d792e78203e207269676874202b203520262620656e656d792e78203c207269676874202b2064697374546f5461726765742029297b20092f2f67657474696e67206e6561722c206a756d70206e6f7709200a09096a756d7028656e656d79293b0a0909656e656d792e6a756d70436f6f6c646f776e203d20312e30202b204d6174682e72616e646f6d2829202a20302e353b0a0909656e656d792e666163654c6f636b54696d6572203d202e353b0a090972657475726e20747275653b0a097d0a0a0972657475726e2066616c73653b0a7d0a0a0a0a66756e6374696f6e207472794a756d7041626f766528656e656d792c63757272656e74536567297b0a0a09636f6e737420746172676574203d206765745365676d656e744f76657243757272656e742863757272656e74536567293b2f2f676574206c6f7765737420706c6174666f726d206f7665722063757272656e7420706c6174666f726d0a0a09696628746172676574297b090a0909636f6e7374206c656674203d204d6174682e6d696e287461726765742e78312c207461726765742e7832293b0a0909636f6e7374207269676874203d204d6174682e6d6178287461726765742e78312c207461726765742e7832293b0a09090a09096966282163616e4a756d70546f5365676d656e7428656e656d792c63757272656e745365672c746172676574297c656e656d792e79202d204d6174682e6d696e287461726765742e79312c207461726765742e793229203e20313238297b0a09090972657475726e2066616c73650a09097d0a0909696628656e656d792e78203e206c65667420262620656e656d792e78203c207269676874297b0a0909092f2f206469726563746c7920756e6465722069742c206a756d70206e657874206368616e63650a0909096a756d7028656e656d79293b0a090909656e656d792e6a756d70436f6f6c646f776e203d20312e30202b204d6174682e72616e646f6d2829202a20302e353b0a090909656e656d792e666163654c6f636b54696d6572203d202e353b0a09090972657475726e20747275653b0a09097d20090a097d0a0972657475726e2066616c73653b0a7d0a0a66756e6374696f6e207472794a756d7057616c6c28656e656d792c77616c6c536567297b0a0969662877616c6c536567297b0a090969662828656e656d792e666163696e67203d3d3d203120262620656e656d792e626c6f636b6564526967687429207c7c2028656e656d792e666163696e67203d3d3d202d3120262620656e656d792e626c6f636b65644c65667429297b0a09090969662028616943616e4a756d704f76657228656e656d792c2077616c6c53656729297b0a09090909656e656d792e6d6f7665496e707574203d20656e656d792e666163696e673b0a090909096a756d7028656e656d79293b0a09090909656e656d792e6a756d70436f6f6c646f776e203d20312e30202b204d6174682e72616e646f6d2829202a20302e353b0a09090909656e656d792e666163654c6f636b54696d6572203d202e353b0a09090909726573657441747461636b7328656e656d79290a0909090972657475726e20747275650a0909097d090909090a09097d09090a097d0a0972657475726e2066616c73653b0a7d0a2a2f
dURL 61692e6a73
descrHdr 41492066696c65
dislikes 0
docType 54454c412d4a532d31
docVersion 312e302e30
fileCheckC 333364363365336438333563386237323934343631353564316637363935383333636636623734656634333337393365333333346464653934346630383532
fileCheckS 646661343566326338343236633433313537363135393066656364353130323866383161383064613365323431353139363330353132383337363365323032
hash 38666439303866623239373661646465633936316338633534633133363963333139616466386233306633663431313734343938313831353866306334386530
iconURLHdr
likes 0
nameHdr 61692e6a73
owner 6465726f317179347966376335373777717a767a7134347833306c7967686135776a7a377772687736646e76356e337071346634643761716c75717133306d37616b
subDir

Transaction Information

Root Hash
Built Height
7241612
Block
Timestamp
1782424259817
Timestamp (UTC)
2026-06-25 21:50:59
Block Age
2h 27m ago
Fee
0.25603
TX Size
18.271 kB
Version
1
Confirmations
476
Signature Type
DERO_HOMOMORPHIC

DERO Asset

2
Ring Size
0.25603
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", "ai.js") 31 STORE("descrHdr", "AI file") 32 STORE("iconURLHdr", "") 33 STORE("dURL", "ai.js") 34 STORE("docType", "TELA-JS-1") 35 STORE("subDir", "") 36 STORE("fileCheckC", "33d63e3d835c8b729446155d1f7695833cf6b74ef433793e3334dde944f0852") 37 STORE("fileCheckS", "dfa45f2c8426c4315761590fecd51028f81a80da3e24151963051283763e202") 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 /*//---------------- // Update Entities const enemySight = 1000; function updateEnemyAI(enemy) { if (enemy.state === "dying" || (enemy.state === "dead")) return; if (enemy.stun > 0) { enemy.anim.state = "none"; enemy.moveState = "idle"; resetAttacks(enemy); return; } const dx = game.player.x - enemy.x; const dy = game.player.y - enemy.y; const dist = Math.hypot(dx, dy); if(dist > enemySight){ enemy.moveInput = 0; enemy.anim.state = "none"; enemy.moveState = "idle"; resetAttacks(enemy) return; } if (enemy.attackCooldown > 0) enemy.attackCooldown -= dt/1000; if (enemy.jumpCooldown > 0) enemy.jumpCooldown -= dt/1000; if (enemy.faceLockTimer > 0) enemy.faceLockTimer -= dt/1000; if (enemy.faceLockTimer <= 0) { enemy.facing = (dx < 0 ? -1 : 1); } const { segment: playerSegment, platform: playerPlatform } = getPlatformUnder(game.player); const { segment: enemySegment, platform: enemyPlatform } = getPlatformUnder(enemy); const playerAbove = game.player.y < enemy.y - 40; let wallSeg = null; // --- PLATFORM NAVIGATION --- // --- DROP DOWN LOGIC --- if (enemyPlatform){ if(enemyPlatform.id != enemy.onPlatform){ enemy.blockedRight = false enemy.blockedLeft = false enemy.blockedP = null enemy.onPlatform = enemyPlatform.id; } wallSeg = detectWallAhead(enemy) // Reset all platform enemy lists for (const plat of game.platforms) { plat.enemies.length = 0; // Assign enemies to their platform lists for (const e of game.enemies) { if (e.onPlatform === plat.id) { plat.enemies.push(e); } } const range = 60; // or whatever feels right for (const other of plat.enemies) { if (other === enemy | !enemy.onGround | !other.onGround | other.onPlatform !== enemy.onPlatform | other.state === "dead" | other.state === "dying") continue; const dx = Math.abs(other.x - enemy.x); if (dx <= range) { if (enemy.blockedLeft){ other.blockedLeft = true; other.blockedRight = false; enemy.blockedP = plat.id;} if (enemy.blockedRight){ other.blockedRight = true; other.blockedLeft = false; enemy.blockedP = plat.id;} } } } const playerBelowPlatform = isPlayerBelowPlatform(enemyPlatform) if(enemy.type !== "grunt" && isNearEdgeFacing(enemy, enemyPlatform, 10)){ enemy.moveInput = 0; enemy.anim.state = "none"; enemy.moveState = "idle"; resetAttacks(enemy); return; } // if player is below, move off closest edge if (playerBelowPlatform) { const leftEdge = enemyPlatform.minX; const rightEdge = enemyPlatform.maxX; const distToLeft = Math.abs(game.player.x - leftEdge); const distToRight = Math.abs(game.player.x - rightEdge); const targetEdge = (distToLeft < distToRight) ? leftEdge : rightEdge; const move = Math.sign(targetEdge - enemy.x); if(enemy.type !== "grunt" ){ if(move !== Math.sign(game.player.x - enemy.x)|| !isNearEdgeFacing(enemy, enemyPlatform, 10) ){//&& Math.abs(dx)>4)check distance here(for slopes) pursue(enemy, dx, enemySegment, playerPlatform, wallSeg); }else{ enemy.moveInput = 0; enemy.anim.state = "none"; enemy.moveState = "idle"; } resetAttacks(enemy); return; }else{ // Move toward that edge enemy.moveInput = move; enemy.facing = enemy.moveInput; if(directionBlocked(enemy)){ enemy.facing = -enemy.moveInput; enemy.moveInput = enemy.facing; } // BOOST: ensure they actually fall off if (isNearPlatformEdge(enemy, enemyPlatform, 10) && isSafeToDrop(enemy)) { enemy.faceLockTimer = .75; enemy.vx = enemy.facing * enemy.speed * 1.2; // small push enemy.vy = -0.4; // tiny hop upward to break platform glue enemy.inAir = true; enemy.onGround = false; } } return; } if (playerAbove) { // don't get led off the edge if(playerSegment){ // if near edge, check if able to jump up, if not, stop if (isNearEdgeFacing(enemy, enemyPlatform, 12)) { if (tryJumpAbove(enemy,enemySegment))return; if(!isSafeToDrop(enemy)){ enemy.moveInput = 0; enemy.anim.state = "none"; enemy.moveState = "idle"; return; } } }else{ //no player platform / segment if (isNearEdgeFacing(enemy, enemyPlatform, 12) ) { enemy.moveInput = 0; enemy.anim.state = "none"; enemy.moveState = "idle"; return; } pursue(enemy, dx, enemySegment, playerPlatform); return } } // Try to get to player platform if (playerSegment && enemySegment !== playerSegment ) { let target; if(enemyPlatform != playerPlatform){ if(playerAbove){ const closestSegments = findClosestSegmentsBetween(enemyPlatform, playerPlatform); const closestSegmentsMidPoint = findClosestSegmentsBetweenMidPoints(enemyPlatform, playerPlatform); const segmentOverPlatform = getSegmentOverPlatform(enemyPlatform); const segmentOverCurrentSegment = getSegmentOverCurrent(enemySegment) const bestJumpSegment = findBestJumpSegment(enemy, enemyPlatform, playerPlatform); target = closestSegments.segA; if(target !== enemySegment){ if(closestSegments.segA !== closestSegmentsMidPoint.segA ){ if(segmentOverCurrentSegment){ target = segmentOverCurrentSegment; }else if(segmentOverPlatform){ target = segmentOverPlatform; } } if(playerAbove && target){ if (tryTarget(enemy,enemySegment,target))return; } moveTowardSegment(enemy, enemyPlatform, target, wallSeg) avoidWallsOnSamePlatform(enemy, wallSeg) return; } target = bestJumpSegment; if(!target && playerAbove){ target = segmentOverCurrentSegment; } if(!target && playerAbove){ target = segmentOverPlatform; } if(!target && closestSegments.segA === enemySegment){ target = closestSegments.segB; } if(!isSegmentBelowPlatform(target, playerPlatform)){ target = playerSegment; } if(target ){ if (tryJumpAbove(enemy,enemySegment))return; if( typeof segmentOverPlatform !== "undefined" && segmentOverPlatform !==null){ if(segmentOverPlatform.pid === playerPlatform.id){ if(jumpToSegment(enemy,enemyPlatform,segmentOverPlatform,wallSeg)){ avoidWallsOnSamePlatform(enemy,enemyPlatform,wallSeg) return; } } } if(!moveTowardSegment(enemy, enemyPlatform, target, wallSeg)&&segmentOverPlatform){ moveTowardSegment(enemy, enemyPlatform, segmentOverPlatform, wallSeg) avoidWallsOnSamePlatform(enemy,enemyPlatform,wallSeg) return } if (tryTarget(enemy,enemySegment,target))return; } } } if (canJumpToSegment(enemy, enemySegment, playerSegment)&& !isSegmentBelowSegment(playerSegment, enemySegment)){// if(platformJump(enemy,enemyPlatform)) return; } pursue(enemy, dx, enemySegment, playerPlatform, wallSeg); return; } } if(!enemy.inAir){enemy.faceLockTimer = 0;}//don't walk off edge if just landed on player platform //--- SAME PLATFORM: NORMAL PURSUIT + ATTACK --- if (dist < 50) { // attack logic... let delay = 0.3 + Math.random() * 0.7; // 0.3-1.0 sec if(enemy.type === "boss") delay = 0.5; // Only punch if cooldown is done if (enemy.attackCooldown <= 0) { enemy.verticalInput = 0; enemy.attackCooldown = delay; if (Math.random() < 0.5) { enemy.wantPunch = true; }else{ enemy.wantKick = true; } if(!game.player.inAir && game.player.verticalInput < 0){ enemy.verticalInput = 0; }else if (Math.random() < 0.5){ enemy.verticalInput = 0; }else{ enemy.verticalInput = 1; } } if(enemy.anim.state === "walk" && enemy.type !== "boss"){ resetAttacks(enemy) } if (enemy.anim.state === "punch" && enemy.anim.frame > attackFrames.punch.end ) { enemy.wantPunch = false; } if (enemy.anim.state === "highPunch" && enemy.anim.frame > attackFrames.highPunch.end ) { enemy.wantPunch = false; } if (enemy.anim.state === "kick" && enemy.anim.frame > attackFrames.kick.end ) { enemy.wantKick = false; } if (enemy.anim.state === "highKick" && enemy.anim.frame > attackFrames.highKick.end ) { enemy.wantKick = false; } if(enemy.type !== "boss"){ enemy.moveInput = 0; }else{ //boss if (enemy.anim.state === "walkPunch" && enemy.anim.frame > attackFrames.walkPunch.end ) { enemy.wantPunch = false; } if (enemy.anim.state === "walkHighPunch" && enemy.anim.frame > attackFrames.walkHighPunch.end ) { enemy.wantPunch = false; } if(enemy.type === "boss" && !enemy.wantPunch ) { enemy.moveInput = 0; if(enemy.anim.state === "walk"){ resetAttacks(enemy) } } } // for audio const attackPressed = (enemy.wantPunch || enemy.wantKick) && !enemy.prevAttack; enemy.prevAttack = enemy.wantPunch || enemy.wantKick; if (attackPressed) { sfxHuh(); game.player.prevHit =false; } } else { pursue(enemy, dx, enemySegment, playerPlatform, wallSeg); } } function isSegmentBelowPlatform(seg, plat){ for (const pseg of plat.segments) { // Optional: only treat floor-type segments as platform surface if (pseg.isWall)continue; if(isSegmentBelowSegment(seg,pseg)) return true; } return false; } function pursue(enemy,dx, enemySegment, playerPlatform,wallSeg){ let wallJumped = false; if(wallSeg){ if(tryJumpWall(enemy,wallSeg)){ resetAttacks(enemy); return } } if (keepEnemySpacing(enemy)) { enemy.anim.state = "none"; enemy.moveState = "idle"; enemy.moveInput = 0; return; } if (enemy.type !== "grunt" && enemySegment){ const plat = getPlatformById(enemy.onPlatform) if(typeof plat !== "undefined"){ if(isNearEdgeFacing(enemy,plat , 10)){ enemy.moveInput = 0; enemy.anim.state = "none"; enemy.moveState = "idle"; resetAttacks(enemy); return } } } if(playerPlatform && enemySegment){ if (playerPlatform.id === enemy.onPlatform){ const behind = countEnemiesBehind(enemy); if (behind >= 1 && countEnemiesAhead(enemy) < behind && Math.abs(dx) >= 50 && Math.abs(dx) < 100) {//&& Math.abs(dx) >= 65 if (enemy.onGround && enemy.jumpCooldown <= 0) { enemy.moveInput = enemy.facing; jump(enemy); enemy.jumpCooldown = 1.0 + Math.random() * 0.5; return; } } if( playerIsThreatening(game.player) && enemy.onGround && (enemy.facing === 1 && game.player.facing === -1 || enemy.facing === -1 && game.player.facing === 1) ) { const safeDist = 70; if (Math.abs(dx) < safeDist) { enemy.moveInput = 0; enemy.anim.state = "none"; enemy.moveState = "idle"; return; } } } } // normal movement if (Math.abs(dx) > 3 ) { if(enemySegment && Math.abs(enemySegment.angle) > maxClimbAngle){ enemy.moveInput = enemy.facing; jump(enemy); enemy.jumpCooldown = 1.0 + Math.random() * 0.5; }else{ enemy.moveInput = enemy.facing; enemy.anim.state = "walk"; } } else if(playerPlatform && enemySegment){ enemy.moveInput = 0; enemy.anim.state = "none"; enemy.moveState = "idle"; } avoidWallsOnSamePlatform(enemy, wallSeg) resetAttacks(enemy) } function moveTowardSegment(enemy,enemyPlatform,target, wallSeg){ // walk toward it let left = Math.min(target.x1, target.x2); let right = Math.max(target.x1, target.x2); let ytarget = Math.min(target.y1, target.y2); const enemyPlatLeft = Math.min(enemyPlatform.x1, enemyPlatform.x2); const enemyPlatRight = Math.max(enemyPlatform.x1, enemyPlatform.x2); //target the lower edge if there is one if(target.y1 > target.y2){ left = target.x1; right = target.x1 + 8; ytarget = target.y1; }else if(target.y1 < target.y2){ left = target.x2 - 8; right = target.x2; ytarget = target.y2; } if (enemy.x < left -8 ){ enemy.moveInput = 1; enemy.anim.state = "walk"; enemy.facing = enemy.moveInput; if(tryJumpWall(enemy,wallSeg))return true; } else if (enemy.x > right +8) { enemy.moveInput = -1; enemy.anim.state = "walk"; enemy.facing = enemy.moveInput; if(tryJumpWall(enemy,wallSeg))return true; } else if(enemy.y - ytarget < 128 && !enemy.inAir && (enemy.onPlatform !== target.pid)){ // directly under it or close to it, jump next chance jump(enemy); enemy.jumpCooldown = 1.0 + Math.random() * 0.5; enemy.faceLockTimer = .5; }else{ enemy.moveInput = enemy.facing if(directionBlocked(enemy)){ enemy.facing = -enemy.moveInput; enemy.moveInput = enemy.facing; } resetAttacks(enemy) return false } resetAttacks(enemy) return true } function jumpToSegment(enemy,enemyPlatform,target,wallSeg){ let left = Math.min(target.x1, target.x2); let right = Math.max(target.x1, target.x2); //target the lower edge if there is one if(target.y1 > target.y2){ left = target.x1; right = target.x1 + 8; }else if(target.y1 < target.y2){ left = target.x2 - 8; right = target.x2; } if(enemy.y - Math.min(target.y1, target.y2) < 128 && isUnderOrFacingSegment(enemy, target)){ // directly under it, jump next chance jump(enemy); enemy.jumpCooldown = 1.0 + Math.random() * 0.5; enemy.faceLockTimer = .5; return true } return false } function platformJump(enemy,enemyPlatform){ if(isNearEdgeFacing(enemy, enemyPlatform, 20) && enemy.jumpCooldown <= 0 && !enemy.inAir && !directionBlocked(enemy)) { if(enemy.vx !=0){ enemy.moveInput = enemy.facing; } jump(enemy); enemy.jumpCooldown = 1.0 + Math.random() * 0.5; return true; // commit jump } return false; } function tryTarget(enemy,enemySegment,target){ if(enemy.y - Math.min(target.y1, target.y2) > 128)return false; const left = Math.min(target.x1, target.x2); const right = Math.max(target.x1, target.x2); let distToTarget = 25; if (enemy.x < left) distToTarget = (enemy.x + 25) - left; if (enemy.x > right) distToTarget = (right + 25) - enemy.x; distToTarget = Math.max(distToTarget, 25) if ((enemy.facing === 1 && enemy.moveInput ===1 && enemy.x < left - 5 && enemy.x > left - distToTarget )|| // might try relative to right minus left (enemy.facing === -1 && enemy.moveInput === -1 && enemy.x > right + 5 && enemy.x < right + distToTarget )){ //getting near, jump now jump(enemy); enemy.jumpCooldown = 1.0 + Math.random() * 0.5; enemy.faceLockTimer = .5; return true; } return false; } function tryJumpAbove(enemy,currentSeg){ const target = getSegmentOverCurrent(currentSeg);//get lowest platform over current platform if(target){ const left = Math.min(target.x1, target.x2); const right = Math.max(target.x1, target.x2); if(!canJumpToSegment(enemy,currentSeg,target)|enemy.y - Math.min(target.y1, target.y2) > 128){ return false } if(enemy.x > left && enemy.x < right){ // directly under it, jump next chance jump(enemy); enemy.jumpCooldown = 1.0 + Math.random() * 0.5; enemy.faceLockTimer = .5; return true; } } return false; } function tryJumpWall(enemy,wallSeg){ if(wallSeg){ if((enemy.facing === 1 && enemy.blockedRight) || (enemy.facing === -1 && enemy.blockedLeft)){ if (aiCanJumpOver(enemy, wallSeg)){ enemy.moveInput = enemy.facing; jump(enemy); enemy.jumpCooldown = 1.0 + Math.random() * 0.5; enemy.faceLockTimer = .5; resetAttacks(enemy) return true } } } return false; } */"

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