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

Program demo_deploy_app.aleo

Program ID
demo_deploy_app.aleo
Owner signature
sign1p2q65e8y8793jl9wsq9k0uq3tfay7a4amkjmyr9g76tdu0yfucq57ynzzxd2a4x7a6u6egn9lvp2jefyjtyf60hvgvf9ay4f29ej6qe8g73uuydd074760zqjgngc270dvl6cdqas4s772kjzdkqftf5zz6j89z0mmlg2ny8hvqvd5uvgrugq5qgfz06xt5mts3vyum8q5vqc84f0zk
Times called
1
Similar programs
0
Imports
-
Mappings
account (address -> u64)
mint_state (address -> boolean)
counter (field -> u32)
Structs
-
Records
-
Functions
-
Transitions
main(public u32, u32) -> u32
mint() -> boolean finalize(address)
transfer(public address, public u64) -> boolean finalize(address, address, u64)
Program Source Code (Aleo Instruction) Upload Leo source

program demo_deploy_app.aleo;

mapping account:
    key as address.public;
    value as u64.public;

mapping mint_state:
    key as address.public;
    value as boolean.public;

mapping counter:
    key as field.public;
    value as u32.public;

function main:
    input r0 as u32.public;
    input r1 as u32.private;
    add r0 r1 into r2;
    output r2 as u32.private;

function mint:
    async mint self.caller into r0;
    output true as boolean.private;
    output r0 as demo_deploy_app.aleo/mint.future;
finalize mint:
    input r0 as address.public;
    get.or_use counter[1field] 0u32 into r1;
    lt r1 block.height into r2;
    assert.eq r2 true;
    contains mint_state[r0] into r3;
    assert.eq false r3;
    get.or_use account[r0] 0u64 into r4;
    add r4 1000u64 into r5;
    set r5 into account[r0];
    set true into mint_state[r0];
    add r1 1u32 into r6;
    set r6 into counter[1field];

function transfer:
    input r0 as address.public;
    input r1 as u64.public;
    async transfer self.caller r0 r1 into r2;
    output true as boolean.private;
    output r2 as demo_deploy_app.aleo/transfer.future;
finalize transfer:
    input r0 as address.public;
    input r1 as address.public;
    input r2 as u64.public;
    gt r2 0u64 into r3;
    assert.eq r3 true;
    get.or_use account[r0] 0u64 into r4;
    sub r4 r2 into r5;
    get.or_use account[r1] 0u64 into r6;
    add r6 r2 into r7;
    set r5 into account[r0];
    set r7 into account[r1];

Block heightTimestampTransition IDFunction callState
387,1992023-11-13 12:57:33au1t8tlztwuesaylmuc2ra3g4ndzpz0rwjcja63hcavd0ygmcm6lq8sevw3almintAccepted






Not implemented