/// import * as wh from "@certusone/wormhole-sdk"; import * as ethers from "ethers"; import * as context from "./context"; import * as types from "."; import * as utilities from "./utilities"; import { PublicKey } from "@solana/web3.js"; import { ClientContext } from "./client"; import { Header } from "."; export interface TransferPayload { amount: bigint; originAddress: string; originChain: wh.ChainId; targetAddress: string; targetChain: wh.ChainId; fee: bigint; payload3?: Uint8Array; } export interface TransferPayloadWithData { amount: bigint; originAddress: types.ForeignAddr; originChain: wh.ChainId; targetAddress: types.ForeignAddr; targetChain: wh.ChainId; fromAddress: types.ForeignAddr; payload3: Uint8Array; } export interface BaseVAA { version: number; guardianSetIndex: number; timestamp: number; nonce: number; emitterChain: wh.ChainId; emitterAddress: Uint8Array; sequence: number; consistencyLevel: number; payload: Uint8Array; } export declare type Provider = ethers.providers.Provider; export declare function getMintEVM(ctx: context.EvmContextNoSigner, token: types.XTokenLocator): Promise; export declare function getMintSolana(ctx: context.SolanaContextNoSigner, token: types.XTokenLocator): Promise; export declare function getXTokenLocatorFromSolanaMint(ctx: ClientContext, mint: PublicKey): Promise; export declare function getXTokenLocatorFromEVMMint(ctx: ClientContext, mint: string): Promise; export declare function ensureTokenAttested(ctx: context.Context, token: types.XTokenLocator): Promise; export declare function ensureTokenAttestedEVM(ctx: context.Context, token: types.XTokenLocator): Promise; export declare function ensureTokenAttestedSolana(ctx: context.Context, token: types.XTokenLocator): Promise; export declare function transferEvmToSolanaNative(ctx: context.Context, mint: string, amountInDecimalSpace: number): Promise; export declare function transferEvmNativeToSolana(ctx: context.Context, mint: string, amountIn: number): Promise; export declare function redeemTransferOnSolana(ctx: context.Context, seq: string): Promise; export declare function redeemTransferOnEVM(ctx: context.Context, seq: string): Promise; export declare function getSignedVaaWithBackoff(emitterAddress: string, sequence: string, chainID: wh.ChainId, whRPC: string, { backoff, silent, retries }?: utilities.RetryOptions): Promise; export declare function parseTransferTokenWithPayload(baseVAA: wh.ParsedVaa): Promise; export declare function tryParseTransferTokenWithPayload(baseVAA: wh.ParsedVaa): Promise; export declare function getAndParseEvmVaa(ctx: { chainId: wh.ChainId; } & context.PIDS, seq: string, silent?: boolean): Promise<{ header: Header; transfer?: TransferPayloadWithData; vaaBytes: Uint8Array; baseVAA: wh.ParsedVaa; }>; export declare function parseHeader(bytes: Uint8Array | Buffer, silent?: boolean): types.Header;