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

Program samara_token.aleo

Program ID
samara_token.aleo
Owner signature
sign1f8689wkc937z5vzs3m5rzlhrlgcl0uq997mvlu6egr33xscrhsqhcwzzjgdl7lulxmv7wfnqdrcz6mgfhzvzshtvu3txy4vp4t9fgqkuyud3qq2mlw8nz2fz4jxt6xm9jhsmvhcmkdcyfgfqf8jqjl3czqy0lax5v449gvuju47axh5avflrujsxhfaf7h4xj8em73n59msqcyz0xkn
Times called
10
Similar programs
Imports
-
Mappings
account (address -> u64)
Structs
-
Records
samara_token
Functions
-
Transitions
mint_public(public address, public u64) -> () finalize(address, u64)
mint_private(address, u64) -> samara_token
transfer_public(public address, public u64) -> () finalize(address, address, u64)
transfer_private(samara_token, address, u64) -> (samara_token, samara_token)
transfer_private_to_public(samara_token, public address, public u64) -> samara_token finalize(address, u64)
transfer_public_to_private(public address, public u64) -> samara_token finalize(address, u64)
Program Source Code (Aleo Instruction) Upload Leo source

program samara_token.aleo;

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

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

function mint_public:
    input r0 as address.public;
    input r1 as u64.public;
    async mint_public r0 r1 into r2;
    output r2 as samara_token.aleo/mint_public.future;
finalize mint_public:
    input r0 as address.public;
    input r1 as u64.public;
    get.or_use account[r0] 0u64 into r2;
    add r2 r1 into r3;
    set r3 into account[r0];

function mint_private:
    input r0 as address.private;
    input r1 as u64.private;
    cast r0 r1 into r2 as samara_token.record;
    output r2 as samara_token.record;

function transfer_public:
    input r0 as address.public;
    input r1 as u64.public;
    async transfer_public self.caller r0 r1 into r2;
    output r2 as samara_token.aleo/transfer_public.future;
finalize transfer_public:
    input r0 as address.public;
    input r1 as address.public;
    input r2 as u64.public;
    get.or_use account[r0] 0u64 into r3;
    sub r3 r2 into r4;
    set r4 into account[r0];
    get.or_use account[r1] 0u64 into r5;
    add r5 r2 into r6;
    set r6 into account[r1];

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

function transfer_private_to_public:
    input r0 as samara_token.record;
    input r1 as address.public;
    input r2 as u64.public;
    sub r0.amount r2 into r3;
    cast r0.owner r3 into r4 as samara_token.record;
    async transfer_private_to_public r1 r2 into r5;
    output r4 as samara_token.record;
    output r5 as samara_token.aleo/transfer_private_to_public.future;
finalize transfer_private_to_public:
    input r0 as address.public;
    input r1 as u64.public;
    get.or_use account[r0] 0u64 into r2;
    add r2 r1 into r3;
    set r3 into account[r0];

function transfer_public_to_private:
    input r0 as address.public;
    input r1 as u64.public;
    cast r0 r1 into r2 as samara_token.record;
    async transfer_public_to_private self.caller r1 into r3;
    output r2 as samara_token.record;
    output r3 as samara_token.aleo/transfer_public_to_private.future;
finalize transfer_public_to_private:
    input r0 as address.public;
    input r1 as u64.public;
    get.or_use account[r0] 0u64 into r2;
    sub r2 r1 into r3;
    set r3 into account[r0];

Block heightTimestampTransition IDFunction callState
734,6962023-12-01 13:27:51au13e5jzj7wtxw9lcevxvp3pajs5xqp5lfcsmzy0us9cnn94w5x3c8qdulh7etransfer_publicAccepted
734,6892023-12-01 13:27:19au1fnnhwkw2rpduy24624yse9u44s4088kdy39ltxxt88e9zl80jgfq5mky9htransfer_publicAccepted
734,5562023-12-01 13:18:01au1gwj9v82m8gfru785yudp4hpzfjkuypn9252dvx8hcndvd6u59q8qcxxc0wtransfer_publicAccepted
700,2292023-11-29 16:53:00au1munezdcs63szjc2xyanzkyayr9gd0p9gd557zf2uepkjj893fgyscwmkdytransfer_publicAccepted
678,0702023-11-28 14:03:16au1jdh86l44xqcz2xcenmr57azawwnersy2zn7unkcrnhff6j3r559sycrj5rtransfer_publicAccepted
639,8542023-11-26 17:03:12au1px0hl6cgh8hq59xsf0z6hpe5v894a9937cgxteunc6nwhpe7dyyq5jql34transfer_publicRejected
639,7532023-11-26 16:55:41au1f5vms6zutslrasn8zmc2vw9c8m68qwh6ths94wfzwwdh9k5gpuxsuqnu0utransfer_publicAccepted
639,5862023-11-26 16:43:09au1amehptuz282hc3vn3s896z77n5cz8d6nstr98txqsvekycd02cgsdhx2zytransfer_publicAccepted
639,4742023-11-26 16:35:12au1rul0tnyqfv6e3yudrk5hmuqf880fxr4l6lnfzcxx6hhllgpjfcfqy0xpj6transfer_publicAccepted
638,5512023-11-26 15:29:27au17553rpxzmh7et86cw027fhp2wwyy4j4msw3jf6cwau7rf0m47vpqwnn0sgmint_publicAccepted


Not implemented