import { ExecuteInstruction } from '@cosmjs/cosmwasm-stargate'; import { Coin } from '@cosmjs/stargate'; import { Address, Domain } from '@hyperlane-xyz/utils'; import { BaseCosmWasmAdapter } from '../../app/MultiProtocolApp.js'; import { BalanceResponse, ExecuteMsg as Cw20Execute, QueryMsg as Cw20Query, TokenInfoResponse } from '../../cw-types/Cw20Base.types.js'; import { QuoteDispatchResponse } from '../../cw-types/Mailbox.types.js'; import { DomainsResponse, InterchainSecurityModuleResponse, OwnerResponse, RouteResponseForHexBinary, RoutesResponseForHexBinary, TokenType, TokenTypeResponse, ExecuteMsg as WarpCw20Execute, QueryMsg as WarpCw20Query } from '../../cw-types/WarpCw20.types.js'; import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider.js'; import { ChainName } from '../../types.js'; import { TokenMetadata } from '../types.js'; import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, QuoteTransferRemoteParams, TransferParams, TransferRemoteParams } from './ITokenAdapter.js'; export declare class CwNativeTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter { readonly chainName: string; readonly multiProvider: MultiProtocolProvider; readonly addresses: Record; readonly denom: string; constructor(chainName: string, multiProvider: MultiProtocolProvider, addresses: Record, denom: string); getBalance(address: Address): Promise; getMetadata(): Promise; getMinimumTransferAmount(_recipient: Address): Promise; isApproveRequired(): Promise; isRevokeApprovalRequired(_owner: Address, _spender: Address): Promise; populateApproveTx(_params: TransferParams): Promise; populateTransferTx({ recipient, weiAmountOrId, }: TransferParams): Promise; getTotalSupply(): Promise; } export type CW20Metadata = TokenMetadata; type CW20Response = TokenInfoResponse | BalanceResponse; export declare class CwTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter { readonly chainName: string; readonly multiProvider: MultiProtocolProvider; readonly addresses: { token: Address; }; constructor(chainName: string, multiProvider: MultiProtocolProvider, addresses: { token: Address; }); queryToken(msg: Cw20Query): Promise; prepareToken(msg: Cw20Execute, funds?: Coin[]): ExecuteInstruction; getBalance(address: Address): Promise; getMetadata(): Promise; getMinimumTransferAmount(_recipient: Address): Promise; isApproveRequired(): Promise; isRevokeApprovalRequired(_owner: Address, _spender: Address): Promise; populateApproveTx({ weiAmountOrId, recipient, }: TransferParams): Promise; populateTransferTx({ weiAmountOrId, recipient, }: TransferParams): Promise; getTotalSupply(): Promise; } type TokenRouterResponse = TokenTypeResponse | InterchainSecurityModuleResponse | DomainsResponse | OwnerResponse | RouteResponseForHexBinary | RoutesResponseForHexBinary | QuoteDispatchResponse; export declare class CwHypSyntheticAdapter extends CwTokenAdapter implements IHypTokenAdapter { readonly chainName: ChainName; readonly multiProvider: MultiProtocolProvider; readonly addresses: { token: Address; warpRouter: Address; }; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { token: Address; warpRouter: Address; }); queryRouter(msg: WarpCw20Query): Promise; prepareRouter(msg: WarpCw20Execute, funds?: Coin[]): ExecuteInstruction; getTokenType(): Promise; getInterchainSecurityModule(): Promise
; getOwner(): Promise
; getDomains(): Promise; getRouterAddress(domain: Domain): Promise; getAllRouters(): Promise>; getBridgedSupply(): Promise; quoteTransferRemoteGas({ destination: _destination, }: QuoteTransferRemoteParams): Promise; populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }: TransferRemoteParams): Promise; } export declare class CwHypNativeAdapter extends CwNativeTokenAdapter implements IHypTokenAdapter { readonly chainName: ChainName; readonly multiProvider: MultiProtocolProvider; readonly addresses: { warpRouter: Address; }; private readonly cw20adapter; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { warpRouter: Address; }); getBalance(address: string): Promise; getInterchainSecurityModule(): Promise
; getOwner(): Promise
; getDomains(): Promise; getRouterAddress(domain: Domain): Promise; getAllRouters(): Promise>; getBridgedSupply(): Promise; quoteTransferRemoteGas({ destination, }: QuoteTransferRemoteParams): Promise; getDenom(): Promise; populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }: TransferRemoteParams): Promise; } export declare class CwHypCollateralAdapter extends CwHypNativeAdapter implements IHypTokenAdapter { readonly chainName: ChainName; readonly multiProvider: MultiProtocolProvider; readonly addresses: { warpRouter: Address; token: Address; }; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { warpRouter: Address; token: Address; }); isRevokeApprovalRequired(_owner: Address, _spender: Address): Promise; } export {}; //# sourceMappingURL=CosmWasmTokenAdapter.d.ts.map