UNPKG

@hyperlane-xyz/widgets

Version:

Common react components for Hyperlane projects

49 lines 1.68 kB
import { ChainName, IToken, TypedTransactionReceipt, WarpTypedTransaction } from '@hyperlane-xyz/sdk'; import { HexString, ProtocolType } from '@hyperlane-xyz/utils'; export interface ChainAddress { address: string; chainName?: ChainName; } export interface AccountInfo { protocol: ProtocolType; addresses: Array<ChainAddress>; publicKey?: Promise<HexString>; isReady: boolean; } export interface WalletDetails { name?: string; logoUrl?: string; } export interface ActiveChainInfo { chainDisplayName?: string; chainName?: ChainName; } export type SendTransactionFn<TxReq extends WarpTypedTransaction = WarpTypedTransaction, TxResp extends TypedTransactionReceipt = TypedTransactionReceipt> = (params: { tx: TxReq; chainName: ChainName; activeChainName?: ChainName; }) => Promise<{ hash: string; confirm: () => Promise<TxResp>; }>; export type SendMultiTransactionFn<TxReq extends WarpTypedTransaction = WarpTypedTransaction, TxResp extends TypedTransactionReceipt = TypedTransactionReceipt> = (params: { txs: TxReq[]; chainName: ChainName; activeChainName?: ChainName; }) => Promise<{ hash: string; confirm: () => Promise<TxResp>; }>; export type SwitchNetworkFn = (chainName: ChainName) => Promise<void>; export interface ChainTransactionFns { sendTransaction: SendTransactionFn; sendMultiTransaction: SendMultiTransactionFn; switchNetwork?: SwitchNetworkFn; } export interface SwitchNetworkFns { switchNetwork: SwitchNetworkFn; } export interface WatchAssetFns { addAsset: (token: IToken, activeChainName: ChainName) => Promise<boolean>; } //# sourceMappingURL=types.d.ts.map