@hyperlane-xyz/widgets
Version:
Common react components for Hyperlane projects
41 lines • 1.28 kB
JavaScript
import { useWallet } from '@tronweb3/tronwallet-adapter-react-hooks';
import { TronLinkAdapterName } from '@tronweb3/tronwallet-adapter-tronlink';
import { useMemo } from 'react';
import { ProtocolType } from '@hyperlane-xyz/utils';
export function useTronAccount(_multiProvider) {
const { address, connected } = useWallet();
return useMemo(() => {
const addresses = [];
if (address)
addresses.push({ address });
return {
protocol: ProtocolType.Tron,
addresses,
publicKey: undefined,
isReady: connected && !!address,
};
}, [address, connected]);
}
export function useTronWalletDetails() {
const { wallet } = useWallet();
const { icon, name } = wallet?.adapter || {};
return useMemo(() => ({
name,
logoUrl: icon,
}), [name, icon]);
}
export function useTronConnectFn() {
const { connect, select } = useWallet();
return async () => {
select(TronLinkAdapterName);
await connect();
};
}
export function useTronDisconnectFn() {
const { disconnect } = useWallet();
return disconnect;
}
export function useTronActiveChain(_multiProvider) {
return useMemo(() => ({}), []);
}
//# sourceMappingURL=tronWallet.js.map