/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Address, Contract, ContractState, TestContractResult, HexString, ContractFactory, EventSubscribeOptions, EventSubscription, CallContractParams, CallContractResult, TestContractParams, ContractEvent, subscribeContractEvent, subscribeContractEvents, testMethod, callMethod, multicallMethods, fetchContractState, Asset, ContractInstance, getContractEventsCurrentCount, TestContractParamsWithoutMaps, TestContractResultWithoutMaps, SignExecuteContractMethodParams, SignExecuteScriptTxResult, signExecuteMethod, addStdIdToFields, encodeContractFields, Narrow, } from "@alephium/web3"; import { default as LiquidityAmountsTestContractJson } from "../LiquidityAmountsTest.ral.json"; import { getContractByCodeHash, registerContract } from "./contracts"; import * as types from "./types"; // Custom types for the contract export namespace LiquidityAmountsTestTypes { export type State = Omit, "fields">; export 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; }; } export type CallMethodParams = CallMethodTable[T]["params"]; export type CallMethodResult = CallMethodTable[T]["result"]; export type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; export type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; export type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; export 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; }; } export type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; export type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } class Factory extends ContractFactory { encodeFields() { return encodeContractFields({}, this.contract.fieldsSig, types.AllStructs); } consts = { FullMathError: { MulDivOverflow: BigInt("351") } }; at(address: string): LiquidityAmountsTestInstance { return new LiquidityAmountsTestInstance(address); } tests = { getLiquidityForAmount0: async ( params: Omit< TestContractParamsWithoutMaps< never, { sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint } >, "initialFields" > ): Promise> => { return testMethod( this, "getLiquidityForAmount0", params, getContractByCodeHash ); }, getLiquidityForAmount1: async ( params: Omit< TestContractParamsWithoutMaps< never, { sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount1: bigint } >, "initialFields" > ): Promise> => { return testMethod( this, "getLiquidityForAmount1", params, getContractByCodeHash ); }, getLiquidityForAmounts: async ( params: Omit< TestContractParamsWithoutMaps< never, { sqrtRatioX96: bigint; sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; amount0: bigint; amount1: bigint; } >, "initialFields" > ): Promise> => { return testMethod( this, "getLiquidityForAmounts", params, getContractByCodeHash ); }, getAmount0ForLiquidity: async ( params: Omit< TestContractParamsWithoutMaps< never, { sqrtRatioAX96: bigint; sqrtRatioBX96: bigint; liquidity: bigint } >, "initialFields" > ): Promise> => { return testMethod( this, "getAmount0ForLiquidity", params, getContractByCodeHash ); }, mulDiv: async ( params: Omit< TestContractParamsWithoutMaps< never, { a: bigint; b: bigint; denominator: bigint } >, "initialFields" > ): Promise> => { return testMethod(this, "mulDiv", params, getContractByCodeHash); }, mulDivRoundingUp: async ( params: Omit< TestContractParamsWithoutMaps< never, { a: bigint; b: bigint; denominator: bigint } >, "initialFields" > ): Promise> => { return testMethod( this, "mulDivRoundingUp", params, getContractByCodeHash ); }, }; stateForTest(initFields: {}, asset?: Asset, address?: string) { return this.stateForTest_(initFields, asset, address, undefined); } } // Use this object to test and deploy the contract export const LiquidityAmountsTest = new Factory( Contract.fromJson( LiquidityAmountsTestContractJson, "", "6a4ba04c81892909e02efe02e9f3ebf139cf27afd40f5fca01f4a9b98a9003da", types.AllStructs ) ); registerContract(LiquidityAmountsTest); // Use this class to interact with the blockchain export class LiquidityAmountsTestInstance extends ContractInstance { constructor(address: Address) { super(address); } async fetchState(): Promise { return fetchContractState(LiquidityAmountsTest, this); } view = { getLiquidityForAmount0: async ( params: LiquidityAmountsTestTypes.CallMethodParams<"getLiquidityForAmount0"> ): Promise< LiquidityAmountsTestTypes.CallMethodResult<"getLiquidityForAmount0"> > => { return callMethod( LiquidityAmountsTest, this, "getLiquidityForAmount0", params, getContractByCodeHash ); }, getLiquidityForAmount1: async ( params: LiquidityAmountsTestTypes.CallMethodParams<"getLiquidityForAmount1"> ): Promise< LiquidityAmountsTestTypes.CallMethodResult<"getLiquidityForAmount1"> > => { return callMethod( LiquidityAmountsTest, this, "getLiquidityForAmount1", params, getContractByCodeHash ); }, getLiquidityForAmounts: async ( params: LiquidityAmountsTestTypes.CallMethodParams<"getLiquidityForAmounts"> ): Promise< LiquidityAmountsTestTypes.CallMethodResult<"getLiquidityForAmounts"> > => { return callMethod( LiquidityAmountsTest, this, "getLiquidityForAmounts", params, getContractByCodeHash ); }, getAmount0ForLiquidity: async ( params: LiquidityAmountsTestTypes.CallMethodParams<"getAmount0ForLiquidity"> ): Promise< LiquidityAmountsTestTypes.CallMethodResult<"getAmount0ForLiquidity"> > => { return callMethod( LiquidityAmountsTest, this, "getAmount0ForLiquidity", params, getContractByCodeHash ); }, mulDiv: async ( params: LiquidityAmountsTestTypes.CallMethodParams<"mulDiv"> ): Promise> => { return callMethod( LiquidityAmountsTest, this, "mulDiv", params, getContractByCodeHash ); }, mulDivRoundingUp: async ( params: LiquidityAmountsTestTypes.CallMethodParams<"mulDivRoundingUp"> ): Promise< LiquidityAmountsTestTypes.CallMethodResult<"mulDivRoundingUp"> > => { return callMethod( LiquidityAmountsTest, this, "mulDivRoundingUp", params, getContractByCodeHash ); }, }; transact = { getLiquidityForAmount0: async ( params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"getLiquidityForAmount0"> ): Promise< LiquidityAmountsTestTypes.SignExecuteMethodResult<"getLiquidityForAmount0"> > => { return signExecuteMethod( LiquidityAmountsTest, this, "getLiquidityForAmount0", params ); }, getLiquidityForAmount1: async ( params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"getLiquidityForAmount1"> ): Promise< LiquidityAmountsTestTypes.SignExecuteMethodResult<"getLiquidityForAmount1"> > => { return signExecuteMethod( LiquidityAmountsTest, this, "getLiquidityForAmount1", params ); }, getLiquidityForAmounts: async ( params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"getLiquidityForAmounts"> ): Promise< LiquidityAmountsTestTypes.SignExecuteMethodResult<"getLiquidityForAmounts"> > => { return signExecuteMethod( LiquidityAmountsTest, this, "getLiquidityForAmounts", params ); }, getAmount0ForLiquidity: async ( params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"getAmount0ForLiquidity"> ): Promise< LiquidityAmountsTestTypes.SignExecuteMethodResult<"getAmount0ForLiquidity"> > => { return signExecuteMethod( LiquidityAmountsTest, this, "getAmount0ForLiquidity", params ); }, mulDiv: async ( params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"mulDiv"> ): Promise> => { return signExecuteMethod(LiquidityAmountsTest, this, "mulDiv", params); }, mulDivRoundingUp: async ( params: LiquidityAmountsTestTypes.SignExecuteMethodParams<"mulDivRoundingUp"> ): Promise< LiquidityAmountsTestTypes.SignExecuteMethodResult<"mulDivRoundingUp"> > => { return signExecuteMethod( LiquidityAmountsTest, this, "mulDivRoundingUp", params ); }, }; async multicall( calls: Calls ): Promise>; async multicall( callss: Narrow ): Promise>; async multicall< Callss extends | LiquidityAmountsTestTypes.MultiCallParams | LiquidityAmountsTestTypes.MultiCallParams[] >(callss: Callss): Promise { return await multicallMethods( LiquidityAmountsTest, this, callss, getContractByCodeHash ); } }