UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

44 lines 2.26 kB
import { MsgTransferEncodeObject } from '@cosmjs/stargate'; import { Address, Numberish } from '@hyperlane-xyz/utils'; import type { MultiProviderAdapter } from '../providers/MultiProviderAdapter.js'; import { ChainName } from '../types.js'; import type { IToken } from './IToken.js'; import { TokenAmount } from './TokenAmount.js'; import { TokenConnection } from './TokenConnection.js'; import { TokenMetadata } from './TokenMetadata.js'; import type { IHypTokenAdapter, ITokenAdapter } from './adapters/ITokenAdapter.js'; export declare class Token extends TokenMetadata implements IToken { amount(amount: Numberish): TokenAmount<this>; getConnections(): TokenConnection<IToken>[]; getConnectionForChain(chain: ChainName): TokenConnection<IToken> | undefined; addConnection(connection: TokenConnection<IToken>): Token; removeConnection(token: IToken): Token; /** * Returns a TokenAdapter for the token and multiProvider * @throws If multiProvider does not contain this token's chain. * @throws If token is an NFT (TODO NFT Adapter support) */ getAdapter(multiProvider: MultiProviderAdapter): ITokenAdapter<unknown>; /** * Returns a HypTokenAdapter for the token and multiProvider * @throws If not applicable to this token's standard. * @throws If multiProvider does not contain this token's chain. * @throws If token is an NFT (TODO NFT Adapter support) */ getHypAdapter(multiProvider: MultiProviderAdapter<{ mailbox?: Address; }>, destination?: ChainName): IHypTokenAdapter<unknown>; protected getIbcAdapter(multiProvider: MultiProviderAdapter, connection: TokenConnection): IHypTokenAdapter<MsgTransferEncodeObject>; /** * Convenience method to create an adapter and return an account balance */ getBalance(multiProvider: MultiProviderAdapter, address: Address): Promise<TokenAmount<IToken>>; } interface GetCollateralTokenAdapterOptions { multiProvider: MultiProviderAdapter; chainName: ChainName; tokenAddress: Address; } export declare function getCollateralTokenAdapter({ chainName, multiProvider, tokenAddress, }: GetCollateralTokenAdapterOptions): ITokenAdapter<unknown>; export {}; //# sourceMappingURL=Token.d.ts.map