import * as wh from "@certusone/wormhole-sdk"; import * as web3 from "@solana/web3.js"; import { RetryOptions } from "./utilities"; import { providers, Signer } from "ethers"; declare type Provider = providers.Provider; export interface EvmProvider { provider: Provider; } export interface EvmSigner { signer: Signer; } export interface EvmContextNoSigner extends EvmProvider, PIDS { chainId: wh.ChainId; evmWalletAddr: string; weth: string; } export declare type EvmContext = EvmContextNoSigner & EvmSigner; export interface SolanaConnectionOverrides { commitment: web3.Commitment; skipPreflight: boolean; } export declare class SolanaContextNoSigner implements SolanaPIDS { readonly conn: web3.Connection; connectionOverrides: SolanaConnectionOverrides; readonly isMainnet: boolean; txLogs: (tx: string | web3.VersionedTransactionResponse) => Promise; readonly solanaProxy: web3.PublicKey; readonly tokenBridgeSolana: web3.PublicKey; readonly coreBridgeSolana: web3.PublicKey; readonly LIQUIDITY_PROGRAM_ID_V4: web3.PublicKey; readonly ROUTE_PROGRAM_ID: web3.PublicKey; readonly SERUM_PROGRAM_ID_V3: web3.PublicKey; readonly wormholeRPC: string; constructor(conn: web3.Connection, connectionOverrides: SolanaConnectionOverrides, pids: SolanaPIDS, isMainnet: boolean); } export declare class SolanaContext extends SolanaContextNoSigner { readonly payer: web3.Keypair; constructor(solanaConnection: web3.Connection, solanaConnectionOverrides: SolanaConnectionOverrides, payer: web3.Keypair, pids: SolanaPIDS, isMainnet: boolean); signTx: (tx: web3.Transaction) => Promise; sendMessage(msg: web3.MessageV0, signers: web3.Signer[], overrides?: web3.ConfirmOptions | {}, retryOpt?: RetryOptions): Promise; sendTransaction(tx: web3.Transaction, signers: web3.Signer[], overrides?: web3.ConfirmOptions | {}, retryOpt?: RetryOptions): Promise; sendTransactionWithPayer(tx: web3.Transaction, retryOpt?: RetryOptions): Promise; sendIxsWithPayer(ixs: Array, retryOpt?: RetryOptions): Promise; } export interface Context extends PIDS { sol: Sol; evm: Evm; } export declare function newContext(sol: Sol, evm: Evm): Context; export interface SolanaPIDS { solanaProxy: web3.PublicKey; tokenBridgeSolana: web3.PublicKey; coreBridgeSolana: web3.PublicKey; wormholeRPC: string; LIQUIDITY_PROGRAM_ID_V4: web3.PublicKey; SERUM_PROGRAM_ID_V3: web3.PublicKey; ROUTE_PROGRAM_ID: web3.PublicKey; } export interface PIDS extends SolanaPIDS { xRaydiumEvmAddr: string; coreBridgeEvm: string; tokenBridgeEvm: string; } export declare const solanaChainId = 1; export {};