/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ /* Generated types for 0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af, original address 0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af */ import { TypeDescriptor, ANY_TYPE } from "@typemove/move"; import { MoveCoder, TypedEventInstance } from "@typemove/aptos"; import { defaultMoveCoder } from "@typemove/aptos"; import { Aptos, Account as AptosAccount, MoveAddressType, PendingTransactionResponse, InputGenerateTransactionOptions, MoveStructId, InputViewFunctionData, InputViewFunctionJsonData, } from "@aptos-labs/ts-sdk"; import * as _0x1 from "@typemove/aptos/builtin/0x1"; import * as _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9 from "./0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.js"; export namespace fees { export namespace entry {} export namespace view { export async function balance( client: Aptos, request: { typeArguments: [MoveStructId]; }, version?: bigint, ): Promise<[bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::fees::balance", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::fees::balance", ); return (await coder.decodeArray(res, type.return)) as any; } } } export namespace init { export namespace entry { export async function initialize( client: Aptos, account: AptosAccount, request: { typeArguments: []; functionArguments: []; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::init::initialize", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: [], }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } } export namespace view {} } export namespace package$ { export interface ResourceSignerCapability { signer_cap: _0x1.account.SignerCapability; } export namespace ResourceSignerCapability { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::package::ResourceSignerCapability"; const TYPE = new TypeDescriptor( ResourceSignerCapability.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace entry { export async function publishPackage( client: Aptos, account: AptosAccount, request: { typeArguments: []; functionArguments: [string, string[]]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::package::publish_package", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: [], }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } } export namespace view {} } export namespace base_pool { export interface BasePoolParamChangeEvent { name: string; prev_value: bigint; new_value: bigint; } export namespace BasePoolParamChangeEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::BasePoolParamChangeEvent"; const TYPE = new TypeDescriptor( BasePoolParamChangeEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type BasePoolParamChangeEventInstance = TypedEventInstance & { data_decoded: BasePoolParamChangeEvent; type_arguments: []; }; export interface BasePoolParams { swap_fee_protocol_allocation_ratio: _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64; param_change_events: _0x1.event.EventHandle; } export namespace BasePoolParams { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::BasePoolParams"; const TYPE = new TypeDescriptor(BasePoolParams.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Null { dummy_field: boolean; } export namespace Null { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::Null"; const TYPE = new TypeDescriptor(Null.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export namespace entry { export async function setSwapFeeProtocolAllocationBps( client: Aptos, account: AptosAccount, request: { typeArguments: []; functionArguments: [bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::set_swap_fee_protocol_allocation_bps", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: [], }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } } export namespace view { export async function maxSupportedDecimals( client: Aptos, version?: bigint, ): Promise<[number]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::max_supported_decimals", functionArguments: [], typeArguments: [], }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::max_supported_decimals", ); return (await coder.decodeArray(res, type.return)) as any; } export async function poolTokenSupply( client: Aptos, request: { typeArguments: [MoveStructId]; }, version?: bigint, ): Promise<[bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::pool_token_supply", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::pool_token_supply", ); return (await coder.decodeArray(res, type.return)) as any; } export async function swapFeeProtocolAllocationRatio( client: Aptos, version?: bigint, ): Promise< [ _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64, ] > { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::swap_fee_protocol_allocation_ratio", functionArguments: [], typeArguments: [], }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::swap_fee_protocol_allocation_ratio", ); return (await coder.decodeArray(res, type.return)) as any; } } } export namespace coin_helper { export namespace entry {} export namespace view {} } export namespace stable_pool { export interface AddLiquidityEvent { amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; minted_lp_coin_amount: bigint; } export namespace AddLiquidityEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::AddLiquidityEvent"; const TYPE = new TypeDescriptor>( AddLiquidityEvent.TYPE_QNAME, ); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export type AddLiquidityEventInstance = TypedEventInstance< AddLiquidityEvent > & { data_decoded: AddLiquidityEvent; type_arguments: [string, string, string, string]; }; export interface Flashloan { amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; } export namespace Flashloan { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::Flashloan"; const TYPE = new TypeDescriptor>( Flashloan.TYPE_QNAME, ); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export interface FlashloanEvent { amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; } export namespace FlashloanEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::FlashloanEvent"; const TYPE = new TypeDescriptor>( FlashloanEvent.TYPE_QNAME, ); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export type FlashloanEventInstance = TypedEventInstance< FlashloanEvent > & { data_decoded: FlashloanEvent; type_arguments: [string, string, string, string]; }; export interface FlashloanHelper { locked: boolean; flashloan_fee_bps: bigint; flashloan_events: _0x1.event.EventHandle< stable_pool.FlashloanEvent >; } export namespace FlashloanHelper { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::FlashloanHelper"; const TYPE = new TypeDescriptor>( FlashloanHelper.TYPE_QNAME, ); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export interface RemoveLiquidityEvent { amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; burned_lp_coin_amount: bigint; } export namespace RemoveLiquidityEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::RemoveLiquidityEvent"; const TYPE = new TypeDescriptor>( RemoveLiquidityEvent.TYPE_QNAME, ); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export type RemoveLiquidityEventInstance = TypedEventInstance< RemoveLiquidityEvent > & { data_decoded: RemoveLiquidityEvent; type_arguments: [string, string, string, string]; }; export interface StablePool { asset_0: _0x1.coin.Coin; asset_1: _0x1.coin.Coin; asset_2: _0x1.coin.Coin; asset_3: _0x1.coin.Coin; amp_factor: bigint; precision_multipliers: bigint[]; swap_fee_ratio: _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64; inverse_negated_swap_fee_ratio: _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64; pool_token_mint_cap: _0x1.coin.MintCapability< stable_pool.StablePoolToken >; pool_token_burn_cap: _0x1.coin.BurnCapability< stable_pool.StablePoolToken >; reserved_lp_coin: _0x1.coin.Coin< stable_pool.StablePoolToken >; events: stable_pool.StablePoolEvents; } export namespace StablePool { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePool"; const TYPE = new TypeDescriptor>( StablePool.TYPE_QNAME, ); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export interface StablePoolCreationEvent { creator: MoveAddressType; amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; minted_lp_coin_amount: bigint; swap_fee_bps: bigint; } export namespace StablePoolCreationEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolCreationEvent"; const TYPE = new TypeDescriptor< StablePoolCreationEvent >(StablePoolCreationEvent.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export type StablePoolCreationEventInstance = TypedEventInstance< StablePoolCreationEvent > & { data_decoded: StablePoolCreationEvent; type_arguments: [string, string, string, string]; }; export interface StablePoolEvents { pool_creation_events: _0x1.event.EventHandle< stable_pool.StablePoolCreationEvent >; add_liquidity_events: _0x1.event.EventHandle< stable_pool.AddLiquidityEvent >; remove_liquidity_events: _0x1.event.EventHandle< stable_pool.RemoveLiquidityEvent >; swap_events: _0x1.event.EventHandle>; param_change_events: _0x1.event.EventHandle; } export namespace StablePoolEvents { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolEvents"; const TYPE = new TypeDescriptor>( StablePoolEvents.TYPE_QNAME, ); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export interface StablePoolInfo { balances: bigint[]; precision_multipliers: bigint[]; amp_factor: bigint; lp_coin_supply: bigint; } export namespace StablePoolInfo { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolInfo"; const TYPE = new TypeDescriptor(StablePoolInfo.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface StablePoolLookup { name_to_pool: _0x1.table.Table; id_to_name: _0x1.table.Table; next_id: bigint; } export namespace StablePoolLookup { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolLookup"; const TYPE = new TypeDescriptor( StablePoolLookup.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface StablePoolParamChangeEvent { name: string; prev_value: bigint; new_value: bigint; } export namespace StablePoolParamChangeEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolParamChangeEvent"; const TYPE = new TypeDescriptor( StablePoolParamChangeEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type StablePoolParamChangeEventInstance = TypedEventInstance & { data_decoded: StablePoolParamChangeEvent; type_arguments: []; }; export interface StablePoolParams { default_swap_fee_ratio: _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64; param_change_events: _0x1.event.EventHandle; } export namespace StablePoolParams { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolParams"; const TYPE = new TypeDescriptor( StablePoolParams.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface StablePoolToken { dummy_field: boolean; } export namespace StablePoolToken { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolToken"; const TYPE = new TypeDescriptor>( StablePoolToken.TYPE_QNAME, ); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export interface SwapEvent { idx_in: bigint; idx_out: bigint; amount_in: bigint; amount_out: bigint; fee_amount: bigint; pool_balance_0: bigint; pool_balance_1: bigint; pool_balance_2: bigint; pool_balance_3: bigint; amp_factor: bigint; } export namespace SwapEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::SwapEvent"; const TYPE = new TypeDescriptor>( SwapEvent.TYPE_QNAME, ); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3); } } export type SwapEventInstance = TypedEventInstance< SwapEvent > & { data_decoded: SwapEvent; type_arguments: [string, string, string, string]; }; export namespace entry { export async function setAmpFactor( client: Aptos, account: AptosAccount, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; functionArguments: [bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::set_amp_factor", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function setDefaultPoolSwapFeeBps( client: Aptos, account: AptosAccount, request: { typeArguments: []; functionArguments: [bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::set_default_pool_swap_fee_bps", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: [], }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function setFlashloanFeeBps< T0 = any, T1 = any, T2 = any, T3 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; functionArguments: [bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::set_flashloan_fee_bps", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function setPoolSwapFeeBps< T0 = any, T1 = any, T2 = any, T3 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; functionArguments: [bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::set_pool_swap_fee_bps", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } } export namespace view { export async function flashloanFeeBps< T0 = any, T1 = any, T2 = any, T3 = any, >( client: Aptos, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; }, version?: bigint, ): Promise<[bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::flashloan_fee_bps", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::flashloan_fee_bps", ); return (await coder.decodeArray(res, type.return)) as any; } export async function getPrecisionMultipliers< T0 = any, T1 = any, T2 = any, T3 = any, >( client: Aptos, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; }, version?: bigint, ): Promise<[bigint[]]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::get_precision_multipliers", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::get_precision_multipliers", ); return (await coder.decodeArray(res, type.return)) as any; } export async function lpNameById( client: Aptos, request: { functionArguments: [bigint]; }, version?: bigint, ): Promise<[string]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::lp_name_by_id", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: [], }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::lp_name_by_id", ); return (await coder.decodeArray(res, type.return)) as any; } export async function nextPoolId( client: Aptos, version?: bigint, ): Promise<[bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::next_pool_id", functionArguments: [], typeArguments: [], }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::next_pool_id", ); return (await coder.decodeArray(res, type.return)) as any; } export async function poolAmpFactor( client: Aptos, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; }, version?: bigint, ): Promise<[bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::pool_amp_factor", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::pool_amp_factor", ); return (await coder.decodeArray(res, type.return)) as any; } export async function poolBalances( client: Aptos, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; }, version?: bigint, ): Promise<[bigint[]]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::pool_balances", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::pool_balances", ); return (await coder.decodeArray(res, type.return)) as any; } export async function poolInfo( client: Aptos, request: { functionArguments: [string]; }, version?: bigint, ): Promise<[bigint[], bigint, bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::pool_info", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: [], }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::pool_info", ); return (await coder.decodeArray(res, type.return)) as any; } export async function stablePoolExists< T0 = any, T1 = any, T2 = any, T3 = any, >( client: Aptos, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; }, version?: bigint, ): Promise<[boolean]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::stable_pool_exists", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::stable_pool_exists", ); return (await coder.decodeArray(res, type.return)) as any; } export async function swapFeeRatio( client: Aptos, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; }, version?: bigint, ): Promise< [ _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64, ] > { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::swap_fee_ratio", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::swap_fee_ratio", ); return (await coder.decodeArray(res, type.return)) as any; } } } export namespace fees_scripts { export namespace entry { export async function transferFee( client: Aptos, account: AptosAccount, request: { typeArguments: [MoveStructId]; functionArguments: [MoveAddressType, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::fees_scripts::transfer_fee", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } } export namespace view {} } export namespace weighted_pool { export interface AddLiquidityEvent { amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; minted_lp_coin_amount: bigint; } export namespace AddLiquidityEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::AddLiquidityEvent"; const TYPE = new TypeDescriptor< AddLiquidityEvent >(AddLiquidityEvent.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export type AddLiquidityEventInstance = TypedEventInstance< AddLiquidityEvent > & { data_decoded: AddLiquidityEvent; type_arguments: [ string, string, string, string, string, string, string, string, ]; }; export interface Flashloan { amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; } export namespace Flashloan { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Flashloan"; const TYPE = new TypeDescriptor< Flashloan >(Flashloan.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export interface FlashloanEvent { amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; } export namespace FlashloanEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::FlashloanEvent"; const TYPE = new TypeDescriptor< FlashloanEvent >(FlashloanEvent.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export type FlashloanEventInstance = TypedEventInstance< FlashloanEvent > & { data_decoded: FlashloanEvent; type_arguments: [ string, string, string, string, string, string, string, string, ]; }; export interface FlashloanHelper { locked: boolean; flashloan_fee_bps: bigint; flashloan_events: _0x1.event.EventHandle< weighted_pool.FlashloanEvent >; } export namespace FlashloanHelper { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::FlashloanHelper"; const TYPE = new TypeDescriptor< FlashloanHelper >(FlashloanHelper.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export interface RemoveLiquidityEvent { amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; burned_lp_coin_amount: bigint; } export namespace RemoveLiquidityEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::RemoveLiquidityEvent"; const TYPE = new TypeDescriptor< RemoveLiquidityEvent >(RemoveLiquidityEvent.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export type RemoveLiquidityEventInstance = TypedEventInstance< RemoveLiquidityEvent > & { data_decoded: RemoveLiquidityEvent; type_arguments: [ string, string, string, string, string, string, string, string, ]; }; export interface SwapEvent { idx_in: bigint; idx_out: bigint; amount_in: bigint; amount_out: bigint; fee_amount: bigint; pool_balance_0: bigint; pool_balance_1: bigint; pool_balance_2: bigint; pool_balance_3: bigint; } export namespace SwapEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::SwapEvent"; const TYPE = new TypeDescriptor< SwapEvent >(SwapEvent.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export type SwapEventInstance = TypedEventInstance< SwapEvent > & { data_decoded: SwapEvent; type_arguments: [ string, string, string, string, string, string, string, string, ]; }; export interface Weight_10 { dummy_field: boolean; } export namespace Weight_10 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_10"; const TYPE = new TypeDescriptor(Weight_10.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_15 { dummy_field: boolean; } export namespace Weight_15 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_15"; const TYPE = new TypeDescriptor(Weight_15.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_20 { dummy_field: boolean; } export namespace Weight_20 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_20"; const TYPE = new TypeDescriptor(Weight_20.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_25 { dummy_field: boolean; } export namespace Weight_25 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_25"; const TYPE = new TypeDescriptor(Weight_25.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_30 { dummy_field: boolean; } export namespace Weight_30 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_30"; const TYPE = new TypeDescriptor(Weight_30.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_35 { dummy_field: boolean; } export namespace Weight_35 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_35"; const TYPE = new TypeDescriptor(Weight_35.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_40 { dummy_field: boolean; } export namespace Weight_40 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_40"; const TYPE = new TypeDescriptor(Weight_40.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_45 { dummy_field: boolean; } export namespace Weight_45 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_45"; const TYPE = new TypeDescriptor(Weight_45.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_5 { dummy_field: boolean; } export namespace Weight_5 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_5"; const TYPE = new TypeDescriptor(Weight_5.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_50 { dummy_field: boolean; } export namespace Weight_50 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_50"; const TYPE = new TypeDescriptor(Weight_50.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_55 { dummy_field: boolean; } export namespace Weight_55 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_55"; const TYPE = new TypeDescriptor(Weight_55.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_60 { dummy_field: boolean; } export namespace Weight_60 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_60"; const TYPE = new TypeDescriptor(Weight_60.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_65 { dummy_field: boolean; } export namespace Weight_65 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_65"; const TYPE = new TypeDescriptor(Weight_65.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_70 { dummy_field: boolean; } export namespace Weight_70 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_70"; const TYPE = new TypeDescriptor(Weight_70.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_75 { dummy_field: boolean; } export namespace Weight_75 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_75"; const TYPE = new TypeDescriptor(Weight_75.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_80 { dummy_field: boolean; } export namespace Weight_80 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_80"; const TYPE = new TypeDescriptor(Weight_80.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_85 { dummy_field: boolean; } export namespace Weight_85 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_85"; const TYPE = new TypeDescriptor(Weight_85.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_90 { dummy_field: boolean; } export namespace Weight_90 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_90"; const TYPE = new TypeDescriptor(Weight_90.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface Weight_95 { dummy_field: boolean; } export namespace Weight_95 { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Weight_95"; const TYPE = new TypeDescriptor(Weight_95.TYPE_QNAME); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface WeightedPool { asset_0: _0x1.coin.Coin; asset_1: _0x1.coin.Coin; asset_2: _0x1.coin.Coin; asset_3: _0x1.coin.Coin; weight_0: bigint; weight_1: bigint; weight_2: bigint; weight_3: bigint; swap_fee_ratio: _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64; inverse_negated_swap_fee_ratio: _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64; pool_token_mint_cap: _0x1.coin.MintCapability< weighted_pool.WeightedPoolToken >; pool_token_burn_cap: _0x1.coin.BurnCapability< weighted_pool.WeightedPoolToken >; reserved_lp_coin: _0x1.coin.Coin< weighted_pool.WeightedPoolToken >; events: weighted_pool.WeightedPoolEvents; } export namespace WeightedPool { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPool"; const TYPE = new TypeDescriptor< WeightedPool >(WeightedPool.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export interface WeightedPoolCreationEvent { creator: MoveAddressType; amount_0: bigint; amount_1: bigint; amount_2: bigint; amount_3: bigint; minted_lp_coin_amount: bigint; swap_fee_bps: bigint; } export namespace WeightedPoolCreationEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolCreationEvent"; const TYPE = new TypeDescriptor< WeightedPoolCreationEvent >(WeightedPoolCreationEvent.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor< WeightedPoolCreationEvent > { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export type WeightedPoolCreationEventInstance = TypedEventInstance< WeightedPoolCreationEvent > & { data_decoded: WeightedPoolCreationEvent< any, any, any, any, any, any, any, any >; type_arguments: [ string, string, string, string, string, string, string, string, ]; }; export interface WeightedPoolEvents { pool_creation_events: _0x1.event.EventHandle< weighted_pool.WeightedPoolCreationEvent >; add_liquidity_events: _0x1.event.EventHandle< weighted_pool.AddLiquidityEvent >; remove_liquidity_events: _0x1.event.EventHandle< weighted_pool.RemoveLiquidityEvent >; swap_events: _0x1.event.EventHandle< weighted_pool.SwapEvent >; param_change_events: _0x1.event.EventHandle; } export namespace WeightedPoolEvents { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolEvents"; const TYPE = new TypeDescriptor< WeightedPoolEvents >(WeightedPoolEvents.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export interface WeightedPoolInfo { balances: bigint[]; weights: bigint[]; lp_coin_supply: bigint; } export namespace WeightedPoolInfo { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolInfo"; const TYPE = new TypeDescriptor( WeightedPoolInfo.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface WeightedPoolLookup { name_to_pool: _0x1.table.Table; id_to_name: _0x1.table.Table; next_id: bigint; } export namespace WeightedPoolLookup { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolLookup"; const TYPE = new TypeDescriptor( WeightedPoolLookup.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface WeightedPoolParamChangeEvent { name: string; prev_value: bigint; new_value: bigint; } export namespace WeightedPoolParamChangeEvent { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolParamChangeEvent"; const TYPE = new TypeDescriptor( WeightedPoolParamChangeEvent.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export type WeightedPoolParamChangeEventInstance = TypedEventInstance & { data_decoded: WeightedPoolParamChangeEvent; type_arguments: []; }; export interface WeightedPoolParams { default_swap_fee_ratio: _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64; param_change_events: _0x1.event.EventHandle; } export namespace WeightedPoolParams { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolParams"; const TYPE = new TypeDescriptor( WeightedPoolParams.TYPE_QNAME, ); export function type(): TypeDescriptor { return TYPE.apply(); } } export interface WeightedPoolToken { dummy_field: boolean; } export namespace WeightedPoolToken { export const TYPE_QNAME = "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolToken"; const TYPE = new TypeDescriptor< WeightedPoolToken >(WeightedPoolToken.TYPE_QNAME); export function type( arg0: TypeDescriptor = ANY_TYPE, arg1: TypeDescriptor = ANY_TYPE, arg2: TypeDescriptor = ANY_TYPE, arg3: TypeDescriptor = ANY_TYPE, arg4: TypeDescriptor = ANY_TYPE, arg5: TypeDescriptor = ANY_TYPE, arg6: TypeDescriptor = ANY_TYPE, arg7: TypeDescriptor = ANY_TYPE, ): TypeDescriptor> { return TYPE.apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } } export namespace entry { export async function setDefaultPoolSwapFeeBps( client: Aptos, account: AptosAccount, request: { typeArguments: []; functionArguments: [bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::set_default_pool_swap_fee_bps", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: [], }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function setFlashloanFeeBps< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::set_flashloan_fee_bps", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function setPoolSwapFeeBps< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::set_pool_swap_fee_bps", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } } export namespace view { export async function flashloanFeeBps< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, >( client: Aptos, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; }, version?: bigint, ): Promise<[bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::flashloan_fee_bps", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::flashloan_fee_bps", ); return (await coder.decodeArray(res, type.return)) as any; } export async function getWeight( client: Aptos, request: { typeArguments: [MoveStructId]; }, version?: bigint, ): Promise<[bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::get_weight", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::get_weight", ); return (await coder.decodeArray(res, type.return)) as any; } export async function lpNameById( client: Aptos, request: { functionArguments: [bigint]; }, version?: bigint, ): Promise<[string]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::lp_name_by_id", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: [], }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::lp_name_by_id", ); return (await coder.decodeArray(res, type.return)) as any; } export async function nextPoolId( client: Aptos, version?: bigint, ): Promise<[bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::next_pool_id", functionArguments: [], typeArguments: [], }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::next_pool_id", ); return (await coder.decodeArray(res, type.return)) as any; } export async function poolBalancesAndWeights< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, >( client: Aptos, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; }, version?: bigint, ): Promise<[bigint[], bigint[]]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::pool_balances_and_weights", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::pool_balances_and_weights", ); return (await coder.decodeArray(res, type.return)) as any; } export async function poolInfo( client: Aptos, request: { functionArguments: [string]; }, version?: bigint, ): Promise<[bigint[], bigint[], bigint]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::pool_info", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: [], }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::pool_info", ); return (await coder.decodeArray(res, type.return)) as any; } export async function swapFeeRatio< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, >( client: Aptos, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; }, version?: bigint, ): Promise< [ _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.fixed_point64.FixedPoint64, ] > { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::swap_fee_ratio", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::swap_fee_ratio", ); return (await coder.decodeArray(res, type.return)) as any; } export async function weightedPoolExists< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, >( client: Aptos, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; }, version?: bigint, ): Promise<[boolean]> { const coder = defaultMoveCoder(client.config); const data: InputViewFunctionData = { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::weighted_pool_exists", functionArguments: [], typeArguments: request.typeArguments, }; const res = await client.view({ payload: data, options: { ledgerVersion: version }, }); const type = await coder.getMoveFunction( "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::weighted_pool_exists", ); return (await coder.decodeArray(res, type.return)) as any; } } } export namespace multi_hop_scripts { export namespace entry { export async function swapExactIn2< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, T8 = any, T9 = any, T10 = any, T11 = any, T12 = any, T13 = any, T14 = any, T15 = any, T16 = any, T17 = any, T18 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::multi_hop_scripts::swap_exact_in_2", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function swapExactIn3< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, T8 = any, T9 = any, T10 = any, T11 = any, T12 = any, T13 = any, T14 = any, T15 = any, T16 = any, T17 = any, T18 = any, T19 = any, T20 = any, T21 = any, T22 = any, T23 = any, T24 = any, T25 = any, T26 = any, T27 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::multi_hop_scripts::swap_exact_in_3", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } } export namespace view {} } export namespace stable_pool_scripts { export namespace entry { export async function addLiquidity( client: Aptos, account: AptosAccount, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; functionArguments: [bigint, bigint, bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool_scripts::add_liquidity", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function createStablePool< T0 = any, T1 = any, T2 = any, T3 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; functionArguments: [bigint, bigint, bigint, bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool_scripts::create_stable_pool", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function removeLiquidity< T0 = any, T1 = any, T2 = any, T3 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [MoveStructId, MoveStructId, MoveStructId, MoveStructId]; functionArguments: [bigint, bigint, bigint, bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool_scripts::remove_liquidity", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function swapExactIn< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool_scripts::swap_exact_in", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function swapExactOut< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool_scripts::swap_exact_out", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } } export namespace view {} } export namespace weighted_pool_scripts { export namespace entry { export async function addLiquidity< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [ bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, ]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool_scripts::add_liquidity", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function createWeightedPool< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint, bigint, bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool_scripts::create_weighted_pool", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function removeLiquidity< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint, bigint, bigint, bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool_scripts::remove_liquidity", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function swapExactIn< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, T8 = any, T9 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool_scripts::swap_exact_in", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } export async function swapExactOut< T0 = any, T1 = any, T2 = any, T3 = any, T4 = any, T5 = any, T6 = any, T7 = any, T8 = any, T9 = any, >( client: Aptos, account: AptosAccount, request: { typeArguments: [ MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, MoveStructId, ]; functionArguments: [bigint, bigint]; }, options?: InputGenerateTransactionOptions, ): Promise { const coder = defaultMoveCoder(client.config); const transaction = await client.transaction.build.simple({ sender: account.accountAddress, data: { function: "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool_scripts::swap_exact_out", functionArguments: coder.encodeArray(request.functionArguments), typeArguments: request.typeArguments, }, options, }); return await client.signAndSubmitTransaction({ signer: account, transaction, }); } } export namespace view {} } const MODULES = JSON.parse( '[{"bytecode":"0xa11ceb0b060000000b01000a020a0603104f045f0c056b27079201f6010888036006e80319108104470cc804620faa050400020103010400050206010704010001000800010100000901020100000a01010100000b03000100030c010500010d06010100010905020100010e05080100030f0107000110090101000411090800021209050004130b0800011403000100020405040604070409040d04010b0001090000010302060c03010900010502050b00010900010c010101060c02010c02050a020b737461626c655f706f6f6c0d77656967687465645f706f6f6c046665657304636f696e067369676e6572077061636b616765076d616e6167657204436f696e0a6162736f72625f6665650762616c616e63650c7472795f72656769737465720c77697468647261775f666565187265736f757263655f6163636f756e745f61646472657373076465706f7369741569735f6163636f756e745f72656769737465726564177265736f757263655f6163636f756e745f7369676e65720872656769737465720d69735f617574686f72697a65640a616464726573735f6f660e69735f726f6c655f6d656d62657208776974686472617748271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af000000000000000000000000000000000000000000000000000000000000000193aa044a65a27bd89b163f8b3be3777b160b09a25c336643dcc2878dfd8f2a8d030800000000000000000a020c0b6665655f6d616e61676572126170746f733a3a6d657461646174615f763133010000000000000000104552525f554e415554484f52495a45440b4572726f7220436f64657300010762616c616e6365010100000300000105380011040b0038010201010000010311043802020200000007091104380320040811080c000e00380402030100000a180a00110a04080b0001080c02050d0b00110b0701110c0c020b020410051207002711080c030e030b013805020000000100","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"fees","friends":["0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool"],"exposed_functions":[{"name":"absorb_fee","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["0x1::coin::Coin"],"return":[]},{"name":"balance","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]}],"params":[],"return":["u64"]},{"name":"withdraw_fee","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer","u64"],"return":["0x1::coin::Coin"]}],"structs":[]}},{"bytecode":"0xa11ceb0b060000000801000e030e23053108073962089b016006fb014010bb02770cb2032d0000010100020003000400050206000700010001080002000309010300060901030002070101000407010100050701010001060c000105010104696e6974067369676e657209626173655f706f6f6c077061636b6167650b737461626c655f706f6f6c0d77656967687465645f706f6f6c076d616e616765720a696e697469616c697a650a616464726573735f6f660b696e697469616c697a656448271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af000000000000000000000000000000000000000000000000000000000000000193aa044a65a27bd89b163f8b3be3777b160b09a25c336643dcc2878dfd8f2a8d03080200000000000000030801000000000000000308000000000000000005201bf23f0881f8fa149500ff6b7a047f608967c028a8ad7a2100caa84833ce851d126170746f733a3a6d657461646174615f763163030000000000000000104552525f554e415554484f52495a4544000100000000000000194552525f5041434b4147455f554e494e495449414c495a4544000200000000000000194552525f4d414e414745525f554e494e495449414c495a45440000000001040001160b001101070321040605080702271102040b050d0701271103041005120700271104110511060200","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"init","friends":[],"exposed_functions":[{"name":"initialize","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":[]}],"structs":[]}},{"bytecode":"0xa11ceb0b060000000c01000c020c08031446055a26078001bf0308bf0460069f0579109806af010ac707060ccd07c5010d9209020f940908000401050106010701080209000a080001140600000b000100000c020000000d000300000e040000000f02050000100001000011000100001200050001150601000416020100031708090005180203000219040000011a0a050000010501060c010103060c0a020a0a02010c0206050a020205080102060c050108010106080109626173655f706f6f6c04666565730b737461626c655f706f6f6c0d77656967687465645f706f6f6c077061636b616765076163636f756e7404636f6465107265736f757263655f6163636f756e74067369676e6572076d616e61676572185265736f757263655369676e65724361706162696c69747920646572697665645f7265736f757263655f6163636f756e745f616464726573730b696e69745f6d6f64756c650b696e697469616c697a65640f7075626c6973685f7061636b6167650e726571756573745f7369676e6572187265736f757263655f6163636f756e745f61646472657373217265736f757263655f6163636f756e745f6465706c6f7965725f61646472657373177265736f757263655f6163636f756e745f7369676e65720a7369676e65725f636170105369676e65724361706162696c697479176372656174655f7265736f757263655f616464726573730a616464726573735f6f661d72657472696576655f7265736f757263655f6163636f756e745f6361700d69735f617574686f72697a6564137075626c6973685f7061636b6167655f74786e1d6372656174655f7369676e65725f776974685f6361706162696c69747948271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af000000000000000000000000000000000000000000000000000000000000000193aa044a65a27bd89b163f8b3be3777b160b09a25c336643dcc2878dfd8f2a8d05201bf23f0881f8fa149500ff6b7a047f608967c028a8ad7a2100caa84833ce851d03080300000000000000030801000000000000000308000000000000000003080200000000000000052048271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af0a020a097468616c6173776170126170746f733a3a6d657461646174615f76319a01040000000000000000184552525f5041434b4147455f554e415554484f52495a45440b4572726f7220436f6465730100000000000000174552525f5041434b4147455f494e495449414c495a4544000200000000000000194552525f5041434b4147455f554e494e495449414c495a45440003000000000000001c4552525f5041434b4147455f414444524553535f4d49534d4154434800000000020113080100000000010607000c000e0007061108020100000007270a0011090c010a012900200408050c0b00010702270a01110021041105150b00010701270b01110521041a051e0b00010701270a000700110a0c020b000b0212002d000202010000000311052900020301040100050d0b00110b0404050607032711070c030e030b010b02110c02040100010000080b00110b040405060703271107020501000000020705020601000000020700020703000100000a11020403050507042711052b001000110d020000000000010002000300","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"package","friends":["0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::fees","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool"],"exposed_functions":[{"name":"initialized","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["bool"]},{"name":"publish_package","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer","vector","vector>"],"return":[]},{"name":"request_signer","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":["signer"]},{"name":"resource_account_address","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["address"]},{"name":"resource_account_deployer_address","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["address"]},{"name":"resource_account_signer","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["signer"]}],"structs":[{"name":"ResourceSignerCapability","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"signer_cap","type":"0x1::account::SignerCapability"}]}]}},{"bytecode":"0xa11ceb0b060000000d0100160216200336810104b7012205d9016807c102ee0408af07800106af086d109c09e0010afc0a1b0c970bad020dc40d040fc80d060003010401050106010701080109000a000b020c030d000e0600000f08000010000009170700051c070003200401060104270701000000110000000012000100001300010100001400020000150003010000160400000018000500001900010400000000001a030100082200060009230705000124090a01060825000b000626000d01000228000f01000429110e01000a2a090100092b130500092c050300052d140d00032e15000106022f00020100073000010200000b080d0c0d0e0e0e0f101408020e0217150e151716180219021a1519161b151a161c0001010102010302060c03010803010c02030301080001060c010b050109000105010802010804010900010b060104010401070b06010900020708010302080303010a0202070b05010900090002010101090102090009010109020109030209010902020902090304696e69740b737461626c655f706f6f6c0d77656967687465645f706f6f6c09626173655f706f6f6c076163636f756e7404636f696e056576656e74066f7074696f6e06737472696e6709747970655f696e666f0b636f696e5f68656c706572077061636b6167650d66697865645f706f696e743634076d616e616765721842617365506f6f6c506172616d4368616e67654576656e740e42617365506f6f6c506172616d73044e756c6c0a696e697469616c697a650b696e697469616c697a65640769735f6e756c6c166d61785f737570706f727465645f646563696d616c7311706f6f6c5f746f6b656e5f737570706c79247365745f737761705f6665655f70726f746f636f6c5f616c6c6f636174696f6e5f6270730c4669786564506f696e74363422737761705f6665655f70726f746f636f6c5f616c6c6f636174696f6e5f726174696f1476616c69646174655f706f6f6c5f6173736574731176616c69646174655f737761705f666565046e616d6506537472696e670a707265765f76616c7565096e65775f76616c756513706172616d5f6368616e67655f6576656e74730b4576656e7448616e646c650b64756d6d795f6669656c64177265736f757263655f6163636f756e745f7369676e6572086672616374696f6e106e65775f6576656e745f68616e646c65187265736f757263655f6163636f756e745f6164647265737309747970655f6e616d65064f7074696f6e06737570706c7907657874726163740d69735f617574686f72697a6564036d756c066465636f646504757466380a656d69745f6576656e7408646563696d616c731469735f756e697175655f616e645f736f7274656448271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af00000000000000000000000000000000000000000000000000000000000000014dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee993aa044a65a27bd89b163f8b3be3777b160b09a25c336643dcc2878dfd8f2a8d030810270000000000000308d007000000000000030803000000000000000308010000000000000003080000000000000000030802000000000000000201080308e8030000000000000a022120737761705f6665655f70726f746f636f6c5f616c6c6f636174696f6e5f627073126170746f733a3a6d657461646174615f7631cb01040000000000000000104552525f554e415554484f52495a45440b4572726f7220436f64657301000000000000000f4552525f494e495449414c495a4544000200000000000000114552525f554e494e495449414c495a4544000300000000000000104552525f4250535f47545f313030303000000311706f6f6c5f746f6b656e5f737570706c79010100166d61785f737570706f727465645f646563696d616c7301010022737761705f6665655f70726f746f636f6c5f616c6c6f636174696f6e5f726174696f0101000002031b08041d031e030102021808031f0b0501080002020121010003000006111101200404050607032711090c000e0007010700110a0e00380012012d0102010300000003110c290102020100000004380138022102030100000002070602040100000f0638030c000d00380434020501040101122b0b0011100404050607042711010409050b0703270a0107002504100512070227110c2a010c020a021000140700111111120c030a010700110a0a020f00150b020f01070811130b030b01120038050206010001010005110c2a011000140207030000163e38060405080c00050738070c000b00040b090238080706240412080c01051638090706240c010b01041a0902380a20041f0902380b0427380c042508020902380d070624042d0902380e2004320902380c04360802380f070624043c09023810020803000000040b00070725020100010100000001000200","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"base_pool","friends":["0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::init","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool"],"exposed_functions":[{"name":"initialize","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":[]},{"name":"initialized","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["bool"]},{"name":"is_null","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":[],"return":["bool"]},{"name":"max_supported_decimals","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":[],"return":["u8"]},{"name":"pool_token_supply","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]}],"params":[],"return":["u64"]},{"name":"set_swap_fee_protocol_allocation_bps","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer","u64"],"return":[]},{"name":"swap_fee_protocol_allocation_ratio","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":[],"return":["0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"]},{"name":"validate_pool_assets","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["bool"]},{"name":"validate_swap_fee","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u64"],"return":["bool"]}],"structs":[{"name":"BasePoolParamChangeEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"name","type":"0x1::string::String"},{"name":"prev_value","type":"u64"},{"name":"new_value","type":"u64"}]},{"name":"BasePoolParams","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"swap_fee_protocol_allocation_ratio","type":"0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"},{"name":"param_change_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::base_pool::BasePoolParamChangeEvent>"}]},{"name":"Null","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]}]}},{"bytecode":"0xa11ceb0b0600000008010006020608030e3304410a054b3b0786019701089d02400cdd026c00000101010201030200020607000004000102000000050002020000020700050100020807080001040901010001090a0200020a070800020b070b00010c0a0200020402060408040b000c0001080001010a080008000508010a020a020508010a020a0201090001080101090101060801010a020206090006090001060800010502090009010b636f696e5f68656c7065720a636f6d70617261746f7209747970655f696e666f06526573756c7407636f6d706172651469735f756e697175655f616e645f736f727465640854797065496e666f07747970655f6f660b7374727563745f6e616d650869735f657175616c0b6d6f64756c655f6e616d650f6163636f756e745f616464726573730f69735f736d616c6c65725f7468616e48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af000000000000000000000000000000000000000000000000000000000000000100000000032e38000c0338010c070e0311030c050e0711030c090e050e0938020c010e0111052004140b01020e0311060c040e0711060c080e040e0838020c000e0011052004240b00020e0311070c020e0711070c060e020e0638030201010000010538040c000e0011080200","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"coin_helper","friends":[],"exposed_functions":[{"name":"is_unique_and_sorted","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["bool"]}],"structs":[]}},{"bytecode":"0xa11ceb0b060000000f01001e021ebb0103d9018d0404e605960105fc06d60907d210f70f08c920a00106e921bf0210a824d0070af82bce020bc62e1a0ce02efc220ddc51380e94522e0fc25202000101020103010401050106010701080109000a000b000c020d030e040f0010060400010001000100010011000400010001000100010012060400010001000100010013080400010001000100010014060400010001000100010015080400010001000100010016060400010001000100010017040400010001000100010018070000190800001a0600001b0800001c00040001000100010001001d06040001000100010001021e04010001062a07000c3b0700034504010601024f05010001025105010001075e0402030100010276050100010894010700001f0001040000000000200201040000000000210304050000000000002205060500000000000023070804000000000024040904000000000025040a04000000000026040b040000000000270c0b040000000000280404000029040a00002b090d00002c040d0400000000002d040900002e08040400000000002f040904000000000030040b040000000000310d0e000032040a040000000000330100040000000000340f04040000000000350f040000360f04040000000000370f0404000000000038040a04000000000039061006000000000000003a111206000000000000003c04130400000000003d140404000000000b6f0417000270190901000e711d1e0002721f0401000973040901000374220401060275232401000977040a04000000000978040a01000b79042600067a270d00022828290100027b2a0401000c7c0413000c7d2b13000c7e2b1300017f2d2e01060580012d17000c81013213000c82011309000283013a240100098401043d00028501043d01000486013e09000929040a0007870104400203040c88013e1300078901430a020300078a014344020300028b01040d0100068c01450400068d01460900068e01470d000a8f01240401000c90011309000291014b0401000d92012d0a00099301090a00089501045101000996010413000e97015309000e9801530900089901040d0100079a015804020302079b01580402030012161e181e1a1e1b1e1c08162018201a201b201c2120222123201c1624161816251b251c0c162820292007162d2c2d212d2f2d302d31222c2d3320351e3531353118311a311b311c06163318331a331b331c363f3641384139413a183a1a3a1b3a1c3e183e1a3e1b3e1c2233383f393f1e204020222f223143354352253525524318431a431b431c3e350254035522304720483f4941040b0e0109000b0e0109010b0e0109020b0e010903010b0e010b0c04090009010902090306060c0b0e0109000b0e0109010b0e0109020b0e010903030305030b0e0109040003050303010b0e0109040403030303050b0e0109000b0e0109010b0e0109020b0e0109030b0104090009010902090301030101010a0301060b0504090009010902090301080f030a03030302060c03010b0e010905020b0e01090403020b0e0109040b0e01090501081002060b05040900090109020903010c0a030a0303030303030f030b0e010b0c040900090109020903070b050409000901090209030f040900090109020903010501090001060b0e01090001090101090201090302060a0303010f02070b0e0109000b0e010900010b0c040900090109020903010b0004090009010902090302070b1101090009000203060b12010900010b0e0109002e01030a030b12010b0c0409000901090209030b13010b0c0409000901090209030b0e010b0c040900090109020903081008100b070409000901090209030a030301030303050303070b11010b060409000901090209030101010b0e0109000b0e0109010b0e0109020b0e010903030303030b13010b0c0409000901090209030b15010b0c0409000901090209030308100b0e010b0c0409000901090209030b12010b0c040900090109020903081006080b0b050409000901090209030b13010b0c0409000901090209030b12010b0c0409000901090209030a030b0e010b0c040900090109020903050c0810010c010a0205060c080f080f0201030b130109000b150109000b12010900010b150109000208100810010b0604090009010902090301060c010b11010900010b04040900090109020903010b0d04090009010902090301080a02081003010b02040900090109020903040904090109020903010904040900090409020903040900090109040903040900090109020904070b0e0109040b0e0109040b0e010904070b05040904090109020903070b05040900090409020903070b05040900090109040903070b0504090009010902090402070b0e010900030c0101010c070b030409000901090209030b0e0109000b0e0109010b0e0109020b0e010903070b0504090009010902090305060c02020a03010202030302080f0808010b1402090009010203080f0106080902060b1402090009010900010609010207080f080f0106080f0306080f03031403030303030303030303030303070b03040900090109020903070b050409000901090209030303030305050a0303060808060809030c030303030308100b0e0109000b0e0109010b0e0109020b0e010903070b0504090009010902090303020b0e010900060b130109000301070b05040900090109020903030207080b0303070b030409000901090209030305030810070b05040900090109020903032001010303030303030a03030303030b0e01090503030101010101010101070b05040900090109020903070b0504090009010902090303050308160816060a030108160109050503030303060a0305090009010902090309040509000901090209030905250103030a030103030303030303030303030b0e01090503030101010101010101070b05040900090109020903070b05040900090109020903030303050308160816060a03030a03070809080f03070b1402090009010900090104696e69740b737461626c655f706f6f6c076163636f756e7404636f696e056576656e74066d6174683634067369676e657206737472696e67057461626c6509747970655f696e666f09626173655f706f6f6c0466656573077061636b6167650d66697865645f706f696e743634076d616e616765720b737461626c655f6d617468114164644c69717569646974794576656e7409466c6173686c6f616e0e466c6173686c6f616e4576656e740f466c6173686c6f616e48656c7065721452656d6f76654c69717569646974794576656e740a537461626c65506f6f6c17537461626c65506f6f6c4372656174696f6e4576656e7410537461626c65506f6f6c4576656e74730e537461626c65506f6f6c496e666f10537461626c65506f6f6c4c6f6f6b75701a537461626c65506f6f6c506172616d4368616e67654576656e7410537461626c65506f6f6c506172616d730f537461626c65506f6f6c546f6b656e09537761704576656e7404436f696e0d6164645f6c6971756964697479126372656174655f737461626c655f706f6f6c0f6465706f7369745f746f5f706f6f6c11657874726163745f66726f6d5f706f6f6c09666c6173686c6f616e11666c6173686c6f616e5f6665655f6270731c666c6173686c6f616e5f68656c7065725f696e697469616c697a6564196765745f707265636973696f6e5f6d756c7469706c69657273066765745f78700a696e697469616c697a650b696e697469616c697a656406537472696e670d6c705f6e616d655f62795f69640d6c705f73686f72745f6e616d650c6e6578745f706f6f6c5f69640d7061795f666c6173686c6f616e0f706f6f6c5f616d705f666163746f720d706f6f6c5f62616c616e63657309706f6f6c5f696e666f0b706f6f6c5f6c6f636b65641072656d6f76655f6c69717569646974790e7365745f616d705f666163746f721d7365745f64656661756c745f706f6f6c5f737761705f6665655f627073157365745f666c6173686c6f616e5f6665655f627073157365745f706f6f6c5f737761705f6665655f62707312737461626c655f706f6f6c5f6578697374730d737761705f65786163745f696e0e737761705f65786163745f6f75740c4669786564506f696e7436340e737761705f6665655f726174696f127570646174655f706f6f6c5f6c6f6f6b757008616d6f756e745f3008616d6f756e745f3108616d6f756e745f3208616d6f756e745f33156d696e7465645f6c705f636f696e5f616d6f756e74066c6f636b656410666c6173686c6f616e5f6576656e74730b4576656e7448616e646c65156275726e65645f6c705f636f696e5f616d6f756e740761737365745f300761737365745f310761737365745f320761737365745f330a616d705f666163746f7215707265636973696f6e5f6d756c7469706c696572731e696e76657273655f6e6567617465645f737761705f6665655f726174696f13706f6f6c5f746f6b656e5f6d696e745f6361700e4d696e744361706162696c69747913706f6f6c5f746f6b656e5f6275726e5f6361700e4275726e4361706162696c6974791072657365727665645f6c705f636f696e066576656e74730763726561746f720c737761705f6665655f62707314706f6f6c5f6372656174696f6e5f6576656e7473146164645f6c69717569646974795f6576656e74731772656d6f76655f6c69717569646974795f6576656e74730b737761705f6576656e747313706172616d5f6368616e67655f6576656e74730862616c616e6365730e6c705f636f696e5f737570706c790c6e616d655f746f5f706f6f6c055461626c650a69645f746f5f6e616d65076e6578745f6964046e616d650a707265765f76616c7565096e65775f76616c75651664656661756c745f737761705f6665655f726174696f0b64756d6d795f6669656c64066964785f696e076964785f6f757409616d6f756e745f696e0a616d6f756e745f6f75740a6665655f616d6f756e740e706f6f6c5f62616c616e63655f300e706f6f6c5f62616c616e63655f310e706f6f6c5f62616c616e63655f320e706f6f6c5f62616c616e63655f33187265736f757263655f6163636f756e745f616464726573730576616c756511636f6d707574655f696e76617269616e74056d6572676511706f6f6c5f746f6b656e5f737570706c790a656d69745f6576656e74046d696e7410467265657a654361706162696c6974791476616c69646174655f706f6f6c5f6173736574730769735f6e756c6c177265736f757263655f6163636f756e745f7369676e657204757466381264657374726f795f667265657a655f636170036f6e65067375625f6670066469765f6670106e65775f6576656e745f68616e646c650a616464726573735f6f66036d756c066465636f64650765787472616374166d61785f737570706f727465645f646563696d616c7308646563696d616c7303706f77036e6577086672616374696f6e08636f6e7461696e7306626f72726f770673796d626f6c06617070656e64066c656e6774680a7375625f737472696e670a6162736f72625f666565116465636f64655f726f756e645f646f776e046275726e0d69735f617574686f72697a65641176616c69646174655f737761705f6665650854797065496e666f07747970655f6f6622737761705f6665655f70726f746f636f6c5f616c6c6f636174696f6e5f726174696f1163616c635f6f75745f676976656e5f696e1163616c635f696e5f676976656e5f6f757409747970655f6e616d65067570736572740361646448271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af00000000000000000000000000000000000000000000000000000000000000014dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee993aa044a65a27bd89b163f8b3be3777b160b09a25c336643dcc2878dfd8f2a8dfb6e709add23c710c40e4844d889938f703719f72d2d4439ee682d67f07a15c5030810270000000000000308010000000000000003080a000000000000000308f40100000000000003082c01000000000000030803000000000000000308920100000000000003089101000000000000030894010000000000000308930100000000000003089001000000000000030807000000000000000308080000000000000003080500000000000000030864000000000000000308c80000000000000003080600000000000000030809000000000000000308040000000000000003080000000000000000030802000000000000000201080a0209085448414c412d4c500a02040353503a0a0202012d0a0204032e2e2e0a020b0a616d705f666163746f720a02151464656661756c745f737761705f6665655f6270730a021211666c6173686c6f616e5f6665655f6270730a020d0c737761705f6665655f627073126170746f733a3a6d657461646174615f7631bb07130000000000000000104552525f554e415554484f52495a45440b4572726f7220636f64657301000000000000000f4552525f494e495449414c495a4544000200000000000000114552525f554e494e495449414c495a4544000300000000000000164552525f535441424c455f504f4f4c5f4558495354530004000000000000001a4552525f535441424c455f504f4f4c5f4e4f545f455849535453000500000000000000234552525f535441424c455f504f4f4c5f494e56414c49445f504f4f4c5f415353455453000600000000000000284552525f535441424c455f504f4f4c5f494e56415249414e545f4e4f545f494e4352454153494e47000700000000000000224552525f535441424c455f504f4f4c5f494e53554646494349454e545f494e505554000800000000000000264552525f535441424c455f504f4f4c5f494e53554646494349454e545f4c4951554944495459000900000000000000164552525f535441424c455f504f4f4c5f4c4f434b4544002c01000000000000274552525f535441424c455f504f4f4c5f414d505f464143544f525f4f55545f4f465f424f554e440064000000000000001c4552525f535441424c455f504f4f4c5f494e56414c49445f53574150009001000000000000274552525f535441424c455f504f4f4c5f464c4153484c4f414e5f554e494e495449414c495a4544009101000000000000284552525f535441424c455f504f4f4c5f464c4153484c4f414e5f494e56414c49445f414d4f554e540092010000000000002c4552525f535441424c455f504f4f4c5f464c4153484c4f414e5f494e53554646494349454e545f5245504159009301000000000000254552525f535441424c455f504f4f4c5f464c4153484c4f414e5f4e4f545f4f4e474f494e47009401000000000000254552525f535441424c455f504f4f4c5f464c4153484c4f414e5f494e56414c49445f46454500c800000000000000204552525f535441424c455f504f4f4c5f494e56414c49445f535741505f46454500f401000000000000124552525f4449564944455f42595f5a45524f00000909706f6f6c5f696e666f0101000c6e6578745f706f6f6c5f69640101000d6c705f6e616d655f62795f69640101000d706f6f6c5f62616c616e6365730101000e737761705f6665655f726174696f0101000f706f6f6c5f616d705f666163746f7201010011666c6173686c6f616e5f6665655f62707301010012737461626c655f706f6f6c5f657869737473010100196765745f707265636973696f6e5f6d756c7469706c696572730101000002053e033f034003410342030102043e033f03400341030202043e033f034003410303020343012403440b11010b020409000901090209030402053e033f0340034103460305020c470b0e010900480b0e010901490b0e0109024a0b0e0109034b034c0a033c08104d08104e0b12010b0c040900090109020903500b13010b0c040900090109020903520b0e010b0c040900090109020903530b0704090009010902090306020754053e033f034003410342035503070205560b11010b06040900090109020903570b11010b00040900090109020903580b11010b04040900090109020903590b11010b0d0409000901090209035a0b1101080a0802045b0a034c0a034b035c030902035d0b1402080f08085f0b140203080f60030a020361080f620363030b02026408105a0b1101080a0c020165010d020a66036703680369036a036b036c036d036e034b030516001607160616031605340536053705380116021604160d16000100030305091566110a040305050714273800200409050b071127111d3c000c0e0a0e3700140c0a0e0038010c060e0138020c070e0238030c080e0338040c090a0e2e38050c040e040a0a111f0c0f0a0e36010b0038060a0e36020b0138070a0e36030b0238080a0e36040b0338090a0e2e38050c050e050b0a111f0c0b0a0b0a0f24044305470b0e01071027380a4d0b0b0a0f17180b0f1a340c0c0a0e360536060b060b070b080b090a0c3901380b0b0c0a0e3707380c0c0d0b0e2e09380d0b0d0201010002090b25a602110a040305070b0001071427380e040a050e0b0001070d27380f20041205160b00010705270a0506000000000000000024041f0a050700250c060521090c060b06042405280b00010704270e0138010c200e0238020c210e0338030c220e0438040c230a2006000000000000000024043d0a21060000000000000000240c11053f090c110b11044205460b0001070d273810045b0a220600000000000000002104510a23060000000000000000210c190553090c190b190456055a0b0001070d27058201381104700a220600000000000000002404660a23060000000000000000210c1a0568090c1a0b1a046b056f0b0001070d270582010a220600000000000000002404790a23060000000000000000240c1b057b090c1b0b1b047e0582010b0001070d27111d0c3111260c320b312b0b0c2b0e3238120716112707150838130c290c250c240b2538140b240b290c2e0c2d0a2b1008140c33112a0c2a0a2a0b2a0a33112b112c0c2738150c2f070e0e2e380c0c300b010c1c0b020c1d0b030c1e0b040c1f0a050c070b2f0c080b2e0c090b2d0c0a0b300c0b0b330c0c0b270c0d0e3238160e3238170e3238180e3238190e32381a39020c0e0b1c0b1d0b1e0b1f0b070b080b0c0b0d0b090b0a0b0b0b0e39000c2c0e2c38050c0f0e0f0b05111f340c260a26070e2404e80105ee010b2b010b0001070c270d2c360536080c180b200c100b210c120b220c130b230c140b00112e0c150a260c160b2b1008140700112f11300c170b180b150b100b120b130b140b160b173903381b0b26070e170e2c3707380c0c280e2c08380d0e320b2c3f000e320907010e32381c39043f040b2802020000010504240a0106000000000000000021040a0b003c0536090b02381d05230a010601000000000000002104140b003c06360a0b02381d05230b0106020000000000000021041e0b003c07360b0b02381d05230b003c08360c0b02381d02030000010539610a010600000000000000002104180b003c050c060a020a063709381e23040e05120b0601070c270b0636090b02381f0c05055f0a010601000000000000002104300b003c060c070a020a07370a381e230426052a0b0701070c270b07360a0b02381f0c04055d0b010602000000000000002104480b003c070c080a020a08370b381e23043e05420b0801070c270b08360b0b02381f0c03055b0b003c080c090a020a09370c381e23045205560b0901070c270b09360c0b02381f0c030b030c040b040c050b05020401000203053b9101110a040305050714273800200409050b0711270a00060000000000000000240412080c0405160a01060000000000000000240c040b04041b080c05051f0a02060000000000000000240c050b050424080c0605280a03060000000000000000240c060b06042b052d070727111d0c0e0a0e3c000c0d0a000a0d37013801250439053d0b0d010707270a010a0d3702380225044405480b0d010707270a020a0d3703380325044f05530b0d010707270a030a0d3704380425045a055e0b0d010707270a0d36010a0038200c090a0d36020a0138210c0a0a0d36030a0238220c0b0b0d36040a0338230c0c3824047c0b0e3c040c08080b08360d1505870111260c070e070c0f0a0f0807010b0f381c39043f040b090b0a0b0b0b0c0b000b010b020b033909020501000103040a382404030505070a27111d3d04370e1402060000000403111d3b0402070100003c2c400900000000000000000c0111320c000d01060a000000000000000a0038251734113444090d01060a000000000000000a003826173411344409381020041f0d01060a000000000000000a003827173411344409381120042a0d01060a000000000000000b0038281734113444090b0102080000000b39400900000000000000000c010d010a00370138010a00370f0600000000000000004209141844090d010a00370238020a00370f06010000000000000042091418440938102004260d010a00370338030a00370f06020000000000000042091418440938112004350d010a00370438040b00370f06030000000000000042091418440905370b00010b010209030000261c110a200404050607012711350409050b07142711260c000e003829382a06000000000000000012092d090e000702070011370e00381a120b2d0b020a0100000403111d290b020b010001094213111d2b090c010a01100d0a00382b0409050d0b01010712270b01100d0b00382c14020c0000000d31071711270c000d00382d113b0d0007181127113b0d00382e113b38102004210d0007181127113b0d00382f113b38112004210d0007181127113b0d003830113b0e00113c06200000000000000024042f0e00060000000000000000061d00000000000000113d0c000d0007191127113b0b00020d010001090405111d2b09100e14020e010002030548c101110a0403050507142738000408050a070927111d0c180a183c040c120b043a090c080c070c060c050e0038010c140e0138020c150e0238030c160e0338040c170a12370e140c110a050600000000000000002404440a050a110c09350b0935180700351a340c0d0b140a050a0d1626043c05400b12010706270d000b0d382038310a060600000000000000002404630a060a110c0a350b0a35180700351a340c0e0b150a060a0e1626045b055f0b12010706270d010b0e382138320a07060000000000000000240482010a070a110c0b350b0b35180700351a340c0f0b160a070a0f1626047a057e0b12010706270d020b0f382238330a080600000000000000002404a1010a080b110c0c350b0c35180700351a340c100b170a080a101626049901059d010b12010706270d030b10382338340b183c000c130a1336010b0038060a1336020b0138070a1336030b0238080b1336040b033809090a12360d150b1236100b050b060b070b08390a3835020f010001050405111d3d003700140210010001050404111d3d0038050211010001094939111d2b090c040a0410100a0038360409050d0b04010712270b0410100b0038370c03400900000000000000000c010a03101141090c050600000000000000000c020a020a05230431051f0d010a0310110a024209140a0310120a024209141844090b02060100000000000000160c02051a0b010a031013140b03101414021200000103040a38242004050902111d3d04370d1402130100030305094a5e110a040305050714273800200409050b071127111d3c000c0b0e0038380c05380a0c0c0a050b0c11370c060a060a0b37013801112f113f0c010a060a0b37023802112f113f0c020a060a0b37033803112f113f0c030b060a0b37043804112f113f0c040a0b36010a0138200c070a0b36020a0238210c080a0b36030a0338220c090a0b36040a0438230c0a0b000a0b371138390a0b360536120b010b020b030b040b05390b383a0b0b2e09380d0b070b080b090b0a021401040205094c340b00114104040506071327110a0409050b0714270a010600000000000000002404140a010700250c020516090c020b020419051b070427111d3c000c030a033700140c040a010a033600150a0336053613071a11270b040b01120a383b0b032e09380d02150104010b4d2a0b00114104040506071327110a0409050b0701270a011142040f0511070f27111d2a0b0c020a021008140700112f11300c030a01070011370a020f08150b020f18071b11270b030b01120a383b0216010402030b4e290b0011410404050607132738240409050b070a270a0107002304100512070827111d0c040a043c040c020a02370e140c030a010b02360e150b042a0b0f18071c11270b030b01120a383b0217010401054f370b00114104040506071327110a0409050b0714270a011142040f0511070f27111d3c000c030a033714140700112f11300c040a01070011370a03361415112a0c020a020b020a03371414112b112c0a033615150b0336053613071d11270b040b01120a383b02180100000403111d3b00021901000303050950fb01110a040305050714273800200409050b0711270e00381e0c0a0a0a0600000000000000002404130515070b27111d0c1c0a1c3c000c19383c0c1e383d0c1f0a1e0a1f220426383e200c010528090c010b01042e383f200c020530090c020b02043305370b1901070e270a1e3840210a1e3841210a1e3842210b1e3843210c140c130c120c110a110a121e0a131e0b141e045005540b1901070e270a1f3840210a1f3841210a1f3842210b1f3843210c180c170c160c150a150a161e0a171e0b181e046d05710b1901070e270a193714140a0a112f11300c1d11440a1d112f11300c1b0a0a0a1d170c0b0d000b1b381f38440b11048a010600000000000000000c05059a010b12048f010601000000000000000c040598010b130494010602000000000000000c030596010603000000000000000c030b030c040b040c050b050c0f0b1504a1010600000000000000000c0805b1010b1604a6010601000000000000000c0705af010b1704ab010602000000000000000c0605ad010603000000000000000c060b060c070b070c080b080c100a192e38050c090e090c200b0b0a19370f0a0f420914180c0d0a193700140a0f0a100b0d0b2011450b19370f0a104209141a0c0c0a1c0a0f0b0038450a1c0a100a0c38460c0e0b1c3c000c1a0a1a360536160b0f0b100b0a0b0c0b1d0a1a370138010a1a370238020a1a370338030a1a370438040a1a370014390c38470b1a2e09380d0b0e021a01000303050956af02110a040305050714273800200409050b0711270e00381e0c210a010600000000000000002404130515070e270a2106000000000000000024041a051c070e27111d0c220a223c000c1d383c0c24383d0c250a240a2522042d383e200c02052f090c020b020435383f200c060537090c060b06043a053e0b1d01070e270a243840210a243841210a243842210b243843210c180c170c160c150a150a161e0a171e0b181e0457055b0b1d01070e270a253840210a253841210a253842210b253843210c1c0c1b0c1a0c190a190a1a1e0a1b1e0b1c1e047405780b1d01070e270b15047d0600000000000000000c09058d010b160482010601000000000000000c08058b010b170487010602000000000000000c070589010603000000000000000c070b070c080b080c090b090c130b190498010600000000000000000a1d370138010c040c0305b8010b1a04a1010601000000000000000a1d370238020c0d0c0c05b4010b1b04aa010602000000000000000a1d370338030c0b0c0a05b0010603000000000000000a1d370438040c0b0c0a0b0a0b0b0c0d0c0c0b0c0b0d0c040c030b030b040c1f0c140a010b1f2304c10105c5010b1d01070c270a1d2e38050c050e050c260a010a1d370f0a14420914180c110a1d3700140a130a140b110b2611460a1d370f0a134209141a0c0f0b1d3715140a0f112f11300c0e0a0e0b212504ee0105f001070b270a0e0b0f170c2311440a23112f11300c200a0e0a20170c100d000b20381f38440a220a130d000b10381f38450a220a140a0138460c120b223c000c1e0a1e360536160b130b140b0e0b010b230a1e370138010a1e370238020a1e370338030a1e370438040a1e370014390c38470b1e2e09380d0b000b12021b010001050405111d3d00371414021c000001095743400900000000000000000c020d020a003701380144090d020a0037023802440938102004140d020a00370338034409381120041c0d020a00370438044409111d2a090c0338480c040a030f100a040b020a00370f140b00370014380a120838490b0104400a030f0d0a03100e140b04384a0a03100e14060100000000000000160b030f0e1505420b03010205040500050105020503050b070105080b000700030003010505090109020302090008000801080208030509070207040b0105060507070300160116021603160416051606160716091601340236033704380a160b160c160f1615161616171619161a161b16000000","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"stable_pool","friends":["0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::init"],"exposed_functions":[{"name":"add_liquidity","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin"],"return":["0x1::coin::Coin<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolToken>"]},{"name":"create_stable_pool","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","u64"],"return":["0x1::coin::Coin<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolToken>"]},{"name":"flashloan","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["u64","u64","u64","u64"],"return":["0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::Flashloan"]},{"name":"flashloan_fee_bps","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"get_precision_multipliers","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["vector"]},{"name":"initialize","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":[]},{"name":"initialized","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["bool"]},{"name":"lp_name_by_id","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":["u64"],"return":["0x1::string::String"]},{"name":"next_pool_id","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":[],"return":["u64"]},{"name":"pay_flashloan","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::Flashloan"],"return":[]},{"name":"pool_amp_factor","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"pool_balances","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["vector"]},{"name":"pool_info","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":["0x1::string::String"],"return":["vector","u64","u64"]},{"name":"remove_liquidity","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolToken>"],"return":["0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin"]},{"name":"set_amp_factor","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"set_default_pool_swap_fee_bps","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer","u64"],"return":[]},{"name":"set_flashloan_fee_bps","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"set_pool_swap_fee_bps","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"stable_pool_exists","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["bool"]},{"name":"swap_exact_in","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin"],"return":["0x1::coin::Coin"]},{"name":"swap_exact_out","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin","u64"],"return":["0x1::coin::Coin","0x1::coin::Coin"]},{"name":"swap_fee_ratio","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"]}],"structs":[{"name":"AddLiquidityEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"},{"name":"minted_lp_coin_amount","type":"u64"}]},{"name":"Flashloan","is_native":false,"abilities":[],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"}]},{"name":"FlashloanEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"}]},{"name":"FlashloanHelper","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"locked","type":"bool"},{"name":"flashloan_fee_bps","type":"u64"},{"name":"flashloan_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::FlashloanEvent>"}]},{"name":"RemoveLiquidityEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"},{"name":"burned_lp_coin_amount","type":"u64"}]},{"name":"StablePool","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"asset_0","type":"0x1::coin::Coin"},{"name":"asset_1","type":"0x1::coin::Coin"},{"name":"asset_2","type":"0x1::coin::Coin"},{"name":"asset_3","type":"0x1::coin::Coin"},{"name":"amp_factor","type":"u64"},{"name":"precision_multipliers","type":"vector"},{"name":"swap_fee_ratio","type":"0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"},{"name":"inverse_negated_swap_fee_ratio","type":"0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"},{"name":"pool_token_mint_cap","type":"0x1::coin::MintCapability<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolToken>"},{"name":"pool_token_burn_cap","type":"0x1::coin::BurnCapability<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolToken>"},{"name":"reserved_lp_coin","type":"0x1::coin::Coin<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolToken>"},{"name":"events","type":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolEvents"}]},{"name":"StablePoolCreationEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"creator","type":"address"},{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"},{"name":"minted_lp_coin_amount","type":"u64"},{"name":"swap_fee_bps","type":"u64"}]},{"name":"StablePoolEvents","is_native":false,"abilities":["store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"pool_creation_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolCreationEvent>"},{"name":"add_liquidity_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::AddLiquidityEvent>"},{"name":"remove_liquidity_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::RemoveLiquidityEvent>"},{"name":"swap_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::SwapEvent>"},{"name":"param_change_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolParamChangeEvent>"}]},{"name":"StablePoolInfo","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[],"fields":[{"name":"balances","type":"vector"},{"name":"precision_multipliers","type":"vector"},{"name":"amp_factor","type":"u64"},{"name":"lp_coin_supply","type":"u64"}]},{"name":"StablePoolLookup","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"name_to_pool","type":"0x1::table::Table<0x1::string::String, 0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolInfo>"},{"name":"id_to_name","type":"0x1::table::Table"},{"name":"next_id","type":"u64"}]},{"name":"StablePoolParamChangeEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"name","type":"0x1::string::String"},{"name":"prev_value","type":"u64"},{"name":"new_value","type":"u64"}]},{"name":"StablePoolParams","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"default_swap_fee_ratio","type":"0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"},{"name":"param_change_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::stable_pool::StablePoolParamChangeEvent>"}]},{"name":"StablePoolToken","is_native":false,"abilities":[],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"SwapEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"idx_in","type":"u64"},{"name":"idx_out","type":"u64"},{"name":"amount_in","type":"u64"},{"name":"amount_out","type":"u64"},{"name":"fee_amount","type":"u64"},{"name":"pool_balance_0","type":"u64"},{"name":"pool_balance_1","type":"u64"},{"name":"pool_balance_2","type":"u64"},{"name":"pool_balance_3","type":"u64"},{"name":"amp_factor","type":"u64"}]}]}},{"bytecode":"0xa11ceb0b0600000008010008020806030e23043108053924075d6f08cc01400c8c023200000101010200030108040100010004000101000205030400010604060100010703010100030907080100010a09010100020503050405050503060c05030002010501060c0105010900010102060c03010b0001090002050b000109000c666565735f7363726970747304636f696e067369676e657204666565730c7472616e736665725f6665650a616464726573735f6f661569735f6163636f756e745f7265676973746572656408726567697374657204436f696e0c77697468647261775f666565076465706f73697448271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af00000000000000000000000000000000000000000000000000000000000000010001040002180a0011010c040a040a0121040c0b043800200c03050e090c030b0304120a0038010b010b000b02380238030200","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"fees_scripts","friends":[],"exposed_functions":[{"name":"transfer_fee","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer","address","u64"],"return":[]}],"structs":[]}},{"bytecode":"0xa11ceb0b060000000f01001e021edd0203fb02ea0404e507c80105ad09f20d079f17a61208c529a00106e52aac0210912db6070ac734f8030bbf381a0cd938e2280dbb61320eed612a0f976202000101020103010401050106010701080109000a000b000c020d030e040f00100608000100010001000100010001000100010011000800010001000100010001000100010001001206080001000100010001000100010001000100130808000100010001000100010001000100010014060800010001000100010001000100010001001506080001000100010001000100010001000100160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f00000020000000210000002200000023000000240000002500000026000000270000002800000029080800010001000100010001000100010001002a060800010001000100010001000100010001002b040800010001000100010001000100010001002c0700002d0800002e0600002f08000030000800010001000100010001000100010001023104010001053c07000c4b0700035704010601026d05010001026f05010001067d040203010001028c0105010001079b010700099d010000003200010800000000000000000033020308000000000000000000340405090000000000000000000035060709000000000000000000003608090800000000000000000037050a0800000000000000000038050b0800000000000000000039050a0100003a050500003b050b00003d0a0c00003e050c080000000000000000003f050a000040090508000000000000000000410d0e0800000000000000000042050f08000000000000000000430c10000044050b0800000000000000000045030008000000000000000000461105000047110508000000000000000000481105080000000000000000004907120a00000000000000000000004a13140a00000000000000000000004c0515080000000000000000004d0a0c00004e0b05080000000000000000004f050b0800000000000000000b84010518000285011a0a0100098601050a01000e87011f20000288012122010002890123050100038a0125050106028b0126220100098d01050b0400000000098e01050b01000b8f01052d000c90010515000c91012e15000c92012e15000e93012f15000c9401150a00059501300c00023a3132010002960133050100019701353601060498013518000c99013a15000c9a01150a00079c0105440100093b050b00069e01055a0203040c9f015c150006a0015e0b02030006a1015e5f02030002a201050c010005a30160050005a401610a0005a501620c000aa601220501000ea701670a0002a8010522010002a901680501000daa01350b0009ab010a0b0009ac010515000ead016e0a000eae016e0a000caf01150a0008b0017305010007b101050c010006b201750502030206b301750502030011171d191d1b1d1c1d1d0e171e1e2019201b201c201d2119211b211c211d2224231e1a1724281b170729072a072b072c251c251d0b172d1e2e1e2f342f242f372f382f3922342f3b213d1d3d203d0617331933453346334733483349334a334b334c334d334e334f3350335133523353335433553356335733583559355b375b385b3919391b391c391d3d193d1b3d1c3d1d223b252b252c375938591d1e3f1c3f1d401e223722390f17333d336d253d256d331b331c331d3d3d026f037022384772481e49594a5b040b210109000b210109010b210109020b21010903050b21010b2008090009010902090309040905090609070b210109000b210109010b210109020b2101090305060c0b210109000b210109010b210109020b21010903010b21010b2008090009010902090309040905090609070305030b210109080003050303010b210109080403030303050b210109000b210109010b210109020b210109030b0108090009010902090309040905090609070103010101082201060b190809000901090209030904090509060907010a03020a030a03030a030a030302060c03010b21010909020b2101090803020b210109080b21010909010823140103070b2101090203070b21010903030303030a030a03030b21010b20080900090109020903090409050906090703070b1908090009010902090309040905090609070b210109000b210109010b210109020b210109030a030809000901090209030904090509060907010501090001060b21010900010901010902010903010b20080900090109020903090409050906090703060a03060a030302030a0302070b2101090003010b2101090002070b210109000b21010900010b00080900090109020903090409050906090702070b2401090009000203060b250109002d010b210109010b210109020b21010903030303030b21010b20080900090109020903090409050906090708230823010b25010b2008090009010902090309040905090609070b26010b2008090009010902090309040905090609070b1b08090009010902090309040905090609070101010101010b21010900030303030a030b26010b2008090009010902090309040905090609070b28010b2008090009010902090309040905090609070308230b21010b2008090009010902090309040905090609070b25010b20080900090109020903090409050906090708230b1908090009010902090309040905090609070b26010b2008090009010902090309040905090609070b25010b2008090009010902090309040905090609070b21010b2008090009010902090309040905090609070c0823030303030a03040900090109020903010904010905010906010907010c020823082302060a03060a03010a0205060c082208220201030b260109000b280109000b25010900010b28010900010b1a080900090109020903090409050906090701060c010b24010900010b040809000901090209030904090509060907010b05080900090109020903090409050906090701081e02082303010b0208090009010902090309040905090609070809080901090209030904090509060907010908080900090809020903090409050906090708090009010908090309040905090609070809000901090209080904090509060907070b210109080b210109080b21010908070b190809080901090209030904090509060907070b190809000908090209030904090509060907070b190809000901090809030904090509060907070b1908090009010902090809040905090609070c0101010c070b0308090009010902090309040905090609070b210109000b210109010b210109020b21010903070b19080900090109020903090409050906090705060c1403030303030303030303030303030303030303082901082901082a01080e01080601080701080801080901080a01080b01080c01080d01080f010810010811010812010813010814010815010816010817010818020822081c010b270209000901020308220203030106081d02060b270209000901090001060901020708220822010608220306082203031403030303030303030303030303070b030809000901090209030904090509060907070b190809000901090209030904090509060907030303030502060b1908090009010902090309040905090609070a0302081c06081d0f03030b210109020b21010903030303030b210109000b210109010b210109020b210109030303070b19080900090109020903090409050906090703030303020b21010900060b260109000207081f0303070b0308090009010902090309040905090609070305030823070b190809000901090209030904090509060907031f01010303030303030303030b2101090903030101010101010101060b190809000901090209030904090509060907070b1908090009010902090309040905090609070a03030503082908290a0301090905030303060a03060a0309090009010902090309040905090609070908090900090109020903090409050906090709092001010303030303030303030b2101090903030101010101010101060b190809000901090209030904090509060907070b1908090009010902090309040905090609070a0303030503082908290a03010201070a0900040a0307081d08220a0303070b2702090009010900090104696e69740d77656967687465645f706f6f6c076163636f756e7404636f696e056576656e74067369676e657206737472696e67057461626c6509747970655f696e666f06766563746f7209626173655f706f6f6c0466656573077061636b6167650d66697865645f706f696e743634076d616e616765720d77656967687465645f6d617468114164644c69717569646974794576656e7409466c6173686c6f616e0e466c6173686c6f616e4576656e740f466c6173686c6f616e48656c7065721452656d6f76654c69717569646974794576656e7409537761704576656e74095765696768745f3130095765696768745f3135095765696768745f3230095765696768745f3235095765696768745f3330095765696768745f3335095765696768745f3430095765696768745f3435085765696768745f35095765696768745f3530095765696768745f3535095765696768745f3630095765696768745f3635095765696768745f3730095765696768745f3735095765696768745f3830095765696768745f3835095765696768745f3930095765696768745f39350c5765696768746564506f6f6c195765696768746564506f6f6c4372656174696f6e4576656e74125765696768746564506f6f6c4576656e7473105765696768746564506f6f6c496e666f125765696768746564506f6f6c4c6f6f6b75701c5765696768746564506f6f6c506172616d4368616e67654576656e74125765696768746564506f6f6c506172616d73115765696768746564506f6f6c546f6b656e04436f696e0d6164645f6c6971756964697479146372656174655f77656967687465645f706f6f6c0f6465706f7369745f746f5f706f6f6c11657874726163745f66726f6d5f706f6f6c09666c6173686c6f616e11666c6173686c6f616e5f6665655f6270731c666c6173686c6f616e5f68656c7065725f696e697469616c697a65640a6765745f7765696768740a696e697469616c697a650b696e697469616c697a656406537472696e670d6c705f6e616d655f62795f69640d6c705f73686f72745f6e616d650c6e6578745f706f6f6c5f69640d7061795f666c6173686c6f616e0d706f6f6c5f62616c616e63657319706f6f6c5f62616c616e6365735f616e645f7765696768747309706f6f6c5f696e666f0b706f6f6c5f6c6f636b65641072656d6f76655f6c69717569646974791d7365745f64656661756c745f706f6f6c5f737761705f6665655f627073157365745f666c6173686c6f616e5f6665655f627073157365745f706f6f6c5f737761705f6665655f6270730d737761705f65786163745f696e0e737761705f65786163745f6f75740c4669786564506f696e7436340e737761705f6665655f726174696f0d7536345f746f5f737472696e67127570646174655f706f6f6c5f6c6f6f6b75701477656967687465645f706f6f6c5f65786973747308616d6f756e745f3008616d6f756e745f3108616d6f756e745f3208616d6f756e745f33156d696e7465645f6c705f636f696e5f616d6f756e74066c6f636b656410666c6173686c6f616e5f6576656e74730b4576656e7448616e646c65156275726e65645f6c705f636f696e5f616d6f756e74066964785f696e076964785f6f757409616d6f756e745f696e0a616d6f756e745f6f75740a6665655f616d6f756e740e706f6f6c5f62616c616e63655f300e706f6f6c5f62616c616e63655f310e706f6f6c5f62616c616e63655f320e706f6f6c5f62616c616e63655f330b64756d6d795f6669656c640761737365745f300761737365745f310761737365745f320761737365745f33087765696768745f30087765696768745f31087765696768745f32087765696768745f331e696e76657273655f6e6567617465645f737761705f6665655f726174696f13706f6f6c5f746f6b656e5f6d696e745f6361700e4d696e744361706162696c69747913706f6f6c5f746f6b656e5f6275726e5f6361700e4275726e4361706162696c6974791072657365727665645f6c705f636f696e066576656e74730763726561746f720c737761705f6665655f62707314706f6f6c5f6372656174696f6e5f6576656e7473146164645f6c69717569646974795f6576656e74731772656d6f76655f6c69717569646974795f6576656e74730b737761705f6576656e747313706172616d5f6368616e67655f6576656e74730862616c616e63657307776569676874730e6c705f636f696e5f737570706c790c6e616d655f746f5f706f6f6c055461626c650a69645f746f5f6e616d65076e6578745f6964046e616d650a707265765f76616c7565096e65775f76616c75651664656661756c745f737761705f6665655f726174696f187265736f757263655f6163636f756e745f616464726573730576616c756511706f6f6c5f746f6b656e5f737570706c791a636f6d707574655f706f6f6c5f746f6b656e735f6973737565640765787472616374056d657267650a656d69745f6576656e74046d696e7410467265657a654361706162696c6974791476616c69646174655f706f6f6c5f6173736574730769735f6e756c6c177265736f757263655f6163636f756e745f7369676e6572036f6e65067375625f6670066469765f66701d636f6d707574655f696e76617269616e745f776569676874735f753634116465636f64655f726f756e645f646f776e04757466381264657374726f795f667265657a655f636170106e65775f6576656e745f68616e646c650a616464726573735f6f66036d756c066465636f64650854797065496e666f07747970655f6f66044e756c6c036e6577086672616374696f6e08636f6e7461696e7306626f72726f770673796d626f6c06617070656e64066c656e6774680a7375625f737472696e670a6162736f72625f6665651e636f6d707574655f61737365745f616d6f756e745f746f5f72657475726e047a65726f046275726e0d69735f617574686f72697a65641176616c69646174655f737761705f66656522737761705f6665655f70726f746f636f6c5f616c6c6f636174696f6e5f726174696f1d63616c635f6f75745f676976656e5f696e5f776569676874735f7536341d63616c635f696e5f676976656e5f6f75745f776569676874735f7536340f6465636f64655f726f756e645f7570077265766572736509747970655f6e616d65067570736572740361646448271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af00000000000000000000000000000000000000000000000000000000000000014dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee993aa044a65a27bd89b163f8b3be3777b160b09a25c336643dcc2878dfd8f2a8dfb6e709add23c710c40e4844d889938f703719f72d2d4439ee682d67f07a15c5030810270000000000000308010000000000000003081e0000000000000003080000000000000000030802000000000000000308030000000000000003082e0100000000000003082d010000000000000308300100000000000003082f0100000000000003082c010000000000000308650000000000000003080800000000000000030805000000000000000308070000000000000003080600000000000000030864000000000000000308c80000000000000003080900000000000000030804000000000000000201080a0209085448414c412d4c500a02040357503a0a0202012d0a0204032e2e2e0a02151464656661756c745f737761705f6665655f6270730a021211666c6173686c6f616e5f6665655f6270730a020d0c737761705f6665655f6270730a02020130126170746f733a3a6d657461646174615f7631a107120000000000000000104552525f554e415554484f52495a45440b4572726f7220636f64657301000000000000000f4552525f494e495449414c495a4544000200000000000000114552525f554e494e495449414c495a4544000300000000000000184552525f57454947485445445f504f4f4c5f4558495354530004000000000000001c4552525f57454947485445445f504f4f4c5f4e4f545f455849535453000500000000000000254552525f57454947485445445f504f4f4c5f494e56414c49445f504f4f4c5f415353455453000600000000000000264552525f57454947485445445f504f4f4c5f494e56414c49445f504f4f4c5f57454947485453000700000000000000254552525f57454947485445445f504f4f4c5f494e56414c49445f504f4f4c5f574549474854000800000000000000284552525f57454947485445445f504f4f4c5f494e53554646494349454e545f4c4951554944495459000900000000000000184552525f57454947485445445f504f4f4c5f4c4f434b4544002c01000000000000294552525f57454947485445445f504f4f4c5f464c4153484c4f414e5f554e494e495449414c495a4544002d010000000000002a4552525f57454947485445445f504f4f4c5f464c4153484c4f414e5f494e56414c49445f414d4f554e54002e010000000000002e4552525f57454947485445445f504f4f4c5f464c4153484c4f414e5f494e53554646494349454e545f5245504159002f01000000000000274552525f57454947485445445f504f4f4c5f464c4153484c4f414e5f4e4f545f4f4e474f494e47003001000000000000274552525f57454947485445445f504f4f4c5f464c4153484c4f414e5f494e56414c49445f4645450064000000000000001e4552525f57454947485445445f504f4f4c5f494e56414c49445f53574150006500000000000000244552525f57454947485445445f504f4f4c5f494e53554646494349454e545f494e50555400c800000000000000224552525f57454947485445445f504f4f4c5f494e56414c49445f535741505f46454500000809706f6f6c5f696e666f0101000a6765745f7765696768740101000c6e6578745f706f6f6c5f69640101000d6c705f6e616d655f62795f69640101000e737761705f6665655f726174696f01010011666c6173686c6f616e5f6665655f6270730101001477656967687465645f706f6f6c5f65786973747301010019706f6f6c5f62616c616e6365735f616e645f77656967687473010100000205500351035203530354030102045003510352035303020204500351035203530303020355013703560b24010b0208090009010902090309040905090609070402055003510352035303580305020959035a035b035c035d035e035f036003610306020162010702016201080201620109020162010a020162010b020162010c020162010d020162010e020162010f0201620110020162011102016201120201620113020162011402016201150201620116020162011702016201180201620119020e630b21010900640b21010901650b21010902660b210109036703680369036a034c08236b08236c0b25010b2008090009010902090309040905090609076e0b26010b200809000901090209030904090509060907700b21010b200809000901090209030904090509060907710b1b08090009010902090309040905090609071a020772055003510352035303540373031b0205740b24010b1a0809000901090209030904090509060907750b24010b000809000901090209030904090509060907760b24010b040809000901090209030904090509060907770b24010b050809000901090209030904090509060907780b2401081e1c0203790a037a0a037b031d02037c0b27020822081c7e0b27020308227f031e0203800108228101038201031f020283010823780b2401081e2002016201191700171b171a170317193c193e193f194001170217041705170001000303191d16b7011109040305050704273800200409050b071227111c3c000c120e0038010c090e0138020c0a0a0906000000000000000024041d0a0a060000000000000000240c04051f090c040b04042205260b1201070c270e0238030c0b0e0338040c0c0a090a0a400a02000000000000000c0e0a0b0600000000000000002404370d0e0a0b440a0a0c06000000000000000024043e0d0e0a0c440a0a122e38050c0d0e0d410a0e0e410a210449054d0b1201070c2738060c110e0e0e0d0b11111f0c170c0f0a0f06000000000000000024045a055e0b1201070c270d000e17060000000000000000420a1438070c130d010e17060100000000000000420a1438080c140d020c060a0b0600000000000000002404780e17060200000000000000420a140c05057a0600000000000000000c050b060b0538090c150d030c080a0c06000000000000000024048a010e17060300000000000000420a140c07058c010600000000000000000c070b080b07380a0c160a1236000b00380b0a1236010b01380c0a1236020b02380d0a1236030b03380e0a12360436050b090b0a0b0b0b0c0a0f3901380f0b0f0b12370638100c100938110b100b130b140b150b160201010003191d1f27f5021109040305070b00010704273812040a050e0b0001070d27381320041205160b000107052738140c2d38150c2e38160c2f38170c300a2d0a2e160a2f160a3016066400000000000000210429052d0b0001070f270e0138010c1b0e0238020c1c0e0338030c1d0e0438040c1e0a2d0a2e400a02000000000000000c310a1b0a1c400a02000000000000000c1f0a1b06000000000000000024044a0a1c060000000000000000240c05054c090c050b05044f05530b0001070d270a2d06000000000000000024045c0a2e060000000000000000240c10055e090c100b10046105650b0001070f273818048c010a1d0600000000000000002104700a1e060000000000000000210c140572090c140b14047505790b0001070d270a2f060000000000000000210482010a30060000000000000000210c15058401090c150b15048701058b010b0001070f2705e901381904b9010a1d060000000000000000240497010a1e060000000000000000210c16059901090c160b16049c0105a0010b0001070d270a2f0600000000000000002404a9010a30060000000000000000210c1705ab01090c170b1704ae0105b2010b0001070f270d310a2f440a0d1f0a1d440a05e9010a1d0600000000000000002404c2010a1e060000000000000000240c1805c401090c180b1804c70105cb010b0001070d270a2f0600000000000000002404d4010a30060000000000000000240c1905d601090c190b1904d90105dd010b0001070f270d310a2f440a0d1f0a1d440a0d310a30440a0d1f0a1e440a11260c2b111c2b1f1007140c2c11270c260a260b260a2c112811290c230e1f0e31112a112b0c220a220710240482020586020b0001070c270e2b381a0715112c071408381b0c250c210c200b21381c0b200b250c290c2807100e2938100c2a0b010c1a0b020c060b030c070b040c080b2d0c090b2e0c0a0b2f0c0b0b300c0c0b2a0c0d0a2c0c0e0b230c0f0b290c110b280c120e2b381d0e2b381e0e2b381f0e2b38200e2b382139020c130b1a0b060b070b080b090b0a0b0b0b0c0b0e0b0f0b110b120b0d0b1339000c270d27360436070b0011300b1b0b1c0b1d0b1e0a220b2c070011311132390338220b220710170e27370638100c240e2b0b273f000e2b0907010e2b382339043f040838110b2402020000011905240a0106000000000000000021040a0b003c0536080b02382405230a010601000000000000002104140b003c0636090b02382405230b0106020000000000000021041e0b003c07360a0b02382405230b003c08360b0b02382402030000011941610a010600000000000000002104180b003c050c060a020a063708382523040e05120b0601070c270b0636080b0238260c05055f0a010601000000000000002104300b003c060c070a020a0737093825230426052a0b0701070c270b0736090b0238260c04055d0b010602000000000000002104480b003c070c080a020a08370a382523043e05420b0801070c270b08360a0b0238260c03055b0b003c080c090a020a09370b382523045205560b0901070c270b09360b0b0238260c030b030c040b040c050b05020401000203194291011109040305050704273800200409050b0712270a00060000000000000000240412080c0405160a01060000000000000000240c040b04041b080c05051f0a02060000000000000000240c050b050424080c0605280a03060000000000000000240c060b06042b052d070727111c0c0e0a0e3c000c0d0a000a0d37003801250439053d0b0d010707270a010a0d3701380225044405480b0d010707270a020a0d3702380325044f05530b0d010707270a030a0d3703380425045a055e0b0d010707270a0d36000a0038070c090a0d36010a0138080c0a0a0d36020a0238090c0b0b0d36030a03380a0c0c3827047c0b0e3c040c08080b08360c1505870111260c070e070c0f0a0f0807010b0f382339043f040b090b0a0b0b0b0c0b000b010b020b033909020501000103050a382704030505070a27111c3d04370d1402060000000503111c3b04020701000043b60138280c130a1338292104090600000000000000000c0b05b4010a13382a2104100605000000000000000c0905b2010a13382b210417060a000000000000000c0805b0010a13382c21041e060f000000000000000c0705ae010a13382d2104250614000000000000000c0605ac010a13382e21042c0619000000000000000c0505aa010a13382f210433061e000000000000000c0405a8010a13383021043a0623000000000000000c0305a6010a1338312104410628000000000000000c0205a4010a133832210448062d000000000000000c0105a2010a13383321044f0632000000000000000c0005a0010a1338342104560637000000000000000c12059e010a13383521045d063c000000000000000c11059c010a1338362104640641000000000000000c10059a010a13383721046b0646000000000000000c0f0598010a133838210472064b000000000000000c0e0596010a1338392104790650000000000000000c0d0594010a13383a210480010655000000000000000c0c0592010a13383b21048701065a000000000000000c0a0590010b13383c21048c01058e01070e27065f000000000000000c0a0b0a0c0c0b0c0c0d0b0d0c0e0b0e0c0f0b0f0c100b100c110b110c120b120c000b000c010b010c020b020c030b030c040b040c050b050c060b060c070b070c080b080c090b090c0b0b0b02080300002d1c1109200404050607012711340409050b07042711260c000e00383d383e060000000000000000121d2d1d0e000702070011360e003821121f2d1f02090100000503111c291f020a0100011d5d13111c2b1d0c010a01100b0a00383f0409050d0b01010713270b01100b0b00384014020b0000000c510716112c0c000d003841113a0d000717112c113a0d0038141119113a0d000717112c113a0d003842113a0d000717112c113a0d0038151119113a38182004410d000717112c113a0d003843113a0d000717112c113a0d0038161119113a38192004410d000717112c113a0d003844113a0d000717112c113a0d0038171119113a0e00113b06200000000000000024044f0e00060000000000000000061d00000000000000113c0c000d000718112c113a0b00020c0100011d0505111c2b1d100c14020d010002031963c10111090403050507042738000408050a070927111c0c180a183c040c120b043a090c080c070c060c050e0038010c140e0138020c150e0238030c160e0338040c170a12370d140c110a050600000000000000002404440a050a110c0a350b0a35180700351a340c0d0b140a050a0d1626043c05400b12010706270d000b0d380738450a060600000000000000002404630a060a110c0b350b0b35180700351a340c0e0b150a060a0e1626045b055f0b12010706270d010b0e380838460a07060000000000000000240482010a070a110c0c350b0c35180700351a340c0f0b160a070a0f1626047a057e0b12010706270d020b0f380938470a080600000000000000002404a1010a080b110c09350b0935180700351a340c100b170a080a101626049901059d010b12010706270d030b10380a38480b183c000c130a1336000b00380b0a1336010b01380c0a1336020b02380d0b1336030b03380e090a12360c150b12360e0b050b060b070b08390a3849020e0000000e1d0a00370038010a0037013802400a02000000000000000c01384a2004100d010a0037023803440a384b2004190d010b0037033804440a051b0b00010b01020f010001196417111c3d000c0038143815400a02000000000000000c01384a20040d0d013816440a384b2004130d013817440a0b0038050b0102100100011d651d111c2b1d0c020a02100e0a00384c0409050d0b02010713270b02100e0b00384d140c010e01100f140e011010140e01101114021100000103050a38272004050902111c3d04370c14021201000303191d667a1109040305050704273800200409050b071227111c3c000c0f0e00384e0c0d38060c0e0a0f370038010a0d0a0e113e0c050a0f370138020a0d0a0e113e0c06381820042c0a0f370238030a0d0a0e113e0c01052e0600000000000000000c010b010c07381920043b0a0f370338040a0d0b0e113e0c02053d0600000000000000000c020b020c080a0f36000a0538070c090a0f36010a0638080c0a0a070600000000000000002404530a0f36020a0738090c030555384f0c030b030c0b0a080600000000000000002404610a0f36030a08380a0c04056338500c040b040c0c0b000a0f370f38510b0f360436100b050b060b070b080b0d390b38520938110b090b0a0b0b0b0c02130104011f692a0b0011410404050607032711090409050b0701270a011142040f0511071127111c2a1f0c020a021007140700113111320c030a01070011360a020f07150b020f140719112c0b030b01121e38530214010402031f6a290b0011410404050607032738270409050b070a270a0107002304100512070827111c0c040a043c040c020a02370d140c030a010b02360d150b042a1f0f14071a112c0b030b01121e38530215010401196b370b0011410404050607032711090409050b0704270a011142040f051107112711270c02111c3c000c030a033711140700113111320c040a01070011360a033611150a020b020a03371114112811290a033612150b0336043613071b112c0b040b01121e3853021601000303191d6ced011109040305050704273800200409050b0712270e0038250c090a090600000000000000002404130515070b2738540c1f0c19111c0c1b0a1b3d000c1738550c1d38560c1e0a1d0a1e2204293857200c01052b090c010b0104313858200c020533090c020b020436053a0b17010710270a1d3828210a1d3859210a1d385a210b1d385b210c120c110c100c0f0a0f0a101e0a111e0b121e045305570b17010710270a1e3828210a1e3859210a1e385a210b1e385b210c160c150c140c130a130a141e0a151e0b161e047005740b17010710270b0f04790600000000000000000c050589010b10047e0601000000000000000c040587010b110483010602000000000000000c030585010603000000000000000c030b030c040b040c050b050c0d0b130490010600000000000000000c0805a0010b140495010601000000000000000c07059e010b15049a010602000000000000000c06059c010603000000000000000c060b060c070b070c080b080c0e0b173711140a09113111320c1c11430a1c113111320c1a0a090a1c170c0a0a0d0a0e0b0a0e190e1f11440c0b0a0b0e190a0e420a142304c10105c301070c270d000b1a3826385c0a1b0a0d0b00385d0a1b0a0e0a0b385e0c0c0b1b3c000c180a18360436140b0d0b0e0b090b0b0b1c0a18370038010a18370138020a18370238030b1837033804390c385f0938110b0c021701000303191d7186021109040305050704273800200409050b0712270a01060000000000000000240410051207102738540c210c1a111c0c1d0a1d3d000c1838550c1f38560c200a1f0a202204263857200c020528090c020b02042e3858200c030530090c030b03043305370b18010710270a1f3828210a1f3859210a1f385a210b1f385b210c130c120c110c100a100a111e0a121e0b131e045005540b18010710270a203828210a203859210a20385a210b20385b210c170c160c150c140a140a151e0a161e0b171e046d05710b18010710270b1004760600000000000000000c060586010b11047b0601000000000000000c050584010b120480010602000000000000000c040582010603000000000000000c040b040c050b050c060b060c0e0b14048d010600000000000000000c09059d010b150492010601000000000000000c08059b010b160497010602000000000000000c070599010603000000000000000c070b070c080b080c090b090c0f0a010e1a0a0f420a142304a70105ab010b1801070c270e0038250c1c0a1c0600000000000000002404b30105b7010b1801070b270a0e0a0f0a010e1a0e2111450c0b0b183712140a0b113111460c0a0a0a0b1c2504ca0105cc01070b270a0a0b0b170c1e11430a1e113111320c1b0a0a0a1b170c0c0d000b1b3826385c0a1d0a0e0d000b0c3826385d0a1d0a0f0a01385e0c0d0b1d3c000c190a19360436140b0e0b0f0b0a0b010b1e0a19370038010a19370138020a19370238030b1937033804390c385f0938110b000b0d0218010001190505111c3d00371114021900000030200a00060000000000000000210407071c112c02407200000000000000000c010a0006000000000000000022041b050e0d010630000000000000000a00060a0000000000000019163344720b00060a000000000000001a0c0005090d0138600b01112c021a000002191d742538540c040c01111c2a1d0c0238610c030a020f0e0a030b010b043806121c38620b0004220a020f0b0a02100c140b0338630a02100c14060100000000000000160b020f0c1505240b0201021b0100000503111c3b00021900190119021903190d1b01190a1f001b00030003011d011d0203021d001c001c011c02190b1b021f01190819091b041b0300170117021703170417051706170817003c013e023f034009170a170d17121713171517161717171817000000","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"weighted_pool","friends":["0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::init"],"exposed_functions":[{"name":"add_liquidity","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin"],"return":["0x1::coin::Coin<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolToken>","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin"]},{"name":"create_weighted_pool","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin"],"return":["0x1::coin::Coin<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolToken>"]},{"name":"flashloan","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["u64","u64","u64","u64"],"return":["0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Flashloan"]},{"name":"flashloan_fee_bps","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"get_weight","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]}],"params":[],"return":["u64"]},{"name":"initialize","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":[]},{"name":"initialized","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["bool"]},{"name":"lp_name_by_id","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":["u64"],"return":["0x1::string::String"]},{"name":"next_pool_id","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":[],"return":["u64"]},{"name":"pay_flashloan","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::Flashloan"],"return":[]},{"name":"pool_balances_and_weights","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["vector","vector"]},{"name":"pool_info","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[],"params":["0x1::string::String"],"return":["vector","vector","u64"]},{"name":"remove_liquidity","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolToken>"],"return":["0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin","0x1::coin::Coin"]},{"name":"set_default_pool_swap_fee_bps","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer","u64"],"return":[]},{"name":"set_flashloan_fee_bps","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"set_pool_swap_fee_bps","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"swap_exact_in","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin"],"return":["0x1::coin::Coin"]},{"name":"swap_exact_out","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin","u64"],"return":["0x1::coin::Coin","0x1::coin::Coin"]},{"name":"swap_fee_ratio","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"]},{"name":"weighted_pool_exists","visibility":"public","is_entry":false,"is_view":true,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":[],"return":["bool"]}],"structs":[{"name":"AddLiquidityEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"},{"name":"minted_lp_coin_amount","type":"u64"}]},{"name":"Flashloan","is_native":false,"abilities":[],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"}]},{"name":"FlashloanEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"}]},{"name":"FlashloanHelper","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"locked","type":"bool"},{"name":"flashloan_fee_bps","type":"u64"},{"name":"flashloan_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::FlashloanEvent>"}]},{"name":"RemoveLiquidityEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"},{"name":"burned_lp_coin_amount","type":"u64"}]},{"name":"SwapEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"idx_in","type":"u64"},{"name":"idx_out","type":"u64"},{"name":"amount_in","type":"u64"},{"name":"amount_out","type":"u64"},{"name":"fee_amount","type":"u64"},{"name":"pool_balance_0","type":"u64"},{"name":"pool_balance_1","type":"u64"},{"name":"pool_balance_2","type":"u64"},{"name":"pool_balance_3","type":"u64"}]},{"name":"Weight_10","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_15","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_20","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_25","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_30","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_35","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_40","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_45","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_5","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_50","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_55","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_60","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_65","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_70","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_75","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_80","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_85","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_90","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Weight_95","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"WeightedPool","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"asset_0","type":"0x1::coin::Coin"},{"name":"asset_1","type":"0x1::coin::Coin"},{"name":"asset_2","type":"0x1::coin::Coin"},{"name":"asset_3","type":"0x1::coin::Coin"},{"name":"weight_0","type":"u64"},{"name":"weight_1","type":"u64"},{"name":"weight_2","type":"u64"},{"name":"weight_3","type":"u64"},{"name":"swap_fee_ratio","type":"0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"},{"name":"inverse_negated_swap_fee_ratio","type":"0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"},{"name":"pool_token_mint_cap","type":"0x1::coin::MintCapability<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolToken>"},{"name":"pool_token_burn_cap","type":"0x1::coin::BurnCapability<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolToken>"},{"name":"reserved_lp_coin","type":"0x1::coin::Coin<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolToken>"},{"name":"events","type":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolEvents"}]},{"name":"WeightedPoolCreationEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"creator","type":"address"},{"name":"amount_0","type":"u64"},{"name":"amount_1","type":"u64"},{"name":"amount_2","type":"u64"},{"name":"amount_3","type":"u64"},{"name":"minted_lp_coin_amount","type":"u64"},{"name":"swap_fee_bps","type":"u64"}]},{"name":"WeightedPoolEvents","is_native":false,"abilities":["store"],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"pool_creation_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolCreationEvent>"},{"name":"add_liquidity_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::AddLiquidityEvent>"},{"name":"remove_liquidity_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::RemoveLiquidityEvent>"},{"name":"swap_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::SwapEvent>"},{"name":"param_change_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolParamChangeEvent>"}]},{"name":"WeightedPoolInfo","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[],"fields":[{"name":"balances","type":"vector"},{"name":"weights","type":"vector"},{"name":"lp_coin_supply","type":"u64"}]},{"name":"WeightedPoolLookup","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"name_to_pool","type":"0x1::table::Table<0x1::string::String, 0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolInfo>"},{"name":"id_to_name","type":"0x1::table::Table"},{"name":"next_id","type":"u64"}]},{"name":"WeightedPoolParamChangeEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"name","type":"0x1::string::String"},{"name":"prev_value","type":"u64"},{"name":"new_value","type":"u64"}]},{"name":"WeightedPoolParams","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"default_swap_fee_ratio","type":"0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"},{"name":"param_change_events","type":"0x1::event::EventHandle<0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af::weighted_pool::WeightedPoolParamChangeEvent>"}]},{"name":"WeightedPoolToken","is_native":false,"abilities":[],"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"fields":[{"name":"dummy_field","type":"bool"}]}]}},{"bytecode":"0xa11ceb0b060000000a01000c020c060312aa0104bc012a05e6018a0207f003860208f6054006b6061410ca06660cb007b901000001010102000300040005010604010001000700010a00000000000000000000000802030400000000000904021300000000000000000000000000000000000000000a04021c00000000000000000000000000000000000000000000000000000000050b0203080000000000000000050c00010a00000000000000000000040d02030400000000040c0a0b06000000000000030e02030100020f0e0f0001101112010001111617010001120f03010001130e02010001141802010001050406050706080709080c0a10001300140b150c150d150e150a1a001b001c001d0b1e0c1e0d1e0e1e010b00010908010b0001090900010103060c030304090409050906090708090009010902090309040905090609070a090009010902090309040905090609070908090904090009010902090306090009010902090309080909010b00010904010b0001090501090002050b0001091201060c010501091002060c03010b000109000a09000901090209030904090509060907091009110a09080909090a090b090c090d090e090f0911091201091201060b00010900010302050b0001090002050b0001091b0109180a09000901090209030904090509060907091809190a09080909090a090b090c090d090e090f0919091a0a09100911091209130914091509160917091a091b01091b116d756c74695f686f705f7363726970747304636f696e067369676e657209626173655f706f6f6c0b737461626c655f706f6f6c0d77656967687465645f706f6f6c04436f696e0e636865636b5f616e645f737761701069735f77656967687465645f706f6f6c0f737761705f65786163745f696e5f320f737761705f65786163745f696e5f331477656967687465645f706f6f6c5f6578697374730d737761705f65786163745f696e12737461626c655f706f6f6c5f6578697374730769735f6e756c6c0a616464726573735f6f660877697468647261770576616c75651569735f6163636f756e745f72656769737465726564087265676973746572076465706f73697448271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af00000000000000000000000000000000000000000000000000000000000000010308020000000000000003080100000000000000126170746f733a3a6d657461646174615f7631520201000000000000001b4552525f4d554c5449484f505f504f4f4c5f4e4f545f4558495354000200000000000000204552525f4d554c5449484f505f494e53554646494349454e545f4f55545055540000000000000001153800040b3801040505070701270b0038020c0105133803040e05100701270b0038040c010b010201000000020338052002020104000d200a0011090c030a000b013806380738080c040e0438090b0226040f05130b00010700270a03380a20041a0b00380b051c0b00010b030b04380c020301040019210a0011090c030a000b01380d380e380f38100c040e0438110b0226041005140b00010700270a03381220041b0b003813051d0b00010b030b0438140200","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"multi_hop_scripts","friends":[],"exposed_functions":[{"name":"swap_exact_in_2","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]},{"name":"swap_exact_in_3","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]}],"structs":[]}},{"bytecode":"0xa11ceb0b060000000a01000a020a12031c970104b3014205f5019b02079004f5010885064006c5060a10cf06380c8707d60300000101010200030004010a04010001040b0004000100010001000100050001040000000000060201040000000000070201040000000000080301060000000000000009030106000000000000020c050600010d08090100030e010c0100010f0109010004050f1004000000000110060c01000111050101000112120101000406131004000000000407100f040000000001131516010001140901010004081a1b0600000000000004091e1f060000000000000607060a070b060b080b070d060d080d090e0a110b110c110d0e06110e0e0f070f0a0c070c0a0f0b0c0b100b0f0d0c0d100d061811190f1c0a1c0b1c0c1c12190c1805060c030303030006060c030303030303060c0303080b000109020b00010903050b000109000b000109010b000109020b000109030b00010b0104090009010902090301060c010501090002060c03010b000109000109010109020101010903040900090109020903040b000109000b000109010b000109020b00010903010b00010b01040900090109020903010b0104090009010902090302050b0001090006060c0b000109000b000109010b000109020b000109030305050b000109000b000109010b000109020b0001090301060b00010900010302050b0001090501090406090009010902090309040905010b00010904010b0001090501090503050b000109050b00010904020b0001090403020b000109040b0001090513737461626c655f706f6f6c5f7363726970747304636f696e067369676e657209626173655f706f6f6c0b737461626c655f706f6f6c0d6164645f6c6971756964697479126372656174655f737461626c655f706f6f6c1072656d6f76655f6c69717569646974790d737761705f65786163745f696e0e737761705f65786163745f6f757404436f696e0f537461626c65506f6f6c546f6b656e0a616464726573735f6f660877697468647261770769735f6e756c6c047a65726f1569735f6163636f756e745f72656769737465726564087265676973746572076465706f7369740576616c75650c64657374726f795f7a65726f48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af000000000000000000000000000000000000000000000000000000000000000103080100000000000000126170746f733a3a6d657461646174615f763124010100000000000000174552525f494e53554646494349454e545f4f55545055540000000001040004360a0011050c070a000b0138000c080a000b0238010c0938022004130a000b0338030c05051538040c050b050c0a380520041f0a000b0438060c06052138070c060b060c0b0b080b090b0a0b0b38080c0c0a0738092004300b00380a05320b00010b070b0c380b020101040004380a0011050c080a000b0138000c090a000b0238010c0a38022004130a000b0338030c06051538040c060b060c0b380520041f0a000b0438060c07052138070c070b070c0c0a000b090b0a0b0b0b0c0b05380c0c0d0a0838092004320b00380a05340b00010b080b0d380b020201040014440a0011050c060b000b01380d380e0c0a0c090c080c070e07380f0b0226041105130700270e0838100b03260419051b0700270a060b0738110a060b08381238022004300e0938130b0426042a052c0700270a060b09381405320b09381538052004410e0a38160b0526043b053d0700270b060b0a381705430b0a38180203010400171f0a0011050c030a000b013819381a0c040e04381b0b0226040e05120b00010700270a03381c2004190b00381d051b0b00010b030b04381e02040104001d1a0a0011050c030a000b0138190b02381f0c040c050a030b0538200a03381c2004140b00381d05160b00010b030b04381e0200","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"stable_pool_scripts","friends":[],"exposed_functions":[{"name":"add_liquidity","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64","u64","u64"],"return":[]},{"name":"create_stable_pool","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64","u64","u64","u64"],"return":[]},{"name":"remove_liquidity","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64","u64","u64","u64"],"return":[]},{"name":"swap_exact_in","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]},{"name":"swap_exact_out","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]}],"structs":[]}},{"bytecode":"0xa11ceb0b060000000a01000a020a1a0324bf0104e3014205a502c20307e705fd0108e4074006a4081410b808510c8909db0400000101010200030004010a04010001040b000800010001000100010001000100010001000500010800000000000000000006020108000000000000000000070301080000000000000000000804010a00000000000000000000000904010a00000000000000000000020c060700010d090a0100030e010d0100010f010a01000405101108000000000000000001101213010001111401010001120a0101000113070d0100011406010100040617180800000000000000000407181008000000000000000004081d1e0a00000000000000000000040921220a000000000000000000000608060b070c060c080c070e060e080e090f0a080a0b0b080b0b0a0c0b0c0c0c0a0e0b0e0c0e0d150e150b150f0f0615100f061b111c0a1f0d1f0e1f0b1f121c0b1b09060c03030303030303030005060c0303030306060c030303030303060c03030c0b000109020b00010903050b000109000b000109010b000109020b000109030b00010b0108090009010902090309040905090609070b000109000b000109010b000109020b0001090301060c010501090002060c03010b0001090001090101090201010109030809000901090209030904090509060907040b000109000b000109010b000109020b00010903050b00010b0108090009010902090309040905090609070b000109000b000109010b000109020b0001090301060b00010900010302050b00010900010b010809000901090209030904090509060907080b000109020b00010903050b000109000b000109010b000109020b000109030b00010b01080900090109020903090409050906090705060c0b000109000b000109010b000109020b00010903010b00010b01080900090109020903090409050906090705050b000109000b000109010b000109020b0001090302050b000109090109080a0900090109020903090409050906090709080909010b00010908010b0001090901090903050b000109090b00010908020b0001090803020b000109080b000109091577656967687465645f706f6f6c5f7363726970747304636f696e067369676e657209626173655f706f6f6c0d77656967687465645f706f6f6c0d6164645f6c6971756964697479146372656174655f77656967687465645f706f6f6c1072656d6f76655f6c69717569646974790d737761705f65786163745f696e0e737761705f65786163745f6f757404436f696e115765696768746564506f6f6c546f6b656e0a616464726573735f6f660877697468647261770769735f6e756c6c047a65726f0576616c7565076465706f7369740c64657374726f795f7a65726f1569735f6163636f756e745f7265676973746572656408726567697374657248271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af00000000000000000000000000000000000000000000000000000000000000010308010000000000000003080000000000000000126170746f733a3a6d657461646174615f76313d0200000000000000000f4552525f4c505f534c495050414745000100000000000000174552525f494e53554646494349454e545f4f5554505554000000000104000582010a0011050c0b0a000a0138000c0c0a000a0238010c0d38022004130a000a0338030c09051538040c090b090c0e380520041f0a000a0438060c0a052138070c0a0b0a0c0f0b0c0b0d0b0e0b0f38080c140c130c120c110c100b010e113809170b0526043505390b00010701270b020e12380a170b0626044105450b00010701270a0b0b11380b0a0b0b12380c380220045e0b030e13380d170b07260456055a0b00010701270a0b0b13380e05600b13380f38052004730b040e143810170b0826046b056f0b00010701270a0b0b14381105750b1438120a0b381320047c0b003814057e0b00010b0b0b103815020101040016370a0011050c070a000b0138000c080a000b0238010c0938022004130a000b0338030c05051538040c050b050c0a380520041f0a000b0438060c06052138070c060b060c0b0a000b080b090b0a0b0b38160c0c0a0738132004310b00381405330b00010b070b0c3815020201040019440a0011050c060b000b01381738180c0a0c090c080c070e0738090b0226041105130700270e08380a0b03260419051b0700270a060b07380b0a060b08380c38022004300e09380d0b0426042a052c0700270a060b09380e05320b09380f38052004410e0a38100b0526043b053d0700270b060b0a381105430b0a381202030104001a1f0a0011050c030a000b013819381a0c040e04381b0b0226040e05120b00010700270a03381c2004190b00381d051b0b00010b030b04381e0204010400201a0a0011050c030a000b0138190b02381f0c040c050a030b0538200a03381c2004140b00381d05160b00010b030b04381e0200","abi":{"address":"0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af","name":"weighted_pool_scripts","friends":[],"exposed_functions":[{"name":"add_liquidity","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64","u64","u64","u64","u64","u64","u64"],"return":[]},{"name":"create_weighted_pool","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64","u64","u64"],"return":[]},{"name":"remove_liquidity","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64","u64","u64","u64"],"return":[]},{"name":"swap_exact_in","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]},{"name":"swap_exact_out","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]}],"structs":[]}}]', ); export function loadAllTypes(coder: MoveCoder) { _0x1.loadAllTypes(coder); _0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.loadAllTypes( coder, ); for (const m of Object.values(MODULES)) { coder.load( m as any, "0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af", ); } } loadAllTypes(defaultMoveCoder());