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

create_pool

Module0x7cfe…9861
Move path
0xf6c0…ebf1::create_pool
Functions
21 public, 0 entry
Structs
1
Friend modules
None
create_pool

Bytecode67 lines

The on-chain disassembly. Offsets are instruction numbers within each function.

// Move bytecode v6
module f6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1.create_pool {
use f6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::global_config;
use f6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::pool;
use f6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::version;
use 0000000000000000000000000000000000000000000000000000000000000001::type_name;
use 0000000000000000000000000000000000000000000000000000000000000002::event;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
 
struct PoolCreatedEvent has copy, drop, store {
sender: address,
pool_id: ID,
type_x: TypeName,
type_y: TypeName,
fee_rate: u64,
tick_spacing: u32
}
 
public new<Ty0, Ty1>(Arg0: &mut GlobalConfig, Arg1: u64, Arg2: &Version, Arg3: &mut TxContext): Pool<Ty0, Ty1> {
B0:
0MoveLoc[0](Arg0: &mut GlobalConfig)
1FreezeRef
2MoveLoc[1](Arg1: u64)
3MoveLoc[2](Arg2: &Version)
4MoveLoc[3](Arg3: &mut TxContext)
5Call create_pool_internal<Ty0, Ty1>(&GlobalConfig, u64, &Version, &mut TxContext): Pool<Ty0, Ty1>
6Ret
}
 
create_pool_internal<Ty0, Ty1>(Arg0: &GlobalConfig, Arg1: u64, Arg2: &Version, Arg3: &mut TxContext): Pool<Ty0, Ty1> {
L4: loc0: Pool<Ty0, Ty1>
L5: loc1: u32
B0:
0MoveLoc[2](Arg2: &Version)
1Call version::assert_supported_version(&Version)
2MoveLoc[0](Arg0: &GlobalConfig)
3CopyLoc[1](Arg1: u64)
4Call global_config::get_tick_spacing(&GlobalConfig, u64): u32
5StLoc[5](loc1: u32)
6CopyLoc[5](loc1: u32)
7CopyLoc[1](Arg1: u64)
8LdU64(0)
9LdU64(330000)
10LdU64(330000)
11CopyLoc[3](Arg3: &mut TxContext)
12Call pool::create<Ty0, Ty1>(u32, u64, u64, u64, u64, &mut TxContext): Pool<Ty0, Ty1>
13StLoc[4](loc0: Pool<Ty0, Ty1>)
14MoveLoc[3](Arg3: &mut TxContext)
15FreezeRef
16Call tx_context::sender(&TxContext): address
17ImmBorrowLoc[4](loc0: Pool<Ty0, Ty1>)
18Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
19ImmBorrowLoc[4](loc0: Pool<Ty0, Ty1>)
20Call pool::type_x<Ty0, Ty1>(&Pool<Ty0, Ty1>): TypeName
21ImmBorrowLoc[4](loc0: Pool<Ty0, Ty1>)
22Call pool::type_y<Ty0, Ty1>(&Pool<Ty0, Ty1>): TypeName
23MoveLoc[1](Arg1: u64)
24MoveLoc[5](loc1: u32)
25Pack[0](PoolCreatedEvent)
26Call event::emit<PoolCreatedEvent>(PoolCreatedEvent)
27MoveLoc[4](loc0: Pool<Ty0, Ty1>)
28Ret
}
 
}