import * as clientLib from "."; import { BigNumber, Contract, ContractReceipt, Signer } from "ethers"; import * as context from "./context"; import { PublicKey } from "@solana/web3.js"; export declare type ClientContext = context.Context; export declare type SeqAndXTxId = { seq: string; xTxId: number; }; export declare function sendSolOnRampFromEth(ctx: ClientContext, { dstSolanaWallet, amountIn, minLamportsOut, }: { dstSolanaWallet: PublicKey; amountIn: BigNumber; minLamportsOut: BigNumber; }): Promise; export declare function sendSolOnRampFromERC20(ctx: ClientContext, { dstSolanaWallet, amountIn, minLamportsOut, }: { dstSolanaWallet: PublicKey; amountIn: clientLib.XTokenAmount; minLamportsOut: BigNumber; }): Promise; export declare function sendSwapFromERC20(ctx: ClientContext, { amountIn, minAmountOut, maybeSolanaRecipient, }: { amountIn: clientLib.XTokenAmount; minAmountOut: clientLib.XTokenAmount; maybeSolanaRecipient?: PublicKey; }): Promise; export declare function sendSwapFromETH(ctx: ClientContext, { amountIn, minAmountOut, maybeSolanaRecipient, }: { amountIn: BigNumber; minAmountOut: clientLib.XTokenAmount; maybeSolanaRecipient?: PublicKey; }, solOnRampArgs?: { usersSolanaWallet: PublicKey; }): Promise; /** * @deprecated The method should not be used */ export declare function sendSwapWithUIAmts(ctx: ClientContext, { inputMint, outputMint, amountInUISpace, minAmtOutUISpace, maybeSolanaRecipient, }: { inputMint: PublicKey; outputMint: PublicKey; amountInUISpace: number; minAmtOutUISpace: number; maybeSolanaRecipient?: PublicKey; }): Promise; export declare function toDecimal(ctx: context.Context, loc: clientLib.XTokenLocator, amtUISpace: number): Promise; export declare function toDecimalSpace(ui: number, decimals: number): BigNumber; export declare function toDecimalAndERC20(ctx: context.EvmContext, loc: clientLib.XTokenLocator, amtUISpace: number): Promise<[BigNumber, ERC20]>; export declare function sendAbort({ id, signer, contract, raydiumAddr, solanaProxyAddr, tokenBridgeEvmAddr, coreBridgeEvmAddr, dummySolanaToken, }: { id: BigNumber; signer: Signer; contract: clientLib.XRaydiumBridge; raydiumAddr: PublicKey; solanaProxyAddr: PublicKey; tokenBridgeEvmAddr: string; coreBridgeEvmAddr: string; dummySolanaToken?: PublicKey; }): Promise; export declare function printEvents(contract: Contract, receipt: ContractReceipt): void; export declare type ERC20 = Contract & { balanceOf: (addr: string) => Promise; decimals: () => Promise; }; export declare function loadERC20(evmAddress: string, signer: Signer, // types broken on ethers from hardhat. Should be ethers.Signer path?: string): Promise; /** * Approve tokens for a spender along with debug statements */ export declare function approveERC20(ctx: context.EvmContext, approverAddr: string, spenderAddr: string, amount: clientLib.XTokenAmount, silent?: boolean): Promise; export declare function sweepFees(ctx: context.EvmContext): Promise;