operator
Module0x2dda…b12c
- Move path
- 0x2dda…b12c::operator
- Functions
- 86 public, 6 entry
- Structs
- 1
- Friend modules
- admin
operator
Bytecode213 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 2ddade053528a59efd0494bd876bccfb245166b59540cc1ed67d6e42ecc2b12c.operator {
use 2ddade053528a59efd0494bd876bccfb245166b59540cc1ed67d6e42ecc2b12c::custodian;
use 2ddade053528a59efd0494bd876bccfb245166b59540cc1ed67d6e42ecc2b12c::pandorian;
use 2ddade053528a59efd0494bd876bccfb245166b59540cc1ed67d6e42ecc2b12c::round;
use 2ddade053528a59efd0494bd876bccfb245166b59540cc1ed67d6e42ecc2b12c::state;
use 2ddade053528a59efd0494bd876bccfb245166b59540cc1ed67d6e42ecc2b12c::ticket;
use 2ddade053528a59efd0494bd876bccfb245166b59540cc1ed67d6e42ecc2b12c::version;
use 0000000000000000000000000000000000000000000000000000000000000001::ascii;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
struct OperatorCap has key {
id: UID
}
init(Arg0: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut TxContext)
1Call object::new(&mut TxContext): UID
2Pack[0](OperatorCap)
3LdConst[0](address: 0x93..)
4Call transfer::transfer<OperatorCap>(OperatorCap, address)
5Ret
}
public(friend) new_operator(Arg0: address, Arg1: &mut TxContext) {
B0:
0MoveLoc[1](Arg1: &mut TxContext)
1Call object::new(&mut TxContext): UID
2Pack[0](OperatorCap)
3MoveLoc[0](Arg0: address)
4Call transfer::transfer<OperatorCap>(OperatorCap, address)
5Ret
}
entry public create_round<Ty0>(Arg0: &OperatorCap, Arg1: &Version, Arg2: &mut State, Arg3: String, Arg4: u64, Arg5: u64, Arg6: u64, Arg7: u64, Arg8: u64, Arg9: u64, Arg10: bool, Arg11: &mut TxContext) {
L12: loc0: RoundInfo<Ty0>
L13: loc1: RoundKey<Ty0>
B0:
0MoveLoc[1](Arg1: &Version)
1Call version::assert_current_version(&Version)
2MoveLoc[3](Arg3: String)
3MoveLoc[4](Arg4: u64)
4MoveLoc[5](Arg5: u64)
5MoveLoc[6](Arg6: u64)
6MoveLoc[7](Arg7: u64)
7MoveLoc[8](Arg8: u64)
8MoveLoc[9](Arg9: u64)
9MoveLoc[10](Arg10: bool)
10MoveLoc[11](Arg11: &mut TxContext)
11Call round::new<Ty0>(String, u64, u64, u64, u64, u64, u64, bool, &mut TxContext): RoundInfo<Ty0>
12StLoc[12](loc0: RoundInfo<Ty0>)
13Call round::new_round_key<Ty0>(): RoundKey<Ty0>
14StLoc[13](loc1: RoundKey<Ty0>)
15MoveLoc[2](Arg2: &mut State)
16MoveLoc[13](loc1: RoundKey<Ty0>)
17MoveLoc[12](loc0: RoundInfo<Ty0>)
18Call state::add<RoundKey<Ty0>, RoundInfo<Ty0>>(&mut State, RoundKey<Ty0>, RoundInfo<Ty0>)
19Ret
}
entry public update_round<Ty0>(Arg0: &OperatorCap, Arg1: &Version, Arg2: &mut State, Arg3: u64, Arg4: u64, Arg5: u64, Arg6: u64, Arg7: u64, Arg8: u64) {
L9: loc0: RoundKey<Ty0>
B0:
0MoveLoc[1](Arg1: &Version)
1Call version::assert_current_version(&Version)
2Call round::new_round_key<Ty0>(): RoundKey<Ty0>
3StLoc[9](loc0: RoundKey<Ty0>)
4MoveLoc[2](Arg2: &mut State)
5MoveLoc[9](loc0: RoundKey<Ty0>)
6Call state::borrow_mut<RoundKey<Ty0>, RoundInfo<Ty0>>(&mut State, RoundKey<Ty0>): &mut RoundInfo<Ty0>
7MoveLoc[3](Arg3: u64)
8MoveLoc[4](Arg4: u64)
9MoveLoc[5](Arg5: u64)
10MoveLoc[6](Arg6: u64)
11MoveLoc[7](Arg7: u64)
12MoveLoc[8](Arg8: u64)
13Call round::update<Ty0>(&mut RoundInfo<Ty0>, u64, u64, u64, u64, u64, u64)
14Ret
}
entry public distribute_tickets<Ty0>(Arg0: &OperatorCap, Arg1: &Version, Arg2: &mut State, Arg3: vector<address>, Arg4: &mut TxContext) {
L5: loc0: TicketKey<Ty0>
L6: loc1: u64
L7: loc2: Ticket<Ty0>
L8: loc3: TicketKey<Ty0>
B0:
0MoveLoc[1](Arg1: &Version)
1Call version::assert_current_version(&Version)
2LdU64(0)
3StLoc[6](loc1: u64)
B1:
4CopyLoc[6](loc1: u64)
5ImmBorrowLoc[3](Arg3: vector<address>)
6VecLen(24)
7Ge
8BrFalse(10)
B2:
9Branch(36)
B3:
10ImmBorrowLoc[3](Arg3: vector<address>)
11CopyLoc[6](loc1: u64)
12VecImmBorrow(24)
13ReadRef
14Call ticket::new_ticket_key<Ty0>(address): TicketKey<Ty0>
15StLoc[8](loc3: TicketKey<Ty0>)
16CopyLoc[2](Arg2: &mut State)
17CopyLoc[8](loc3: TicketKey<Ty0>)
18StLoc[5](loc0: TicketKey<Ty0>)
19FreezeRef
20MoveLoc[5](loc0: TicketKey<Ty0>)
21Call state::contain<TicketKey<Ty0>, Ticket<Ty0>>(&State, TicketKey<Ty0>): bool
22BrFalse(24)
B4:
23Branch(4)
B5:
24CopyLoc[4](Arg4: &mut TxContext)
25Call ticket::new<Ty0>(&mut TxContext): Ticket<Ty0>
26StLoc[7](loc2: Ticket<Ty0>)
27CopyLoc[2](Arg2: &mut State)
28MoveLoc[8](loc3: TicketKey<Ty0>)
29MoveLoc[7](loc2: Ticket<Ty0>)
30Call state::add<TicketKey<Ty0>, Ticket<Ty0>>(&mut State, TicketKey<Ty0>, Ticket<Ty0>)
31MoveLoc[6](loc1: u64)
32LdU64(1)
33Add
34StLoc[6](loc1: u64)
35Branch(4)
B6:
36MoveLoc[2](Arg2: &mut State)
37Pop
38MoveLoc[4](Arg4: &mut TxContext)
39Pop
40Ret
}
entry public distribute_ticket<Ty0>(Arg0: &OperatorCap, Arg1: &Version, Arg2: &mut State, Arg3: address, Arg4: &mut TxContext) {
L5: loc0: TicketKey<Ty0>
L6: loc1: Ticket<Ty0>
L7: loc2: TicketKey<Ty0>
B0:
0MoveLoc[1](Arg1: &Version)
1Call version::assert_current_version(&Version)
2MoveLoc[3](Arg3: address)
3Call ticket::new_ticket_key<Ty0>(address): TicketKey<Ty0>
4StLoc[7](loc2: TicketKey<Ty0>)
5CopyLoc[2](Arg2: &mut State)
6CopyLoc[7](loc2: TicketKey<Ty0>)
7StLoc[5](loc0: TicketKey<Ty0>)
8FreezeRef
9MoveLoc[5](loc0: TicketKey<Ty0>)
10Call state::contain<TicketKey<Ty0>, Ticket<Ty0>>(&State, TicketKey<Ty0>): bool
11BrFalse(17)
B1:
12MoveLoc[2](Arg2: &mut State)
13Pop
14MoveLoc[4](Arg4: &mut TxContext)
15Pop
16Ret
B2:
17MoveLoc[4](Arg4: &mut TxContext)
18Call ticket::new<Ty0>(&mut TxContext): Ticket<Ty0>
19StLoc[6](loc1: Ticket<Ty0>)
20MoveLoc[2](Arg2: &mut State)
21MoveLoc[7](loc2: TicketKey<Ty0>)
22MoveLoc[6](loc1: Ticket<Ty0>)
23Call state::add<TicketKey<Ty0>, Ticket<Ty0>>(&mut State, TicketKey<Ty0>, Ticket<Ty0>)
24Ret
}
entry public mint_nft_to_custodian(Arg0: &OperatorCap, Arg1: &Version, Arg2: &mut Custodian, Arg3: String, Arg4: String, Arg5: vector<u8>, Arg6: vector<String>, Arg7: vector<String>, Arg8: &mut TxContext) {
L9: loc0: Pandorian
B0:
0MoveLoc[1](Arg1: &Version)
1Call version::assert_current_version(&Version)
2MoveLoc[3](Arg3: String)
3MoveLoc[4](Arg4: String)
4MoveLoc[5](Arg5: vector<u8>)
5MoveLoc[6](Arg6: vector<String>)
6MoveLoc[7](Arg7: vector<String>)
7MoveLoc[8](Arg8: &mut TxContext)
8Call pandorian::mint_nft(String, String, vector<u8>, vector<String>, vector<String>, &mut TxContext): Pandorian
9StLoc[9](loc0: Pandorian)
10MoveLoc[2](Arg2: &mut Custodian)
11MoveLoc[9](loc0: Pandorian)
12Call custodian::add_nft(&mut Custodian, Pandorian)
13Ret
}
entry public mint_nft_to_address(Arg0: &OperatorCap, Arg1: &Version, Arg2: String, Arg3: String, Arg4: vector<u8>, Arg5: vector<String>, Arg6: vector<String>, Arg7: address, Arg8: &mut TxContext) {
B0:
0MoveLoc[1](Arg1: &Version)
1Call version::assert_current_version(&Version)
2MoveLoc[2](Arg2: String)
3MoveLoc[3](Arg3: String)
4MoveLoc[4](Arg4: vector<u8>)
5MoveLoc[5](Arg5: vector<String>)
6MoveLoc[6](Arg6: vector<String>)
7MoveLoc[8](Arg8: &mut TxContext)
8Call pandorian::mint_nft(String, String, vector<u8>, vector<String>, vector<String>, &mut TxContext): Pandorian
9MoveLoc[7](Arg7: address)
10Call transfer::public_transfer<Pandorian>(Pandorian, address)
11Ret
}
Constants [
0 => address: 0x9389fc0b53610f38292b5eaccab3a5cb4be4cd9a08ebb7598b990ee57550d535
]
}