@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
39 lines • 1.57 kB
TypeScript
import { PopulatedTransaction } from 'ethers';
import { CrossCollateralRouter } from '@hyperlane-xyz/core';
import { Address, Domain, Numberish } from '@hyperlane-xyz/utils';
import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js';
import { ChainName } from '../../types.js';
import { InterchainGasQuote, TransferRemoteToParams } from './ITokenAdapter.js';
import { EvmHypCollateralAdapter } from './EvmTokenAdapter.js';
/**
* Adapter for CrossCollateralRouter routers.
* Supports transferRemoteTo for both cross-chain and same-chain transfers.
*/
export declare class EvmHypCrossCollateralAdapter extends EvmHypCollateralAdapter {
readonly chainName: ChainName;
readonly multiProvider: MultiProviderAdapter;
readonly addresses: {
token: Address;
collateralToken?: Address;
};
readonly crossCollateralContract: CrossCollateralRouter;
constructor(chainName: ChainName, multiProvider: MultiProviderAdapter, addresses: {
token: Address;
collateralToken?: Address;
});
/**
* Populate cross-chain transfer to a specific target router.
*/
private quoteTransferRemoteToRaw;
populateTransferRemoteToTx(params: TransferRemoteToParams): Promise<PopulatedTransaction>;
/**
* Quote fees for transferRemoteTo.
*/
quoteTransferRemoteToGas(params: {
destination: Domain;
recipient: Address;
amount: Numberish;
targetRouter: Address;
}): Promise<InterchainGasQuote>;
}
//# sourceMappingURL=EvmCrossCollateralAdapter.d.ts.map