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

API

squid_forge

Module0xec7b…eec7
Move path
0xd219…f1d7::squid_forge
Functions
102 public, 2 entry
Structs
5
Friend modules
None
squid_forge

Bytecode711 lines

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

// Move bytecode v7
module d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7.squid_forge {
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::collector;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::ika_chan_attributes;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::ika_chan_level;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::ika_chan_nft;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::ika_chan_values;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::squid_leaderboard;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::values;
use 434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879::personal_kiosk;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::u32;
use 0000000000000000000000000000000000000000000000000000000000000002::balance;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::event;
use 0000000000000000000000000000000000000000000000000000000000000002::kiosk;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::random;
use 0000000000000000000000000000000000000000000000000000000000000002::sui;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
 
struct LevelledUpEvent has copy, drop {
nft_id: ID,
new_level: u32,
level_ups: u32,
keys_minted: u32
}
 
struct SQUID_FORGE has drop {
dummy_field: bool
}
 
struct SquidForgeAdminCap has store, key {
id: UID
}
 
struct SquidForge has store, key {
id: UID,
level_up_price: u64,
proceeds: Balance<SUI>,
mode: SquidForgeMode
}
 
enum SquidForgeMode has copy, drop, store {
Inactive { },
Pause { },
Active { },
Completed { }
}
 
init(Arg0: SQUID_FORGE, Arg1: &mut TxContext) {
L2: loc0: SquidForgeAdminCap
L3: loc1: Display<SquidForge>
L4: loc2: Publisher
B0:
0MoveLoc[0](Arg0: SQUID_FORGE)
1CopyLoc[1](Arg1: &mut TxContext)
2Call package::claim<SQUID_FORGE>(SQUID_FORGE, &mut TxContext): Publisher
3StLoc[4](loc2: Publisher)
4ImmBorrowLoc[4](loc2: Publisher)
5CopyLoc[1](Arg1: &mut TxContext)
6Call display::new<SquidForge>(&Publisher, &mut TxContext): Display<SquidForge>
7StLoc[3](loc1: Display<SquidForge>)
8MutBorrowLoc[3](loc1: Display<SquidForge>)
9LdConst[6](vector<u8>: "nam..)
10Call string::utf8(vector<u8>): String
11LdConst[7](vector<u8>: "Squ..)
12Call string::utf8(vector<u8>): String
13Call display::add<SquidForge>(&mut Display<SquidForge>, String, String)
14MutBorrowLoc[3](loc1: Display<SquidForge>)
15LdConst[8](vector<u8>: "des..)
16Call string::utf8(vector<u8>): String
17LdConst[9](vector<u8>: "Deg..)
18Call string::utf8(vector<u8>): String
19Call display::add<SquidForge>(&mut Display<SquidForge>, String, String)
20MutBorrowLoc[3](loc1: Display<SquidForge>)
21LdConst[10](vector<u8>: "ima..)
22Call string::utf8(vector<u8>): String
23LdConst[11](vector<u8>: "/im..)
24Call string::utf8(vector<u8>): String
25Call values::get_image_url(String): String
26Call display::add<SquidForge>(&mut Display<SquidForge>, String, String)
27MutBorrowLoc[3](loc1: Display<SquidForge>)
28LdConst[12](vector<u8>: "cre..)
29Call string::utf8(vector<u8>): String
30Call values::display_project_url(): String
31Call display::add<SquidForge>(&mut Display<SquidForge>, String, String)
32MutBorrowLoc[3](loc1: Display<SquidForge>)
33LdConst[13](vector<u8>: "pro..)
34Call string::utf8(vector<u8>): String
35Call values::display_creator_value(): String
36Call display::add<SquidForge>(&mut Display<SquidForge>, String, String)
37MutBorrowLoc[3](loc1: Display<SquidForge>)
38Call display::update_version<SquidForge>(&mut Display<SquidForge>)
39CopyLoc[1](Arg1: &mut TxContext)
40Call object::new(&mut TxContext): UID
41Pack[2](SquidForgeAdminCap)
42StLoc[2](loc0: SquidForgeAdminCap)
43MoveLoc[3](loc1: Display<SquidForge>)
44LdConst[14](address: 0x82..)
45Call transfer::public_transfer<Display<SquidForge>>(Display<SquidForge>, address)
46MoveLoc[4](loc2: Publisher)
47LdConst[14](address: 0x82..)
48Call transfer::public_transfer<Publisher>(Publisher, address)
49MoveLoc[2](loc0: SquidForgeAdminCap)
50LdConst[14](address: 0x82..)
51Call transfer::public_transfer<SquidForgeAdminCap>(SquidForgeAdminCap, address)
52MoveLoc[1](Arg1: &mut TxContext)
53Call object::new(&mut TxContext): UID
54LdU64(1000000000)
55Call balance::zero<SUI>(): Balance<SUI>
56PackVariant(VariantHandleIndex(0))
57Pack[3](SquidForge)
58Call transfer::share_object<SquidForge>(SquidForge)
59Ret
}
 
entry level_up_nft(Arg0: &mut SquidForge, Arg1: &mut Coin<SUI>, Arg2: &mut Kiosk, Arg3: &mut PersonalKioskCap, Arg4: ID, Arg5: &Random, Arg6: &mut SquidLeaderboard, Arg7: &mut TxContext) {
L8: loc0: RandomGenerator
L9: loc1: u64
L10: loc2: Coin<SUI>
B0:
0CopyLoc[1](Arg1: &mut Coin<SUI>)
1FreezeRef
2Call coin::value<SUI>(&Coin<SUI>): u64
3CopyLoc[0](Arg0: &mut SquidForge)
4ImmBorrowField[0](SquidForge.level_up_price: u64)
5ReadRef
6Ge
7BrFalse(9)
B1:
8Branch(25)
B2:
9MoveLoc[0](Arg0: &mut SquidForge)
10Pop
11MoveLoc[5](Arg5: &Random)
12Pop
13MoveLoc[3](Arg3: &mut PersonalKioskCap)
14Pop
15MoveLoc[6](Arg6: &mut SquidLeaderboard)
16Pop
17MoveLoc[2](Arg2: &mut Kiosk)
18Pop
19MoveLoc[7](Arg7: &mut TxContext)
20Pop
21MoveLoc[1](Arg1: &mut Coin<SUI>)
22Pop
23LdConst[2](u64: 2)
24Abort
B3:
25CopyLoc[0](Arg0: &mut SquidForge)
26ImmBorrowField[1](SquidForge.mode: SquidForgeMode)
27ReadRef
28PackVariant(VariantHandleIndex(1))
29Eq
30BrFalse(32)
B4:
31Branch(48)
B5:
32MoveLoc[0](Arg0: &mut SquidForge)
33Pop
34MoveLoc[5](Arg5: &Random)
35Pop
36MoveLoc[3](Arg3: &mut PersonalKioskCap)
37Pop
38MoveLoc[6](Arg6: &mut SquidLeaderboard)
39Pop
40MoveLoc[2](Arg2: &mut Kiosk)
41Pop
42MoveLoc[7](Arg7: &mut TxContext)
43Pop
44MoveLoc[1](Arg1: &mut Coin<SUI>)
45Pop
46LdConst[3](u64: 3)
47Abort
B6:
48CopyLoc[1](Arg1: &mut Coin<SUI>)
49FreezeRef
50Call coin::value<SUI>(&Coin<SUI>): u64
51CopyLoc[0](Arg0: &mut SquidForge)
52ImmBorrowField[0](SquidForge.level_up_price: u64)
53ReadRef
54Div
55StLoc[9](loc1: u64)
56MoveLoc[1](Arg1: &mut Coin<SUI>)
57CopyLoc[0](Arg0: &mut SquidForge)
58ImmBorrowField[0](SquidForge.level_up_price: u64)
59ReadRef
60CopyLoc[9](loc1: u64)
61Mul
62CopyLoc[7](Arg7: &mut TxContext)
63Call coin::split<SUI>(&mut Coin<SUI>, u64, &mut TxContext): Coin<SUI>
64StLoc[10](loc2: Coin<SUI>)
65CopyLoc[0](Arg0: &mut SquidForge)
66MutBorrowField[2](SquidForge.proceeds: Balance<SUI>)
67MoveLoc[10](loc2: Coin<SUI>)
68Call coin::into_balance<SUI>(Coin<SUI>): Balance<SUI>
69Call balance::join<SUI>(&mut Balance<SUI>, Balance<SUI>): u64
70Pop
71MoveLoc[5](Arg5: &Random)
72MoveLoc[7](Arg7: &mut TxContext)
73Call random::new_generator(&Random, &mut TxContext): RandomGenerator
74StLoc[8](loc0: RandomGenerator)
75MoveLoc[0](Arg0: &mut SquidForge)
76MoveLoc[2](Arg2: &mut Kiosk)
77MoveLoc[3](Arg3: &mut PersonalKioskCap)
78MoveLoc[4](Arg4: ID)
79MoveLoc[9](loc1: u64)
80CastU32
81MutBorrowLoc[8](loc0: RandomGenerator)
82MoveLoc[6](Arg6: &mut SquidLeaderboard)
83Call handle_level_ups_int(&mut SquidForge, &mut Kiosk, &mut PersonalKioskCap, ID, u32, &mut RandomGenerator, &mut SquidLeaderboard)
84Ret
}
 
entry collect_proceeds(Arg0: &mut SquidForge, Arg1: &mut Collector) {
L2: loc0: Balance<SUI>
B0:
0MoveLoc[0](Arg0: &mut SquidForge)
1MutBorrowField[2](SquidForge.proceeds: Balance<SUI>)
2Call balance::withdraw_all<SUI>(&mut Balance<SUI>): Balance<SUI>
3StLoc[2](loc0: Balance<SUI>)
4MoveLoc[1](Arg1: &mut Collector)
5MoveLoc[2](loc0: Balance<SUI>)
6Call collector::collect(&mut Collector, Balance<SUI>)
7Ret
}
 
public set_level_up_price(Arg0: &mut SquidForge, Arg1: &SquidForgeAdminCap, Arg2: u64) {
B0:
0MoveLoc[2](Arg2: u64)
1MoveLoc[0](Arg0: &mut SquidForge)
2MutBorrowField[0](SquidForge.level_up_price: u64)
3WriteRef
4Ret
}
 
public set_mode(Arg0: &mut SquidForge, Arg1: &SquidForgeAdminCap, Arg2: u8) {
L3: loc0: SquidForgeMode
B0:
0MoveLoc[2](Arg2: u8)
1Call u8_to_mode(u8): SquidForgeMode
2StLoc[3](loc0: SquidForgeMode)
3CopyLoc[0](Arg0: &mut SquidForge)
4ImmBorrowField[1](SquidForge.mode: SquidForgeMode)
5ReadRef
6PackVariant(VariantHandleIndex(2))
7Neq
8BrFalse(10)
B1:
9Branch(14)
B2:
10MoveLoc[0](Arg0: &mut SquidForge)
11Pop
12LdConst[4](u64: 4)
13Abort
B3:
14MoveLoc[3](loc0: SquidForgeMode)
15MoveLoc[0](Arg0: &mut SquidForge)
16MutBorrowField[1](SquidForge.mode: SquidForgeMode)
17WriteRef
18Ret
}
 
u8_to_mode(Arg0: u8): SquidForgeMode {
L1: loc0: SquidForgeMode
L2: loc1: SquidForgeMode
L3: loc2: SquidForgeMode
L4: loc3: &u8
L5: loc4: u8
B0:
0MoveLoc[0](Arg0: u8)
1StLoc[5](loc4: u8)
2ImmBorrowLoc[5](loc4: u8)
3StLoc[4](loc3: &u8)
4CopyLoc[4](loc3: &u8)
5ReadRef
6LdU8(0)
7Eq
8BrFalse(14)
B1:
9MoveLoc[4](loc3: &u8)
10Pop
11PackVariant(VariantHandleIndex(0))
12StLoc[3](loc2: SquidForgeMode)
13Branch(48)
B2:
14CopyLoc[4](loc3: &u8)
15ReadRef
16LdU8(1)
17Eq
18BrFalse(24)
B3:
19MoveLoc[4](loc3: &u8)
20Pop
21PackVariant(VariantHandleIndex(3))
22StLoc[2](loc1: SquidForgeMode)
23Branch(46)
B4:
24CopyLoc[4](loc3: &u8)
25ReadRef
26LdU8(2)
27Eq
28BrFalse(34)
B5:
29MoveLoc[4](loc3: &u8)
30Pop
31PackVariant(VariantHandleIndex(1))
32StLoc[1](loc0: SquidForgeMode)
33Branch(44)
B6:
34MoveLoc[4](loc3: &u8)
35ReadRef
36LdU8(3)
37Eq
38BrFalse(40)
B7:
39Branch(42)
B8:
40LdConst[5](u64: 5)
41Abort
B9:
42PackVariant(VariantHandleIndex(2))
43StLoc[1](loc0: SquidForgeMode)
B10:
44MoveLoc[1](loc0: SquidForgeMode)
45StLoc[2](loc1: SquidForgeMode)
B11:
46MoveLoc[2](loc1: SquidForgeMode)
47StLoc[3](loc2: SquidForgeMode)
B12:
48MoveLoc[3](loc2: SquidForgeMode)
49Ret
}
 
handle_level_ups_int(Arg0: &mut SquidForge, Arg1: &mut Kiosk, Arg2: &mut PersonalKioskCap, Arg3: ID, Arg4: u32, Arg5: &mut RandomGenerator, Arg6: &mut SquidLeaderboard) {
L7: loc0: u32
L8: loc1: u32
L9: loc2: ID
L10: loc3: u32
L11: loc4: u32
L12: loc5: u32
L13: loc6: Borrow
L14: loc7: u32
L15: loc8: u32
L16: loc9: u32
L17: loc10: KioskOwnerCap
L18: loc11: u32
L19: loc12: u32
L20: loc13: u32
L21: loc14: u32
L22: loc15: IkaChanNft
L23: loc16: Borrow
L24: loc17: u32
L25: loc18: u32
B0:
0CopyLoc[2](Arg2: &mut PersonalKioskCap)
1Call personal_kiosk::borrow_val(&mut PersonalKioskCap): KioskOwnerCap * Borrow
2StLoc[13](loc6: Borrow)
3StLoc[17](loc10: KioskOwnerCap)
4CopyLoc[1](Arg1: &mut Kiosk)
5ImmBorrowLoc[17](loc10: KioskOwnerCap)
6CopyLoc[3](Arg3: ID)
7Call kiosk::borrow_val<IkaChanNft>(&mut Kiosk, &KioskOwnerCap, ID): IkaChanNft * Borrow
8StLoc[23](loc16: Borrow)
9StLoc[22](loc15: IkaChanNft)
10LdU32(100)
11StLoc[25](loc18: u32)
12LdU32(0)
13StLoc[16](loc9: u32)
14CopyLoc[4](Arg4: u32)
15StLoc[18](loc11: u32)
B1:
16CopyLoc[18](loc11: u32)
17LdU32(0)
18Gt
19BrFalse(92)
B2:
20Branch(21)
B3:
21ImmBorrowLoc[22](loc15: IkaChanNft)
22Call ika_chan_nft::borrow_level(&IkaChanNft): &Level
23Call ika_chan_level::current(&Level): u32
24StLoc[14](loc7: u32)
25ImmBorrowLoc[22](loc15: IkaChanNft)
26Call ika_chan_nft::borrow_level(&IkaChanNft): &Level
27Call ika_chan_level::levels_to_next_evolution_stage(&Level): u32
28StLoc[20](loc13: u32)
29ImmBorrowLoc[22](loc15: IkaChanNft)
30CopyLoc[25](loc18: u32)
31Call calc_key_roll_threshold(&IkaChanNft, u32): u32
32StLoc[15](loc8: u32)
33MoveLoc[14](loc7: u32)
34LdU32(1)
35Eq
36BrFalse(40)
B4:
37LdU32(1)
38StLoc[8](loc1: u32)
39Branch(53)
B5:
40CopyLoc[20](loc13: u32)
41LdU32(0)
42Eq
43BrFalse(47)
B6:
44CopyLoc[18](loc11: u32)
45StLoc[7](loc0: u32)
46Branch(51)
B7:
47CopyLoc[18](loc11: u32)
48MoveLoc[20](loc13: u32)
49Call u32::min(u32, u32): u32
50StLoc[7](loc0: u32)
B8:
51MoveLoc[7](loc0: u32)
52StLoc[8](loc1: u32)
B9:
53MoveLoc[8](loc1: u32)
54StLoc[19](loc12: u32)
55MoveLoc[18](loc11: u32)
56CopyLoc[19](loc12: u32)
57Sub
58StLoc[18](loc11: u32)
59MutBorrowLoc[22](loc15: IkaChanNft)
60CopyLoc[19](loc12: u32)
61Call ika_chan_nft::level_up(&mut IkaChanNft, u32)
62MoveLoc[19](loc12: u32)
63StLoc[24](loc17: u32)
B10:
64CopyLoc[24](loc17: u32)
65LdU32(0)
66Gt
67BrFalse(16)
B11:
68Branch(69)
B12:
69CopyLoc[5](Arg5: &mut RandomGenerator)
70LdU16(0)
71LdU32(100)
72CopyLoc[25](loc18: u32)
73Mul
74CastU16
75Call random::generate_u16_in_range(&mut RandomGenerator, u16, u16): u16
76CastU32
77CopyLoc[15](loc8: u32)
78Lt
79BrFalse(87)
B13:
80MutBorrowLoc[22](loc15: IkaChanNft)
81LdU64(1)
82Call ika_chan_nft::add_keys_to_wallet(&mut IkaChanNft, u64)
83MoveLoc[16](loc9: u32)
84LdU32(1)
85Add
86StLoc[16](loc9: u32)
B14:
87MoveLoc[24](loc17: u32)
88LdU32(1)
89Sub
90StLoc[24](loc17: u32)
91Branch(64)
B15:
92MoveLoc[5](Arg5: &mut RandomGenerator)
93Pop
94ImmBorrowLoc[22](loc15: IkaChanNft)
95Call ika_chan_nft::borrow_level(&IkaChanNft): &Level
96Call ika_chan_level::current(&Level): u32
97StLoc[21](loc14: u32)
98CopyLoc[3](Arg3: ID)
99StLoc[9](loc2: ID)
100MoveLoc[4](Arg4: u32)
101StLoc[10](loc3: u32)
102MoveLoc[16](loc9: u32)
103StLoc[11](loc4: u32)
104CopyLoc[21](loc14: u32)
105StLoc[12](loc5: u32)
106MoveLoc[9](loc2: ID)
107MoveLoc[12](loc5: u32)
108MoveLoc[10](loc3: u32)
109MoveLoc[11](loc4: u32)
110Pack[0](LevelledUpEvent)
111Call event::emit<LevelledUpEvent>(LevelledUpEvent)
112MoveLoc[6](Arg6: &mut SquidLeaderboard)
113MoveLoc[3](Arg3: ID)
114MoveLoc[21](loc14: u32)
115Call squid_leaderboard::update(&mut SquidLeaderboard, ID, u32)
116MoveLoc[1](Arg1: &mut Kiosk)
117MoveLoc[22](loc15: IkaChanNft)
118MoveLoc[23](loc16: Borrow)
119Call kiosk::return_val<IkaChanNft>(&mut Kiosk, IkaChanNft, Borrow)
120MoveLoc[2](Arg2: &mut PersonalKioskCap)
121MoveLoc[17](loc10: KioskOwnerCap)
122MoveLoc[13](loc6: Borrow)
123Call personal_kiosk::return_val(&mut PersonalKioskCap, KioskOwnerCap, Borrow)
124Ret
}
 
calc_key_roll_threshold(Arg0: &IkaChanNft, Arg1: u32): u32 {
L2: loc0: u32
L3: loc1: u32
L4: loc2: u32
L5: loc3: u32
B0:
0CopyLoc[0](Arg0: &IkaChanNft)
1Call get_key_drop_rate_perc(&IkaChanNft): u32
2StLoc[5](loc3: u32)
3MoveLoc[0](Arg0: &IkaChanNft)
4Call get_bonus_factor_perc(&IkaChanNft): u32
5StLoc[3](loc1: u32)
6CopyLoc[5](loc3: u32)
7CopyLoc[1](Arg1: u32)
8Mul
9StLoc[2](loc0: u32)
10MoveLoc[5](loc3: u32)
11MoveLoc[3](loc1: u32)
12Mul
13MoveLoc[1](Arg1: u32)
14Mul
15LdU32(100)
16Div
17StLoc[4](loc2: u32)
18MoveLoc[2](loc0: u32)
19MoveLoc[4](loc2: u32)
20Add
21Ret
}
 
get_key_drop_rate_perc(Arg0: &IkaChanNft): u32 {
L1: loc0: u32
L2: loc1: u32
L3: loc2: u32
L4: loc3: u32
L5: loc4: u32
L6: loc5: u8
B0:
0CopyLoc[0](Arg0: &IkaChanNft)
1Call ika_chan_nft::borrow_level(&IkaChanNft): &Level
2Call ika_chan_level::evolution_stage(&Level): u8
3StLoc[6](loc5: u8)
4MoveLoc[0](Arg0: &IkaChanNft)
5Call ika_chan_nft::borrow_level(&IkaChanNft): &Level
6Call ika_chan_level::current(&Level): u32
7LdU32(1)
8Eq
9BrFalse(13)
B1:
10LdU32(100)
11StLoc[5](loc4: u32)
12Branch(58)
B2:
13CopyLoc[6](loc5: u8)
14LdU8(1)
15Eq
16BrFalse(20)
B3:
17LdU32(5)
18StLoc[4](loc3: u32)
19Branch(56)
B4:
20CopyLoc[6](loc5: u8)
21LdU8(2)
22Eq
23BrFalse(27)
B5:
24LdU32(6)
25StLoc[3](loc2: u32)
26Branch(54)
B6:
27CopyLoc[6](loc5: u8)
28LdU8(3)
29Eq
30BrFalse(34)
B7:
31LdU32(7)
32StLoc[2](loc1: u32)
33Branch(52)
B8:
34CopyLoc[6](loc5: u8)
35LdU8(4)
36Eq
37BrFalse(41)
B9:
38LdU32(8)
39StLoc[1](loc0: u32)
40Branch(50)
B10:
41MoveLoc[6](loc5: u8)
42LdU8(5)
43Eq
44BrFalse(46)
B11:
45Branch(48)
B12:
46LdConst[0](u64: 0)
47Abort
B13:
48LdU32(10)
49StLoc[1](loc0: u32)
B14:
50MoveLoc[1](loc0: u32)
51StLoc[2](loc1: u32)
B15:
52MoveLoc[2](loc1: u32)
53StLoc[3](loc2: u32)
B16:
54MoveLoc[3](loc2: u32)
55StLoc[4](loc3: u32)
B17:
56MoveLoc[4](loc3: u32)
57StLoc[5](loc4: u32)
B18:
58MoveLoc[5](loc4: u32)
59Ret
}
 
get_bonus_factor_perc(Arg0: &IkaChanNft): u32 {
L1: loc0: u32
L2: loc1: u32
L3: loc2: u32
L4: loc3: u32
L5: loc4: String
B0:
0MoveLoc[0](Arg0: &IkaChanNft)
1Call ika_chan_nft::borrow_attributes(&IkaChanNft): &Attributes
2Call ika_chan_attributes::rarity(&Attributes): String
3StLoc[5](loc4: String)
4CopyLoc[5](loc4: String)
5Call ika_chan_values::rarity_value_common(): String
6Eq
7BrFalse(11)
B1:
8LdU32(0)
9StLoc[4](loc3: u32)
10Branch(47)
B2:
11CopyLoc[5](loc4: String)
12Call ika_chan_values::rarity_value_rare(): String
13Eq
14BrFalse(18)
B3:
15LdU32(5)
16StLoc[3](loc2: u32)
17Branch(45)
B4:
18CopyLoc[5](loc4: String)
19Call ika_chan_values::rarity_value_epic(): String
20Eq
21BrFalse(25)
B5:
22LdU32(10)
23StLoc[2](loc1: u32)
24Branch(43)
B6:
25CopyLoc[5](loc4: String)
26Call ika_chan_values::rarity_value_legendary(): String
27Eq
28BrFalse(32)
B7:
29LdU32(25)
30StLoc[1](loc0: u32)
31Branch(41)
B8:
32MoveLoc[5](loc4: String)
33Call ika_chan_values::rarity_value_mythic(): String
34Eq
35BrFalse(37)
B9:
36Branch(39)
B10:
37LdConst[1](u64: 1)
38Abort
B11:
39LdU32(50)
40StLoc[1](loc0: u32)
B12:
41MoveLoc[1](loc0: u32)
42StLoc[2](loc1: u32)
B13:
43MoveLoc[2](loc1: u32)
44StLoc[3](loc2: u32)
B14:
45MoveLoc[3](loc2: u32)
46StLoc[4](loc3: u32)
B15:
47MoveLoc[4](loc3: u32)
48Ret
}
 
Constants [
0 => u64: 0
1 => u64: 1
2 => u64: 2
3 => u64: 3
4 => u64: 4
5 => u64: 5
6 => vector<u8>: "name" // interpreted as UTF8 string
7 => vector<u8>: "Squid Forge" // interpreted as UTF8 string
8 => vector<u8>: "description" // interpreted as UTF8 string
9 => vector<u8>: "Degeneracy evolution chamber. Turns headpats into ahegao. Absolutely cursed." // interpreted as UTF8 string
10 => vector<u8>: "image_url" // interpreted as UTF8 string
11 => vector<u8>: "/images/squid-forge.webp" // interpreted as UTF8 string
12 => vector<u8>: "creator" // interpreted as UTF8 string
13 => vector<u8>: "project_url" // interpreted as UTF8 string
14 => address: 0x8233bf6971d0819edf3684b276bb03d4b7c005931909206564b71855d37145a1
]
}