# Class SolanaTokenBridge<N, C>

#### Type Parameters

- #### N extends Network

- #### C extends SolanaChains

#### Hierarchy

- SolanaTokenBridge

#### Implements

- TokenBridge<N, SolanaPlatformType, C>

- Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:72

#####
Index

### Constructors

constructor

### Properties

chain
chainId
connection
contracts
coreBridge
network
tokenBridge

### Methods

createAta
createAttestation
createUnsignedTx
getOriginalAsset
getWrappedAsset
getWrappedNative
hasWrappedAsset
isTransferCompleted
isWrappedAsset
redeem
redeemAndUnwrap
submitAttestation
transfer
transferSol
fromRpc

## Constructors

### constructor

- new SolanaTokenBridge<N, C>(network, chain, connection, contracts): SolanaTokenBridge<N, C>

- #### Type Parameters

  - #### N extends "Mainnet" | "Testnet" | "Devnet"

  - #### C extends "Solana" | "Pythnet"

  #### Parameters

  - ##### network: N

  - ##### chain: C

  - ##### connection: Connection

  - ##### contracts: Contracts

  #### Returns SolanaTokenBridge<N, C>

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:80

## Properties

### `Readonly` chain

chain: C

- Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:82

### `Readonly` chainId

chainId: 2 | 1 | 3 | 8 | 5 | 6 | 4 | 22 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002 | 10003 | 10004 | 10005 | 10006

- Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:75

### `Readonly` connection

connection: Connection

- Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:83

### `Readonly` contracts

contracts: Contracts

- Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:84

### `Readonly` coreBridge

coreBridge: SolanaWormholeCore<N, C>

- Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:77

### `Readonly` network

network: N

- Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:81

### `Readonly` tokenBridge

tokenBridge: Program<TokenBridge>

- Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:78

## Methods

### `Private` createAta

- createAta(sender, token): AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>

- #### Parameters

  - ##### sender: AnySolanaAddress

  - ##### token: AnySolanaAddress

  #### Returns AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:578

### createAttestation

- createAttestation(token, payer?): AsyncGenerator<SolanaUnsignedTransaction<N, C>, any, unknown>

- #### Parameters

  - ##### token: AnySolanaAddress

  - ##### `Optional` payer: AnySolanaAddress

  #### Returns AsyncGenerator<SolanaUnsignedTransaction<N, C>, any, unknown>

  Implementation of TokenBridge.createAttestation

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:209

### `Private` createUnsignedTx

- createUnsignedTx(txReq, description, parallelizable?): SolanaUnsignedTransaction<N, C>

- #### Parameters

  - ##### txReq: SolanaTransaction

  - ##### description: string

  - ##### parallelizable: boolean = false

  #### Returns SolanaUnsignedTransaction<N, C>

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:652

### getOriginalAsset

- getOriginalAsset(token): Promise<TokenId>

- #### Parameters

  - ##### token: AnySolanaAddress

  #### Returns Promise<TokenId>

  Implementation of TokenBridge.getOriginalAsset

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:136

### getWrappedAsset

- getWrappedAsset(token): Promise<GetNativeAddress<(C extends bigint
  ? `bigint(${C})`
  : C extends boolean
  ? `boolean(${C})`
  : C) extends "Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky"
  ? {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object] extends {
  [key: string]: unknown;
  }
  ? {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object]
  : {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object]
  : never>>

- #### Parameters

  - ##### token: TokenId<"Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky">

  #### Returns Promise<GetNativeAddress<(C extends bigint
  ? `bigint(${C})`
  : C extends boolean
  ? `boolean(${C})`
  : C) extends "Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky"
  ? {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object] extends {
  [key: string]: unknown;
  }
  ? {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object]
  : {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object]
  : never>>

  Implementation of TokenBridge.getWrappedAsset

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:173

### getWrappedNative

- getWrappedNative(): Promise<GetNativeAddress<(C extends bigint
  ? `bigint(${C})`
  : C extends boolean
  ? `boolean(${C})`
  : C) extends "Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky"
  ? {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object] extends {
  [key: string]: unknown;
  }
  ? {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object]
  : {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object]
  : never>>

- #### Returns Promise<GetNativeAddress<(C extends bigint
  ? `bigint(${C})`
  : C extends boolean
  ? `boolean(${C})`
  : C) extends "Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky"
  ? {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object] extends {
  [key: string]: unknown;
  }
  ? {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object]
  : {
  Acala: "Evm";
  Algorand: "Algorand";
  Aptos: "Aptos";
  Arbitrum: "Evm";
  ArbitrumSepolia: "Evm";
  Aurora: "Evm";
  Avalanche: "Evm";
  Base: "Evm";
  BaseSepolia: "Evm";
  Bsc: "Evm";
  Btc: "Btc";
  Celo: "Evm";
  Cosmoshub: "Cosmwasm";
  Ethereum: "Evm";
  Evmos: "Cosmwasm";
  Fantom: "Evm";
  Gnosis: "Evm";
  Holesky: "Evm";
  Injective: "Cosmwasm";
  Karura: "Evm";
  Klaytn: "Evm";
  Kujira: "Cosmwasm";
  Moonbeam: "Evm";
  Near: "Near";
  Neon: "Evm";
  Oasis: "Evm";
  Optimism: "Evm";
  OptimismSepolia: "Evm";
  Osmosis: "Cosmwasm";
  Polygon: "Evm";
  Pythnet: "Solana";
  Rootstock: "Evm";
  Sei: "Cosmwasm";
  Sepolia: "Evm";
  Solana: "Solana";
  Sui: "Sui";
  Terra: "Cosmwasm";
  Terra2: "Cosmwasm";
  Wormchain: "Cosmwasm";
  Xpla: "Cosmwasm";
  }[Object]
  : never>>

  Implementation of TokenBridge.getWrappedNative

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:205

### hasWrappedAsset

- hasWrappedAsset(token): Promise<boolean>

- #### Parameters

  - ##### token: TokenId

  #### Returns Promise<boolean>

  Implementation of TokenBridge.hasWrappedAsset

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:165

### isTransferCompleted

- isTransferCompleted(vaa): Promise<boolean>

- #### Parameters

  - ##### vaa: VAA<"TokenBridge:Transfer"> | VAA<"TokenBridge:TransferWithPayload">

  #### Returns Promise<boolean>

  Implementation of TokenBridge.isTransferCompleted

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:192

### isWrappedAsset

- isWrappedAsset(token): Promise<boolean>

- #### Parameters

  - ##### token: AnySolanaAddress

  #### Returns Promise<boolean>

  Implementation of TokenBridge.isWrappedAsset

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:126

### redeem

- redeem(sender, vaa, unwrapNative?): AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>

- #### Parameters

  - ##### sender: AnySolanaAddress

  - ##### vaa: VAA<"TokenBridge:Transfer"> | VAA<"TokenBridge:TransferWithPayload">

  - ##### unwrapNative: boolean = true

  #### Returns AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>

  Implementation of TokenBridge.redeem

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:600

### `Private` redeemAndUnwrap

- redeemAndUnwrap(sender, vaa): AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>

- #### Parameters

  - ##### sender: AnySolanaAddress

  - ##### vaa: VAA<"TokenBridge:Transfer"> | VAA<"TokenBridge:TransferWithPayload">

  #### Returns AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:503

### submitAttestation

- submitAttestation(vaa, payer?): AsyncGenerator<SolanaUnsignedTransaction<N, C>, any, unknown>

- #### Parameters

  - ##### vaa: VAA<"TokenBridge:AttestMeta">

  - ##### `Optional` payer: AnySolanaAddress

  #### Returns AsyncGenerator<SolanaUnsignedTransaction<N, C>, any, unknown>

  Implementation of TokenBridge.submitAttestation

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:245

### transfer

- transfer(sender, recipient, token, amount, payload?): AsyncGenerator<SolanaUnsignedTransaction<N, C>, any, unknown>

- #### Parameters

  - ##### sender: AnySolanaAddress

  - ##### recipient: ChainAddress

  - ##### token: AnySolanaAddress

  - ##### amount: bigint

  - ##### `Optional` payload: Uint8Array

  #### Returns AsyncGenerator<SolanaUnsignedTransaction<N, C>, any, unknown>

  Implementation of TokenBridge.transfer

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:383

### `Private` transferSol

- transferSol(sender, recipient, amount, payload?): Promise<SolanaUnsignedTransaction<N, C>>

- #### Parameters

  - ##### sender: AnySolanaAddress

  - ##### recipient: ChainAddress

  - ##### amount: bigint

  - ##### `Optional` payload: Uint8Array

  #### Returns Promise<SolanaUnsignedTransaction<N, C>>

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:271

### `Static` fromRpc

- fromRpc<N>(connection, config): Promise<SolanaTokenBridge<N, "Solana" | "Pythnet">>

- #### Type Parameters

  - #### N extends "Mainnet" | "Testnet" | "Devnet"

  #### Parameters

  - ##### connection: Connection

  - ##### config: ChainsConfig<N, "Solana" | "Algorand" | "Near" | "Sui" | "Aptos" | "Btc" | "Evm" | "Cosmwasm">

  #### Returns Promise<SolanaTokenBridge<N, "Solana" | "Pythnet">>

  - Defined in platforms/solana/protocols/tokenBridge/src/tokenBridge.ts:107

Generated using TypeDoc