@hyperlane-xyz/widgets
Version:
Common react components for Hyperlane projects
25 lines • 1.93 kB
TypeScript
import { ChainName, MultiProtocolProvider } from '@hyperlane-xyz/sdk';
import { Address, HexString, ProtocolType } from '@hyperlane-xyz/utils';
import { AccountInfo, ActiveChainInfo, ChainTransactionFns, WalletDetails, WatchAssetFns } from './types.js';
export declare function useAccounts(multiProvider: MultiProtocolProvider, blacklistedAddresses?: Address[]): {
accounts: Record<ProtocolType, AccountInfo>;
readyAccounts: Array<AccountInfo>;
};
export declare function useAccountForChain(multiProvider: MultiProtocolProvider, chainName?: ChainName): AccountInfo | undefined;
export declare function useAccountAddressForChain(multiProvider: MultiProtocolProvider, chainName?: ChainName): Address | undefined;
export declare function getAccountAddressForChain(multiProvider: MultiProtocolProvider, chainName?: ChainName, accounts?: Record<ProtocolType, AccountInfo>): Address | undefined;
export declare function getAddressFromAccountAndChain(account?: AccountInfo, chainName?: ChainName): string;
export declare function getAccountAddressAndPubKey(multiProvider: MultiProtocolProvider, chainName?: ChainName, accounts?: Record<ProtocolType, AccountInfo>): {
address?: Address;
publicKey?: Promise<HexString>;
};
export declare function useWalletDetails(): Record<ProtocolType, WalletDetails>;
export declare function useConnectFns(): Record<ProtocolType, () => void>;
export declare function useDisconnectFns(): Record<ProtocolType, () => Promise<void>>;
export declare function useActiveChains(multiProvider: MultiProtocolProvider): {
chains: Record<ProtocolType, ActiveChainInfo>;
readyChains: Array<ActiveChainInfo>;
};
export declare function useTransactionFns(multiProvider: MultiProtocolProvider): Record<ProtocolType, ChainTransactionFns>;
export declare function useWatchAsset(multiProvider: MultiProtocolProvider): Record<ProtocolType, WatchAssetFns>;
//# sourceMappingURL=multiProtocol.d.ts.map