The explorer is out of sync. The last synced block is 191 hours ago. Current block height: explorer: 2206528 / node: 2330155 / ref: 2330156
program cleo_token_v1_1.aleo; record Token: owner as address.private; amount as u64.private; struct TokenMetadata: from_chain_id as u32; from_asset_addr as field; mapping initialized: key as boolean.public; value as boolean.public; mapping contract_owner: key as boolean.public; value as address.public; mapping supply_token: key as boolean.public; value as u64.public; mapping accounts: key as address.public; value as u64.public; mapping token_meta: key as field.public; value as TokenMetadata.public; function initialize: input r0 as address.private; async initialize r0 into r1; output r1 as cleo_token_v1_1.aleo/initialize.future; finalize initialize: input r0 as address.public; get.or_use initialized[true] false into r1; not r1 into r2; assert.eq r2 true; set r0 into contract_owner[true]; set true into initialized[true]; function register: input r0 as TokenMetadata.private; async register r0 self.caller into r1; output r1 as cleo_token_v1_1.aleo/register.future; finalize register: input r0 as TokenMetadata.public; input r1 as address.public; get.or_use initialized[true] false into r2; assert.eq r2 true; get contract_owner[true] into r3; assert.eq r3 r1; hash.bhp256 r0 into r4 as field; contains token_meta[r4] into r5; not r5 into r6; assert.eq r6 true; set r0 into token_meta[r4]; function mint: input r0 as address.private; input r1 as u64.private; lte r1 100000u64 into r2; assert.eq r2 true; cast r0 r1 into r3 as Token.record; async mint r0 r1 self.caller into r4; output r3 as Token.record; output r4 as cleo_token_v1_1.aleo/mint.future; finalize mint: input r0 as address.public; input r1 as u64.public; input r2 as address.public; get contract_owner[true] into r3; assert.eq r3 r2; get.or_use supply_token[true] 0u64 into r4; add r4 r1 into r5; lte r5 100000000000u64 into r6; assert.eq r6 true; get.or_use accounts[r0] 0u64 into r7; set r5 into supply_token[true]; add r7 r1 into r8; set r8 into accounts[r0]; function burn_public: input r0 as address.public; input r1 as u64.public; async burn_public r0 r1 self.caller into r2; output r2 as cleo_token_v1_1.aleo/burn_public.future; finalize burn_public: input r0 as address.public; input r1 as u64.public; input r2 as address.public; get contract_owner[true] into r3; assert.eq r3 r2; get.or_use accounts[r0] 0u64 into r4; sub r4 r1 into r5; set r5 into accounts[r0]; function burn_private: input r0 as address.private; input r1 as Token.record; input r2 as u64.private; sub r1.amount r2 into r3; cast r1.owner r3 into r4 as Token.record; async burn_private self.caller into r5; output r4 as Token.record; output r5 as cleo_token_v1_1.aleo/burn_private.future; finalize burn_private: input r0 as address.public; get contract_owner[true] into r1; assert.eq r1 r0; function transfer_private: input r0 as Token.record; input r1 as address.private; input r2 as u64.private; sub r0.amount r2 into r3; cast r0.owner r3 into r4 as Token.record; cast r1 r2 into r5 as Token.record; output r4 as Token.record; output r5 as Token.record; function transfer_public: input r0 as address.private; input r1 as u64.private; async transfer_public self.caller r0 r1 into r2; output r2 as cleo_token_v1_1.aleo/transfer_public.future; finalize transfer_public: input r0 as address.public; input r1 as address.public; input r2 as u64.public; get accounts[r0] into r3; sub r3 r2 into r4; set r4 into accounts[r0]; get.or_use accounts[r0] 0u64 into r5; add r5 r2 into r6; set r6 into accounts[r1]; function deposit: input r0 as Token.record; input r1 as u64.private; sub r0.amount r1 into r2; cast r0.owner r2 into r3 as Token.record; async deposit self.caller r1 into r4; output r3 as Token.record; output r4 as cleo_token_v1_1.aleo/deposit.future; finalize deposit: input r0 as address.public; input r1 as u64.public; get.or_use accounts[r0] 0u64 into r2; add r2 r1 into r3; set r3 into accounts[r0]; function withdraw: input r0 as address.private; input r1 as u64.private; cast r0 r1 into r2 as Token.record; async withdraw self.caller r1 into r3; output r2 as Token.record; output r3 as cleo_token_v1_1.aleo/withdraw.future; finalize withdraw: input r0 as address.public; input r1 as u64.public; get accounts[r0] into r2; sub r2 r1 into r3; set r3 into accounts[r0];
Block height | Timestamp | Transition ID | Function call | State |
2,009,937 | 2024-04-13 18:15:39 | au1l8p60q0vx9v93nrsgpn2zevws5kj6myrfnphv8qlser833heyyqq94364x | transfer_public | Accepted |
2,009,885 | 2024-04-13 18:11:08 | au1es7u7z8f2q99wm370wpr34ym7rrrkpkhqzdznmqywnfenyqqdsps6dj4zx | mint | Accepted |
2,009,871 | 2024-04-13 18:09:55 | au1qqxl5kceatr3s5sksyazm2yeypt5dzrxjg00krfxcarmyf24gsyst6zxjk | mint | Accepted |
2,009,862 | 2024-04-13 18:09:02 | au1f80vtk0gqk20dqtvawpc05hsxu8zjxx00pejtus2d0pnkakq9vxqxgh2kp | mint | Accepted |
2,009,818 | 2024-04-13 18:05:09 | au19hk07fx8gtuf63lq5f3n3uzueswaj62mufq8tds7c4ufzmn9gvxqawlgzy | initialize | Rejected |
2,009,765 | 2024-04-13 17:59:54 | au18ejgp3pkxhek3mnh4de5r4pmd3naklv2vc42prfdgq5pa4uvjv9suak8yt | initialize | Rejected |
2,009,715 | 2024-04-13 17:54:45 | au1nl6w3gul8f9jgupmp4luxv977833w9emdffe8kp9fhq79fprnugqy24yhc | initialize | Accepted |