UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

105 lines 5.74 kB
import { Call, Contract } from 'starknet'; import { Address, Domain, Numberish } from '@hyperlane-xyz/utils'; import { BaseStarknetAdapter } from '../../app/MultiProtocolApp.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 StarknetTokenAdapter extends BaseStarknetAdapter implements ITokenAdapter<Call> { readonly chainName: ChainName; readonly multiProvider: MultiProtocolProvider; readonly addresses: { tokenAddress: Address; }; private tokenContract?; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { tokenAddress: Address; }); getContractInstance(): Promise<Contract>; getBalance(address: Address): Promise<bigint>; getMetadata(_isNft?: boolean): Promise<TokenMetadata>; getMinimumTransferAmount(_recipient: Address): Promise<bigint>; isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>; isRevokeApprovalRequired(_owner: Address, _spender: Address): Promise<boolean>; populateApproveTx({ weiAmountOrId, recipient, }: TransferParams): Promise<Call>; populateTransferTx({ weiAmountOrId, recipient, }: TransferParams): Promise<Call>; getTotalSupply(): Promise<bigint | undefined>; } declare class BaseStarknetHypTokenAdapter extends BaseStarknetAdapter implements ITokenAdapter<Call> { readonly chainName: ChainName; readonly multiProvider: MultiProtocolProvider; readonly addresses: { warpRouter: Address; }; readonly contract: Contract; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { warpRouter: Address; }); getBalance(address: Address): Promise<bigint>; getMetadata(_isNft?: boolean): Promise<TokenMetadata>; getMinimumTransferAmount(_recipient: Address): Promise<bigint>; isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>; isRevokeApprovalRequired(_owner: Address, _spender: Address): Promise<boolean>; populateApproveTx({ weiAmountOrId, recipient, }: TransferParams): Promise<Call>; populateTransferTx({ weiAmountOrId, recipient, }: TransferParams): Promise<Call>; getTotalSupply(): Promise<bigint | undefined>; } export declare class StarknetHypSyntheticAdapter extends BaseStarknetHypTokenAdapter implements IHypTokenAdapter<Call> { readonly chainName: ChainName; readonly multiProvider: MultiProtocolProvider; readonly addresses: { warpRouter: Address; }; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { warpRouter: Address; }); isApproveRequired(_owner: Address, _spender: Address, _weiAmountOrId: Numberish): Promise<boolean>; isRevokeApprovalRequired(_owner: Address, _spender: Address): Promise<boolean>; getDomains(): Promise<Domain[]>; getRouterAddress(domain: Domain): Promise<Buffer>; getAllRouters(): Promise<Array<{ domain: Domain; address: Buffer; }>>; getBridgedSupply(): Promise<bigint | undefined>; quoteTransferRemoteGas({ destination, }: QuoteTransferRemoteParams): Promise<InterchainGasQuote>; populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }: TransferRemoteParams): Promise<Call>; } export declare class StarknetHypCollateralAdapter extends StarknetHypSyntheticAdapter { readonly collateralContract: Contract; protected wrappedTokenAddress?: Address; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { warpRouter: Address; }); protected getWrappedTokenAddress(): Promise<Address>; protected getWrappedTokenAdapter(): Promise<StarknetTokenAdapter>; getBridgedSupply(): Promise<bigint | undefined>; getMetadata(isNft?: boolean): Promise<TokenMetadata>; isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>; populateApproveTx(params: TransferParams): Promise<Call>; populateTransferTx(params: TransferParams): Promise<Call>; } export declare class StarknetHypNativeAdapter extends StarknetHypSyntheticAdapter { readonly collateralContract: Contract; readonly nativeContract: Contract; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { warpRouter: Address; }); getBalance(address: Address): Promise<bigint>; isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>; populateApproveTx({ weiAmountOrId, recipient, }: TransferParams): Promise<Call>; populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }: TransferRemoteParams): Promise<Call>; } export declare class StarknetHypFeeAdapter extends StarknetHypSyntheticAdapter { readonly collateralContract: Contract; readonly feeTokenContract: Contract; constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: { warpRouter: Address; }); getBalance(address: Address): Promise<bigint>; isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>; populateApproveTx({ weiAmountOrId, recipient, }: TransferParams): Promise<Call>; populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }: TransferRemoteParams): Promise<Call>; } export {}; //# sourceMappingURL=StarknetTokenAdapter.d.ts.map