@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
21 lines • 1.21 kB
TypeScript
import type { Address } from '@hyperlane-xyz/utils';
import type { MultiProviderAdapter } from '../providers/MultiProviderAdapter.js';
import type { ChainName } from '../types.js';
import type { TokenAmount } from './TokenAmount.js';
import type { ITokenMetadata } from './ITokenMetadata.js';
import type { TokenConnection } from './TokenConnection.js';
import type { IHypTokenAdapter, ITokenAdapter } from './adapters/ITokenAdapter.js';
export type { ITokenMetadata, TokenArgs } from './ITokenMetadata.js';
export { TokenConfigSchema } from './ITokenMetadata.js';
export interface IToken extends ITokenMetadata {
getConnections(): TokenConnection<IToken>[];
getConnectionForChain(chain: ChainName): TokenConnection<IToken> | undefined;
addConnection(connection: TokenConnection<IToken>): IToken;
removeConnection(token: IToken): IToken;
getAdapter(multiProvider: MultiProviderAdapter): ITokenAdapter<unknown>;
getHypAdapter(multiProvider: MultiProviderAdapter<{
mailbox?: Address;
}>, destination?: ChainName): IHypTokenAdapter<unknown>;
getBalance(multiProvider: MultiProviderAdapter, address: Address): Promise<TokenAmount<IToken>>;
}
//# sourceMappingURL=IToken.d.ts.map