shared_blob
Module0xfa65…814e
- Move path
- 0xfdc8…ea77::shared_blob
- Functions
- 66 public, 0 entry
- Structs
- 1
- Friend modules
- None
shared_blob
- active_set11
- apportionment_queue6
- auth5
- blob27
- bls_aggregate16
- committee9
- display4
- encoding1
- epoch_parameters4
- event_blob15
- events16
- extended_field5
- init3
- messages29
- metadata4
- node_metadata10
- pending_values10
- pool_exchange_rate4
- redstuff7
- shared_blob6
- sort0
- staked_wal12
- staking39
- staking_inner47
- staking_pool38
- storage_accounting13
- storage_node21
- storage_resource11
- system28
- system_state_inner26
- upgrade9
- walrus_context4
Bytecode91 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v7
module fdc88f7d7cf30afab2f82e8380d11ee8f70efb90e863d1de8616fae1bb09ea77.shared_blob {
use 0000000000000000000000000000000000000000000000000000000000000002::balance;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal;
use fdc88f7d7cf30afab2f82e8380d11ee8f70efb90e863d1de8616fae1bb09ea77::blob;
use fdc88f7d7cf30afab2f82e8380d11ee8f70efb90e863d1de8616fae1bb09ea77::system;
struct SharedBlob has store, key {
id: UID,
blob: Blob,
funds: Balance<WAL>
}
public new(Arg0: Blob, Arg1: &mut TxContext) {
B0:
0MoveLoc[1](Arg1: &mut TxContext)
1Call object::new(&mut TxContext): UID
2MoveLoc[0](Arg0: Blob)
3Call balance::zero<WAL>(): Balance<WAL>
4Pack[0](SharedBlob)
5Call transfer::share_object<SharedBlob>(SharedBlob)
6Ret
}
public new_funded(Arg0: Blob, Arg1: Coin<WAL>, Arg2: &mut TxContext) {
B0:
0MoveLoc[2](Arg2: &mut TxContext)
1Call object::new(&mut TxContext): UID
2MoveLoc[0](Arg0: Blob)
3MoveLoc[1](Arg1: Coin<WAL>)
4Call coin::into_balance<WAL>(Coin<WAL>): Balance<WAL>
5Pack[0](SharedBlob)
6Call transfer::share_object<SharedBlob>(SharedBlob)
7Ret
}
public fund(Arg0: &mut SharedBlob, Arg1: Coin<WAL>) {
B0:
0MoveLoc[0](Arg0: &mut SharedBlob)
1MutBorrowField[0](SharedBlob.funds: Balance<WAL>)
2MoveLoc[1](Arg1: Coin<WAL>)
3Call coin::into_balance<WAL>(Coin<WAL>): Balance<WAL>
4Call balance::join<WAL>(&mut Balance<WAL>, Balance<WAL>): u64
5Pop
6Ret
}
public extend(Arg0: &mut SharedBlob, Arg1: &mut System, Arg2: u32, Arg3: &mut TxContext) {
L4: loc0: Coin<WAL>
B0:
0CopyLoc[0](Arg0: &mut SharedBlob)
1MutBorrowField[0](SharedBlob.funds: Balance<WAL>)
2Call balance::withdraw_all<WAL>(&mut Balance<WAL>): Balance<WAL>
3MoveLoc[3](Arg3: &mut TxContext)
4Call coin::from_balance<WAL>(Balance<WAL>, &mut TxContext): Coin<WAL>
5StLoc[4](loc0: Coin<WAL>)
6MoveLoc[1](Arg1: &mut System)
7CopyLoc[0](Arg0: &mut SharedBlob)
8MutBorrowField[1](SharedBlob.blob: Blob)
9MoveLoc[2](Arg2: u32)
10MutBorrowLoc[4](loc0: Coin<WAL>)
11Call system::extend_blob(&mut System, &mut Blob, u32, &mut Coin<WAL>)
12MoveLoc[0](Arg0: &mut SharedBlob)
13MutBorrowField[0](SharedBlob.funds: Balance<WAL>)
14MoveLoc[4](loc0: Coin<WAL>)
15Call coin::into_balance<WAL>(Coin<WAL>): Balance<WAL>
16Call balance::join<WAL>(&mut Balance<WAL>, Balance<WAL>): u64
17Pop
18Ret
}
public blob(Arg0: &SharedBlob): &Blob {
B0:
0MoveLoc[0](Arg0: &SharedBlob)
1ImmBorrowField[1](SharedBlob.blob: Blob)
2Ret
}
public funds(Arg0: &SharedBlob): &Balance<WAL> {
B0:
0MoveLoc[0](Arg0: &SharedBlob)
1ImmBorrowField[0](SharedBlob.funds: Balance<WAL>)
2Ret
}
}