interchain-token-sdk
Version:
SDK for deploying and managing interchain tokens across multiple chains using Axelar network
20 lines (19 loc) • 1.76 kB
TypeScript
import { WalletClient, SimulateContractParameters, TransactionReceipt } from 'viem';
import { GenericPublicClient } from '../utils/genericPublicClient.js';
import { InterchainTokenDeployedEventArgs, TokenDeployed } from '../types/types.js';
export declare function deployInterchainTokenCall(salt: `0x${string}`, name: string, symbol: string, decimals: number, initialSupply: number, minter: `0x${string}`): SimulateContractParameters;
export declare function deployRemoteInterchainTokenCall(salt: `0x${string}`, destinationChain: string, gasValue: bigint): SimulateContractParameters;
export declare function getInterchainTokenDeployedFromLogs(receipt: TransactionReceipt, salt: `0x${string}`): InterchainTokenDeployedEventArgs | undefined;
export declare function estimateRemoteDeploymentGas(sourceChainName: string, destinationChain: string, executeData: `0x${string}`): Promise<bigint>;
export declare function deployInterchainToken(name: string, symbol: string, decimals: number, initialSupply: number, minter: `0x${string}`, walletClient: WalletClient, publicClient: GenericPublicClient): Promise<{
hash: `0x${string}`;
tokenDeployed: InterchainTokenDeployedEventArgs | undefined;
}>;
export declare function deployRemoteInterchainToken(salt: `0x${string}`, destinationChain: string, gasValue: bigint, walletClient: WalletClient, publicClient: GenericPublicClient): Promise<{
hash: `0x${string}`;
tokenDeployed: InterchainTokenDeployedEventArgs | undefined;
}>;
export declare function deployInterchainTokenMulticall(name: string, symbol: string, decimals: number, initialSupply: number, minter: string, destinationChains: string[], walletClient: any, publicClient: any): Promise<{
hash: string;
tokenDeployed?: TokenDeployed;
}>;