migrate
Module0x5530…e2c0
- Move path
- 0x5530…e2c0::migrate
- Functions
- 21 public, 0 entry
- Structs
- 1
- Friend modules
- None
migrate
- accumulator4
- batch_price_attestation6
- contract_upgrade6
- data_source7
- deserialize7
- event2
- governance6
- governance_action8
- governance_instruction6
- hot_potato_vector6
- i646
- merkle_tree8
- migrate2
- price5
- price_feed5
- price_identifier2
- price_info16
- price_status4
- pyth19
- set4
- set_data_sources2
- set_fee_recipient2
- set_governance_data_source2
- set_stale_price_threshold2
- set_update_fee3
- setup2
- state30
- version_control2
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
}
}