UNPKG

nimbus-bridge

Version:
187 lines 8.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AppWrapped = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const next_themes_1 = require("next-themes"); const react_1 = require("react"); const relay_sdk_1 = require("@reservoir0x/relay-sdk"); const relay_kit_ui_1 = require("@reservoir0x/relay-kit-ui"); const wagmi_1 = require("wagmi"); const relay_kit_hooks_1 = require("@reservoir0x/relay-kit-hooks"); const chains_1 = require("wagmi/chains"); const wagmi_connector_1 = require("@dynamic-labs/wagmi-connector"); const sdk_react_core_1 = require("@dynamic-labs/sdk-react-core"); const ethereum_1 = require("@dynamic-labs/ethereum"); const bitcoin_1 = require("@dynamic-labs/bitcoin"); const solana_1 = require("@dynamic-labs/solana"); const eclipse_1 = require("@dynamic-labs/eclipse"); const sui_1 = require("@dynamic-labs/sui"); const abstract_global_wallet_evm_1 = require("@dynamic-labs-connectors/abstract-global-wallet-evm"); const dynamic_1 = require("./utils/dynamic"); const walletFilter_1 = require("./context/walletFilter"); const Bridge_1 = require("./Bridge"); const AppWrapped = ({ fee, recipientAddress, duneApiKey, dynamicApiKey, isDarkMode, config, }) => { const theme = (0, react_1.useMemo)(() => { return { widget: { background: isDarkMode ? "#0f0f0f" : "#", borderRadius: "20px", card: { background: isDarkMode ? "#0f0f0f" : "", borderRadius: "20px", }, selector: { background: isDarkMode ? "#0f0f0f" : "", hover: { background: isDarkMode ? "#0f0f0f" : "", }, }, swapCurrencyButtonBorderColor: isDarkMode ? "gray" : "", swapCurrencyButtonBorderWidth: "2px", }, modal: { background: isDarkMode ? "#0f0f0f" : "", }, input: { background: isDarkMode ? "#0f0f0f" : "", color: isDarkMode ? "#fff" : "", }, anchor: { color: isDarkMode ? "#fff" : "#000", hover: { color: isDarkMode ? "#fff" : "#000", }, }, primaryColor: "#1e96fc", focusColor: "#1e96fc", buttons: { primary: { background: "#1e96fc", hover: { background: "#1469b0", }, }, }, }; }, [isDarkMode]); const { walletFilter, setWalletFilter } = (0, walletFilter_1.useWalletFilter)(); const [wagmiConfig, setWagmiConfig] = (0, react_1.useState)(); const { chains, viemChains } = (0, relay_kit_hooks_1.useRelayChains)(relay_sdk_1.MAINNET_RELAY_API, { includeChains: "bfb8677a-eefc-47fa-9388-beca0c6f9d17,e7f3d1fc-1d6e-4043-b57e-81db1a4301f7,32d4ad9e-0de1-4993-a07b-a27c27d869c4,52824ebe-d1ee-4e5e-a00f-9866218b44a1", referrer: "relay-demo", }); (0, react_1.useEffect)(() => { if (chains && viemChains && !wagmiConfig) { setWagmiConfig((0, wagmi_1.createConfig)({ chains: (viemChains && viemChains.length === 0 ? [ chains_1.mainnet, chains_1.arbitrum, chains_1.ancient8, chains_1.apeChain, chains_1.arbitrumNova, chains_1.avalanche, chains_1.b3, chains_1.base, chains_1.blast, chains_1.bob, chains_1.boba, chains_1.cyber, chains_1.degen, chains_1.forma, chains_1.gnosis, chains_1.ham, chains_1.hychain, chains_1.ink, chains_1.linea, chains_1.mantle, chains_1.mint, chains_1.mode, chains_1.optimism, chains_1.polygon, chains_1.polygonZkEvm, chains_1.scroll, chains_1.redstone, chains_1.sei, chains_1.zksync, ] : viemChains), multiInjectedProviderDiscovery: false, transports: chains.reduce((transportsConfig, chain) => { transportsConfig[chain.id] = (0, wagmi_1.http)(); return transportsConfig; }, {}), })); } }, [chains, viemChains]); // if (!wagmiConfig || !chains) { // return null; // } return ((0, jsx_runtime_1.jsx)(next_themes_1.ThemeProvider, { attribute: "class", defaultTheme: isDarkMode ? "dark" : "light", enableSystem: true, disableTransitionOnChange: true, children: (0, jsx_runtime_1.jsx)(relay_kit_ui_1.RelayKitProvider, { theme: theme, options: { baseApiUrl: relay_sdk_1.MAINNET_RELAY_API, source: "relay-demo", logLevel: relay_sdk_1.LogLevel.Verbose, duneConfig: { apiKey: duneApiKey, apiBaseUrl: "https://api.dune.com", }, chains, appName: "Nimbus", useGasFeeEstimations: true, pollingInterval: 1000, confirmationPollingInterval: 1000, appFees: fee && recipientAddress ? [ { recipient: recipientAddress, fee, }, ] : undefined, }, children: (0, jsx_runtime_1.jsx)(wagmi_1.WagmiProvider, { config: wagmiConfig || (0, wagmi_1.createConfig)({ chains: [chains_1.mainnet], multiInjectedProviderDiscovery: false, transports: { [chains_1.mainnet.id]: (0, wagmi_1.http)(), }, }), children: (0, jsx_runtime_1.jsx)(sdk_react_core_1.DynamicContextProvider, { theme: isDarkMode ? "dark" : "light", settings: { logLevel: "INFO", environmentId: dynamicApiKey ?? "", walletConnectors: [ ethereum_1.EthereumWalletConnectors, solana_1.SolanaWalletConnectors, bitcoin_1.BitcoinWalletConnectors, eclipse_1.EclipseWalletConnectors, sui_1.SuiWalletConnectors, abstract_global_wallet_evm_1.AbstractEvmWalletConnectors, ], cssOverrides: ` [data-testid="send-balance-button"] { display: none; } `, walletsFilter: walletFilter ? (0, sdk_react_core_1.FilterChain)(walletFilter) : undefined, overrides: { evmNetworks: () => { return chains ? chains .filter((chain) => chain.vmType === "evm") .map((chain) => { return (0, dynamic_1.convertRelayChainToDynamicNetwork)(chain); }) : []; }, }, initialAuthenticationMode: "connect-only", events: { onAuthFlowClose: () => { setWalletFilter(undefined); }, }, }, children: (0, jsx_runtime_1.jsx)(wagmi_connector_1.DynamicWagmiConnector, { children: (0, jsx_runtime_1.jsx)(Bridge_1.Bridge, { config: config }) }) }) }) }) })); }; exports.AppWrapped = AppWrapped; //# sourceMappingURL=AppWrapped.js.map