UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

73 lines 3.61 kB
/// <reference types="node" resolution-mode="require"/> import { MsgTransferEncodeObject } from '@cosmjs/stargate'; import { Address, Domain } from '@hyperlane-xyz/utils'; import { BaseCosmosAdapter } from '../../app/MultiProtocolApp.js'; import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider.js'; import { ChainName } from '../../types.js'; import { TokenMetadata } from '../types.js'; import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, TransferParams, TransferRemoteParams } from './ITokenAdapter.js'; export declare class CosmNativeTokenAdapter extends BaseCosmosAdapter implements ITokenAdapter<MsgTransferEncodeObject> { readonly chainName: ChainName; readonly multiProvider: MultiProtocolProvider; readonly addresses: Record<string, Address>; readonly properties: { ibcDenom: string; }; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: Record<string, Address>, properties: { ibcDenom: string; }); getBalance(address: string): Promise<bigint>; getMetadata(): Promise<TokenMetadata>; getMinimumTransferAmount(_recipient: Address): Promise<bigint>; isApproveRequired(): Promise<boolean>; isRevokeApprovalRequired(_owner: Address, _spender: Address): Promise<boolean>; populateApproveTx(_transferParams: TransferParams): Promise<MsgTransferEncodeObject>; populateTransferTx(_transferParams: TransferParams): Promise<MsgTransferEncodeObject>; getTotalSupply(): Promise<bigint | undefined>; } export declare class CosmIbcTokenAdapter extends CosmNativeTokenAdapter implements IHypTokenAdapter<MsgTransferEncodeObject> { readonly chainName: ChainName; readonly multiProvider: MultiProtocolProvider; readonly addresses: Record<string, Address>; readonly properties: { ibcDenom: string; sourcePort: string; sourceChannel: string; }; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: Record<string, Address>, properties: { ibcDenom: string; sourcePort: string; sourceChannel: string; }); getDomains(): Promise<Domain[]>; getRouterAddress(_domain: Domain): Promise<Buffer>; getAllRouters(): Promise<Array<{ domain: Domain; address: Buffer; }>>; getBridgedSupply(): Promise<bigint | undefined>; quoteTransferRemoteGas(_destination: Domain): Promise<InterchainGasQuote>; populateTransferRemoteTx(transferParams: TransferRemoteParams, memo?: string): Promise<MsgTransferEncodeObject>; } export declare class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter implements IHypTokenAdapter<MsgTransferEncodeObject> { readonly chainName: ChainName; readonly multiProvider: MultiProtocolProvider; readonly addresses: { intermediateRouterAddress: Address; destinationRouterAddress: Address; }; readonly properties: CosmIbcTokenAdapter['properties'] & { intermediateIbcDenom: string; intermediateChainName: ChainName; }; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { intermediateRouterAddress: Address; destinationRouterAddress: Address; }, properties: CosmIbcTokenAdapter['properties'] & { intermediateIbcDenom: string; intermediateChainName: ChainName; }); quoteTransferRemoteGas(_destination: Domain): Promise<InterchainGasQuote>; populateTransferRemoteTx(transferParams: TransferRemoteParams): Promise<MsgTransferEncodeObject>; } //# sourceMappingURL=CosmosTokenAdapter.d.ts.map