@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
61 lines • 3.07 kB
TypeScript
import { AleoProvider } from '@hyperlane-xyz/aleo-sdk/runtime';
import type { AleoTransaction } from '@hyperlane-xyz/aleo-sdk/runtime';
import { Address, Domain, Numberish } from '@hyperlane-xyz/utils';
import { BaseAleoAdapter } from '../../app/MultiProtocolApp.js';
import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js';
import { ChainName } from '../../types.js';
import { TokenMetadata } from '../types.js';
import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, QuoteTransferRemoteParams, TransferParams, TransferRemoteParams } from './ITokenAdapter.js';
export declare class AleoTokenAdapter extends BaseAleoAdapter implements ITokenAdapter<AleoTransaction> {
readonly chainName: ChainName;
readonly multiProvider: MultiProviderAdapter;
readonly addresses: {
token: Address;
};
protected provider: AleoProvider;
protected tokenAddress: string;
protected getDenom(): Promise<string>;
constructor(chainName: ChainName, multiProvider: MultiProviderAdapter, addresses: {
token: Address;
});
getBalance(address: Address): Promise<bigint>;
getMetadata(): Promise<TokenMetadata>;
getMinimumTransferAmount(_recipient: Address): Promise<bigint>;
isApproveRequired(_owner: Address, _spender: Address, _weiAmountOrId: Numberish): Promise<boolean>;
isRevokeApprovalRequired(_owner: Address, _spender: Address): Promise<boolean>;
populateApproveTx(_params: TransferParams): Promise<AleoTransaction>;
populateTransferTx(transferParams: TransferParams): Promise<AleoTransaction>;
getTotalSupply(): Promise<bigint | undefined>;
}
export declare class AleoNativeTokenAdapter extends AleoTokenAdapter implements ITokenAdapter<AleoTransaction> {
getMetadata(): Promise<TokenMetadata>;
}
export declare class BaseAleoHypTokenAdapter extends AleoTokenAdapter implements IHypTokenAdapter<AleoTransaction> {
readonly chainName: ChainName;
readonly multiProvider: MultiProviderAdapter;
readonly addresses: {
token: Address;
};
constructor(chainName: ChainName, multiProvider: MultiProviderAdapter, addresses: {
token: Address;
});
protected getDenom(): Promise<string>;
getDomains(): Promise<Domain[]>;
getRouterAddress(domain: Domain): Promise<Buffer>;
getAllRouters(): Promise<Array<{
domain: Domain;
address: Buffer;
}>>;
getBridgedSupply(): Promise<bigint | undefined>;
quoteTransferRemoteGas({ destination, customHook, }: QuoteTransferRemoteParams): Promise<InterchainGasQuote>;
populateTransferRemoteTx(params: TransferRemoteParams): Promise<AleoTransaction>;
}
export declare class AleoHypCollateralAdapter extends BaseAleoHypTokenAdapter {
}
export declare class AleoHypSyntheticAdapter extends BaseAleoHypTokenAdapter {
}
export declare class AleoHypNativeAdapter extends BaseAleoHypTokenAdapter implements ITokenAdapter<AleoTransaction> {
getDenom(): Promise<string>;
getMetadata(): Promise<TokenMetadata>;
}
//# sourceMappingURL=AleoTokenAdapter.d.ts.map