# Interface AutomaticTokenBridge<N, P, C>

#### Type Parameters

- #### N extends Network

- #### P extends Platform

- #### C extends PlatformToChains<P>

#### Hierarchy

- AutomaticTokenBridge

#### Implemented by

- EvmAutomaticTokenBridge
- SolanaAutomaticTokenBridge

- Defined in definitions/src/protocols/tokenBridge.ts:60
- Defined in definitions/src/protocols/tokenBridge.ts:141

#####
Index

### Methods

getRegisteredTokens
getRelayerFee
isRegisteredToken
maxSwapAmount
nativeTokenAmount
redeem
transfer

## Methods

### getRegisteredTokens

- getRegisteredTokens(): 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>[]>

  - Defined in definitions/src/protocols/tokenBridge.ts:169

### getRelayerFee

- getRelayerFee(sender, recipient, token): Promise<bigint>

- #### Parameters

  - ##### sender: AccountAddress<C>

  - ##### recipient: ChainAddress

  - ##### token: TokenAddress<C>

  #### Returns Promise<bigint>

  - Defined in definitions/src/protocols/tokenBridge.ts:161

### isRegisteredToken

- isRegisteredToken(token): Promise<boolean>

- #### Parameters

  - ##### token: TokenAddress<C>

  #### Returns Promise<boolean>

  - Defined in definitions/src/protocols/tokenBridge.ts:167

### maxSwapAmount

- maxSwapAmount(token): Promise<bigint>

- #### Parameters

  - ##### token: TokenAddress<C>

  #### Returns Promise<bigint>

  - Defined in definitions/src/protocols/tokenBridge.ts:173

### nativeTokenAmount

- nativeTokenAmount(token, amount): Promise<bigint>

- #### Parameters

  - ##### token: TokenAddress<C>

  - ##### amount: bigint

  #### Returns Promise<bigint>

  - Defined in definitions/src/protocols/tokenBridge.ts:171

### redeem

- redeem(sender, vaa): AsyncGenerator<UnsignedTransaction<N, C>, any, unknown>

- #### Parameters

  - ##### sender: AccountAddress<C>

  - ##### vaa: VAA<"AutomaticTokenBridge:TransferWithRelay">

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

  - Defined in definitions/src/protocols/tokenBridge.ts:156

### transfer

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

- #### Parameters

  - ##### sender: AccountAddress<C>

  - ##### recipient: ChainAddress

  - ##### token: TokenAddress<C>

  - ##### amount: bigint

  - ##### `Optional` nativeGas: bigint

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

  - Defined in definitions/src/protocols/tokenBridge.ts:147

Generated using TypeDoc