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

Program token_1g6zcj.aleo

Program ID
token_1g6zcj.aleo
Owner signature
sign184sdr6ctjs7gs8qfyrzy8m85gs7zltw2uj46eh4n9lq7qxvr0uqsz4sa2wwd223r522374jzxxg8jpmg3kp9kyfjhrzq87jlghx7gqhzgpzkns2l40mj0nz6kmwu7h2qg72v8ckpaey6m6y6z0nvcf3wp5sl3qmexv0d0v95u05vwmwa84fmd2majh9gx0z2eq2a9lt7dnlq5v379uj
Times called
1
Similar programs
0
Imports
-
Mappings
supply_armin (u8 -> u64)
programs_armin (field -> u64)
Structs
-
Records
ArminToken
Functions
-
Transitions
mint_armin(address, u64) -> ArminToken finalize(u64)
transfer_armin(ArminToken, address, u64) -> (ArminToken, ArminToken)
transfer_armin_to_program(ArminToken, u64) -> ArminToken finalize(u64)
transfer_armin_from_program(address, u64) -> ArminToken finalize(u64)
Program Source Code (Aleo Instruction) Upload Leo source

program token_1g6zcj.aleo;

record ArminToken:
    owner as address.private;
    amount as u64.private;

mapping supply_armin:
    key as u8.public;
    value as u64.public;

mapping programs_armin:
    key as field.public;
    value as u64.public;

function mint_armin:
    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 ArminToken.record;
    async mint_armin r1 into r4;
    output r3 as ArminToken.record;
    output r4 as token_1g6zcj.aleo/mint_armin.future;
finalize mint_armin:
    input r0 as u64.public;
    get.or_use supply_armin[0u8] 0u64 into r1;
    add r1 r0 into r2;
    lte r2 100000000000u64 into r3;
    assert.eq r3 true;
    set r2 into supply_armin[0u8];

function transfer_armin:
    input r0 as ArminToken.record;
    input r1 as address.private;
    input r2 as u64.private;
    sub r0.amount r2 into r3;
    cast r0.owner r3 into r4 as ArminToken.record;
    cast r1 r2 into r5 as ArminToken.record;
    output r4 as ArminToken.record;
    output r5 as ArminToken.record;

function transfer_armin_to_program:
    input r0 as ArminToken.record;
    input r1 as u64.private;
    sub r0.amount r1 into r2;
    cast r0.owner r2 into r3 as ArminToken.record;
    async transfer_armin_to_program r1 into r4;
    output r3 as ArminToken.record;
    output r4 as token_1g6zcj.aleo/transfer_armin_to_program.future;
finalize transfer_armin_to_program:
    input r0 as u64.public;
    hash.bhp256 0u8 into r1 as field;
    get.or_use programs_armin[r1] 0u64 into r2;
    add r2 r0 into r3;
    set r3 into programs_armin[r1];

function transfer_armin_from_program:
    input r0 as address.private;
    input r1 as u64.private;
    cast r0 r1 into r2 as ArminToken.record;
    async transfer_armin_from_program r1 into r3;
    output r2 as ArminToken.record;
    output r3 as token_1g6zcj.aleo/transfer_armin_from_program.future;
finalize transfer_armin_from_program:
    input r0 as u64.public;
    hash.bhp256 0u8 into r1 as field;
    get.or_use programs_armin[r1] 0u64 into r2;
    sub r2 r0 into r3;
    set r3 into programs_armin[r1];

Block heightTimestampTransition IDFunction callState
23,1682023-10-23 07:21:17au1fhd4gpyylrd5agc2wav4rhzhx3uye4l9fn5py8wup272ccccjypq38xqtcmint_arminAccepted




Not implemented