Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API

transfer_allowlist

Module0x34a2…c82c
Move path
0xbc3d…e5f9::transfer_allowlist
Functions
66 public, 2 entry
Structs
1
Friend modules
None
transfer_allowlist

Bytecode92 lines

The on-chain disassembly. Offsets are bytecode positions within each function.

// Move bytecode v6
module bc3df36be17f27ac98e3c839b2589db8475fa07b20657b08e8891e3aaf5ee5f9.transfer_allowlist {
use 70e34fcd390b767edbddaf7573450528698188c84c5395af8c4b12e3e37622fa::allowlist;
use 95a441d389b07437d00dd07e0b6f05f513d7659b13fd7c5d3923c7d9d847199b::ob_kiosk;
use e2c7a6843cb13d9549a9d2dc1c266b572ead0b4b9f090e7c3c46de2714102b43::request;
use e2c7a6843cb13d9549a9d2dc1c266b572ead0b4b9f090e7c3c46de2714102b43::transfer_request;
use 0000000000000000000000000000000000000000000000000000000000000001::type_name;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer_policy;
 
struct AllowlistRule has drop {
dummy_field: bool
}
 
entry public enforce<Ty0>(Arg0: &mut TransferPolicy<Ty0>, Arg1: &TransferPolicyCap<Ty0>) {
B0:
0LdFalse
1Pack[0](AllowlistRule)
2MoveLoc[0](Arg0: &mut TransferPolicy<Ty0>)
3MoveLoc[1](Arg1: &TransferPolicyCap<Ty0>)
4LdFalse
5Call transfer_request::add_originbyte_rule<Ty0, AllowlistRule, bool>(AllowlistRule, &mut TransferPolicy<Ty0>, &TransferPolicyCap<Ty0>, bool)
6Ret
}
 
public drop<Ty0>(Arg0: &mut TransferPolicy<Ty0>, Arg1: &TransferPolicyCap<Ty0>) {
B0:
0MoveLoc[0](Arg0: &mut TransferPolicy<Ty0>)
1MoveLoc[1](Arg1: &TransferPolicyCap<Ty0>)
2Call transfer_request::remove_originbyte_rule<Ty0, AllowlistRule, bool>(&mut TransferPolicy<Ty0>, &TransferPolicyCap<Ty0>)
3Ret
}
 
entry public enforce_<Ty0, Ty1>(Arg0: &mut Policy<WithNft<Ty0, Ty1>>, Arg1: &PolicyCap) {
B0:
0MoveLoc[0](Arg0: &mut Policy<WithNft<Ty0, Ty1>>)
1MoveLoc[1](Arg1: &PolicyCap)
2Call request::enforce_rule_no_state<WithNft<Ty0, Ty1>, AllowlistRule>(&mut Policy<WithNft<Ty0, Ty1>>, &PolicyCap)
3Ret
}
 
public drop_<Ty0, Ty1>(Arg0: &mut Policy<WithNft<Ty0, Ty1>>, Arg1: &PolicyCap) {
B0:
0MoveLoc[0](Arg0: &mut Policy<WithNft<Ty0, Ty1>>)
1MoveLoc[1](Arg1: &PolicyCap)
2Call request::drop_rule_no_state<WithNft<Ty0, Ty1>, AllowlistRule>(&mut Policy<WithNft<Ty0, Ty1>>, &PolicyCap)
3Ret
}
 
public confirm_transfer<Ty0>(Arg0: &Allowlist, Arg1: &mut TransferRequest<Ty0>) {
L2: loc0: &TypeName
B0:
0CopyLoc[1](Arg1: &mut TransferRequest<Ty0>)
1FreezeRef
2Call ob_kiosk::get_transfer_request_auth<Ty0>(&TransferRequest<Ty0>): &TypeName
3StLoc[2](loc0: &TypeName)
4MoveLoc[0](Arg0: &Allowlist)
5Call type_name::get<Ty0>(): TypeName
6MoveLoc[2](loc0: &TypeName)
7Call allowlist::assert_transferable(&Allowlist, TypeName, &TypeName)
8MoveLoc[1](Arg1: &mut TransferRequest<Ty0>)
9LdFalse
10Pack[0](AllowlistRule)
11Call transfer_request::add_receipt<Ty0, AllowlistRule>(&mut TransferRequest<Ty0>, AllowlistRule)
12Ret
}
 
public confirm_transfer_<Ty0, Ty1>(Arg0: &Allowlist, Arg1: &mut RequestBody<WithNft<Ty0, Ty1>>) {
L2: loc0: AllowlistRule
L3: loc1: &mut RequestBody<WithNft<Ty0, Ty1>>
L4: loc2: &TypeName
B0:
0CopyLoc[1](Arg1: &mut RequestBody<WithNft<Ty0, Ty1>>)
1FreezeRef
2Call ob_kiosk::get_transfer_request_auth_<Ty0, Ty1>(&RequestBody<WithNft<Ty0, Ty1>>): &TypeName
3StLoc[4](loc2: &TypeName)
4MoveLoc[0](Arg0: &Allowlist)
5Call type_name::get<Ty0>(): TypeName
6MoveLoc[4](loc2: &TypeName)
7Call allowlist::assert_transferable(&Allowlist, TypeName, &TypeName)
8MoveLoc[1](Arg1: &mut RequestBody<WithNft<Ty0, Ty1>>)
9StLoc[3](loc1: &mut RequestBody<WithNft<Ty0, Ty1>>)
10LdFalse
11Pack[0](AllowlistRule)
12StLoc[2](loc0: AllowlistRule)
13MoveLoc[3](loc1: &mut RequestBody<WithNft<Ty0, Ty1>>)
14ImmBorrowLoc[2](loc0: AllowlistRule)
15Call request::add_receipt<WithNft<Ty0, Ty1>, AllowlistRule>(&mut RequestBody<WithNft<Ty0, Ty1>>, &AllowlistRule)
16Ret
}
 
}