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

API

tasks

Module0x7c1c…f306
Move path
0x7de6…5d27::tasks
Functions
4938 public, 2 entry
Structs
15
Friend modules
None
tasks

Bytecode3246 lines

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

// Move bytecode v7
module 7de6bc92a5b7e07d09faecbff30f4c0ef751b97cafbd29fef8898a822a325d27.tasks {
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::ika_chan_level;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::ika_chan_nft;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::ika_chan_updater;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::ika_chan_values;
use d2197b1ce2096e96e726c29fa2c138c5c6748da169b81d34927c522b7499f1d7::squid_forge;
use 285b49635f4ed253967a2a4a5f0c5aea2cbd9dd0fc427b4086f3fad7ccef2c29::i_sui;
use b874c9b51b63e05425b74a22891c35b8da447900e577667b52e85a16d4d85486::staked_ika;
use 7de6bc92a5b7e07d09faecbff30f4c0ef751b97cafbd29fef8898a822a325d27::event_wrapper;
use 7de6bc92a5b7e07d09faecbff30f4c0ef751b97cafbd29fef8898a822a325d27::leaderboard;
use 434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879::personal_kiosk;
use 3533437eabe66f05207aec78857efad86f42c2be84e2bbd63692c7c37fd349fb::mf_squid_maiden;
use 0000000000000000000000000000000000000000000000000000000000000001::hash;
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::u64;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
use 0000000000000000000000000000000000000000000000000000000000000002::balance;
use 0000000000000000000000000000000000000000000000000000000000000002::clock;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_object_field;
use 0000000000000000000000000000000000000000000000000000000000000002::kiosk;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::object_table;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::random;
use 0000000000000000000000000000000000000000000000000000000000000002::sui;
use 0000000000000000000000000000000000000000000000000000000000000002::table;
use 0000000000000000000000000000000000000000000000000000000000000002::table_vec;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer_policy;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0::subdomain_registration;
use d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0::suins;
use d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0::suins_registration;
use e177697e191327901637f8d2c5ffbbde8b1aaac27ec1024c4b62d1ebd1cd7430::subdomains;
 
struct AdminCap has store, key {
id: UID,
already_initialized: bool
}
 
struct IkaStake has store {
staked_object_id: ID,
period: u64,
start_time_ts: u64,
end_time_ts: u64
}
 
struct LockedISUIBalance has store, key {
id: UID,
start_time_ts: u64,
unlock_time_ts: Option<u64>,
current_balance: u64,
locked_i_sui_id: ID,
account: address
}
 
struct LockedISUI has key {
id: UID,
start_time_ts: u64,
current_balance: Balance<I_SUI>
}
 
struct StakedIkaChanNft has key {
id: UID,
ika_chan_nft_id: ID
}
 
struct LockedStakedIka has key {
id: UID,
start_time_ts: u64,
stake_period: u64,
staked_ika: StakedIka
}
 
struct LockedStakedIkaBalance has store, key {
id: UID,
start_time_ts: u64,
unlock_time_ts: Option<u64>,
current_balance: u64,
stake_period: u64,
staked_ika_id: ID,
account: address
}
 
struct UserTasks has store, key {
id: UID,
i_sui_stakes: vector<ID>,
ika_stakes: vector<ID>,
staked_nfts: vector<ID>,
did_ecdsa_commitment: bool,
did_eth_deposit_commitment: bool,
did_eddsa_commitment: bool,
did_sol_deposit_commitment: bool,
riddle_one_answered: bool,
riddle_two_answered: bool,
riddle_three_answered: bool,
message_commitments_count: u64,
commitments: TableVec<vector<u8>>,
drizzlets_earned: u64,
did_reveal_nft: bool,
used_community_participation_code: vector<u8>,
acquired_suins: Option<vector<u8>>
}
 
struct Tasks has store, key {
id: UID,
unlock_ika_chan_nft_policy: TransferPolicy<IkaChanNft>,
unlock_ika_chan_nft_cap: TransferPolicyCap<IkaChanNft>,
user_tasks: ObjectTable<address, UserTasks>,
locked_i_sui_balances: ObjectTable<ID, LockedISUIBalance>,
locked_staked_ika_balances: ObjectTable<ID, LockedStakedIkaBalance>,
used_community_participation_codes: Table<vector<u8>, bool>,
leaderboard: Leaderboard,
updater: Updater,
nft_enabled: bool,
unstaking_enabled: bool,
ika_staking_enabled: bool,
isui_staking_enabled: bool,
ecdsa_dwallet_enabled: bool,
eddsa_dwallet_enabled: bool,
acquired_suins_enabled: bool,
riddle_enabled: bool,
riddle_one_enabled: bool,
riddle_two_enabled: bool,
riddle_three_enabled: bool,
season_end_time_ts: Option<u64>,
total_drizzlets_earned: u64,
total_isui_stakes: u64,
total_ika_stakes: u64,
total_used_nfts: u64,
total_message_commitments: u64,
riddle_answers: vector<vector<u8>>,
riddle_one_pool: u64,
riddle_two_pool: u64,
riddle_three_pool: u64,
state: InkDrizzletsState,
suins: Option<SuinsRegistration>
}
 
struct ISuiLocked has copy, drop {
account: address,
i_sui_balance: u64,
state_time_ts: u64
}
 
struct ISuiUnlocked has copy, drop {
drizzlets_earned: u64,
account: address,
i_sui_balance: u64,
state_time_ts: u64,
unlock_time_ts: u64
}
 
struct StakedIkaLocked has copy, drop {
account: address,
staked_ika_balance: u64,
state_time_ts: u64
}
 
struct StakedIkaUnlocked has copy, drop {
drizzlets_earned: u64,
account: address,
staked_ika_balance: u64,
state_time_ts: u64,
unlock_time_ts: u64
}
 
struct MfTaskU has store, key {
id: UID,
unlock_policy: TransferPolicy<MfSquidMaiden>,
unlock_policy_cap: TransferPolicyCap<MfSquidMaiden>,
eligible_staked_ika_nfts: vector<ID>,
nfts: vector<MfSquidMaiden>
}
 
enum InkDrizzletsState has copy, drop, store {
Inactive { },
Pause { },
Active { },
Completed { }
}
 
init(Arg0: &mut TxContext) {
B0:
0CopyLoc[0](Arg0: &mut TxContext)
1Call object::new(&mut TxContext): UID
2LdFalse
3Pack[0](AdminCap)
4MoveLoc[0](Arg0: &mut TxContext)
5FreezeRef
6Call tx_context::sender(&TxContext): address
7Call transfer::transfer<AdminCap>(AdminCap, address)
8Ret
}
 
public initialize(Arg0: &mut AdminCap, Arg1: &SquidForgeAdminCap, Arg2: &Publisher, Arg3: vector<vector<u8>>, Arg4: SuinsRegistration, Arg5: &mut TxContext) {
L6: loc0: UID
L7: loc1: TransferPolicy<IkaChanNft>
L8: loc2: Option<u64>
L9: loc3: vector<vector<u8>>
L10: loc4: TransferPolicyCap<IkaChanNft>
L11: loc5: Option<SuinsRegistration>
L12: loc6: ObjectTable<address, UserTasks>
L13: loc7: ObjectTable<ID, LockedISUIBalance>
L14: loc8: ObjectTable<ID, LockedStakedIkaBalance>
L15: loc9: Table<vector<u8>, bool>
L16: loc10: Leaderboard
L17: loc11: Updater
L18: loc12: TransferPolicyCap<IkaChanNft>
L19: loc13: TransferPolicy<IkaChanNft>
B0:
0CopyLoc[0](Arg0: &mut AdminCap)
1ImmBorrowField[0](AdminCap.already_initialized: bool)
2ReadRef
3Not
4BrFalse(6)
B1:
5Branch(16)
B2:
6MoveLoc[1](Arg1: &SquidForgeAdminCap)
7Pop
8MoveLoc[2](Arg2: &Publisher)
9Pop
10MoveLoc[5](Arg5: &mut TxContext)
11Pop
12MoveLoc[0](Arg0: &mut AdminCap)
13Pop
14LdConst[0](u64: 0)
15Abort
B3:
16LdTrue
17MoveLoc[0](Arg0: &mut AdminCap)
18MutBorrowField[0](AdminCap.already_initialized: bool)
19WriteRef
20MoveLoc[2](Arg2: &Publisher)
21CopyLoc[5](Arg5: &mut TxContext)
22Call transfer_policy::new<IkaChanNft>(&Publisher, &mut TxContext): TransferPolicy<IkaChanNft> * TransferPolicyCap<IkaChanNft>
23StLoc[18](loc12: TransferPolicyCap<IkaChanNft>)
24StLoc[19](loc13: TransferPolicy<IkaChanNft>)
25CopyLoc[5](Arg5: &mut TxContext)
26Call object::new(&mut TxContext): UID
27StLoc[6](loc0: UID)
28MoveLoc[19](loc13: TransferPolicy<IkaChanNft>)
29StLoc[7](loc1: TransferPolicy<IkaChanNft>)
30MoveLoc[18](loc12: TransferPolicyCap<IkaChanNft>)
31StLoc[10](loc4: TransferPolicyCap<IkaChanNft>)
32CopyLoc[5](Arg5: &mut TxContext)
33Call object_table::new<address, UserTasks>(&mut TxContext): ObjectTable<address, UserTasks>
34StLoc[12](loc6: ObjectTable<address, UserTasks>)
35CopyLoc[5](Arg5: &mut TxContext)
36Call object_table::new<ID, LockedISUIBalance>(&mut TxContext): ObjectTable<ID, LockedISUIBalance>
37StLoc[13](loc7: ObjectTable<ID, LockedISUIBalance>)
38CopyLoc[5](Arg5: &mut TxContext)
39Call object_table::new<ID, LockedStakedIkaBalance>(&mut TxContext): ObjectTable<ID, LockedStakedIkaBalance>
40StLoc[14](loc8: ObjectTable<ID, LockedStakedIkaBalance>)
41CopyLoc[5](Arg5: &mut TxContext)
42Call table::new<vector<u8>, bool>(&mut TxContext): Table<vector<u8>, bool>
43StLoc[15](loc9: Table<vector<u8>, bool>)
44Call leaderboard::empty(): Leaderboard
45StLoc[16](loc10: Leaderboard)
46MoveLoc[1](Arg1: &SquidForgeAdminCap)
47MoveLoc[5](Arg5: &mut TxContext)
48Call ika_chan_updater::create_updater(&SquidForgeAdminCap, &mut TxContext): Updater
49StLoc[17](loc11: Updater)
50Call option::none<u64>(): Option<u64>
51StLoc[8](loc2: Option<u64>)
52MoveLoc[3](Arg3: vector<vector<u8>>)
53StLoc[9](loc3: vector<vector<u8>>)
54MoveLoc[4](Arg4: SuinsRegistration)
55Call option::some<SuinsRegistration>(SuinsRegistration): Option<SuinsRegistration>
56StLoc[11](loc5: Option<SuinsRegistration>)
57MoveLoc[6](loc0: UID)
58MoveLoc[7](loc1: TransferPolicy<IkaChanNft>)
59MoveLoc[10](loc4: TransferPolicyCap<IkaChanNft>)
60MoveLoc[12](loc6: ObjectTable<address, UserTasks>)
61MoveLoc[13](loc7: ObjectTable<ID, LockedISUIBalance>)
62MoveLoc[14](loc8: ObjectTable<ID, LockedStakedIkaBalance>)
63MoveLoc[15](loc9: Table<vector<u8>, bool>)
64MoveLoc[16](loc10: Leaderboard)
65MoveLoc[17](loc11: Updater)
66LdFalse
67LdFalse
68LdFalse
69LdFalse
70LdFalse
71LdFalse
72LdFalse
73LdFalse
74LdFalse
75LdFalse
76LdFalse
77MoveLoc[8](loc2: Option<u64>)
78LdU64(0)
79LdU64(0)
80LdU64(0)
81LdU64(0)
82LdU64(0)
83MoveLoc[9](loc3: vector<vector<u8>>)
84LdU64(1000000)
85LdU64(1000000)
86LdU64(1000000)
87PackVariant(VariantHandleIndex(0))
88MoveLoc[11](loc5: Option<SuinsRegistration>)
89Pack[8](Tasks)
90Call transfer::share_object<Tasks>(Tasks)
91Ret
}
 
public create_mf_task_u(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: &Publisher, Arg3: &mut TxContext) {
L4: loc0: MfTaskU
L5: loc1: TransferPolicy<MfSquidMaiden>
L6: loc2: TransferPolicyCap<MfSquidMaiden>
B0:
0MoveLoc[2](Arg2: &Publisher)
1CopyLoc[3](Arg3: &mut TxContext)
2Call transfer_policy::new<MfSquidMaiden>(&Publisher, &mut TxContext): TransferPolicy<MfSquidMaiden> * TransferPolicyCap<MfSquidMaiden>
3StLoc[6](loc2: TransferPolicyCap<MfSquidMaiden>)
4StLoc[5](loc1: TransferPolicy<MfSquidMaiden>)
5MoveLoc[3](Arg3: &mut TxContext)
6Call object::new(&mut TxContext): UID
7MoveLoc[5](loc1: TransferPolicy<MfSquidMaiden>)
8MoveLoc[6](loc2: TransferPolicyCap<MfSquidMaiden>)
9LdConst[6](address: 0x95..)
10Call object::id_from_address(address): ID
11LdConst[7](address: 0xa4..)
12Call object::id_from_address(address): ID
13LdConst[8](address: 0x19..)
14Call object::id_from_address(address): ID
15LdConst[9](address: 0x74..)
16Call object::id_from_address(address): ID
17LdConst[10](address: 0xf9..)
18Call object::id_from_address(address): ID
19LdConst[11](address: 0x77..)
20Call object::id_from_address(address): ID
21LdConst[12](address: 0xaf..)
22Call object::id_from_address(address): ID
23LdConst[13](address: 0x10..)
24Call object::id_from_address(address): ID
25LdConst[14](address: 0x64..)
26Call object::id_from_address(address): ID
27LdConst[15](address: 0x68..)
28Call object::id_from_address(address): ID
29LdConst[7](address: 0xa4..)
30Call object::id_from_address(address): ID
31VecPack(59, 11)
32VecPack(58, 0)
33Pack[13](MfTaskU)
34StLoc[4](loc0: MfTaskU)
35MoveLoc[0](Arg0: &mut Tasks)
36MutBorrowField[1](Tasks.id: UID)
37LdConst[16](vector<u8>: "mf_..)
38MoveLoc[4](loc0: MfTaskU)
39Call dynamic_object_field::add<vector<u8>, MfTaskU>(&mut UID, vector<u8>, MfTaskU)
40Ret
}
 
public create_user_task_if_not_exists(Arg0: &mut Tasks, Arg1: &mut TxContext) {
L2: loc0: UID
L3: loc1: TableVec<vector<u8>>
L4: loc2: vector<u8>
L5: loc3: Option<vector<u8>>
L6: loc4: address
L7: loc5: &mut ObjectTable<address, UserTasks>
L8: loc6: vector<ID>
L9: loc7: vector<ID>
L10: loc8: vector<ID>
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
2CopyLoc[1](Arg1: &mut TxContext)
3FreezeRef
4Call tx_context::sender(&TxContext): address
5Call object_table::contains<address, UserTasks>(&ObjectTable<address, UserTasks>, address): bool
6Not
7BrFalse(53)
B1:
8MoveLoc[0](Arg0: &mut Tasks)
9MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
10StLoc[7](loc5: &mut ObjectTable<address, UserTasks>)
11CopyLoc[1](Arg1: &mut TxContext)
12FreezeRef
13Call tx_context::sender(&TxContext): address
14StLoc[6](loc4: address)
15CopyLoc[1](Arg1: &mut TxContext)
16Call object::new(&mut TxContext): UID
17StLoc[2](loc0: UID)
18VecPack(59, 0)
19StLoc[8](loc6: vector<ID>)
20VecPack(59, 0)
21StLoc[9](loc7: vector<ID>)
22VecPack(59, 0)
23StLoc[10](loc8: vector<ID>)
24MoveLoc[1](Arg1: &mut TxContext)
25Call table_vec::empty<vector<u8>>(&mut TxContext): TableVec<vector<u8>>
26StLoc[3](loc1: TableVec<vector<u8>>)
27VecPack(32, 0)
28StLoc[4](loc2: vector<u8>)
29Call option::none<vector<u8>>(): Option<vector<u8>>
30StLoc[5](loc3: Option<vector<u8>>)
31MoveLoc[7](loc5: &mut ObjectTable<address, UserTasks>)
32MoveLoc[6](loc4: address)
33MoveLoc[2](loc0: UID)
34MoveLoc[8](loc6: vector<ID>)
35MoveLoc[9](loc7: vector<ID>)
36MoveLoc[10](loc8: vector<ID>)
37LdFalse
38LdFalse
39LdFalse
40LdFalse
41LdFalse
42LdFalse
43LdFalse
44LdU64(0)
45MoveLoc[3](loc1: TableVec<vector<u8>>)
46LdU64(0)
47LdFalse
48MoveLoc[4](loc2: vector<u8>)
49MoveLoc[5](loc3: Option<vector<u8>>)
50Pack[7](UserTasks)
51Call object_table::add<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address, UserTasks)
52Branch(57)
B2:
53MoveLoc[0](Arg0: &mut Tasks)
54Pop
55MoveLoc[1](Arg1: &mut TxContext)
56Pop
B3:
57Ret
}
 
public lock_i_sui(Arg0: &mut Tasks, Arg1: &Clock, Arg2: Coin<I_SUI>, Arg3: &mut TxContext) {
L4: loc0: u64
L5: loc1: UID
L6: loc2: LockedISUI
L7: loc3: LockedISUIBalance
L8: loc4: ID
L9: loc5: ID
L10: loc6: u64
L11: loc7: address
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(7)
B1:
6Branch(15)
B2:
7MoveLoc[0](Arg0: &mut Tasks)
8Pop
9MoveLoc[3](Arg3: &mut TxContext)
10Pop
11MoveLoc[1](Arg1: &Clock)
12Pop
13LdU64(13906835561617817599)
14Abort
B3:
15CopyLoc[0](Arg0: &mut Tasks)
16CopyLoc[3](Arg3: &mut TxContext)
17Call create_user_task_if_not_exists(&mut Tasks, &mut TxContext)
18CopyLoc[0](Arg0: &mut Tasks)
19ImmBorrowField[4](Tasks.isui_staking_enabled: bool)
20ReadRef
21BrFalse(23)
B4:
22Branch(31)
B5:
23MoveLoc[0](Arg0: &mut Tasks)
24Pop
25MoveLoc[3](Arg3: &mut TxContext)
26Pop
27MoveLoc[1](Arg1: &Clock)
28Pop
29LdConst[1](u64: 1)
30Abort
B6:
31ImmBorrowLoc[2](Arg2: Coin<I_SUI>)
32Call coin::value<I_SUI>(&Coin<I_SUI>): u64
33LdU64(0)
34Gt
35BrFalse(37)
B7:
36Branch(45)
B8:
37MoveLoc[0](Arg0: &mut Tasks)
38Pop
39MoveLoc[3](Arg3: &mut TxContext)
40Pop
41MoveLoc[1](Arg1: &Clock)
42Pop
43LdConst[2](u64: 2)
44Abort
B9:
45CopyLoc[0](Arg0: &mut Tasks)
46ImmBorrowField[5](Tasks.total_isui_stakes: u64)
47ReadRef
48ImmBorrowLoc[2](Arg2: Coin<I_SUI>)
49Call coin::value<I_SUI>(&Coin<I_SUI>): u64
50Add
51CopyLoc[0](Arg0: &mut Tasks)
52MutBorrowField[5](Tasks.total_isui_stakes: u64)
53WriteRef
54MoveLoc[1](Arg1: &Clock)
55Call clock::timestamp_ms(&Clock): u64
56StLoc[10](loc6: u64)
57CopyLoc[0](Arg0: &mut Tasks)
58ImmBorrowField[6](Tasks.season_end_time_ts: Option<u64>)
59CopyLoc[10](loc6: u64)
60Call option::get_with_default<u64>(&Option<u64>, u64): u64
61CopyLoc[10](loc6: u64)
62Ge
63BrFalse(65)
B10:
64Branch(71)
B11:
65MoveLoc[0](Arg0: &mut Tasks)
66Pop
67MoveLoc[3](Arg3: &mut TxContext)
68Pop
69LdConst[3](u64: 3)
70Abort
B12:
71CopyLoc[3](Arg3: &mut TxContext)
72FreezeRef
73Call tx_context::sender(&TxContext): address
74StLoc[11](loc7: address)
75CopyLoc[3](Arg3: &mut TxContext)
76Call object::new(&mut TxContext): UID
77StLoc[5](loc1: UID)
78ImmBorrowLoc[5](loc1: UID)
79Call object::uid_to_inner(&UID): ID
80StLoc[8](loc4: ID)
81ImmBorrowLoc[2](Arg2: Coin<I_SUI>)
82Call coin::value<I_SUI>(&Coin<I_SUI>): u64
83StLoc[4](loc0: u64)
84MoveLoc[3](Arg3: &mut TxContext)
85Call object::new(&mut TxContext): UID
86CopyLoc[10](loc6: u64)
87Call option::none<u64>(): Option<u64>
88CopyLoc[4](loc0: u64)
89MoveLoc[8](loc4: ID)
90CopyLoc[11](loc7: address)
91Pack[2](LockedISUIBalance)
92StLoc[7](loc3: LockedISUIBalance)
93MoveLoc[5](loc1: UID)
94CopyLoc[10](loc6: u64)
95MoveLoc[2](Arg2: Coin<I_SUI>)
96Call coin::into_balance<I_SUI>(Coin<I_SUI>): Balance<I_SUI>
97Pack[3](LockedISUI)
98StLoc[6](loc2: LockedISUI)
99ImmBorrowLoc[6](loc2: LockedISUI)
100Call object::id<LockedISUI>(&LockedISUI): ID
101StLoc[9](loc5: ID)
102CopyLoc[0](Arg0: &mut Tasks)
103MutBorrowField[7](Tasks.locked_i_sui_balances: ObjectTable<ID, LockedISUIBalance>)
104CopyLoc[9](loc5: ID)
105MoveLoc[7](loc3: LockedISUIBalance)
106Call object_table::add<ID, LockedISUIBalance>(&mut ObjectTable<ID, LockedISUIBalance>, ID, LockedISUIBalance)
107MoveLoc[0](Arg0: &mut Tasks)
108MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
109CopyLoc[11](loc7: address)
110Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
111MutBorrowField[8](UserTasks.i_sui_stakes: vector<ID>)
112MoveLoc[9](loc5: ID)
113VecPushBack(59)
114MoveLoc[6](loc2: LockedISUI)
115CopyLoc[11](loc7: address)
116Call transfer::transfer<LockedISUI>(LockedISUI, address)
117MoveLoc[11](loc7: address)
118MoveLoc[4](loc0: u64)
119MoveLoc[10](loc6: u64)
120Pack[9](ISuiLocked)
121Call event_wrapper::emit_event<ISuiLocked>(ISuiLocked)
122Ret
}
 
public unlock_i_sui(Arg0: &mut Tasks, Arg1: &Clock, Arg2: LockedISUI, Arg3: &mut TxContext) {
L4: loc0: bool
L5: loc1: Balance<I_SUI>
L6: loc2: UID
L7: loc3: ID
L8: loc4: address
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(9)
B1:
6LdTrue
7StLoc[4](loc0: bool)
8Branch(15)
B2:
9CopyLoc[0](Arg0: &mut Tasks)
10ImmBorrowField[3](Tasks.state: InkDrizzletsState)
11ReadRef
12PackVariant(VariantHandleIndex(2))
13Eq
14StLoc[4](loc0: bool)
B3:
15MoveLoc[4](loc0: bool)
16BrFalse(18)
B4:
17Branch(26)
B5:
18MoveLoc[0](Arg0: &mut Tasks)
19Pop
20MoveLoc[3](Arg3: &mut TxContext)
21Pop
22MoveLoc[1](Arg1: &Clock)
23Pop
24LdU64(13906835772071215103)
25Abort
B6:
26CopyLoc[0](Arg0: &mut Tasks)
27CopyLoc[3](Arg3: &mut TxContext)
28Call create_user_task_if_not_exists(&mut Tasks, &mut TxContext)
29MoveLoc[2](Arg2: LockedISUI)
30Unpack[3](LockedISUI)
31StLoc[5](loc1: Balance<I_SUI>)
32Pop
33StLoc[6](loc2: UID)
34ImmBorrowLoc[6](loc2: UID)
35Call object::uid_to_inner(&UID): ID
36StLoc[7](loc3: ID)
37MoveLoc[6](loc2: UID)
38Call object::delete(UID)
39CopyLoc[3](Arg3: &mut TxContext)
40FreezeRef
41Call tx_context::sender(&TxContext): address
42StLoc[8](loc4: address)
43MoveLoc[5](loc1: Balance<I_SUI>)
44CopyLoc[3](Arg3: &mut TxContext)
45Call coin::from_balance<I_SUI>(Balance<I_SUI>, &mut TxContext): Coin<I_SUI>
46MoveLoc[8](loc4: address)
47Call transfer::public_transfer<Coin<I_SUI>>(Coin<I_SUI>, address)
48MoveLoc[0](Arg0: &mut Tasks)
49MoveLoc[1](Arg1: &Clock)
50MoveLoc[7](loc3: ID)
51MoveLoc[3](Arg3: &mut TxContext)
52FreezeRef
53Call unlock_i_sui_impl(&mut Tasks, &Clock, ID, &TxContext)
54Ret
}
 
public lock_staked_ika(Arg0: &mut Tasks, Arg1: &Clock, Arg2: StakedIka, Arg3: u64, Arg4: &mut TxContext) {
L5: loc0: bool
L6: loc1: u64
L7: loc2: UID
L8: loc3: LockedStakedIka
L9: loc4: LockedStakedIkaBalance
L10: loc5: ID
L11: loc6: ID
L12: loc7: u64
L13: loc8: address
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(7)
B1:
6Branch(15)
B2:
7MoveLoc[0](Arg0: &mut Tasks)
8Pop
9MoveLoc[4](Arg4: &mut TxContext)
10Pop
11MoveLoc[1](Arg1: &Clock)
12Pop
13LdU64(13906835845085659135)
14Abort
B3:
15CopyLoc[0](Arg0: &mut Tasks)
16CopyLoc[4](Arg4: &mut TxContext)
17Call create_user_task_if_not_exists(&mut Tasks, &mut TxContext)
18CopyLoc[0](Arg0: &mut Tasks)
19ImmBorrowField[9](Tasks.ika_staking_enabled: bool)
20ReadRef
21BrFalse(23)
B4:
22Branch(31)
B5:
23MoveLoc[0](Arg0: &mut Tasks)
24Pop
25MoveLoc[4](Arg4: &mut TxContext)
26Pop
27MoveLoc[1](Arg1: &Clock)
28Pop
29LdU64(13906835853675593727)
30Abort
B6:
31ImmBorrowLoc[2](Arg2: StakedIka)
32Call staked_ika::value(&StakedIka): u64
33LdU64(0)
34Gt
35BrFalse(37)
B7:
36Branch(45)
B8:
37MoveLoc[0](Arg0: &mut Tasks)
38Pop
39MoveLoc[4](Arg4: &mut TxContext)
40Pop
41MoveLoc[1](Arg1: &Clock)
42Pop
43LdU64(13906835857970561023)
44Abort
B9:
45ImmBorrowLoc[2](Arg2: StakedIka)
46Call staked_ika::is_staked(&StakedIka): bool
47BrFalse(49)
B10:
48Branch(57)
B11:
49MoveLoc[0](Arg0: &mut Tasks)
50Pop
51MoveLoc[4](Arg4: &mut TxContext)
52Pop
53MoveLoc[1](Arg1: &Clock)
54Pop
55LdU64(13906835862265528319)
56Abort
B12:
57CopyLoc[3](Arg3: u64)
58LdU64(1)
59Eq
60BrFalse(64)
B13:
61LdTrue
62StLoc[5](loc0: bool)
63Branch(82)
B14:
64CopyLoc[3](Arg3: u64)
65LdU64(7)
66Eq
67BrFalse(71)
B15:
68LdTrue
69StLoc[5](loc0: bool)
70Branch(82)
B16:
71CopyLoc[3](Arg3: u64)
72LdU64(30)
73Eq
74BrFalse(78)
B17:
75LdTrue
76StLoc[5](loc0: bool)
77Branch(82)
B18:
78CopyLoc[3](Arg3: u64)
79LdU64(0)
80Eq
81StLoc[5](loc0: bool)
B19:
82MoveLoc[5](loc0: bool)
83BrFalse(85)
B20:
84Branch(93)
B21:
85MoveLoc[0](Arg0: &mut Tasks)
86Pop
87MoveLoc[4](Arg4: &mut TxContext)
88Pop
89MoveLoc[1](Arg1: &Clock)
90Pop
91LdU64(13906835866560495615)
92Abort
B22:
93CopyLoc[0](Arg0: &mut Tasks)
94ImmBorrowField[10](Tasks.total_ika_stakes: u64)
95ReadRef
96ImmBorrowLoc[2](Arg2: StakedIka)
97Call staked_ika::value(&StakedIka): u64
98Add
99CopyLoc[0](Arg0: &mut Tasks)
100MutBorrowField[10](Tasks.total_ika_stakes: u64)
101WriteRef
102MoveLoc[1](Arg1: &Clock)
103Call clock::timestamp_ms(&Clock): u64
104StLoc[12](loc7: u64)
105CopyLoc[0](Arg0: &mut Tasks)
106ImmBorrowField[6](Tasks.season_end_time_ts: Option<u64>)
107CopyLoc[12](loc7: u64)
108Call option::get_with_default<u64>(&Option<u64>, u64): u64
109CopyLoc[12](loc7: u64)
110Ge
111BrFalse(113)
B23:
112Branch(119)
B24:
113MoveLoc[0](Arg0: &mut Tasks)
114Pop
115MoveLoc[4](Arg4: &mut TxContext)
116Pop
117LdConst[3](u64: 3)
118Abort
B25:
119CopyLoc[4](Arg4: &mut TxContext)
120FreezeRef
121Call tx_context::sender(&TxContext): address
122StLoc[13](loc8: address)
123CopyLoc[4](Arg4: &mut TxContext)
124Call object::new(&mut TxContext): UID
125StLoc[7](loc2: UID)
126ImmBorrowLoc[7](loc2: UID)
127Call object::uid_to_inner(&UID): ID
128StLoc[10](loc5: ID)
129ImmBorrowLoc[2](Arg2: StakedIka)
130Call staked_ika::value(&StakedIka): u64
131StLoc[6](loc1: u64)
132MoveLoc[4](Arg4: &mut TxContext)
133Call object::new(&mut TxContext): UID
134CopyLoc[12](loc7: u64)
135Call option::none<u64>(): Option<u64>
136CopyLoc[6](loc1: u64)
137CopyLoc[3](Arg3: u64)
138MoveLoc[10](loc5: ID)
139CopyLoc[13](loc8: address)
140Pack[6](LockedStakedIkaBalance)
141StLoc[9](loc4: LockedStakedIkaBalance)
142MoveLoc[7](loc2: UID)
143CopyLoc[12](loc7: u64)
144MoveLoc[3](Arg3: u64)
145MoveLoc[2](Arg2: StakedIka)
146Pack[5](LockedStakedIka)
147StLoc[8](loc3: LockedStakedIka)
148ImmBorrowLoc[8](loc3: LockedStakedIka)
149Call object::id<LockedStakedIka>(&LockedStakedIka): ID
150StLoc[11](loc6: ID)
151CopyLoc[0](Arg0: &mut Tasks)
152MutBorrowField[11](Tasks.locked_staked_ika_balances: ObjectTable<ID, LockedStakedIkaBalance>)
153CopyLoc[11](loc6: ID)
154MoveLoc[9](loc4: LockedStakedIkaBalance)
155Call object_table::add<ID, LockedStakedIkaBalance>(&mut ObjectTable<ID, LockedStakedIkaBalance>, ID, LockedStakedIkaBalance)
156MoveLoc[0](Arg0: &mut Tasks)
157MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
158CopyLoc[13](loc8: address)
159Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
160MutBorrowField[12](UserTasks.ika_stakes: vector<ID>)
161MoveLoc[11](loc6: ID)
162VecPushBack(59)
163MoveLoc[8](loc3: LockedStakedIka)
164CopyLoc[13](loc8: address)
165Call transfer::transfer<LockedStakedIka>(LockedStakedIka, address)
166MoveLoc[13](loc8: address)
167MoveLoc[6](loc1: u64)
168MoveLoc[12](loc7: u64)
169Pack[11](StakedIkaLocked)
170Call event_wrapper::emit_event<StakedIkaLocked>(StakedIkaLocked)
171Ret
}
 
public unlock_staked_ika(Arg0: &mut Tasks, Arg1: &Clock, Arg2: LockedStakedIka, Arg3: &mut TxContext) {
L4: loc0: bool
L5: loc1: u64
L6: loc2: UID
L7: loc3: ID
L8: loc4: address
L9: loc5: u64
L10: loc6: StakedIka
L11: loc7: u64
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(9)
B1:
6LdTrue
7StLoc[4](loc0: bool)
8Branch(15)
B2:
9CopyLoc[0](Arg0: &mut Tasks)
10ImmBorrowField[3](Tasks.state: InkDrizzletsState)
11ReadRef
12PackVariant(VariantHandleIndex(2))
13Eq
14StLoc[4](loc0: bool)
B3:
15MoveLoc[4](loc0: bool)
16BrFalse(18)
B4:
17Branch(26)
B5:
18MoveLoc[0](Arg0: &mut Tasks)
19Pop
20MoveLoc[3](Arg3: &mut TxContext)
21Pop
22MoveLoc[1](Arg1: &Clock)
23Pop
24LdU64(13906836068423958527)
25Abort
B6:
26CopyLoc[0](Arg0: &mut Tasks)
27CopyLoc[3](Arg3: &mut TxContext)
28Call create_user_task_if_not_exists(&mut Tasks, &mut TxContext)
29CopyLoc[1](Arg1: &Clock)
30Call clock::timestamp_ms(&Clock): u64
31StLoc[5](loc1: u64)
32MoveLoc[2](Arg2: LockedStakedIka)
33Unpack[5](LockedStakedIka)
34StLoc[10](loc6: StakedIka)
35StLoc[9](loc5: u64)
36StLoc[11](loc7: u64)
37StLoc[6](loc2: UID)
38ImmBorrowLoc[6](loc2: UID)
39Call object::uid_to_inner(&UID): ID
40StLoc[7](loc3: ID)
41MoveLoc[6](loc2: UID)
42Call object::delete(UID)
43CopyLoc[3](Arg3: &mut TxContext)
44FreezeRef
45Call tx_context::sender(&TxContext): address
46StLoc[8](loc4: address)
47CopyLoc[0](Arg0: &mut Tasks)
48ImmBorrowField[3](Tasks.state: InkDrizzletsState)
49ReadRef
50PackVariant(VariantHandleIndex(2))
51Neq
52BrFalse(81)
B7:
53CopyLoc[9](loc5: u64)
54LdU64(0)
55Neq
56BrFalse(58)
B8:
57Branch(66)
B9:
58MoveLoc[0](Arg0: &mut Tasks)
59Pop
60MoveLoc[3](Arg3: &mut TxContext)
61Pop
62MoveLoc[1](Arg1: &Clock)
63Pop
64LdU64(13906836150028337151)
65Abort
B10:
66MoveLoc[11](loc7: u64)
67MoveLoc[5](loc1: u64)
68Call days_elapsed(u64, u64): u64
69MoveLoc[9](loc5: u64)
70Ge
71BrFalse(73)
B11:
72Branch(81)
B12:
73MoveLoc[0](Arg0: &mut Tasks)
74Pop
75MoveLoc[3](Arg3: &mut TxContext)
76Pop
77MoveLoc[1](Arg1: &Clock)
78Pop
79LdU64(13906836154323304447)
80Abort
B13:
81MoveLoc[10](loc6: StakedIka)
82MoveLoc[8](loc4: address)
83Call transfer::public_transfer<StakedIka>(StakedIka, address)
84MoveLoc[0](Arg0: &mut Tasks)
85MoveLoc[1](Arg1: &Clock)
86MoveLoc[7](loc3: ID)
87MoveLoc[3](Arg3: &mut TxContext)
88FreezeRef
89Call unlock_staked_ika_impl(&mut Tasks, &Clock, ID, &TxContext)
90Ret
}
 
public submit_riddle_answer(Arg0: &mut Tasks, Arg1: u64, Arg2: vector<u8>, Arg3: vector<u8>, Arg4: &mut TxContext) {
L5: loc0: bool
L6: loc1: bool
L7: loc2: bool
L8: loc3: &u64
L9: loc4: &u64
L10: loc5: &u64
L11: loc6: u64
L12: loc7: u64
L13: loc8: u64
L14: loc9: vector<u8>
L15: loc10: address
L16: loc11: &mut UserTasks
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(7)
B1:
6Branch(13)
B2:
7MoveLoc[0](Arg0: &mut Tasks)
8Pop
9MoveLoc[4](Arg4: &mut TxContext)
10Pop
11LdU64(13906836192978010111)
12Abort
B3:
13CopyLoc[0](Arg0: &mut Tasks)
14CopyLoc[4](Arg4: &mut TxContext)
15Call create_user_task_if_not_exists(&mut Tasks, &mut TxContext)
16CopyLoc[0](Arg0: &mut Tasks)
17ImmBorrowField[13](Tasks.riddle_enabled: bool)
18ReadRef
19BrFalse(21)
B4:
20Branch(27)
B5:
21MoveLoc[0](Arg0: &mut Tasks)
22Pop
23MoveLoc[4](Arg4: &mut TxContext)
24Pop
25LdU64(13906836201567944703)
26Abort
B6:
27MoveLoc[4](Arg4: &mut TxContext)
28FreezeRef
29Call tx_context::sender(&TxContext): address
30StLoc[15](loc10: address)
31CopyLoc[0](Arg0: &mut Tasks)
32MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
33MoveLoc[15](loc10: address)
34Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
35StLoc[16](loc11: &mut UserTasks)
36CopyLoc[16](loc11: &mut UserTasks)
37ImmBorrowField[14](UserTasks.did_reveal_nft: bool)
38ReadRef
39BrFalse(41)
B7:
40Branch(47)
B8:
41MoveLoc[16](loc11: &mut UserTasks)
42Pop
43MoveLoc[0](Arg0: &mut Tasks)
44Pop
45LdU64(13906836223042781183)
46Abort
B9:
47CopyLoc[1](Arg1: u64)
48StLoc[11](loc6: u64)
49ImmBorrowLoc[11](loc6: u64)
50StLoc[9](loc4: &u64)
51CopyLoc[9](loc4: &u64)
52ReadRef
53LdU64(1)
54Eq
55BrFalse(81)
B10:
56MoveLoc[9](loc4: &u64)
57Pop
58CopyLoc[0](Arg0: &mut Tasks)
59ImmBorrowField[15](Tasks.riddle_one_enabled: bool)
60ReadRef
61BrFalse(63)
B11:
62Branch(69)
B12:
63MoveLoc[16](loc11: &mut UserTasks)
64Pop
65MoveLoc[0](Arg0: &mut Tasks)
66Pop
67LdU64(13906836240222650367)
68Abort
B13:
69CopyLoc[16](loc11: &mut UserTasks)
70ImmBorrowField[16](UserTasks.riddle_one_answered: bool)
71ReadRef
72Not
73BrFalse(75)
B14:
74Branch(145)
B15:
75MoveLoc[16](loc11: &mut UserTasks)
76Pop
77MoveLoc[0](Arg0: &mut Tasks)
78Pop
79LdU64(13906836244517617663)
80Abort
B16:
81CopyLoc[9](loc4: &u64)
82ReadRef
83LdU64(2)
84Eq
85BrFalse(111)
B17:
86MoveLoc[9](loc4: &u64)
87Pop
88CopyLoc[0](Arg0: &mut Tasks)
89ImmBorrowField[17](Tasks.riddle_two_enabled: bool)
90ReadRef
91BrFalse(93)
B18:
92Branch(99)
B19:
93MoveLoc[16](loc11: &mut UserTasks)
94Pop
95MoveLoc[0](Arg0: &mut Tasks)
96Pop
97LdU64(13906836257402519551)
98Abort
B20:
99CopyLoc[16](loc11: &mut UserTasks)
100ImmBorrowField[18](UserTasks.riddle_two_answered: bool)
101ReadRef
102Not
103BrFalse(105)
B21:
104Branch(145)
B22:
105MoveLoc[16](loc11: &mut UserTasks)
106Pop
107MoveLoc[0](Arg0: &mut Tasks)
108Pop
109LdU64(13906836261697486847)
110Abort
B23:
111MoveLoc[9](loc4: &u64)
112ReadRef
113LdU64(3)
114Eq
115BrFalse(139)
B24:
116CopyLoc[0](Arg0: &mut Tasks)
117ImmBorrowField[19](Tasks.riddle_three_enabled: bool)
118ReadRef
119BrFalse(121)
B25:
120Branch(127)
B26:
121MoveLoc[16](loc11: &mut UserTasks)
122Pop
123MoveLoc[0](Arg0: &mut Tasks)
124Pop
125LdU64(13906836274582388735)
126Abort
B27:
127CopyLoc[16](loc11: &mut UserTasks)
128ImmBorrowField[20](UserTasks.riddle_three_answered: bool)
129ReadRef
130Not
131BrFalse(133)
B28:
132Branch(145)
B29:
133MoveLoc[16](loc11: &mut UserTasks)
134Pop
135MoveLoc[0](Arg0: &mut Tasks)
136Pop
137LdU64(13906836278877356031)
138Abort
B30:
139MoveLoc[16](loc11: &mut UserTasks)
140Pop
141MoveLoc[0](Arg0: &mut Tasks)
142Pop
143LdU64(1)
144Abort
B31:
145MoveLoc[2](Arg2: vector<u8>)
146Call hash::sha2_256(vector<u8>): vector<u8>
147StLoc[14](loc9: vector<u8>)
148CopyLoc[1](Arg1: u64)
149StLoc[13](loc8: u64)
150ImmBorrowLoc[13](loc8: u64)
151StLoc[10](loc5: &u64)
152CopyLoc[10](loc5: &u64)
153ReadRef
154LdU64(1)
155Eq
156BrFalse(176)
B32:
157MoveLoc[10](loc5: &u64)
158Pop
159CopyLoc[0](Arg0: &mut Tasks)
160ImmBorrowField[21](Tasks.riddle_one_pool: u64)
161ReadRef
162LdU64(69)
163Add
164CopyLoc[0](Arg0: &mut Tasks)
165MutBorrowField[21](Tasks.riddle_one_pool: u64)
166WriteRef
167MoveLoc[14](loc9: vector<u8>)
168CopyLoc[0](Arg0: &mut Tasks)
169ImmBorrowField[22](Tasks.riddle_answers: vector<vector<u8>>)
170LdU64(0)
171VecImmBorrow(65)
172ReadRef
173Eq
174StLoc[7](loc2: bool)
175Branch(228)
B33:
176CopyLoc[10](loc5: &u64)
177ReadRef
178LdU64(2)
179Eq
180BrFalse(200)
B34:
181MoveLoc[10](loc5: &u64)
182Pop
183CopyLoc[0](Arg0: &mut Tasks)
184ImmBorrowField[23](Tasks.riddle_two_pool: u64)
185ReadRef
186LdU64(69)
187Add
188CopyLoc[0](Arg0: &mut Tasks)
189MutBorrowField[23](Tasks.riddle_two_pool: u64)
190WriteRef
191MoveLoc[14](loc9: vector<u8>)
192CopyLoc[0](Arg0: &mut Tasks)
193ImmBorrowField[22](Tasks.riddle_answers: vector<vector<u8>>)
194LdU64(1)
195VecImmBorrow(65)
196ReadRef
197Eq
198StLoc[6](loc1: bool)
199Branch(226)
B35:
200MoveLoc[10](loc5: &u64)
201ReadRef
202LdU64(3)
203Eq
204BrFalse(222)
B36:
205CopyLoc[0](Arg0: &mut Tasks)
206ImmBorrowField[24](Tasks.riddle_three_pool: u64)
207ReadRef
208LdU64(69)
209Add
210CopyLoc[0](Arg0: &mut Tasks)
211MutBorrowField[24](Tasks.riddle_three_pool: u64)
212WriteRef
213MoveLoc[14](loc9: vector<u8>)
214CopyLoc[0](Arg0: &mut Tasks)
215ImmBorrowField[22](Tasks.riddle_answers: vector<vector<u8>>)
216LdU64(2)
217VecImmBorrow(65)
218ReadRef
219Eq
220StLoc[5](loc0: bool)
221Branch(224)
B37:
222LdFalse
223StLoc[5](loc0: bool)
B38:
224MoveLoc[5](loc0: bool)
225StLoc[6](loc1: bool)
B39:
226MoveLoc[6](loc1: bool)
227StLoc[7](loc2: bool)
B40:
228MoveLoc[7](loc2: bool)
229BrFalse(274)
B41:
230MoveLoc[1](Arg1: u64)
231StLoc[12](loc7: u64)
232ImmBorrowLoc[12](loc7: u64)
233StLoc[8](loc3: &u64)
234CopyLoc[8](loc3: &u64)
235ReadRef
236LdU64(1)
237Eq
238BrFalse(246)
B42:
239MoveLoc[8](loc3: &u64)
240Pop
241LdTrue
242CopyLoc[16](loc11: &mut UserTasks)
243MutBorrowField[16](UserTasks.riddle_one_answered: bool)
244WriteRef
245Branch(274)
B43:
246CopyLoc[8](loc3: &u64)
247ReadRef
248LdU64(2)
249Eq
250BrFalse(258)
B44:
251MoveLoc[8](loc3: &u64)
252Pop
253LdTrue
254CopyLoc[16](loc11: &mut UserTasks)
255MutBorrowField[18](UserTasks.riddle_two_answered: bool)
256WriteRef
257Branch(274)
B45:
258MoveLoc[8](loc3: &u64)
259ReadRef
260LdU64(3)
261Eq
262BrFalse(264)
B46:
263Branch(270)
B47:
264MoveLoc[16](loc11: &mut UserTasks)
265Pop
266MoveLoc[0](Arg0: &mut Tasks)
267Pop
268LdU64(1)
269Abort
B48:
270LdTrue
271CopyLoc[16](loc11: &mut UserTasks)
272MutBorrowField[20](UserTasks.riddle_three_answered: bool)
273WriteRef
B49:
274CopyLoc[16](loc11: &mut UserTasks)
275ImmBorrowField[25](UserTasks.drizzlets_earned: u64)
276ReadRef
277LdU64(31)
278Add
279CopyLoc[16](loc11: &mut UserTasks)
280MutBorrowField[25](UserTasks.drizzlets_earned: u64)
281WriteRef
282CopyLoc[0](Arg0: &mut Tasks)
283ImmBorrowField[26](Tasks.total_drizzlets_earned: u64)
284ReadRef
285LdU64(31)
286Add
287MoveLoc[0](Arg0: &mut Tasks)
288MutBorrowField[26](Tasks.total_drizzlets_earned: u64)
289WriteRef
290MoveLoc[16](loc11: &mut UserTasks)
291MoveLoc[3](Arg3: vector<u8>)
292Call add_data(&mut UserTasks, vector<u8>)
293Ret
}
 
entry reveal_nft(Arg0: &mut Tasks, Arg1: ID, Arg2: &mut Kiosk, Arg3: &PersonalKioskCap, Arg4: &Random, Arg5: &TransferPolicy<MfSquidMaiden>, Arg6: &mut TxContext) {
L7: loc0: bool
L8: loc1: u64
L9: loc2: u64
L10: loc3: u64
L11: loc4: u64
L12: loc5: u64
L13: loc6: u64
L14: loc7: String
L15: loc8: u64
L16: loc9: u64
L17: loc10: u64
L18: loc11: u64
L19: loc12: u64
L20: loc13: &String
L21: loc14: bool
L22: loc15: u64
L23: loc16: u64
L24: loc17: u64
L25: loc18: &vector<u8>
L26: loc19: &vector<u8>
L27: loc20: bool
L28: loc21: &IkaChanNft
L29: loc22: MfSquidMaiden
L30: loc23: IkaChanNft
L31: loc24: TransferRequest<IkaChanNft>
L32: loc25: address
L33: loc26: StakedIkaChanNft
L34: loc27: &mut UserTasks
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(7)
B1:
6Branch(21)
B2:
7MoveLoc[0](Arg0: &mut Tasks)
8Pop
9MoveLoc[4](Arg4: &Random)
10Pop
11MoveLoc[3](Arg3: &PersonalKioskCap)
12Pop
13MoveLoc[2](Arg2: &mut Kiosk)
14Pop
15MoveLoc[5](Arg5: &TransferPolicy<MfSquidMaiden>)
16Pop
17MoveLoc[6](Arg6: &mut TxContext)
18Pop
19LdU64(13906836493625720831)
20Abort
B3:
21CopyLoc[0](Arg0: &mut Tasks)
22CopyLoc[6](Arg6: &mut TxContext)
23Call create_user_task_if_not_exists(&mut Tasks, &mut TxContext)
24CopyLoc[0](Arg0: &mut Tasks)
25ImmBorrowField[27](Tasks.nft_enabled: bool)
26ReadRef
27BrFalse(29)
B4:
28Branch(43)
B5:
29MoveLoc[0](Arg0: &mut Tasks)
30Pop
31MoveLoc[4](Arg4: &Random)
32Pop
33MoveLoc[3](Arg3: &PersonalKioskCap)
34Pop
35MoveLoc[2](Arg2: &mut Kiosk)
36Pop
37MoveLoc[5](Arg5: &TransferPolicy<MfSquidMaiden>)
38Pop
39MoveLoc[6](Arg6: &mut TxContext)
40Pop
41LdU64(13906836502215655423)
42Abort
B6:
43CopyLoc[6](Arg6: &mut TxContext)
44FreezeRef
45Call tx_context::sender(&TxContext): address
46StLoc[32](loc25: address)
47CopyLoc[0](Arg0: &mut Tasks)
48MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
49CopyLoc[32](loc25: address)
50Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
51StLoc[34](loc27: &mut UserTasks)
52CopyLoc[2](Arg2: &mut Kiosk)
53FreezeRef
54CopyLoc[3](Arg3: &PersonalKioskCap)
55Call personal_kiosk::borrow(&PersonalKioskCap): &KioskOwnerCap
56CopyLoc[1](Arg1: ID)
57Call kiosk::borrow<IkaChanNft>(&Kiosk, &KioskOwnerCap, ID): &IkaChanNft
58StLoc[28](loc21: &IkaChanNft)
59CopyLoc[28](loc21: &IkaChanNft)
60Call ika_chan_nft::metadata(&IkaChanNft): &Metadata
61Call ika_chan_nft::metadata_rarity(&Metadata): &String
62StLoc[20](loc13: &String)
63Call ika_chan_values::rarity_value_mythic(): String
64StLoc[14](loc7: String)
65MoveLoc[20](loc13: &String)
66ImmBorrowLoc[14](loc7: String)
67Eq
68BrFalse(74)
B7:
69MoveLoc[28](loc21: &IkaChanNft)
70Pop
71LdTrue
72StLoc[7](loc0: bool)
73Branch(80)
B8:
74MoveLoc[28](loc21: &IkaChanNft)
75Call ika_chan_nft::metadata(&IkaChanNft): &Metadata
76Call ika_chan_nft::metadata_evolution_stage(&Metadata): u8
77LdU8(5)
78Eq
79StLoc[7](loc0: bool)
B9:
80MoveLoc[7](loc0: bool)
81StLoc[27](loc20: bool)
82CopyLoc[0](Arg0: &mut Tasks)
83ImmBorrowField[28](Tasks.updater: Updater)
84Call ika_chan_updater::length_of_nfts(&Updater): u64
85LdU64(0)
86Gt
87BrFalse(91)
B10:
88LdTrue
89StLoc[21](loc14: bool)
90Branch(93)
B11:
91MoveLoc[27](loc20: bool)
92StLoc[21](loc14: bool)
B12:
93MoveLoc[21](loc14: bool)
94BrFalse(106)
B13:
95CopyLoc[0](Arg0: &mut Tasks)
96MutBorrowField[28](Tasks.updater: Updater)
97CopyLoc[2](Arg2: &mut Kiosk)
98CopyLoc[3](Arg3: &PersonalKioskCap)
99Call personal_kiosk::borrow(&PersonalKioskCap): &KioskOwnerCap
100MoveLoc[5](Arg5: &TransferPolicy<MfSquidMaiden>)
101CopyLoc[1](Arg1: ID)
102MoveLoc[4](Arg4: &Random)
103CopyLoc[6](Arg6: &mut TxContext)
104Call ika_chan_updater::update_the_nft(&mut Updater, &mut Kiosk, &KioskOwnerCap, &TransferPolicy<MfSquidMaiden>, ID, &Random, &mut TxContext)
105Branch(121)
B14:
106MoveLoc[4](Arg4: &Random)
107Pop
108CopyLoc[0](Arg0: &mut Tasks)
109MutBorrowField[1](Tasks.id: UID)
110LdConst[16](vector<u8>: "mf_..)
111Call dynamic_object_field::borrow_mut<vector<u8>, MfTaskU>(&mut UID, vector<u8>): &mut MfTaskU
112MutBorrowField[29](MfTaskU.nfts: vector<MfSquidMaiden>)
113VecPopBack(58)
114StLoc[29](loc22: MfSquidMaiden)
115CopyLoc[2](Arg2: &mut Kiosk)
116CopyLoc[3](Arg3: &PersonalKioskCap)
117Call personal_kiosk::borrow(&PersonalKioskCap): &KioskOwnerCap
118MoveLoc[5](Arg5: &TransferPolicy<MfSquidMaiden>)
119MoveLoc[29](loc22: MfSquidMaiden)
120Call kiosk::lock<MfSquidMaiden>(&mut Kiosk, &KioskOwnerCap, &TransferPolicy<MfSquidMaiden>, MfSquidMaiden)
B15:
121CopyLoc[2](Arg2: &mut Kiosk)
122MoveLoc[3](Arg3: &PersonalKioskCap)
123Call personal_kiosk::borrow(&PersonalKioskCap): &KioskOwnerCap
124CopyLoc[1](Arg1: ID)
125LdU64(0)
126Call kiosk::list<IkaChanNft>(&mut Kiosk, &KioskOwnerCap, ID, u64)
127MoveLoc[2](Arg2: &mut Kiosk)
128CopyLoc[1](Arg1: ID)
129CopyLoc[6](Arg6: &mut TxContext)
130Call coin::zero<SUI>(&mut TxContext): Coin<SUI>
131Call kiosk::purchase<IkaChanNft>(&mut Kiosk, ID, Coin<SUI>): IkaChanNft * TransferRequest<IkaChanNft>
132StLoc[31](loc24: TransferRequest<IkaChanNft>)
133StLoc[30](loc23: IkaChanNft)
134CopyLoc[0](Arg0: &mut Tasks)
135ImmBorrowField[30](Tasks.unlock_ika_chan_nft_policy: TransferPolicy<IkaChanNft>)
136MoveLoc[31](loc24: TransferRequest<IkaChanNft>)
137Call transfer_policy::confirm_request<IkaChanNft>(&TransferPolicy<IkaChanNft>, TransferRequest<IkaChanNft>): ID * u64 * ID
138Pop
139Pop
140Pop
141LdTrue
142CopyLoc[34](loc27: &mut UserTasks)
143MutBorrowField[14](UserTasks.did_reveal_nft: bool)
144WriteRef
145CopyLoc[34](loc27: &mut UserTasks)
146ImmBorrowField[25](UserTasks.drizzlets_earned: u64)
147ReadRef
148StLoc[11](loc4: u64)
149ImmBorrowLoc[30](loc23: IkaChanNft)
150Call ika_chan_nft::metadata(&IkaChanNft): &Metadata
151Call ika_chan_nft::metadata_rarity(&Metadata): &String
152Call string::as_bytes(&String): &vector<u8>
153StLoc[26](loc19: &vector<u8>)
154CopyLoc[26](loc19: &vector<u8>)
155ReadRef
156LdConst[17](vector<u8>: "Com..)
157Eq
158BrFalse(164)
B16:
159MoveLoc[26](loc19: &vector<u8>)
160Pop
161LdU64(1500)
162StLoc[10](loc3: u64)
163Branch(212)
B17:
164CopyLoc[26](loc19: &vector<u8>)
165ReadRef
166LdConst[18](vector<u8>: "Epi..)
167Eq
168BrFalse(174)
B18:
169MoveLoc[26](loc19: &vector<u8>)
170Pop
171LdU64(4000)
172StLoc[9](loc2: u64)
173Branch(210)
B19:
174CopyLoc[26](loc19: &vector<u8>)
175ReadRef
176LdConst[19](vector<u8>: "Leg..)
177Eq
178BrFalse(184)
B20:
179MoveLoc[26](loc19: &vector<u8>)
180Pop
181LdU64(7500)
182StLoc[8](loc1: u64)
183Branch(208)
B21:
184CopyLoc[26](loc19: &vector<u8>)
185ReadRef
186LdConst[20](vector<u8>: "Myt..)
187Eq
188BrFalse(194)
B22:
189MoveLoc[26](loc19: &vector<u8>)
190Pop
191LdU64(20000)
192StLoc[24](loc17: u64)
193Branch(206)
B23:
194MoveLoc[26](loc19: &vector<u8>)
195ReadRef
196LdConst[21](vector<u8>: "Rar..)
197Eq
198BrFalse(202)
B24:
199LdU64(2000)
200StLoc[23](loc16: u64)
201Branch(204)
B25:
202LdU64(0)
203StLoc[23](loc16: u64)
B26:
204MoveLoc[23](loc16: u64)
205StLoc[24](loc17: u64)
B27:
206MoveLoc[24](loc17: u64)
207StLoc[8](loc1: u64)
B28:
208MoveLoc[8](loc1: u64)
209StLoc[9](loc2: u64)
B29:
210MoveLoc[9](loc2: u64)
211StLoc[10](loc3: u64)
B30:
212MoveLoc[10](loc3: u64)
213StLoc[22](loc15: u64)
214MoveLoc[11](loc4: u64)
215MoveLoc[22](loc15: u64)
216Add
217LdU64(100)
218ImmBorrowLoc[30](loc23: IkaChanNft)
219Call ika_chan_nft::borrow_level(&IkaChanNft): &Level
220Call ika_chan_level::current(&Level): u32
221CastU64
222Mul
223Add
224CopyLoc[34](loc27: &mut UserTasks)
225MutBorrowField[25](UserTasks.drizzlets_earned: u64)
226WriteRef
227CopyLoc[0](Arg0: &mut Tasks)
228ImmBorrowField[26](Tasks.total_drizzlets_earned: u64)
229ReadRef
230StLoc[19](loc12: u64)
231ImmBorrowLoc[30](loc23: IkaChanNft)
232Call ika_chan_nft::metadata(&IkaChanNft): &Metadata
233Call ika_chan_nft::metadata_rarity(&Metadata): &String
234Call string::as_bytes(&String): &vector<u8>
235StLoc[25](loc18: &vector<u8>)
236CopyLoc[25](loc18: &vector<u8>)
237ReadRef
238LdConst[17](vector<u8>: "Com..)
239Eq
240BrFalse(246)
B31:
241MoveLoc[25](loc18: &vector<u8>)
242Pop
243LdU64(1500)
244StLoc[18](loc11: u64)
245Branch(294)
B32:
246CopyLoc[25](loc18: &vector<u8>)
247ReadRef
248LdConst[18](vector<u8>: "Epi..)
249Eq
250BrFalse(256)
B33:
251MoveLoc[25](loc18: &vector<u8>)
252Pop
253LdU64(4000)
254StLoc[17](loc10: u64)
255Branch(292)
B34:
256CopyLoc[25](loc18: &vector<u8>)
257ReadRef
258LdConst[19](vector<u8>: "Leg..)
259Eq
260BrFalse(266)
B35:
261MoveLoc[25](loc18: &vector<u8>)
262Pop
263LdU64(7500)
264StLoc[16](loc9: u64)
265Branch(290)
B36:
266CopyLoc[25](loc18: &vector<u8>)
267ReadRef
268LdConst[20](vector<u8>: "Myt..)
269Eq
270BrFalse(276)
B37:
271MoveLoc[25](loc18: &vector<u8>)
272Pop
273LdU64(20000)
274StLoc[15](loc8: u64)
275Branch(288)
B38:
276MoveLoc[25](loc18: &vector<u8>)
277ReadRef
278LdConst[21](vector<u8>: "Rar..)
279Eq
280BrFalse(284)
B39:
281LdU64(2000)
282StLoc[13](loc6: u64)
283Branch(286)
B40:
284LdU64(0)
285StLoc[13](loc6: u64)
B41:
286MoveLoc[13](loc6: u64)
287StLoc[15](loc8: u64)
B42:
288MoveLoc[15](loc8: u64)
289StLoc[16](loc9: u64)
B43:
290MoveLoc[16](loc9: u64)
291StLoc[17](loc10: u64)
B44:
292MoveLoc[17](loc10: u64)
293StLoc[18](loc11: u64)
B45:
294MoveLoc[18](loc11: u64)
295StLoc[12](loc5: u64)
296MoveLoc[19](loc12: u64)
297MoveLoc[12](loc5: u64)
298Add
299LdU64(100)
300ImmBorrowLoc[30](loc23: IkaChanNft)
301Call ika_chan_nft::borrow_level(&IkaChanNft): &Level
302Call ika_chan_level::current(&Level): u32
303CastU64
304Mul
305Add
306MoveLoc[0](Arg0: &mut Tasks)
307MutBorrowField[26](Tasks.total_drizzlets_earned: u64)
308WriteRef
309MoveLoc[6](Arg6: &mut TxContext)
310Call object::new(&mut TxContext): UID
311CopyLoc[1](Arg1: ID)
312Pack[4](StakedIkaChanNft)
313StLoc[33](loc26: StakedIkaChanNft)
314MutBorrowLoc[33](loc26: StakedIkaChanNft)
315MutBorrowField[31](StakedIkaChanNft.id: UID)
316MoveLoc[1](Arg1: ID)
317MoveLoc[30](loc23: IkaChanNft)
318Call dynamic_object_field::add<ID, IkaChanNft>(&mut UID, ID, IkaChanNft)
319MoveLoc[34](loc27: &mut UserTasks)
320MutBorrowField[32](UserTasks.staked_nfts: vector<ID>)
321ImmBorrowLoc[33](loc26: StakedIkaChanNft)
322Call object::id<StakedIkaChanNft>(&StakedIkaChanNft): ID
323VecPushBack(59)
324MoveLoc[33](loc26: StakedIkaChanNft)
325MoveLoc[32](loc25: address)
326Call transfer::transfer<StakedIkaChanNft>(StakedIkaChanNft, address)
327Ret
}
 
entry fix_nft(Arg0: &mut Tasks, Arg1: &StakedIkaChanNft, Arg2: ID, Arg3: &mut Kiosk, Arg4: &PersonalKioskCap, Arg5: &TransferPolicy<MfSquidMaiden>, Arg6: &Random, Arg7: &mut TxContext) {
L8: loc0: ID
L9: loc1: u64
L10: loc2: &mut MfTaskU
L11: loc3: MfSquidMaiden
L12: loc4: TransferRequest<MfSquidMaiden>
L13: loc5: MfSquidMaiden
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(7)
B1:
6Branch(23)
B2:
7MoveLoc[0](Arg0: &mut Tasks)
8Pop
9MoveLoc[1](Arg1: &StakedIkaChanNft)
10Pop
11MoveLoc[6](Arg6: &Random)
12Pop
13MoveLoc[5](Arg5: &TransferPolicy<MfSquidMaiden>)
14Pop
15MoveLoc[4](Arg4: &PersonalKioskCap)
16Pop
17MoveLoc[3](Arg3: &mut Kiosk)
18Pop
19MoveLoc[7](Arg7: &mut TxContext)
20Pop
21LdU64(13906836661129445375)
22Abort
B3:
23CopyLoc[0](Arg0: &mut Tasks)
24ImmBorrowField[27](Tasks.nft_enabled: bool)
25ReadRef
26BrFalse(28)
B4:
27Branch(44)
B5:
28MoveLoc[0](Arg0: &mut Tasks)
29Pop
30MoveLoc[1](Arg1: &StakedIkaChanNft)
31Pop
32MoveLoc[6](Arg6: &Random)
33Pop
34MoveLoc[5](Arg5: &TransferPolicy<MfSquidMaiden>)
35Pop
36MoveLoc[4](Arg4: &PersonalKioskCap)
37Pop
38MoveLoc[3](Arg3: &mut Kiosk)
39Pop
40MoveLoc[7](Arg7: &mut TxContext)
41Pop
42LdU64(13906836665424412671)
43Abort
B6:
44MoveLoc[1](Arg1: &StakedIkaChanNft)
45ImmBorrowField[31](StakedIkaChanNft.id: UID)
46Call object::uid_to_inner(&UID): ID
47StLoc[8](loc0: ID)
48CopyLoc[0](Arg0: &mut Tasks)
49MutBorrowField[1](Tasks.id: UID)
50LdConst[16](vector<u8>: "mf_..)
51Call dynamic_object_field::borrow_mut<vector<u8>, MfTaskU>(&mut UID, vector<u8>): &mut MfTaskU
52StLoc[10](loc2: &mut MfTaskU)
53CopyLoc[10](loc2: &mut MfTaskU)
54ImmBorrowField[33](MfTaskU.eligible_staked_ika_nfts: vector<ID>)
55ImmBorrowLoc[8](loc0: ID)
56Call vector::index_of<ID>(&vector<ID>, &ID): bool * u64
57StLoc[9](loc1: u64)
58BrFalse(60)
B7:
59Branch(76)
B8:
60MoveLoc[0](Arg0: &mut Tasks)
61Pop
62MoveLoc[6](Arg6: &Random)
63Pop
64MoveLoc[5](Arg5: &TransferPolicy<MfSquidMaiden>)
65Pop
66MoveLoc[10](loc2: &mut MfTaskU)
67Pop
68MoveLoc[4](Arg4: &PersonalKioskCap)
69Pop
70MoveLoc[3](Arg3: &mut Kiosk)
71Pop
72MoveLoc[7](Arg7: &mut TxContext)
73Pop
74LdU64(13906836691194216447)
75Abort
B9:
76CopyLoc[10](loc2: &mut MfTaskU)
77MutBorrowField[33](MfTaskU.eligible_staked_ika_nfts: vector<ID>)
78MoveLoc[9](loc1: u64)
79Call vector::remove<ID>(&mut vector<ID>, u64): ID
80Pop
81CopyLoc[3](Arg3: &mut Kiosk)
82CopyLoc[4](Arg4: &PersonalKioskCap)
83Call personal_kiosk::borrow(&PersonalKioskCap): &KioskOwnerCap
84CopyLoc[2](Arg2: ID)
85LdU64(0)
86Call kiosk::list<MfSquidMaiden>(&mut Kiosk, &KioskOwnerCap, ID, u64)
87CopyLoc[3](Arg3: &mut Kiosk)
88MoveLoc[2](Arg2: ID)
89CopyLoc[7](Arg7: &mut TxContext)
90Call coin::zero<SUI>(&mut TxContext): Coin<SUI>
91Call kiosk::purchase<MfSquidMaiden>(&mut Kiosk, ID, Coin<SUI>): MfSquidMaiden * TransferRequest<MfSquidMaiden>
92StLoc[12](loc4: TransferRequest<MfSquidMaiden>)
93StLoc[11](loc3: MfSquidMaiden)
94CopyLoc[10](loc2: &mut MfTaskU)
95ImmBorrowField[34](MfTaskU.unlock_policy: TransferPolicy<MfSquidMaiden>)
96MoveLoc[12](loc4: TransferRequest<MfSquidMaiden>)
97Call transfer_policy::confirm_request<MfSquidMaiden>(&TransferPolicy<MfSquidMaiden>, TransferRequest<MfSquidMaiden>): ID * u64 * ID
98Pop
99Pop
100Pop
101MoveLoc[10](loc2: &mut MfTaskU)
102MutBorrowField[29](MfTaskU.nfts: vector<MfSquidMaiden>)
103MoveLoc[11](loc3: MfSquidMaiden)
104VecPushBack(58)
105MoveLoc[0](Arg0: &mut Tasks)
106MutBorrowField[28](Tasks.updater: Updater)
107MoveLoc[6](Arg6: &Random)
108CopyLoc[7](Arg7: &mut TxContext)
109Call ika_chan_updater::get_random_reserved_one_of_one(&mut Updater, &Random, &mut TxContext): UMetadata
110MoveLoc[7](Arg7: &mut TxContext)
111Call mf_squid_maiden::new(UMetadata, &mut TxContext): MfSquidMaiden
112StLoc[13](loc5: MfSquidMaiden)
113MoveLoc[3](Arg3: &mut Kiosk)
114MoveLoc[4](Arg4: &PersonalKioskCap)
115Call personal_kiosk::borrow(&PersonalKioskCap): &KioskOwnerCap
116MoveLoc[5](Arg5: &TransferPolicy<MfSquidMaiden>)
117MoveLoc[13](loc5: MfSquidMaiden)
118Call kiosk::lock<MfSquidMaiden>(&mut Kiosk, &KioskOwnerCap, &TransferPolicy<MfSquidMaiden>, MfSquidMaiden)
119Ret
}
 
public unstake_ika_chan_nft(Arg0: &mut Tasks, Arg1: StakedIkaChanNft, Arg2: &mut Kiosk, Arg3: &KioskOwnerCap, Arg4: &TransferPolicy<IkaChanNft>, Arg5: &mut TxContext) {
L6: loc0: bool
L7: loc1: UID
L8: loc2: IkaChanNft
L9: loc3: ID
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(9)
B1:
6LdTrue
7StLoc[6](loc0: bool)
8Branch(15)
B2:
9CopyLoc[0](Arg0: &mut Tasks)
10ImmBorrowField[3](Tasks.state: InkDrizzletsState)
11ReadRef
12PackVariant(VariantHandleIndex(2))
13Eq
14StLoc[6](loc0: bool)
B3:
15MoveLoc[6](loc0: bool)
16BrFalse(18)
B4:
17Branch(28)
B5:
18MoveLoc[0](Arg0: &mut Tasks)
19Pop
20MoveLoc[4](Arg4: &TransferPolicy<IkaChanNft>)
21Pop
22MoveLoc[3](Arg3: &KioskOwnerCap)
23Pop
24MoveLoc[2](Arg2: &mut Kiosk)
25Pop
26LdU64(13906836789978464255)
27Abort
B6:
28MoveLoc[0](Arg0: &mut Tasks)
29ImmBorrowField[35](Tasks.unstaking_enabled: bool)
30ReadRef
31BrFalse(33)
B7:
32Branch(41)
B8:
33MoveLoc[4](Arg4: &TransferPolicy<IkaChanNft>)
34Pop
35MoveLoc[3](Arg3: &KioskOwnerCap)
36Pop
37MoveLoc[2](Arg2: &mut Kiosk)
38Pop
39LdU64(13906836794273431551)
40Abort
B9:
41MoveLoc[1](Arg1: StakedIkaChanNft)
42Unpack[4](StakedIkaChanNft)
43StLoc[9](loc3: ID)
44StLoc[7](loc1: UID)
45MutBorrowLoc[7](loc1: UID)
46MoveLoc[9](loc3: ID)
47Call dynamic_object_field::remove<ID, IkaChanNft>(&mut UID, ID): IkaChanNft
48StLoc[8](loc2: IkaChanNft)
49MoveLoc[7](loc1: UID)
50Call object::delete(UID)
51MoveLoc[2](Arg2: &mut Kiosk)
52MoveLoc[3](Arg3: &KioskOwnerCap)
53MoveLoc[4](Arg4: &TransferPolicy<IkaChanNft>)
54MoveLoc[8](loc2: IkaChanNft)
55Call kiosk::lock<IkaChanNft>(&mut Kiosk, &KioskOwnerCap, &TransferPolicy<IkaChanNft>, IkaChanNft)
56Ret
}
 
public unstake_ika_chan_nft_personal(Arg0: &mut Tasks, Arg1: StakedIkaChanNft, Arg2: &mut Kiosk, Arg3: &PersonalKioskCap, Arg4: &mut TxContext) {
L5: loc0: bool
L6: loc1: UID
L7: loc2: IkaChanNft
L8: loc3: ID
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(9)
B1:
6LdTrue
7StLoc[5](loc0: bool)
8Branch(15)
B2:
9CopyLoc[0](Arg0: &mut Tasks)
10ImmBorrowField[3](Tasks.state: InkDrizzletsState)
11ReadRef
12PackVariant(VariantHandleIndex(2))
13Eq
14StLoc[5](loc0: bool)
B3:
15MoveLoc[5](loc0: bool)
16BrFalse(18)
B4:
17Branch(26)
B5:
18MoveLoc[0](Arg0: &mut Tasks)
19Pop
20MoveLoc[3](Arg3: &PersonalKioskCap)
21Pop
22MoveLoc[2](Arg2: &mut Kiosk)
23Pop
24LdU64(13906836897352646655)
25Abort
B6:
26CopyLoc[0](Arg0: &mut Tasks)
27ImmBorrowField[35](Tasks.unstaking_enabled: bool)
28ReadRef
29BrFalse(31)
B7:
30Branch(39)
B8:
31MoveLoc[0](Arg0: &mut Tasks)
32Pop
33MoveLoc[3](Arg3: &PersonalKioskCap)
34Pop
35MoveLoc[2](Arg2: &mut Kiosk)
36Pop
37LdU64(13906836901647613951)
38Abort
B9:
39MoveLoc[1](Arg1: StakedIkaChanNft)
40Unpack[4](StakedIkaChanNft)
41StLoc[8](loc3: ID)
42StLoc[6](loc1: UID)
43MutBorrowLoc[6](loc1: UID)
44MoveLoc[8](loc3: ID)
45Call dynamic_object_field::remove<ID, IkaChanNft>(&mut UID, ID): IkaChanNft
46StLoc[7](loc2: IkaChanNft)
47MoveLoc[6](loc1: UID)
48Call object::delete(UID)
49MoveLoc[2](Arg2: &mut Kiosk)
50MoveLoc[3](Arg3: &PersonalKioskCap)
51Call personal_kiosk::borrow(&PersonalKioskCap): &KioskOwnerCap
52MoveLoc[0](Arg0: &mut Tasks)
53ImmBorrowField[30](Tasks.unlock_ika_chan_nft_policy: TransferPolicy<IkaChanNft>)
54MoveLoc[7](loc2: IkaChanNft)
55Call kiosk::lock<IkaChanNft>(&mut Kiosk, &KioskOwnerCap, &TransferPolicy<IkaChanNft>, IkaChanNft)
56Ret
}
 
public use_community_participation_code(Arg0: &mut Tasks, Arg1: vector<u8>, Arg2: vector<u8>, Arg3: &mut TxContext) {
L4: loc0: address
L5: loc1: &mut UserTasks
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(7)
B1:
6Branch(13)
B2:
7MoveLoc[0](Arg0: &mut Tasks)
8Pop
9MoveLoc[3](Arg3: &mut TxContext)
10Pop
11LdU64(13906836953187221503)
12Abort
B3:
13CopyLoc[0](Arg0: &mut Tasks)
14CopyLoc[3](Arg3: &mut TxContext)
15Call create_user_task_if_not_exists(&mut Tasks, &mut TxContext)
16MoveLoc[3](Arg3: &mut TxContext)
17FreezeRef
18Call tx_context::sender(&TxContext): address
19StLoc[4](loc0: address)
20CopyLoc[0](Arg0: &mut Tasks)
21MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
22MoveLoc[4](loc0: address)
23Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
24StLoc[5](loc1: &mut UserTasks)
25ImmBorrowLoc[1](Arg1: vector<u8>)
26VecLen(32)
27LdU64(0)
28Gt
29BrFalse(31)
B4:
30Branch(37)
B5:
31MoveLoc[5](loc1: &mut UserTasks)
32Pop
33MoveLoc[0](Arg0: &mut Tasks)
34Pop
35LdU64(13906836974662057983)
36Abort
B6:
37CopyLoc[0](Arg0: &mut Tasks)
38ImmBorrowField[36](Tasks.used_community_participation_codes: Table<vector<u8>, bool>)
39CopyLoc[1](Arg1: vector<u8>)
40Call table::contains<vector<u8>, bool>(&Table<vector<u8>, bool>, vector<u8>): bool
41Not
42BrFalse(44)
B7:
43Branch(50)
B8:
44MoveLoc[5](loc1: &mut UserTasks)
45Pop
46MoveLoc[0](Arg0: &mut Tasks)
47Pop
48LdU64(13906836978957025279)
49Abort
B9:
50CopyLoc[5](loc1: &mut UserTasks)
51ImmBorrowField[37](UserTasks.used_community_participation_code: vector<u8>)
52VecLen(32)
53LdU64(0)
54Eq
55BrFalse(57)
B10:
56Branch(63)
B11:
57MoveLoc[5](loc1: &mut UserTasks)
58Pop
59MoveLoc[0](Arg0: &mut Tasks)
60Pop
61LdU64(13906836983251992575)
62Abort
B12:
63MoveLoc[0](Arg0: &mut Tasks)
64MutBorrowField[36](Tasks.used_community_participation_codes: Table<vector<u8>, bool>)
65CopyLoc[1](Arg1: vector<u8>)
66LdTrue
67Call table::add<vector<u8>, bool>(&mut Table<vector<u8>, bool>, vector<u8>, bool)
68MoveLoc[1](Arg1: vector<u8>)
69CopyLoc[5](loc1: &mut UserTasks)
70MutBorrowField[37](UserTasks.used_community_participation_code: vector<u8>)
71WriteRef
72MoveLoc[5](loc1: &mut UserTasks)
73MoveLoc[2](Arg2: vector<u8>)
74Call add_data(&mut UserTasks, vector<u8>)
75Ret
}
 
public acquire_suins(Arg0: &mut Tasks, Arg1: &mut SuiNS, Arg2: vector<u8>, Arg3: vector<u8>, Arg4: &Clock, Arg5: &mut TxContext): SubDomainRegistration {
L6: loc0: address
L7: loc1: &mut SuinsRegistration
L8: loc2: &mut UserTasks
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[3](Tasks.state: InkDrizzletsState)
2ReadRef
3PackVariant(VariantHandleIndex(1))
4Eq
5BrFalse(7)
B1:
6Branch(17)
B2:
7MoveLoc[0](Arg0: &mut Tasks)
8Pop
9MoveLoc[1](Arg1: &mut SuiNS)
10Pop
11MoveLoc[5](Arg5: &mut TxContext)
12Pop
13MoveLoc[4](Arg4: &Clock)
14Pop
15LdU64(13906837017611730943)
16Abort
B3:
17CopyLoc[0](Arg0: &mut Tasks)
18CopyLoc[5](Arg5: &mut TxContext)
19Call create_user_task_if_not_exists(&mut Tasks, &mut TxContext)
20CopyLoc[0](Arg0: &mut Tasks)
21ImmBorrowField[38](Tasks.acquired_suins_enabled: bool)
22ReadRef
23BrFalse(25)
B4:
24Branch(35)
B5:
25MoveLoc[0](Arg0: &mut Tasks)
26Pop
27MoveLoc[1](Arg1: &mut SuiNS)
28Pop
29MoveLoc[5](Arg5: &mut TxContext)
30Pop
31MoveLoc[4](Arg4: &Clock)
32Pop
33LdU64(13906837026201665535)
34Abort
B6:
35CopyLoc[5](Arg5: &mut TxContext)
36FreezeRef
37Call tx_context::sender(&TxContext): address
38StLoc[6](loc0: address)
39CopyLoc[0](Arg0: &mut Tasks)
40MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
41MoveLoc[6](loc0: address)
42Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
43StLoc[8](loc2: &mut UserTasks)
44CopyLoc[8](loc2: &mut UserTasks)
45ImmBorrowField[39](UserTasks.acquired_suins: Option<vector<u8>>)
46Call option::is_none<vector<u8>>(&Option<vector<u8>>): bool
47BrFalse(49)
B7:
48Branch(61)
B8:
49MoveLoc[8](loc2: &mut UserTasks)
50Pop
51MoveLoc[0](Arg0: &mut Tasks)
52Pop
53MoveLoc[1](Arg1: &mut SuiNS)
54Pop
55MoveLoc[5](Arg5: &mut TxContext)
56Pop
57MoveLoc[4](Arg4: &Clock)
58Pop
59LdU64(13906837047676502015)
60Abort
B9:
61CopyLoc[8](loc2: &mut UserTasks)
62MutBorrowField[39](UserTasks.acquired_suins: Option<vector<u8>>)
63CopyLoc[2](Arg2: vector<u8>)
64Call option::fill<vector<u8>>(&mut Option<vector<u8>>, vector<u8>)
65CopyLoc[8](loc2: &mut UserTasks)
66ImmBorrowField[25](UserTasks.drizzlets_earned: u64)
67ReadRef
68LdU64(100)
69Add
70CopyLoc[8](loc2: &mut UserTasks)
71MutBorrowField[25](UserTasks.drizzlets_earned: u64)
72WriteRef
73CopyLoc[0](Arg0: &mut Tasks)
74ImmBorrowField[26](Tasks.total_drizzlets_earned: u64)
75ReadRef
76LdU64(100)
77Add
78CopyLoc[0](Arg0: &mut Tasks)
79MutBorrowField[26](Tasks.total_drizzlets_earned: u64)
80WriteRef
81MoveLoc[8](loc2: &mut UserTasks)
82MoveLoc[3](Arg3: vector<u8>)
83Call add_data(&mut UserTasks, vector<u8>)
84MoveLoc[0](Arg0: &mut Tasks)
85MutBorrowField[40](Tasks.suins: Option<SuinsRegistration>)
86Call option::borrow_mut<SuinsRegistration>(&mut Option<SuinsRegistration>): &mut SuinsRegistration
87StLoc[7](loc1: &mut SuinsRegistration)
88MoveLoc[1](Arg1: &mut SuiNS)
89CopyLoc[7](loc1: &mut SuinsRegistration)
90FreezeRef
91MoveLoc[4](Arg4: &Clock)
92MoveLoc[2](Arg2: vector<u8>)
93Call string::utf8(vector<u8>): String
94MoveLoc[7](loc1: &mut SuinsRegistration)
95FreezeRef
96Call suins_registration::expiration_timestamp_ms(&SuinsRegistration): u64
97LdFalse
98LdTrue
99MoveLoc[5](Arg5: &mut TxContext)
100Call subdomains::new(&mut SuiNS, &SuinsRegistration, &Clock, String, u64, bool, bool, &mut TxContext): SubDomainRegistration
101Ret
}
 
public set_season_end_time_ts(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: u64) {
B0:
0MoveLoc[2](Arg2: u64)
1Call option::some<u64>(u64): Option<u64>
2MoveLoc[0](Arg0: &mut Tasks)
3MutBorrowField[6](Tasks.season_end_time_ts: Option<u64>)
4WriteRef
5Ret
}
 
public set_isui_staking_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[4](Tasks.isui_staking_enabled: bool)
3WriteRef
4Ret
}
 
public set_ika_staking_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[9](Tasks.ika_staking_enabled: bool)
3WriteRef
4Ret
}
 
public set_ecdsa_dwallet_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[41](Tasks.ecdsa_dwallet_enabled: bool)
3WriteRef
4Ret
}
 
public set_eddsa_dwallet_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[42](Tasks.eddsa_dwallet_enabled: bool)
3WriteRef
4Ret
}
 
public set_nft_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[27](Tasks.nft_enabled: bool)
3WriteRef
4Ret
}
 
public set_riddle_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[13](Tasks.riddle_enabled: bool)
3WriteRef
4Ret
}
 
public set_riddle_one_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[15](Tasks.riddle_one_enabled: bool)
3WriteRef
4Ret
}
 
public set_riddle_two_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[17](Tasks.riddle_two_enabled: bool)
3WriteRef
4Ret
}
 
public set_riddle_three_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[19](Tasks.riddle_three_enabled: bool)
3WriteRef
4Ret
}
 
public set_acquired_suins_enabled(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: bool) {
B0:
0MoveLoc[2](Arg2: bool)
1MoveLoc[0](Arg0: &mut Tasks)
2MutBorrowField[38](Tasks.acquired_suins_enabled: bool)
3WriteRef
4Ret
}
 
public add_reserved_nft(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: UMetadata) {
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MutBorrowField[28](Tasks.updater: Updater)
2MoveLoc[2](Arg2: UMetadata)
3Call ika_chan_updater::add_reserved_one_of_one(&mut Updater, UMetadata)
4Ret
}
 
public add_nft(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: UMetadata) {
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MutBorrowField[28](Tasks.updater: Updater)
2MoveLoc[2](Arg2: UMetadata)
3Call ika_chan_updater::add_nft(&mut Updater, UMetadata)
4Ret
}
 
public add_ink_drizzlets(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: address, Arg3: u64) {
L4: loc0: &mut UserTasks
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
2MoveLoc[2](Arg2: address)
3Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
4StLoc[4](loc0: &mut UserTasks)
5CopyLoc[4](loc0: &mut UserTasks)
6ImmBorrowField[25](UserTasks.drizzlets_earned: u64)
7ReadRef
8CopyLoc[3](Arg3: u64)
9Add
10MoveLoc[4](loc0: &mut UserTasks)
11MutBorrowField[25](UserTasks.drizzlets_earned: u64)
12WriteRef
13CopyLoc[0](Arg0: &mut Tasks)
14ImmBorrowField[26](Tasks.total_drizzlets_earned: u64)
15ReadRef
16MoveLoc[3](Arg3: u64)
17Add
18MoveLoc[0](Arg0: &mut Tasks)
19MutBorrowField[26](Tasks.total_drizzlets_earned: u64)
20WriteRef
21Ret
}
 
public subtract_ink_drizzlets(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: address, Arg3: u64) {
L4: loc0: &mut UserTasks
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
2MoveLoc[2](Arg2: address)
3Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
4StLoc[4](loc0: &mut UserTasks)
5CopyLoc[4](loc0: &mut UserTasks)
6ImmBorrowField[25](UserTasks.drizzlets_earned: u64)
7ReadRef
8CopyLoc[3](Arg3: u64)
9Add
10MoveLoc[4](loc0: &mut UserTasks)
11MutBorrowField[25](UserTasks.drizzlets_earned: u64)
12WriteRef
13CopyLoc[0](Arg0: &mut Tasks)
14ImmBorrowField[26](Tasks.total_drizzlets_earned: u64)
15ReadRef
16MoveLoc[3](Arg3: u64)
17Sub
18MoveLoc[0](Arg0: &mut Tasks)
19MutBorrowField[26](Tasks.total_drizzlets_earned: u64)
20WriteRef
21Ret
}
 
public set_state(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: u8) {
B0:
0CopyLoc[2](Arg2: u8)
1LdU8(3)
2Neq
3BrFalse(5)
B1:
4Branch(9)
B2:
5MoveLoc[0](Arg0: &mut Tasks)
6Pop
7LdConst[5](u64: 5)
8Abort
B3:
9MoveLoc[2](Arg2: u8)
10Call to_state(u8): InkDrizzletsState
11MoveLoc[0](Arg0: &mut Tasks)
12MutBorrowField[3](Tasks.state: InkDrizzletsState)
13WriteRef
14Ret
}
 
public close_season(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: &Clock) {
B0:
0MoveLoc[2](Arg2: &Clock)
1Call clock::timestamp_ms(&Clock): u64
2Call option::some<u64>(u64): Option<u64>
3CopyLoc[0](Arg0: &mut Tasks)
4MutBorrowField[6](Tasks.season_end_time_ts: Option<u64>)
5WriteRef
6PackVariant(VariantHandleIndex(2))
7CopyLoc[0](Arg0: &mut Tasks)
8MutBorrowField[3](Tasks.state: InkDrizzletsState)
9WriteRef
10LdFalse
11CopyLoc[0](Arg0: &mut Tasks)
12MutBorrowField[4](Tasks.isui_staking_enabled: bool)
13WriteRef
14LdFalse
15CopyLoc[0](Arg0: &mut Tasks)
16MutBorrowField[9](Tasks.ika_staking_enabled: bool)
17WriteRef
18LdFalse
19CopyLoc[0](Arg0: &mut Tasks)
20MutBorrowField[27](Tasks.nft_enabled: bool)
21WriteRef
22LdFalse
23CopyLoc[0](Arg0: &mut Tasks)
24MutBorrowField[13](Tasks.riddle_enabled: bool)
25WriteRef
26LdFalse
27CopyLoc[0](Arg0: &mut Tasks)
28MutBorrowField[15](Tasks.riddle_one_enabled: bool)
29WriteRef
30LdFalse
31CopyLoc[0](Arg0: &mut Tasks)
32MutBorrowField[17](Tasks.riddle_two_enabled: bool)
33WriteRef
34LdFalse
35CopyLoc[0](Arg0: &mut Tasks)
36MutBorrowField[19](Tasks.riddle_three_enabled: bool)
37WriteRef
38LdFalse
39CopyLoc[0](Arg0: &mut Tasks)
40MutBorrowField[38](Tasks.acquired_suins_enabled: bool)
41WriteRef
42LdFalse
43CopyLoc[0](Arg0: &mut Tasks)
44MutBorrowField[41](Tasks.ecdsa_dwallet_enabled: bool)
45WriteRef
46LdFalse
47CopyLoc[0](Arg0: &mut Tasks)
48MutBorrowField[42](Tasks.eddsa_dwallet_enabled: bool)
49WriteRef
50LdTrue
51MoveLoc[0](Arg0: &mut Tasks)
52MutBorrowField[35](Tasks.unstaking_enabled: bool)
53WriteRef
54Ret
}
 
ika_closing_rewards(Arg0: u64, Arg1: u64, Arg2: u64): u64 {
L3: loc0: u64
B0:
0CopyLoc[2](Arg2: u64)
1LdU64(0)
2Eq
3BrFalse(16)
B1:
4MoveLoc[0](Arg0: u64)
5CastU128
6LdU128(5)
7Mul
8MoveLoc[1](Arg1: u64)
9CastU128
10Mul
11LdU128(10000000000)
12Div
13CastU64
14StLoc[3](loc0: u64)
15Branch(21)
B2:
16MoveLoc[0](Arg0: u64)
17MoveLoc[1](Arg1: u64)
18MoveLoc[2](Arg2: u64)
19Call calculate_ika_rewards(u64, u64, u64): u64
20StLoc[3](loc0: u64)
B3:
21MoveLoc[3](loc0: u64)
22Ret
}
 
public clear_data(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: vector<address>) {
L3: loc0: u64
L4: loc1: address
L5: loc2: u64
L6: loc3: u64
L7: loc4: &mut UserTasks
L8: loc5: vector<address>
B0:
0MoveLoc[2](Arg2: vector<address>)
1StLoc[8](loc5: vector<address>)
2MutBorrowLoc[8](loc5: vector<address>)
3Call vector::reverse<address>(&mut vector<address>)
4ImmBorrowLoc[8](loc5: vector<address>)
5VecLen(38)
6StLoc[3](loc0: u64)
7LdU64(0)
8StLoc[5](loc2: u64)
9MoveLoc[3](loc0: u64)
10StLoc[6](loc3: u64)
B1:
11CopyLoc[5](loc2: u64)
12CopyLoc[6](loc3: u64)
13Lt
14BrFalse(43)
B2:
15CopyLoc[5](loc2: u64)
16Pop
17MutBorrowLoc[8](loc5: vector<address>)
18VecPopBack(38)
19StLoc[4](loc1: address)
20CopyLoc[0](Arg0: &mut Tasks)
21MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
22MoveLoc[4](loc1: address)
23Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
24StLoc[7](loc4: &mut UserTasks)
B3:
25CopyLoc[7](loc4: &mut UserTasks)
26ImmBorrowField[43](UserTasks.commitments: TableVec<vector<u8>>)
27Call table_vec::length<vector<u8>>(&TableVec<vector<u8>>): u64
28LdU64(0)
29Neq
30BrFalse(36)
B4:
31CopyLoc[7](loc4: &mut UserTasks)
32MutBorrowField[43](UserTasks.commitments: TableVec<vector<u8>>)
33Call table_vec::pop_back<vector<u8>>(&mut TableVec<vector<u8>>): vector<u8>
34Pop
35Branch(25)
B5:
36MoveLoc[7](loc4: &mut UserTasks)
37Pop
38MoveLoc[5](loc2: u64)
39LdU64(1)
40Add
41StLoc[5](loc2: u64)
42Branch(11)
B6:
43MoveLoc[0](Arg0: &mut Tasks)
44Pop
45MoveLoc[8](loc5: vector<address>)
46VecUnpack(38, 0)
47Ret
}
 
public set_unlock_i_sui(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: &Clock, Arg3: ID, Arg4: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MoveLoc[2](Arg2: &Clock)
2MoveLoc[3](Arg3: ID)
3MoveLoc[4](Arg4: &mut TxContext)
4FreezeRef
5Call unlock_i_sui_impl(&mut Tasks, &Clock, ID, &TxContext)
6Ret
}
 
public set_unlock_staked_ika(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: &Clock, Arg3: ID, Arg4: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MoveLoc[2](Arg2: &Clock)
2MoveLoc[3](Arg3: ID)
3MoveLoc[4](Arg4: &mut TxContext)
4FreezeRef
5Call unlock_staked_ika_impl(&mut Tasks, &Clock, ID, &TxContext)
6Ret
}
 
public put_suins_in(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: SuinsRegistration) {
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MutBorrowField[40](Tasks.suins: Option<SuinsRegistration>)
2MoveLoc[2](Arg2: SuinsRegistration)
3Call option::fill<SuinsRegistration>(&mut Option<SuinsRegistration>, SuinsRegistration)
4Ret
}
 
public get_suins_out(Arg0: &mut Tasks, Arg1: &AdminCap): SuinsRegistration {
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MutBorrowField[40](Tasks.suins: Option<SuinsRegistration>)
2Call option::extract<SuinsRegistration>(&mut Option<SuinsRegistration>): SuinsRegistration
3Ret
}
 
public wipe_nfts(Arg0: &mut Tasks, Arg1: &AdminCap) {
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MutBorrowField[28](Tasks.updater: Updater)
2Call ika_chan_updater::wipe_nfts(&mut Updater)
3Ret
}
 
public wipe_one_of_ones(Arg0: &mut Tasks, Arg1: &AdminCap) {
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MutBorrowField[28](Tasks.updater: Updater)
2Call ika_chan_updater::wipe_one_of_ones(&mut Updater)
3Ret
}
 
public remove_id_from_eligible(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: ID) {
L3: loc0: u64
L4: loc1: &mut MfTaskU
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MutBorrowField[1](Tasks.id: UID)
2LdConst[16](vector<u8>: "mf_..)
3Call dynamic_object_field::borrow_mut<vector<u8>, MfTaskU>(&mut UID, vector<u8>): &mut MfTaskU
4StLoc[4](loc1: &mut MfTaskU)
5CopyLoc[4](loc1: &mut MfTaskU)
6ImmBorrowField[33](MfTaskU.eligible_staked_ika_nfts: vector<ID>)
7ImmBorrowLoc[2](Arg2: ID)
8Call vector::index_of<ID>(&vector<ID>, &ID): bool * u64
9StLoc[3](loc0: u64)
10BrFalse(12)
B1:
11Branch(16)
B2:
12MoveLoc[4](loc1: &mut MfTaskU)
13Pop
14LdU64(13906837910964928511)
15Abort
B3:
16MoveLoc[4](loc1: &mut MfTaskU)
17MutBorrowField[33](MfTaskU.eligible_staked_ika_nfts: vector<ID>)
18MoveLoc[3](loc0: u64)
19Call vector::remove<ID>(&mut vector<ID>, u64): ID
20Pop
21Ret
}
 
public add_id_to_eligible(Arg0: &mut Tasks, Arg1: &AdminCap, Arg2: ID) {
B0:
0MoveLoc[0](Arg0: &mut Tasks)
1MutBorrowField[1](Tasks.id: UID)
2LdConst[16](vector<u8>: "mf_..)
3Call dynamic_object_field::borrow_mut<vector<u8>, MfTaskU>(&mut UID, vector<u8>): &mut MfTaskU
4MutBorrowField[33](MfTaskU.eligible_staked_ika_nfts: vector<ID>)
5MoveLoc[2](Arg2: ID)
6VecPushBack(59)
7Ret
}
 
unlock_i_sui_impl(Arg0: &mut Tasks, Arg1: &Clock, Arg2: ID, Arg3: &TxContext) {
L4: loc0: u64
L5: loc1: u64
L6: loc2: u64
L7: loc3: &mut LockedISUIBalance
L8: loc4: u64
L9: loc5: address
L10: loc6: &mut UserTasks
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[7](Tasks.locked_i_sui_balances: ObjectTable<ID, LockedISUIBalance>)
2CopyLoc[2](Arg2: ID)
3Call object_table::contains<ID, LockedISUIBalance>(&ObjectTable<ID, LockedISUIBalance>, ID): bool
4BrFalse(127)
B1:
5CopyLoc[0](Arg0: &mut Tasks)
6MutBorrowField[7](Tasks.locked_i_sui_balances: ObjectTable<ID, LockedISUIBalance>)
7CopyLoc[2](Arg2: ID)
8Call object_table::borrow_mut<ID, LockedISUIBalance>(&mut ObjectTable<ID, LockedISUIBalance>, ID): &mut LockedISUIBalance
9StLoc[7](loc3: &mut LockedISUIBalance)
10CopyLoc[7](loc3: &mut LockedISUIBalance)
11ImmBorrowField[44](LockedISUIBalance.account: address)
12ReadRef
13StLoc[9](loc5: address)
14CopyLoc[7](loc3: &mut LockedISUIBalance)
15ImmBorrowField[45](LockedISUIBalance.unlock_time_ts: Option<u64>)
16Call option::is_none<u64>(&Option<u64>): bool
17BrFalse(120)
B2:
18CopyLoc[0](Arg0: &mut Tasks)
19ImmBorrowField[5](Tasks.total_isui_stakes: u64)
20ReadRef
21CopyLoc[7](loc3: &mut LockedISUIBalance)
22ImmBorrowField[46](LockedISUIBalance.current_balance: u64)
23ReadRef
24Sub
25CopyLoc[0](Arg0: &mut Tasks)
26MutBorrowField[5](Tasks.total_isui_stakes: u64)
27WriteRef
28MoveLoc[1](Arg1: &Clock)
29Call clock::timestamp_ms(&Clock): u64
30StLoc[8](loc4: u64)
31CopyLoc[7](loc3: &mut LockedISUIBalance)
32MutBorrowField[45](LockedISUIBalance.unlock_time_ts: Option<u64>)
33CopyLoc[8](loc4: u64)
34Call option::fill<u64>(&mut Option<u64>, u64)
35CopyLoc[0](Arg0: &mut Tasks)
36ImmBorrowField[3](Tasks.state: InkDrizzletsState)
37ReadRef
38PackVariant(VariantHandleIndex(2))
39Eq
40BrFalse(55)
B3:
41CopyLoc[7](loc3: &mut LockedISUIBalance)
42ImmBorrowField[46](LockedISUIBalance.current_balance: u64)
43ReadRef
44CopyLoc[7](loc3: &mut LockedISUIBalance)
45ImmBorrowField[47](LockedISUIBalance.start_time_ts: u64)
46ReadRef
47CopyLoc[0](Arg0: &mut Tasks)
48ImmBorrowField[6](Tasks.season_end_time_ts: Option<u64>)
49Call option::borrow<u64>(&Option<u64>): &u64
50ReadRef
51Call days_elapsed(u64, u64): u64
52Call calculate_isui_rewards(u64, u64): u64
53StLoc[4](loc0: u64)
54Branch(65)
B4:
55CopyLoc[7](loc3: &mut LockedISUIBalance)
56ImmBorrowField[46](LockedISUIBalance.current_balance: u64)
57ReadRef
58CopyLoc[7](loc3: &mut LockedISUIBalance)
59ImmBorrowField[47](LockedISUIBalance.start_time_ts: u64)
60ReadRef
61CopyLoc[8](loc4: u64)
62Call days_elapsed(u64, u64): u64
63Call calculate_isui_rewards(u64, u64): u64
64StLoc[4](loc0: u64)
B5:
65MoveLoc[4](loc0: u64)
66StLoc[5](loc1: u64)
67CopyLoc[0](Arg0: &mut Tasks)
68MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
69CopyLoc[7](loc3: &mut LockedISUIBalance)
70ImmBorrowField[44](LockedISUIBalance.account: address)
71ReadRef
72Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
73StLoc[10](loc6: &mut UserTasks)
74CopyLoc[0](Arg0: &mut Tasks)
75ImmBorrowField[26](Tasks.total_drizzlets_earned: u64)
76ReadRef
77CopyLoc[5](loc1: u64)
78Add
79MoveLoc[0](Arg0: &mut Tasks)
80MutBorrowField[26](Tasks.total_drizzlets_earned: u64)
81WriteRef
82CopyLoc[10](loc6: &mut UserTasks)
83ImmBorrowField[25](UserTasks.drizzlets_earned: u64)
84ReadRef
85CopyLoc[5](loc1: u64)
86Add
87CopyLoc[10](loc6: &mut UserTasks)
88MutBorrowField[25](UserTasks.drizzlets_earned: u64)
89WriteRef
90CopyLoc[10](loc6: &mut UserTasks)
91ImmBorrowField[8](UserTasks.i_sui_stakes: vector<ID>)
92ImmBorrowLoc[2](Arg2: ID)
93Call vector::index_of<ID>(&vector<ID>, &ID): bool * u64
94StLoc[6](loc2: u64)
95BrFalse(97)
B6:
96Branch(103)
B7:
97MoveLoc[10](loc6: &mut UserTasks)
98Pop
99MoveLoc[7](loc3: &mut LockedISUIBalance)
100Pop
101LdConst[4](u64: 4)
102Abort
B8:
103MoveLoc[10](loc6: &mut UserTasks)
104MutBorrowField[8](UserTasks.i_sui_stakes: vector<ID>)
105MoveLoc[6](loc2: u64)
106Call vector::remove<ID>(&mut vector<ID>, u64): ID
107Pop
108MoveLoc[5](loc1: u64)
109MoveLoc[9](loc5: address)
110CopyLoc[7](loc3: &mut LockedISUIBalance)
111ImmBorrowField[46](LockedISUIBalance.current_balance: u64)
112ReadRef
113MoveLoc[7](loc3: &mut LockedISUIBalance)
114ImmBorrowField[47](LockedISUIBalance.start_time_ts: u64)
115ReadRef
116MoveLoc[8](loc4: u64)
117Pack[10](ISuiUnlocked)
118Call event_wrapper::emit_event<ISuiUnlocked>(ISuiUnlocked)
119Branch(131)
B9:
120MoveLoc[0](Arg0: &mut Tasks)
121Pop
122MoveLoc[7](loc3: &mut LockedISUIBalance)
123Pop
124MoveLoc[1](Arg1: &Clock)
125Pop
126Branch(131)
B10:
127MoveLoc[0](Arg0: &mut Tasks)
128Pop
129MoveLoc[1](Arg1: &Clock)
130Pop
B11:
131Ret
}
 
unlock_staked_ika_impl(Arg0: &mut Tasks, Arg1: &Clock, Arg2: ID, Arg3: &TxContext) {
L4: loc0: u64
L5: loc1: u64
L6: loc2: u64
L7: loc3: &mut LockedStakedIkaBalance
L8: loc4: u64
L9: loc5: address
L10: loc6: &mut UserTasks
B0:
0CopyLoc[0](Arg0: &mut Tasks)
1ImmBorrowField[11](Tasks.locked_staked_ika_balances: ObjectTable<ID, LockedStakedIkaBalance>)
2CopyLoc[2](Arg2: ID)
3Call object_table::contains<ID, LockedStakedIkaBalance>(&ObjectTable<ID, LockedStakedIkaBalance>, ID): bool
4BrFalse(131)
B1:
5CopyLoc[0](Arg0: &mut Tasks)
6MutBorrowField[11](Tasks.locked_staked_ika_balances: ObjectTable<ID, LockedStakedIkaBalance>)
7CopyLoc[2](Arg2: ID)
8Call object_table::borrow_mut<ID, LockedStakedIkaBalance>(&mut ObjectTable<ID, LockedStakedIkaBalance>, ID): &mut LockedStakedIkaBalance
9StLoc[7](loc3: &mut LockedStakedIkaBalance)
10CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
11ImmBorrowField[48](LockedStakedIkaBalance.account: address)
12ReadRef
13StLoc[9](loc5: address)
14CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
15ImmBorrowField[49](LockedStakedIkaBalance.unlock_time_ts: Option<u64>)
16Call option::is_none<u64>(&Option<u64>): bool
17BrFalse(124)
B2:
18CopyLoc[0](Arg0: &mut Tasks)
19ImmBorrowField[10](Tasks.total_ika_stakes: u64)
20ReadRef
21CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
22ImmBorrowField[50](LockedStakedIkaBalance.current_balance: u64)
23ReadRef
24Sub
25CopyLoc[0](Arg0: &mut Tasks)
26MutBorrowField[10](Tasks.total_ika_stakes: u64)
27WriteRef
28MoveLoc[1](Arg1: &Clock)
29Call clock::timestamp_ms(&Clock): u64
30StLoc[8](loc4: u64)
31CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
32MutBorrowField[49](LockedStakedIkaBalance.unlock_time_ts: Option<u64>)
33CopyLoc[8](loc4: u64)
34Call option::fill<u64>(&mut Option<u64>, u64)
35CopyLoc[0](Arg0: &mut Tasks)
36ImmBorrowField[3](Tasks.state: InkDrizzletsState)
37ReadRef
38PackVariant(VariantHandleIndex(2))
39Eq
40BrFalse(58)
B3:
41CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
42ImmBorrowField[50](LockedStakedIkaBalance.current_balance: u64)
43ReadRef
44CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
45ImmBorrowField[51](LockedStakedIkaBalance.start_time_ts: u64)
46ReadRef
47CopyLoc[0](Arg0: &mut Tasks)
48ImmBorrowField[6](Tasks.season_end_time_ts: Option<u64>)
49Call option::borrow<u64>(&Option<u64>): &u64
50ReadRef
51Call days_elapsed(u64, u64): u64
52CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
53ImmBorrowField[52](LockedStakedIkaBalance.stake_period: u64)
54ReadRef
55Call ika_closing_rewards(u64, u64, u64): u64
56StLoc[4](loc0: u64)
57Branch(71)
B4:
58CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
59ImmBorrowField[50](LockedStakedIkaBalance.current_balance: u64)
60ReadRef
61CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
62ImmBorrowField[51](LockedStakedIkaBalance.start_time_ts: u64)
63ReadRef
64CopyLoc[8](loc4: u64)
65Call days_elapsed(u64, u64): u64
66CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
67ImmBorrowField[52](LockedStakedIkaBalance.stake_period: u64)
68ReadRef
69Call calculate_ika_rewards(u64, u64, u64): u64
70StLoc[4](loc0: u64)
B5:
71MoveLoc[4](loc0: u64)
72StLoc[5](loc1: u64)
73CopyLoc[0](Arg0: &mut Tasks)
74MutBorrowField[2](Tasks.user_tasks: ObjectTable<address, UserTasks>)
75CopyLoc[9](loc5: address)
76Call object_table::borrow_mut<address, UserTasks>(&mut ObjectTable<address, UserTasks>, address): &mut UserTasks
77StLoc[10](loc6: &mut UserTasks)
78CopyLoc[0](Arg0: &mut Tasks)
79ImmBorrowField[26](Tasks.total_drizzlets_earned: u64)
80ReadRef
81CopyLoc[5](loc1: u64)
82Add
83MoveLoc[0](Arg0: &mut Tasks)
84MutBorrowField[26](Tasks.total_drizzlets_earned: u64)
85WriteRef
86CopyLoc[10](loc6: &mut UserTasks)
87ImmBorrowField[25](UserTasks.drizzlets_earned: u64)
88ReadRef
89CopyLoc[5](loc1: u64)
90Add
91CopyLoc[10](loc6: &mut UserTasks)
92MutBorrowField[25](UserTasks.drizzlets_earned: u64)
93WriteRef
94CopyLoc[10](loc6: &mut UserTasks)
95ImmBorrowField[12](UserTasks.ika_stakes: vector<ID>)
96ImmBorrowLoc[2](Arg2: ID)
97Call vector::index_of<ID>(&vector<ID>, &ID): bool * u64
98StLoc[6](loc2: u64)
99BrFalse(101)
B6:
100Branch(107)
B7:
101MoveLoc[10](loc6: &mut UserTasks)
102Pop
103MoveLoc[7](loc3: &mut LockedStakedIkaBalance)
104Pop
105LdU64(13906838374821396479)
106Abort
B8:
107MoveLoc[10](loc6: &mut UserTasks)
108MutBorrowField[12](UserTasks.ika_stakes: vector<ID>)
109MoveLoc[6](loc2: u64)
110Call vector::remove<ID>(&mut vector<ID>, u64): ID
111Pop
112MoveLoc[5](loc1: u64)
113MoveLoc[9](loc5: address)
114CopyLoc[7](loc3: &mut LockedStakedIkaBalance)
115ImmBorrowField[50](LockedStakedIkaBalance.current_balance: u64)
116ReadRef
117MoveLoc[7](loc3: &mut LockedStakedIkaBalance)
118ImmBorrowField[51](LockedStakedIkaBalance.start_time_ts: u64)
119ReadRef
120MoveLoc[8](loc4: u64)
121Pack[12](StakedIkaUnlocked)
122Call event_wrapper::emit_event<StakedIkaUnlocked>(StakedIkaUnlocked)
123Branch(135)
B9:
124MoveLoc[0](Arg0: &mut Tasks)
125Pop
126MoveLoc[7](loc3: &mut LockedStakedIkaBalance)
127Pop
128MoveLoc[1](Arg1: &Clock)
129Pop
130Branch(135)
B10:
131MoveLoc[0](Arg0: &mut Tasks)
132Pop
133MoveLoc[1](Arg1: &Clock)
134Pop
B11:
135Ret
}
 
to_state(Arg0: u8): InkDrizzletsState {
L1: loc0: InkDrizzletsState
L2: loc1: InkDrizzletsState
L3: loc2: InkDrizzletsState
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: InkDrizzletsState)
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: InkDrizzletsState)
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: InkDrizzletsState)
33Branch(44)
B6:
34MoveLoc[4](loc3: &u8)
35ReadRef
36LdU8(3)
37Eq
38BrFalse(40)
B7:
39Branch(42)
B8:
40LdU64(99)
41Abort
B9:
42PackVariant(VariantHandleIndex(2))
43StLoc[1](loc0: InkDrizzletsState)
B10:
44MoveLoc[1](loc0: InkDrizzletsState)
45StLoc[2](loc1: InkDrizzletsState)
B11:
46MoveLoc[2](loc1: InkDrizzletsState)
47StLoc[3](loc2: InkDrizzletsState)
B12:
48MoveLoc[3](loc2: InkDrizzletsState)
49Ret
}
 
add_data(Arg0: &mut UserTasks, Arg1: vector<u8>) {
B0:
0ImmBorrowLoc[1](Arg1: vector<u8>)
1VecLen(32)
2LdU64(16000)
3Eq
4BrFalse(6)
B1:
5Branch(10)
B2:
6MoveLoc[0](Arg0: &mut UserTasks)
7Pop
8LdU64(13906838486490546175)
9Abort
B3:
10MoveLoc[0](Arg0: &mut UserTasks)
11MutBorrowField[43](UserTasks.commitments: TableVec<vector<u8>>)
12MoveLoc[1](Arg1: vector<u8>)
13Call table_vec::push_back<vector<u8>>(&mut TableVec<vector<u8>>, vector<u8>)
14Ret
}
 
calculate_ika_rewards(Arg0: u64, Arg1: u64, Arg2: u64): u64 {
L3: loc0: u64
L4: loc1: u64
L5: loc2: u64
L6: loc3: u64
L7: loc4: u64
L8: loc5: &u64
L9: loc6: u64
L10: loc7: u64
L11: loc8: u64
B0:
0CopyLoc[2](Arg2: u64)
1StLoc[9](loc6: u64)
2ImmBorrowLoc[9](loc6: u64)
3StLoc[8](loc5: &u64)
4CopyLoc[8](loc5: &u64)
5ReadRef
6LdU64(1)
7Eq
8BrFalse(14)
B1:
9MoveLoc[8](loc5: &u64)
10Pop
11LdU64(1)
12StLoc[6](loc3: u64)
13Branch(48)
B2:
14CopyLoc[8](loc5: &u64)
15ReadRef
16LdU64(7)
17Eq
18BrFalse(24)
B3:
19MoveLoc[8](loc5: &u64)
20Pop
21LdU64(2)
22StLoc[5](loc2: u64)
23Branch(46)
B4:
24CopyLoc[8](loc5: &u64)
25ReadRef
26LdU64(30)
27Eq
28BrFalse(34)
B5:
29MoveLoc[8](loc5: &u64)
30Pop
31LdU64(3)
32StLoc[4](loc1: u64)
33Branch(44)
B6:
34MoveLoc[8](loc5: &u64)
35ReadRef
36LdU64(999)
37Eq
38BrFalse(40)
B7:
39Branch(42)
B8:
40LdU64(50)
41Abort
B9:
42LdU64(5)
43StLoc[4](loc1: u64)
B10:
44MoveLoc[4](loc1: u64)
45StLoc[5](loc2: u64)
B11:
46MoveLoc[5](loc2: u64)
47StLoc[6](loc3: u64)
B12:
48MoveLoc[6](loc3: u64)
49StLoc[10](loc7: u64)
50MoveLoc[1](Arg1: u64)
51StLoc[3](loc0: u64)
52CopyLoc[2](Arg2: u64)
53LdU64(0)
54Eq
55BrFalse(59)
B13:
56LdU64(18446744073709551615)
57StLoc[7](loc4: u64)
58Branch(61)
B14:
59MoveLoc[2](Arg2: u64)
60StLoc[7](loc4: u64)
B15:
61MoveLoc[3](loc0: u64)
62MoveLoc[7](loc4: u64)
63Call u64::min(u64, u64): u64
64StLoc[11](loc8: u64)
65MoveLoc[0](Arg0: u64)
66CastU128
67MoveLoc[10](loc7: u64)
68CastU128
69Mul
70MoveLoc[11](loc8: u64)
71CastU128
72Mul
73LdU128(10000000000)
74Div
75CastU64
76Ret
}
 
calculate_isui_rewards(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1CastU128
2LdU128(10)
3Mul
4MoveLoc[1](Arg1: u64)
5CastU128
6Mul
7LdU128(10000000000)
8Div
9CastU64
10Ret
}
 
days_elapsed(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[1](Arg1: u64)
1MoveLoc[0](Arg0: u64)
2Sub
3LdU64(86400000)
4Div
5Ret
}
 
Constants [
0 => u64: 0
1 => u64: 1
2 => u64: 2
3 => u64: 3
4 => u64: 4
5 => u64: 5
6 => address: 0x95b2f3a10f8dc8770c1667af06c32356bdd49bfce667908803655c6489b6d2d6
7 => address: 0xa4df468060f23633f838374e8ebeaff2e3494bed4e3e479db930cf96a3804e5c
8 => address: 0x197d1f8d865889493f2753de8742c7f79a5e2d1debd24989b25cea685c48df44
9 => address: 0x741cc685288ca0eb2497e01d88dc36828cfd23687c1126a1516cf70fab97120c
10 => address: 0xf9e93719587f6ed6a9835319e7e7676d36ddb074447f28ec62e84b34a536bc85
11 => address: 0x77b1ea66867a041e0bb5e7b4a51d300243084b18a224a9c279d59a614e9cc65e
12 => address: 0xaf53dfd85b37aedb068c3bc301f99d551bb2e04ce4dbcc920f4e1a500ff346a4
13 => address: 0x10b2a099ae485a5e92d71ff8fd78ce5390e705fa829ab68b5922a2387f856d39
14 => address: 0x648613c8746f54c289ac6b545572abb4388e47403e2c48281a4ae7ee575a11bf
15 => address: 0x68141fc7a09dd37e007c0475154734f0281299a0d2358daac4b46e9bdc767d78
16 => vector<u8>: "mf_task_u" // interpreted as UTF8 string
17 => vector<u8>: "Common" // interpreted as UTF8 string
18 => vector<u8>: "Epic" // interpreted as UTF8 string
19 => vector<u8>: "Legendary" // interpreted as UTF8 string
20 => vector<u8>: "Mythic" // interpreted as UTF8 string
21 => vector<u8>: "Rare" // interpreted as UTF8 string
]
}