import * as _alephium_web3 from '@alephium/web3'; import { ExecuteScriptResult, NetworkId, SignerProvider, Val, Address, HexString, ContractState, CallContractParams, CallContractResult, SignExecuteContractMethodParams, SignExecuteScriptTxResult, ContractFactory, ContractInstance, Narrow, TestContractParamsWithoutMaps, TestContractResultWithoutMaps, Asset, ContractEvent, EventSubscribeOptions, EventSubscription, Contract, ExecutableScript, RalphMap, TestContractParams, TestContractResult, Account, NodeProvider, ExplorerProvider, DeployContractExecutionResult, RunScriptResult } from '@alephium/web3'; import { TokenInfo } from '@alephium/token-list'; import Decimal from 'decimal.js'; interface CpmmConfig { groupIndex: number; factoryId: string; routerId: string; feeCollectorFactoryId?: string; } interface CpmmPoolContractState { poolId: string; reserve0: bigint; reserve1: bigint; token0Info: TokenInfo; token1Info: TokenInfo; totalSupply: bigint; dexAccount: string; } interface SwapParams$1 { tokenIn: TokenInfo; tokenOut: TokenInfo; amountIn?: bigint; amountOut?: bigint; slippage: bigint; sender: string; ttl?: number; } interface SwapDetails { swapType: 'ExactIn' | 'ExactOut'; state: CpmmPoolContractState; tokenInInfo: TokenInfo; tokenOutInfo: TokenInfo; tokenInAmount: bigint; maximalTokenInAmount: bigint | undefined; tokenOutAmount: bigint; minimalTokenOutAmount: bigint | undefined; priceImpact: number; } interface AddLiquidityParams { cpmmPoolState: CpmmPoolContractState; tokenA: TokenInfo; tokenB: TokenInfo; amountA: bigint; amountB: bigint; slippage: bigint; sender: string; ttl?: number; } interface AddLiquidityDetails { state?: CpmmPoolContractState; tokenAId: string; tokenBId: string; amountA: bigint; amountB: bigint; shareAmount: bigint; sharePercentage: number; } interface RemoveLiquidityParams { state: CpmmPoolContractState; liquidity: bigint; totalLiquidityAmount?: bigint; slippage: bigint; sender: string; ttl?: number; } interface RemoveLiquidityDetails { state: CpmmPoolContractState; token0: TokenInfo; amount0: bigint; token1: TokenInfo; amount1: bigint; remainShareAmount: bigint; remainSharePercentage: number; } interface ClaimableAmounts { token0: TokenInfo; amount0: bigint; token1: TokenInfo; amount1: bigint; } interface CreatePoolParams { tokenA: TokenInfo; tokenB: TokenInfo; sender: string; tokenAAmount?: bigint; tokenBAmount?: bigint; } interface ComputeSwapParams { state: CpmmPoolContractState; tokenIn: TokenInfo; tokenOut: TokenInfo; amountIn?: bigint; amountOut?: bigint; slippage: bigint; } interface ComputeLiquidityParams { state?: CpmmPoolContractState; tokenA: TokenInfo; tokenB: TokenInfo; amountA?: bigint; amountB?: bigint; inputType?: 'TokenA' | 'TokenB'; } declare enum LogLevel { Error = 0, Warning = 1, Info = 2, Debug = 3 } declare class Logger { private logLevel; private name; constructor(params: { name: string; logLevel?: LogLevel; }); set level(logLevel: LogLevel); get time(): string; get moduleName(): string; private isLogLevel; error(...props: unknown[]): Logger; logWithError(...props: unknown[]): Logger; warning(...props: unknown[]): Logger; info(...props: unknown[]): Logger; debug(...props: unknown[]): Logger; } declare function createLogger(moduleName: string): Logger; declare function setLoggerLevel(moduleName: string, level: LogLevel): void; interface ModuleBaseProps { scope: Zeta; moduleName: string; } declare class ModuleBase { scope: Zeta; private disabled; protected logger: Logger; constructor({ scope, moduleName }: ModuleBaseProps); logDebug(...args: unknown[]): void; logInfo(...args: unknown[]): void; logWarning(...args: unknown[]): void; logError(...args: unknown[]): void; logAndThrowError(...args: unknown[]): never; checkDisabled(): void; } declare class CpmmModule extends ModuleBase { private config; constructor(scope: Zeta); getPoolId(tokenA: string, tokenB: string): string; getPoolAddress(tokenA: string, tokenB: string): string; getPoolState(tokenA: string, tokenB: string): Promise; poolExists(tokenA: string, tokenB: string): Promise; swap(params: SwapParams$1, balances?: Map): Promise; addLiquidity(params: AddLiquidityParams, balances?: Map): Promise; removeLiquidity(params: RemoveLiquidityParams): Promise; computeClaimableAmounts(tokenAId: string, tokenBId: string, liquidityBalance: bigint): Promise; createPool(params: CreatePoolParams): Promise; getCpmmConfig(): CpmmConfig; static computeSwapAmount(params: ComputeSwapParams): SwapDetails; static computeLiquidityAmounts(params: ComputeLiquidityParams): AddLiquidityDetails; static computeRemoveLiquidityAmounts(state: CpmmPoolContractState, totalLiquidity: bigint, liquidityToRemove: bigint): RemoveLiquidityDetails; static computeClaimableAmounts(state: CpmmPoolContractState, liquidityBalance: bigint): RemoveLiquidityDetails; static minimalAmount(amount: bigint, slippage: bigint): bigint; static maximalAmount(amount: bigint, slippage: bigint): bigint; private static assertSlippageInRange; static calcPriceImpact(reserve0: bigint, reserve1: bigint, tokenInId: string, token0Id: string, amountIn: bigint, amountOut: bigint): number; static getLiquidityDetails(state: CpmmPoolContractState, inputTokenId: string, inputAmount: bigint, inputType: 'TokenA' | 'TokenB'): { state: CpmmPoolContractState; tokenAId: string; tokenBId: string; amountA: bigint; amountB: bigint; shareAmount: bigint; sharePercentage: number; }; static getAmountIn(state: CpmmPoolContractState, tokenOutId: string, amountOut: bigint): bigint; static getAmountOut(state: CpmmPoolContractState, tokenInId: string, amountIn: bigint): bigint; static getInitLiquidityDetails(tokenAId: string, tokenBId: string, amountA: bigint, amountB: bigint): { tokenAId: string; tokenBId: string; amountA: bigint; amountB: bigint; shareAmount: bigint; sharePercentage: number; }; private static _getAmountOut; private getExtraAlphAmount; } interface Network { id: NetworkId; name: string; nodeUrl: string; nodeApiKey?: string; explorerApiUrl: string; explorerUrl: string; tokenListUrl: string; } declare const DEVNET: { id: NetworkId; nodeUrl: string; explorerApiUrl: string; explorerUrl: string; tokenListUrl: string; name: string; }; declare const defaultNetworks: Network[]; type NetworkOverrides = Partial>; interface ZetaLoadParams { networkId: NetworkId; signer?: SignerProvider; networkOverrides?: NetworkOverrides; } interface CollectParams extends Record { token0: HexString; token1: HexString; configIndex: bigint; owner: Address; recipient: Address; tickLower: bigint; tickUpper: bigint; amount0Max: bigint; amount1Max: bigint; } interface Config extends Record { tickSpacing: bigint; fee: bigint; feeProtocol: bigint; } interface DecreaseLiquidityParams extends Record { token0: HexString; token1: HexString; configIndex: bigint; owner: Address; tickLower: bigint; tickUpper: bigint; amount0Min: bigint; amount1Min: bigint; } interface ModifyLiquidityParams extends Record { token0: HexString; token1: HexString; configIndex: bigint; owner: Address; tickLower: bigint; tickUpper: bigint; amount0Desired: bigint; amount1Desired: bigint; amount0Min: bigint; amount1Min: bigint; } interface ModifyPositionParams extends Record { owner: Address; tickLower: bigint; tickUpper: bigint; liquidityDelta: bigint; } interface PositionInfo extends Record { amount0: bigint; amount1: bigint; fees: [bigint, bigint, bigint]; avgValue: bigint; avgFees: bigint; avgTime: bigint; } interface ProtocolFees extends Record { token0: bigint; token1: bigint; } interface Reward extends Record { nextOpenTime: bigint; endTime: bigint; amount: bigint; } interface Slot0 extends Record { sqrtPriceX96: bigint; tick: bigint; feeProtocol: bigint; } interface SwapParams extends Record { payer: Address; recipient: Address; token: HexString; payToken: HexString; toPay: bigint; withdrawToken: HexString; toWithdraw: bigint; data: HexString; } interface ClmmConfig { groupIndex: number; factoryId: string; positionManagerId: string; defaultConfigIndex: bigint; accountRoot: string; } interface ClmmSwapParams { token0: string; token1: string; amount: bigint; slippage: bigint; routePlan: bigint[]; } interface SimulateSwap { configIndex: bigint; token0: string; token1: string; zeroForOne: boolean; amount: bigint; } interface LiquidityForPrice { liquidity: bigint; sqrtPriceX96: bigint; } interface LiquidityDistribution { baseSqrtPriceX96: bigint; sqrtPriceX96: bigint; liquidity: bigint; fee: bigint; rows: Array; } interface AddLiquidity$1 { token0: string; token1: string; configIndex: bigint; owner?: string; tickLower: bigint; tickUpper: bigint; slippage: bigint; amount0: bigint; amount1: bigint; existingPosition?: boolean; } interface RemoveLiquidity$1 { token0: string; token1: string; configIndex: bigint; owner: string; tickLower: bigint; tickUpper: bigint; liquidity: bigint; base: 'token0' | 'token1'; baseAmount: bigint; otherAmountMax: bigint; } interface CollectTokens { token0: string; token1: string; configIndex: bigint; owner: string; recipient: string; tickLower: bigint; tickUpper: bigint; liquidity: bigint; amount0Max: bigint; amount1Max: bigint; } interface PositionPath { poolId: string; owner: string; tickLower: bigint; tickUpper: bigint; acc: bigint; iacc0: bigint; iacc1: bigint; t0: bigint; acct0: bigint; } interface CollectProtocolFees { token0: string; token1: string; configIndex: bigint; recipient: string; } interface SetRewardParams { token0: string; token1: string; configIndex: bigint; rewardToken: string; payer: string; amount: bigint; openTime: bigint; endTime: bigint; } interface ExtendRewards { token0: string; token1: string; configIndex: bigint; rewardToken: string; payer: string; amount: bigint; } interface ClmmPoolContractState extends ClmmPoolConfig { poolId: string; token0Info: TokenInfo; token1Info: TokenInfo; liquidity: bigint; sqrtPriceX96: bigint; tick: bigint; } interface ClmmPoolConfig { configIndex: bigint; tickSpacing: bigint; tradingFee: bigint; protocolFee: bigint; } declare const MAX_PIPS: bigint; type ClmmPositionInfo = PositionInfo; interface GetPositionAmountsFromPriceProps { sqrtRatioX96: bigint; tokenBaseId: string; tokenQuoteId: string; lowerTick: bigint; upperTick: bigint; amountBase: bigint; amountQuote: bigint; } interface GetPositionAmountsFromPriceReturn { newAmountBase: bigint; newAmountQuote: bigint; liquidity: bigint; } declare namespace BitmapWordTypes { type Fields = { parent: Address; value: bigint; }; type State = ContractState; interface CallMethodTable { mostSignificantBit: { params: CallContractParams<{ x: bigint; }>; result: CallContractResult; }; leastSignificantBit: { params: CallContractParams<{ x: bigint; }>; result: CallContractResult; }; flip: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult; }; getNext: { params: CallContractParams<{ compressed: bigint; zeroForOne: boolean; tickSpacing: bigint; }>; result: CallContractResult<[bigint, boolean]>; }; getBitPos: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { mostSignificantBit: { params: SignExecuteContractMethodParams<{ x: bigint; }>; result: SignExecuteScriptTxResult; }; leastSignificantBit: { params: SignExecuteContractMethodParams<{ x: bigint; }>; result: SignExecuteScriptTxResult; }; flip: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; getNext: { params: SignExecuteContractMethodParams<{ compressed: bigint; zeroForOne: boolean; tickSpacing: bigint; }>; result: SignExecuteScriptTxResult; }; getBitPos: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$w extends ContractFactory { encodeFields(fields: BitmapWordTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { BitMathError: { NoMostSignificantBit: bigint; NoLeastSignificantBit: bigint; }; }; at(address: string): BitmapWordInstance; tests: { mostSignificantBit: (params: TestContractParamsWithoutMaps) => Promise>; leastSignificantBit: (params: TestContractParamsWithoutMaps) => Promise>; flip: (params: TestContractParamsWithoutMaps) => Promise>; getNext: (params: TestContractParamsWithoutMaps) => Promise>; getBitPos: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: BitmapWordTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const BitmapWord: Factory$w; declare class BitmapWordInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { mostSignificantBit: (params: BitmapWordTypes.CallMethodParams<"mostSignificantBit">) => Promise>; leastSignificantBit: (params: BitmapWordTypes.CallMethodParams<"leastSignificantBit">) => Promise>; flip: (params: BitmapWordTypes.CallMethodParams<"flip">) => Promise>; getNext: (params: BitmapWordTypes.CallMethodParams<"getNext">) => Promise>; getBitPos: (params: BitmapWordTypes.CallMethodParams<"getBitPos">) => Promise>; }; transact: { mostSignificantBit: (params: BitmapWordTypes.SignExecuteMethodParams<"mostSignificantBit">) => Promise>; leastSignificantBit: (params: BitmapWordTypes.SignExecuteMethodParams<"leastSignificantBit">) => Promise>; flip: (params: BitmapWordTypes.SignExecuteMethodParams<"flip">) => Promise>; getNext: (params: BitmapWordTypes.SignExecuteMethodParams<"getNext">) => Promise>; getBitPos: (params: BitmapWordTypes.SignExecuteMethodParams<"getBitPos">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace BitmapWordDeployerTypes { type State = Omit, "fields">; interface CallMethodTable { deploy: { params: CallContractParams<{ payer: Address; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { deploy: { params: SignExecuteContractMethodParams<{ payer: Address; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$v extends ContractFactory { encodeFields(): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; at(address: string): BitmapWordDeployerInstance; tests: { deploy: (params: Omit, "initialFields">) => Promise>; }; stateForTest(initFields: {}, asset?: Asset, address?: string): ContractState<{}> | _alephium_web3.ContractStateWithMaps<{}, Record>>; } declare const BitmapWordDeployer: Factory$v; declare class BitmapWordDeployerInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { deploy: (params: BitmapWordDeployerTypes.CallMethodParams<"deploy">) => Promise>; }; transact: { deploy: (params: BitmapWordDeployerTypes.SignExecuteMethodParams<"deploy">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace DexAccountTypes$1 { type Fields = { parents: [HexString, HexString]; owner: Address; refferer: Address; counter: bigint; }; type State = ContractState; interface CallMethodTable { deposit: { params: CallContractParams<{ payer: Address; tokenId: HexString; amount: bigint; path: HexString; at: bigint; }>; result: CallContractResult; }; createAccount: { params: CallContractParams<{ ref: Address; }>; result: CallContractResult; }; asRef: { params: CallContractParams<{ defaultRef: Address; }>; result: CallContractResult
; }; updateCounter: { params: CallContractParams<{ newCounter: bigint; }>; result: CallContractResult; }; setParents: { params: CallContractParams<{ newParents: [HexString, HexString]; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { deposit: { params: SignExecuteContractMethodParams<{ payer: Address; tokenId: HexString; amount: bigint; path: HexString; at: bigint; }>; result: SignExecuteScriptTxResult; }; createAccount: { params: SignExecuteContractMethodParams<{ ref: Address; }>; result: SignExecuteScriptTxResult; }; asRef: { params: SignExecuteContractMethodParams<{ defaultRef: Address; }>; result: SignExecuteScriptTxResult; }; updateCounter: { params: SignExecuteContractMethodParams<{ newCounter: bigint; }>; result: SignExecuteScriptTxResult; }; setParents: { params: SignExecuteContractMethodParams<{ newParents: [HexString, HexString]; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$u extends ContractFactory { encodeFields(fields: DexAccountTypes$1.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; at(address: string): DexAccountInstance$1; tests: { deposit: (params: TestContractParamsWithoutMaps) => Promise>; createAccount: (params: TestContractParamsWithoutMaps) => Promise>; asRef: (params: TestContractParamsWithoutMaps) => Promise>; updateCounter: (params: TestContractParamsWithoutMaps) => Promise>; setParents: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: DexAccountTypes$1.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const DexAccount$1: Factory$u; declare class DexAccountInstance$1 extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { deposit: (params: DexAccountTypes$1.CallMethodParams<"deposit">) => Promise>; createAccount: (params: DexAccountTypes$1.CallMethodParams<"createAccount">) => Promise>; asRef: (params: DexAccountTypes$1.CallMethodParams<"asRef">) => Promise>; updateCounter: (params: DexAccountTypes$1.CallMethodParams<"updateCounter">) => Promise>; setParents: (params: DexAccountTypes$1.CallMethodParams<"setParents">) => Promise>; }; transact: { deposit: (params: DexAccountTypes$1.SignExecuteMethodParams<"deposit">) => Promise>; createAccount: (params: DexAccountTypes$1.SignExecuteMethodParams<"createAccount">) => Promise>; asRef: (params: DexAccountTypes$1.SignExecuteMethodParams<"asRef">) => Promise>; updateCounter: (params: DexAccountTypes$1.SignExecuteMethodParams<"updateCounter">) => Promise>; setParents: (params: DexAccountTypes$1.SignExecuteMethodParams<"setParents">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace LiquidityAmountsTestTypes { type State = Omit, "fields">; interface CallMethodTable { getLiquidityForAmount0: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; }>; result: CallContractResult; }; getLiquidityForAmount1: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount1: bigint; }>; result: CallContractResult; }; getLiquidityForAmounts: { params: CallContractParams<{ sqrtRatioX96: bigint; sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; amount1: bigint; }>; result: CallContractResult; }; getAmount0ForLiquidity: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidity: bigint; }>; result: CallContractResult; }; mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; mulDivRoundingUp: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { getLiquidityForAmount0: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; }>; result: SignExecuteScriptTxResult; }; getLiquidityForAmount1: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount1: bigint; }>; result: SignExecuteScriptTxResult; }; getLiquidityForAmounts: { params: SignExecuteContractMethodParams<{ sqrtRatioX96: bigint; sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; amount1: bigint; }>; result: SignExecuteScriptTxResult; }; getAmount0ForLiquidity: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidity: bigint; }>; result: SignExecuteScriptTxResult; }; mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; mulDivRoundingUp: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$t extends ContractFactory { encodeFields(): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { FullMathError: { MulDivOverflow: bigint; }; }; at(address: string): LiquidityAmountsTestInstance; tests: { getLiquidityForAmount0: (params: Omit, "initialFields">) => Promise>; getLiquidityForAmount1: (params: Omit, "initialFields">) => Promise>; getLiquidityForAmounts: (params: Omit, "initialFields">) => Promise>; getAmount0ForLiquidity: (params: Omit, "initialFields">) => Promise>; mulDiv: (params: Omit, "initialFields">) => Promise>; mulDivRoundingUp: (params: Omit, "initialFields">) => Promise>; }; stateForTest(initFields: {}, asset?: Asset, address?: string): ContractState<{}> | _alephium_web3.ContractStateWithMaps<{}, Record>>; } declare const LiquidityAmountsTest: Factory$t; declare class LiquidityAmountsTestInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { getLiquidityForAmount0: (params: LiquidityAmountsTestTypes.CallMethodParams<"getLiquidityForAmount0">) => Promise>; getLiquidityForAmount1: (params: LiquidityAmountsTestTypes.CallMethodParams<"getLiquidityForAmount1">) => Promise>; getLiquidityForAmounts: (params: LiquidityAmountsTestTypes.CallMethodParams<"getLiquidityForAmounts">) => Promise>; getAmount0ForLiquidity: (params: LiquidityAmountsTestTypes.CallMethodParams<"getAmount0ForLiquidity">) => Promise>; mulDiv: (params: LiquidityAmountsTestTypes.CallMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: LiquidityAmountsTestTypes.CallMethodParams<"mulDivRoundingUp">) => Promise>; }; transact: { getLiquidityForAmount0: (params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"getLiquidityForAmount0">) => Promise>; getLiquidityForAmount1: (params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"getLiquidityForAmount1">) => Promise>; getLiquidityForAmounts: (params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"getLiquidityForAmounts">) => Promise>; getAmount0ForLiquidity: (params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"getAmount0ForLiquidity">) => Promise>; mulDiv: (params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"mulDivRoundingUp">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace LiquidityManagmentTestTypes { type Fields = { parent: HexString; }; type State = ContractState; interface CallMethodTable { addLiquidity: { params: CallContractParams<{ payer: Address; p: ModifyLiquidityParams; }>; result: CallContractResult<[bigint, bigint, bigint, HexString]>; }; getLiquidityForAmount0: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; }>; result: CallContractResult; }; getLiquidityForAmount1: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount1: bigint; }>; result: CallContractResult; }; getLiquidityForAmounts: { params: CallContractParams<{ sqrtRatioX96: bigint; sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; amount1: bigint; }>; result: CallContractResult; }; getAmount0ForLiquidity: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidity: bigint; }>; result: CallContractResult; }; mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; mulDivRoundingUp: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; configPath: { params: CallContractParams<{ configIndex_: bigint; }>; result: CallContractResult; }; poolPath: { params: CallContractParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: CallContractResult; }; poolContractId: { params: CallContractParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: CallContractResult; }; positionPath: { params: CallContractParams<{ o: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; positionContractId: { params: CallContractParams<{ pool: HexString; o: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; getSqrtRatioAtTick: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult; }; getTickAtSqrtRatio: { params: CallContractParams<{ sqrtPriceX96: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { addLiquidity: { params: SignExecuteContractMethodParams<{ payer: Address; p: ModifyLiquidityParams; }>; result: SignExecuteScriptTxResult; }; getLiquidityForAmount0: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; }>; result: SignExecuteScriptTxResult; }; getLiquidityForAmount1: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount1: bigint; }>; result: SignExecuteScriptTxResult; }; getLiquidityForAmounts: { params: SignExecuteContractMethodParams<{ sqrtRatioX96: bigint; sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; amount1: bigint; }>; result: SignExecuteScriptTxResult; }; getAmount0ForLiquidity: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidity: bigint; }>; result: SignExecuteScriptTxResult; }; mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; mulDivRoundingUp: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; configPath: { params: SignExecuteContractMethodParams<{ configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; poolPath: { params: SignExecuteContractMethodParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; poolContractId: { params: SignExecuteContractMethodParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; positionPath: { params: SignExecuteContractMethodParams<{ o: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; positionContractId: { params: SignExecuteContractMethodParams<{ pool: HexString; o: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; getSqrtRatioAtTick: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; getTickAtSqrtRatio: { params: SignExecuteContractMethodParams<{ sqrtPriceX96: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$s extends ContractFactory { encodeFields(fields: LiquidityManagmentTestTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { LiquidityManagmentError: { MintSlippage: bigint; BurnSlippage: bigint; }; FullMathError: { MulDivOverflow: bigint; }; PathPrefixes: { Tick: bigint; Position: bigint; Word: bigint; }; TickMathError: { SqrtPriceX96OutOfBounds: bigint; TickOutOfBounds: bigint; }; }; at(address: string): LiquidityManagmentTestInstance; tests: { addLiquidity: (params: TestContractParamsWithoutMaps) => Promise>; getLiquidityForAmount0: (params: TestContractParamsWithoutMaps) => Promise>; getLiquidityForAmount1: (params: TestContractParamsWithoutMaps) => Promise>; getLiquidityForAmounts: (params: TestContractParamsWithoutMaps) => Promise>; getAmount0ForLiquidity: (params: TestContractParamsWithoutMaps) => Promise>; mulDiv: (params: TestContractParamsWithoutMaps) => Promise>; mulDivRoundingUp: (params: TestContractParamsWithoutMaps) => Promise>; configPath: (params: TestContractParamsWithoutMaps) => Promise>; poolPath: (params: TestContractParamsWithoutMaps) => Promise>; poolContractId: (params: TestContractParamsWithoutMaps) => Promise>; positionPath: (params: TestContractParamsWithoutMaps) => Promise>; positionContractId: (params: TestContractParamsWithoutMaps) => Promise>; getSqrtRatioAtTick: (params: TestContractParamsWithoutMaps) => Promise>; getTickAtSqrtRatio: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: LiquidityManagmentTestTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const LiquidityManagmentTest: Factory$s; declare class LiquidityManagmentTestInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { addLiquidity: (params: LiquidityManagmentTestTypes.CallMethodParams<"addLiquidity">) => Promise>; getLiquidityForAmount0: (params: LiquidityManagmentTestTypes.CallMethodParams<"getLiquidityForAmount0">) => Promise>; getLiquidityForAmount1: (params: LiquidityManagmentTestTypes.CallMethodParams<"getLiquidityForAmount1">) => Promise>; getLiquidityForAmounts: (params: LiquidityManagmentTestTypes.CallMethodParams<"getLiquidityForAmounts">) => Promise>; getAmount0ForLiquidity: (params: LiquidityManagmentTestTypes.CallMethodParams<"getAmount0ForLiquidity">) => Promise>; mulDiv: (params: LiquidityManagmentTestTypes.CallMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: LiquidityManagmentTestTypes.CallMethodParams<"mulDivRoundingUp">) => Promise>; configPath: (params: LiquidityManagmentTestTypes.CallMethodParams<"configPath">) => Promise>; poolPath: (params: LiquidityManagmentTestTypes.CallMethodParams<"poolPath">) => Promise>; poolContractId: (params: LiquidityManagmentTestTypes.CallMethodParams<"poolContractId">) => Promise>; positionPath: (params: LiquidityManagmentTestTypes.CallMethodParams<"positionPath">) => Promise>; positionContractId: (params: LiquidityManagmentTestTypes.CallMethodParams<"positionContractId">) => Promise>; getSqrtRatioAtTick: (params: LiquidityManagmentTestTypes.CallMethodParams<"getSqrtRatioAtTick">) => Promise>; getTickAtSqrtRatio: (params: LiquidityManagmentTestTypes.CallMethodParams<"getTickAtSqrtRatio">) => Promise>; }; transact: { addLiquidity: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"addLiquidity">) => Promise>; getLiquidityForAmount0: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"getLiquidityForAmount0">) => Promise>; getLiquidityForAmount1: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"getLiquidityForAmount1">) => Promise>; getLiquidityForAmounts: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"getLiquidityForAmounts">) => Promise>; getAmount0ForLiquidity: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"getAmount0ForLiquidity">) => Promise>; mulDiv: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"mulDivRoundingUp">) => Promise>; configPath: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"configPath">) => Promise>; poolPath: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"poolPath">) => Promise>; poolContractId: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"poolContractId">) => Promise>; positionPath: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"positionPath">) => Promise>; positionContractId: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"positionContractId">) => Promise>; getSqrtRatioAtTick: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"getSqrtRatioAtTick">) => Promise>; getTickAtSqrtRatio: (params: LiquidityManagmentTestTypes.SignExecuteMethodParams<"getTickAtSqrtRatio">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace PoolTypes { type Fields = { parent: HexString; positionTemplate: HexString; dexAccountTemplate: HexString; tickTemplate: HexString; wordTemplate: HexString; configIndex: bigint; token0: HexString; token1: HexString; token2: HexString; fee: bigint; tickSpacing: bigint; maxLiquidityPerTick: bigint; nextNftIndex: bigint; slot0: Slot0; liquidity: bigint; rewardInfos: [Reward, Reward, Reward]; feeGrowths: [bigint, bigint, bigint]; protocolFees: ProtocolFees; }; type State = ContractState; type InitializeEvent = ContractEvent<{ sqrtPriceX96: bigint; tick: bigint; }>; type SwapStartEvent = ContractEvent<{ sqrtPriceX96: bigint; }>; type SwapStepEvent = ContractEvent<{ sqrtPriceX96: bigint; liquidity: bigint; }>; type SwapEvent = ContractEvent<{ sender: Address; recipient: Address; amount0: bigint; amount1: bigint; sqrtPriceX96: bigint; liquidity: bigint; tick: bigint; }>; type MintEvent = ContractEvent<{ sender: Address; owner: Address; tickLower: bigint; tickUpper: bigint; liquidity: bigint; amount0: bigint; amount1: bigint; timestamp: bigint; }>; type BurnEvent = ContractEvent<{ operator: Address; owner: Address; tickLower: bigint; tickUpper: bigint; liquidity: bigint; amount0: bigint; amount1: bigint; }>; type CollectEvent = ContractEvent<{ operator: Address; recipient: Address; owner: Address; tickLower: bigint; tickUpper: bigint; amount0: bigint; amount1: bigint; amount2: bigint; }>; type FeesEvent = ContractEvent<{ owner: Address; tickLower: bigint; tickUpper: bigint; amount0: bigint; amount1: bigint; amount2: bigint; timestamp: bigint; }>; type CollectProtocolEvent = ContractEvent<{ sender: Address; recipient: Address; amount0: bigint; amount1: bigint; }>; interface CallMethodTable { getCollectionUri: { params: Omit, "args">; result: CallContractResult; }; totalSupply: { params: Omit, "args">; result: CallContractResult; }; nftByIndex: { params: CallContractParams<{ index: bigint; }>; result: CallContractResult; }; validateNFT: { params: CallContractParams<{ nftId: HexString; nftIndex: bigint; }>; result: CallContractResult; }; getSqrtRatioAtTick: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult; }; getTickAtSqrtRatio: { params: CallContractParams<{ sqrtPriceX96: bigint; }>; result: CallContractResult; }; computeSwapStep: { params: CallContractParams<{ sqrtRatioCurrentX96: bigint; sqrtRatioTargetX96: bigint; liquidity_: bigint; amountRemaining: bigint; feePips: bigint; }>; result: CallContractResult<[bigint, bigint, bigint, bigint]>; }; divRoundingUp: { params: CallContractParams<{ x: bigint; y: bigint; }>; result: CallContractResult; }; getNextSqrtPriceFromAmount0RoundingUp: { params: CallContractParams<{ sqrtPX96: bigint; liquidity_: bigint; amount: bigint; add: boolean; }>; result: CallContractResult; }; getNextSqrtPriceFromAmount1RoundingDown: { params: CallContractParams<{ sqrtPX96: bigint; liquidity_: bigint; amount: bigint; add: boolean; }>; result: CallContractResult; }; getNextSqrtPriceFromInput: { params: CallContractParams<{ sqrtPX96: bigint; liquidity_: bigint; amountIn: bigint; zeroForOne: boolean; }>; result: CallContractResult; }; getNextSqrtPriceFromOutput: { params: CallContractParams<{ sqrtPX96: bigint; liquidity_: bigint; amountOut: bigint; zeroForOne: boolean; }>; result: CallContractResult; }; getAmount0DeltaEx: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidityDelta: bigint; roundUp: boolean; }>; result: CallContractResult; }; getAmount0Delta: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidityDelta: bigint; }>; result: CallContractResult; }; getAmount1DeltaEx: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidityDelta: bigint; roundUp: boolean; }>; result: CallContractResult; }; getAmount1Delta: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidityDelta: bigint; }>; result: CallContractResult; }; mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; mulDivRoundingUp: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; wordPath: { params: CallContractParams<{ compressed: bigint; }>; result: CallContractResult; }; getWord: { params: CallContractParams<{ compressed: bigint; }>; result: CallContractResult; }; getWordOrTemplate: { params: CallContractParams<{ compressed: bigint; }>; result: CallContractResult; }; flipTick: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult; }; nextInitializedTickWithinOneWord: { params: CallContractParams<{ tick: bigint; zeroForOne: boolean; }>; result: CallContractResult<[bigint, boolean]>; }; positionPath: { params: CallContractParams<{ o: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; positionContractId: { params: CallContractParams<{ pool: HexString; o: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; configPath: { params: CallContractParams<{ configIndex_: bigint; }>; result: CallContractResult; }; poolPath: { params: CallContractParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: CallContractResult; }; poolContractId: { params: CallContractParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: CallContractResult; }; checkTicks: { params: CallContractParams<{ tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; tickPath: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult; }; toTick: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult; }; getTick: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult<[HexString, boolean]>; }; toPosition: { params: CallContractParams<{ owner: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; getPosition: { params: CallContractParams<{ owner: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult<[HexString, boolean]>; }; getFeeGrowthInside: { params: CallContractParams<{ tickLower: HexString; tickUpper: HexString; }>; result: CallContractResult<[bigint, bigint, bigint]>; }; updatePosition: { params: CallContractParams<{ position: HexString; owner: Address; tickLower: bigint; tickUpper: bigint; liquidityDelta: bigint; }>; result: CallContractResult<[bigint, bigint, bigint]>; }; modifyPosition: { params: CallContractParams<{ position: HexString; params: ModifyPositionParams; }>; result: CallContractResult<[bigint, bigint, [bigint, bigint, bigint]]>; }; mint: { params: CallContractParams<{ payer: Address; owner: Address; tickLower: bigint; tickUpper: bigint; amount: bigint; }>; result: CallContractResult<[bigint, bigint]>; }; burn: { params: CallContractParams<{ operator: Address; owner: Address; tickLower: bigint; tickUpper: bigint; amount: bigint; }>; result: CallContractResult<[bigint, bigint]>; }; collect: { params: CallContractParams<{ operator: Address; recipient: Address; owner: Address; tickLower: bigint; tickUpper: bigint; maxAmounts: [bigint, bigint, bigint]; }>; result: CallContractResult<[bigint, bigint, bigint]>; }; withdraw: { params: CallContractParams<{ recipient: Address; amounts: [bigint, bigint, bigint]; }>; result: CallContractResult; }; simulateSwap: { params: CallContractParams<{ zeroForOne: boolean; amountSpecified: bigint; data: HexString; maxSteps: bigint; }>; result: CallContractResult; }; swap: { params: CallContractParams<{ payer: Address; recipient: Address; token: HexString; zeroForOne: boolean; amountSpecified: bigint; sqrtPriceLimitX96: bigint; data: HexString; }>; result: CallContractResult<[bigint, bigint]>; }; pop: { params: CallContractParams<{ data: HexString; t: HexString; exactInput: boolean; }>; result: CallContractResult<[boolean, bigint, HexString, HexString]>; }; swapExactOut: { params: CallContractParams<{ p: SwapParams; refRewards: bigint; }>; result: CallContractResult; }; swapExactIn: { params: CallContractParams<{ p: SwapParams; refRewards: bigint; }>; result: CallContractResult; }; getSqrtPricesX96: { params: CallContractParams<{ tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult<[bigint, bigint, bigint]>; }; updateReward: { params: CallContractParams<{ index: bigint; blockTime: bigint; }>; result: CallContractResult; }; updateRewards: { params: CallContractParams<{ blockTime: bigint; }>; result: CallContractResult; }; extendRewards: { params: CallContractParams<{ payer: Address; index: bigint; amount: bigint; }>; result: CallContractResult; }; setRewardParams: { params: CallContractParams<{ payer: Address; index: bigint; openTime: bigint; endTime: bigint; amount: bigint; }>; result: CallContractResult; }; collectProtocolFees: { params: CallContractParams<{ recipient: Address; }>; result: CallContractResult; }; positionInfo: { params: CallContractParams<{ owner: Address; tickLower: bigint; tickUpper: bigint; acc: bigint; iacc0: bigint; iacc1: bigint; t0: bigint; acct0: bigint; }>; result: CallContractResult; }; getTokenUri: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { getCollectionUri: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; totalSupply: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; nftByIndex: { params: SignExecuteContractMethodParams<{ index: bigint; }>; result: SignExecuteScriptTxResult; }; validateNFT: { params: SignExecuteContractMethodParams<{ nftId: HexString; nftIndex: bigint; }>; result: SignExecuteScriptTxResult; }; getSqrtRatioAtTick: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; getTickAtSqrtRatio: { params: SignExecuteContractMethodParams<{ sqrtPriceX96: bigint; }>; result: SignExecuteScriptTxResult; }; computeSwapStep: { params: SignExecuteContractMethodParams<{ sqrtRatioCurrentX96: bigint; sqrtRatioTargetX96: bigint; liquidity_: bigint; amountRemaining: bigint; feePips: bigint; }>; result: SignExecuteScriptTxResult; }; divRoundingUp: { params: SignExecuteContractMethodParams<{ x: bigint; y: bigint; }>; result: SignExecuteScriptTxResult; }; getNextSqrtPriceFromAmount0RoundingUp: { params: SignExecuteContractMethodParams<{ sqrtPX96: bigint; liquidity_: bigint; amount: bigint; add: boolean; }>; result: SignExecuteScriptTxResult; }; getNextSqrtPriceFromAmount1RoundingDown: { params: SignExecuteContractMethodParams<{ sqrtPX96: bigint; liquidity_: bigint; amount: bigint; add: boolean; }>; result: SignExecuteScriptTxResult; }; getNextSqrtPriceFromInput: { params: SignExecuteContractMethodParams<{ sqrtPX96: bigint; liquidity_: bigint; amountIn: bigint; zeroForOne: boolean; }>; result: SignExecuteScriptTxResult; }; getNextSqrtPriceFromOutput: { params: SignExecuteContractMethodParams<{ sqrtPX96: bigint; liquidity_: bigint; amountOut: bigint; zeroForOne: boolean; }>; result: SignExecuteScriptTxResult; }; getAmount0DeltaEx: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidityDelta: bigint; roundUp: boolean; }>; result: SignExecuteScriptTxResult; }; getAmount0Delta: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidityDelta: bigint; }>; result: SignExecuteScriptTxResult; }; getAmount1DeltaEx: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidityDelta: bigint; roundUp: boolean; }>; result: SignExecuteScriptTxResult; }; getAmount1Delta: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidityDelta: bigint; }>; result: SignExecuteScriptTxResult; }; mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; mulDivRoundingUp: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; wordPath: { params: SignExecuteContractMethodParams<{ compressed: bigint; }>; result: SignExecuteScriptTxResult; }; getWord: { params: SignExecuteContractMethodParams<{ compressed: bigint; }>; result: SignExecuteScriptTxResult; }; getWordOrTemplate: { params: SignExecuteContractMethodParams<{ compressed: bigint; }>; result: SignExecuteScriptTxResult; }; flipTick: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; nextInitializedTickWithinOneWord: { params: SignExecuteContractMethodParams<{ tick: bigint; zeroForOne: boolean; }>; result: SignExecuteScriptTxResult; }; positionPath: { params: SignExecuteContractMethodParams<{ o: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; positionContractId: { params: SignExecuteContractMethodParams<{ pool: HexString; o: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; configPath: { params: SignExecuteContractMethodParams<{ configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; poolPath: { params: SignExecuteContractMethodParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; poolContractId: { params: SignExecuteContractMethodParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; checkTicks: { params: SignExecuteContractMethodParams<{ tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; tickPath: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; toTick: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; getTick: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; toPosition: { params: SignExecuteContractMethodParams<{ owner: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; getPosition: { params: SignExecuteContractMethodParams<{ owner: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; getFeeGrowthInside: { params: SignExecuteContractMethodParams<{ tickLower: HexString; tickUpper: HexString; }>; result: SignExecuteScriptTxResult; }; updatePosition: { params: SignExecuteContractMethodParams<{ position: HexString; owner: Address; tickLower: bigint; tickUpper: bigint; liquidityDelta: bigint; }>; result: SignExecuteScriptTxResult; }; modifyPosition: { params: SignExecuteContractMethodParams<{ position: HexString; params: ModifyPositionParams; }>; result: SignExecuteScriptTxResult; }; mint: { params: SignExecuteContractMethodParams<{ payer: Address; owner: Address; tickLower: bigint; tickUpper: bigint; amount: bigint; }>; result: SignExecuteScriptTxResult; }; burn: { params: SignExecuteContractMethodParams<{ operator: Address; owner: Address; tickLower: bigint; tickUpper: bigint; amount: bigint; }>; result: SignExecuteScriptTxResult; }; collect: { params: SignExecuteContractMethodParams<{ operator: Address; recipient: Address; owner: Address; tickLower: bigint; tickUpper: bigint; maxAmounts: [bigint, bigint, bigint]; }>; result: SignExecuteScriptTxResult; }; withdraw: { params: SignExecuteContractMethodParams<{ recipient: Address; amounts: [bigint, bigint, bigint]; }>; result: SignExecuteScriptTxResult; }; simulateSwap: { params: SignExecuteContractMethodParams<{ zeroForOne: boolean; amountSpecified: bigint; data: HexString; maxSteps: bigint; }>; result: SignExecuteScriptTxResult; }; swap: { params: SignExecuteContractMethodParams<{ payer: Address; recipient: Address; token: HexString; zeroForOne: boolean; amountSpecified: bigint; sqrtPriceLimitX96: bigint; data: HexString; }>; result: SignExecuteScriptTxResult; }; pop: { params: SignExecuteContractMethodParams<{ data: HexString; t: HexString; exactInput: boolean; }>; result: SignExecuteScriptTxResult; }; swapExactOut: { params: SignExecuteContractMethodParams<{ p: SwapParams; refRewards: bigint; }>; result: SignExecuteScriptTxResult; }; swapExactIn: { params: SignExecuteContractMethodParams<{ p: SwapParams; refRewards: bigint; }>; result: SignExecuteScriptTxResult; }; getSqrtPricesX96: { params: SignExecuteContractMethodParams<{ tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; updateReward: { params: SignExecuteContractMethodParams<{ index: bigint; blockTime: bigint; }>; result: SignExecuteScriptTxResult; }; updateRewards: { params: SignExecuteContractMethodParams<{ blockTime: bigint; }>; result: SignExecuteScriptTxResult; }; extendRewards: { params: SignExecuteContractMethodParams<{ payer: Address; index: bigint; amount: bigint; }>; result: SignExecuteScriptTxResult; }; setRewardParams: { params: SignExecuteContractMethodParams<{ payer: Address; index: bigint; openTime: bigint; endTime: bigint; amount: bigint; }>; result: SignExecuteScriptTxResult; }; collectProtocolFees: { params: SignExecuteContractMethodParams<{ recipient: Address; }>; result: SignExecuteScriptTxResult; }; positionInfo: { params: SignExecuteContractMethodParams<{ owner: Address; tickLower: bigint; tickUpper: bigint; acc: bigint; iacc0: bigint; iacc1: bigint; t0: bigint; acct0: bigint; }>; result: SignExecuteScriptTxResult; }; getTokenUri: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$r extends ContractFactory { encodeFields(fields: PoolTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; eventIndex: { Initialize: number; SwapStart: number; SwapStep: number; Swap: number; Mint: number; Burn: number; Collect: number; Fees: number; CollectProtocol: number; }; consts: { MAX_PIPS: bigint; TickMathError: { SqrtPriceX96OutOfBounds: bigint; TickOutOfBounds: bigint; }; SqrtPriceMathError: { SqrtFromAmountOverflow: bigint; QuotientTooHigh: bigint; PriceZero: bigint; NoLiquidity: bigint; PriceNotFitIn160: bigint; }; FullMathError: { MulDivOverflow: bigint; }; TickBitmapError: { TickNotAligned: bigint; }; PathPrefixes: { Tick: bigint; Position: bigint; Word: bigint; }; PoolError: { TLU: bigint; TLM: bigint; TUM: bigint; AS: bigint; SPL: bigint; NP: bigint; UnauthorizedMint: bigint; NFTNotPartOfCollection: bigint; NFTByIndexNotSupported: bigint; UnauthorizedRewardSender: bigint; InvalidRewardParams: bigint; DexAccountNotFound: bigint; InvalidRewardIndex: bigint; RewardPeriodEnded: bigint; ZeroRewardAmount: bigint; }; }; at(address: string): PoolInstance; tests: { getCollectionUri: (params: Omit, "args">) => Promise>; totalSupply: (params: Omit, "args">) => Promise>; nftByIndex: (params: TestContractParamsWithoutMaps) => Promise>; validateNFT: (params: TestContractParamsWithoutMaps) => Promise>; getSqrtRatioAtTick: (params: TestContractParamsWithoutMaps) => Promise>; getTickAtSqrtRatio: (params: TestContractParamsWithoutMaps) => Promise>; computeSwapStep: (params: TestContractParamsWithoutMaps) => Promise>; divRoundingUp: (params: TestContractParamsWithoutMaps) => Promise>; getNextSqrtPriceFromAmount0RoundingUp: (params: TestContractParamsWithoutMaps) => Promise>; getNextSqrtPriceFromAmount1RoundingDown: (params: TestContractParamsWithoutMaps) => Promise>; getNextSqrtPriceFromInput: (params: TestContractParamsWithoutMaps) => Promise>; getNextSqrtPriceFromOutput: (params: TestContractParamsWithoutMaps) => Promise>; getAmount0DeltaEx: (params: TestContractParamsWithoutMaps) => Promise>; getAmount0Delta: (params: TestContractParamsWithoutMaps) => Promise>; getAmount1DeltaEx: (params: TestContractParamsWithoutMaps) => Promise>; getAmount1Delta: (params: TestContractParamsWithoutMaps) => Promise>; mulDiv: (params: TestContractParamsWithoutMaps) => Promise>; mulDivRoundingUp: (params: TestContractParamsWithoutMaps) => Promise>; wordPath: (params: TestContractParamsWithoutMaps) => Promise>; getWord: (params: TestContractParamsWithoutMaps) => Promise>; getWordOrTemplate: (params: TestContractParamsWithoutMaps) => Promise>; flipTick: (params: TestContractParamsWithoutMaps) => Promise>; nextInitializedTickWithinOneWord: (params: TestContractParamsWithoutMaps) => Promise>; positionPath: (params: TestContractParamsWithoutMaps) => Promise>; positionContractId: (params: TestContractParamsWithoutMaps) => Promise>; configPath: (params: TestContractParamsWithoutMaps) => Promise>; poolPath: (params: TestContractParamsWithoutMaps) => Promise>; poolContractId: (params: TestContractParamsWithoutMaps) => Promise>; checkTicks: (params: TestContractParamsWithoutMaps) => Promise>; tickPath: (params: TestContractParamsWithoutMaps) => Promise>; toTick: (params: TestContractParamsWithoutMaps) => Promise>; getTick: (params: TestContractParamsWithoutMaps) => Promise>; toPosition: (params: TestContractParamsWithoutMaps) => Promise>; getPosition: (params: TestContractParamsWithoutMaps) => Promise>; getFeeGrowthInside: (params: TestContractParamsWithoutMaps) => Promise>; updatePosition: (params: TestContractParamsWithoutMaps) => Promise>; modifyPosition: (params: TestContractParamsWithoutMaps) => Promise>; mint: (params: TestContractParamsWithoutMaps) => Promise>; burn: (params: TestContractParamsWithoutMaps) => Promise>; collect: (params: TestContractParamsWithoutMaps) => Promise>; withdraw: (params: TestContractParamsWithoutMaps) => Promise>; simulateSwap: (params: TestContractParamsWithoutMaps) => Promise>; swap: (params: TestContractParamsWithoutMaps) => Promise>; pop: (params: TestContractParamsWithoutMaps) => Promise>; swapExactOut: (params: TestContractParamsWithoutMaps) => Promise>; swapExactIn: (params: TestContractParamsWithoutMaps) => Promise>; getSqrtPricesX96: (params: TestContractParamsWithoutMaps) => Promise>; updateReward: (params: TestContractParamsWithoutMaps) => Promise>; updateRewards: (params: TestContractParamsWithoutMaps) => Promise>; extendRewards: (params: TestContractParamsWithoutMaps) => Promise>; setRewardParams: (params: TestContractParamsWithoutMaps) => Promise>; collectProtocolFees: (params: TestContractParamsWithoutMaps) => Promise>; positionInfo: (params: TestContractParamsWithoutMaps) => Promise>; getTokenUri: (params: Omit, "args">) => Promise>; }; stateForTest(initFields: PoolTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const Pool: Factory$r; declare class PoolInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; getContractEventsCurrentCount(): Promise; subscribeInitializeEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeSwapStartEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeSwapStepEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeSwapEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeMintEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeBurnEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeCollectEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeFeesEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeCollectProtocolEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeAllEvents(options: EventSubscribeOptions, fromCount?: number): EventSubscription; view: { getCollectionUri: (params?: PoolTypes.CallMethodParams<"getCollectionUri">) => Promise>; totalSupply: (params?: PoolTypes.CallMethodParams<"totalSupply">) => Promise>; nftByIndex: (params: PoolTypes.CallMethodParams<"nftByIndex">) => Promise>; validateNFT: (params: PoolTypes.CallMethodParams<"validateNFT">) => Promise>; getSqrtRatioAtTick: (params: PoolTypes.CallMethodParams<"getSqrtRatioAtTick">) => Promise>; getTickAtSqrtRatio: (params: PoolTypes.CallMethodParams<"getTickAtSqrtRatio">) => Promise>; computeSwapStep: (params: PoolTypes.CallMethodParams<"computeSwapStep">) => Promise>; divRoundingUp: (params: PoolTypes.CallMethodParams<"divRoundingUp">) => Promise>; getNextSqrtPriceFromAmount0RoundingUp: (params: PoolTypes.CallMethodParams<"getNextSqrtPriceFromAmount0RoundingUp">) => Promise>; getNextSqrtPriceFromAmount1RoundingDown: (params: PoolTypes.CallMethodParams<"getNextSqrtPriceFromAmount1RoundingDown">) => Promise>; getNextSqrtPriceFromInput: (params: PoolTypes.CallMethodParams<"getNextSqrtPriceFromInput">) => Promise>; getNextSqrtPriceFromOutput: (params: PoolTypes.CallMethodParams<"getNextSqrtPriceFromOutput">) => Promise>; getAmount0DeltaEx: (params: PoolTypes.CallMethodParams<"getAmount0DeltaEx">) => Promise>; getAmount0Delta: (params: PoolTypes.CallMethodParams<"getAmount0Delta">) => Promise>; getAmount1DeltaEx: (params: PoolTypes.CallMethodParams<"getAmount1DeltaEx">) => Promise>; getAmount1Delta: (params: PoolTypes.CallMethodParams<"getAmount1Delta">) => Promise>; mulDiv: (params: PoolTypes.CallMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: PoolTypes.CallMethodParams<"mulDivRoundingUp">) => Promise>; wordPath: (params: PoolTypes.CallMethodParams<"wordPath">) => Promise>; getWord: (params: PoolTypes.CallMethodParams<"getWord">) => Promise>; getWordOrTemplate: (params: PoolTypes.CallMethodParams<"getWordOrTemplate">) => Promise>; flipTick: (params: PoolTypes.CallMethodParams<"flipTick">) => Promise>; nextInitializedTickWithinOneWord: (params: PoolTypes.CallMethodParams<"nextInitializedTickWithinOneWord">) => Promise>; positionPath: (params: PoolTypes.CallMethodParams<"positionPath">) => Promise>; positionContractId: (params: PoolTypes.CallMethodParams<"positionContractId">) => Promise>; configPath: (params: PoolTypes.CallMethodParams<"configPath">) => Promise>; poolPath: (params: PoolTypes.CallMethodParams<"poolPath">) => Promise>; poolContractId: (params: PoolTypes.CallMethodParams<"poolContractId">) => Promise>; checkTicks: (params: PoolTypes.CallMethodParams<"checkTicks">) => Promise>; tickPath: (params: PoolTypes.CallMethodParams<"tickPath">) => Promise>; toTick: (params: PoolTypes.CallMethodParams<"toTick">) => Promise>; getTick: (params: PoolTypes.CallMethodParams<"getTick">) => Promise>; toPosition: (params: PoolTypes.CallMethodParams<"toPosition">) => Promise>; getPosition: (params: PoolTypes.CallMethodParams<"getPosition">) => Promise>; getFeeGrowthInside: (params: PoolTypes.CallMethodParams<"getFeeGrowthInside">) => Promise>; updatePosition: (params: PoolTypes.CallMethodParams<"updatePosition">) => Promise>; modifyPosition: (params: PoolTypes.CallMethodParams<"modifyPosition">) => Promise>; mint: (params: PoolTypes.CallMethodParams<"mint">) => Promise>; burn: (params: PoolTypes.CallMethodParams<"burn">) => Promise>; collect: (params: PoolTypes.CallMethodParams<"collect">) => Promise>; withdraw: (params: PoolTypes.CallMethodParams<"withdraw">) => Promise>; simulateSwap: (params: PoolTypes.CallMethodParams<"simulateSwap">) => Promise>; swap: (params: PoolTypes.CallMethodParams<"swap">) => Promise>; pop: (params: PoolTypes.CallMethodParams<"pop">) => Promise>; swapExactOut: (params: PoolTypes.CallMethodParams<"swapExactOut">) => Promise>; swapExactIn: (params: PoolTypes.CallMethodParams<"swapExactIn">) => Promise>; getSqrtPricesX96: (params: PoolTypes.CallMethodParams<"getSqrtPricesX96">) => Promise>; updateReward: (params: PoolTypes.CallMethodParams<"updateReward">) => Promise>; updateRewards: (params: PoolTypes.CallMethodParams<"updateRewards">) => Promise>; extendRewards: (params: PoolTypes.CallMethodParams<"extendRewards">) => Promise>; setRewardParams: (params: PoolTypes.CallMethodParams<"setRewardParams">) => Promise>; collectProtocolFees: (params: PoolTypes.CallMethodParams<"collectProtocolFees">) => Promise>; positionInfo: (params: PoolTypes.CallMethodParams<"positionInfo">) => Promise>; getTokenUri: (params?: PoolTypes.CallMethodParams<"getTokenUri">) => Promise>; }; transact: { getCollectionUri: (params: PoolTypes.SignExecuteMethodParams<"getCollectionUri">) => Promise>; totalSupply: (params: PoolTypes.SignExecuteMethodParams<"totalSupply">) => Promise>; nftByIndex: (params: PoolTypes.SignExecuteMethodParams<"nftByIndex">) => Promise>; validateNFT: (params: PoolTypes.SignExecuteMethodParams<"validateNFT">) => Promise>; getSqrtRatioAtTick: (params: PoolTypes.SignExecuteMethodParams<"getSqrtRatioAtTick">) => Promise>; getTickAtSqrtRatio: (params: PoolTypes.SignExecuteMethodParams<"getTickAtSqrtRatio">) => Promise>; computeSwapStep: (params: PoolTypes.SignExecuteMethodParams<"computeSwapStep">) => Promise>; divRoundingUp: (params: PoolTypes.SignExecuteMethodParams<"divRoundingUp">) => Promise>; getNextSqrtPriceFromAmount0RoundingUp: (params: PoolTypes.SignExecuteMethodParams<"getNextSqrtPriceFromAmount0RoundingUp">) => Promise>; getNextSqrtPriceFromAmount1RoundingDown: (params: PoolTypes.SignExecuteMethodParams<"getNextSqrtPriceFromAmount1RoundingDown">) => Promise>; getNextSqrtPriceFromInput: (params: PoolTypes.SignExecuteMethodParams<"getNextSqrtPriceFromInput">) => Promise>; getNextSqrtPriceFromOutput: (params: PoolTypes.SignExecuteMethodParams<"getNextSqrtPriceFromOutput">) => Promise>; getAmount0DeltaEx: (params: PoolTypes.SignExecuteMethodParams<"getAmount0DeltaEx">) => Promise>; getAmount0Delta: (params: PoolTypes.SignExecuteMethodParams<"getAmount0Delta">) => Promise>; getAmount1DeltaEx: (params: PoolTypes.SignExecuteMethodParams<"getAmount1DeltaEx">) => Promise>; getAmount1Delta: (params: PoolTypes.SignExecuteMethodParams<"getAmount1Delta">) => Promise>; mulDiv: (params: PoolTypes.SignExecuteMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: PoolTypes.SignExecuteMethodParams<"mulDivRoundingUp">) => Promise>; wordPath: (params: PoolTypes.SignExecuteMethodParams<"wordPath">) => Promise>; getWord: (params: PoolTypes.SignExecuteMethodParams<"getWord">) => Promise>; getWordOrTemplate: (params: PoolTypes.SignExecuteMethodParams<"getWordOrTemplate">) => Promise>; flipTick: (params: PoolTypes.SignExecuteMethodParams<"flipTick">) => Promise>; nextInitializedTickWithinOneWord: (params: PoolTypes.SignExecuteMethodParams<"nextInitializedTickWithinOneWord">) => Promise>; positionPath: (params: PoolTypes.SignExecuteMethodParams<"positionPath">) => Promise>; positionContractId: (params: PoolTypes.SignExecuteMethodParams<"positionContractId">) => Promise>; configPath: (params: PoolTypes.SignExecuteMethodParams<"configPath">) => Promise>; poolPath: (params: PoolTypes.SignExecuteMethodParams<"poolPath">) => Promise>; poolContractId: (params: PoolTypes.SignExecuteMethodParams<"poolContractId">) => Promise>; checkTicks: (params: PoolTypes.SignExecuteMethodParams<"checkTicks">) => Promise>; tickPath: (params: PoolTypes.SignExecuteMethodParams<"tickPath">) => Promise>; toTick: (params: PoolTypes.SignExecuteMethodParams<"toTick">) => Promise>; getTick: (params: PoolTypes.SignExecuteMethodParams<"getTick">) => Promise>; toPosition: (params: PoolTypes.SignExecuteMethodParams<"toPosition">) => Promise>; getPosition: (params: PoolTypes.SignExecuteMethodParams<"getPosition">) => Promise>; getFeeGrowthInside: (params: PoolTypes.SignExecuteMethodParams<"getFeeGrowthInside">) => Promise>; updatePosition: (params: PoolTypes.SignExecuteMethodParams<"updatePosition">) => Promise>; modifyPosition: (params: PoolTypes.SignExecuteMethodParams<"modifyPosition">) => Promise>; mint: (params: PoolTypes.SignExecuteMethodParams<"mint">) => Promise>; burn: (params: PoolTypes.SignExecuteMethodParams<"burn">) => Promise>; collect: (params: PoolTypes.SignExecuteMethodParams<"collect">) => Promise>; withdraw: (params: PoolTypes.SignExecuteMethodParams<"withdraw">) => Promise>; simulateSwap: (params: PoolTypes.SignExecuteMethodParams<"simulateSwap">) => Promise>; swap: (params: PoolTypes.SignExecuteMethodParams<"swap">) => Promise>; pop: (params: PoolTypes.SignExecuteMethodParams<"pop">) => Promise>; swapExactOut: (params: PoolTypes.SignExecuteMethodParams<"swapExactOut">) => Promise>; swapExactIn: (params: PoolTypes.SignExecuteMethodParams<"swapExactIn">) => Promise>; getSqrtPricesX96: (params: PoolTypes.SignExecuteMethodParams<"getSqrtPricesX96">) => Promise>; updateReward: (params: PoolTypes.SignExecuteMethodParams<"updateReward">) => Promise>; updateRewards: (params: PoolTypes.SignExecuteMethodParams<"updateRewards">) => Promise>; extendRewards: (params: PoolTypes.SignExecuteMethodParams<"extendRewards">) => Promise>; setRewardParams: (params: PoolTypes.SignExecuteMethodParams<"setRewardParams">) => Promise>; collectProtocolFees: (params: PoolTypes.SignExecuteMethodParams<"collectProtocolFees">) => Promise>; positionInfo: (params: PoolTypes.SignExecuteMethodParams<"positionInfo">) => Promise>; getTokenUri: (params: PoolTypes.SignExecuteMethodParams<"getTokenUri">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace PoolConfigTypes { type Fields = { config: Config; }; type State = ContractState; interface CallMethodTable { get: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { get: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$q extends ContractFactory { encodeFields(fields: PoolConfigTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; at(address: string): PoolConfigInstance; tests: { get: (params: Omit, "args">) => Promise>; }; stateForTest(initFields: PoolConfigTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const PoolConfig: Factory$q; declare class PoolConfigInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { get: (params?: PoolConfigTypes.CallMethodParams<"get">) => Promise>; }; transact: { get: (params: PoolConfigTypes.SignExecuteMethodParams<"get">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace PoolFactoryTypes { type Fields = { owner: Address; poolTemplate: HexString; positionTemplate: HexString; tickTemplate: HexString; wordTemplate: HexString; poolConfigTemplate: HexString; dexAccountTemplate: HexString; nextConfigIndex: bigint; }; type State = ContractState; type ConfigCreatedEvent = ContractEvent<{ index: bigint; }>; type PoolCreatedEvent = ContractEvent<{ id: HexString; token0: HexString; token1: HexString; configIndex: bigint; }>; type FeeTierEnabledEvent = ContractEvent<{ fee: bigint; tickSpacing: bigint; index: bigint; }>; interface CallMethodTable { configPath: { params: CallContractParams<{ configIndex_: bigint; }>; result: CallContractResult; }; poolPath: { params: CallContractParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: CallContractResult; }; poolContractId: { params: CallContractParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: CallContractResult; }; tickSpacingToMaxLiquidityPerTick: { params: CallContractParams<{ tickSpacing: bigint; }>; result: CallContractResult; }; createConfig: { params: CallContractParams<{ config: Config; }>; result: CallContractResult; }; create: { params: CallContractParams<{ token0: HexString; token1: HexString; configIndex: bigint; sqrtPriceX96: bigint; rewardToken: HexString; }>; result: CallContractResult; }; collectProtocolFees: { params: CallContractParams<{ recipient: Address; configIndex: bigint; token0: HexString; token1: HexString; }>; result: CallContractResult; }; setRewardParams: { params: CallContractParams<{ configIndex: bigint; token0: HexString; token1: HexString; payer: Address; tokenId: HexString; index: bigint; openTime: bigint; endTime: bigint; amount: bigint; }>; result: CallContractResult; }; upgrate: { params: CallContractParams<{ newBytecode: HexString; newEncodedImmFields: HexString; newEncodedMutFields: HexString; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { configPath: { params: SignExecuteContractMethodParams<{ configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; poolPath: { params: SignExecuteContractMethodParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; poolContractId: { params: SignExecuteContractMethodParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; tickSpacingToMaxLiquidityPerTick: { params: SignExecuteContractMethodParams<{ tickSpacing: bigint; }>; result: SignExecuteScriptTxResult; }; createConfig: { params: SignExecuteContractMethodParams<{ config: Config; }>; result: SignExecuteScriptTxResult; }; create: { params: SignExecuteContractMethodParams<{ token0: HexString; token1: HexString; configIndex: bigint; sqrtPriceX96: bigint; rewardToken: HexString; }>; result: SignExecuteScriptTxResult; }; collectProtocolFees: { params: SignExecuteContractMethodParams<{ recipient: Address; configIndex: bigint; token0: HexString; token1: HexString; }>; result: SignExecuteScriptTxResult; }; setRewardParams: { params: SignExecuteContractMethodParams<{ configIndex: bigint; token0: HexString; token1: HexString; payer: Address; tokenId: HexString; index: bigint; openTime: bigint; endTime: bigint; amount: bigint; }>; result: SignExecuteScriptTxResult; }; upgrate: { params: SignExecuteContractMethodParams<{ newBytecode: HexString; newEncodedImmFields: HexString; newEncodedMutFields: HexString; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$p extends ContractFactory { encodeFields(fields: PoolFactoryTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; eventIndex: { ConfigCreated: number; PoolCreated: number; FeeTierEnabled: number; }; consts: { FactoryError: { InvalidTokenOrder: bigint; UnauthorizedRewardSender: bigint; UnauthorizedFeeCollector: bigint; }; }; at(address: string): PoolFactoryInstance; tests: { configPath: (params: TestContractParamsWithoutMaps) => Promise>; poolPath: (params: TestContractParamsWithoutMaps) => Promise>; poolContractId: (params: TestContractParamsWithoutMaps) => Promise>; tickSpacingToMaxLiquidityPerTick: (params: TestContractParamsWithoutMaps) => Promise>; createConfig: (params: TestContractParamsWithoutMaps) => Promise>; create: (params: TestContractParamsWithoutMaps) => Promise>; collectProtocolFees: (params: TestContractParamsWithoutMaps) => Promise>; setRewardParams: (params: TestContractParamsWithoutMaps) => Promise>; upgrate: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: PoolFactoryTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const PoolFactory: Factory$p; declare class PoolFactoryInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; getContractEventsCurrentCount(): Promise; subscribeConfigCreatedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribePoolCreatedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeFeeTierEnabledEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeAllEvents(options: EventSubscribeOptions, fromCount?: number): EventSubscription; view: { configPath: (params: PoolFactoryTypes.CallMethodParams<"configPath">) => Promise>; poolPath: (params: PoolFactoryTypes.CallMethodParams<"poolPath">) => Promise>; poolContractId: (params: PoolFactoryTypes.CallMethodParams<"poolContractId">) => Promise>; tickSpacingToMaxLiquidityPerTick: (params: PoolFactoryTypes.CallMethodParams<"tickSpacingToMaxLiquidityPerTick">) => Promise>; createConfig: (params: PoolFactoryTypes.CallMethodParams<"createConfig">) => Promise>; create: (params: PoolFactoryTypes.CallMethodParams<"create">) => Promise>; collectProtocolFees: (params: PoolFactoryTypes.CallMethodParams<"collectProtocolFees">) => Promise>; setRewardParams: (params: PoolFactoryTypes.CallMethodParams<"setRewardParams">) => Promise>; upgrate: (params: PoolFactoryTypes.CallMethodParams<"upgrate">) => Promise>; }; transact: { configPath: (params: PoolFactoryTypes.SignExecuteMethodParams<"configPath">) => Promise>; poolPath: (params: PoolFactoryTypes.SignExecuteMethodParams<"poolPath">) => Promise>; poolContractId: (params: PoolFactoryTypes.SignExecuteMethodParams<"poolContractId">) => Promise>; tickSpacingToMaxLiquidityPerTick: (params: PoolFactoryTypes.SignExecuteMethodParams<"tickSpacingToMaxLiquidityPerTick">) => Promise>; createConfig: (params: PoolFactoryTypes.SignExecuteMethodParams<"createConfig">) => Promise>; create: (params: PoolFactoryTypes.SignExecuteMethodParams<"create">) => Promise>; collectProtocolFees: (params: PoolFactoryTypes.SignExecuteMethodParams<"collectProtocolFees">) => Promise>; setRewardParams: (params: PoolFactoryTypes.SignExecuteMethodParams<"setRewardParams">) => Promise>; upgrate: (params: PoolFactoryTypes.SignExecuteMethodParams<"upgrate">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace PoolUserTypes { type Fields = { token0: HexString; token1: HexString; token2: HexString; pool0: HexString; pool1: HexString; pool2: HexString; pool3: HexString; factory: HexString; }; type State = ContractState; interface CallMethodTable { deploy: { params: CallContractParams<{ counter: bigint; payer: Address; pool_: HexString; position_: HexString; tick_: HexString; word_: HexString; factory_: HexString; config_: HexString; dexAccount_: HexString; }>; result: CallContractResult<[ HexString, HexString, HexString, HexString, HexString, HexString, HexString, HexString ]>; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { deploy: { params: SignExecuteContractMethodParams<{ counter: bigint; payer: Address; pool_: HexString; position_: HexString; tick_: HexString; word_: HexString; factory_: HexString; config_: HexString; dexAccount_: HexString; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$o extends ContractFactory { encodeFields(fields: PoolUserTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; at(address: string): PoolUserInstance; tests: { deploy: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: PoolUserTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const PoolUser: Factory$o; declare class PoolUserInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { deploy: (params: PoolUserTypes.CallMethodParams<"deploy">) => Promise>; }; transact: { deploy: (params: PoolUserTypes.SignExecuteMethodParams<"deploy">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace PositionTypes { type Fields = { parent: Address; nftIndex: bigint; liquidity: bigint; growthsInside: [bigint, bigint, bigint]; tokensOwed: [bigint, bigint, bigint]; }; type State = ContractState; interface CallMethodTable { getTokenUri: { params: Omit, "args">; result: CallContractResult; }; getCollectionIndex: { params: Omit, "args">; result: CallContractResult<[HexString, bigint]>; }; mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; mulDivRoundingUp: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; update: { params: CallContractParams<{ liquidityDelta: bigint; growths: [bigint, bigint, bigint]; }>; result: CallContractResult<[bigint, bigint, bigint]>; }; deposit: { params: CallContractParams<{ amount0: bigint; amount1: bigint; }>; result: CallContractResult; }; collect: { params: CallContractParams<{ maxAmounts: [bigint, bigint, bigint]; }>; result: CallContractResult<[bigint, bigint, bigint]>; }; getState: { params: Omit, "args">; result: CallContractResult<[bigint, [bigint, bigint, bigint]]>; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { getTokenUri: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getCollectionIndex: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; mulDivRoundingUp: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; update: { params: SignExecuteContractMethodParams<{ liquidityDelta: bigint; growths: [bigint, bigint, bigint]; }>; result: SignExecuteScriptTxResult; }; deposit: { params: SignExecuteContractMethodParams<{ amount0: bigint; amount1: bigint; }>; result: SignExecuteScriptTxResult; }; collect: { params: SignExecuteContractMethodParams<{ maxAmounts: [bigint, bigint, bigint]; }>; result: SignExecuteScriptTxResult; }; getState: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$n extends ContractFactory { encodeFields(fields: PositionTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { FullMathError: { MulDivOverflow: bigint; }; PositionError: { NotParent: bigint; }; }; at(address: string): PositionInstance; tests: { getTokenUri: (params: Omit, "args">) => Promise>; getCollectionIndex: (params: Omit, "args">) => Promise>; mulDiv: (params: TestContractParamsWithoutMaps) => Promise>; mulDivRoundingUp: (params: TestContractParamsWithoutMaps) => Promise>; update: (params: TestContractParamsWithoutMaps) => Promise>; deposit: (params: TestContractParamsWithoutMaps) => Promise>; collect: (params: TestContractParamsWithoutMaps) => Promise>; getState: (params: Omit, "args">) => Promise>; }; stateForTest(initFields: PositionTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const Position: Factory$n; declare class PositionInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { getTokenUri: (params?: PositionTypes.CallMethodParams<"getTokenUri">) => Promise>; getCollectionIndex: (params?: PositionTypes.CallMethodParams<"getCollectionIndex">) => Promise>; mulDiv: (params: PositionTypes.CallMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: PositionTypes.CallMethodParams<"mulDivRoundingUp">) => Promise>; update: (params: PositionTypes.CallMethodParams<"update">) => Promise>; deposit: (params: PositionTypes.CallMethodParams<"deposit">) => Promise>; collect: (params: PositionTypes.CallMethodParams<"collect">) => Promise>; getState: (params?: PositionTypes.CallMethodParams<"getState">) => Promise>; }; transact: { getTokenUri: (params: PositionTypes.SignExecuteMethodParams<"getTokenUri">) => Promise>; getCollectionIndex: (params: PositionTypes.SignExecuteMethodParams<"getCollectionIndex">) => Promise>; mulDiv: (params: PositionTypes.SignExecuteMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: PositionTypes.SignExecuteMethodParams<"mulDivRoundingUp">) => Promise>; update: (params: PositionTypes.SignExecuteMethodParams<"update">) => Promise>; deposit: (params: PositionTypes.SignExecuteMethodParams<"deposit">) => Promise>; collect: (params: PositionTypes.SignExecuteMethodParams<"collect">) => Promise>; getState: (params: PositionTypes.SignExecuteMethodParams<"getState">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace PositionManagerTypes { type Fields = { parent: HexString; }; type State = ContractState; interface CallMethodTable { addLiquidity: { params: CallContractParams<{ payer: Address; p: ModifyLiquidityParams; }>; result: CallContractResult<[bigint, bigint, bigint, HexString]>; }; getLiquidityForAmount0: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; }>; result: CallContractResult; }; getLiquidityForAmount1: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount1: bigint; }>; result: CallContractResult; }; getLiquidityForAmounts: { params: CallContractParams<{ sqrtRatioX96: bigint; sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; amount1: bigint; }>; result: CallContractResult; }; getAmount0ForLiquidity: { params: CallContractParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidity: bigint; }>; result: CallContractResult; }; mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; mulDivRoundingUp: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; configPath: { params: CallContractParams<{ configIndex_: bigint; }>; result: CallContractResult; }; poolPath: { params: CallContractParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: CallContractResult; }; poolContractId: { params: CallContractParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: CallContractResult; }; positionPath: { params: CallContractParams<{ o: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; positionContractId: { params: CallContractParams<{ pool: HexString; o: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; increaseLiquidity: { params: CallContractParams<{ payer: Address; p: ModifyLiquidityParams; }>; result: CallContractResult; }; decreaseLiquidity: { params: CallContractParams<{ operator: Address; liquidity: bigint; p: DecreaseLiquidityParams; }>; result: CallContractResult; }; collect: { params: CallContractParams<{ operator: Address; liquidity: bigint; p: CollectParams; }>; result: CallContractResult; }; getSqrtPricesX96: { params: CallContractParams<{ pool: HexString; owner: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult<[bigint, bigint, bigint, bigint]>; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { addLiquidity: { params: SignExecuteContractMethodParams<{ payer: Address; p: ModifyLiquidityParams; }>; result: SignExecuteScriptTxResult; }; getLiquidityForAmount0: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; }>; result: SignExecuteScriptTxResult; }; getLiquidityForAmount1: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount1: bigint; }>; result: SignExecuteScriptTxResult; }; getLiquidityForAmounts: { params: SignExecuteContractMethodParams<{ sqrtRatioX96: bigint; sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; amount1: bigint; }>; result: SignExecuteScriptTxResult; }; getAmount0ForLiquidity: { params: SignExecuteContractMethodParams<{ sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidity: bigint; }>; result: SignExecuteScriptTxResult; }; mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; mulDivRoundingUp: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; configPath: { params: SignExecuteContractMethodParams<{ configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; poolPath: { params: SignExecuteContractMethodParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; poolContractId: { params: SignExecuteContractMethodParams<{ factory: HexString; tokens: HexString; configIndex_: bigint; }>; result: SignExecuteScriptTxResult; }; positionPath: { params: SignExecuteContractMethodParams<{ o: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; positionContractId: { params: SignExecuteContractMethodParams<{ pool: HexString; o: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; increaseLiquidity: { params: SignExecuteContractMethodParams<{ payer: Address; p: ModifyLiquidityParams; }>; result: SignExecuteScriptTxResult; }; decreaseLiquidity: { params: SignExecuteContractMethodParams<{ operator: Address; liquidity: bigint; p: DecreaseLiquidityParams; }>; result: SignExecuteScriptTxResult; }; collect: { params: SignExecuteContractMethodParams<{ operator: Address; liquidity: bigint; p: CollectParams; }>; result: SignExecuteScriptTxResult; }; getSqrtPricesX96: { params: SignExecuteContractMethodParams<{ pool: HexString; owner: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$m extends ContractFactory { encodeFields(fields: PositionManagerTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { LiquidityManagmentError: { MintSlippage: bigint; BurnSlippage: bigint; }; FullMathError: { MulDivOverflow: bigint; }; PathPrefixes: { Tick: bigint; Position: bigint; Word: bigint; }; }; at(address: string): PositionManagerInstance; tests: { addLiquidity: (params: TestContractParamsWithoutMaps) => Promise>; getLiquidityForAmount0: (params: TestContractParamsWithoutMaps) => Promise>; getLiquidityForAmount1: (params: TestContractParamsWithoutMaps) => Promise>; getLiquidityForAmounts: (params: TestContractParamsWithoutMaps) => Promise>; getAmount0ForLiquidity: (params: TestContractParamsWithoutMaps) => Promise>; mulDiv: (params: TestContractParamsWithoutMaps) => Promise>; mulDivRoundingUp: (params: TestContractParamsWithoutMaps) => Promise>; configPath: (params: TestContractParamsWithoutMaps) => Promise>; poolPath: (params: TestContractParamsWithoutMaps) => Promise>; poolContractId: (params: TestContractParamsWithoutMaps) => Promise>; positionPath: (params: TestContractParamsWithoutMaps) => Promise>; positionContractId: (params: TestContractParamsWithoutMaps) => Promise>; increaseLiquidity: (params: TestContractParamsWithoutMaps) => Promise>; decreaseLiquidity: (params: TestContractParamsWithoutMaps) => Promise>; collect: (params: TestContractParamsWithoutMaps) => Promise>; getSqrtPricesX96: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: PositionManagerTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const PositionManager: Factory$m; declare class PositionManagerInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { addLiquidity: (params: PositionManagerTypes.CallMethodParams<"addLiquidity">) => Promise>; getLiquidityForAmount0: (params: PositionManagerTypes.CallMethodParams<"getLiquidityForAmount0">) => Promise>; getLiquidityForAmount1: (params: PositionManagerTypes.CallMethodParams<"getLiquidityForAmount1">) => Promise>; getLiquidityForAmounts: (params: PositionManagerTypes.CallMethodParams<"getLiquidityForAmounts">) => Promise>; getAmount0ForLiquidity: (params: PositionManagerTypes.CallMethodParams<"getAmount0ForLiquidity">) => Promise>; mulDiv: (params: PositionManagerTypes.CallMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: PositionManagerTypes.CallMethodParams<"mulDivRoundingUp">) => Promise>; configPath: (params: PositionManagerTypes.CallMethodParams<"configPath">) => Promise>; poolPath: (params: PositionManagerTypes.CallMethodParams<"poolPath">) => Promise>; poolContractId: (params: PositionManagerTypes.CallMethodParams<"poolContractId">) => Promise>; positionPath: (params: PositionManagerTypes.CallMethodParams<"positionPath">) => Promise>; positionContractId: (params: PositionManagerTypes.CallMethodParams<"positionContractId">) => Promise>; increaseLiquidity: (params: PositionManagerTypes.CallMethodParams<"increaseLiquidity">) => Promise>; decreaseLiquidity: (params: PositionManagerTypes.CallMethodParams<"decreaseLiquidity">) => Promise>; collect: (params: PositionManagerTypes.CallMethodParams<"collect">) => Promise>; getSqrtPricesX96: (params: PositionManagerTypes.CallMethodParams<"getSqrtPricesX96">) => Promise>; }; transact: { addLiquidity: (params: PositionManagerTypes.SignExecuteMethodParams<"addLiquidity">) => Promise>; getLiquidityForAmount0: (params: PositionManagerTypes.SignExecuteMethodParams<"getLiquidityForAmount0">) => Promise>; getLiquidityForAmount1: (params: PositionManagerTypes.SignExecuteMethodParams<"getLiquidityForAmount1">) => Promise>; getLiquidityForAmounts: (params: PositionManagerTypes.SignExecuteMethodParams<"getLiquidityForAmounts">) => Promise>; getAmount0ForLiquidity: (params: PositionManagerTypes.SignExecuteMethodParams<"getAmount0ForLiquidity">) => Promise>; mulDiv: (params: PositionManagerTypes.SignExecuteMethodParams<"mulDiv">) => Promise>; mulDivRoundingUp: (params: PositionManagerTypes.SignExecuteMethodParams<"mulDivRoundingUp">) => Promise>; configPath: (params: PositionManagerTypes.SignExecuteMethodParams<"configPath">) => Promise>; poolPath: (params: PositionManagerTypes.SignExecuteMethodParams<"poolPath">) => Promise>; poolContractId: (params: PositionManagerTypes.SignExecuteMethodParams<"poolContractId">) => Promise>; positionPath: (params: PositionManagerTypes.SignExecuteMethodParams<"positionPath">) => Promise>; positionContractId: (params: PositionManagerTypes.SignExecuteMethodParams<"positionContractId">) => Promise>; increaseLiquidity: (params: PositionManagerTypes.SignExecuteMethodParams<"increaseLiquidity">) => Promise>; decreaseLiquidity: (params: PositionManagerTypes.SignExecuteMethodParams<"decreaseLiquidity">) => Promise>; collect: (params: PositionManagerTypes.SignExecuteMethodParams<"collect">) => Promise>; getSqrtPricesX96: (params: PositionManagerTypes.SignExecuteMethodParams<"getSqrtPricesX96">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace TestTokenTypes$1 { type Fields = { symbol: HexString; name: HexString; decimals: bigint; }; type State = ContractState; interface CallMethodTable { getSymbol: { params: Omit, "args">; result: CallContractResult; }; getName: { params: Omit, "args">; result: CallContractResult; }; getDecimals: { params: Omit, "args">; result: CallContractResult; }; getTotalSupply: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { getSymbol: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getName: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getDecimals: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getTotalSupply: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$l extends ContractFactory { encodeFields(fields: TestTokenTypes$1.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; at(address: string): TestTokenInstance$1; tests: { getSymbol: (params: Omit, "args">) => Promise>; getName: (params: Omit, "args">) => Promise>; getDecimals: (params: Omit, "args">) => Promise>; getTotalSupply: (params: Omit, "args">) => Promise>; }; stateForTest(initFields: TestTokenTypes$1.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const TestToken$1: Factory$l; declare class TestTokenInstance$1 extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { getSymbol: (params?: TestTokenTypes$1.CallMethodParams<"getSymbol">) => Promise>; getName: (params?: TestTokenTypes$1.CallMethodParams<"getName">) => Promise>; getDecimals: (params?: TestTokenTypes$1.CallMethodParams<"getDecimals">) => Promise>; getTotalSupply: (params?: TestTokenTypes$1.CallMethodParams<"getTotalSupply">) => Promise>; }; transact: { getSymbol: (params: TestTokenTypes$1.SignExecuteMethodParams<"getSymbol">) => Promise>; getName: (params: TestTokenTypes$1.SignExecuteMethodParams<"getName">) => Promise>; getDecimals: (params: TestTokenTypes$1.SignExecuteMethodParams<"getDecimals">) => Promise>; getTotalSupply: (params: TestTokenTypes$1.SignExecuteMethodParams<"getTotalSupply">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace TickTypes { type Fields = { parent: Address; tick: bigint; liquidityGross: bigint; liquidityNet: bigint; feeGrowthsOutside: [bigint, bigint, bigint]; }; type State = ContractState; interface CallMethodTable { update: { params: CallContractParams<{ maxLiquidity: bigint; liquidityDelta: bigint; upper: boolean; }>; result: CallContractResult; }; feeGrowthBelow: { params: CallContractParams<{ tickCurrent: bigint; globalGrowths: [bigint, bigint, bigint]; }>; result: CallContractResult<[bigint, bigint, bigint]>; }; feeGrowthAbove: { params: CallContractParams<{ tickCurrent: bigint; globalGrowths: [bigint, bigint, bigint]; }>; result: CallContractResult<[bigint, bigint, bigint]>; }; clear: { params: CallContractParams<{ payer: Address; }>; result: CallContractResult; }; cross: { params: CallContractParams<{ globalGrowths: [bigint, bigint, bigint]; zeroForOne: boolean; feeGrowthGlobalX128: bigint; }>; result: CallContractResult; }; getLiquidityNet: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { update: { params: SignExecuteContractMethodParams<{ maxLiquidity: bigint; liquidityDelta: bigint; upper: boolean; }>; result: SignExecuteScriptTxResult; }; feeGrowthBelow: { params: SignExecuteContractMethodParams<{ tickCurrent: bigint; globalGrowths: [bigint, bigint, bigint]; }>; result: SignExecuteScriptTxResult; }; feeGrowthAbove: { params: SignExecuteContractMethodParams<{ tickCurrent: bigint; globalGrowths: [bigint, bigint, bigint]; }>; result: SignExecuteScriptTxResult; }; clear: { params: SignExecuteContractMethodParams<{ payer: Address; }>; result: SignExecuteScriptTxResult; }; cross: { params: SignExecuteContractMethodParams<{ globalGrowths: [bigint, bigint, bigint]; zeroForOne: boolean; feeGrowthGlobalX128: bigint; }>; result: SignExecuteScriptTxResult; }; getLiquidityNet: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$k extends ContractFactory { encodeFields(fields: TickTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { TickError: { NotParent: bigint; LO: bigint; LS: bigint; }; }; at(address: string): TickInstance; tests: { update: (params: TestContractParamsWithoutMaps) => Promise>; feeGrowthBelow: (params: TestContractParamsWithoutMaps) => Promise>; feeGrowthAbove: (params: TestContractParamsWithoutMaps) => Promise>; clear: (params: TestContractParamsWithoutMaps) => Promise>; cross: (params: TestContractParamsWithoutMaps) => Promise>; getLiquidityNet: (params: Omit, "args">) => Promise>; }; stateForTest(initFields: TickTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const Tick: Factory$k; declare class TickInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { update: (params: TickTypes.CallMethodParams<"update">) => Promise>; feeGrowthBelow: (params: TickTypes.CallMethodParams<"feeGrowthBelow">) => Promise>; feeGrowthAbove: (params: TickTypes.CallMethodParams<"feeGrowthAbove">) => Promise>; clear: (params: TickTypes.CallMethodParams<"clear">) => Promise>; cross: (params: TickTypes.CallMethodParams<"cross">) => Promise>; getLiquidityNet: (params?: TickTypes.CallMethodParams<"getLiquidityNet">) => Promise>; }; transact: { update: (params: TickTypes.SignExecuteMethodParams<"update">) => Promise>; feeGrowthBelow: (params: TickTypes.SignExecuteMethodParams<"feeGrowthBelow">) => Promise>; feeGrowthAbove: (params: TickTypes.SignExecuteMethodParams<"feeGrowthAbove">) => Promise>; clear: (params: TickTypes.SignExecuteMethodParams<"clear">) => Promise>; cross: (params: TickTypes.SignExecuteMethodParams<"cross">) => Promise>; getLiquidityNet: (params: TickTypes.SignExecuteMethodParams<"getLiquidityNet">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace TickBitmapTestTypes { type Fields = { wordTemplate: HexString; tickSpacing: bigint; }; type State = ContractState; interface CallMethodTable { wordPath: { params: CallContractParams<{ compressed: bigint; }>; result: CallContractResult; }; getWord: { params: CallContractParams<{ compressed: bigint; }>; result: CallContractResult; }; getWordOrTemplate: { params: CallContractParams<{ compressed: bigint; }>; result: CallContractResult; }; flipTick: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult; }; nextInitializedTickWithinOneWord: { params: CallContractParams<{ tick: bigint; zeroForOne: boolean; }>; result: CallContractResult<[bigint, boolean]>; }; positionPath: { params: CallContractParams<{ o: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; positionContractId: { params: CallContractParams<{ pool: HexString; o: Address; tickLower: bigint; tickUpper: bigint; }>; result: CallContractResult; }; deploy: { params: CallContractParams<{ payer: Address; word: HexString; ts: bigint; }>; result: CallContractResult; }; flipTick_: { params: CallContractParams<{ tick: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { wordPath: { params: SignExecuteContractMethodParams<{ compressed: bigint; }>; result: SignExecuteScriptTxResult; }; getWord: { params: SignExecuteContractMethodParams<{ compressed: bigint; }>; result: SignExecuteScriptTxResult; }; getWordOrTemplate: { params: SignExecuteContractMethodParams<{ compressed: bigint; }>; result: SignExecuteScriptTxResult; }; flipTick: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; nextInitializedTickWithinOneWord: { params: SignExecuteContractMethodParams<{ tick: bigint; zeroForOne: boolean; }>; result: SignExecuteScriptTxResult; }; positionPath: { params: SignExecuteContractMethodParams<{ o: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; positionContractId: { params: SignExecuteContractMethodParams<{ pool: HexString; o: Address; tickLower: bigint; tickUpper: bigint; }>; result: SignExecuteScriptTxResult; }; deploy: { params: SignExecuteContractMethodParams<{ payer: Address; word: HexString; ts: bigint; }>; result: SignExecuteScriptTxResult; }; flipTick_: { params: SignExecuteContractMethodParams<{ tick: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$j extends ContractFactory { encodeFields(fields: TickBitmapTestTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { TickBitmapError: { TickNotAligned: bigint; }; PathPrefixes: { Tick: bigint; Position: bigint; Word: bigint; }; }; at(address: string): TickBitmapTestInstance; tests: { wordPath: (params: TestContractParamsWithoutMaps) => Promise>; getWord: (params: TestContractParamsWithoutMaps) => Promise>; getWordOrTemplate: (params: TestContractParamsWithoutMaps) => Promise>; flipTick: (params: TestContractParamsWithoutMaps) => Promise>; nextInitializedTickWithinOneWord: (params: TestContractParamsWithoutMaps) => Promise>; positionPath: (params: TestContractParamsWithoutMaps) => Promise>; positionContractId: (params: TestContractParamsWithoutMaps) => Promise>; deploy: (params: TestContractParamsWithoutMaps) => Promise>; flipTick_: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: TickBitmapTestTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const TickBitmapTest: Factory$j; declare class TickBitmapTestInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { wordPath: (params: TickBitmapTestTypes.CallMethodParams<"wordPath">) => Promise>; getWord: (params: TickBitmapTestTypes.CallMethodParams<"getWord">) => Promise>; getWordOrTemplate: (params: TickBitmapTestTypes.CallMethodParams<"getWordOrTemplate">) => Promise>; flipTick: (params: TickBitmapTestTypes.CallMethodParams<"flipTick">) => Promise>; nextInitializedTickWithinOneWord: (params: TickBitmapTestTypes.CallMethodParams<"nextInitializedTickWithinOneWord">) => Promise>; positionPath: (params: TickBitmapTestTypes.CallMethodParams<"positionPath">) => Promise>; positionContractId: (params: TickBitmapTestTypes.CallMethodParams<"positionContractId">) => Promise>; deploy: (params: TickBitmapTestTypes.CallMethodParams<"deploy">) => Promise>; flipTick_: (params: TickBitmapTestTypes.CallMethodParams<"flipTick_">) => Promise>; }; transact: { wordPath: (params: TickBitmapTestTypes.SignExecuteMethodParams<"wordPath">) => Promise>; getWord: (params: TickBitmapTestTypes.SignExecuteMethodParams<"getWord">) => Promise>; getWordOrTemplate: (params: TickBitmapTestTypes.SignExecuteMethodParams<"getWordOrTemplate">) => Promise>; flipTick: (params: TickBitmapTestTypes.SignExecuteMethodParams<"flipTick">) => Promise>; nextInitializedTickWithinOneWord: (params: TickBitmapTestTypes.SignExecuteMethodParams<"nextInitializedTickWithinOneWord">) => Promise>; positionPath: (params: TickBitmapTestTypes.SignExecuteMethodParams<"positionPath">) => Promise>; positionContractId: (params: TickBitmapTestTypes.SignExecuteMethodParams<"positionContractId">) => Promise>; deploy: (params: TickBitmapTestTypes.SignExecuteMethodParams<"deploy">) => Promise>; flipTick_: (params: TickBitmapTestTypes.SignExecuteMethodParams<"flipTick_">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare function getAllContracts$2(): ContractFactory[]; declare function registerContract$2(factory: ContractFactory): void; declare function getContractByCodeHash$2(codeHash: string): Contract; declare const CreateConfig: ExecutableScript<{ factory: HexString; tickSpacing: bigint; fee: bigint; feeProtocol: bigint; configIndex: bigint; }, null>; declare const CreateLiquidPool: ExecutableScript<{ factory: HexString; token0: HexString; token1: HexString; configIndex: bigint; sqrtPriceX96: bigint; rewardToken: HexString; tickLower: bigint; tickUpper: bigint; liquidity: bigint; amount0: bigint; amount1: bigint; }, null>; declare const PoolRouterDemo: ExecutableScript<{ pool_: HexString; position_: HexString; tick_: HexString; word_: HexString; factory_: HexString; user_: HexString; config_: HexString; dexAccount_: HexString; counter: bigint; }, null>; declare const SwapWithoutAccount: ExecutableScript<{ dexAccount: HexString; pool: HexString; tokenIn: HexString; tokenOut: HexString; zeroForOne: boolean; amountSpecified: bigint; sqrtPriceLimitX96: bigint; data: HexString; }, null>; declare const scripts$1_CreateConfig: typeof CreateConfig; declare const scripts$1_CreateLiquidPool: typeof CreateLiquidPool; declare const scripts$1_PoolRouterDemo: typeof PoolRouterDemo; declare const scripts$1_SwapWithoutAccount: typeof SwapWithoutAccount; declare namespace scripts$1 { export { scripts$1_CreateConfig as CreateConfig, scripts$1_CreateLiquidPool as CreateLiquidPool, scripts$1_PoolRouterDemo as PoolRouterDemo, scripts$1_SwapWithoutAccount as SwapWithoutAccount }; } declare const index$2_BitmapWord: typeof BitmapWord; declare const index$2_BitmapWordDeployer: typeof BitmapWordDeployer; type index$2_BitmapWordDeployerInstance = BitmapWordDeployerInstance; declare const index$2_BitmapWordDeployerInstance: typeof BitmapWordDeployerInstance; declare const index$2_BitmapWordDeployerTypes: typeof BitmapWordDeployerTypes; type index$2_BitmapWordInstance = BitmapWordInstance; declare const index$2_BitmapWordInstance: typeof BitmapWordInstance; declare const index$2_BitmapWordTypes: typeof BitmapWordTypes; declare const index$2_CreateConfig: typeof CreateConfig; declare const index$2_CreateLiquidPool: typeof CreateLiquidPool; declare const index$2_LiquidityAmountsTest: typeof LiquidityAmountsTest; type index$2_LiquidityAmountsTestInstance = LiquidityAmountsTestInstance; declare const index$2_LiquidityAmountsTestInstance: typeof LiquidityAmountsTestInstance; declare const index$2_LiquidityAmountsTestTypes: typeof LiquidityAmountsTestTypes; declare const index$2_LiquidityManagmentTest: typeof LiquidityManagmentTest; type index$2_LiquidityManagmentTestInstance = LiquidityManagmentTestInstance; declare const index$2_LiquidityManagmentTestInstance: typeof LiquidityManagmentTestInstance; declare const index$2_LiquidityManagmentTestTypes: typeof LiquidityManagmentTestTypes; declare const index$2_Pool: typeof Pool; declare const index$2_PoolConfig: typeof PoolConfig; type index$2_PoolConfigInstance = PoolConfigInstance; declare const index$2_PoolConfigInstance: typeof PoolConfigInstance; declare const index$2_PoolConfigTypes: typeof PoolConfigTypes; declare const index$2_PoolFactory: typeof PoolFactory; type index$2_PoolFactoryInstance = PoolFactoryInstance; declare const index$2_PoolFactoryInstance: typeof PoolFactoryInstance; declare const index$2_PoolFactoryTypes: typeof PoolFactoryTypes; type index$2_PoolInstance = PoolInstance; declare const index$2_PoolInstance: typeof PoolInstance; declare const index$2_PoolRouterDemo: typeof PoolRouterDemo; declare const index$2_PoolTypes: typeof PoolTypes; declare const index$2_PoolUser: typeof PoolUser; type index$2_PoolUserInstance = PoolUserInstance; declare const index$2_PoolUserInstance: typeof PoolUserInstance; declare const index$2_PoolUserTypes: typeof PoolUserTypes; declare const index$2_Position: typeof Position; type index$2_PositionInstance = PositionInstance; declare const index$2_PositionInstance: typeof PositionInstance; declare const index$2_PositionManager: typeof PositionManager; type index$2_PositionManagerInstance = PositionManagerInstance; declare const index$2_PositionManagerInstance: typeof PositionManagerInstance; declare const index$2_PositionManagerTypes: typeof PositionManagerTypes; declare const index$2_PositionTypes: typeof PositionTypes; declare const index$2_SwapWithoutAccount: typeof SwapWithoutAccount; declare const index$2_Tick: typeof Tick; declare const index$2_TickBitmapTest: typeof TickBitmapTest; type index$2_TickBitmapTestInstance = TickBitmapTestInstance; declare const index$2_TickBitmapTestInstance: typeof TickBitmapTestInstance; declare const index$2_TickBitmapTestTypes: typeof TickBitmapTestTypes; type index$2_TickInstance = TickInstance; declare const index$2_TickInstance: typeof TickInstance; declare const index$2_TickTypes: typeof TickTypes; declare namespace index$2 { export { index$2_BitmapWord as BitmapWord, index$2_BitmapWordDeployer as BitmapWordDeployer, index$2_BitmapWordDeployerInstance as BitmapWordDeployerInstance, index$2_BitmapWordDeployerTypes as BitmapWordDeployerTypes, index$2_BitmapWordInstance as BitmapWordInstance, index$2_BitmapWordTypes as BitmapWordTypes, index$2_CreateConfig as CreateConfig, index$2_CreateLiquidPool as CreateLiquidPool, DexAccount$1 as DexAccount, DexAccountInstance$1 as DexAccountInstance, DexAccountTypes$1 as DexAccountTypes, index$2_LiquidityAmountsTest as LiquidityAmountsTest, index$2_LiquidityAmountsTestInstance as LiquidityAmountsTestInstance, index$2_LiquidityAmountsTestTypes as LiquidityAmountsTestTypes, index$2_LiquidityManagmentTest as LiquidityManagmentTest, index$2_LiquidityManagmentTestInstance as LiquidityManagmentTestInstance, index$2_LiquidityManagmentTestTypes as LiquidityManagmentTestTypes, index$2_Pool as Pool, index$2_PoolConfig as PoolConfig, index$2_PoolConfigInstance as PoolConfigInstance, index$2_PoolConfigTypes as PoolConfigTypes, index$2_PoolFactory as PoolFactory, index$2_PoolFactoryInstance as PoolFactoryInstance, index$2_PoolFactoryTypes as PoolFactoryTypes, index$2_PoolInstance as PoolInstance, index$2_PoolRouterDemo as PoolRouterDemo, index$2_PoolTypes as PoolTypes, index$2_PoolUser as PoolUser, index$2_PoolUserInstance as PoolUserInstance, index$2_PoolUserTypes as PoolUserTypes, index$2_Position as Position, index$2_PositionInstance as PositionInstance, index$2_PositionManager as PositionManager, index$2_PositionManagerInstance as PositionManagerInstance, index$2_PositionManagerTypes as PositionManagerTypes, index$2_PositionTypes as PositionTypes, index$2_SwapWithoutAccount as SwapWithoutAccount, TestToken$1 as TestToken, TestTokenInstance$1 as TestTokenInstance, TestTokenTypes$1 as TestTokenTypes, index$2_Tick as Tick, index$2_TickBitmapTest as TickBitmapTest, index$2_TickBitmapTestInstance as TickBitmapTestInstance, index$2_TickBitmapTestTypes as TickBitmapTestTypes, index$2_TickInstance as TickInstance, index$2_TickTypes as TickTypes, getAllContracts$2 as getAllContracts, getContractByCodeHash$2 as getContractByCodeHash, registerContract$2 as registerContract }; } declare class ClmmModule extends ModuleBase { private config; private configsByIndex; constructor(scope: Zeta); setConfig(config: ClmmConfig): void; getClmmConfig(): ClmmConfig; getPoolConfigId(configIndex: bigint): string; getAllPoolConfigs(): Promise; getPoolConfig(configIndex: bigint): Promise; private fetchConfigFromChain; getPoolState(poolId: string): Promise; getPoolTokenBalances(poolId: string): Promise<{ token0Balance: bigint; token1Balance: bigint; }>; getPoolId(tokenA: string, tokenB: string, configIndex: bigint): string; getPositionId(poolId: string, owner: string, tickLower: bigint, tickUpper: bigint): string; getPoolAddress(tokenA: string, tokenB: string, configIndex: bigint): string; getPool(tokenA: string, tokenB: string, configIndex: bigint): PoolInstance; poolExists(tokenA: string, tokenB: string, configIndex: bigint): Promise; createPool(configIndex: bigint, token0: string, token1: string, rewardToken: string, tick: bigint, amount0: bigint, amount1: bigint, tickLower: bigint, tickUpper: bigint, dustAmount?: bigint): Promise<{ poolAddress: string; result: SignExecuteScriptTxResult; }>; addLiquidity(p: AddLiquidity$1): Promise<{ positionId: string; result: SignExecuteScriptTxResult; }>; removeLiquidity(p: RemoveLiquidity$1): Promise<{ positionId: string; result: SignExecuteScriptTxResult; }>; positionInfo({ poolId, ...args }: PositionPath): Promise; collectTokens(p: CollectTokens): Promise<{ positionId: string; result: SignExecuteScriptTxResult; }>; findBestRoute(token0: string, token1: string): Promise; simulateSwap(p: SimulateSwap): Promise; swap(p: ClmmSwapParams): Promise; collectProtocolFees(p: CollectProtocolFees): Promise; setRewardParams(p: SetRewardParams): Promise; extendRewards(p: ExtendRewards): Promise; private _getClmmConfig; } declare class TokenModule extends ModuleBase { private readonly cacheTimeDays; private cache?; private readonly cacheTimeMs; constructor(scope: Zeta, cacheTimeDays?: number); getTokens(): Promise; getTokenById(id: string): Promise; getTokenBySymbol(symbol: string): Promise; getTokenInfoBy(fn: (token: TokenInfo) => boolean): Promise; fetchTokens(): Promise; private isCacheValid; private extractTokens; private validateTokenListResponse; private validateTokenInfo; } declare namespace AlphUnstakeVaultTypes { type Fields = { xalphToken: HexString; unstakerAddress: Address; totalUnstakeAmount: bigint; unstakeStartTime: bigint; unstakeDuration: bigint; withdrawnAmount: bigint; }; type State = ContractState; interface CallMethodTable { mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; getTotalUnstakeAmount: { params: Omit, "args">; result: CallContractResult; }; getClaimableAmount: { params: Omit, "args">; result: CallContractResult; }; claim: { params: CallContractParams<{ amount: bigint; }>; result: CallContractResult; }; destroy: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; getTotalUnstakeAmount: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getClaimableAmount: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; claim: { params: SignExecuteContractMethodParams<{ amount: bigint; }>; result: SignExecuteScriptTxResult; }; destroy: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$i extends ContractFactory { encodeFields(fields: AlphUnstakeVaultTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { FullMathError: { DivByZero: bigint; MulDivOverflow: bigint; }; ErrorCodes: { InvalidCaller: bigint; InsufficientClaimableAmount: bigint; InvalidUnstakeDuration: bigint; InvalidTimestamp: bigint; }; }; at(address: string): AlphUnstakeVaultInstance; tests: { mulDiv: (params: TestContractParamsWithoutMaps) => Promise>; getTotalUnstakeAmount: (params: Omit, "args">) => Promise>; getClaimableAmount: (params: Omit, "args">) => Promise>; claim: (params: TestContractParamsWithoutMaps) => Promise>; destroy: (params: Omit, "args">) => Promise>; }; stateForTest(initFields: AlphUnstakeVaultTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const AlphUnstakeVault: Factory$i; declare class AlphUnstakeVaultInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { mulDiv: (params: AlphUnstakeVaultTypes.CallMethodParams<"mulDiv">) => Promise>; getTotalUnstakeAmount: (params?: AlphUnstakeVaultTypes.CallMethodParams<"getTotalUnstakeAmount">) => Promise>; getClaimableAmount: (params?: AlphUnstakeVaultTypes.CallMethodParams<"getClaimableAmount">) => Promise>; claim: (params: AlphUnstakeVaultTypes.CallMethodParams<"claim">) => Promise>; destroy: (params?: AlphUnstakeVaultTypes.CallMethodParams<"destroy">) => Promise>; }; transact: { mulDiv: (params: AlphUnstakeVaultTypes.SignExecuteMethodParams<"mulDiv">) => Promise>; getTotalUnstakeAmount: (params: AlphUnstakeVaultTypes.SignExecuteMethodParams<"getTotalUnstakeAmount">) => Promise>; getClaimableAmount: (params: AlphUnstakeVaultTypes.SignExecuteMethodParams<"getClaimableAmount">) => Promise>; claim: (params: AlphUnstakeVaultTypes.SignExecuteMethodParams<"claim">) => Promise>; destroy: (params: AlphUnstakeVaultTypes.SignExecuteMethodParams<"destroy">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace FullMathTestTypes$1 { type State = Omit, "fields">; interface CallMethodTable { mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$h extends ContractFactory { encodeFields(): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { FullMathError: { DivByZero: bigint; MulDivOverflow: bigint; }; }; at(address: string): FullMathTestInstance$1; tests: { mulDiv: (params: Omit, "initialFields">) => Promise>; }; stateForTest(initFields: {}, asset?: Asset, address?: string): ContractState<{}> | _alephium_web3.ContractStateWithMaps<{}, Record>>; } declare const FullMathTest$1: Factory$h; declare class FullMathTestInstance$1 extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { mulDiv: (params: FullMathTestTypes$1.CallMethodParams<"mulDiv">) => Promise>; }; transact: { mulDiv: (params: FullMathTestTypes$1.SignExecuteMethodParams<"mulDiv">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } interface UserRewardSharingInfo extends Record { amount: bigint; rewardPerToken: bigint; } interface UserStakingInfo extends Record { amount: bigint; connectedDapps: HexString; } interface VoteInfo extends Record { proposalVoted: bigint; amount: bigint; } declare namespace GovernanceDemoTypes { type Fields = { xalphStakeVault: HexString; proposalOptions: [bigint, bigint, bigint, bigint]; owner: Address; totalVotedAmount: bigint; votingStartTime: bigint; votingEndTime: bigint; }; type State = ContractState; type VotingStartedEvent = ContractEvent<{ votingStartTime: bigint; }>; type VoteCastEvent = ContractEvent<{ voter: Address; proposalVoted: bigint; amount: bigint; }>; type VotingEndedEvent = ContractEvent<{ votingEndTime: bigint; }>; interface CallMethodTable { onStake: { params: CallContractParams<{ user: Address; addedAmount: bigint; }>; result: CallContractResult; }; onUnstake: { params: CallContractParams<{ user: Address; removedAmount: bigint; }>; result: CallContractResult; }; startVoting: { params: Omit, "args">; result: CallContractResult; }; endVoting: { params: Omit, "args">; result: CallContractResult; }; getProposalOptions: { params: Omit, "args">; result: CallContractResult<[bigint, bigint, bigint, bigint]>; }; getUserVote: { params: CallContractParams<{ user: Address; }>; result: CallContractResult; }; getProposalVotes: { params: CallContractParams<{ proposal: bigint; }>; result: CallContractResult; }; getTotalVotedAmount: { params: Omit, "args">; result: CallContractResult; }; vote: { params: CallContractParams<{ proposal: bigint; }>; result: CallContractResult; }; isVotingStarted: { params: Omit, "args">; result: CallContractResult; }; isVotingEnded: { params: Omit, "args">; result: CallContractResult; }; isVotingActive: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { onStake: { params: SignExecuteContractMethodParams<{ user: Address; addedAmount: bigint; }>; result: SignExecuteScriptTxResult; }; onUnstake: { params: SignExecuteContractMethodParams<{ user: Address; removedAmount: bigint; }>; result: SignExecuteScriptTxResult; }; startVoting: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; endVoting: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getProposalOptions: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getUserVote: { params: SignExecuteContractMethodParams<{ user: Address; }>; result: SignExecuteScriptTxResult; }; getProposalVotes: { params: SignExecuteContractMethodParams<{ proposal: bigint; }>; result: SignExecuteScriptTxResult; }; getTotalVotedAmount: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; vote: { params: SignExecuteContractMethodParams<{ proposal: bigint; }>; result: SignExecuteScriptTxResult; }; isVotingStarted: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; isVotingEnded: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; isVotingActive: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; type Maps = { userVotes?: Map; proposalVotes?: Map; }; } declare class Factory$g extends ContractFactory { encodeFields(fields: GovernanceDemoTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; eventIndex: { VotingStarted: number; VoteCast: number; VotingEnded: number; }; consts: { ErrorCodes: { AssetAddressCallerOnly: bigint; UserNotStaked: bigint; InvalidVoteProposal: bigint; VotingNotStarted: bigint; VotingAlreadyStarted: bigint; VotingAlreadyEnded: bigint; AlreadyVoted: bigint; OwnerOnly: bigint; StakeVaultCallerOnly: bigint; }; }; at(address: string): GovernanceDemoInstance; tests: { onStake: (params: TestContractParams) => Promise>; onUnstake: (params: TestContractParams) => Promise>; startVoting: (params: Omit, "args">) => Promise>; endVoting: (params: Omit, "args">) => Promise>; getProposalOptions: (params: Omit, "args">) => Promise>; getUserVote: (params: TestContractParams) => Promise>; getProposalVotes: (params: TestContractParams) => Promise>; getTotalVotedAmount: (params: Omit, "args">) => Promise>; vote: (params: TestContractParams) => Promise>; isVotingStarted: (params: Omit, "args">) => Promise>; isVotingEnded: (params: Omit, "args">) => Promise>; isVotingActive: (params: Omit, "args">) => Promise>; }; stateForTest(initFields: GovernanceDemoTypes.Fields, asset?: Asset, address?: string, maps?: GovernanceDemoTypes.Maps): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const GovernanceDemo: Factory$g; declare class GovernanceDemoInstance extends ContractInstance { constructor(address: Address); maps: { userVotes: RalphMap; proposalVotes: RalphMap; }; fetchState(): Promise; getContractEventsCurrentCount(): Promise; subscribeVotingStartedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeVoteCastEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeVotingEndedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeAllEvents(options: EventSubscribeOptions, fromCount?: number): EventSubscription; view: { onStake: (params: GovernanceDemoTypes.CallMethodParams<"onStake">) => Promise>; onUnstake: (params: GovernanceDemoTypes.CallMethodParams<"onUnstake">) => Promise>; startVoting: (params?: GovernanceDemoTypes.CallMethodParams<"startVoting">) => Promise>; endVoting: (params?: GovernanceDemoTypes.CallMethodParams<"endVoting">) => Promise>; getProposalOptions: (params?: GovernanceDemoTypes.CallMethodParams<"getProposalOptions">) => Promise>; getUserVote: (params: GovernanceDemoTypes.CallMethodParams<"getUserVote">) => Promise>; getProposalVotes: (params: GovernanceDemoTypes.CallMethodParams<"getProposalVotes">) => Promise>; getTotalVotedAmount: (params?: GovernanceDemoTypes.CallMethodParams<"getTotalVotedAmount">) => Promise>; vote: (params: GovernanceDemoTypes.CallMethodParams<"vote">) => Promise>; isVotingStarted: (params?: GovernanceDemoTypes.CallMethodParams<"isVotingStarted">) => Promise>; isVotingEnded: (params?: GovernanceDemoTypes.CallMethodParams<"isVotingEnded">) => Promise>; isVotingActive: (params?: GovernanceDemoTypes.CallMethodParams<"isVotingActive">) => Promise>; }; transact: { onStake: (params: GovernanceDemoTypes.SignExecuteMethodParams<"onStake">) => Promise>; onUnstake: (params: GovernanceDemoTypes.SignExecuteMethodParams<"onUnstake">) => Promise>; startVoting: (params: GovernanceDemoTypes.SignExecuteMethodParams<"startVoting">) => Promise>; endVoting: (params: GovernanceDemoTypes.SignExecuteMethodParams<"endVoting">) => Promise>; getProposalOptions: (params: GovernanceDemoTypes.SignExecuteMethodParams<"getProposalOptions">) => Promise>; getUserVote: (params: GovernanceDemoTypes.SignExecuteMethodParams<"getUserVote">) => Promise>; getProposalVotes: (params: GovernanceDemoTypes.SignExecuteMethodParams<"getProposalVotes">) => Promise>; getTotalVotedAmount: (params: GovernanceDemoTypes.SignExecuteMethodParams<"getTotalVotedAmount">) => Promise>; vote: (params: GovernanceDemoTypes.SignExecuteMethodParams<"vote">) => Promise>; isVotingStarted: (params: GovernanceDemoTypes.SignExecuteMethodParams<"isVotingStarted">) => Promise>; isVotingEnded: (params: GovernanceDemoTypes.SignExecuteMethodParams<"isVotingEnded">) => Promise>; isVotingActive: (params: GovernanceDemoTypes.SignExecuteMethodParams<"isVotingActive">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace RewardSharingVaultTypes { type Fields = { stakeVault: HexString; rewardTokenId: HexString; totalAmountStaked: bigint; rewardPerTokenCumulative: bigint; }; type State = ContractState; type StakedEvent = ContractEvent<{ staker: Address; amount: bigint; }>; type UnstakedEvent = ContractEvent<{ staker: Address; amount: bigint; }>; type RewardDepositedEvent = ContractEvent<{ depositor: Address; amount: bigint; }>; type RewardClaimedEvent = ContractEvent<{ staker: Address; amount: bigint; }>; interface CallMethodTable { onStake: { params: CallContractParams<{ user: Address; newStakedAmount: bigint; }>; result: CallContractResult; }; onUnstake: { params: CallContractParams<{ user: Address; unstakedAmount: bigint; }>; result: CallContractResult; }; mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; depositReward: { params: CallContractParams<{ amount: bigint; }>; result: CallContractResult; }; claimPendingRewards: { params: Omit, "args">; result: CallContractResult; }; claimUserPendingRewards: { params: CallContractParams<{ user: Address; }>; result: CallContractResult; }; getUserPendingRewards: { params: CallContractParams<{ user: Address; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { onStake: { params: SignExecuteContractMethodParams<{ user: Address; newStakedAmount: bigint; }>; result: SignExecuteScriptTxResult; }; onUnstake: { params: SignExecuteContractMethodParams<{ user: Address; unstakedAmount: bigint; }>; result: SignExecuteScriptTxResult; }; mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; depositReward: { params: SignExecuteContractMethodParams<{ amount: bigint; }>; result: SignExecuteScriptTxResult; }; claimPendingRewards: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; claimUserPendingRewards: { params: SignExecuteContractMethodParams<{ user: Address; }>; result: SignExecuteScriptTxResult; }; getUserPendingRewards: { params: SignExecuteContractMethodParams<{ user: Address; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; type Maps = { userRewardSharingInfo?: Map; }; } declare class Factory$f extends ContractFactory { encodeFields(fields: RewardSharingVaultTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; eventIndex: { Staked: number; Unstaked: number; RewardDeposited: number; RewardClaimed: number; }; consts: { SCALING_FACTOR: bigint; FullMathError: { DivByZero: bigint; MulDivOverflow: bigint; }; ErrorCodes: { StakeVaultCallerOnly: bigint; NoUserRewardSharingInfo: bigint; TotalStakedAmountIsZero: bigint; InvalidStakedAmount: bigint; InvalidUnstakedAmount: bigint; }; }; at(address: string): RewardSharingVaultInstance; tests: { onStake: (params: TestContractParams) => Promise>; onUnstake: (params: TestContractParams) => Promise>; mulDiv: (params: TestContractParams) => Promise>; depositReward: (params: TestContractParams) => Promise>; claimPendingRewards: (params: Omit, "args">) => Promise>; claimUserPendingRewards: (params: TestContractParams) => Promise>; getUserPendingRewards: (params: TestContractParams) => Promise>; }; stateForTest(initFields: RewardSharingVaultTypes.Fields, asset?: Asset, address?: string, maps?: RewardSharingVaultTypes.Maps): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const RewardSharingVault: Factory$f; declare class RewardSharingVaultInstance extends ContractInstance { constructor(address: Address); maps: { userRewardSharingInfo: RalphMap; }; fetchState(): Promise; getContractEventsCurrentCount(): Promise; subscribeStakedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeUnstakedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeRewardDepositedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeRewardClaimedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeAllEvents(options: EventSubscribeOptions, fromCount?: number): EventSubscription; view: { onStake: (params: RewardSharingVaultTypes.CallMethodParams<"onStake">) => Promise>; onUnstake: (params: RewardSharingVaultTypes.CallMethodParams<"onUnstake">) => Promise>; mulDiv: (params: RewardSharingVaultTypes.CallMethodParams<"mulDiv">) => Promise>; depositReward: (params: RewardSharingVaultTypes.CallMethodParams<"depositReward">) => Promise>; claimPendingRewards: (params?: RewardSharingVaultTypes.CallMethodParams<"claimPendingRewards">) => Promise>; claimUserPendingRewards: (params: RewardSharingVaultTypes.CallMethodParams<"claimUserPendingRewards">) => Promise>; getUserPendingRewards: (params: RewardSharingVaultTypes.CallMethodParams<"getUserPendingRewards">) => Promise>; }; transact: { onStake: (params: RewardSharingVaultTypes.SignExecuteMethodParams<"onStake">) => Promise>; onUnstake: (params: RewardSharingVaultTypes.SignExecuteMethodParams<"onUnstake">) => Promise>; mulDiv: (params: RewardSharingVaultTypes.SignExecuteMethodParams<"mulDiv">) => Promise>; depositReward: (params: RewardSharingVaultTypes.SignExecuteMethodParams<"depositReward">) => Promise>; claimPendingRewards: (params: RewardSharingVaultTypes.SignExecuteMethodParams<"claimPendingRewards">) => Promise>; claimUserPendingRewards: (params: RewardSharingVaultTypes.SignExecuteMethodParams<"claimUserPendingRewards">) => Promise>; getUserPendingRewards: (params: RewardSharingVaultTypes.SignExecuteMethodParams<"getUserPendingRewards">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace TestDynamicArrayByteVec32Types { type State = Omit, "fields">; interface CallMethodTable { get: { params: CallContractParams<{ array: HexString; index: bigint; }>; result: CallContractResult; }; find: { params: CallContractParams<{ array: HexString; value: HexString; }>; result: CallContractResult; }; remove: { params: CallContractParams<{ array: HexString; value: HexString; }>; result: CallContractResult; }; push: { params: CallContractParams<{ array: HexString; value: HexString; }>; result: CallContractResult; }; removeAt: { params: CallContractParams<{ array: HexString; index: bigint; }>; result: CallContractResult; }; size: { params: CallContractParams<{ array: HexString; }>; result: CallContractResult; }; empty: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { get: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; find: { params: SignExecuteContractMethodParams<{ array: HexString; value: HexString; }>; result: SignExecuteScriptTxResult; }; remove: { params: SignExecuteContractMethodParams<{ array: HexString; value: HexString; }>; result: SignExecuteScriptTxResult; }; push: { params: SignExecuteContractMethodParams<{ array: HexString; value: HexString; }>; result: SignExecuteScriptTxResult; }; removeAt: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; size: { params: SignExecuteContractMethodParams<{ array: HexString; }>; result: SignExecuteScriptTxResult; }; empty: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$e extends ContractFactory { encodeFields(): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { IntByteLength: bigint; ErrorCode: { InvalidArrayLength: bigint; IndexOutOfBound: bigint; InvalidByteVecLength: bigint; }; }; at(address: string): TestDynamicArrayByteVec32Instance; tests: { get: (params: Omit, "initialFields">) => Promise>; find: (params: Omit, "initialFields">) => Promise>; remove: (params: Omit, "initialFields">) => Promise>; push: (params: Omit, "initialFields">) => Promise>; removeAt: (params: Omit, "initialFields">) => Promise>; size: (params: Omit, "initialFields">) => Promise>; empty: (params?: Omit, "args" | "initialFields">) => Promise>; }; stateForTest(initFields: {}, asset?: Asset, address?: string): ContractState<{}> | _alephium_web3.ContractStateWithMaps<{}, Record>>; } declare const TestDynamicArrayByteVec32: Factory$e; declare class TestDynamicArrayByteVec32Instance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { get: (params: TestDynamicArrayByteVec32Types.CallMethodParams<"get">) => Promise>; find: (params: TestDynamicArrayByteVec32Types.CallMethodParams<"find">) => Promise>; remove: (params: TestDynamicArrayByteVec32Types.CallMethodParams<"remove">) => Promise>; push: (params: TestDynamicArrayByteVec32Types.CallMethodParams<"push">) => Promise>; removeAt: (params: TestDynamicArrayByteVec32Types.CallMethodParams<"removeAt">) => Promise>; size: (params: TestDynamicArrayByteVec32Types.CallMethodParams<"size">) => Promise>; empty: (params?: TestDynamicArrayByteVec32Types.CallMethodParams<"empty">) => Promise>; }; transact: { get: (params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"get">) => Promise>; find: (params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"find">) => Promise>; remove: (params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"remove">) => Promise>; push: (params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"push">) => Promise>; removeAt: (params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"removeAt">) => Promise>; size: (params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"size">) => Promise>; empty: (params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"empty">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace TestDynamicSortedArrayForU256Types { type State = Omit, "fields">; interface CallMethodTable { get: { params: CallContractParams<{ array: HexString; index: bigint; }>; result: CallContractResult; }; find: { params: CallContractParams<{ array: HexString; value: bigint; }>; result: CallContractResult; }; remove: { params: CallContractParams<{ array: HexString; value: bigint; }>; result: CallContractResult; }; push: { params: CallContractParams<{ array: HexString; value: bigint; }>; result: CallContractResult; }; binarySearch: { params: CallContractParams<{ array: HexString; value: bigint; left: bigint; right: bigint; }>; result: CallContractResult; }; removeAt: { params: CallContractParams<{ array: HexString; index: bigint; }>; result: CallContractResult; }; size: { params: CallContractParams<{ array: HexString; }>; result: CallContractResult; }; empty: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { get: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; find: { params: SignExecuteContractMethodParams<{ array: HexString; value: bigint; }>; result: SignExecuteScriptTxResult; }; remove: { params: SignExecuteContractMethodParams<{ array: HexString; value: bigint; }>; result: SignExecuteScriptTxResult; }; push: { params: SignExecuteContractMethodParams<{ array: HexString; value: bigint; }>; result: SignExecuteScriptTxResult; }; binarySearch: { params: SignExecuteContractMethodParams<{ array: HexString; value: bigint; left: bigint; right: bigint; }>; result: SignExecuteScriptTxResult; }; removeAt: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; size: { params: SignExecuteContractMethodParams<{ array: HexString; }>; result: SignExecuteScriptTxResult; }; empty: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$d extends ContractFactory { encodeFields(): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { IntByteLength: bigint; ErrorCode: { InvalidArrayLength: bigint; IndexOutOfBound: bigint; InvalidByteVecLength: bigint; }; }; at(address: string): TestDynamicSortedArrayForU256Instance; tests: { get: (params: Omit, "initialFields">) => Promise>; find: (params: Omit, "initialFields">) => Promise>; remove: (params: Omit, "initialFields">) => Promise>; push: (params: Omit, "initialFields">) => Promise>; binarySearch: (params: Omit, "initialFields">) => Promise>; removeAt: (params: Omit, "initialFields">) => Promise>; size: (params: Omit, "initialFields">) => Promise>; empty: (params?: Omit, "args" | "initialFields">) => Promise>; }; stateForTest(initFields: {}, asset?: Asset, address?: string): ContractState<{}> | _alephium_web3.ContractStateWithMaps<{}, Record>>; } declare const TestDynamicSortedArrayForU256: Factory$d; declare class TestDynamicSortedArrayForU256Instance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { get: (params: TestDynamicSortedArrayForU256Types.CallMethodParams<"get">) => Promise>; find: (params: TestDynamicSortedArrayForU256Types.CallMethodParams<"find">) => Promise>; remove: (params: TestDynamicSortedArrayForU256Types.CallMethodParams<"remove">) => Promise>; push: (params: TestDynamicSortedArrayForU256Types.CallMethodParams<"push">) => Promise>; binarySearch: (params: TestDynamicSortedArrayForU256Types.CallMethodParams<"binarySearch">) => Promise>; removeAt: (params: TestDynamicSortedArrayForU256Types.CallMethodParams<"removeAt">) => Promise>; size: (params: TestDynamicSortedArrayForU256Types.CallMethodParams<"size">) => Promise>; empty: (params?: TestDynamicSortedArrayForU256Types.CallMethodParams<"empty">) => Promise>; }; transact: { get: (params: TestDynamicSortedArrayForU256Types.SignExecuteMethodParams<"get">) => Promise>; find: (params: TestDynamicSortedArrayForU256Types.SignExecuteMethodParams<"find">) => Promise>; remove: (params: TestDynamicSortedArrayForU256Types.SignExecuteMethodParams<"remove">) => Promise>; push: (params: TestDynamicSortedArrayForU256Types.SignExecuteMethodParams<"push">) => Promise>; binarySearch: (params: TestDynamicSortedArrayForU256Types.SignExecuteMethodParams<"binarySearch">) => Promise>; removeAt: (params: TestDynamicSortedArrayForU256Types.SignExecuteMethodParams<"removeAt">) => Promise>; size: (params: TestDynamicSortedArrayForU256Types.SignExecuteMethodParams<"size">) => Promise>; empty: (params: TestDynamicSortedArrayForU256Types.SignExecuteMethodParams<"empty">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace TestMerkleProofTypes { type Fields = { merkleRoot: HexString; }; type State = ContractState; type UpdateRootEvent = ContractEvent<{ newMerkleRoot: HexString; updatedBy: Address; }>; interface CallMethodTable { getMerkleRoot: { params: Omit, "args">; result: CallContractResult; }; updateRoot: { params: CallContractParams<{ newMerkleRoot: HexString; }>; result: CallContractResult; }; verify: { params: CallContractParams<{ proof: HexString; dataHash: HexString; }>; result: CallContractResult; }; hashPair: { params: CallContractParams<{ a: HexString; b: HexString; }>; result: CallContractResult; }; hash: { params: CallContractParams<{ dataToHash: HexString; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { getMerkleRoot: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; updateRoot: { params: SignExecuteContractMethodParams<{ newMerkleRoot: HexString; }>; result: SignExecuteScriptTxResult; }; verify: { params: SignExecuteContractMethodParams<{ proof: HexString; dataHash: HexString; }>; result: SignExecuteScriptTxResult; }; hashPair: { params: SignExecuteContractMethodParams<{ a: HexString; b: HexString; }>; result: SignExecuteScriptTxResult; }; hash: { params: SignExecuteContractMethodParams<{ dataToHash: HexString; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$c extends ContractFactory { encodeFields(fields: TestMerkleProofTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; eventIndex: { UpdateRoot: number; }; consts: { MerkleProofErrorCodes: { InvalidProofSize: bigint; InvalidDataHash: bigint; InvalidMerkleRoot: bigint; }; }; at(address: string): TestMerkleProofInstance; tests: { getMerkleRoot: (params: Omit, "args">) => Promise>; updateRoot: (params: TestContractParamsWithoutMaps) => Promise>; verify: (params: TestContractParamsWithoutMaps) => Promise>; hashPair: (params: TestContractParamsWithoutMaps) => Promise>; hash: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: TestMerkleProofTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const TestMerkleProof: Factory$c; declare class TestMerkleProofInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; getContractEventsCurrentCount(): Promise; subscribeUpdateRootEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; view: { getMerkleRoot: (params?: TestMerkleProofTypes.CallMethodParams<"getMerkleRoot">) => Promise>; updateRoot: (params: TestMerkleProofTypes.CallMethodParams<"updateRoot">) => Promise>; verify: (params: TestMerkleProofTypes.CallMethodParams<"verify">) => Promise>; hashPair: (params: TestMerkleProofTypes.CallMethodParams<"hashPair">) => Promise>; hash: (params: TestMerkleProofTypes.CallMethodParams<"hash">) => Promise>; }; transact: { getMerkleRoot: (params: TestMerkleProofTypes.SignExecuteMethodParams<"getMerkleRoot">) => Promise>; updateRoot: (params: TestMerkleProofTypes.SignExecuteMethodParams<"updateRoot">) => Promise>; verify: (params: TestMerkleProofTypes.SignExecuteMethodParams<"verify">) => Promise>; hashPair: (params: TestMerkleProofTypes.SignExecuteMethodParams<"hashPair">) => Promise>; hash: (params: TestMerkleProofTypes.SignExecuteMethodParams<"hash">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace XAlphStakeVaultTypes { type Fields = { stakeTokenId: HexString; maxConnectedDapps: bigint; merkleRoot: HexString; totalStakedAmount: bigint; owner: Address; }; type State = ContractState; type UpdateRootEvent = ContractEvent<{ newMerkleRoot: HexString; updatedBy: Address; }>; type StakedEvent = ContractEvent<{ staker: Address; amount: bigint; }>; type UnstakedEvent = ContractEvent<{ staker: Address; amount: bigint; }>; interface CallMethodTable { get: { params: CallContractParams<{ array: HexString; index: bigint; }>; result: CallContractResult; }; find: { params: CallContractParams<{ array: HexString; value: HexString; }>; result: CallContractResult; }; remove: { params: CallContractParams<{ array: HexString; value: HexString; }>; result: CallContractResult; }; push: { params: CallContractParams<{ array: HexString; value: HexString; }>; result: CallContractResult; }; removeAt: { params: CallContractParams<{ array: HexString; index: bigint; }>; result: CallContractResult; }; size: { params: CallContractParams<{ array: HexString; }>; result: CallContractResult; }; empty: { params: Omit, "args">; result: CallContractResult; }; getMerkleRoot: { params: Omit, "args">; result: CallContractResult; }; updateRoot: { params: CallContractParams<{ newMerkleRoot: HexString; }>; result: CallContractResult; }; verify: { params: CallContractParams<{ proof: HexString; dataHash: HexString; }>; result: CallContractResult; }; hashPair: { params: CallContractParams<{ a: HexString; b: HexString; }>; result: CallContractResult; }; hash: { params: CallContractParams<{ dataToHash: HexString; }>; result: CallContractResult; }; getStakeTokenId: { params: Omit, "args">; result: CallContractResult; }; getUserStakingInfo: { params: CallContractParams<{ user: Address; }>; result: CallContractResult; }; isStaking: { params: CallContractParams<{ user: Address; }>; result: CallContractResult; }; stake: { params: CallContractParams<{ amount: bigint; }>; result: CallContractResult; }; unstake: { params: CallContractParams<{ amount: bigint; }>; result: CallContractResult; }; connectToDapp: { params: CallContractParams<{ contractId: HexString; merkleProof: HexString; }>; result: CallContractResult; }; disconnectFromDapp: { params: CallContractParams<{ contractId: HexString; }>; result: CallContractResult; }; getWeight: { params: CallContractParams<{ user: Address; }>; result: CallContractResult; }; updateDappTemplatesWhitelistMerkleRoot: { params: CallContractParams<{ newMerkleRoot: HexString; }>; result: CallContractResult; }; updateOwner: { params: CallContractParams<{ newOwner: Address; }>; result: CallContractResult; }; verifyDappTemplatesWhiteListed: { params: CallContractParams<{ proof: HexString; contractId: HexString; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { get: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; find: { params: SignExecuteContractMethodParams<{ array: HexString; value: HexString; }>; result: SignExecuteScriptTxResult; }; remove: { params: SignExecuteContractMethodParams<{ array: HexString; value: HexString; }>; result: SignExecuteScriptTxResult; }; push: { params: SignExecuteContractMethodParams<{ array: HexString; value: HexString; }>; result: SignExecuteScriptTxResult; }; removeAt: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; size: { params: SignExecuteContractMethodParams<{ array: HexString; }>; result: SignExecuteScriptTxResult; }; empty: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getMerkleRoot: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; updateRoot: { params: SignExecuteContractMethodParams<{ newMerkleRoot: HexString; }>; result: SignExecuteScriptTxResult; }; verify: { params: SignExecuteContractMethodParams<{ proof: HexString; dataHash: HexString; }>; result: SignExecuteScriptTxResult; }; hashPair: { params: SignExecuteContractMethodParams<{ a: HexString; b: HexString; }>; result: SignExecuteScriptTxResult; }; hash: { params: SignExecuteContractMethodParams<{ dataToHash: HexString; }>; result: SignExecuteScriptTxResult; }; getStakeTokenId: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getUserStakingInfo: { params: SignExecuteContractMethodParams<{ user: Address; }>; result: SignExecuteScriptTxResult; }; isStaking: { params: SignExecuteContractMethodParams<{ user: Address; }>; result: SignExecuteScriptTxResult; }; stake: { params: SignExecuteContractMethodParams<{ amount: bigint; }>; result: SignExecuteScriptTxResult; }; unstake: { params: SignExecuteContractMethodParams<{ amount: bigint; }>; result: SignExecuteScriptTxResult; }; connectToDapp: { params: SignExecuteContractMethodParams<{ contractId: HexString; merkleProof: HexString; }>; result: SignExecuteScriptTxResult; }; disconnectFromDapp: { params: SignExecuteContractMethodParams<{ contractId: HexString; }>; result: SignExecuteScriptTxResult; }; getWeight: { params: SignExecuteContractMethodParams<{ user: Address; }>; result: SignExecuteScriptTxResult; }; updateDappTemplatesWhitelistMerkleRoot: { params: SignExecuteContractMethodParams<{ newMerkleRoot: HexString; }>; result: SignExecuteScriptTxResult; }; updateOwner: { params: SignExecuteContractMethodParams<{ newOwner: Address; }>; result: SignExecuteScriptTxResult; }; verifyDappTemplatesWhiteListed: { params: SignExecuteContractMethodParams<{ proof: HexString; contractId: HexString; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; type Maps = { userStakingInfo?: Map; }; } declare class Factory$b extends ContractFactory { encodeFields(fields: XAlphStakeVaultTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; eventIndex: { UpdateRoot: number; Staked: number; Unstaked: number; }; consts: { IntByteLength: bigint; WEIGHT_SCALING_FACTOR: bigint; ErrorCode: { InvalidArrayLength: bigint; IndexOutOfBound: bigint; InvalidByteVecLength: bigint; }; MerkleProofErrorCodes: { InvalidProofSize: bigint; InvalidDataHash: bigint; InvalidMerkleRoot: bigint; }; ErrorCodes: { NotOwner: bigint; AssetAddressCallerOnly: bigint; NoStakingInfo: bigint; InsufficientStakedAmount: bigint; InvalidStakedAmount: bigint; InvalidUnstakedAmount: bigint; MaxConnectedDappsReached: bigint; DappAlreadyConnected: bigint; DappNotConnected: bigint; DappNotAllowed: bigint; }; }; at(address: string): XAlphStakeVaultInstance; tests: { get: (params: TestContractParams) => Promise>; find: (params: TestContractParams) => Promise>; remove: (params: TestContractParams) => Promise>; push: (params: TestContractParams) => Promise>; removeAt: (params: TestContractParams) => Promise>; size: (params: TestContractParams) => Promise>; empty: (params: Omit, "args">) => Promise>; getMerkleRoot: (params: Omit, "args">) => Promise>; updateRoot: (params: TestContractParams) => Promise>; verify: (params: TestContractParams) => Promise>; hashPair: (params: TestContractParams) => Promise>; hash: (params: TestContractParams) => Promise>; getStakeTokenId: (params: Omit, "args">) => Promise>; getUserStakingInfo: (params: TestContractParams) => Promise>; isStaking: (params: TestContractParams) => Promise>; stake: (params: TestContractParams) => Promise>; unstake: (params: TestContractParams) => Promise>; connectToDapp: (params: TestContractParams) => Promise>; disconnectFromDapp: (params: TestContractParams) => Promise>; getWeight: (params: TestContractParams) => Promise>; updateDappTemplatesWhitelistMerkleRoot: (params: TestContractParams) => Promise>; updateOwner: (params: TestContractParams) => Promise>; verifyDappTemplatesWhiteListed: (params: TestContractParams) => Promise>; }; stateForTest(initFields: XAlphStakeVaultTypes.Fields, asset?: Asset, address?: string, maps?: XAlphStakeVaultTypes.Maps): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const XAlphStakeVault: Factory$b; declare class XAlphStakeVaultInstance extends ContractInstance { constructor(address: Address); maps: { userStakingInfo: RalphMap; }; fetchState(): Promise; getContractEventsCurrentCount(): Promise; subscribeUpdateRootEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeStakedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeUnstakedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeAllEvents(options: EventSubscribeOptions, fromCount?: number): EventSubscription; view: { get: (params: XAlphStakeVaultTypes.CallMethodParams<"get">) => Promise>; find: (params: XAlphStakeVaultTypes.CallMethodParams<"find">) => Promise>; remove: (params: XAlphStakeVaultTypes.CallMethodParams<"remove">) => Promise>; push: (params: XAlphStakeVaultTypes.CallMethodParams<"push">) => Promise>; removeAt: (params: XAlphStakeVaultTypes.CallMethodParams<"removeAt">) => Promise>; size: (params: XAlphStakeVaultTypes.CallMethodParams<"size">) => Promise>; empty: (params?: XAlphStakeVaultTypes.CallMethodParams<"empty">) => Promise>; getMerkleRoot: (params?: XAlphStakeVaultTypes.CallMethodParams<"getMerkleRoot">) => Promise>; updateRoot: (params: XAlphStakeVaultTypes.CallMethodParams<"updateRoot">) => Promise>; verify: (params: XAlphStakeVaultTypes.CallMethodParams<"verify">) => Promise>; hashPair: (params: XAlphStakeVaultTypes.CallMethodParams<"hashPair">) => Promise>; hash: (params: XAlphStakeVaultTypes.CallMethodParams<"hash">) => Promise>; getStakeTokenId: (params?: XAlphStakeVaultTypes.CallMethodParams<"getStakeTokenId">) => Promise>; getUserStakingInfo: (params: XAlphStakeVaultTypes.CallMethodParams<"getUserStakingInfo">) => Promise>; isStaking: (params: XAlphStakeVaultTypes.CallMethodParams<"isStaking">) => Promise>; stake: (params: XAlphStakeVaultTypes.CallMethodParams<"stake">) => Promise>; unstake: (params: XAlphStakeVaultTypes.CallMethodParams<"unstake">) => Promise>; connectToDapp: (params: XAlphStakeVaultTypes.CallMethodParams<"connectToDapp">) => Promise>; disconnectFromDapp: (params: XAlphStakeVaultTypes.CallMethodParams<"disconnectFromDapp">) => Promise>; getWeight: (params: XAlphStakeVaultTypes.CallMethodParams<"getWeight">) => Promise>; updateDappTemplatesWhitelistMerkleRoot: (params: XAlphStakeVaultTypes.CallMethodParams<"updateDappTemplatesWhitelistMerkleRoot">) => Promise>; updateOwner: (params: XAlphStakeVaultTypes.CallMethodParams<"updateOwner">) => Promise>; verifyDappTemplatesWhiteListed: (params: XAlphStakeVaultTypes.CallMethodParams<"verifyDappTemplatesWhiteListed">) => Promise>; }; transact: { get: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"get">) => Promise>; find: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"find">) => Promise>; remove: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"remove">) => Promise>; push: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"push">) => Promise>; removeAt: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"removeAt">) => Promise>; size: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"size">) => Promise>; empty: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"empty">) => Promise>; getMerkleRoot: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"getMerkleRoot">) => Promise>; updateRoot: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"updateRoot">) => Promise>; verify: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"verify">) => Promise>; hashPair: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"hashPair">) => Promise>; hash: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"hash">) => Promise>; getStakeTokenId: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"getStakeTokenId">) => Promise>; getUserStakingInfo: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"getUserStakingInfo">) => Promise>; isStaking: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"isStaking">) => Promise>; stake: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"stake">) => Promise>; unstake: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"unstake">) => Promise>; connectToDapp: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"connectToDapp">) => Promise>; disconnectFromDapp: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"disconnectFromDapp">) => Promise>; getWeight: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"getWeight">) => Promise>; updateDappTemplatesWhitelistMerkleRoot: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"updateDappTemplatesWhitelistMerkleRoot">) => Promise>; updateOwner: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"updateOwner">) => Promise>; verifyDappTemplatesWhiteListed: (params: XAlphStakeVaultTypes.SignExecuteMethodParams<"verifyDappTemplatesWhiteListed">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace XAlphTokenTypes { type Fields = { symbol: HexString; name: HexString; decimals: bigint; unstakeVaultTemplateId: HexString; maxActiveUnstakeRequestsPerUser: bigint; unstakeDuration: bigint; totalStaked: bigint; lastUnstakeVaultIndex: bigint; }; type State = ContractState; type StakedEvent = ContractEvent<{ to: Address; amount: bigint; }>; type UnstakeScheduledEvent = ContractEvent<{ to: Address; amount: bigint; }>; interface CallMethodTable { getSymbol: { params: Omit, "args">; result: CallContractResult; }; getName: { params: Omit, "args">; result: CallContractResult; }; getDecimals: { params: Omit, "args">; result: CallContractResult; }; getTotalSupply: { params: Omit, "args">; result: CallContractResult; }; get: { params: CallContractParams<{ array: HexString; index: bigint; }>; result: CallContractResult; }; find: { params: CallContractParams<{ array: HexString; value: bigint; }>; result: CallContractResult; }; remove: { params: CallContractParams<{ array: HexString; value: bigint; }>; result: CallContractResult; }; push: { params: CallContractParams<{ array: HexString; value: bigint; }>; result: CallContractResult; }; binarySearch: { params: CallContractParams<{ array: HexString; value: bigint; left: bigint; right: bigint; }>; result: CallContractResult; }; removeAt: { params: CallContractParams<{ array: HexString; index: bigint; }>; result: CallContractResult; }; size: { params: CallContractParams<{ array: HexString; }>; result: CallContractResult; }; empty: { params: Omit, "args">; result: CallContractResult; }; stake: { params: CallContractParams<{ amount: bigint; }>; result: CallContractResult; }; startUnstake: { params: CallContractParams<{ amount: bigint; }>; result: CallContractResult; }; getActiveUnstakeVaultIndexes: { params: CallContractParams<{ caller: Address; }>; result: CallContractResult; }; getClaimableAmount: { params: CallContractParams<{ user: Address; vaultIndex: bigint; }>; result: CallContractResult; }; claimUnstaked: { params: CallContractParams<{ vaultIndex: bigint; amount: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { getSymbol: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getName: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getDecimals: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getTotalSupply: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; get: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; find: { params: SignExecuteContractMethodParams<{ array: HexString; value: bigint; }>; result: SignExecuteScriptTxResult; }; remove: { params: SignExecuteContractMethodParams<{ array: HexString; value: bigint; }>; result: SignExecuteScriptTxResult; }; push: { params: SignExecuteContractMethodParams<{ array: HexString; value: bigint; }>; result: SignExecuteScriptTxResult; }; binarySearch: { params: SignExecuteContractMethodParams<{ array: HexString; value: bigint; left: bigint; right: bigint; }>; result: SignExecuteScriptTxResult; }; removeAt: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; size: { params: SignExecuteContractMethodParams<{ array: HexString; }>; result: SignExecuteScriptTxResult; }; empty: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; stake: { params: SignExecuteContractMethodParams<{ amount: bigint; }>; result: SignExecuteScriptTxResult; }; startUnstake: { params: SignExecuteContractMethodParams<{ amount: bigint; }>; result: SignExecuteScriptTxResult; }; getActiveUnstakeVaultIndexes: { params: SignExecuteContractMethodParams<{ caller: Address; }>; result: SignExecuteScriptTxResult; }; getClaimableAmount: { params: SignExecuteContractMethodParams<{ user: Address; vaultIndex: bigint; }>; result: SignExecuteScriptTxResult; }; claimUnstaked: { params: SignExecuteContractMethodParams<{ vaultIndex: bigint; amount: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; type Maps = { userActiveUnstakeVaults?: Map; }; } declare class Factory$a extends ContractFactory { encodeFields(fields: XAlphTokenTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; eventIndex: { Staked: number; UnstakeScheduled: number; }; consts: { IntByteLength: bigint; ErrorCode: { InvalidArrayLength: bigint; IndexOutOfBound: bigint; InvalidByteVecLength: bigint; }; ErrorCodes: { AssetAddressCallerOnly: bigint; TooManyActiveUnstakeVaults: bigint; InvalidUnstakeDuration: bigint; NonExistantUnstakeVault: bigint; AmountMustBeGreaterThanZero: bigint; }; }; at(address: string): XAlphTokenInstance; tests: { getSymbol: (params: Omit, "args">) => Promise>; getName: (params: Omit, "args">) => Promise>; getDecimals: (params: Omit, "args">) => Promise>; getTotalSupply: (params: Omit, "args">) => Promise>; get: (params: TestContractParams) => Promise>; find: (params: TestContractParams) => Promise>; remove: (params: TestContractParams) => Promise>; push: (params: TestContractParams) => Promise>; binarySearch: (params: TestContractParams) => Promise>; removeAt: (params: TestContractParams) => Promise>; size: (params: TestContractParams) => Promise>; empty: (params: Omit, "args">) => Promise>; stake: (params: TestContractParams) => Promise>; startUnstake: (params: TestContractParams) => Promise>; getActiveUnstakeVaultIndexes: (params: TestContractParams) => Promise>; getClaimableAmount: (params: TestContractParams) => Promise>; claimUnstaked: (params: TestContractParams) => Promise>; }; stateForTest(initFields: XAlphTokenTypes.Fields, asset?: Asset, address?: string, maps?: XAlphTokenTypes.Maps): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const XAlphToken: Factory$a; declare class XAlphTokenInstance extends ContractInstance { constructor(address: Address); maps: { userActiveUnstakeVaults: RalphMap; }; fetchState(): Promise; getContractEventsCurrentCount(): Promise; subscribeStakedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeUnstakeScheduledEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeAllEvents(options: EventSubscribeOptions, fromCount?: number): EventSubscription; view: { getSymbol: (params?: XAlphTokenTypes.CallMethodParams<"getSymbol">) => Promise>; getName: (params?: XAlphTokenTypes.CallMethodParams<"getName">) => Promise>; getDecimals: (params?: XAlphTokenTypes.CallMethodParams<"getDecimals">) => Promise>; getTotalSupply: (params?: XAlphTokenTypes.CallMethodParams<"getTotalSupply">) => Promise>; get: (params: XAlphTokenTypes.CallMethodParams<"get">) => Promise>; find: (params: XAlphTokenTypes.CallMethodParams<"find">) => Promise>; remove: (params: XAlphTokenTypes.CallMethodParams<"remove">) => Promise>; push: (params: XAlphTokenTypes.CallMethodParams<"push">) => Promise>; binarySearch: (params: XAlphTokenTypes.CallMethodParams<"binarySearch">) => Promise>; removeAt: (params: XAlphTokenTypes.CallMethodParams<"removeAt">) => Promise>; size: (params: XAlphTokenTypes.CallMethodParams<"size">) => Promise>; empty: (params?: XAlphTokenTypes.CallMethodParams<"empty">) => Promise>; stake: (params: XAlphTokenTypes.CallMethodParams<"stake">) => Promise>; startUnstake: (params: XAlphTokenTypes.CallMethodParams<"startUnstake">) => Promise>; getActiveUnstakeVaultIndexes: (params: XAlphTokenTypes.CallMethodParams<"getActiveUnstakeVaultIndexes">) => Promise>; getClaimableAmount: (params: XAlphTokenTypes.CallMethodParams<"getClaimableAmount">) => Promise>; claimUnstaked: (params: XAlphTokenTypes.CallMethodParams<"claimUnstaked">) => Promise>; }; transact: { getSymbol: (params: XAlphTokenTypes.SignExecuteMethodParams<"getSymbol">) => Promise>; getName: (params: XAlphTokenTypes.SignExecuteMethodParams<"getName">) => Promise>; getDecimals: (params: XAlphTokenTypes.SignExecuteMethodParams<"getDecimals">) => Promise>; getTotalSupply: (params: XAlphTokenTypes.SignExecuteMethodParams<"getTotalSupply">) => Promise>; get: (params: XAlphTokenTypes.SignExecuteMethodParams<"get">) => Promise>; find: (params: XAlphTokenTypes.SignExecuteMethodParams<"find">) => Promise>; remove: (params: XAlphTokenTypes.SignExecuteMethodParams<"remove">) => Promise>; push: (params: XAlphTokenTypes.SignExecuteMethodParams<"push">) => Promise>; binarySearch: (params: XAlphTokenTypes.SignExecuteMethodParams<"binarySearch">) => Promise>; removeAt: (params: XAlphTokenTypes.SignExecuteMethodParams<"removeAt">) => Promise>; size: (params: XAlphTokenTypes.SignExecuteMethodParams<"size">) => Promise>; empty: (params: XAlphTokenTypes.SignExecuteMethodParams<"empty">) => Promise>; stake: (params: XAlphTokenTypes.SignExecuteMethodParams<"stake">) => Promise>; startUnstake: (params: XAlphTokenTypes.SignExecuteMethodParams<"startUnstake">) => Promise>; getActiveUnstakeVaultIndexes: (params: XAlphTokenTypes.SignExecuteMethodParams<"getActiveUnstakeVaultIndexes">) => Promise>; getClaimableAmount: (params: XAlphTokenTypes.SignExecuteMethodParams<"getClaimableAmount">) => Promise>; claimUnstaked: (params: XAlphTokenTypes.SignExecuteMethodParams<"claimUnstaked">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare function getAllContracts$1(): ContractFactory[]; declare function registerContract$1(factory: ContractFactory): void; declare function getContractByCodeHash$1(codeHash: string): Contract; declare const AlphStakeAndLock: ExecutableScript<{ xAlphToken: HexString; xAlphStakeVault: HexString; amount: bigint; }, null>; declare const XAlphUnlockAndStartUnstake: ExecutableScript<{ xAlphToken: HexString; xAlphStakeVault: HexString; amount: bigint; }, null>; declare const index$1_AlphStakeAndLock: typeof AlphStakeAndLock; declare const index$1_AlphUnstakeVault: typeof AlphUnstakeVault; type index$1_AlphUnstakeVaultInstance = AlphUnstakeVaultInstance; declare const index$1_AlphUnstakeVaultInstance: typeof AlphUnstakeVaultInstance; declare const index$1_AlphUnstakeVaultTypes: typeof AlphUnstakeVaultTypes; declare const index$1_GovernanceDemo: typeof GovernanceDemo; type index$1_GovernanceDemoInstance = GovernanceDemoInstance; declare const index$1_GovernanceDemoInstance: typeof GovernanceDemoInstance; declare const index$1_GovernanceDemoTypes: typeof GovernanceDemoTypes; declare const index$1_RewardSharingVault: typeof RewardSharingVault; type index$1_RewardSharingVaultInstance = RewardSharingVaultInstance; declare const index$1_RewardSharingVaultInstance: typeof RewardSharingVaultInstance; declare const index$1_RewardSharingVaultTypes: typeof RewardSharingVaultTypes; declare const index$1_TestDynamicArrayByteVec32: typeof TestDynamicArrayByteVec32; type index$1_TestDynamicArrayByteVec32Instance = TestDynamicArrayByteVec32Instance; declare const index$1_TestDynamicArrayByteVec32Instance: typeof TestDynamicArrayByteVec32Instance; declare const index$1_TestDynamicArrayByteVec32Types: typeof TestDynamicArrayByteVec32Types; declare const index$1_TestDynamicSortedArrayForU256: typeof TestDynamicSortedArrayForU256; type index$1_TestDynamicSortedArrayForU256Instance = TestDynamicSortedArrayForU256Instance; declare const index$1_TestDynamicSortedArrayForU256Instance: typeof TestDynamicSortedArrayForU256Instance; declare const index$1_TestDynamicSortedArrayForU256Types: typeof TestDynamicSortedArrayForU256Types; declare const index$1_TestMerkleProof: typeof TestMerkleProof; type index$1_TestMerkleProofInstance = TestMerkleProofInstance; declare const index$1_TestMerkleProofInstance: typeof TestMerkleProofInstance; declare const index$1_TestMerkleProofTypes: typeof TestMerkleProofTypes; declare const index$1_XAlphStakeVault: typeof XAlphStakeVault; type index$1_XAlphStakeVaultInstance = XAlphStakeVaultInstance; declare const index$1_XAlphStakeVaultInstance: typeof XAlphStakeVaultInstance; declare const index$1_XAlphStakeVaultTypes: typeof XAlphStakeVaultTypes; declare const index$1_XAlphToken: typeof XAlphToken; type index$1_XAlphTokenInstance = XAlphTokenInstance; declare const index$1_XAlphTokenInstance: typeof XAlphTokenInstance; declare const index$1_XAlphTokenTypes: typeof XAlphTokenTypes; declare const index$1_XAlphUnlockAndStartUnstake: typeof XAlphUnlockAndStartUnstake; declare namespace index$1 { export { index$1_AlphStakeAndLock as AlphStakeAndLock, index$1_AlphUnstakeVault as AlphUnstakeVault, index$1_AlphUnstakeVaultInstance as AlphUnstakeVaultInstance, index$1_AlphUnstakeVaultTypes as AlphUnstakeVaultTypes, FullMathTest$1 as FullMathTest, FullMathTestInstance$1 as FullMathTestInstance, FullMathTestTypes$1 as FullMathTestTypes, index$1_GovernanceDemo as GovernanceDemo, index$1_GovernanceDemoInstance as GovernanceDemoInstance, index$1_GovernanceDemoTypes as GovernanceDemoTypes, index$1_RewardSharingVault as RewardSharingVault, index$1_RewardSharingVaultInstance as RewardSharingVaultInstance, index$1_RewardSharingVaultTypes as RewardSharingVaultTypes, index$1_TestDynamicArrayByteVec32 as TestDynamicArrayByteVec32, index$1_TestDynamicArrayByteVec32Instance as TestDynamicArrayByteVec32Instance, index$1_TestDynamicArrayByteVec32Types as TestDynamicArrayByteVec32Types, index$1_TestDynamicSortedArrayForU256 as TestDynamicSortedArrayForU256, index$1_TestDynamicSortedArrayForU256Instance as TestDynamicSortedArrayForU256Instance, index$1_TestDynamicSortedArrayForU256Types as TestDynamicSortedArrayForU256Types, index$1_TestMerkleProof as TestMerkleProof, index$1_TestMerkleProofInstance as TestMerkleProofInstance, index$1_TestMerkleProofTypes as TestMerkleProofTypes, index$1_XAlphStakeVault as XAlphStakeVault, index$1_XAlphStakeVaultInstance as XAlphStakeVaultInstance, index$1_XAlphStakeVaultTypes as XAlphStakeVaultTypes, index$1_XAlphToken as XAlphToken, index$1_XAlphTokenInstance as XAlphTokenInstance, index$1_XAlphTokenTypes as XAlphTokenTypes, index$1_XAlphUnlockAndStartUnstake as XAlphUnlockAndStartUnstake, getAllContracts$1 as getAllContracts, getContractByCodeHash$1 as getContractByCodeHash, registerContract$1 as registerContract }; } interface StakingConfig { groupIndex: number; alphUnstakeVaultTemplateId: string; xAlphTokenId: string; xAlphTokenAddress: string; xAlphStakeVaultId: string; xAlphStakeVaultAddress: string; rewardSharingTemplateId?: string; governanceDemoTemplateId?: string; } interface StakeVaultUserInfo { amount: bigint; connectedDapps: string[]; } type StakingSettings = { unstakeDuration: bigint; maxActiveUnstakeRequestsPerUser: bigint; maxConnectedDapps: bigint; }; declare const stakingSettingsByNetwork: Record; declare function getStakingSettings(networkId: NetworkId): StakingSettings; declare class StakingModule extends ModuleBase { private config; private xAlphTokenContract; private stakeVaultContract; constructor(scope: Zeta); setConfig(config: StakingConfig): void; getConfig(): StakingConfig; getXAlphToken(): XAlphTokenInstance; getStakeVault(): XAlphStakeVaultInstance; getRewardSharingVault(contractId: string): RewardSharingVaultInstance; getGovernanceContract(contractId: string): GovernanceDemoInstance; getXAlphTokenState(): Promise; getStakeVaultState(): Promise; stakeAlph(amount: bigint): Promise>; startUnstake(amount: bigint): Promise>; claimUnstaked(vaultIndex: bigint, amount: bigint): Promise>; stakeXAlph(amount: bigint): Promise>; unstakeXAlph(amount: bigint): Promise>; stakeAndLockAlph(amount: bigint): Promise; unlockAndStartUnstake(amount: bigint): Promise; getAlphUnstakeVault(userAddress: string, vaultIndex: bigint): AlphUnstakeVaultInstance; getAlphUnstakeVaultState(userAddress: string, vaultIndex: bigint): Promise; connectToDapp(contractId: string, merkleProof: HexString): Promise>; disconnectFromDapp(contractId: string): Promise>; getUserStakeVaultInfo(address: string): Promise; isUserStaking(address: string): Promise; getUserWeight(address: string): Promise; getActiveUnstakeVaultIndexes(address: string): Promise; getClaimableAmount(address: string, vaultIndex: bigint): Promise; getSettings(): StakingSettings; private loadStakingConfig; private ensurePositiveAmount; } declare class Zeta { cpmm: CpmmModule; clmm: ClmmModule; token: TokenModule; staking: StakingModule; private _nodeProvider; private _explorerProvider; private _tokenListUrl; private _signer?; private _account?; private _network; constructor(params: ZetaLoadParams); static load(config: ZetaLoadParams): Zeta; set signer(signer: SignerProvider); set account(account: Account); get signer(): SignerProvider; get account(): Account; clearSigner(): void; clearAccount(): void; get nodeProvider(): NodeProvider; get explorerProvider(): ExplorerProvider; get network(): Network; get tokenListUrl(): string; setCurrentProviders(): void; } declare const BPS = 10000n; declare function sortTokens(tokenAId: string, tokenBId: string): [string, string]; declare class ZetaSDKError extends Error { constructor(message: string, options?: ErrorOptions); } declare class InsufficientLiquidityError extends ZetaSDKError { constructor(message?: string); } declare class PriceImpactTooHighError extends ZetaSDKError { constructor(priceImpact: number, maxPriceImpact: number); } declare class PoolNotFoundError extends ZetaSDKError { constructor(poolId: string); } declare class InsufficientBalanceError extends ZetaSDKError { constructor(token: string, required: string, available: string); } declare class TokenListFetchError extends ZetaSDKError { readonly status?: number; constructor(url: string, options?: { status?: number; cause?: unknown; }); } type Rounding = 'floor' | 'ceil'; declare class MathUtil { static sqrt: (value: bigint) => bigint; static alphDiv(a: bigint, b: bigint): bigint; static alphCeil(a: bigint, b: bigint): bigint; static divFloor(a: bigint, b: bigint): bigint; static divCeil(a: bigint, b: bigint): bigint; static mulDivFloor(a: bigint, b: bigint, d: bigint): bigint; static mulDivCeil(a: bigint, b: bigint, d: bigint): bigint; private static divWithRounding; } type NumericLike = Decimal | bigint | number | string | undefined | null; declare class NumericUtils { static decimalFrom(value: NumericLike): Decimal; static decimalToString(value: Decimal): string; static scaleDecimal(value: NumericLike, decimals: number): Decimal; static scaleToString(value: NumericLike, decimals: number): string; static numericToString(value: NumericLike): string; static numericToBigInt(value: NumericLike): bigint; } declare const MAX_PRICE_IMPACT = 5; declare const MINIMUM_LIQUIDITY = 1000n; declare class TickUtils { static getSqrtRatioAtTick(tick: bigint): bigint; static getTickAtSqrtRatio(sqrtPriceX96: bigint): bigint; static priceToSqrtPriceX96(price: Decimal.Value, token0Decimal: number, token1Decimal: number): bigint; static sqrtPriceX96ToPrice(sqrtPriceX96: bigint, token0Decimal: number, token1Decimal: number): number; static getAlignedTick(price: number, token0Decimal: number, token1Decimal: number, tickSpacing: bigint): bigint; static getNextTick(tick: bigint, tickSpacing: bigint, tokenBase: TokenInfo, tokenQuote: TokenInfo, baseIn: boolean, isAdd: boolean): bigint; static getAlignedPrice(priceIn: number, tokenBase: TokenInfo, tokenQuote: TokenInfo, tickSpacing: bigint, baseIn: boolean): { tick: bigint; price: number; }; static getPriceFromTick(tick: bigint, tokenBase: TokenInfo, tokenQuote: TokenInfo, baseIn: boolean): { tick: bigint; price: number; }; static getMinPriceFromTick(tokenBase: TokenInfo, tokenQuote: TokenInfo, tickSpacing: bigint, baseIn: boolean): { tick: bigint; price: number; }; static getMaxPriceFromTick(tokenBase: TokenInfo, tokenQuote: TokenInfo, tickSpacing: bigint, baseIn: boolean): { tick: bigint; price: number; }; static getNextSqrtPrice(sqrtPriceX96: bigint, liquidity: bigint, amount: bigint, zeroForOne: boolean): bigint; static getNextSqrtPriceFromAmount0(sqrtPriceX96: bigint, liquidity: bigint, amount: bigint): bigint; static getNextSqrtPriceFromAmount1(sqrtPriceX96: bigint, liquidity: bigint, amount: bigint): bigint; static getSqrtPriceLimitX96(sqrtPriceX96: bigint, slippage: bigint, zeroForOne: boolean): bigint; static getSqrtPriceX96Bounds(sqrtPriceX96: bigint, slippage: bigint): [bigint, bigint]; private static priceSqrt; } declare const MIN_TICK: bigint; declare const MAX_TICK: bigint; declare const U256_MAX: bigint; declare const UNLIMITED_AMOUNT: bigint; declare class PoolUtils { static getPositionId(poolAddress: string, owner: string, tickLower: bigint, tickUpper: bigint): string; static computeSwapStep(sqrtPriceX96: bigint, sqrtPriceTargetX96: bigint, liquidity: bigint, amount: bigint, feePips: bigint): [bigint, bigint, bigint, bigint]; static offlineSwap(liqDist: LiquidityDistribution, amountSpecified: bigint, sqrtPriceX96: bigint): bigint; } declare class ClmmLiquidityUtils { static getPositionAmountsFromPrice(p: GetPositionAmountsFromPriceProps): GetPositionAmountsFromPriceReturn; static getAmountsAndLiquidityAtPrice(currentPrice: number, token0: TokenInfo, token1: TokenInfo, lowerTick: bigint, upperTick: bigint, amount0: bigint, amount1: bigint): [bigint, bigint, bigint]; static getAmountsAndLiquidityAtSqrtPrice(sqrtRatioX96: bigint, sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, amount0: bigint, amount1: bigint): [bigint, bigint, bigint]; static getAmountsForLiquidity(sqrtRatioX96: bigint, sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, liquidity: bigint): [bigint, bigint]; static getLiquidityFromAmounts(sqrtRatioX96: bigint, sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, amount0: bigint, amount1: bigint): bigint; static getLiquidityFromToken0(sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, amount0: bigint): bigint; static getLiquidityFromToken1(sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, amount1: bigint): bigint; static getAmountDelta(sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, liquidity: bigint, zeroForOne: boolean): bigint; static getToken0Delta(sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, liquidity: bigint): bigint; static getToken1Delta(sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, liquidity: bigint): bigint; } declare const decodeU256List: (str: string) => bigint[]; declare const decodeContractIdList: (str: string) => string[]; declare namespace TokenPairTypes { type Fields = { tokenPairFactory: HexString; token0Id: HexString; token1Id: HexString; dexAccount0: HexString; reserve0: bigint; reserve1: bigint; blockTimeStampLast: bigint; price0CumulativeLast: bigint; price1CumulativeLast: bigint; totalSupply: bigint; kLast: bigint; feeCollectorId: HexString; }; type State = ContractState; type MintEvent = ContractEvent<{ sender: Address; amount0: bigint; amount1: bigint; liquidity: bigint; totalSupply: bigint; }>; type BurnEvent = ContractEvent<{ sender: Address; amount0: bigint; amount1: bigint; liquidity: bigint; totalSupply: bigint; }>; type SwapEvent = ContractEvent<{ sender: Address; amount0In: bigint; amount1In: bigint; amount0Out: bigint; amount1Out: bigint; to: Address; }>; interface CallMethodTable { getSymbol: { params: Omit, "args">; result: CallContractResult; }; getName: { params: Omit, "args">; result: CallContractResult; }; getDecimals: { params: Omit, "args">; result: CallContractResult; }; getTotalSupply: { params: Omit, "args">; result: CallContractResult; }; uqdiv: { params: CallContractParams<{ a: bigint; b: bigint; }>; result: CallContractResult; }; sqrt: { params: CallContractParams<{ y: bigint; }>; result: CallContractResult; }; setFeeCollectorId: { params: CallContractParams<{ id: HexString; }>; result: CallContractResult; }; getTokenPair: { params: Omit, "args">; result: CallContractResult<[HexString, HexString]>; }; getReserves: { params: Omit, "args">; result: CallContractResult<[bigint, bigint]>; }; getBlockTimeStampLast: { params: Omit, "args">; result: CallContractResult; }; getPrice0CumulativeLast: { params: Omit, "args">; result: CallContractResult; }; getPrice1CumulativeLast: { params: Omit, "args">; result: CallContractResult; }; update: { params: CallContractParams<{ newReserve0: bigint; newReserve1: bigint; }>; result: CallContractResult; }; mintFee: { params: CallContractParams<{ reserve0_: bigint; reserve1_: bigint; }>; result: CallContractResult<[boolean, bigint]>; }; mint: { params: CallContractParams<{ sender: Address; amount0: bigint; amount1: bigint; }>; result: CallContractResult; }; burn: { params: CallContractParams<{ sender: Address; liquidity: bigint; }>; result: CallContractResult<[bigint, bigint]>; }; swap: { params: CallContractParams<{ sender: Address; to: Address; amount0In: bigint; amount1In: bigint; amount0Out: bigint; amount1Out: bigint; }>; result: CallContractResult; }; collectFeeManually: { params: Omit, "args">; result: CallContractResult; }; collectFeeAndUpdateKLast: { params: CallContractParams<{ feeAmount: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { getSymbol: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getName: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getDecimals: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getTotalSupply: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; uqdiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; }>; result: SignExecuteScriptTxResult; }; sqrt: { params: SignExecuteContractMethodParams<{ y: bigint; }>; result: SignExecuteScriptTxResult; }; setFeeCollectorId: { params: SignExecuteContractMethodParams<{ id: HexString; }>; result: SignExecuteScriptTxResult; }; getTokenPair: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getReserves: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getBlockTimeStampLast: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getPrice0CumulativeLast: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getPrice1CumulativeLast: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; update: { params: SignExecuteContractMethodParams<{ newReserve0: bigint; newReserve1: bigint; }>; result: SignExecuteScriptTxResult; }; mintFee: { params: SignExecuteContractMethodParams<{ reserve0_: bigint; reserve1_: bigint; }>; result: SignExecuteScriptTxResult; }; mint: { params: SignExecuteContractMethodParams<{ sender: Address; amount0: bigint; amount1: bigint; }>; result: SignExecuteScriptTxResult; }; burn: { params: SignExecuteContractMethodParams<{ sender: Address; liquidity: bigint; }>; result: SignExecuteScriptTxResult; }; swap: { params: SignExecuteContractMethodParams<{ sender: Address; to: Address; amount0In: bigint; amount1In: bigint; amount0Out: bigint; amount1Out: bigint; }>; result: SignExecuteScriptTxResult; }; collectFeeManually: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; collectFeeAndUpdateKLast: { params: SignExecuteContractMethodParams<{ feeAmount: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$9 extends ContractFactory { encodeFields(fields: TokenPairTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; eventIndex: { Mint: number; Burn: number; Swap: number; }; consts: { MINIMUM_LIQUIDITY: bigint; ErrorCodes: { ReserveOverflow: bigint; InsufficientInitLiquidity: bigint; InsufficientLiquidityMinted: bigint; InsufficientLiquidityBurned: bigint; InvalidToAddress: bigint; InsufficientLiquidity: bigint; InvalidTokenInId: bigint; InvalidCalleeId: bigint; InvalidK: bigint; InsufficientOutputAmount: bigint; InsufficientInputAmount: bigint; IdenticalTokenIds: bigint; Expired: bigint; InsufficientToken0Amount: bigint; InsufficientToken1Amount: bigint; TokenNotExist: bigint; InvalidCaller: bigint; FeeCollectorNotEnabled: bigint; InvalidAccount: bigint; }; }; at(address: string): TokenPairInstance; tests: { getSymbol: (params: Omit, "args">) => Promise>; getName: (params: Omit, "args">) => Promise>; getDecimals: (params: Omit, "args">) => Promise>; getTotalSupply: (params: Omit, "args">) => Promise>; uqdiv: (params: TestContractParamsWithoutMaps) => Promise>; sqrt: (params: TestContractParamsWithoutMaps) => Promise>; setFeeCollectorId: (params: TestContractParamsWithoutMaps) => Promise>; getTokenPair: (params: Omit, "args">) => Promise>; getReserves: (params: Omit, "args">) => Promise>; getBlockTimeStampLast: (params: Omit, "args">) => Promise>; getPrice0CumulativeLast: (params: Omit, "args">) => Promise>; getPrice1CumulativeLast: (params: Omit, "args">) => Promise>; update: (params: TestContractParamsWithoutMaps) => Promise>; mintFee: (params: TestContractParamsWithoutMaps) => Promise>; mint: (params: TestContractParamsWithoutMaps) => Promise>; burn: (params: TestContractParamsWithoutMaps) => Promise>; swap: (params: TestContractParamsWithoutMaps) => Promise>; collectFeeManually: (params: Omit, "args">) => Promise>; collectFeeAndUpdateKLast: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: TokenPairTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const TokenPair: Factory$9; declare class TokenPairInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; getContractEventsCurrentCount(): Promise; subscribeMintEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeBurnEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeSwapEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; subscribeAllEvents(options: EventSubscribeOptions, fromCount?: number): EventSubscription; view: { getSymbol: (params?: TokenPairTypes.CallMethodParams<"getSymbol">) => Promise>; getName: (params?: TokenPairTypes.CallMethodParams<"getName">) => Promise>; getDecimals: (params?: TokenPairTypes.CallMethodParams<"getDecimals">) => Promise>; getTotalSupply: (params?: TokenPairTypes.CallMethodParams<"getTotalSupply">) => Promise>; uqdiv: (params: TokenPairTypes.CallMethodParams<"uqdiv">) => Promise>; sqrt: (params: TokenPairTypes.CallMethodParams<"sqrt">) => Promise>; setFeeCollectorId: (params: TokenPairTypes.CallMethodParams<"setFeeCollectorId">) => Promise>; getTokenPair: (params?: TokenPairTypes.CallMethodParams<"getTokenPair">) => Promise>; getReserves: (params?: TokenPairTypes.CallMethodParams<"getReserves">) => Promise>; getBlockTimeStampLast: (params?: TokenPairTypes.CallMethodParams<"getBlockTimeStampLast">) => Promise>; getPrice0CumulativeLast: (params?: TokenPairTypes.CallMethodParams<"getPrice0CumulativeLast">) => Promise>; getPrice1CumulativeLast: (params?: TokenPairTypes.CallMethodParams<"getPrice1CumulativeLast">) => Promise>; update: (params: TokenPairTypes.CallMethodParams<"update">) => Promise>; mintFee: (params: TokenPairTypes.CallMethodParams<"mintFee">) => Promise>; mint: (params: TokenPairTypes.CallMethodParams<"mint">) => Promise>; burn: (params: TokenPairTypes.CallMethodParams<"burn">) => Promise>; swap: (params: TokenPairTypes.CallMethodParams<"swap">) => Promise>; collectFeeManually: (params?: TokenPairTypes.CallMethodParams<"collectFeeManually">) => Promise>; collectFeeAndUpdateKLast: (params: TokenPairTypes.CallMethodParams<"collectFeeAndUpdateKLast">) => Promise>; }; transact: { getSymbol: (params: TokenPairTypes.SignExecuteMethodParams<"getSymbol">) => Promise>; getName: (params: TokenPairTypes.SignExecuteMethodParams<"getName">) => Promise>; getDecimals: (params: TokenPairTypes.SignExecuteMethodParams<"getDecimals">) => Promise>; getTotalSupply: (params: TokenPairTypes.SignExecuteMethodParams<"getTotalSupply">) => Promise>; uqdiv: (params: TokenPairTypes.SignExecuteMethodParams<"uqdiv">) => Promise>; sqrt: (params: TokenPairTypes.SignExecuteMethodParams<"sqrt">) => Promise>; setFeeCollectorId: (params: TokenPairTypes.SignExecuteMethodParams<"setFeeCollectorId">) => Promise>; getTokenPair: (params: TokenPairTypes.SignExecuteMethodParams<"getTokenPair">) => Promise>; getReserves: (params: TokenPairTypes.SignExecuteMethodParams<"getReserves">) => Promise>; getBlockTimeStampLast: (params: TokenPairTypes.SignExecuteMethodParams<"getBlockTimeStampLast">) => Promise>; getPrice0CumulativeLast: (params: TokenPairTypes.SignExecuteMethodParams<"getPrice0CumulativeLast">) => Promise>; getPrice1CumulativeLast: (params: TokenPairTypes.SignExecuteMethodParams<"getPrice1CumulativeLast">) => Promise>; update: (params: TokenPairTypes.SignExecuteMethodParams<"update">) => Promise>; mintFee: (params: TokenPairTypes.SignExecuteMethodParams<"mintFee">) => Promise>; mint: (params: TokenPairTypes.SignExecuteMethodParams<"mint">) => Promise>; burn: (params: TokenPairTypes.SignExecuteMethodParams<"burn">) => Promise>; swap: (params: TokenPairTypes.SignExecuteMethodParams<"swap">) => Promise>; collectFeeManually: (params: TokenPairTypes.SignExecuteMethodParams<"collectFeeManually">) => Promise>; collectFeeAndUpdateKLast: (params: TokenPairTypes.SignExecuteMethodParams<"collectFeeAndUpdateKLast">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace TokenPairFactoryTypes { type Fields = { pairTemplateId: HexString; dexAccount0: HexString; pairSize: bigint; feeSetter: Address; feeCollectorFactory: HexString; }; type State = ContractState; type PairCreatedEvent = ContractEvent<{ token0: HexString; token1: HexString; pair: HexString; currentPairSize: bigint; }>; interface CallMethodTable { setFeeCollectorFactory: { params: CallContractParams<{ factory: HexString; }>; result: CallContractResult; }; updateFeeSetter: { params: CallContractParams<{ newFeeSetter: Address; }>; result: CallContractResult; }; getFeeSetter: { params: Omit, "args">; result: CallContractResult
; }; enableFeeCollector: { params: CallContractParams<{ tokenPair: HexString; alphAmount: bigint; }>; result: CallContractResult; }; updateFeeCollector: { params: CallContractParams<{ tokenPair: HexString; newFeeCollectorId: HexString; }>; result: CallContractResult; }; sortTokens: { params: CallContractParams<{ tokenA: HexString; tokenB: HexString; }>; result: CallContractResult<[HexString, HexString]>; }; createPair: { params: CallContractParams<{ payer: Address; alphAmount: bigint; tokenAId: HexString; tokenBId: HexString; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { setFeeCollectorFactory: { params: SignExecuteContractMethodParams<{ factory: HexString; }>; result: SignExecuteScriptTxResult; }; updateFeeSetter: { params: SignExecuteContractMethodParams<{ newFeeSetter: Address; }>; result: SignExecuteScriptTxResult; }; getFeeSetter: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; enableFeeCollector: { params: SignExecuteContractMethodParams<{ tokenPair: HexString; alphAmount: bigint; }>; result: SignExecuteScriptTxResult; }; updateFeeCollector: { params: SignExecuteContractMethodParams<{ tokenPair: HexString; newFeeCollectorId: HexString; }>; result: SignExecuteScriptTxResult; }; sortTokens: { params: SignExecuteContractMethodParams<{ tokenA: HexString; tokenB: HexString; }>; result: SignExecuteScriptTxResult; }; createPair: { params: SignExecuteContractMethodParams<{ payer: Address; alphAmount: bigint; tokenAId: HexString; tokenBId: HexString; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$8 extends ContractFactory { encodeFields(fields: TokenPairFactoryTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; eventIndex: { PairCreated: number; }; consts: { ErrorCodes: { ReserveOverflow: bigint; InsufficientInitLiquidity: bigint; InsufficientLiquidityMinted: bigint; InsufficientLiquidityBurned: bigint; InvalidToAddress: bigint; InsufficientLiquidity: bigint; InvalidTokenInId: bigint; InvalidCalleeId: bigint; InvalidK: bigint; InsufficientOutputAmount: bigint; InsufficientInputAmount: bigint; IdenticalTokenIds: bigint; Expired: bigint; InsufficientToken0Amount: bigint; InsufficientToken1Amount: bigint; TokenNotExist: bigint; InvalidCaller: bigint; FeeCollectorNotEnabled: bigint; InvalidAccount: bigint; }; }; at(address: string): TokenPairFactoryInstance; tests: { setFeeCollectorFactory: (params: TestContractParamsWithoutMaps) => Promise>; updateFeeSetter: (params: TestContractParamsWithoutMaps) => Promise>; getFeeSetter: (params: Omit, "args">) => Promise>; enableFeeCollector: (params: TestContractParamsWithoutMaps) => Promise>; updateFeeCollector: (params: TestContractParamsWithoutMaps) => Promise>; sortTokens: (params: TestContractParamsWithoutMaps) => Promise>; createPair: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: TokenPairFactoryTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const TokenPairFactory: Factory$8; declare class TokenPairFactoryInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; getContractEventsCurrentCount(): Promise; subscribePairCreatedEvent(options: EventSubscribeOptions, fromCount?: number): EventSubscription; view: { setFeeCollectorFactory: (params: TokenPairFactoryTypes.CallMethodParams<"setFeeCollectorFactory">) => Promise>; updateFeeSetter: (params: TokenPairFactoryTypes.CallMethodParams<"updateFeeSetter">) => Promise>; getFeeSetter: (params?: TokenPairFactoryTypes.CallMethodParams<"getFeeSetter">) => Promise>; enableFeeCollector: (params: TokenPairFactoryTypes.CallMethodParams<"enableFeeCollector">) => Promise>; updateFeeCollector: (params: TokenPairFactoryTypes.CallMethodParams<"updateFeeCollector">) => Promise>; sortTokens: (params: TokenPairFactoryTypes.CallMethodParams<"sortTokens">) => Promise>; createPair: (params: TokenPairFactoryTypes.CallMethodParams<"createPair">) => Promise>; }; transact: { setFeeCollectorFactory: (params: TokenPairFactoryTypes.SignExecuteMethodParams<"setFeeCollectorFactory">) => Promise>; updateFeeSetter: (params: TokenPairFactoryTypes.SignExecuteMethodParams<"updateFeeSetter">) => Promise>; getFeeSetter: (params: TokenPairFactoryTypes.SignExecuteMethodParams<"getFeeSetter">) => Promise>; enableFeeCollector: (params: TokenPairFactoryTypes.SignExecuteMethodParams<"enableFeeCollector">) => Promise>; updateFeeCollector: (params: TokenPairFactoryTypes.SignExecuteMethodParams<"updateFeeCollector">) => Promise>; sortTokens: (params: TokenPairFactoryTypes.SignExecuteMethodParams<"sortTokens">) => Promise>; createPair: (params: TokenPairFactoryTypes.SignExecuteMethodParams<"createPair">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace DexAccountTypes { type Fields = { parents: [HexString, HexString]; owner: Address; refferer: Address; counter: bigint; }; type State = ContractState; interface CallMethodTable { deposit: { params: CallContractParams<{ payer: Address; tokenId: HexString; amount: bigint; path: HexString; at: bigint; }>; result: CallContractResult; }; createAccount: { params: CallContractParams<{ ref: Address; }>; result: CallContractResult; }; asRef: { params: CallContractParams<{ defaultRef: Address; }>; result: CallContractResult
; }; updateCounter: { params: CallContractParams<{ newCounter: bigint; }>; result: CallContractResult; }; setParents: { params: CallContractParams<{ newParents: [HexString, HexString]; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { deposit: { params: SignExecuteContractMethodParams<{ payer: Address; tokenId: HexString; amount: bigint; path: HexString; at: bigint; }>; result: SignExecuteScriptTxResult; }; createAccount: { params: SignExecuteContractMethodParams<{ ref: Address; }>; result: SignExecuteScriptTxResult; }; asRef: { params: SignExecuteContractMethodParams<{ defaultRef: Address; }>; result: SignExecuteScriptTxResult; }; updateCounter: { params: SignExecuteContractMethodParams<{ newCounter: bigint; }>; result: SignExecuteScriptTxResult; }; setParents: { params: SignExecuteContractMethodParams<{ newParents: [HexString, HexString]; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$7 extends ContractFactory { encodeFields(fields: DexAccountTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; at(address: string): DexAccountInstance; tests: { deposit: (params: TestContractParamsWithoutMaps) => Promise>; createAccount: (params: TestContractParamsWithoutMaps) => Promise>; asRef: (params: TestContractParamsWithoutMaps) => Promise>; updateCounter: (params: TestContractParamsWithoutMaps) => Promise>; setParents: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: DexAccountTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const DexAccount: Factory$7; declare class DexAccountInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { deposit: (params: DexAccountTypes.CallMethodParams<"deposit">) => Promise>; createAccount: (params: DexAccountTypes.CallMethodParams<"createAccount">) => Promise>; asRef: (params: DexAccountTypes.CallMethodParams<"asRef">) => Promise>; updateCounter: (params: DexAccountTypes.CallMethodParams<"updateCounter">) => Promise>; setParents: (params: DexAccountTypes.CallMethodParams<"setParents">) => Promise>; }; transact: { deposit: (params: DexAccountTypes.SignExecuteMethodParams<"deposit">) => Promise>; createAccount: (params: DexAccountTypes.SignExecuteMethodParams<"createAccount">) => Promise>; asRef: (params: DexAccountTypes.SignExecuteMethodParams<"asRef">) => Promise>; updateCounter: (params: DexAccountTypes.SignExecuteMethodParams<"updateCounter">) => Promise>; setParents: (params: DexAccountTypes.SignExecuteMethodParams<"setParents">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace ExampleOracleSimpleTypes { type Fields = { pair: HexString; price0CumulativeLast: bigint; price1CumulativeLast: bigint; blockTimeStampLast: bigint; price0Average: bigint; price1Average: bigint; }; type State = ContractState; interface CallMethodTable { fullMul: { params: CallContractParams<{ x: bigint; y: bigint; }>; result: CallContractResult<[bigint, bigint]>; }; mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; fraction: { params: CallContractParams<{ numerator: bigint; denominator: bigint; }>; result: CallContractResult; }; currentCumulativePrices: { params: CallContractParams<{ currentBlockTimeStamp: bigint; }>; result: CallContractResult<[bigint, bigint]>; }; update: { params: Omit, "args">; result: CallContractResult; }; consult: { params: CallContractParams<{ tokenId: HexString; amountIn: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { fullMul: { params: SignExecuteContractMethodParams<{ x: bigint; y: bigint; }>; result: SignExecuteScriptTxResult; }; mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; fraction: { params: SignExecuteContractMethodParams<{ numerator: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; currentCumulativePrices: { params: SignExecuteContractMethodParams<{ currentBlockTimeStamp: bigint; }>; result: SignExecuteScriptTxResult; }; update: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; consult: { params: SignExecuteContractMethodParams<{ tokenId: HexString; amountIn: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$6 extends ContractFactory { encodeFields(fields: ExampleOracleSimpleTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { Resolution: bigint; Period: bigint; ErrorCodes: { FullDivOverflow: bigint; DivByZero: bigint; FractionOverflow: bigint; PeriodNotElapsed: bigint; InvalidToken: bigint; }; }; at(address: string): ExampleOracleSimpleInstance; tests: { fullMul: (params: TestContractParamsWithoutMaps) => Promise>; mulDiv: (params: TestContractParamsWithoutMaps) => Promise>; fraction: (params: TestContractParamsWithoutMaps) => Promise>; currentCumulativePrices: (params: TestContractParamsWithoutMaps) => Promise>; update: (params: Omit, "args">) => Promise>; consult: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: ExampleOracleSimpleTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const ExampleOracleSimple: Factory$6; declare class ExampleOracleSimpleInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { fullMul: (params: ExampleOracleSimpleTypes.CallMethodParams<"fullMul">) => Promise>; mulDiv: (params: ExampleOracleSimpleTypes.CallMethodParams<"mulDiv">) => Promise>; fraction: (params: ExampleOracleSimpleTypes.CallMethodParams<"fraction">) => Promise>; currentCumulativePrices: (params: ExampleOracleSimpleTypes.CallMethodParams<"currentCumulativePrices">) => Promise>; update: (params?: ExampleOracleSimpleTypes.CallMethodParams<"update">) => Promise>; consult: (params: ExampleOracleSimpleTypes.CallMethodParams<"consult">) => Promise>; }; transact: { fullMul: (params: ExampleOracleSimpleTypes.SignExecuteMethodParams<"fullMul">) => Promise>; mulDiv: (params: ExampleOracleSimpleTypes.SignExecuteMethodParams<"mulDiv">) => Promise>; fraction: (params: ExampleOracleSimpleTypes.SignExecuteMethodParams<"fraction">) => Promise>; currentCumulativePrices: (params: ExampleOracleSimpleTypes.SignExecuteMethodParams<"currentCumulativePrices">) => Promise>; update: (params: ExampleOracleSimpleTypes.SignExecuteMethodParams<"update">) => Promise>; consult: (params: ExampleOracleSimpleTypes.SignExecuteMethodParams<"consult">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace FeeCollectorFactoryImplTypes { type Fields = { feeCollectorPerTokenPairTemplateId: HexString; tokenPairFactory: HexString; }; type State = ContractState; interface CallMethodTable { createFeeCollector: { params: CallContractParams<{ caller: Address; alphAmount: bigint; tokenPair: HexString; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { createFeeCollector: { params: SignExecuteContractMethodParams<{ caller: Address; alphAmount: bigint; tokenPair: HexString; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$5 extends ContractFactory { encodeFields(fields: FeeCollectorFactoryImplTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { ErrorCodes: { ReserveOverflow: bigint; InsufficientInitLiquidity: bigint; InsufficientLiquidityMinted: bigint; InsufficientLiquidityBurned: bigint; InvalidToAddress: bigint; InsufficientLiquidity: bigint; InvalidTokenInId: bigint; InvalidCalleeId: bigint; InvalidK: bigint; InsufficientOutputAmount: bigint; InsufficientInputAmount: bigint; IdenticalTokenIds: bigint; Expired: bigint; InsufficientToken0Amount: bigint; InsufficientToken1Amount: bigint; TokenNotExist: bigint; InvalidCaller: bigint; FeeCollectorNotEnabled: bigint; InvalidAccount: bigint; }; }; at(address: string): FeeCollectorFactoryImplInstance; tests: { createFeeCollector: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: FeeCollectorFactoryImplTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const FeeCollectorFactoryImpl: Factory$5; declare class FeeCollectorFactoryImplInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { createFeeCollector: (params: FeeCollectorFactoryImplTypes.CallMethodParams<"createFeeCollector">) => Promise>; }; transact: { createFeeCollector: (params: FeeCollectorFactoryImplTypes.SignExecuteMethodParams<"createFeeCollector">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace FeeCollectorPerTokenPairImplTypes { type Fields = { tokenPairFactory: HexString; tokenPair: HexString; }; type State = ContractState; interface CallMethodTable { collectFee: { params: CallContractParams<{ from: Address; amount: bigint; }>; result: CallContractResult; }; withdraw: { params: CallContractParams<{ to: Address; amount: bigint; }>; result: CallContractResult; }; destroy: { params: CallContractParams<{ to: Address; }>; result: CallContractResult; }; collectFeeManually: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { collectFee: { params: SignExecuteContractMethodParams<{ from: Address; amount: bigint; }>; result: SignExecuteScriptTxResult; }; withdraw: { params: SignExecuteContractMethodParams<{ to: Address; amount: bigint; }>; result: SignExecuteScriptTxResult; }; destroy: { params: SignExecuteContractMethodParams<{ to: Address; }>; result: SignExecuteScriptTxResult; }; collectFeeManually: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$4 extends ContractFactory { encodeFields(fields: FeeCollectorPerTokenPairImplTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { ErrorCodes: { ReserveOverflow: bigint; InsufficientInitLiquidity: bigint; InsufficientLiquidityMinted: bigint; InsufficientLiquidityBurned: bigint; InvalidToAddress: bigint; InsufficientLiquidity: bigint; InvalidTokenInId: bigint; InvalidCalleeId: bigint; InvalidK: bigint; InsufficientOutputAmount: bigint; InsufficientInputAmount: bigint; IdenticalTokenIds: bigint; Expired: bigint; InsufficientToken0Amount: bigint; InsufficientToken1Amount: bigint; TokenNotExist: bigint; InvalidCaller: bigint; FeeCollectorNotEnabled: bigint; InvalidAccount: bigint; }; }; at(address: string): FeeCollectorPerTokenPairImplInstance; tests: { collectFee: (params: TestContractParamsWithoutMaps) => Promise>; withdraw: (params: TestContractParamsWithoutMaps) => Promise>; destroy: (params: TestContractParamsWithoutMaps) => Promise>; collectFeeManually: (params: Omit, "args">) => Promise>; }; stateForTest(initFields: FeeCollectorPerTokenPairImplTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const FeeCollectorPerTokenPairImpl: Factory$4; declare class FeeCollectorPerTokenPairImplInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { collectFee: (params: FeeCollectorPerTokenPairImplTypes.CallMethodParams<"collectFee">) => Promise>; withdraw: (params: FeeCollectorPerTokenPairImplTypes.CallMethodParams<"withdraw">) => Promise>; destroy: (params: FeeCollectorPerTokenPairImplTypes.CallMethodParams<"destroy">) => Promise>; collectFeeManually: (params?: FeeCollectorPerTokenPairImplTypes.CallMethodParams<"collectFeeManually">) => Promise>; }; transact: { collectFee: (params: FeeCollectorPerTokenPairImplTypes.SignExecuteMethodParams<"collectFee">) => Promise>; withdraw: (params: FeeCollectorPerTokenPairImplTypes.SignExecuteMethodParams<"withdraw">) => Promise>; destroy: (params: FeeCollectorPerTokenPairImplTypes.SignExecuteMethodParams<"destroy">) => Promise>; collectFeeManually: (params: FeeCollectorPerTokenPairImplTypes.SignExecuteMethodParams<"collectFeeManually">) => Promise>; }; } declare namespace FullMathTestTypes { type State = Omit, "fields">; interface CallMethodTable { fullMul: { params: CallContractParams<{ x: bigint; y: bigint; }>; result: CallContractResult<[bigint, bigint]>; }; mulDiv: { params: CallContractParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: CallContractResult; }; fraction: { params: CallContractParams<{ numerator: bigint; denominator: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { fullMul: { params: SignExecuteContractMethodParams<{ x: bigint; y: bigint; }>; result: SignExecuteScriptTxResult; }; mulDiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; fraction: { params: SignExecuteContractMethodParams<{ numerator: bigint; denominator: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$3 extends ContractFactory { encodeFields(): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { Resolution: bigint; ErrorCodes: { FullDivOverflow: bigint; DivByZero: bigint; FractionOverflow: bigint; PeriodNotElapsed: bigint; InvalidToken: bigint; }; }; at(address: string): FullMathTestInstance; tests: { fullMul: (params: Omit, "initialFields">) => Promise>; mulDiv: (params: Omit, "initialFields">) => Promise>; fraction: (params: Omit, "initialFields">) => Promise>; }; stateForTest(initFields: {}, asset?: Asset, address?: string): ContractState<{}> | _alephium_web3.ContractStateWithMaps<{}, Record>>; } declare const FullMathTest: Factory$3; declare class FullMathTestInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { fullMul: (params: FullMathTestTypes.CallMethodParams<"fullMul">) => Promise>; mulDiv: (params: FullMathTestTypes.CallMethodParams<"mulDiv">) => Promise>; fraction: (params: FullMathTestTypes.CallMethodParams<"fraction">) => Promise>; }; transact: { fullMul: (params: FullMathTestTypes.SignExecuteMethodParams<"fullMul">) => Promise>; mulDiv: (params: FullMathTestTypes.SignExecuteMethodParams<"mulDiv">) => Promise>; fraction: (params: FullMathTestTypes.SignExecuteMethodParams<"fraction">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace MathTestTypes { type State = Omit, "fields">; interface CallMethodTable { uqdiv: { params: CallContractParams<{ a: bigint; b: bigint; }>; result: CallContractResult; }; sqrt: { params: CallContractParams<{ y: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { uqdiv: { params: SignExecuteContractMethodParams<{ a: bigint; b: bigint; }>; result: SignExecuteScriptTxResult; }; sqrt: { params: SignExecuteContractMethodParams<{ y: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$2 extends ContractFactory { encodeFields(): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; at(address: string): MathTestInstance; tests: { uqdiv: (params: Omit, "initialFields">) => Promise>; sqrt: (params: Omit, "initialFields">) => Promise>; }; stateForTest(initFields: {}, asset?: Asset, address?: string): ContractState<{}> | _alephium_web3.ContractStateWithMaps<{}, Record>>; } declare const MathTest: Factory$2; declare class MathTestInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { uqdiv: (params: MathTestTypes.CallMethodParams<"uqdiv">) => Promise>; sqrt: (params: MathTestTypes.CallMethodParams<"sqrt">) => Promise>; }; transact: { uqdiv: (params: MathTestTypes.SignExecuteMethodParams<"uqdiv">) => Promise>; sqrt: (params: MathTestTypes.SignExecuteMethodParams<"sqrt">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace RouterTypes { type State = Omit, "fields">; interface CallMethodTable { addLiquidity_: { params: CallContractParams<{ reserve0: bigint; reserve1: bigint; amount0Desired: bigint; amount1Desired: bigint; amount0Min: bigint; amount1Min: bigint; }>; result: CallContractResult<[bigint, bigint]>; }; addLiquidity: { params: CallContractParams<{ tokenPair: HexString; sender: Address; amount0Desired: bigint; amount1Desired: bigint; amount0Min: bigint; amount1Min: bigint; deadline: bigint; }>; result: CallContractResult<[bigint, bigint, bigint]>; }; removeLiquidity: { params: CallContractParams<{ tokenPairId: HexString; sender: Address; liquidity: bigint; amount0Min: bigint; amount1Min: bigint; deadline: bigint; }>; result: CallContractResult<[bigint, bigint]>; }; getReserveInAndReserveOut: { params: CallContractParams<{ tokenPair: HexString; tokenInId: HexString; }>; result: CallContractResult<[bigint, bigint]>; }; swapExactTokenForToken: { params: CallContractParams<{ tokenPair: HexString; sender: Address; tokenInId: HexString; amountIn: bigint; amountOutMin: bigint; to: Address; deadline: bigint; }>; result: CallContractResult; }; swapTokenForExactToken: { params: CallContractParams<{ tokenPair: HexString; sender: Address; tokenInId: HexString; amountInMax: bigint; amountOut: bigint; to: Address; deadline: bigint; }>; result: CallContractResult; }; swap: { params: CallContractParams<{ tokenPair: HexString; sender: Address; to: Address; tokenInId: HexString; amountIn: bigint; amountOut: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { addLiquidity_: { params: SignExecuteContractMethodParams<{ reserve0: bigint; reserve1: bigint; amount0Desired: bigint; amount1Desired: bigint; amount0Min: bigint; amount1Min: bigint; }>; result: SignExecuteScriptTxResult; }; addLiquidity: { params: SignExecuteContractMethodParams<{ tokenPair: HexString; sender: Address; amount0Desired: bigint; amount1Desired: bigint; amount0Min: bigint; amount1Min: bigint; deadline: bigint; }>; result: SignExecuteScriptTxResult; }; removeLiquidity: { params: SignExecuteContractMethodParams<{ tokenPairId: HexString; sender: Address; liquidity: bigint; amount0Min: bigint; amount1Min: bigint; deadline: bigint; }>; result: SignExecuteScriptTxResult; }; getReserveInAndReserveOut: { params: SignExecuteContractMethodParams<{ tokenPair: HexString; tokenInId: HexString; }>; result: SignExecuteScriptTxResult; }; swapExactTokenForToken: { params: SignExecuteContractMethodParams<{ tokenPair: HexString; sender: Address; tokenInId: HexString; amountIn: bigint; amountOutMin: bigint; to: Address; deadline: bigint; }>; result: SignExecuteScriptTxResult; }; swapTokenForExactToken: { params: SignExecuteContractMethodParams<{ tokenPair: HexString; sender: Address; tokenInId: HexString; amountInMax: bigint; amountOut: bigint; to: Address; deadline: bigint; }>; result: SignExecuteScriptTxResult; }; swap: { params: SignExecuteContractMethodParams<{ tokenPair: HexString; sender: Address; to: Address; tokenInId: HexString; amountIn: bigint; amountOut: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory$1 extends ContractFactory { encodeFields(): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; consts: { ErrorCodes: { ReserveOverflow: bigint; InsufficientInitLiquidity: bigint; InsufficientLiquidityMinted: bigint; InsufficientLiquidityBurned: bigint; InvalidToAddress: bigint; InsufficientLiquidity: bigint; InvalidTokenInId: bigint; InvalidCalleeId: bigint; InvalidK: bigint; InsufficientOutputAmount: bigint; InsufficientInputAmount: bigint; IdenticalTokenIds: bigint; Expired: bigint; InsufficientToken0Amount: bigint; InsufficientToken1Amount: bigint; TokenNotExist: bigint; InvalidCaller: bigint; FeeCollectorNotEnabled: bigint; InvalidAccount: bigint; }; }; at(address: string): RouterInstance; tests: { addLiquidity_: (params: Omit, "initialFields">) => Promise>; addLiquidity: (params: Omit, "initialFields">) => Promise>; removeLiquidity: (params: Omit, "initialFields">) => Promise>; getReserveInAndReserveOut: (params: Omit, "initialFields">) => Promise>; swapExactTokenForToken: (params: Omit, "initialFields">) => Promise>; swapTokenForExactToken: (params: Omit, "initialFields">) => Promise>; swap: (params: Omit, "initialFields">) => Promise>; }; stateForTest(initFields: {}, asset?: Asset, address?: string): ContractState<{}> | _alephium_web3.ContractStateWithMaps<{}, Record>>; } declare const Router: Factory$1; declare class RouterInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { addLiquidity_: (params: RouterTypes.CallMethodParams<"addLiquidity_">) => Promise>; addLiquidity: (params: RouterTypes.CallMethodParams<"addLiquidity">) => Promise>; removeLiquidity: (params: RouterTypes.CallMethodParams<"removeLiquidity">) => Promise>; getReserveInAndReserveOut: (params: RouterTypes.CallMethodParams<"getReserveInAndReserveOut">) => Promise>; swapExactTokenForToken: (params: RouterTypes.CallMethodParams<"swapExactTokenForToken">) => Promise>; swapTokenForExactToken: (params: RouterTypes.CallMethodParams<"swapTokenForExactToken">) => Promise>; swap: (params: RouterTypes.CallMethodParams<"swap">) => Promise>; }; transact: { addLiquidity_: (params: RouterTypes.SignExecuteMethodParams<"addLiquidity_">) => Promise>; addLiquidity: (params: RouterTypes.SignExecuteMethodParams<"addLiquidity">) => Promise>; removeLiquidity: (params: RouterTypes.SignExecuteMethodParams<"removeLiquidity">) => Promise>; getReserveInAndReserveOut: (params: RouterTypes.SignExecuteMethodParams<"getReserveInAndReserveOut">) => Promise>; swapExactTokenForToken: (params: RouterTypes.SignExecuteMethodParams<"swapExactTokenForToken">) => Promise>; swapTokenForExactToken: (params: RouterTypes.SignExecuteMethodParams<"swapTokenForExactToken">) => Promise>; swap: (params: RouterTypes.SignExecuteMethodParams<"swap">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare namespace TestTokenTypes { type Fields = { symbol: HexString; name: HexString; decimals: bigint; totalSupply: bigint; }; type State = ContractState; interface CallMethodTable { getSymbol: { params: Omit, "args">; result: CallContractResult; }; getName: { params: Omit, "args">; result: CallContractResult; }; getDecimals: { params: Omit, "args">; result: CallContractResult; }; getTotalSupply: { params: Omit, "args">; result: CallContractResult; }; getToken: { params: CallContractParams<{ sender: Address; amount: bigint; }>; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; interface SignExecuteMethodTable { getSymbol: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getName: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getDecimals: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getTotalSupply: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; getToken: { params: SignExecuteContractMethodParams<{ sender: Address; amount: bigint; }>; result: SignExecuteScriptTxResult; }; } type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } declare class Factory extends ContractFactory { encodeFields(fields: TestTokenTypes.Fields): { encodedImmFields: Uint8Array; encodedMutFields: Uint8Array; }; at(address: string): TestTokenInstance; tests: { getSymbol: (params: Omit, "args">) => Promise>; getName: (params: Omit, "args">) => Promise>; getDecimals: (params: Omit, "args">) => Promise>; getTotalSupply: (params: Omit, "args">) => Promise>; getToken: (params: TestContractParamsWithoutMaps) => Promise>; }; stateForTest(initFields: TestTokenTypes.Fields, asset?: Asset, address?: string): ContractState | _alephium_web3.ContractStateWithMaps>>; } declare const TestToken: Factory; declare class TestTokenInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; view: { getSymbol: (params?: TestTokenTypes.CallMethodParams<"getSymbol">) => Promise>; getName: (params?: TestTokenTypes.CallMethodParams<"getName">) => Promise>; getDecimals: (params?: TestTokenTypes.CallMethodParams<"getDecimals">) => Promise>; getTotalSupply: (params?: TestTokenTypes.CallMethodParams<"getTotalSupply">) => Promise>; getToken: (params: TestTokenTypes.CallMethodParams<"getToken">) => Promise>; }; transact: { getSymbol: (params: TestTokenTypes.SignExecuteMethodParams<"getSymbol">) => Promise>; getName: (params: TestTokenTypes.SignExecuteMethodParams<"getName">) => Promise>; getDecimals: (params: TestTokenTypes.SignExecuteMethodParams<"getDecimals">) => Promise>; getTotalSupply: (params: TestTokenTypes.SignExecuteMethodParams<"getTotalSupply">) => Promise>; getToken: (params: TestTokenTypes.SignExecuteMethodParams<"getToken">) => Promise>; }; multicall(calls: Calls): Promise>; multicall(callss: Narrow): Promise>; } declare function getAllContracts(): ContractFactory[]; declare function registerContract(factory: ContractFactory): void; declare function getContractByCodeHash(codeHash: string): Contract; declare const AddLiquidity: ExecutableScript<{ sender: Address; router: HexString; pair: HexString; amount0Desired: bigint; amount1Desired: bigint; amount0Min: bigint; amount1Min: bigint; deadline: bigint; }, null>; declare const Burn: ExecutableScript<{ tokenPair: HexString; sender: Address; liquidity: bigint; }, null>; declare const CollectFee: ExecutableScript<{ feeCollector: HexString; }, null>; declare const CreatePair: ExecutableScript<{ payer: Address; factory: HexString; alphAmount: bigint; tokenAId: HexString; tokenBId: HexString; }, null>; declare const CreatePairAndAddLiquidity: ExecutableScript<{ payer: Address; factory: HexString; alphAmount: bigint; token0Id: HexString; token1Id: HexString; amount0: bigint; amount1: bigint; }, null>; declare const EnableFeeCollector: ExecutableScript<{ tokenPairFactory: HexString; tokenPair: HexString; }, null>; declare const GetToken: ExecutableScript<{ token: HexString; sender: Address; amount: bigint; }, null>; declare const Mint: ExecutableScript<{ tokenPair: HexString; sender: Address; amount0: bigint; amount1: bigint; }, null>; declare const RemoveLiquidity: ExecutableScript<{ sender: Address; router: HexString; pairId: HexString; liquidity: bigint; amount0Min: bigint; amount1Min: bigint; deadline: bigint; }, null>; declare const SetFeeCollectorFactory: ExecutableScript<{ tokenPairFactory: HexString; feeCollectorFactory: HexString; }, null>; declare const Swap: ExecutableScript<{ dexAccount: HexString; tokenPair: HexString; sender: Address; to: Address; amount0In: bigint; amount1In: bigint; amount0Out: bigint; amount1Out: bigint; }, null>; declare const SwapMaxIn: ExecutableScript<{ dexAccount: HexString; sender: Address; router: HexString; pair: HexString; tokenInId: HexString; amountInMax: bigint; amountOut: bigint; deadline: bigint; }, null>; declare const SwapMinOut: ExecutableScript<{ dexAccount: HexString; sender: Address; router: HexString; pair: HexString; tokenInId: HexString; amountIn: bigint; amountOutMin: bigint; deadline: bigint; }, null>; declare const scripts_AddLiquidity: typeof AddLiquidity; declare const scripts_Burn: typeof Burn; declare const scripts_CollectFee: typeof CollectFee; declare const scripts_CreatePair: typeof CreatePair; declare const scripts_CreatePairAndAddLiquidity: typeof CreatePairAndAddLiquidity; declare const scripts_EnableFeeCollector: typeof EnableFeeCollector; declare const scripts_GetToken: typeof GetToken; declare const scripts_Mint: typeof Mint; declare const scripts_RemoveLiquidity: typeof RemoveLiquidity; declare const scripts_SetFeeCollectorFactory: typeof SetFeeCollectorFactory; declare const scripts_Swap: typeof Swap; declare const scripts_SwapMaxIn: typeof SwapMaxIn; declare const scripts_SwapMinOut: typeof SwapMinOut; declare namespace scripts { export { scripts_AddLiquidity as AddLiquidity, scripts_Burn as Burn, scripts_CollectFee as CollectFee, scripts_CreatePair as CreatePair, scripts_CreatePairAndAddLiquidity as CreatePairAndAddLiquidity, scripts_EnableFeeCollector as EnableFeeCollector, scripts_GetToken as GetToken, scripts_Mint as Mint, scripts_RemoveLiquidity as RemoveLiquidity, scripts_SetFeeCollectorFactory as SetFeeCollectorFactory, scripts_Swap as Swap, scripts_SwapMaxIn as SwapMaxIn, scripts_SwapMinOut as SwapMinOut }; } declare const index_AddLiquidity: typeof AddLiquidity; declare const index_Burn: typeof Burn; declare const index_CollectFee: typeof CollectFee; declare const index_CreatePair: typeof CreatePair; declare const index_CreatePairAndAddLiquidity: typeof CreatePairAndAddLiquidity; declare const index_DexAccount: typeof DexAccount; type index_DexAccountInstance = DexAccountInstance; declare const index_DexAccountInstance: typeof DexAccountInstance; declare const index_DexAccountTypes: typeof DexAccountTypes; declare const index_EnableFeeCollector: typeof EnableFeeCollector; declare const index_ExampleOracleSimple: typeof ExampleOracleSimple; type index_ExampleOracleSimpleInstance = ExampleOracleSimpleInstance; declare const index_ExampleOracleSimpleInstance: typeof ExampleOracleSimpleInstance; declare const index_ExampleOracleSimpleTypes: typeof ExampleOracleSimpleTypes; declare const index_FeeCollectorFactoryImpl: typeof FeeCollectorFactoryImpl; type index_FeeCollectorFactoryImplInstance = FeeCollectorFactoryImplInstance; declare const index_FeeCollectorFactoryImplInstance: typeof FeeCollectorFactoryImplInstance; declare const index_FeeCollectorFactoryImplTypes: typeof FeeCollectorFactoryImplTypes; declare const index_FeeCollectorPerTokenPairImpl: typeof FeeCollectorPerTokenPairImpl; type index_FeeCollectorPerTokenPairImplInstance = FeeCollectorPerTokenPairImplInstance; declare const index_FeeCollectorPerTokenPairImplInstance: typeof FeeCollectorPerTokenPairImplInstance; declare const index_FeeCollectorPerTokenPairImplTypes: typeof FeeCollectorPerTokenPairImplTypes; declare const index_FullMathTest: typeof FullMathTest; type index_FullMathTestInstance = FullMathTestInstance; declare const index_FullMathTestInstance: typeof FullMathTestInstance; declare const index_FullMathTestTypes: typeof FullMathTestTypes; declare const index_GetToken: typeof GetToken; declare const index_MathTest: typeof MathTest; type index_MathTestInstance = MathTestInstance; declare const index_MathTestInstance: typeof MathTestInstance; declare const index_MathTestTypes: typeof MathTestTypes; declare const index_Mint: typeof Mint; declare const index_RemoveLiquidity: typeof RemoveLiquidity; declare const index_Router: typeof Router; type index_RouterInstance = RouterInstance; declare const index_RouterInstance: typeof RouterInstance; declare const index_RouterTypes: typeof RouterTypes; declare const index_SetFeeCollectorFactory: typeof SetFeeCollectorFactory; declare const index_Swap: typeof Swap; declare const index_SwapMaxIn: typeof SwapMaxIn; declare const index_SwapMinOut: typeof SwapMinOut; declare const index_TestToken: typeof TestToken; type index_TestTokenInstance = TestTokenInstance; declare const index_TestTokenInstance: typeof TestTokenInstance; declare const index_TestTokenTypes: typeof TestTokenTypes; declare const index_TokenPair: typeof TokenPair; declare const index_TokenPairFactory: typeof TokenPairFactory; type index_TokenPairFactoryInstance = TokenPairFactoryInstance; declare const index_TokenPairFactoryInstance: typeof TokenPairFactoryInstance; declare const index_TokenPairFactoryTypes: typeof TokenPairFactoryTypes; type index_TokenPairInstance = TokenPairInstance; declare const index_TokenPairInstance: typeof TokenPairInstance; declare const index_TokenPairTypes: typeof TokenPairTypes; declare const index_getAllContracts: typeof getAllContracts; declare const index_getContractByCodeHash: typeof getContractByCodeHash; declare const index_registerContract: typeof registerContract; declare namespace index { export { index_AddLiquidity as AddLiquidity, index_Burn as Burn, index_CollectFee as CollectFee, index_CreatePair as CreatePair, index_CreatePairAndAddLiquidity as CreatePairAndAddLiquidity, index_DexAccount as DexAccount, index_DexAccountInstance as DexAccountInstance, index_DexAccountTypes as DexAccountTypes, index_EnableFeeCollector as EnableFeeCollector, index_ExampleOracleSimple as ExampleOracleSimple, index_ExampleOracleSimpleInstance as ExampleOracleSimpleInstance, index_ExampleOracleSimpleTypes as ExampleOracleSimpleTypes, index_FeeCollectorFactoryImpl as FeeCollectorFactoryImpl, index_FeeCollectorFactoryImplInstance as FeeCollectorFactoryImplInstance, index_FeeCollectorFactoryImplTypes as FeeCollectorFactoryImplTypes, index_FeeCollectorPerTokenPairImpl as FeeCollectorPerTokenPairImpl, index_FeeCollectorPerTokenPairImplInstance as FeeCollectorPerTokenPairImplInstance, index_FeeCollectorPerTokenPairImplTypes as FeeCollectorPerTokenPairImplTypes, index_FullMathTest as FullMathTest, index_FullMathTestInstance as FullMathTestInstance, index_FullMathTestTypes as FullMathTestTypes, index_GetToken as GetToken, index_MathTest as MathTest, index_MathTestInstance as MathTestInstance, index_MathTestTypes as MathTestTypes, index_Mint as Mint, index_RemoveLiquidity as RemoveLiquidity, index_Router as Router, index_RouterInstance as RouterInstance, index_RouterTypes as RouterTypes, index_SetFeeCollectorFactory as SetFeeCollectorFactory, index_Swap as Swap, index_SwapMaxIn as SwapMaxIn, index_SwapMinOut as SwapMinOut, index_TestToken as TestToken, index_TestTokenInstance as TestTokenInstance, index_TestTokenTypes as TestTokenTypes, index_TokenPair as TokenPair, index_TokenPairFactory as TokenPairFactory, index_TokenPairFactoryInstance as TokenPairFactoryInstance, index_TokenPairFactoryTypes as TokenPairFactoryTypes, index_TokenPairInstance as TokenPairInstance, index_TokenPairTypes as TokenPairTypes, index_getAllContracts as getAllContracts, index_getContractByCodeHash as getContractByCodeHash, index_registerContract as registerContract }; } type Deployments$2 = { deployerAddress: string; contracts: { TokenPair: DeployContractExecutionResult; TokenPairFactory: DeployContractExecutionResult; Router: DeployContractExecutionResult; FeeCollectorPerTokenPairImpl: DeployContractExecutionResult; FeeCollectorFactoryImpl: DeployContractExecutionResult; }; }; declare function loadDeployments$2(networkId: NetworkId, deployerAddress?: string): Deployments$2; type Deployments$1 = { deployerAddress: string; contracts: { Pool: DeployContractExecutionResult; Position: DeployContractExecutionResult; Tick: DeployContractExecutionResult; BitmapWord: DeployContractExecutionResult; PoolConfig: DeployContractExecutionResult; DexAccount: DeployContractExecutionResult; PoolFactory: DeployContractExecutionResult; PositionManager: DeployContractExecutionResult; }; scripts: { CreateConfig_CreateConfig0: RunScriptResult; CreateConfig_CreateConfig1: RunScriptResult; CreateConfig_CreateConfig2: RunScriptResult; CreateConfig_CreateConfig3: RunScriptResult; CreateConfig_CreateConfig4: RunScriptResult; CreateConfig_CreateConfig5: RunScriptResult; CreateConfig_CreateConfig6: RunScriptResult; CreateConfig_CreateConfig7: RunScriptResult; CreateConfig_CreateConfig8: RunScriptResult; CreateConfig_CreateConfig9: RunScriptResult; }; }; declare function loadDeployments$1(networkId: NetworkId, deployerAddress?: string): Deployments$1; type Deployments = { deployerAddress: string; contracts: { AlphUnstakeVault: DeployContractExecutionResult; XAlphToken: DeployContractExecutionResult; GovernanceDemo: DeployContractExecutionResult; RewardSharingVault: DeployContractExecutionResult; XAlphStakeVault: DeployContractExecutionResult; }; }; declare function loadDeployments(networkId: NetworkId, deployerAddress?: string): Deployments; export { type AddLiquidity$1 as AddLiquidity, type AddLiquidityDetails, type AddLiquidityParams, BPS, type ClaimableAmounts, type ClmmConfig, index$2 as ClmmContracts, ClmmLiquidityUtils, ClmmModule, type ClmmPoolConfig, type ClmmPoolContractState, PoolFactoryTypes as ClmmPoolFactoryTypes, PoolTypes as ClmmPoolTypes, type ClmmPositionInfo, PositionManagerTypes as ClmmPositionManagerTypes, scripts$1 as ClmmScripts, type ClmmSwapParams, type CollectProtocolFees, type CollectTokens, type ComputeLiquidityParams, type ComputeSwapParams, type CpmmConfig, index as CpmmContracts, CpmmModule, type CpmmPoolContractState, scripts as CpmmScripts, TokenPairFactoryTypes as CpmmTokenPairFactoryTypes, TokenPairTypes as CpmmTokenPairTypes, type CreatePoolParams, DEVNET, type ExtendRewards, type GetPositionAmountsFromPriceProps, type GetPositionAmountsFromPriceReturn, GovernanceDemoTypes, InsufficientBalanceError, InsufficientLiquidityError, type LiquidityDistribution, type LiquidityForPrice, LogLevel, Logger, MAX_PIPS, MAX_PRICE_IMPACT, MAX_TICK, MINIMUM_LIQUIDITY, MIN_TICK, MathUtil, type Network, type NetworkOverrides, type NumericLike, NumericUtils, PoolNotFoundError, PoolUtils, type PositionPath, PriceImpactTooHighError, type RemoveLiquidity$1 as RemoveLiquidity, type RemoveLiquidityDetails, type RemoveLiquidityParams, RewardSharingVaultTypes, type Rounding, type SetRewardParams, type SimulateSwap, type StakeVaultUserInfo, type StakingConfig, index$1 as StakingContracts, StakingModule, type StakingSettings, type SwapDetails, type SwapParams$1 as SwapParams, TickUtils, TokenListFetchError, TokenModule, U256_MAX, UNLIMITED_AMOUNT, XAlphStakeVaultTypes, XAlphTokenTypes, Zeta, type ZetaLoadParams, ZetaSDKError, createLogger, decodeContractIdList, decodeU256List, defaultNetworks, getStakingSettings, loadDeployments$1 as loadClmmDeployments, loadDeployments$2 as loadCpmmDeployments, loadDeployments as loadStakingDeployments, setLoggerLevel, sortTokens, stakingSettingsByNetwork };