The explorer is out of sync. The last synced block is 536 hours ago. Current block height: explorer: 2206528 / node: 2549163 / ref: 2492275
program zkdao_v0_0_1.aleo; struct Membership: requests as boolean; approvals as field; granted as boolean; struct Admin: num_admins as field; destruct_approvals as field; destructed as boolean; reset as boolean; mapping admins: key as field.public; value as boolean.public; mapping admin_struct: key as field.public; value as Admin.public; mapping membership: key as field.public; value as Membership.public; function grant_admin_initial: input r0 as address.private; hash.bhp256 self.caller into r1 as field; assert.eq r1 5471346192118974203811093312871574098188146069506081670514657699548656288468field; hash.bhp256 r0 into r2 as field; async grant_admin_initial r2 into r3; output r3 as zkdao_v0_0_1.aleo/grant_admin_initial.future; finalize grant_admin_initial: input r0 as field.public; cast 0field 0field false false into r1 as Admin; get.or_use admin_struct[0field] r1 into r2; assert.eq r2.destructed false; get.or_use admins[r0] false into r3; assert.eq r3 false; set true into admins[r0]; add r2.num_admins 1field into r4; cast r4 r2.destruct_approvals r2.destructed r2.reset into r5 as Admin; set r5 into admin_struct[0field]; function remove_admin_initial: input r0 as address.private; hash.bhp256 self.caller into r1 as field; assert.eq r1 5471346192118974203811093312871574098188146069506081670514657699548656288468field; hash.bhp256 r0 into r2 as field; async remove_admin_initial r2 into r3; output r3 as zkdao_v0_0_1.aleo/remove_admin_initial.future; finalize remove_admin_initial: input r0 as field.public; cast 0field 0field false false into r1 as Admin; get.or_use admin_struct[0field] r1 into r2; assert.eq r2.destructed false; gt r2.num_admins 0field into r3; assert.eq r3 true; get admins[r0] into r4; assert.eq r4 true; set false into admins[r0]; sub r2.num_admins 1field into r5; cast r5 r2.destruct_approvals r2.destructed r2.reset into r6 as Admin; set r6 into admin_struct[0field]; function destruct_owner: async destruct_owner into r0; output r0 as zkdao_v0_0_1.aleo/destruct_owner.future; finalize destruct_owner: cast 0field 0field false false into r0 as Admin; get.or_use admin_struct[0field] r0 into r1; gt r1.destruct_approvals 2field into r2; assert.eq r2 true; cast r1.num_admins r1.destruct_approvals true r1.reset into r3 as Admin; set r3 into admin_struct[0field]; function approve_destruct: hash.bhp256 self.caller into r0 as field; async approve_destruct r0 into r1; output r1 as zkdao_v0_0_1.aleo/approve_destruct.future; finalize approve_destruct: input r0 as field.public; get.or_use admins[r0] false into r1; assert.eq r1 true; cast 0field 0field false false into r2 as Admin; get.or_use admin_struct[0field] r2 into r3; add r3.destruct_approvals 1field into r4; cast r3.num_admins r4 r3.destructed r3.reset into r5 as Admin; set r5 into admin_struct[0field]; function request_membership: input r0 as address.private; hash.bhp256 r0 into r1 as field; async request_membership r1 into r2; output r2 as zkdao_v0_0_1.aleo/request_membership.future; finalize request_membership: input r0 as field.public; cast false 0field false into r1 as Membership; get.or_use membership[r0] r1 into r2; cast true r2.approvals r2.granted into r3 as Membership; set r3 into membership[r0]; function approve_membership: input r0 as address.private; hash.bhp256 r0 into r1 as field; hash.bhp256 self.caller into r2 as field; async approve_membership r2 r1 into r3; output r3 as zkdao_v0_0_1.aleo/approve_membership.future; finalize approve_membership: input r0 as field.public; input r1 as field.public; get.or_use admins[r0] false into r2; assert.eq r2 true; get membership[r1] into r3; add r3.approvals 1field into r4; cast r3.requests r4 r3.granted into r5 as Membership; set r5 into membership[r1]; function grant_membership: input r0 as address.private; hash.bhp256 r0 into r1 as field; async grant_membership r1 into r2; output r2 as zkdao_v0_0_1.aleo/grant_membership.future; finalize grant_membership: input r0 as field.public; get membership[r0] into r1; gt r1.approvals 2field into r2; assert.eq r2 true; cast r1.requests r1.approvals true into r3 as Membership; set r3 into membership[r0];
Block height | Timestamp | Transition ID | Function call | State |
104,482 | 2023-10-28 16:33:03 | au1rr2glyjrt0xjqg8wgvdcenenxjgrzqf9e7r9xw9x8cwy9flurcyq5a07ec | grant_membership | Accepted |
104,418 | 2023-10-28 16:27:57 | au1gcz3qyqy8tk9n5nae374sk235yscf5lm62dr6p0352542jp66spqy5j7ex | approve_membership | Accepted |
104,415 | 2023-10-28 16:27:44 | au183w9vlkpppxfqghue9daecf8vtenaq5k57929r7kd9f7gs9e8qqsp7r4sd | approve_membership | Accepted |
104,411 | 2023-10-28 16:27:26 | au1ws86d0x35qvp2nkufcd4janqjcv6p584jjkjzwr4623myqzpx5gq2tw006 | approve_membership | Accepted |
104,371 | 2023-10-28 16:24:21 | au16cuqu80vqnm8h8kh7c5stg247tcgspvrvu9xxs48jpycmp7xwsgqdfmut8 | grant_admin_initial | Accepted |
104,368 | 2023-10-28 16:24:06 | au1l2w36yqxka69qm7nxtja25se8h9xh5acxshnpstgmyq8fez98yqsz8ntpr | grant_admin_initial | Accepted |
104,365 | 2023-10-28 16:23:53 | au1hkx38vy9esaxflv92vtt3ydamcc2vdh87n3stzp5exk355auwcxq2wt5nk | grant_admin_initial | Accepted |
104,335 | 2023-10-28 16:21:30 | au1v7w0egkr90jp5mnek280tqwff0g9rlaflf8yz97u9yevm42l7qysngzcqe | request_membership | Accepted |