The explorer is out of sync. The last synced block is 571 hours ago. Current block height: explorer: 2206528 / node: 2570926 / ref: ?

Program ans_credit_transfer_v4.aleo

Program ID
ans_credit_transfer_v4.aleo
Owner signature
sign1v7y8wv8f90rvu856gckxvpwnr9pa3prjg925yaewn7f6kfsgeuqy8p3gxzsjaqndyqq35u8c6ye5vuauu5uwmxs3kze4vc7t7n7g2qyhrlc8p40nd8wm5hhd9wfym3rpy6fnk08af8z3ktjgqmqz2xk9qu0w5wdnuvu8krhddwxnx7k94j6qe9mj8mvkagara8ka0gumf9rq6ymw75d
Times called
2
Similar programs
Mappings
domain_credits (field -> u64)
Structs
-
Records
-
Functions
-
Transitions
transfer_credits(field, [u128; 4u32], u64, credits.aleo/credits) -> () finalize(field, u64)
claim_credits_private(aleo_name_service_registry_v3.aleo/NFT, [u128; 4u32], u64) -> () finalize(field, u64)
claim_credits_public(field, [u128; 4u32], u64) -> () finalize(field, field, u64)
Program Source Code (Aleo Instruction) Upload Leo source

import credits.aleo;
import aleo_name_service_registry_v3.aleo;

program ans_credit_transfer_v4.aleo;

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

function transfer_credits:
    input r0 as field.private;
    input r1 as [u128; 4u32].private;
    input r2 as u64.private;
    input r3 as credits.aleo/credits.record;
    call credits.aleo/transfer_private_to_public r3 aleo17rpfsac4tzh82k77kusrah2pwusrz0vlamuawy2cpprcj7d0nv8qql8cxu r2 into r4 r5;
    hash.psd2 r1 into r6 as scalar;
    commit.bhp256 r0 r6 into r7 as field;
    async transfer_credits r5 r7 r2 into r8;
    output r8 as ans_credit_transfer_v4.aleo/transfer_credits.future;
finalize transfer_credits:
    input r0 as credits.aleo/transfer_private_to_public.future;
    input r1 as field.public;
    input r2 as u64.public;
    await r0;
    get.or_use domain_credits[r1] 0u64 into r3;
    add r3 r2 into r4;
    set r4 into domain_credits[r1];

function claim_credits_private:
    input r0 as aleo_name_service_registry_v3.aleo/NFT.record;
    input r1 as [u128; 4u32].private;
    input r2 as u64.private;
    call credits.aleo/transfer_public_to_private self.caller r2 into r3 r4;
    hash.psd2 r1 into r5 as scalar;
    commit.bhp256 r0.data r5 into r6 as field;
    async claim_credits_private r4 r6 r2 into r7;
    output r7 as ans_credit_transfer_v4.aleo/claim_credits_private.future;
finalize claim_credits_private:
    input r0 as credits.aleo/transfer_public_to_private.future;
    input r1 as field.public;
    input r2 as u64.public;
    await r0;
    get domain_credits[r1] into r3;
    gte r3 r2 into r4;
    assert.eq r4 true;
    sub r3 r2 into r5;
    set r5 into domain_credits[r1];

function claim_credits_public:
    input r0 as field.private;
    input r1 as [u128; 4u32].private;
    input r2 as u64.private;
    call aleo_name_service_registry_v3.aleo/is_owner r0 self.caller into r3;
    call credits.aleo/transfer_public_to_private self.caller r2 into r4 r5;
    hash.psd2 r1 into r6 as scalar;
    commit.bhp256 r0 r6 into r7 as field;
    async claim_credits_public r3 r5 r0 r7 r2 into r8;
    output r8 as ans_credit_transfer_v4.aleo/claim_credits_public.future;
finalize claim_credits_public:
    input r0 as aleo_name_service_registry_v3.aleo/is_owner.future;
    input r1 as credits.aleo/transfer_public_to_private.future;
    input r2 as field.public;
    input r3 as field.public;
    input r4 as u64.public;
    await r0;
    await r1;
    get domain_credits[r3] into r5;
    gte r5 r4 into r6;
    assert.eq r6 true;
    sub r5 r4 into r7;
    set r7 into domain_credits[r3];

Block heightTimestampTransition IDFunction callState
1,506,7062024-02-24 17:29:23au1gg9phdrx5snsypu48ffr85defjjaraxmcea5t2rhn4emfe4mlsrq92699eclaim_credits_privateAccepted
1,506,6802024-02-24 17:25:43au1x5ndch823ghn0ujmpshy6yddl9w5447f3w7pjny6y8hk5ehyjszsxyep7ttransfer_creditsAccepted


Not implemented