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

API

pseuso_random

Module0x43f7…b97d
Move path
0x43f7…b97d::pseuso_random
Functions
40 public, 0 entry
Structs
0
Friend modules
rootlet
pseuso_random

Bytecode115 lines

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

// Move bytecode v6
module 43f7a7e57ac5713f2f633d8d299d0f6d4ceb4f7e111d491e077fb61301efb97d.pseuso_random {
use 0000000000000000000000000000000000000000000000000000000000000001::hash;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
use 0000000000000000000000000000000000000000000000000000000000000002::bcs;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
 
public(friend) rng(Arg0: u64, Arg1: u64, Arg2: &mut TxContext): u64 {
B0:
0CopyLoc[1](Arg1: u64)
1CopyLoc[0](Arg0: u64)
2Ge
3BrFalse(5)
B1:
4Branch(9)
B2:
5MoveLoc[2](Arg2: &mut TxContext)
6Pop
7LdU64(9223372122754121727)
8Abort
B3:
9MoveLoc[2](Arg2: &mut TxContext)
10Call seed(&mut TxContext): vector<u8>
11Call from_seed(vector<u8>): u64
12MoveLoc[1](Arg1: u64)
13CopyLoc[0](Arg0: u64)
14Sub
15Mod
16MoveLoc[0](Arg0: u64)
17Add
18Ret
}
 
from_seed(Arg0: vector<u8>): u64 {
L1: loc0: BCS
B0:
0ImmBorrowLoc[0](Arg0: vector<u8>)
1VecLen(6)
2LdU64(8)
3Ge
4BrFalse(6)
B1:
5Branch(8)
B2:
6LdU64(9223372161408827391)
7Abort
B3:
8MoveLoc[0](Arg0: vector<u8>)
9Call bcs::new(vector<u8>): BCS
10StLoc[1](loc0: BCS)
11MutBorrowLoc[1](loc0: BCS)
12Call bcs::peel_u64(&mut BCS): u64
13Ret
}
 
seed(Arg0: &mut TxContext): vector<u8> {
B0:
0MoveLoc[0](Arg0: &mut TxContext)
1Call raw_seed(&mut TxContext): vector<u8>
2Call hash::sha3_256(vector<u8>): vector<u8>
3Ret
}
 
raw_seed(Arg0: &mut TxContext): vector<u8> {
L1: loc0: address
L2: loc1: u64
L3: loc2: vector<u8>
L4: loc3: UID
L5: loc4: vector<u8>
L6: loc5: vector<u8>
L7: loc6: vector<u8>
B0:
0CopyLoc[0](Arg0: &mut TxContext)
1FreezeRef
2Call tx_context::sender(&TxContext): address
3StLoc[1](loc0: address)
4ImmBorrowLoc[1](loc0: address)
5Call bcs::to_bytes<address>(&address): vector<u8>
6StLoc[7](loc6: vector<u8>)
7CopyLoc[0](Arg0: &mut TxContext)
8FreezeRef
9Call tx_context::epoch(&TxContext): u64
10StLoc[2](loc1: u64)
11ImmBorrowLoc[2](loc1: u64)
12Call bcs::to_bytes<u64>(&u64): vector<u8>
13StLoc[3](loc2: vector<u8>)
14MoveLoc[0](Arg0: &mut TxContext)
15Call object::new(&mut TxContext): UID
16StLoc[4](loc3: UID)
17ImmBorrowLoc[4](loc3: UID)
18Call object::uid_to_bytes(&UID): vector<u8>
19StLoc[5](loc4: vector<u8>)
20MoveLoc[4](loc3: UID)
21Call object::delete(UID)
22LdConst[0](vector<u8>: "" /..)
23StLoc[6](loc5: vector<u8>)
24MutBorrowLoc[6](loc5: vector<u8>)
25MoveLoc[5](loc4: vector<u8>)
26Call vector::append<u8>(&mut vector<u8>, vector<u8>)
27MutBorrowLoc[6](loc5: vector<u8>)
28MoveLoc[3](loc2: vector<u8>)
29Call vector::append<u8>(&mut vector<u8>, vector<u8>)
30MutBorrowLoc[6](loc5: vector<u8>)
31MoveLoc[7](loc6: vector<u8>)
32Call vector::append<u8>(&mut vector<u8>, vector<u8>)
33MoveLoc[6](loc5: vector<u8>)
34Ret
}
 
Constants [
0 => vector<u8>: "" // interpreted as UTF8 string
]
}