The explorer is out of sync. The last synced block is 540 hours ago. Current block height: explorer: 2206528 / node: 2551342 / ref: 2492275

Program truecoin_1698400045.aleo

Program ID
truecoin_1698400045.aleo
Owner signature
sign19s755yau96xl69gd0w0w7ls5wx994uc5x52ewmq2vh3cw4sllcppkx3pnq5fsatkjjdurxcrdwr7m2jy0hkyr63v2w75kx5xe8jrcqefmld7e4vm2kzgyjlge3ggyyey24760gftwv30faflcdgansp7q5dgy78gdshhk83hp46kg398hqt93w6xstu443fduz9xszj9le6sxzdttda
Times called
0
Similar programs
Mappings
mintOperations (u64 -> MintOperation)
mintOperationsLength (boolean -> u64)
Structs
MintOperation
Records
-
Functions
-
Transitions
propose_mint(public address, public u64) -> () finalize(address, u64)
execute_mint(truecoin_multisig_1698400045.aleo/ticket, public u64, public address, public u64) -> token_provider_1698400045.aleo/Token finalize(u64, address, u64)
Program Source Code (Aleo Instruction) Upload Leo source

import truecoin_multisig_1698400045.aleo;
import token_provider_1698400045.aleo;

program truecoin_1698400045.aleo;

struct MintOperation:
    receiver as address;
    amount as u64;
    executed as boolean;

mapping mintOperations:
    key as u64.public;
    value as MintOperation.public;

mapping mintOperationsLength:
    key as boolean.public;
    value as u64.public;

function propose_mint:
    input r0 as address.public;
    input r1 as u64.public;
    async propose_mint r0 r1 into r2;
    output r2 as truecoin_1698400045.aleo/propose_mint.future;
finalize propose_mint:
    input r0 as address.public;
    input r1 as u64.public;
    get.or_use mintOperationsLength[true] 0u64 into r2;
    add r2 1u64 into r3;
    set r3 into mintOperationsLength[true];
    cast r0 r1 false into r4 as MintOperation;
    set r4 into mintOperations[r2];

function execute_mint:
    input r0 as truecoin_multisig_1698400045.aleo/ticket.record;
    input r1 as u64.public;
    input r2 as address.public;
    input r3 as u64.public;
    is.eq r0.op 1field into r4;
    assert.eq r4 true;
    hash.bhp256 r1 into r5 as field;
    is.eq r0.args r5 into r6;
    assert.eq r6 true;
    call token_provider_1698400045.aleo/mint_token r2 r3 into r7 r8;
    async execute_mint r8 r1 r2 r3 into r9;
    output r7 as token_provider_1698400045.aleo/Token.record;
    output r9 as truecoin_1698400045.aleo/execute_mint.future;
finalize execute_mint:
    input r0 as token_provider_1698400045.aleo/mint_token.future;
    input r1 as u64.public;
    input r2 as address.public;
    input r3 as u64.public;
    await r0;
    cast r2 r3 false into r4 as MintOperation;
    get mintOperations[r1] into r5;
    is.eq r5 r4 into r6;
    assert.eq r6 true;
    cast r2 r3 true into r7 as MintOperation;
    set r7 into mintOperations[r1];

Block heightTimestampTransition IDFunction callState




Not implemented