Program my_vote1.aleo

Program ID
my_vote1.aleo
Times called
1
Similar programs
1
Program Structure
Imports
-
Mappings
proposals
tickets
agree_votes
disagree_votes
Structs
ProposalInfo
Records
Proposal
Ticket
Functions
-
Transitions
propose(public ProposalInfo) -> Proposal finalize(field)
new_ticket(public field, public address) -> Ticket finalize(field)
agree(Ticket) -> () finalize(field)
disagree(Ticket) -> () finalize(field)
Source code (Aleo instructions)
program my_vote1.aleo;

mapping proposals:
    key left as field.public;
    value right as ProposalInfo.public;

mapping tickets:
    key left as field.public;
    value right as u64.public;

mapping agree_votes:
    key left as field.public;
    value right as u64.public;

mapping disagree_votes:
    key left as field.public;
    value right as u64.public;

struct ProposalInfo:
    title as field;
    content as field;
    proposer as address;

record Proposal:
    owner as address.private;
    gates as u64.private;
    id as field.private;
    info as ProposalInfo.private;

record Ticket:
    owner as address.private;
    gates as u64.private;
    pid as field.private;

function propose:
    input r0 as ProposalInfo.public;
    assert_eq self.caller r0.proposer;
    BHP256::hash r0.title into r1;
    cast self.caller 0u64 r1 r0 into r2 as Proposal.record;
    output r2 as Proposal.record;
    finalize r1;

finalize propose:
    input r0 as field.public;
    increment tickets[r0] by 0u64;

function new_ticket:
    input r0 as field.public;
    input r1 as address.public;
    cast r1 0u64 r0 into r2 as Ticket.record;
    output r2 as Ticket.record;
    finalize r0;

finalize new_ticket:
    input r0 as field.public;
    increment tickets[r0] by 1u64;

function agree:
    input r0 as Ticket.record;
    finalize r0.pid;

finalize agree:
    input r0 as field.public;
    increment agree_votes[r0] by 1u64;

function disagree:
    input r0 as Ticket.record;
    finalize r0.pid;

finalize disagree:
    input r0 as field.public;
    increment disagree_votes[r0] by 1u64;

Recent calls

Block height Timestamp Transition ID Function call
704698 2023-03-05 06:53:29 as1wcumdlzpsjvz8daz6cwa5j542etzt8ysqw0clts77nvmmrppgqgqzx6qac new_ticket
704665 2023-03-05 06:46:29 as1ka0pw99smvs9hpuzfsmv0xgehgjqkwtlpv46zr47563mneyg8yps3gwu6a propose