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

API

shared_blob

Module0xa9ac…bf1e
Move path
0xfdc8…ea77::shared_blob
Functions
66 public, 0 entry
Structs
1
Friend modules
None
shared_blob

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
}
 
}