The explorer is out of sync. The last synced block is 184 hours ago. Current block height: explorer: 2206528 / node: 2325991 / ref: 2325990
import multisig_1713438024.aleo; import kyc_1713438024.aleo; import aml_1713438024.aleo; import logs_1713438024.aleo; program stablecoin_1713438024.aleo; struct Action: program_address as address; action_id as u8; struct Proposal: action as Action; argument_hash as field; nonce as u64; record Token: owner as address.private; amount as u64.private; struct MintArgs: to as address; amount as u64; iv as field; mapping public_balance: key as address.public; value as u64.public; function split_token: input r0 as Token.record; input r1 as u64.private; input r2 as u64.private; add r1 r2 into r3; assert.eq r0.amount r3; cast r0.owner r1 into r4 as Token.record; cast r0.owner r2 into r5 as Token.record; output r4 as Token.record; output r5 as Token.record; function join_tokens: input r0 as Token.record; input r1 as Token.record; add r0.amount r1.amount into r2; cast r0.owner r2 into r3 as Token.record; output r3 as Token.record; function mint_public: input r0 as multisig_1713438024.aleo/Authorization.record; input r1 as aml_1713438024.aleo/AML.record; input r2 as kyc_1713438024.aleo/KYC.record; input r3 as u32.private; input r4 as address.private; input r5 as MintArgs.private; hash.bhp256 r5 into r6 as field; call multisig_1713438024.aleo/verify r0 0u8 r6 into r7; assert.eq r5.to r1.account; assert.eq r5.to r2.account; call aml_1713438024.aleo/verify_aml r1 into r8 r9; call kyc_1713438024.aleo/verify_kyc r2 r3 into r10 r11; call logs_1713438024.aleo/log_mint r4 r5.to r5.amount false into r12 r13; async mint_public r7 r9 r11 r13 r5 into r14; output r8 as aml_1713438024.aleo/AML.record; output r10 as kyc_1713438024.aleo/KYC.record; output r12 as logs_1713438024.aleo/Mint.record; output r14 as stablecoin_1713438024.aleo/mint_public.future; finalize mint_public: input r0 as multisig_1713438024.aleo/verify.future; input r1 as aml_1713438024.aleo/verify_aml.future; input r2 as kyc_1713438024.aleo/verify_kyc.future; input r3 as logs_1713438024.aleo/log_mint.future; input r4 as MintArgs.public; await r0; await r1; await r2; await r3; get.or_use public_balance[r4.to] 0u64 into r5; add r5 r4.amount into r6; set r6 into public_balance[r4.to]; function mint_private: input r0 as multisig_1713438024.aleo/Authorization.record; input r1 as aml_1713438024.aleo/AML.record; input r2 as kyc_1713438024.aleo/KYC.record; input r3 as u32.private; input r4 as address.private; input r5 as MintArgs.private; hash.bhp256 r5 into r6 as field; call multisig_1713438024.aleo/verify r0 0u8 r6 into r7; assert.eq r5.to r1.account; assert.eq r5.to r2.account; call aml_1713438024.aleo/verify_aml r1 into r8 r9; call kyc_1713438024.aleo/verify_kyc r2 r3 into r10 r11; call logs_1713438024.aleo/log_mint r4 r5.to r5.amount true into r12 r13; cast r5.to r5.amount into r14 as Token.record; async mint_private r7 r9 r11 r13 into r15; output r8 as aml_1713438024.aleo/AML.record; output r10 as kyc_1713438024.aleo/KYC.record; output r12 as logs_1713438024.aleo/Mint.record; output r14 as Token.record; output r15 as stablecoin_1713438024.aleo/mint_private.future; finalize mint_private: input r0 as multisig_1713438024.aleo/verify.future; input r1 as aml_1713438024.aleo/verify_aml.future; input r2 as kyc_1713438024.aleo/verify_kyc.future; input r3 as logs_1713438024.aleo/log_mint.future; await r0; await r1; await r2; await r3; function redeem_public: input r0 as aml_1713438024.aleo/AML.record; input r1 as kyc_1713438024.aleo/KYC.record; input r2 as u32.private; input r3 as address.private; input r4 as u64.private; assert.eq self.signer r0.account; assert.eq self.signer r1.account; call aml_1713438024.aleo/verify_aml r0 into r5 r6; call kyc_1713438024.aleo/verify_kyc r1 r2 into r7 r8; call logs_1713438024.aleo/log_redeem r3 self.signer r4 false into r9 r10; async redeem_public r6 r8 r10 self.signer r4 into r11; output r5 as aml_1713438024.aleo/AML.record; output r7 as kyc_1713438024.aleo/KYC.record; output r9 as logs_1713438024.aleo/Redeem.record; output r11 as stablecoin_1713438024.aleo/redeem_public.future; finalize redeem_public: input r0 as aml_1713438024.aleo/verify_aml.future; input r1 as kyc_1713438024.aleo/verify_kyc.future; input r2 as logs_1713438024.aleo/log_redeem.future; input r3 as address.public; input r4 as u64.public; await r0; await r1; await r2; get.or_use public_balance[r3] 0u64 into r5; sub r5 r4 into r6; set r6 into public_balance[r3]; function redeem_private: input r0 as aml_1713438024.aleo/AML.record; input r1 as kyc_1713438024.aleo/KYC.record; input r2 as u32.private; input r3 as address.private; input r4 as Token.record; assert.eq self.signer r0.account; assert.eq self.signer r1.account; call aml_1713438024.aleo/verify_aml r0 into r5 r6; call kyc_1713438024.aleo/verify_kyc r1 r2 into r7 r8; call logs_1713438024.aleo/log_redeem r3 self.signer r4.amount true into r9 r10; async redeem_private r6 r8 r10 into r11; output r5 as aml_1713438024.aleo/AML.record; output r7 as kyc_1713438024.aleo/KYC.record; output r9 as logs_1713438024.aleo/Redeem.record; output r11 as stablecoin_1713438024.aleo/redeem_private.future; finalize redeem_private: input r0 as aml_1713438024.aleo/verify_aml.future; input r1 as kyc_1713438024.aleo/verify_kyc.future; input r2 as logs_1713438024.aleo/log_redeem.future; await r0; await r1; await r2; function transfer_public: input r0 as aml_1713438024.aleo/AML.record; input r1 as address.private; input r2 as address.public; input r3 as u64.public; assert.eq self.signer r0.account; call aml_1713438024.aleo/verify_aml r0 into r4 r5; call logs_1713438024.aleo/log_transfer r1 self.signer r2 r3 false false into r6 r7; async transfer_public r5 r7 self.signer r2 r3 into r8; output r4 as aml_1713438024.aleo/AML.record; output r6 as logs_1713438024.aleo/Transfer.record; output r8 as stablecoin_1713438024.aleo/transfer_public.future; finalize transfer_public: input r0 as aml_1713438024.aleo/verify_aml.future; input r1 as logs_1713438024.aleo/log_transfer.future; input r2 as address.public; input r3 as address.public; input r4 as u64.public; await r0; await r1; get.or_use public_balance[r2] 0u64 into r5; sub r5 r4 into r6; set r6 into public_balance[r2]; get.or_use public_balance[r3] 0u64 into r7; add r7 r4 into r8; set r8 into public_balance[r3]; function transfer_private: input r0 as aml_1713438024.aleo/AML.record; input r1 as address.private; input r2 as Token.record; input r3 as address.private; assert.eq self.signer r0.account; call aml_1713438024.aleo/verify_aml r0 into r4 r5; call logs_1713438024.aleo/log_transfer r1 self.signer r3 r2.amount true true into r6 r7; cast r3 r2.amount into r8 as Token.record; async transfer_private r5 r7 into r9; output r4 as aml_1713438024.aleo/AML.record; output r6 as logs_1713438024.aleo/Transfer.record; output r8 as Token.record; output r9 as stablecoin_1713438024.aleo/transfer_private.future; finalize transfer_private: input r0 as aml_1713438024.aleo/verify_aml.future; input r1 as logs_1713438024.aleo/log_transfer.future; await r0; await r1; function transfer_private_to_public: input r0 as aml_1713438024.aleo/AML.record; input r1 as address.private; input r2 as Token.record; input r3 as address.public; assert.eq self.signer r0.account; call aml_1713438024.aleo/verify_aml r0 into r4 r5; call logs_1713438024.aleo/log_transfer r1 self.signer r3 r2.amount true false into r6 r7; async transfer_private_to_public r5 r7 r3 r2.amount into r8; output r4 as aml_1713438024.aleo/AML.record; output r6 as logs_1713438024.aleo/Transfer.record; output r8 as stablecoin_1713438024.aleo/transfer_private_to_public.future; finalize transfer_private_to_public: input r0 as aml_1713438024.aleo/verify_aml.future; input r1 as logs_1713438024.aleo/log_transfer.future; input r2 as address.public; input r3 as u64.public; await r0; await r1; get.or_use public_balance[r2] 0u64 into r4; add r4 r3 into r5; set r5 into public_balance[r2]; function transfer_public_to_private: input r0 as aml_1713438024.aleo/AML.record; input r1 as address.private; input r2 as address.private; input r3 as u64.public; assert.eq self.signer r0.account; call aml_1713438024.aleo/verify_aml r0 into r4 r5; call logs_1713438024.aleo/log_transfer r1 self.signer r2 r3 false true into r6 r7; cast r2 r3 into r8 as Token.record; async transfer_public_to_private r5 r7 self.signer r3 into r9; output r4 as aml_1713438024.aleo/AML.record; output r6 as logs_1713438024.aleo/Transfer.record; output r8 as Token.record; output r9 as stablecoin_1713438024.aleo/transfer_public_to_private.future; finalize transfer_public_to_private: input r0 as aml_1713438024.aleo/verify_aml.future; input r1 as logs_1713438024.aleo/log_transfer.future; input r2 as address.public; input r3 as u64.public; await r0; await r1; get.or_use public_balance[r2] 0u64 into r4; sub r4 r3 into r5; set r5 into public_balance[r2];
Block height | Timestamp | Transition ID | Function call | State |
2,206,060 | 2024-04-26 13:58:30 | au1ylfegj39m676qejx36nd4etwjlvzr947qkcalvuz2rqzec598ggs2gffuu | transfer_public_to_private | Accepted |
2,205,790 | 2024-04-26 13:31:53 | au1axda7ukp8nlskerqh30ydqtyh7nx5dqavlrezszwvydn5h7hlcpqfya7zu | transfer_public_to_private | Accepted |
2,205,416 | 2024-04-26 12:54:51 | au1fkuuln7x8tf4vyrn6uk4lh73846y5zvg9x8fcap5zw2u9g0et5zqc3xyp8 | transfer_public_to_private | Accepted |
2,204,630 | 2024-04-26 11:37:01 | au1umf9gncll8f7dzl98yp5r7wp36d64fegkrey0f7e38fm0uqpgyyqeq70un | mint_public | Accepted |
2,204,364 | 2024-04-26 11:11:59 | au1zjmdumvvnkel2quq2jputxc4lff4y4srhczjyjcqj6k75vpllvgssvagc3 | mint_public | Accepted |
2,190,715 | 2024-04-25 13:39:01 | au1nwapkc0qpc39n23w9cgqqz8kkqzfmdvrgv7aw763wvpt7w6tduysmupk8z | mint_public | Rejected |
2,190,290 | 2024-04-25 12:56:55 | au1m0n2g9app9vy0679ke26htkhk5gqjmssez52tz9wpqcy35cevcrsag9h3y | mint_public | Accepted |
2,187,958 | 2024-04-25 09:09:03 | au1as6uquepszx0lt22x0zu6rh8ka2lw7edrnc6pdujkj0lzm3ees8szf9dv6 | mint_public | Rejected |