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

API

migrate

Module0x5530…e2c0
Move path
0x5530…e2c0::migrate
Functions
21 public, 0 entry
Structs
1
Friend modules
None
migrate

Bytecode53 lines

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

// Move bytecode v6
module 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0.migrate {
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::contract_upgrade;
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::governance;
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::state;
use 0000000000000000000000000000000000000000000000000000000000000002::event;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 99de5c967d8206ef4b75c0afab3df2a59eb02b05c282821db803831008ac25b4::bytes32;
 
struct MigrateComplete has copy, drop {
package: ID
}
 
public migrate(Arg0: &mut State, Arg1: WormholeVAAVerificationReceipt) {
B0:
0MoveLoc[0](Arg0: &mut State)
1MoveLoc[1](Arg1: WormholeVAAVerificationReceipt)
2Call handle_migrate(&mut State, WormholeVAAVerificationReceipt)
3Ret
}
 
handle_migrate(Arg0: &mut State, Arg1: WormholeVAAVerificationReceipt) {
L2: loc0: Bytes32
L3: loc1: Bytes32
L4: loc2: LatestOnly
B0:
0CopyLoc[0](Arg0: &mut State)
1Call state::migrate_version(&mut State)
2CopyLoc[0](Arg0: &mut State)
3FreezeRef
4Call state::assert_latest_only(&State): LatestOnly
5StLoc[4](loc2: LatestOnly)
6MoveLoc[1](Arg1: WormholeVAAVerificationReceipt)
7Call contract_upgrade::take_upgrade_digest(WormholeVAAVerificationReceipt): Bytes32
8StLoc[3](loc1: Bytes32)
9ImmBorrowLoc[4](loc2: LatestOnly)
10CopyLoc[0](Arg0: &mut State)
11MoveLoc[3](loc1: Bytes32)
12StLoc[2](loc0: Bytes32)
13FreezeRef
14MoveLoc[2](loc0: Bytes32)
15Call state::assert_authorized_digest(&LatestOnly, &State, Bytes32)
16ImmBorrowLoc[4](loc2: LatestOnly)
17MoveLoc[0](Arg0: &mut State)
18FreezeRef
19Call state::current_package(&LatestOnly, &State): ID
20Pack[0](MigrateComplete)
21Call event::emit<MigrateComplete>(MigrateComplete)
22Ret
}
 
}