DiverS package::fish bytecode | tide- Move path
- 0x9bd7…16cc::fish
- Functions
- 1310 public, 0 entry
- Structs
- 6
fish
The on-chain disassembly. Offsets are bytecode positions within each function.
1// Move bytecode v6
2module 9bd711b9067f57b07743de2d1f67fd2be75a2e03370ea256f07b5c0ed88016cc.fish {
3use 9bd711b9067f57b07743de2d1f67fd2be75a2e03370ea256f07b5c0ed88016cc::config;
4use 9bd711b9067f57b07743de2d1f67fd2be75a2e03370ea256f07b5c0ed88016cc::dive_token;
5use 9bd711b9067f57b07743de2d1f67fd2be75a2e03370ea256f07b5c0ed88016cc::global;
6use 9bd711b9067f57b07743de2d1f67fd2be75a2e03370ea256f07b5c0ed88016cc::leaderboard;
7use 9bd711b9067f57b07743de2d1f67fd2be75a2e03370ea256f07b5c0ed88016cc::user;
8use 9bd711b9067f57b07743de2d1f67fd2be75a2e03370ea256f07b5c0ed88016cc::utils;
9use 0000000000000000000000000000000000000000000000000000000000000002::clock;
10use 0000000000000000000000000000000000000000000000000000000000000002::event;
11use 0000000000000000000000000000000000000000000000000000000000000002::object;
12use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
13use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
15struct Fish has store, key {
21 collected_by_diver_id: ID,
23 is_encyclopedia_used: bool
26struct FishEncyclopedia has key {
28 rarity_fish_ids: vector<vector<u64>>
31struct ReleaseFishEvent has copy, drop {
37 bonus_coin_amount: u64,
41struct CollectFishEvent has copy, drop {
49struct UserActiveFishEncyclopediaEvent has copy, drop {
55struct AddFishEncyclopediaEvent has copy, drop {
60init(Arg0: &mut TxContext) {
620MoveLoc[0](Arg0: &mut TxContext)
631Call object::new(&mut TxContext): UID
642LdConst[7](vector<vector<u64>>: 050d..)
653Pack[1](FishEncyclopedia)
664Call transfer::share_object<FishEncyclopedia>(FishEncyclopedia)
70public release_fish(Arg0: Fish, Arg1: &mut GlobalState, Arg2: &mut DIVETokenTreasuryCap, Arg3: &mut User, Arg4: &mut GlobalLeaderboard, Arg5: &Clock, Arg6: &mut TxContext) {
78L14: loc7: vector<vector<u64>>
810CopyLoc[1](Arg1: &mut GlobalState)
832Call utils::assert_valid_version(&GlobalState)
843ImmBorrowLoc[0](Arg0: Fish)
854Call object::id<Fish>(&Fish): ID
876ImmBorrowLoc[0](Arg0: Fish)
887Call fish_id(&Fish): u64
909MoveLoc[0](Arg0: Fish)
10019CopyLoc[13](loc6: u8)
10120Call config::max_fish_rarity_count(): u8
10724MoveLoc[3](Arg3: &mut User)
10926MoveLoc[4](Arg4: &mut GlobalLeaderboard)
11128MoveLoc[1](Arg1: &mut GlobalState)
11330MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
11532MoveLoc[6](Arg6: &mut TxContext)
11734MoveLoc[5](Arg5: &Clock)
12238CopyLoc[15](loc8: u8)
12339Call config::max_fish_size_count(): u8
12943MoveLoc[3](Arg3: &mut User)
13145MoveLoc[4](Arg4: &mut GlobalLeaderboard)
13347MoveLoc[1](Arg1: &mut GlobalState)
13549MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
13751MoveLoc[6](Arg6: &mut TxContext)
13953MoveLoc[5](Arg5: &Clock)
14457CopyLoc[1](Arg1: &mut GlobalState)
14558CopyLoc[13](loc6: u8)
14659Call global::update_global_state_released_fishes_rarity_distribution(&mut GlobalState, u8)
14760CopyLoc[1](Arg1: &mut GlobalState)
14861CopyLoc[13](loc6: u8)
15063Call global::update_global_state_fishes_rarity_distribution(&mut GlobalState, u8, bool)
15164Call config::release_bonus(): vector<vector<u64>>
15265StLoc[14](loc7: vector<vector<u64>>)
15366CopyLoc[13](loc6: u8)
15467ImmBorrowLoc[14](loc7: vector<vector<u64>>)
16273MoveLoc[3](Arg3: &mut User)
16475MoveLoc[4](Arg4: &mut GlobalLeaderboard)
16677MoveLoc[1](Arg1: &mut GlobalState)
16879MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
17081MoveLoc[6](Arg6: &mut TxContext)
17283MoveLoc[5](Arg5: &Clock)
17787CopyLoc[15](loc8: u8)
17888ImmBorrowLoc[14](loc7: vector<vector<u64>>)
17989CopyLoc[13](loc6: u8)
18997MoveLoc[3](Arg3: &mut User)
19199MoveLoc[4](Arg4: &mut GlobalLeaderboard)
193101MoveLoc[1](Arg1: &mut GlobalState)
195103MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
197105MoveLoc[6](Arg6: &mut TxContext)
199107MoveLoc[5](Arg5: &Clock)
204111ImmBorrowLoc[14](loc7: vector<vector<u64>>)
205112CopyLoc[13](loc6: u8)
208115CopyLoc[15](loc8: u8)
214121StLoc[7](loc0: u64)
215122MoveLoc[5](Arg5: &Clock)
216123Call clock::timestamp_ms(&Clock): u64
217124CopyLoc[8](loc1: u64)
219126Call config::fully_release_bonus_duration_ms(): u64
221128StLoc[12](loc5: bool)
222129CopyLoc[12](loc5: bool)
226132MoveLoc[7](loc0: u64)
231137StLoc[7](loc0: u64)
233138MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
234139CopyLoc[7](loc0: u64)
235140CopyLoc[6](Arg6: &mut TxContext)
237142Call tx_context::sender(&TxContext): address
239144MoveLoc[6](Arg6: &mut TxContext)
240145Call dive_token::mint_dive_token(&mut DIVETokenTreasuryCap, u64, address, u8, &mut TxContext)
241146MoveLoc[1](Arg1: &mut GlobalState)
242147Call global::field_index_total_dive_token_minted_released(): u8
243148CopyLoc[7](loc0: u64)
244149Call global::update_global_state_total_dive_token_minted(&mut GlobalState, u8, u64)
245150MoveLoc[3](Arg3: &mut User)
247152MoveLoc[4](Arg4: &mut GlobalLeaderboard)
248153Call user::add_fishes_released(&mut User, u64, &mut GlobalLeaderboard)
249154MoveLoc[11](loc4: UID)
250155Call object::delete(UID)
251156MoveLoc[10](loc3: ID)
252157MoveLoc[9](loc2: u64)
253158MoveLoc[13](loc6: u8)
254159MoveLoc[15](loc8: u8)
255160MoveLoc[8](loc1: u64)
256161MoveLoc[7](loc0: u64)
257162MoveLoc[12](loc5: bool)
258163Pack[2](ReleaseFishEvent)
259164Call event::emit<ReleaseFishEvent>(ReleaseFishEvent)
263public active_fish_encyclopedia(Arg0: &mut User, Arg1: &mut Fish, Arg2: &GlobalState, Arg3: &mut GlobalLeaderboard) {
269public active_fish_encyclopedia_v2(Arg0: &mut User, Arg1: Fish, Arg2: &mut DIVETokenTreasuryCap, Arg3: &mut GlobalState, Arg4: &mut GlobalLeaderboard, Arg5: &mut TxContext) {
275L11: loc5: vector<vector<u64>>
2780CopyLoc[3](Arg3: &mut GlobalState)
2802Call utils::assert_valid_version(&GlobalState)
2813CopyLoc[3](Arg3: &mut GlobalState)
2835Call global::is_fish_encyclopedia_enabled(&GlobalState): bool
2888MoveLoc[0](Arg0: &mut User)
29010MoveLoc[4](Arg4: &mut GlobalLeaderboard)
29212MoveLoc[3](Arg3: &mut GlobalState)
29414MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
29616MoveLoc[5](Arg5: &mut TxContext)
30120ImmBorrowLoc[1](Arg1: Fish)
30221ImmBorrowField[0](Fish.is_encyclopedia_used: bool)
31027MoveLoc[0](Arg0: &mut User)
31229MoveLoc[4](Arg4: &mut GlobalLeaderboard)
31431MoveLoc[3](Arg3: &mut GlobalState)
31633MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
31835MoveLoc[5](Arg5: &mut TxContext)
32339ImmBorrowLoc[1](Arg1: Fish)
32440Call object::id<Fish>(&Fish): ID
32642MoveLoc[1](Arg1: Fish)
33652CopyLoc[10](loc4: u8)
33753Call config::max_fish_rarity_count(): u8
34357MoveLoc[0](Arg0: &mut User)
34559MoveLoc[4](Arg4: &mut GlobalLeaderboard)
34761MoveLoc[3](Arg3: &mut GlobalState)
34963MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
35165MoveLoc[5](Arg5: &mut TxContext)
35669CopyLoc[12](loc6: u8)
35770Call config::max_fish_size_count(): u8
36374MoveLoc[0](Arg0: &mut User)
36576MoveLoc[4](Arg4: &mut GlobalLeaderboard)
36778MoveLoc[3](Arg3: &mut GlobalState)
36980MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
37182MoveLoc[5](Arg5: &mut TxContext)
37686CopyLoc[3](Arg3: &mut GlobalState)
37787CopyLoc[10](loc4: u8)
37888Call global::update_global_state_released_fishes_rarity_distribution(&mut GlobalState, u8)
37989CopyLoc[3](Arg3: &mut GlobalState)
38090CopyLoc[10](loc4: u8)
38292Call global::update_global_state_fishes_rarity_distribution(&mut GlobalState, u8, bool)
38393CopyLoc[0](Arg0: &mut User)
38494CopyLoc[7](loc1: u64)
38595CopyLoc[12](loc6: u8)
38797CopyLoc[4](Arg4: &mut GlobalLeaderboard)
38898Call user::user_active_fish_encyclopedia(&mut User, u64, u64, &mut GlobalLeaderboard)
38999Call config::release_bonus(): vector<vector<u64>>
390100StLoc[11](loc5: vector<vector<u64>>)
391101CopyLoc[10](loc4: u8)
392102ImmBorrowLoc[11](loc5: vector<vector<u64>>)
400108MoveLoc[0](Arg0: &mut User)
402110MoveLoc[4](Arg4: &mut GlobalLeaderboard)
404112MoveLoc[3](Arg3: &mut GlobalState)
406114MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
408116MoveLoc[5](Arg5: &mut TxContext)
413120CopyLoc[12](loc6: u8)
414121ImmBorrowLoc[11](loc5: vector<vector<u64>>)
415122CopyLoc[10](loc4: u8)
425130MoveLoc[0](Arg0: &mut User)
427132MoveLoc[4](Arg4: &mut GlobalLeaderboard)
429134MoveLoc[3](Arg3: &mut GlobalState)
431136MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
433138MoveLoc[5](Arg5: &mut TxContext)
438142ImmBorrowLoc[11](loc5: vector<vector<u64>>)
439143MoveLoc[10](loc4: u8)
442146CopyLoc[12](loc6: u8)
448152StLoc[6](loc0: u64)
449153MoveLoc[2](Arg2: &mut DIVETokenTreasuryCap)
450154CopyLoc[6](loc0: u64)
451155CopyLoc[5](Arg5: &mut TxContext)
453157Call tx_context::sender(&TxContext): address
455159MoveLoc[5](Arg5: &mut TxContext)
456160Call dive_token::mint_dive_token(&mut DIVETokenTreasuryCap, u64, address, u8, &mut TxContext)
457161MoveLoc[3](Arg3: &mut GlobalState)
458162Call global::field_index_total_dive_token_minted_released(): u8
459163MoveLoc[6](loc0: u64)
460164Call global::update_global_state_total_dive_token_minted(&mut GlobalState, u8, u64)
461165MoveLoc[0](Arg0: &mut User)
463167MoveLoc[4](Arg4: &mut GlobalLeaderboard)
464168Call user::add_fishes_released(&mut User, u64, &mut GlobalLeaderboard)
465169MoveLoc[9](loc3: UID)
466170Call object::delete(UID)
467171MoveLoc[8](loc2: ID)
468172MoveLoc[7](loc1: u64)
469173MoveLoc[12](loc6: u8)
471175Pack[4](UserActiveFishEncyclopediaEvent)
472176Call event::emit<UserActiveFishEncyclopediaEvent>(UserActiveFishEncyclopediaEvent)
476public register_new_fish_to_encyclopedia(Arg0: &GlobalAdminCap, Arg1: &mut FishEncyclopedia, Arg2: u8, Arg3: u64, Arg4: &GlobalState) {
4780CopyLoc[4](Arg4: &GlobalState)
4791Call utils::assert_valid_version(&GlobalState)
4802MoveLoc[4](Arg4: &GlobalState)
4813MoveLoc[0](Arg0: &GlobalAdminCap)
4824Call global::check_is_admin(&GlobalState, &GlobalAdminCap)
4835MoveLoc[1](Arg1: &mut FishEncyclopedia)
4846MutBorrowField[1](FishEncyclopedia.rarity_fish_ids: vector<vector<u64>>)
48810CopyLoc[3](Arg3: u64)
49012MoveLoc[2](Arg2: u8)
49113MoveLoc[3](Arg3: u64)
49214Pack[5](AddFishEncyclopediaEvent)
49315Call event::emit<AddFishEncyclopediaEvent>(AddFishEncyclopediaEvent)
497public(friend) generate_fish(Arg0: u64, Arg1: u8, Arg2: u8, Arg3: u8, Arg4: ID, Arg5: &mut GlobalState, Arg6: &Clock, Arg7: &mut TxContext): Fish {
5021Call config::max_fish_rarity_count(): u8
5085MoveLoc[5](Arg5: &mut GlobalState)
5107MoveLoc[7](Arg7: &mut TxContext)
5129MoveLoc[6](Arg6: &Clock)
51713CopyLoc[2](Arg2: u8)
51814Call config::max_fish_size_count(): u8
52418MoveLoc[5](Arg5: &mut GlobalState)
52620MoveLoc[7](Arg7: &mut TxContext)
52822MoveLoc[6](Arg6: &Clock)
53326CopyLoc[3](Arg3: u8)
53931StLoc[8](loc0: bool)
54233CopyLoc[3](Arg3: u8)
54536StLoc[8](loc0: bool)
54737MoveLoc[8](loc0: bool)
55240MoveLoc[5](Arg5: &mut GlobalState)
55442MoveLoc[7](Arg7: &mut TxContext)
55644MoveLoc[6](Arg6: &Clock)
56148MoveLoc[7](Arg7: &mut TxContext)
56249Call object::new(&mut TxContext): UID
56350MoveLoc[0](Arg0: u64)
56451CopyLoc[1](Arg1: u8)
56552MoveLoc[2](Arg2: u8)
56653MoveLoc[3](Arg3: u8)
56754MoveLoc[4](Arg4: ID)
56855MoveLoc[6](Arg6: &Clock)
56956Call clock::timestamp_ms(&Clock): u64
57259StLoc[9](loc1: Fish)
57360CopyLoc[5](Arg5: &mut GlobalState)
57461CopyLoc[1](Arg1: u8)
57663Call global::update_global_state_fishes_rarity_distribution(&mut GlobalState, u8, bool)
57764MoveLoc[5](Arg5: &mut GlobalState)
57865MoveLoc[1](Arg1: u8)
57966Call global::update_global_state_collected_fishes_rarity_distribution(&mut GlobalState, u8)
58067MoveLoc[9](loc1: Fish)
584public(friend) emit_collect_fish_event(Arg0: &Fish) {
5900CopyLoc[0](Arg0: &Fish)
5911Call fish_id(&Fish): u64
5933CopyLoc[0](Arg0: &Fish)
5944ImmBorrowField[2](Fish.rarity: u8)
5977CopyLoc[0](Arg0: &Fish)
5988ImmBorrowField[3](Fish.size: u8)
60111CopyLoc[0](Arg0: &Fish)
60212ImmBorrowField[4](Fish.collected_date: u64)
60515MoveLoc[0](Arg0: &Fish)
60616Call object::id<Fish>(&Fish): ID
60717MoveLoc[2](loc1: u64)
60818MoveLoc[3](loc2: u8)
60919MoveLoc[4](loc3: u8)
61020MoveLoc[1](loc0: u64)
61121Pack[3](CollectFishEvent)
61222Call event::emit<CollectFishEvent>(CollectFishEvent)
616public fish_id(Arg0: &Fish): u64 {
6180MoveLoc[0](Arg0: &Fish)
6191ImmBorrowField[5](Fish.fid: u64)
624public fish_size(Arg0: &Fish): u8 {
6260MoveLoc[0](Arg0: &Fish)
6271ImmBorrowField[3](Fish.size: u8)
632public fish_rarity(Arg0: &Fish): u8 {
6340MoveLoc[0](Arg0: &Fish)
6351ImmBorrowField[2](Fish.rarity: u8)
640public fish_gender(Arg0: &Fish): u8 {
6420MoveLoc[0](Arg0: &Fish)
6431ImmBorrowField[6](Fish.gender: u8)
648public fish_encyclopedia_rarity_fish_count(Arg0: &FishEncyclopedia, Arg1: u8): u64 {
6521Call config::max_fish_rarity_count(): u8
6585MoveLoc[0](Arg0: &FishEncyclopedia)
6639MoveLoc[0](Arg0: &FishEncyclopedia)
66410ImmBorrowField[1](FishEncyclopedia.rarity_fish_ids: vector<vector<u64>>)
66511MoveLoc[1](Arg1: u8)
66915StLoc[2](loc0: vector<u64>)
67016ImmBorrowLoc[2](loc0: vector<u64>)
675public fish_encyclopedia_get_random_fish_id(Arg0: &FishEncyclopedia, Arg1: u8, Arg2: u64): u64 {
676L3: loc0: &vector<u64>
6791Call config::max_fish_rarity_count(): u8
6855MoveLoc[0](Arg0: &FishEncyclopedia)
6909MoveLoc[0](Arg0: &FishEncyclopedia)
69110ImmBorrowField[1](FishEncyclopedia.rarity_fish_ids: vector<vector<u64>>)
69211MoveLoc[1](Arg1: u8)
69514StLoc[3](loc0: &vector<u64>)
69615CopyLoc[2](Arg2: u64)
69716CopyLoc[3](loc0: &vector<u64>)
70522MoveLoc[3](loc0: &vector<u64>)
71026MoveLoc[3](loc0: &vector<u64>)
71127MoveLoc[2](Arg2: u64)
717public fish_release_bonus(Arg0: &Fish): u64 {
718L1: loc0: vector<vector<u64>>
7200Call config::release_bonus(): vector<vector<u64>>
7211StLoc[1](loc0: vector<vector<u64>>)
7222CopyLoc[0](Arg0: &Fish)
7233ImmBorrowField[2](Fish.rarity: u8)
7255ImmBorrowLoc[1](loc0: vector<vector<u64>>)
73311MoveLoc[0](Arg0: &Fish)
73815CopyLoc[0](Arg0: &Fish)
73916ImmBorrowField[3](Fish.size: u8)
74118ImmBorrowLoc[1](loc0: vector<vector<u64>>)
74219CopyLoc[0](Arg0: &Fish)
74320ImmBorrowField[2](Fish.rarity: u8)
75429MoveLoc[0](Arg0: &Fish)
75933ImmBorrowLoc[1](loc0: vector<vector<u64>>)
76034CopyLoc[0](Arg0: &Fish)
76135ImmBorrowField[2](Fish.rarity: u8)
76539MoveLoc[0](Arg0: &Fish)
76640ImmBorrowField[3](Fish.size: u8)
782 7 => vector<vector<u64>>: 050d0100000000000000020000000000000003000000000000000400000000000000050000000000000006000000000000000700000000000000080000000000000009000000000000000a000000000000000b000000000000000c000000000000000d000000000000000f0e000000000000000f000000000000001000000000000000110000000000000012000000000000001300000000000000140000000000000015000000000000001600000000000000170000000000000018000000000000001b000000000000001d000000000000001e000000000000001f000000000000001e19000000000000001a000000000000001c0000000000000020000000000000002100000000000000220000000000000023000000000000002400000000000000250000000000000026000000000000002700000000000000280000000000000029000000000000002a000000000000002b000000000000002c000000000000002d000000000000002e000000000000002f00000000000000300000000000000031000000000000003200000000000000330000000000000034000000000000003500000000000000360000000000000038000000000000003900000000000000410000000000000073000000000000001f37000000000000003a000000000000003b000000000000003c000000000000003d000000000000003e000000000000003f000000000000004000000000000000420000000000000043000000000000004400000000000000450000000000000046000000000000004700000000000000480000000000000049000000000000004a000000000000004b000000000000004c000000000000004d000000000000004e000000000000004f000000000000005000000000000000510000000000000052000000000000005300000000000000540000000000000055000000000000005600000000000000570000000000000075000000000000001c580000000000000059000000000000005a000000000000005b000000000000005c000000000000005d000000000000005e000000000000005f0000000000000060000000000000006100000000000000620000000000000063000000000000006400000000000000650000000000000066000000000000006700000000000000680000000000000069000000000000006a000000000000006b000000000000006c000000000000006d000000000000006e000000000000006f000000000000007000000000000000710000000000000072000000000000007400000000000000