Pyth package
set_update_fee
- Move path
- 0x5530…e2c0::set_update_fee
- Functions
- 30 public, 0 entry
- Structs
- 1
- Friend modules
- governance
set_update_fee
- 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
Bytecode85 lines
The on-chain disassembly. Offsets are instruction numbers within each function.
// Move bytecode v6
module 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0.set_update_fee {
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::deserialize;
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::state;
use 0000000000000000000000000000000000000000000000000000000000000002::math;
use 99de5c967d8206ef4b75c0afab3df2a59eb02b05c282821db803831008ac25b4::cursor;
struct UpdateFee {
mantissa: u64,
exponent: u64
}
public(friend) execute(Arg0: &LatestOnly, Arg1: &mut State, Arg2: vector<u8>) {
L3: loc0: u64
L4: loc1: u64
L5: loc2: u64
B0:
0MoveLoc[2](Arg2: vector<u8>)
1Call from_byte_vec(vector<u8>): UpdateFee
2Unpack[0](UpdateFee)
3StLoc[3](loc0: u64)
4StLoc[5](loc2: u64)
5CopyLoc[3](loc0: u64)
6LdU64(255)
7Le
8BrFalse(10)
B1:
9Branch(16)
B2:
10MoveLoc[1](Arg1: &mut State)
11Pop
12MoveLoc[0](Arg0: &LatestOnly)
13Pop
14LdConst[0](u64: 0)
15Abort
B3:
16MoveLoc[5](loc2: u64)
17MoveLoc[3](loc0: u64)
18CastU8
19Call apply_exponent(u64, u8): u64
20StLoc[4](loc1: u64)
21MoveLoc[0](Arg0: &LatestOnly)
22MoveLoc[1](Arg1: &mut State)
23MoveLoc[4](loc1: u64)
24Call state::set_base_update_fee(&LatestOnly, &mut State, u64)
25Ret
}
from_byte_vec(Arg0: vector<u8>): UpdateFee {
L1: loc0: Cursor<u8>
L2: loc1: u64
L3: loc2: u64
B0:
0MoveLoc[0](Arg0: vector<u8>)
1Call cursor::new<u8>(vector<u8>): Cursor<u8>
2StLoc[1](loc0: Cursor<u8>)
3MutBorrowLoc[1](loc0: Cursor<u8>)
4Call deserialize::deserialize_u64(&mut Cursor<u8>): u64
5StLoc[3](loc2: u64)
6MutBorrowLoc[1](loc0: Cursor<u8>)
7Call deserialize::deserialize_u64(&mut Cursor<u8>): u64
8StLoc[2](loc1: u64)
9MoveLoc[1](loc0: Cursor<u8>)
10Call cursor::destroy_empty<u8>(Cursor<u8>)
11MoveLoc[3](loc2: u64)
12MoveLoc[2](loc1: u64)
13Pack[0](UpdateFee)
14Ret
}
apply_exponent(Arg0: u64, Arg1: u8): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1LdU64(10)
2MoveLoc[1](Arg1: u8)
3Call math::pow(u64, u8): u64
4Mul
5Ret
}
Constants [
0 => u64: 0
]
}