transfer_allowlist
Module0x34a2…c82c
- Move path
- 0xbc3d…e5f9::transfer_allowlist
- Functions
- 66 public, 2 entry
- Structs
- 1
- Friend modules
- None
transfer_allowlist
- access_policy19
- attributes18
- collection19
- composable_nft28
- composable_svg27
- composable_url10
- creators16
- display_info14
- frozen_pub1
- mint_cap15
- mint_event3
- mint_pass12
- mint_supply19
- nft18
- nft_bag28
- nft_protocol5
- p2p_list8
- p2p_list_domain13
- plugins14
- royalty29
- royalty_strategy_bps23
- session_token8
- supply27
- svg13
- symbol10
- tags11
- transfer_allowlist6
- transfer_allowlist_domain13
- transfer_token5
- url7
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
}
}