The explorer is out of sync. The last synced block is 566 hours ago. Current block height: explorer: 2206528 / node: Too Many Requests! Wait for 0s / ref: 2492275

Program aleo_ticket.aleo

Program ID
aleo_ticket.aleo
Owner signature
sign1ah2tl870hhcqux7uypaqwl2qnuwrz7fzdvp4rdk7k7thapvggypg6s0jsae5u84agsnl525mlvhergdu5gudjm22ytakfqrm0f6pkq6w0clpv0x6w2eaghzcnmwdxpkelah00n0l2wsea9fkaqyd0km8p2gwk0c57evlqu7sshv0v2dkdfjznvqrw7famptxt6tazuxy0aysyqce5am
Times called
1
Similar programs
Imports
-
Mappings
ticket_num (field -> u64)
ticket_price (field -> u64)
start_time (field -> u64)
end_time (field -> u64)
ticket_url (field -> field)
Structs
-
Records
Ticket
Functions
-
Transitions
create_ticket(public field, public u64, public u64, public u64, public u64, public field) -> () finalize(field, u64, u64, u64, u64, field)
mint_public(public address, public field, public u64, public u64, public u64, public u64, public field, public field, public field, public field, u64) -> Ticket finalize(field)
mint_private(address, field, u64, u64, u64, u64, public field, public field, public field, public field, u64) -> Ticket finalize(field)
transfer_public(Ticket, public address) -> Ticket
transfer_private(Ticket, address) -> Ticket
transfer_private_to_public(Ticket, public address) -> Ticket
transfer_public_to_private(Ticket, address) -> Ticket
Program Source Code (Aleo Instruction) Upload Leo source

program aleo_ticket.aleo;

record Ticket:
    owner as address.private;
    gates as u64.private;
    name as field.private;
    ticket_num as u64.private;
    ticket_price as u64.private;
    start_time as u64.private;
    end_time as u64.private;
    ticket_url1 as field.private;
    ticket_url2 as field.private;
    ticket_url3 as field.private;
    ticket_url4 as field.private;

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

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

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

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

mapping ticket_url:
    key as field.public;
    value as field.public;

function create_ticket:
    input r0 as field.public;
    input r1 as u64.public;
    input r2 as u64.public;
    input r3 as u64.public;
    input r4 as u64.public;
    input r5 as field.public;
    gt r1 0u64 into r6;
    assert.eq r6 true;
    async create_ticket r0 r1 r2 r3 r4 r5 into r7;
    output r7 as aleo_ticket.aleo/create_ticket.future;
finalize create_ticket:
    input r0 as field.public;
    input r1 as u64.public;
    input r2 as u64.public;
    input r3 as u64.public;
    input r4 as u64.public;
    input r5 as field.public;
    set r1 into ticket_num[r0];
    set r2 into ticket_price[r0];
    set r3 into start_time[r0];
    set r4 into end_time[r0];
    set r5 into ticket_url[r0];

function mint_public:
    input r0 as address.public;
    input r1 as field.public;
    input r2 as u64.public;
    input r3 as u64.public;
    input r4 as u64.public;
    input r5 as u64.public;
    input r6 as field.public;
    input r7 as field.public;
    input r8 as field.public;
    input r9 as field.public;
    input r10 as u64.private;
    lt r4 r10 into r11;
    assert.eq r11 true;
    lt r10 r5 into r12;
    assert.eq r12 true;
    cast r0 0u64 r1 r2 r3 r4 r5 r6 r7 r8 r9 into r13 as Ticket.record;
    async mint_public r1 into r14;
    output r13 as Ticket.record;
    output r14 as aleo_ticket.aleo/mint_public.future;
finalize mint_public:
    input r0 as field.public;
    get ticket_num[r0] into r1;
    sub r1 1u64 into r2;
    set r2 into ticket_num[r0];

function mint_private:
    input r0 as address.private;
    input r1 as field.private;
    input r2 as u64.private;
    input r3 as u64.private;
    input r4 as u64.private;
    input r5 as u64.private;
    input r6 as field.public;
    input r7 as field.public;
    input r8 as field.public;
    input r9 as field.public;
    input r10 as u64.private;
    lt r4 r10 into r11;
    assert.eq r11 true;
    lt r10 r5 into r12;
    assert.eq r12 true;
    cast r0 0u64 r1 r2 r3 r4 r5 r6 r7 r8 r9 into r13 as Ticket.record;
    async mint_private r1 into r14;
    output r13 as Ticket.record;
    output r14 as aleo_ticket.aleo/mint_private.future;
finalize mint_private:
    input r0 as field.public;
    get ticket_num[r0] into r1;
    sub r1 1u64 into r2;
    set r2 into ticket_num[r0];

function transfer_public:
    input r0 as Ticket.record;
    input r1 as address.public;
    assert.eq self.caller r0.owner;
    cast r1 r0.gates r0.name r0.ticket_num r0.ticket_price r0.start_time r0.end_time r0.ticket_url1 r0.ticket_url2 r0.ticket_url3 r0.ticket_url4 into r2 as Ticket.record;
    output r2 as Ticket.record;

function transfer_private:
    input r0 as Ticket.record;
    input r1 as address.private;
    assert.eq self.caller r0.owner;
    cast r1 r0.gates r0.name r0.ticket_num r0.ticket_price r0.start_time r0.end_time r0.ticket_url1 r0.ticket_url2 r0.ticket_url3 r0.ticket_url4 into r2 as Ticket.record;
    output r2 as Ticket.record;

function transfer_private_to_public:
    input r0 as Ticket.record;
    input r1 as address.public;
    assert.eq self.caller r0.owner;
    cast r1 r0.gates r0.name r0.ticket_num r0.ticket_price r0.start_time r0.end_time r0.ticket_url1 r0.ticket_url2 r0.ticket_url3 r0.ticket_url4 into r2 as Ticket.record;
    output r2 as Ticket.record;

function transfer_public_to_private:
    input r0 as Ticket.record;
    input r1 as address.private;
    assert.eq self.caller r0.owner;
    cast r1 r0.gates r0.name r0.ticket_num r0.ticket_price r0.start_time r0.end_time r0.ticket_url1 r0.ticket_url2 r0.ticket_url3 r0.ticket_url4 into r2 as Ticket.record;
    output r2 as Ticket.record;

Block heightTimestampTransition IDFunction callState
23,9982023-10-23 10:05:16au13w6gkhqev5a0v6pmqvtqlsus3h2akh3p3z0dgg676cdu35v0svyqpmf3u5create_ticketAccepted










Not implemented