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

Program teststaker1x3_2.aleo

Program ID
teststaker1x3_2.aleo
Owner signature
sign1scmdkkqprrut26trktyl8dzsqnxx3jd7asxgczghj0a6h3c9acqzgq4h4f22jpl057fuedpzuqfle8gjtvfgfst9aht8a4auzkzg2q2eyh9qchd8p5lcs49gafznx5hekrmdhg6p4ftpcjf9at8sqzarz8g4jk7jd08dfhmhrx9p6kq0n0m262e3tu86pqgtc6d6n3nul3askhkf56c
Times called
13
Similar programs
Mappings
admins (address -> boolean)
operators (address -> boolean)
Structs
-
Records
-
Functions
-
Transitions
set_operator(public address, public boolean) -> () finalize(address, address, boolean)
set_admin(public address, public boolean) -> () finalize(address, address, boolean)
init() -> ()
bond(public address, public u64, public u64) -> () finalize(address)
unbond(public u64) -> () finalize(address)
claim(public u64) -> () finalize(address)
push_aleo(public u64) -> () finalize(address)
Program Source Code (Aleo Instruction) Upload Leo source

import credits.aleo;
import teststake1x3.aleo;

program teststaker1x3_2.aleo;

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

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

function set_operator:
    input r0 as address.public;
    input r1 as boolean.public;
    async set_operator self.caller r0 r1 into r2;
    output r2 as teststaker1x3_2.aleo/set_operator.future;
finalize set_operator:
    input r0 as address.public;
    input r1 as address.public;
    input r2 as boolean.public;
    get admins[r0] into r3;
    assert.eq r3 true;
    set r2 into operators[r1];

function set_admin:
    input r0 as address.public;
    input r1 as boolean.public;
    assert.neq self.caller r0;
    async set_admin self.caller r0 r1 into r2;
    output r2 as teststaker1x3_2.aleo/set_admin.future;
finalize set_admin:
    input r0 as address.public;
    input r1 as address.public;
    input r2 as boolean.public;
    get admins[r0] into r3;
    assert.eq r3 true;
    set r2 into admins[r1];

function init:
    assert.eq self.caller aleo18jfrqsz4m853grpgzflrlzdkcm9art926668g80vd9ruyzv8rsqqlchzyj;
    async init  into r0;
    output r0 as teststaker1x3_2.aleo/init.future;
finalize init:
    contains admins[aleo18jfrqsz4m853grpgzflrlzdkcm9art926668g80vd9ruyzv8rsqqlchzyj] into r0;
    not r0 into r1;
    assert.eq r1 true;
    set true into admins[aleo18jfrqsz4m853grpgzflrlzdkcm9art926668g80vd9ruyzv8rsqqlchzyj];
    set true into operators[aleo18jfrqsz4m853grpgzflrlzdkcm9art926668g80vd9ruyzv8rsqqlchzyj];

function bond:
    input r0 as address.public;
    input r1 as u64.public;
    input r2 as u64.public;
    assert.neq r1 0u64;
    lte r2 r1 into r3;
    assert.eq r3 true;
    call teststake1x3.aleo/pull_aleo r2 into r4;
    call credits.aleo/bond_public r0 r1 into r5;
    async bond r4 r5 self.caller into r6;
    output r6 as teststaker1x3_2.aleo/bond.future;
finalize bond:
    input r0 as teststake1x3.aleo/pull_aleo.future;
    input r1 as credits.aleo/bond_public.future;
    input r2 as address.public;
    await r0;
    await r1;
    get operators[r2] into r3;
    assert.eq r3 true;

function unbond:
    input r0 as u64.public;
    assert.neq r0 0u64;
    call credits.aleo/unbond_public r0 into r1;
    async unbond r1 self.caller into r2;
    output r2 as teststaker1x3_2.aleo/unbond.future;
finalize unbond:
    input r0 as credits.aleo/unbond_public.future;
    input r1 as address.public;
    await r0;
    get operators[r1] into r2;
    assert.eq r2 true;

function claim:
    input r0 as u64.public;
    call credits.aleo/claim_unbond_public  into r1;
    call credits.aleo/transfer_public aleo1fgsrqlady5cymzadx4pk32kq2n3208y9mf8jdavk8gpnt9crdgrsswnmwq r0 into r2;
    async claim r1 r2 self.caller into r3;
    output r3 as teststaker1x3_2.aleo/claim.future;
finalize claim:
    input r0 as credits.aleo/claim_unbond_public.future;
    input r1 as credits.aleo/transfer_public.future;
    input r2 as address.public;
    await r0;
    await r1;
    get operators[r2] into r3;
    assert.eq r3 true;

function push_aleo:
    input r0 as u64.public;
    assert.neq r0 0u64;
    call credits.aleo/transfer_public aleo1fgsrqlady5cymzadx4pk32kq2n3208y9mf8jdavk8gpnt9crdgrsswnmwq r0 into r1;
    async push_aleo r1 self.caller into r2;
    output r2 as teststaker1x3_2.aleo/push_aleo.future;
finalize push_aleo:
    input r0 as credits.aleo/transfer_public.future;
    input r1 as address.public;
    await r0;
    get operators[r1] into r2;
    assert.eq r2 true;





Not implemented