UNPKG

@hashport/react-client

Version:
41 lines 2.56 kB
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime"; import { createContext } from 'react'; import { HashportClient } from '@hashport/sdk'; import { BridgeParamsProvider } from './bridgeParams'; import { useRainbowKitSigner } from '../hooks/useRainbowKitSigner'; import { RainbowKitBoilerPlate } from './rainbowKitProvider'; import { HashportApiProvider } from './hashportApi'; import { ConnectButton } from '@rainbow-me/rainbowkit'; export const HashportClientContext = createContext(undefined); export const HashportClientProvider = ({ children, evmSigner, hederaSigner, customMirrorNodeCredentials, customMirrorNodeUrl, debug, persistOptions, mode = 'mainnet', disconnectedAccountsFallback = _jsx("p", { children: "Please connect signers for both EVM and Hedera networks" }), }) => { const hashportClient = evmSigner && hederaSigner && new HashportClient({ evmSigner, hederaSigner, customMirrorNodeCredentials, customMirrorNodeUrl, debug, mode, persistOptions, }); return (_jsx(HashportApiProvider, { mode: mode, children: _jsx(HashportClientContext.Provider, { value: hashportClient, children: _jsx(BridgeParamsProvider, { children: hashportClient ? children : disconnectedAccountsFallback }) }) })); }; const HashportClientForRainbowKit = ({ children, renderConnectButton = (children, RainbowKitConnectButton) => { return (_jsxs(_Fragment, { children: [_jsx(RainbowKitConnectButton, {}), children] })); }, hederaSigner, mode = 'mainnet', disconnectedAccountsFallback = _jsx("p", { children: "Please connect signers for both EVM and Hedera networks" }), ...rest }) => { const evmSigner = useRainbowKitSigner(); const hashportClient = evmSigner && hederaSigner && new HashportClient({ evmSigner, hederaSigner, mode, ...rest, }); return (_jsx(HashportClientContext.Provider, { value: hashportClient, children: _jsx(BridgeParamsProvider, { children: renderConnectButton(hashportClient ? children : disconnectedAccountsFallback, ConnectButton) }) })); }; export const HashportClientProviderWithRainbowKit = ({ children, rainbowKitProviderProps = {}, ...props }) => { return (_jsx(HashportApiProvider, { mode: props.mode, children: _jsx(RainbowKitBoilerPlate, { ...rainbowKitProviderProps, children: _jsx(HashportClientForRainbowKit, { ...props, children: children }) }) })); }; //# sourceMappingURL=hashportClient.js.map