export type QuoteExactOutputSingleParamsStruct = { tokenIn: string; tokenOut: string; amount: bigint; fee: number; sqrtPriceLimitX96: bigint | number; }; export type DepositParamsStruct = { inputToken: string; outputToken: string; inputAmount: bigint; outputAmount: bigint; destinationChainId: bigint; fillDeadlineBuffer: bigint; }; export type SendParamsStruct = { xcm: Uint8Array; assets: any[]; claimer: Uint8Array; executionFee: bigint; relayerFee: bigint; destinationExecutionFee: bigint; }; export type SwapParamsStruct = { inputAmount: bigint; router: string; callData: string; }; export type V2CommandStruct = { kind: number; gas: bigint; payload: string; }; export type IGatewayV1 = { quoteSendTokenFee(token: string, destinationChain: number, destinationFee: bigint): Promise; operatingMode(): Promise; channelNoncesOf(channelId: string): Promise<[bigint, bigint]>; channelOperatingModeOf(channelId: string): Promise; agentOf(agentID: string): Promise; }; export type IGatewayV2 = { operatingMode(): Promise; v2_outboundNonce(): Promise; isTokenRegistered(token: string): Promise; agentOf(agentID: string): Promise; getFunction(name: "v2_dispatch"): { populateTransaction(commands: V2CommandStruct[], origin: string, nonce: bigint, overrides?: { from?: string; }): Promise; }; interface: { parseLog(log: any): { name: string; args: any; }; }; }; export type BeefyClient = { latestBeefyBlock(): Promise; }; export type ISwapQuoter = { quoteExactOutputSingle: { staticCall(params: QuoteExactOutputSingleParamsStruct): Promise; }; }; export type IERC20 = { balanceOf(account: string): Promise; allowance(owner: string, spender: string): Promise; }; export declare const IGATEWAY_V1_ABI: readonly [{ readonly type: "function"; readonly name: "agentOf"; readonly inputs: readonly [{ readonly name: "agentID"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "channelNoncesOf"; readonly inputs: readonly [{ readonly name: "channelID"; readonly type: "bytes32"; readonly internalType: "ChannelID"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: ""; readonly type: "uint64"; readonly internalType: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "channelOperatingModeOf"; readonly inputs: readonly [{ readonly name: "channelID"; readonly type: "bytes32"; readonly internalType: "ChannelID"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; readonly internalType: "enum OperatingMode"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "operatingMode"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; readonly internalType: "enum OperatingMode"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "quoteSendTokenFee"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destinationChain"; readonly type: "uint32"; readonly internalType: "ParaID"; }, { readonly name: "destinationFee"; readonly type: "uint128"; readonly internalType: "uint128"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "sendToken"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destinationChain"; readonly type: "uint32"; readonly internalType: "ParaID"; }, { readonly name: "destinationAddress"; readonly type: "tuple"; readonly internalType: "struct MultiAddress"; readonly components: readonly [{ readonly name: "kind"; readonly type: "uint8"; readonly internalType: "enum Kind"; }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "destinationFee"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "amount"; readonly type: "uint128"; readonly internalType: "uint128"; }]; readonly outputs: readonly []; readonly stateMutability: "payable"; }, { readonly type: "event"; readonly name: "OutboundMessageAccepted"; readonly inputs: readonly [{ readonly name: "channelID"; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "ChannelID"; }, { readonly name: "nonce"; readonly type: "uint64"; readonly indexed: false; readonly internalType: "uint64"; }, { readonly name: "messageID"; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "bytes32"; }, { readonly name: "payload"; readonly type: "bytes"; readonly indexed: false; readonly internalType: "bytes"; }]; readonly anonymous: false; }]; export declare const IGATEWAY_V2_ABI: readonly [{ readonly type: "function"; readonly name: "agentOf"; readonly inputs: readonly [{ readonly name: "agentID"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isTokenRegistered"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "operatingMode"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; readonly internalType: "enum OperatingMode"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "v2_createAgent"; readonly inputs: readonly [{ readonly name: "id"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "v2_dispatch"; readonly inputs: readonly [{ readonly name: "commands"; readonly type: "tuple[]"; readonly internalType: "struct CommandV2[]"; readonly components: readonly [{ readonly name: "kind"; readonly type: "uint8"; readonly internalType: "enum CommandKind"; }, { readonly name: "gas"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "payload"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "origin"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "nonce"; readonly type: "uint64"; readonly internalType: "uint64"; }]; readonly outputs: readonly [{ readonly name: "insufficientGasLimit"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "success"; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "v2_outboundNonce"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; readonly internalType: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "v2_registerToken"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "network"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "executionFee"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "relayerFee"; readonly type: "uint128"; readonly internalType: "uint128"; }]; readonly outputs: readonly []; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "v2_sendMessage"; readonly inputs: readonly [{ readonly name: "xcm"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "assets"; readonly type: "bytes[]"; readonly internalType: "bytes[]"; }, { readonly name: "claimer"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "executionFee"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "relayerFee"; readonly type: "uint128"; readonly internalType: "uint128"; }]; readonly outputs: readonly []; readonly stateMutability: "payable"; }, { readonly type: "event"; readonly name: "CommandFailed"; readonly inputs: readonly [{ readonly name: "nonce"; readonly type: "uint64"; readonly indexed: true; readonly internalType: "uint64"; }, { readonly name: "index"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OutboundMessageAccepted"; readonly inputs: readonly [{ readonly name: "nonce"; readonly type: "uint64"; readonly indexed: false; readonly internalType: "uint64"; }, { readonly name: "payload"; readonly type: "tuple"; readonly indexed: false; readonly internalType: "struct Payload"; readonly components: readonly [{ readonly name: "origin"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "assets"; readonly type: "tuple[]"; readonly internalType: "struct Asset[]"; readonly components: readonly [{ readonly name: "kind"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "xcm"; readonly type: "tuple"; readonly internalType: "struct Xcm"; readonly components: readonly [{ readonly name: "kind"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "claimer"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "value"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "executionFee"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "relayerFee"; readonly type: "uint128"; readonly internalType: "uint128"; }]; }]; readonly anonymous: false; }]; export declare const IERC20_ABI: readonly [{ readonly type: "function"; readonly name: "allowance"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "spender"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "approve"; readonly inputs: readonly [{ readonly name: "spender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "balanceOf"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }]; export declare const BEEFY_CLIENT_ABI: readonly [{ readonly type: "function"; readonly name: "latestBeefyBlock"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; readonly internalType: "uint64"; }]; readonly stateMutability: "view"; }]; export declare const SWAP_QUOTER_ABI: readonly [{ readonly type: "function"; readonly name: "quoteExactOutputSingle"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly internalType: "struct ISwapQuoter.QuoteExactOutputSingleParams"; readonly components: readonly [{ readonly name: "tokenIn"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenOut"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "fee"; readonly type: "uint24"; readonly internalType: "uint24"; }, { readonly name: "sqrtPriceLimitX96"; readonly type: "uint160"; readonly internalType: "uint160"; }]; }]; readonly outputs: readonly [{ readonly name: "amountIn"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "sqrtPriceX96After"; readonly type: "uint160"; readonly internalType: "uint160"; }, { readonly name: "initializedTicksCrossed"; readonly type: "uint32"; readonly internalType: "uint32"; }, { readonly name: "gasEstimate"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }]; export declare const SWAP_ROUTER_ABI: readonly [{ readonly type: "function"; readonly name: "exactOutputSingle"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly internalType: "struct ISwapRouter.ExactOutputSingleParams"; readonly components: readonly [{ readonly name: "tokenIn"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenOut"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fee"; readonly type: "uint24"; readonly internalType: "uint24"; }, { readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "deadline"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amountOut"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amountInMaximum"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "sqrtPriceLimitX96"; readonly type: "uint160"; readonly internalType: "uint160"; }]; }]; readonly outputs: readonly [{ readonly name: "amountIn"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }]; export declare const SWAP_LEGACY_ROUTER_ABI: readonly [{ readonly type: "function"; readonly name: "exactOutputSingle"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly internalType: "struct ISwapLegacyRouter.ExactOutputSingleParams"; readonly components: readonly [{ readonly name: "tokenIn"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenOut"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fee"; readonly type: "uint24"; readonly internalType: "uint24"; }, { readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amountOut"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amountInMaximum"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "sqrtPriceLimitX96"; readonly type: "uint160"; readonly internalType: "uint160"; }]; }]; readonly outputs: readonly [{ readonly name: "amountIn"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }]; export declare const SNOWBRIDGE_L1_ADAPTOR_ABI: readonly [{ readonly type: "function"; readonly name: "depositNativeEther"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly internalType: "struct DepositParams"; readonly components: readonly [{ readonly name: "inputToken"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "outputToken"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "inputAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "outputAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "fillDeadlineBuffer"; readonly type: "uint32"; readonly internalType: "uint32"; }]; }, { readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "topic"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositToken"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly internalType: "struct DepositParams"; readonly components: readonly [{ readonly name: "inputToken"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "outputToken"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "inputAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "outputAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "fillDeadlineBuffer"; readonly type: "uint32"; readonly internalType: "uint32"; }]; }, { readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "topic"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }]; export declare const SNOWBRIDGE_L2_ADAPTOR_ABI: readonly [{ readonly type: "function"; readonly name: "sendEtherAndCall"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly internalType: "struct DepositParams"; readonly components: readonly [{ readonly name: "inputToken"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "outputToken"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "inputAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "outputAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "fillDeadlineBuffer"; readonly type: "uint32"; readonly internalType: "uint32"; }]; }, { readonly name: "sendParams"; readonly type: "tuple"; readonly internalType: "struct SendParams"; readonly components: readonly [{ readonly name: "xcm"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "assets"; readonly type: "bytes[]"; readonly internalType: "bytes[]"; }, { readonly name: "claimer"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "executionFee"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "relayerFee"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "destinationExecutionFee"; readonly type: "uint128"; readonly internalType: "uint128"; }]; }, { readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "topic"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "sendTokenAndCall"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly internalType: "struct DepositParams"; readonly components: readonly [{ readonly name: "inputToken"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "outputToken"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "inputAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "outputAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "fillDeadlineBuffer"; readonly type: "uint32"; readonly internalType: "uint32"; }]; }, { readonly name: "swapParams"; readonly type: "tuple"; readonly internalType: "struct SwapParams"; readonly components: readonly [{ readonly name: "inputAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "router"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "sendParams"; readonly type: "tuple"; readonly internalType: "struct SendParams"; readonly components: readonly [{ readonly name: "xcm"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "assets"; readonly type: "bytes[]"; readonly internalType: "bytes[]"; }, { readonly name: "claimer"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "executionFee"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "relayerFee"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "destinationExecutionFee"; readonly type: "uint128"; readonly internalType: "uint128"; }]; }, { readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "topic"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "DepositCallInvoked"; readonly inputs: readonly [{ readonly name: "topic"; readonly type: "bytes32"; readonly internalType: "bytes32"; readonly indexed: false; }, { readonly name: "depositId"; readonly type: "uint256"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }]; export declare const MOONBEAM_PALLET_XCM_PRECOMPILE_ABI: readonly [{ readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint8"; readonly name: "parents"; readonly type: "uint8"; }, { readonly internalType: "bytes[]"; readonly name: "interior"; readonly type: "bytes[]"; }]; readonly internalType: "struct XCM.Location"; readonly name: "dest"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct XCM.AssetAddressInfo[]"; readonly name: "assets"; readonly type: "tuple[]"; }, { readonly internalType: "enum XCM.TransferType"; readonly name: "assetsTransferType"; readonly type: "uint8"; }, { readonly internalType: "uint8"; readonly name: "remoteFeesIdIndex"; readonly type: "uint8"; }, { readonly internalType: "enum XCM.TransferType"; readonly name: "feesTransferType"; readonly type: "uint8"; }, { readonly internalType: "bytes"; readonly name: "customXcmOnDest"; readonly type: "bytes"; }]; readonly name: "transferAssetsUsingTypeAndThenAddress"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; //# sourceMappingURL=contracts.d.ts.map