@multiplatform.one/web3 7.18.0 → 7.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -4
- package/dist/cjs/bridge/BridgeClient.native.js.map +1 -1
- package/dist/cjs/bridge/BridgeHost.native.js.map +1 -1
- package/dist/cjs/bridge/SolanaBridge.native.js.map +1 -1
- package/dist/cjs/bridge/base64.native.js.map +1 -1
- package/dist/cjs/bridge/bridgeConnector.native.js.map +1 -1
- package/dist/cjs/bridge/eip1193.native.js.map +1 -1
- package/dist/cjs/bridge/index.native.js.map +1 -1
- package/dist/cjs/bridge/postMessageTransport.native.js.map +1 -1
- package/dist/cjs/bridge/protocol.native.js.map +1 -1
- package/dist/cjs/bridge/transport.native.js.map +1 -1
- package/dist/cjs/bundler/metaMaskConnectTimeouts.cjs +92 -0
- package/dist/cjs/bundler/metaMaskConnectTimeouts.native.js +123 -0
- package/dist/cjs/bundler/metaMaskConnectTimeouts.native.js.map +1 -0
- package/dist/cjs/clients/adapter.cjs +33 -0
- package/dist/cjs/clients/adapter.native.js +36 -0
- package/dist/cjs/clients/adapter.native.js.map +1 -0
- package/dist/cjs/clients/bitcoin.cjs +46 -0
- package/dist/cjs/clients/bitcoin.native.js +51 -0
- package/dist/cjs/clients/bitcoin.native.js.map +1 -0
- package/dist/cjs/clients/connector.cjs +45 -0
- package/dist/cjs/clients/connector.native.js +49 -0
- package/dist/cjs/clients/connector.native.js.map +1 -0
- package/dist/cjs/clients/evm.cjs +171 -0
- package/dist/cjs/clients/evm.native.js +198 -0
- package/dist/cjs/clients/evm.native.js.map +1 -0
- package/dist/cjs/clients/gpg.cjs +31 -0
- package/dist/cjs/clients/gpg.native.js +34 -0
- package/dist/cjs/clients/gpg.native.js.map +1 -0
- package/dist/cjs/clients/hooks.cjs +78 -0
- package/dist/cjs/clients/hooks.native.js +85 -0
- package/dist/cjs/clients/hooks.native.js.map +1 -0
- package/dist/cjs/clients/index.cjs +49 -0
- package/dist/cjs/clients/index.native.js +52 -0
- package/dist/cjs/clients/index.native.js.map +1 -0
- package/dist/cjs/clients/solana.cjs +322 -0
- package/dist/cjs/clients/solana.native.js +511 -0
- package/dist/cjs/clients/solana.native.js.map +1 -0
- package/dist/cjs/clients/solanaMessage.cjs +38 -0
- package/dist/cjs/clients/solanaMessage.native.js +44 -0
- package/dist/cjs/clients/solanaMessage.native.js.map +1 -0
- package/dist/cjs/clients/sui.cjs +46 -0
- package/dist/cjs/clients/sui.native.js +51 -0
- package/dist/cjs/clients/sui.native.js.map +1 -0
- package/dist/cjs/clients/types.cjs +37 -0
- package/dist/cjs/clients/types.native.js +160 -0
- package/dist/cjs/clients/types.native.js.map +1 -0
- package/dist/cjs/clients/useSolanaClient.cjs +50 -0
- package/dist/cjs/clients/useSolanaClient.native.js +57 -0
- package/dist/cjs/clients/useSolanaClient.native.js.map +1 -0
- package/dist/cjs/clients/walletStandard.cjs +63 -0
- package/dist/cjs/clients/walletStandard.native.js +71 -0
- package/dist/cjs/clients/walletStandard.native.js.map +1 -0
- package/dist/cjs/components/NetworkSwitcher.native.js.map +1 -1
- package/dist/cjs/components/TransactionStatus.native.js.map +1 -1
- package/dist/cjs/components/index.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/SuiAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/discover.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/index.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/messages.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/types.native.js.map +1 -1
- package/dist/cjs/connectkit/assets/chains.native.js.map +1 -1
- package/dist/cjs/connectkit/components/BalanceButton/index.native.js +1 -1
- package/dist/cjs/connectkit/components/BalanceButton/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/Avatar/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/Avatar/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/Chain/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/Chain/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelect/index.native.js +2 -2
- package/dist/cjs/connectkit/components/Common/ChainSelect/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectDropdown/index.native.js +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectDropdown/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectDropdown/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectList/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectList/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ConnectorList/index.cjs +10 -29
- package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js +11 -32
- package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ConnectorList/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectButton/index.native.js +4 -4
- package/dist/cjs/connectkit/components/ConnectButton/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectButton/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.cjs +4 -38
- package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.native.js +5 -43
- package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.cjs +0 -14
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +10 -65
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/demo.cjs +0 -15
- package/dist/cjs/connectkit/components/ConnectModal/demo.native.js +9 -24
- package/dist/cjs/connectkit/components/ConnectModal/demo.native.js.map +1 -1
- package/dist/cjs/connectkit/components/NetworkButton/index.native.js +2 -2
- package/dist/cjs/connectkit/components/NetworkButton/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/About/graphics.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/About/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/About/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Connectors/index.native.js +1 -1
- package/dist/cjs/connectkit/components/Pages/Connectors/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Connectors/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/DownloadApp/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Onboarding/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Onboarding/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Profile/index.native.js +2 -2
- package/dist/cjs/connectkit/components/Pages/Profile/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Profile/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/SignInWithEthereum/index.native.js +3 -3
- package/dist/cjs/connectkit/components/Pages/SignInWithEthereum/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/SignInWithEthereum/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/SwitchNetworks/index.native.js +1 -1
- package/dist/cjs/connectkit/components/Pages/SwitchNetworks/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Standard/SIWE/index.native.js +1 -1
- package/dist/cjs/connectkit/components/Standard/SIWE/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Standard/SIWE/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/contexts/web3/index.cjs +0 -15
- package/dist/cjs/connectkit/components/contexts/web3/index.native.js +0 -17
- package/dist/cjs/connectkit/components/contexts/web3/index.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/aaveAccountConnector.cjs +57 -0
- package/dist/cjs/connectkit/connectors/aaveAccountConnector.native.js +67 -0
- package/dist/cjs/connectkit/connectors/aaveAccountConnector.native.js.map +1 -0
- package/dist/cjs/connectkit/connectors/createWalletMessage.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/embeddedDesktop.cjs +1 -1
- package/dist/cjs/connectkit/connectors/embeddedDesktop.native.js +1 -1
- package/dist/cjs/connectkit/connectors/embeddedDesktop.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.cjs +255 -0
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js +315 -0
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -0
- package/dist/cjs/connectkit/connectors/syntheticChains.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/walletAdapterConnector.cjs +2 -0
- package/dist/cjs/connectkit/connectors/walletAdapterConnector.native.js +2 -0
- package/dist/cjs/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
- package/dist/cjs/connectkit/constants/chainConfigs.native.js.map +1 -1
- package/dist/cjs/connectkit/defaultConfig.cjs +8 -2
- package/dist/cjs/connectkit/defaultConfig.native.js +8 -2
- package/dist/cjs/connectkit/defaultConfig.native.js.map +1 -1
- package/dist/cjs/connectkit/defaultConnectors.cjs +19 -37
- package/dist/cjs/connectkit/defaultConnectors.native.js +19 -37
- package/dist/cjs/connectkit/defaultConnectors.native.js.map +1 -1
- package/dist/cjs/connectkit/defaultTransports.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useChainIsSupported.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useChains.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useConnect.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useConnectCallback.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useConnectors.cjs +1 -5
- package/dist/cjs/connectkit/hooks/useConnectors.native.js +1 -5
- package/dist/cjs/connectkit/hooks/useConnectors.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useEnsFallbackConfig.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useLastConnector.native.js.map +1 -1
- package/dist/cjs/connectkit/index.cjs +2 -0
- package/dist/cjs/connectkit/index.native.js +10 -8
- package/dist/cjs/connectkit/index.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/context.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/device.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/index.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/launcher.native.js.map +1 -1
- package/dist/cjs/connectkit/profileHeaderAction.native.js +1 -1
- package/dist/cjs/connectkit/profileHeaderAction.native.js.map +1 -1
- package/dist/cjs/connectkit/screens.cjs +1 -14
- package/dist/cjs/connectkit/screens.native.js +23 -40
- package/dist/cjs/connectkit/screens.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +7 -7
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +10 -9
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/connectIntent.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/index.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/useSIWE.native.js.map +1 -1
- package/dist/cjs/connectkit/useWeb3Modal.native.js +2 -2
- package/dist/cjs/connectkit/useWeb3Modal.native.js.map +1 -1
- package/dist/cjs/connectkit/wallets/index.cjs +4 -3
- package/dist/cjs/connectkit/wallets/index.native.js +4 -3
- package/dist/cjs/connectkit/wallets/index.native.js.map +1 -1
- package/dist/cjs/connectkit/wallets/useWallets.cjs +7 -22
- package/dist/cjs/connectkit/wallets/useWallets.native.js +6 -22
- package/dist/cjs/connectkit/wallets/useWallets.native.js.map +1 -1
- package/dist/cjs/connectkit/wallets/walletConfigs.cjs +3 -62
- package/dist/cjs/connectkit/wallets/walletConfigs.native.js +2 -65
- package/dist/cjs/connectkit/wallets/walletConfigs.native.js.map +1 -1
- package/dist/cjs/connectkit/web3Bridge.cjs +2 -6
- package/dist/cjs/connectkit/web3Bridge.native.js +4 -9
- package/dist/cjs/connectkit/web3Bridge.native.js.map +1 -1
- package/dist/cjs/connectkit/web3Provider.native.js.map +1 -1
- package/dist/cjs/esbuild.cjs +54 -0
- package/dist/cjs/esbuild.native.js +57 -0
- package/dist/cjs/esbuild.native.js.map +1 -0
- package/dist/cjs/examples/LockContract.native.js.map +1 -1
- package/dist/cjs/examples/index.native.js.map +1 -1
- package/dist/cjs/hooks/index.native.js.map +1 -1
- package/dist/cjs/hooks/useContractRead.native.js.map +1 -1
- package/dist/cjs/hooks/useContractWrite.native.js.map +1 -1
- package/dist/cjs/hooks/useWallet.cjs +1 -2
- package/dist/cjs/hooks/useWallet.native.js +1 -4
- package/dist/cjs/hooks/useWallet.native.js.map +1 -1
- package/dist/cjs/index.cjs +2 -1
- package/dist/cjs/index.native.js +6 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/providers/WalletProvider.cjs +1 -2
- package/dist/cjs/providers/index.native.js.map +1 -1
- package/dist/cjs/providers/mockConnector.native.js.map +1 -1
- package/dist/cjs/providers/native/deepLink.cjs +1 -1
- package/dist/cjs/providers/native/deepLink.native.js +1 -1
- package/dist/cjs/providers/native/deepLink.native.js.map +1 -1
- package/dist/cjs/providers/native/inject.native.js.map +1 -1
- package/dist/cjs/providers/native/visibility.native.js.map +1 -1
- package/dist/cjs/providers/walletConfig.native.js.map +1 -1
- package/dist/cjs/siws/index.native.js.map +1 -1
- package/dist/cjs/siws/message.native.js.map +1 -1
- package/dist/cjs/siws/signWithBridge.native.js.map +1 -1
- package/dist/cjs/siws/verify.native.js.map +1 -1
- package/dist/cjs/solana.cjs +41 -0
- package/dist/cjs/solana.native.js +44 -0
- package/dist/cjs/solana.native.js.map +1 -0
- package/dist/cjs/vite.cjs +76 -0
- package/dist/cjs/vite.native.js +79 -0
- package/dist/cjs/vite.native.js.map +1 -0
- package/dist/esm/bundler/metaMaskConnectTimeouts.mjs +64 -0
- package/dist/esm/bundler/metaMaskConnectTimeouts.mjs.map +1 -0
- package/dist/esm/bundler/metaMaskConnectTimeouts.native.js +92 -0
- package/dist/esm/bundler/metaMaskConnectTimeouts.native.js.map +1 -0
- package/dist/esm/clients/adapter.mjs +8 -0
- package/dist/esm/clients/adapter.mjs.map +1 -0
- package/dist/esm/clients/adapter.native.js +8 -0
- package/dist/esm/clients/adapter.native.js.map +1 -0
- package/dist/esm/clients/bitcoin.mjs +21 -0
- package/dist/esm/clients/bitcoin.mjs.map +1 -0
- package/dist/esm/clients/bitcoin.native.js +23 -0
- package/dist/esm/clients/bitcoin.native.js.map +1 -0
- package/dist/esm/clients/connector.mjs +20 -0
- package/dist/esm/clients/connector.mjs.map +1 -0
- package/dist/esm/clients/connector.native.js +21 -0
- package/dist/esm/clients/connector.native.js.map +1 -0
- package/dist/esm/clients/evm.mjs +146 -0
- package/dist/esm/clients/evm.mjs.map +1 -0
- package/dist/esm/clients/evm.native.js +170 -0
- package/dist/esm/clients/evm.native.js.map +1 -0
- package/dist/esm/clients/gpg.mjs +3 -0
- package/dist/esm/clients/gpg.mjs.map +1 -0
- package/dist/esm/clients/gpg.native.js +3 -0
- package/dist/esm/clients/gpg.native.js.map +1 -0
- package/dist/esm/clients/hooks.mjs +51 -0
- package/dist/esm/clients/hooks.mjs.map +1 -0
- package/dist/esm/clients/hooks.native.js +55 -0
- package/dist/esm/clients/hooks.native.js.map +1 -0
- package/dist/esm/clients/index.mjs +11 -0
- package/dist/esm/clients/index.mjs.map +1 -0
- package/dist/esm/clients/index.native.js +11 -0
- package/dist/esm/clients/index.native.js.map +1 -0
- package/dist/esm/clients/solana.mjs +289 -0
- package/dist/esm/clients/solana.mjs.map +1 -0
- package/dist/esm/clients/solana.native.js +475 -0
- package/dist/esm/clients/solana.native.js.map +1 -0
- package/dist/esm/clients/solanaMessage.mjs +13 -0
- package/dist/esm/clients/solanaMessage.mjs.map +1 -0
- package/dist/esm/clients/solanaMessage.native.js +16 -0
- package/dist/esm/clients/solanaMessage.native.js.map +1 -0
- package/dist/esm/clients/sui.mjs +21 -0
- package/dist/esm/clients/sui.mjs.map +1 -0
- package/dist/esm/clients/sui.native.js +23 -0
- package/dist/esm/clients/sui.native.js.map +1 -0
- package/dist/esm/clients/types.mjs +12 -0
- package/dist/esm/clients/types.mjs.map +1 -0
- package/dist/esm/clients/types.native.js +132 -0
- package/dist/esm/clients/types.native.js.map +1 -0
- package/dist/esm/clients/useSolanaClient.mjs +25 -0
- package/dist/esm/clients/useSolanaClient.mjs.map +1 -0
- package/dist/esm/clients/useSolanaClient.native.js +29 -0
- package/dist/esm/clients/useSolanaClient.native.js.map +1 -0
- package/dist/esm/clients/walletStandard.mjs +33 -0
- package/dist/esm/clients/walletStandard.mjs.map +1 -0
- package/dist/esm/clients/walletStandard.native.js +38 -0
- package/dist/esm/clients/walletStandard.native.js.map +1 -0
- package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs +11 -30
- package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
- package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js +12 -33
- package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectUsing.mjs +4 -38
- package/dist/esm/connectkit/components/ConnectModal/ConnectUsing.mjs.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectUsing.native.js +4 -42
- package/dist/esm/connectkit/components/ConnectModal/ConnectUsing.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +1 -15
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +8 -63
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/demo.mjs +0 -15
- package/dist/esm/connectkit/components/ConnectModal/demo.mjs.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/demo.native.js +0 -15
- package/dist/esm/connectkit/components/ConnectModal/demo.native.js.map +1 -1
- package/dist/esm/connectkit/components/contexts/web3/index.mjs +0 -15
- package/dist/esm/connectkit/components/contexts/web3/index.mjs.map +1 -1
- package/dist/esm/connectkit/components/contexts/web3/index.native.js +0 -17
- package/dist/esm/connectkit/components/contexts/web3/index.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/aaveAccountConnector.mjs +31 -0
- package/dist/esm/connectkit/connectors/aaveAccountConnector.mjs.map +1 -0
- package/dist/esm/connectkit/connectors/aaveAccountConnector.native.js +38 -0
- package/dist/esm/connectkit/connectors/aaveAccountConnector.native.js.map +1 -0
- package/dist/esm/connectkit/connectors/embeddedDesktop.mjs +1 -1
- package/dist/esm/connectkit/connectors/embeddedDesktop.mjs.map +1 -1
- package/dist/esm/connectkit/connectors/embeddedDesktop.native.js +1 -1
- package/dist/esm/connectkit/connectors/embeddedDesktop.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs +216 -0
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -0
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js +273 -0
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -0
- package/dist/esm/connectkit/connectors/walletAdapterConnector.mjs +2 -0
- package/dist/esm/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
- package/dist/esm/connectkit/connectors/walletAdapterConnector.native.js +2 -0
- package/dist/esm/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
- package/dist/esm/connectkit/defaultConfig.mjs +8 -2
- package/dist/esm/connectkit/defaultConfig.mjs.map +1 -1
- package/dist/esm/connectkit/defaultConfig.native.js +8 -2
- package/dist/esm/connectkit/defaultConfig.native.js.map +1 -1
- package/dist/esm/connectkit/defaultConnectors.mjs +16 -34
- package/dist/esm/connectkit/defaultConnectors.mjs.map +1 -1
- package/dist/esm/connectkit/defaultConnectors.native.js +16 -34
- package/dist/esm/connectkit/defaultConnectors.native.js.map +1 -1
- package/dist/esm/connectkit/hooks/useConnectors.mjs +1 -4
- package/dist/esm/connectkit/hooks/useConnectors.mjs.map +1 -1
- package/dist/esm/connectkit/hooks/useConnectors.native.js +1 -4
- package/dist/esm/connectkit/hooks/useConnectors.native.js.map +1 -1
- package/dist/esm/connectkit/index.mjs +2 -1
- package/dist/esm/connectkit/index.mjs.map +1 -1
- package/dist/esm/connectkit/index.native.js +2 -1
- package/dist/esm/connectkit/index.native.js.map +1 -1
- package/dist/esm/connectkit/screens.mjs +1 -14
- package/dist/esm/connectkit/screens.mjs.map +1 -1
- package/dist/esm/connectkit/screens.native.js +16 -33
- package/dist/esm/connectkit/screens.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs +7 -7
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js +10 -9
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/esm/connectkit/wallets/index.mjs +3 -2
- package/dist/esm/connectkit/wallets/index.mjs.map +1 -1
- package/dist/esm/connectkit/wallets/index.native.js +3 -2
- package/dist/esm/connectkit/wallets/index.native.js.map +1 -1
- package/dist/esm/connectkit/wallets/useWallets.mjs +2 -17
- package/dist/esm/connectkit/wallets/useWallets.mjs.map +1 -1
- package/dist/esm/connectkit/wallets/useWallets.native.js +1 -17
- package/dist/esm/connectkit/wallets/useWallets.native.js.map +1 -1
- package/dist/esm/connectkit/wallets/walletConfigs.mjs +4 -63
- package/dist/esm/connectkit/wallets/walletConfigs.mjs.map +1 -1
- package/dist/esm/connectkit/wallets/walletConfigs.native.js +3 -66
- package/dist/esm/connectkit/wallets/walletConfigs.native.js.map +1 -1
- package/dist/esm/connectkit/web3Bridge.mjs +3 -7
- package/dist/esm/connectkit/web3Bridge.mjs.map +1 -1
- package/dist/esm/connectkit/web3Bridge.native.js +3 -8
- package/dist/esm/connectkit/web3Bridge.native.js.map +1 -1
- package/dist/esm/esbuild.mjs +29 -0
- package/dist/esm/esbuild.mjs.map +1 -0
- package/dist/esm/esbuild.native.js +29 -0
- package/dist/esm/esbuild.native.js.map +1 -0
- package/dist/esm/hooks/useWallet.mjs +1 -2
- package/dist/esm/hooks/useWallet.mjs.map +1 -1
- package/dist/esm/hooks/useWallet.native.js +1 -4
- package/dist/esm/hooks/useWallet.native.js.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/providers/WalletProvider.mjs +1 -2
- package/dist/esm/providers/WalletProvider.mjs.map +1 -1
- package/dist/esm/providers/native/deepLink.mjs +1 -1
- package/dist/esm/providers/native/deepLink.mjs.map +1 -1
- package/dist/esm/providers/native/deepLink.native.js +1 -1
- package/dist/esm/providers/native/deepLink.native.js.map +1 -1
- package/dist/esm/providers/walletConfig.mjs.map +1 -1
- package/dist/esm/providers/walletConfig.native.js.map +1 -1
- package/dist/esm/solana.mjs +5 -0
- package/dist/esm/solana.mjs.map +1 -0
- package/dist/esm/solana.native.js +5 -0
- package/dist/esm/solana.native.js.map +1 -0
- package/dist/esm/vite.mjs +51 -0
- package/dist/esm/vite.mjs.map +1 -0
- package/dist/esm/vite.native.js +51 -0
- package/dist/esm/vite.native.js.map +1 -0
- package/dist/jsx/bundler/metaMaskConnectTimeouts.mjs +64 -0
- package/dist/jsx/bundler/metaMaskConnectTimeouts.mjs.map +1 -0
- package/dist/jsx/bundler/metaMaskConnectTimeouts.native.js +123 -0
- package/dist/jsx/bundler/metaMaskConnectTimeouts.native.js.map +1 -0
- package/dist/jsx/clients/adapter.mjs +8 -0
- package/dist/jsx/clients/adapter.mjs.map +1 -0
- package/dist/jsx/clients/adapter.native.js +36 -0
- package/dist/jsx/clients/adapter.native.js.map +1 -0
- package/dist/jsx/clients/bitcoin.mjs +21 -0
- package/dist/jsx/clients/bitcoin.mjs.map +1 -0
- package/dist/jsx/clients/bitcoin.native.js +51 -0
- package/dist/jsx/clients/bitcoin.native.js.map +1 -0
- package/dist/jsx/clients/connector.mjs +20 -0
- package/dist/jsx/clients/connector.mjs.map +1 -0
- package/dist/jsx/clients/connector.native.js +49 -0
- package/dist/jsx/clients/connector.native.js.map +1 -0
- package/dist/jsx/clients/evm.mjs +146 -0
- package/dist/jsx/clients/evm.mjs.map +1 -0
- package/dist/jsx/clients/evm.native.js +198 -0
- package/dist/jsx/clients/evm.native.js.map +1 -0
- package/dist/jsx/clients/gpg.mjs +3 -0
- package/dist/jsx/clients/gpg.mjs.map +1 -0
- package/dist/jsx/clients/gpg.native.js +34 -0
- package/dist/jsx/clients/gpg.native.js.map +1 -0
- package/dist/jsx/clients/hooks.mjs +51 -0
- package/dist/jsx/clients/hooks.mjs.map +1 -0
- package/dist/jsx/clients/hooks.native.js +85 -0
- package/dist/jsx/clients/hooks.native.js.map +1 -0
- package/dist/jsx/clients/index.mjs +11 -0
- package/dist/jsx/clients/index.mjs.map +1 -0
- package/dist/jsx/clients/index.native.js +52 -0
- package/dist/jsx/clients/index.native.js.map +1 -0
- package/dist/jsx/clients/solana.mjs +289 -0
- package/dist/jsx/clients/solana.mjs.map +1 -0
- package/dist/jsx/clients/solana.native.js +511 -0
- package/dist/jsx/clients/solana.native.js.map +1 -0
- package/dist/jsx/clients/solanaMessage.mjs +13 -0
- package/dist/jsx/clients/solanaMessage.mjs.map +1 -0
- package/dist/jsx/clients/solanaMessage.native.js +44 -0
- package/dist/jsx/clients/solanaMessage.native.js.map +1 -0
- package/dist/jsx/clients/sui.mjs +21 -0
- package/dist/jsx/clients/sui.mjs.map +1 -0
- package/dist/jsx/clients/sui.native.js +51 -0
- package/dist/jsx/clients/sui.native.js.map +1 -0
- package/dist/jsx/clients/types.mjs +12 -0
- package/dist/jsx/clients/types.mjs.map +1 -0
- package/dist/jsx/clients/types.native.js +160 -0
- package/dist/jsx/clients/types.native.js.map +1 -0
- package/dist/jsx/clients/useSolanaClient.mjs +25 -0
- package/dist/jsx/clients/useSolanaClient.mjs.map +1 -0
- package/dist/jsx/clients/useSolanaClient.native.js +57 -0
- package/dist/jsx/clients/useSolanaClient.native.js.map +1 -0
- package/dist/jsx/clients/walletStandard.mjs +33 -0
- package/dist/jsx/clients/walletStandard.mjs.map +1 -0
- package/dist/jsx/clients/walletStandard.native.js +71 -0
- package/dist/jsx/clients/walletStandard.native.js.map +1 -0
- package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs +11 -30
- package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
- package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js +11 -32
- package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.mjs +4 -38
- package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.mjs.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.native.js +4 -42
- package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +1 -15
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +7 -62
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/demo.mjs +0 -15
- package/dist/jsx/connectkit/components/ConnectModal/demo.mjs.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/demo.native.js +0 -15
- package/dist/jsx/connectkit/components/ConnectModal/demo.native.js.map +1 -1
- package/dist/jsx/connectkit/components/contexts/web3/index.mjs +0 -15
- package/dist/jsx/connectkit/components/contexts/web3/index.mjs.map +1 -1
- package/dist/jsx/connectkit/components/contexts/web3/index.native.js +0 -17
- package/dist/jsx/connectkit/components/contexts/web3/index.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/aaveAccountConnector.mjs +31 -0
- package/dist/jsx/connectkit/connectors/aaveAccountConnector.mjs.map +1 -0
- package/dist/jsx/connectkit/connectors/aaveAccountConnector.native.js +67 -0
- package/dist/jsx/connectkit/connectors/aaveAccountConnector.native.js.map +1 -0
- package/dist/jsx/connectkit/connectors/embeddedDesktop.mjs +1 -1
- package/dist/jsx/connectkit/connectors/embeddedDesktop.mjs.map +1 -1
- package/dist/jsx/connectkit/connectors/embeddedDesktop.native.js +1 -1
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs +216 -0
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -0
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js +315 -0
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -0
- package/dist/jsx/connectkit/connectors/walletAdapterConnector.mjs +2 -0
- package/dist/jsx/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
- package/dist/jsx/connectkit/connectors/walletAdapterConnector.native.js +2 -0
- package/dist/jsx/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
- package/dist/jsx/connectkit/defaultConfig.mjs +8 -2
- package/dist/jsx/connectkit/defaultConfig.mjs.map +1 -1
- package/dist/jsx/connectkit/defaultConfig.native.js +8 -2
- package/dist/jsx/connectkit/defaultConfig.native.js.map +1 -1
- package/dist/jsx/connectkit/defaultConnectors.mjs +16 -34
- package/dist/jsx/connectkit/defaultConnectors.mjs.map +1 -1
- package/dist/jsx/connectkit/defaultConnectors.native.js +19 -37
- package/dist/jsx/connectkit/defaultConnectors.native.js.map +1 -1
- package/dist/jsx/connectkit/hooks/useConnectors.mjs +1 -4
- package/dist/jsx/connectkit/hooks/useConnectors.mjs.map +1 -1
- package/dist/jsx/connectkit/hooks/useConnectors.native.js +1 -5
- package/dist/jsx/connectkit/hooks/useConnectors.native.js.map +1 -1
- package/dist/jsx/connectkit/index.mjs +2 -1
- package/dist/jsx/connectkit/index.mjs.map +1 -1
- package/dist/jsx/connectkit/index.native.js +2 -0
- package/dist/jsx/connectkit/index.native.js.map +1 -1
- package/dist/jsx/connectkit/screens.mjs +1 -14
- package/dist/jsx/connectkit/screens.mjs.map +1 -1
- package/dist/jsx/connectkit/screens.native.js +16 -33
- package/dist/jsx/connectkit/screens.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +7 -7
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +10 -9
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/jsx/connectkit/wallets/index.mjs +3 -2
- package/dist/jsx/connectkit/wallets/index.mjs.map +1 -1
- package/dist/jsx/connectkit/wallets/index.native.js +4 -3
- package/dist/jsx/connectkit/wallets/index.native.js.map +1 -1
- package/dist/jsx/connectkit/wallets/useWallets.mjs +2 -17
- package/dist/jsx/connectkit/wallets/useWallets.mjs.map +1 -1
- package/dist/jsx/connectkit/wallets/useWallets.native.js +6 -22
- package/dist/jsx/connectkit/wallets/useWallets.native.js.map +1 -1
- package/dist/jsx/connectkit/wallets/walletConfigs.mjs +4 -63
- package/dist/jsx/connectkit/wallets/walletConfigs.mjs.map +1 -1
- package/dist/jsx/connectkit/wallets/walletConfigs.native.js +2 -65
- package/dist/jsx/connectkit/wallets/walletConfigs.native.js.map +1 -1
- package/dist/jsx/connectkit/web3Bridge.mjs +3 -7
- package/dist/jsx/connectkit/web3Bridge.mjs.map +1 -1
- package/dist/jsx/connectkit/web3Bridge.native.js +2 -7
- package/dist/jsx/connectkit/web3Bridge.native.js.map +1 -1
- package/dist/jsx/esbuild.mjs +29 -0
- package/dist/jsx/esbuild.mjs.map +1 -0
- package/dist/jsx/esbuild.native.js +57 -0
- package/dist/jsx/esbuild.native.js.map +1 -0
- package/dist/jsx/hooks/useWallet.mjs +1 -2
- package/dist/jsx/hooks/useWallet.mjs.map +1 -1
- package/dist/jsx/hooks/useWallet.native.js +1 -4
- package/dist/jsx/hooks/useWallet.native.js.map +1 -1
- package/dist/jsx/index.js +1 -0
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +1 -0
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +1 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/providers/WalletProvider.mjs +1 -2
- package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
- package/dist/jsx/providers/native/deepLink.mjs +1 -1
- package/dist/jsx/providers/native/deepLink.mjs.map +1 -1
- package/dist/jsx/providers/native/deepLink.native.js +1 -1
- package/dist/jsx/providers/native/deepLink.native.js.map +1 -1
- package/dist/jsx/providers/walletConfig.mjs.map +1 -1
- package/dist/jsx/providers/walletConfig.native.js.map +1 -1
- package/dist/jsx/solana.mjs +5 -0
- package/dist/jsx/solana.mjs.map +1 -0
- package/dist/jsx/solana.native.js +44 -0
- package/dist/jsx/solana.native.js.map +1 -0
- package/dist/jsx/vite.mjs +51 -0
- package/dist/jsx/vite.mjs.map +1 -0
- package/dist/jsx/vite.native.js +79 -0
- package/dist/jsx/vite.native.js.map +1 -0
- package/package.json +29 -10
- package/src/bundler/metaMaskConnectTimeouts.spec.ts +390 -0
- package/src/bundler/metaMaskConnectTimeouts.ts +126 -0
- package/src/clients/adapter.ts +13 -0
- package/src/clients/bitcoin.ts +42 -0
- package/src/clients/connector.spec.ts +78 -0
- package/src/clients/connector.ts +36 -0
- package/src/clients/evm.spec.ts +265 -0
- package/src/clients/evm.ts +223 -0
- package/src/clients/gpg.spec.ts +169 -0
- package/src/clients/gpg.ts +8 -0
- package/src/clients/hooks.spec.tsx +113 -0
- package/src/clients/hooks.ts +51 -0
- package/src/clients/index.ts +40 -0
- package/src/clients/solana.spec.ts +444 -0
- package/src/clients/solana.ts +465 -0
- package/src/clients/solanaMessage.ts +34 -0
- package/src/clients/sui.ts +42 -0
- package/src/clients/types.ts +40 -0
- package/src/clients/useSolanaClient.ts +31 -0
- package/src/clients/walletStandard.ts +87 -0
- package/src/connectkit/adapters/SolanaAdapter.ts +1 -1
- package/src/connectkit/adapters/discover.ts +1 -1
- package/src/connectkit/components/Common/ConnectorList/index.tsx +20 -50
- package/src/connectkit/components/ConnectModal/ConnectUsing.tsx +11 -62
- package/src/connectkit/components/ConnectModal/ConnectWithInjector/index.tsx +10 -70
- package/src/connectkit/components/ConnectModal/demo.tsx +1 -19
- package/src/connectkit/components/contexts/web3/index.tsx +1 -23
- package/src/connectkit/connectors/aaveAccountConnector.spec.ts +87 -0
- package/src/connectkit/connectors/aaveAccountConnector.ts +43 -0
- package/src/connectkit/connectors/embeddedDesktop.spec.ts +5 -5
- package/src/connectkit/connectors/embeddedDesktop.ts +5 -5
- package/src/connectkit/connectors/metaMaskConnectConnector.spec.ts +230 -0
- package/src/connectkit/connectors/metaMaskConnectConnector.ts +272 -0
- package/src/connectkit/connectors/walletAdapterConnector.ts +2 -0
- package/src/connectkit/defaultConfig.ts +16 -7
- package/src/connectkit/defaultConnectors.ts +19 -40
- package/src/connectkit/hooks/useConnectors.ts +0 -10
- package/src/connectkit/index.ts +4 -0
- package/src/connectkit/screens.tsx +1 -21
- package/src/connectkit/siwe/SIWEProvider.spec.tsx +180 -0
- package/src/connectkit/siwe/SIWEProvider.tsx +11 -13
- package/src/connectkit/wallets/index.ts +5 -2
- package/src/connectkit/wallets/useWallets.tsx +1 -20
- package/src/connectkit/wallets/walletConfigs.tsx +2 -64
- package/src/connectkit/web3Bridge.tsx +4 -21
- package/src/esbuild.ts +42 -0
- package/src/hooks/useWallet.spec.ts +6 -15
- package/src/hooks/useWallet.ts +1 -2
- package/src/index.ts +4 -0
- package/src/providers/WalletProvider.native.tsx +1 -1
- package/src/providers/WalletProvider.tsx +5 -7
- package/src/providers/mockConnector.ts +2 -2
- package/src/providers/native/deepLink.spec.ts +3 -4
- package/src/providers/native/deepLink.ts +1 -2
- package/src/providers/native/inject.spec.ts +1 -1
- package/src/providers/walletConfig.spec.ts +1 -1
- package/src/providers/walletConfig.ts +2 -1
- package/src/solana.ts +30 -0
- package/src/vite.ts +60 -0
- package/types/bundler/metaMaskConnectTimeouts.d.ts +36 -0
- package/types/bundler/metaMaskConnectTimeouts.d.ts.map +1 -0
- package/types/clients/adapter.d.ts +5 -0
- package/types/clients/adapter.d.ts.map +1 -0
- package/types/clients/bitcoin.d.ts +21 -0
- package/types/clients/bitcoin.d.ts.map +1 -0
- package/types/clients/connector.d.ts +14 -0
- package/types/clients/connector.d.ts.map +1 -0
- package/types/clients/evm.d.ts +68 -0
- package/types/clients/evm.d.ts.map +1 -0
- package/types/clients/gpg.d.ts +2 -0
- package/types/clients/gpg.d.ts.map +1 -0
- package/types/clients/hooks.d.ts +16 -0
- package/types/clients/hooks.d.ts.map +1 -0
- package/types/clients/index.d.ts +10 -0
- package/types/clients/index.d.ts.map +1 -0
- package/types/clients/solana.d.ts +111 -0
- package/types/clients/solana.d.ts.map +1 -0
- package/types/clients/solanaMessage.d.ts +18 -0
- package/types/clients/solanaMessage.d.ts.map +1 -0
- package/types/clients/sui.d.ts +21 -0
- package/types/clients/sui.d.ts.map +1 -0
- package/types/clients/types.d.ts +27 -0
- package/types/clients/types.d.ts.map +1 -0
- package/types/clients/useSolanaClient.d.ts +11 -0
- package/types/clients/useSolanaClient.d.ts.map +1 -0
- package/types/clients/walletStandard.d.ts +63 -0
- package/types/clients/walletStandard.d.ts.map +1 -0
- package/types/connectkit/adapters/discover.d.ts +1 -1
- package/types/connectkit/components/Common/ConnectorList/index.d.ts.map +1 -1
- package/types/connectkit/components/ConnectModal/ConnectUsing.d.ts.map +1 -1
- package/types/connectkit/components/ConnectModal/ConnectWithInjector/index.d.ts +0 -1
- package/types/connectkit/components/ConnectModal/ConnectWithInjector/index.d.ts.map +1 -1
- package/types/connectkit/components/ConnectModal/demo.d.ts.map +1 -1
- package/types/connectkit/components/contexts/web3/index.d.ts +1 -5
- package/types/connectkit/components/contexts/web3/index.d.ts.map +1 -1
- package/types/connectkit/connectors/aaveAccountConnector.d.ts +5 -0
- package/types/connectkit/connectors/aaveAccountConnector.d.ts.map +1 -0
- package/types/connectkit/connectors/embeddedDesktop.d.ts +4 -4
- package/types/connectkit/connectors/embeddedDesktop.d.ts.map +1 -1
- package/types/connectkit/connectors/metaMaskConnectConnector.d.ts +35 -0
- package/types/connectkit/connectors/metaMaskConnectConnector.d.ts.map +1 -0
- package/types/connectkit/connectors/walletAdapterConnector.d.ts.map +1 -1
- package/types/connectkit/defaultConfig.d.ts +3 -2
- package/types/connectkit/defaultConfig.d.ts.map +1 -1
- package/types/connectkit/defaultConnectors.d.ts +3 -4
- package/types/connectkit/defaultConnectors.d.ts.map +1 -1
- package/types/connectkit/hooks/useConnectors.d.ts +0 -1
- package/types/connectkit/hooks/useConnectors.d.ts.map +1 -1
- package/types/connectkit/index.d.ts +1 -0
- package/types/connectkit/index.d.ts.map +1 -1
- package/types/connectkit/screens.d.ts +0 -4
- package/types/connectkit/screens.d.ts.map +1 -1
- package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
- package/types/connectkit/wallets/index.d.ts.map +1 -1
- package/types/connectkit/wallets/useWallets.d.ts.map +1 -1
- package/types/connectkit/wallets/walletConfigs.d.ts +0 -2
- package/types/connectkit/wallets/walletConfigs.d.ts.map +1 -1
- package/types/connectkit/web3Bridge.d.ts.map +1 -1
- package/types/esbuild.d.ts +31 -0
- package/types/esbuild.d.ts.map +1 -0
- package/types/hooks/useWallet.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/providers/WalletProvider.d.ts.map +1 -1
- package/types/providers/mockConnector.d.ts +2 -2
- package/types/providers/native/deepLink.d.ts +1 -1
- package/types/providers/native/deepLink.d.ts.map +1 -1
- package/types/providers/walletConfig.d.ts +2 -1
- package/types/providers/walletConfig.d.ts.map +1 -1
- package/types/solana.d.ts +4 -0
- package/types/solana.d.ts.map +1 -0
- package/types/vite.d.ts +12 -0
- package/types/vite.d.ts.map +1 -0
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithQRCode.cjs +0 -133
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithQRCode.native.js +0 -179
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithQRCode.native.js.map +0 -1
- package/dist/cjs/connectkit/components/Pages/MobileConnectors/index.cjs +0 -158
- package/dist/cjs/connectkit/components/Pages/MobileConnectors/index.native.js +0 -183
- package/dist/cjs/connectkit/components/Pages/MobileConnectors/index.native.js.map +0 -1
- package/dist/cjs/connectkit/components/Pages/MobileConnectors/styles.cjs +0 -90
- package/dist/cjs/connectkit/components/Pages/MobileConnectors/styles.native.js +0 -99
- package/dist/cjs/connectkit/components/Pages/MobileConnectors/styles.native.js.map +0 -1
- package/dist/cjs/connectkit/connectors/metaMaskSdkConnector.cjs +0 -398
- package/dist/cjs/connectkit/connectors/metaMaskSdkConnector.native.js +0 -453
- package/dist/cjs/connectkit/connectors/metaMaskSdkConnector.native.js.map +0 -1
- package/dist/cjs/connectkit/hooks/connectors/useCoinbaseWalletUri.cjs +0 -0
- package/dist/cjs/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js +0 -2
- package/dist/cjs/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js.map +0 -1
- package/dist/cjs/connectkit/hooks/connectors/useWalletConnectUri.cjs +0 -113
- package/dist/cjs/connectkit/hooks/connectors/useWalletConnectUri.native.js +0 -117
- package/dist/cjs/connectkit/hooks/connectors/useWalletConnectUri.native.js.map +0 -1
- package/dist/cjs/connectkit/hooks/useWalletConnectModal.cjs +0 -74
- package/dist/cjs/connectkit/hooks/useWalletConnectModal.native.js +0 -79
- package/dist/cjs/connectkit/hooks/useWalletConnectModal.native.js.map +0 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithQRCode.mjs +0 -108
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithQRCode.mjs.map +0 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithQRCode.native.js +0 -140
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithQRCode.native.js.map +0 -1
- package/dist/esm/connectkit/components/Pages/MobileConnectors/index.mjs +0 -133
- package/dist/esm/connectkit/components/Pages/MobileConnectors/index.mjs.map +0 -1
- package/dist/esm/connectkit/components/Pages/MobileConnectors/index.native.js +0 -144
- package/dist/esm/connectkit/components/Pages/MobileConnectors/index.native.js.map +0 -1
- package/dist/esm/connectkit/components/Pages/MobileConnectors/styles.mjs +0 -61
- package/dist/esm/connectkit/components/Pages/MobileConnectors/styles.mjs.map +0 -1
- package/dist/esm/connectkit/components/Pages/MobileConnectors/styles.native.js +0 -67
- package/dist/esm/connectkit/components/Pages/MobileConnectors/styles.native.js.map +0 -1
- package/dist/esm/connectkit/connectors/metaMaskSdkConnector.mjs +0 -362
- package/dist/esm/connectkit/connectors/metaMaskSdkConnector.mjs.map +0 -1
- package/dist/esm/connectkit/connectors/metaMaskSdkConnector.native.js +0 -414
- package/dist/esm/connectkit/connectors/metaMaskSdkConnector.native.js.map +0 -1
- package/dist/esm/connectkit/hooks/connectors/useCoinbaseWalletUri.mjs +0 -2
- package/dist/esm/connectkit/hooks/connectors/useCoinbaseWalletUri.mjs.map +0 -1
- package/dist/esm/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js +0 -2
- package/dist/esm/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js.map +0 -1
- package/dist/esm/connectkit/hooks/connectors/useWalletConnectUri.mjs +0 -88
- package/dist/esm/connectkit/hooks/connectors/useWalletConnectUri.mjs.map +0 -1
- package/dist/esm/connectkit/hooks/connectors/useWalletConnectUri.native.js +0 -89
- package/dist/esm/connectkit/hooks/connectors/useWalletConnectUri.native.js.map +0 -1
- package/dist/esm/connectkit/hooks/useWalletConnectModal.mjs +0 -49
- package/dist/esm/connectkit/hooks/useWalletConnectModal.mjs.map +0 -1
- package/dist/esm/connectkit/hooks/useWalletConnectModal.native.js +0 -51
- package/dist/esm/connectkit/hooks/useWalletConnectModal.native.js.map +0 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithQRCode.mjs +0 -108
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithQRCode.mjs.map +0 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithQRCode.native.js +0 -179
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithQRCode.native.js.map +0 -1
- package/dist/jsx/connectkit/components/Pages/MobileConnectors/index.mjs +0 -133
- package/dist/jsx/connectkit/components/Pages/MobileConnectors/index.mjs.map +0 -1
- package/dist/jsx/connectkit/components/Pages/MobileConnectors/index.native.js +0 -183
- package/dist/jsx/connectkit/components/Pages/MobileConnectors/index.native.js.map +0 -1
- package/dist/jsx/connectkit/components/Pages/MobileConnectors/styles.mjs +0 -61
- package/dist/jsx/connectkit/components/Pages/MobileConnectors/styles.mjs.map +0 -1
- package/dist/jsx/connectkit/components/Pages/MobileConnectors/styles.native.js +0 -99
- package/dist/jsx/connectkit/components/Pages/MobileConnectors/styles.native.js.map +0 -1
- package/dist/jsx/connectkit/connectors/metaMaskSdkConnector.mjs +0 -362
- package/dist/jsx/connectkit/connectors/metaMaskSdkConnector.mjs.map +0 -1
- package/dist/jsx/connectkit/connectors/metaMaskSdkConnector.native.js +0 -453
- package/dist/jsx/connectkit/connectors/metaMaskSdkConnector.native.js.map +0 -1
- package/dist/jsx/connectkit/hooks/connectors/useCoinbaseWalletUri.mjs +0 -2
- package/dist/jsx/connectkit/hooks/connectors/useCoinbaseWalletUri.mjs.map +0 -1
- package/dist/jsx/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js +0 -2
- package/dist/jsx/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js.map +0 -1
- package/dist/jsx/connectkit/hooks/connectors/useWalletConnectUri.mjs +0 -88
- package/dist/jsx/connectkit/hooks/connectors/useWalletConnectUri.mjs.map +0 -1
- package/dist/jsx/connectkit/hooks/connectors/useWalletConnectUri.native.js +0 -117
- package/dist/jsx/connectkit/hooks/connectors/useWalletConnectUri.native.js.map +0 -1
- package/dist/jsx/connectkit/hooks/useWalletConnectModal.mjs +0 -49
- package/dist/jsx/connectkit/hooks/useWalletConnectModal.mjs.map +0 -1
- package/dist/jsx/connectkit/hooks/useWalletConnectModal.native.js +0 -79
- package/dist/jsx/connectkit/hooks/useWalletConnectModal.native.js.map +0 -1
- package/src/connectkit/components/ConnectModal/ConnectWithQRCode.tsx +0 -188
- package/src/connectkit/components/Pages/MobileConnectors/index.tsx +0 -142
- package/src/connectkit/components/Pages/MobileConnectors/styles.ts +0 -66
- package/src/connectkit/connectors/metaMaskSdkConnector.ts +0 -505
- package/src/connectkit/hooks/connectors/useCoinbaseWalletUri.tsx +0 -101
- package/src/connectkit/hooks/connectors/useWalletConnectUri.ts +0 -99
- package/src/connectkit/hooks/useWalletConnectModal.tsx +0 -52
- package/types/connectkit/components/ConnectModal/ConnectWithQRCode.d.ts +0 -6
- package/types/connectkit/components/ConnectModal/ConnectWithQRCode.d.ts.map +0 -1
- package/types/connectkit/components/Pages/MobileConnectors/index.d.ts +0 -4
- package/types/connectkit/components/Pages/MobileConnectors/index.d.ts.map +0 -1
- package/types/connectkit/components/Pages/MobileConnectors/styles.d.ts +0 -6
- package/types/connectkit/components/Pages/MobileConnectors/styles.d.ts.map +0 -1
- package/types/connectkit/connectors/metaMaskSdkConnector.d.ts +0 -30
- package/types/connectkit/connectors/metaMaskSdkConnector.d.ts.map +0 -1
- package/types/connectkit/hooks/connectors/useCoinbaseWalletUri.d.ts +0 -1
- package/types/connectkit/hooks/connectors/useCoinbaseWalletUri.d.ts.map +0 -1
- package/types/connectkit/hooks/connectors/useWalletConnectUri.d.ts +0 -8
- package/types/connectkit/hooks/connectors/useWalletConnectUri.d.ts.map +0 -1
- package/types/connectkit/hooks/useWalletConnectModal.d.ts +0 -5
- package/types/connectkit/hooks/useWalletConnectModal.d.ts.map +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// @aave/account's own aaveAccountConnector() builds its EthereumProvider while the
|
|
2
|
+
// wagmi config is built. That constructor mounts Aave's hidden iframe and calls
|
|
3
|
+
// AaveAccountSdk.connect() on every page load, and when the connect does not
|
|
4
|
+
// finish the SDK rejects unhandled: "Aave Account is not connected" on every
|
|
5
|
+
// Keycloak login page (MPO-378). This builds the provider only when the user picks
|
|
6
|
+
// Aave Account, or when wagmi reconnects the Aave Account it connected last.
|
|
7
|
+
import { EthereumProvider, type EthereumProviderOptions } from "@aave/account";
|
|
8
|
+
import { injected } from "@wagmi/connectors/injected";
|
|
9
|
+
import type { CreateConnectorFn } from "wagmi";
|
|
10
|
+
|
|
11
|
+
export const aaveAccountConnectorId = "aaveAccountProvider";
|
|
12
|
+
|
|
13
|
+
export function aaveAccountConnector(options?: EthereumProviderOptions): CreateConnectorFn {
|
|
14
|
+
let provider: EthereumProvider | undefined;
|
|
15
|
+
const ensureProvider = () => (provider ??= new EthereumProvider(options));
|
|
16
|
+
const base = injected({
|
|
17
|
+
shimDisconnect: false,
|
|
18
|
+
target: () => ({
|
|
19
|
+
id: aaveAccountConnectorId,
|
|
20
|
+
name: "Aave Account",
|
|
21
|
+
provider: () => provider as never,
|
|
22
|
+
}),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
return (config) => {
|
|
26
|
+
const connector = base(config);
|
|
27
|
+
return {
|
|
28
|
+
...connector,
|
|
29
|
+
async connect(parameters) {
|
|
30
|
+
ensureProvider();
|
|
31
|
+
return connector.connect.call(this, parameters);
|
|
32
|
+
},
|
|
33
|
+
async getProvider(parameters) {
|
|
34
|
+
if (
|
|
35
|
+
!provider &&
|
|
36
|
+
(await config.storage?.getItem("recentConnectorId")) === aaveAccountConnectorId
|
|
37
|
+
)
|
|
38
|
+
ensureProvider();
|
|
39
|
+
return connector.getProvider.call(this, parameters);
|
|
40
|
+
},
|
|
41
|
+
} as ReturnType<typeof base>;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -23,21 +23,21 @@ describe("metaMaskOptionsForEmbeddedDesktop", () => {
|
|
|
23
23
|
window.open = originalOpen;
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
-
it("disables deeplink navigation and
|
|
26
|
+
it("disables deeplink navigation and the MetaMask Connect modal", () => {
|
|
27
27
|
const opts = metaMaskOptionsForEmbeddedDesktop();
|
|
28
28
|
expect(opts.useDeeplink).toBe(false);
|
|
29
29
|
expect(opts.headless).toBe(true);
|
|
30
30
|
});
|
|
31
31
|
|
|
32
|
-
it("
|
|
32
|
+
it("preferredOpenLink opens https in a new window and ignores custom schemes", () => {
|
|
33
33
|
const open = vi.fn();
|
|
34
34
|
window.open = open;
|
|
35
|
-
const {
|
|
35
|
+
const { preferredOpenLink } = metaMaskOptionsForEmbeddedDesktop();
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
preferredOpenLink("metamask://connect?channelId=abc");
|
|
38
38
|
expect(open).not.toHaveBeenCalled();
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
preferredOpenLink("https://metamask.app.link/connect?channelId=abc");
|
|
41
41
|
expect(open).toHaveBeenCalledWith(
|
|
42
42
|
"https://metamask.app.link/connect?channelId=abc",
|
|
43
43
|
"_blank",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tauri (and similar) desktop shells load the *web* bundle inside a native
|
|
3
|
-
* WebView. Browser extensions never inject there, so MetaMask must use the
|
|
3
|
+
* WebView. Browser extensions never inject there, so MetaMask must use the
|
|
4
4
|
* remote/QR path — never `window.location.href = metamask://…`, which would
|
|
5
5
|
* navigate the whole WebView away from the app.
|
|
6
6
|
*
|
|
@@ -22,21 +22,21 @@ export function isEmbeddedDesktopWebview(
|
|
|
22
22
|
export type MetaMaskEmbeddedDesktopOptions = {
|
|
23
23
|
/** Prefer https://metamask.app.link over metamask:// in the QR payload. */
|
|
24
24
|
useDeeplink: false;
|
|
25
|
-
/** Suppress
|
|
25
|
+
/** Suppress MetaMask Connect's install modal (WKWebView-hostile); ConnectKit renders QR. */
|
|
26
26
|
headless: true;
|
|
27
27
|
/**
|
|
28
28
|
* Never assign location.href for custom schemes. https universal links may
|
|
29
29
|
* open in the system browser via window.open; custom schemes are ignored.
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
preferredOpenLink: (url: string) => void;
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
/** MetaMask
|
|
34
|
+
/** MetaMask Connect options that are safe inside Tauri/WebView2/WKWebView. */
|
|
35
35
|
export function metaMaskOptionsForEmbeddedDesktop(): MetaMaskEmbeddedDesktopOptions {
|
|
36
36
|
return {
|
|
37
37
|
useDeeplink: false,
|
|
38
38
|
headless: true,
|
|
39
|
-
|
|
39
|
+
preferredOpenLink: (url: string) => {
|
|
40
40
|
if (typeof window === "undefined") return;
|
|
41
41
|
// Custom schemes (metamask://) must not navigate the WebView.
|
|
42
42
|
if (!/^https?:\/\//i.test(url)) return;
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import type { EventHandlers } from "@metamask/connect-evm";
|
|
2
|
+
import { connect, createConfig, http, reconnect } from "@wagmi/core";
|
|
3
|
+
import { createEmitter } from "@wagmi/core/internal";
|
|
4
|
+
import type { Chain } from "viem";
|
|
5
|
+
import { getAddress, SwitchChainError } from "viem";
|
|
6
|
+
import { base, mainnet, polygon } from "viem/chains";
|
|
7
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
metaMaskConnect,
|
|
11
|
+
metaMaskConnectChainIds,
|
|
12
|
+
metaMaskNetworks,
|
|
13
|
+
resetMetaMaskConnectClient,
|
|
14
|
+
} from "./metaMaskConnectConnector";
|
|
15
|
+
import {
|
|
16
|
+
BITCOIN_CHAIN_ID,
|
|
17
|
+
SOLANA_CHAIN_ID,
|
|
18
|
+
SUI_CHAIN_ID,
|
|
19
|
+
syntheticChains,
|
|
20
|
+
} from "./syntheticChains";
|
|
21
|
+
|
|
22
|
+
const { createEVMClient, client } = vi.hoisted(() => {
|
|
23
|
+
const client = {
|
|
24
|
+
accounts: [] as string[],
|
|
25
|
+
getChainId: vi.fn(() => "0x2105"),
|
|
26
|
+
connect: vi.fn(async (_options: { chainIds: string[] }) => ({
|
|
27
|
+
accounts: ["0x0000000000000000000000000000000000000001"],
|
|
28
|
+
chainId: "0x2105",
|
|
29
|
+
})),
|
|
30
|
+
switchChain: vi.fn(async () => undefined),
|
|
31
|
+
disconnect: vi.fn(async () => undefined),
|
|
32
|
+
getProvider: vi.fn(() => ({ request: vi.fn() })),
|
|
33
|
+
};
|
|
34
|
+
return { client, createEVMClient: vi.fn(async (_options: unknown) => client) };
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
vi.mock("@metamask/connect-evm", () => ({ createEVMClient }));
|
|
38
|
+
|
|
39
|
+
const synthetic = [SOLANA_CHAIN_ID, SUI_CHAIN_ID, BITCOIN_CHAIN_ID];
|
|
40
|
+
const hex = (id: number) => `0x${id.toString(16)}`;
|
|
41
|
+
|
|
42
|
+
function build(chains: readonly Chain[]) {
|
|
43
|
+
const transports = Object.fromEntries(chains.map((chain) => [chain.id, http()]));
|
|
44
|
+
return metaMaskConnect({ dapp: { name: "test", url: "https://example.test" } })({
|
|
45
|
+
chains: chains as [Chain, ...Chain[]],
|
|
46
|
+
emitter: createEmitter("metaMaskSDK"),
|
|
47
|
+
transports,
|
|
48
|
+
} as never);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
describe("metaMaskNetworks", () => {
|
|
52
|
+
it("drops the synthetic non-EVM chains", () => {
|
|
53
|
+
const networks = metaMaskNetworks([mainnet, polygon, ...syntheticChains]);
|
|
54
|
+
expect(Object.keys(networks)).toEqual([hex(mainnet.id), hex(polygon.id)]);
|
|
55
|
+
for (const id of synthetic) expect(networks).not.toHaveProperty(hex(id));
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it("drops a chain with no usable RPC URL", () => {
|
|
59
|
+
const broken = { ...base, rpcUrls: { default: { http: [""] } } } as Chain;
|
|
60
|
+
expect(Object.keys(metaMaskNetworks([mainnet, broken]))).toEqual([hex(mainnet.id)]);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it("prefers the transport's URL over the chain's default", () => {
|
|
64
|
+
const networks = metaMaskNetworks([mainnet], {
|
|
65
|
+
[mainnet.id]: http("https://rpc.example.test"),
|
|
66
|
+
});
|
|
67
|
+
expect(networks[hex(mainnet.id) as `0x${string}`]).toBe("https://rpc.example.test");
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
describe("metaMaskConnectChainIds", () => {
|
|
72
|
+
const networks = metaMaskNetworks([mainnet, polygon, base]);
|
|
73
|
+
|
|
74
|
+
it("puts the requested chain first", () => {
|
|
75
|
+
expect(metaMaskConnectChainIds(networks, base.id)).toEqual([
|
|
76
|
+
hex(base.id),
|
|
77
|
+
hex(mainnet.id),
|
|
78
|
+
hex(polygon.id),
|
|
79
|
+
]);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it("ignores a requested synthetic chain", () => {
|
|
83
|
+
expect(metaMaskConnectChainIds(networks, SOLANA_CHAIN_ID)).toEqual(Object.keys(networks));
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
describe("metaMaskConnect", () => {
|
|
88
|
+
beforeEach(() => {
|
|
89
|
+
resetMetaMaskConnectClient();
|
|
90
|
+
vi.clearAllMocks();
|
|
91
|
+
client.accounts = [];
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
afterEach(() => resetMetaMaskConnectClient());
|
|
95
|
+
|
|
96
|
+
it("keeps the metaMaskSDK id existing consumers key off", () => {
|
|
97
|
+
expect(build([mainnet]).id).toBe("metaMaskSDK");
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
it("never tells MetaMask about a synthetic chain id", async () => {
|
|
101
|
+
const connector = build([mainnet, polygon, ...syntheticChains]);
|
|
102
|
+
await connector.setup?.();
|
|
103
|
+
await connector.connect({ chainId: SOLANA_CHAIN_ID });
|
|
104
|
+
|
|
105
|
+
const options = createEVMClient.mock.calls[0]![0] as {
|
|
106
|
+
api: { supportedNetworks: Record<string, string> };
|
|
107
|
+
};
|
|
108
|
+
const supported = Object.keys(options.api.supportedNetworks);
|
|
109
|
+
const requested = client.connect.mock.calls[0]![0].chainIds;
|
|
110
|
+
for (const id of synthetic) {
|
|
111
|
+
expect(supported).not.toContain(hex(id));
|
|
112
|
+
expect(requested).not.toContain(hex(id));
|
|
113
|
+
}
|
|
114
|
+
expect(supported).toEqual([hex(mainnet.id), hex(polygon.id)]);
|
|
115
|
+
expect(requested).toEqual([hex(mainnet.id), hex(polygon.id)]);
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it("asks for the requested EVM chain first and reports the wallet's chain", async () => {
|
|
119
|
+
const connector = build([mainnet, polygon, ...syntheticChains]);
|
|
120
|
+
const result = await connector.connect({ chainId: polygon.id });
|
|
121
|
+
expect(client.connect.mock.calls[0]![0].chainIds[0]).toBe(hex(polygon.id));
|
|
122
|
+
expect(result.chainId).toBe(base.id);
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
it("refuses to switch MetaMask to a synthetic chain", async () => {
|
|
126
|
+
const connector = build([mainnet, ...syntheticChains]);
|
|
127
|
+
await expect(connector.switchChain!({ chainId: SUI_CHAIN_ID })).rejects.toBeInstanceOf(
|
|
128
|
+
SwitchChainError,
|
|
129
|
+
);
|
|
130
|
+
expect(client.switchChain).not.toHaveBeenCalled();
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it("builds one client per page across rebuilt configs", async () => {
|
|
134
|
+
await build([mainnet]).setup?.();
|
|
135
|
+
await build([mainnet]).setup?.();
|
|
136
|
+
expect(createEVMClient).toHaveBeenCalledTimes(1);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
describe("metaMaskConnect under wagmi", () => {
|
|
141
|
+
const first = "0x00000000000000000000000000000000000000aa";
|
|
142
|
+
const second = "0x00000000000000000000000000000000000000bb";
|
|
143
|
+
|
|
144
|
+
beforeEach(() => {
|
|
145
|
+
resetMetaMaskConnectClient();
|
|
146
|
+
vi.clearAllMocks();
|
|
147
|
+
client.accounts = [];
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
afterEach(() => resetMetaMaskConnectClient());
|
|
151
|
+
|
|
152
|
+
function wagmiConfig() {
|
|
153
|
+
return createConfig({
|
|
154
|
+
chains: [base, mainnet],
|
|
155
|
+
connectors: [metaMaskConnect({ dapp: { name: "test", url: "https://example.test" } })],
|
|
156
|
+
transports: { [base.id]: http(), [mainnet.id]: http() },
|
|
157
|
+
multiInjectedProviderDiscovery: false,
|
|
158
|
+
storage: null,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
async function clientEvents() {
|
|
163
|
+
await vi.waitFor(() => expect(createEVMClient).toHaveBeenCalledTimes(1));
|
|
164
|
+
return (createEVMClient.mock.calls[0]![0] as { eventHandlers: EventHandlers }).eventHandlers;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
it("sends display_uri to the connector being connected, not the newest one built", async () => {
|
|
168
|
+
const before = wagmiConfig();
|
|
169
|
+
const used = wagmiConfig();
|
|
170
|
+
const newest = wagmiConfig();
|
|
171
|
+
const events = await clientEvents();
|
|
172
|
+
const seen = new Map([before, used, newest].map((config) => [config, [] as unknown[]]));
|
|
173
|
+
for (const [config, uris] of seen)
|
|
174
|
+
config.connectors[0]!.emitter.on("message", ({ type, data }) => {
|
|
175
|
+
if (type === "display_uri") uris.push(data);
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
client.connect.mockImplementationOnce(async () => {
|
|
179
|
+
events.displayUri("metamask://connect?id=1");
|
|
180
|
+
return { accounts: [first], chainId: "0x2105" };
|
|
181
|
+
});
|
|
182
|
+
await connect(used, { connector: used.connectors[0]! });
|
|
183
|
+
|
|
184
|
+
expect(seen.get(used)).toEqual(["metamask://connect?id=1"]);
|
|
185
|
+
expect(seen.get(before)).toEqual([]);
|
|
186
|
+
expect(seen.get(newest)).toEqual([]);
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
it("keeps account changes flowing to the config wagmi reconnects", async () => {
|
|
190
|
+
const cached = wagmiConfig();
|
|
191
|
+
const events = await clientEvents();
|
|
192
|
+
await connect(cached, { connector: cached.connectors[0]! });
|
|
193
|
+
const other = wagmiConfig();
|
|
194
|
+
await connect(other, { connector: other.connectors[0]! });
|
|
195
|
+
|
|
196
|
+
// The provider switches back to the cached config and reconnects it.
|
|
197
|
+
client.accounts = [first];
|
|
198
|
+
await reconnect(cached);
|
|
199
|
+
events.accountsChanged([second]);
|
|
200
|
+
|
|
201
|
+
const connector = cached.connectors[0]!;
|
|
202
|
+
expect(cached.state.connections.get(connector.uid)?.accounts).toEqual([getAddress(second)]);
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
it("connects wagmi to a session approved outside connect()", async () => {
|
|
206
|
+
const config = wagmiConfig();
|
|
207
|
+
const events = await clientEvents();
|
|
208
|
+
expect(config.state.status).toBe("disconnected");
|
|
209
|
+
|
|
210
|
+
events.connect({ chainId: "0x2105", accounts: [first] });
|
|
211
|
+
|
|
212
|
+
const connector = config.connectors[0]!;
|
|
213
|
+
expect(config.state.status).toBe("connected");
|
|
214
|
+
expect(config.state.current).toBe(connector.uid);
|
|
215
|
+
expect(config.state.connections.get(connector.uid)).toMatchObject({
|
|
216
|
+
accounts: [getAddress(first)],
|
|
217
|
+
chainId: base.id,
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
events.accountsChanged([second]);
|
|
221
|
+
expect(config.state.connections.get(connector.uid)?.accounts).toEqual([getAddress(second)]);
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
it("ignores a connect that carries no account", async () => {
|
|
225
|
+
const config = wagmiConfig();
|
|
226
|
+
const events = await clientEvents();
|
|
227
|
+
events.connect({ chainId: "0x2105", accounts: [] });
|
|
228
|
+
expect(config.state.status).toBe("disconnected");
|
|
229
|
+
});
|
|
230
|
+
});
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
// wagmi connector for MetaMask over MetaMask Connect (@metamask/connect-evm, the
|
|
2
|
+
// Mobile Wallet Protocol relay). It replaces the classic @metamask/sdk connector,
|
|
3
|
+
// whose socket.io relay never re-delivered a reply that arrived while Android 16
|
|
4
|
+
// had cut the browser's network (5-6 s after MetaMask takes focus). The MWP relay
|
|
5
|
+
// keeps each channel's history and the page recovers it when it resubscribes, so
|
|
6
|
+
// the reply lands as soon as the user switches back. Proven on Android 16 in
|
|
7
|
+
// PROMA-36 with the relay timers raised by `metaMaskConnectTimeouts` (see
|
|
8
|
+
// ../../vite.ts); without them a user who lingers in MetaMask past 60 s loses
|
|
9
|
+
// the request.
|
|
10
|
+
//
|
|
11
|
+
// The id stays `metaMaskSDK`: isMetaMaskConnector(), useWallets' EIP-6963 dedupe
|
|
12
|
+
// and ConnectWithInjector's display_uri listener all key off it, and so does
|
|
13
|
+
// every consumer's persisted "recent connector".
|
|
14
|
+
import type { EIP1193Provider, MetamaskConnectEVM } from "@metamask/connect-evm";
|
|
15
|
+
import {
|
|
16
|
+
ChainNotConfiguredError,
|
|
17
|
+
type CreateConnectorFn,
|
|
18
|
+
createConnector,
|
|
19
|
+
extractRpcUrls,
|
|
20
|
+
} from "@wagmi/core";
|
|
21
|
+
import {
|
|
22
|
+
type Address,
|
|
23
|
+
type Chain,
|
|
24
|
+
getAddress,
|
|
25
|
+
type Hex,
|
|
26
|
+
numberToHex,
|
|
27
|
+
ResourceUnavailableRpcError,
|
|
28
|
+
SwitchChainError,
|
|
29
|
+
UserRejectedRequestError,
|
|
30
|
+
} from "viem";
|
|
31
|
+
|
|
32
|
+
import { isSyntheticChainId } from "./syntheticChains";
|
|
33
|
+
|
|
34
|
+
export type MetaMaskConnectParameters = {
|
|
35
|
+
dapp: { name: string; url?: string; iconUrl?: string };
|
|
36
|
+
/** Run without MetaMask Connect's own install/QR modal (the modal renders `display_uri`). */
|
|
37
|
+
headless?: boolean;
|
|
38
|
+
/** Opens MetaMask's deeplink. Embedded desktop webviews must not navigate away. */
|
|
39
|
+
preferredOpenLink?: (deeplink: string, target?: string) => void;
|
|
40
|
+
/** `metamask://` instead of the https://metamask.app.link universal link. */
|
|
41
|
+
useDeeplink?: boolean;
|
|
42
|
+
debug?: boolean;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
type ConnectorConfig = Parameters<CreateConnectorFn>[0];
|
|
46
|
+
type Emitter = ConnectorConfig["emitter"];
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The chains MetaMask may be told about. Non-EVM wallets ride synthetic chain ids
|
|
50
|
+
* (syntheticChains.ts) that no EVM network carries, and a chain with no usable
|
|
51
|
+
* RPC URL fails MetaMask Connect's `new URL()` check in createEVMClient, which
|
|
52
|
+
* kills connect() before it ever emits `display_uri`.
|
|
53
|
+
*/
|
|
54
|
+
export function metaMaskNetworks(
|
|
55
|
+
chains: readonly Chain[],
|
|
56
|
+
transports?: ConnectorConfig["transports"],
|
|
57
|
+
): Record<Hex, string> {
|
|
58
|
+
const networks: Record<Hex, string> = {};
|
|
59
|
+
for (const chain of chains) {
|
|
60
|
+
if (isSyntheticChainId(chain.id)) continue;
|
|
61
|
+
const url = extractRpcUrls({ chain, transports })?.[0] ?? chain.rpcUrls.default?.http[0];
|
|
62
|
+
if (url && isUrl(url)) networks[numberToHex(chain.id)] = url;
|
|
63
|
+
}
|
|
64
|
+
return networks;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function isUrl(value: string): boolean {
|
|
68
|
+
try {
|
|
69
|
+
new URL(value);
|
|
70
|
+
return true;
|
|
71
|
+
} catch {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** The chain ids a connect asks MetaMask for, the requested one first (it becomes the active chain). */
|
|
77
|
+
export function metaMaskConnectChainIds(networks: Record<Hex, string>, chainId?: number): Hex[] {
|
|
78
|
+
const ids = Object.keys(networks) as Hex[];
|
|
79
|
+
if (!chainId || isSyntheticChainId(chainId)) return ids;
|
|
80
|
+
const first = numberToHex(chainId);
|
|
81
|
+
return ids.includes(first) ? [first, ...ids.filter((id) => id !== first)] : ids;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// One client per page. Its session lives in localStorage, and consumers rebuild
|
|
85
|
+
// the wagmi config (and so this connector) on re-render, so a client per
|
|
86
|
+
// connector instance would race itself over the same session. The events it
|
|
87
|
+
// raises go to the connector wagmi last drove: StrictMode and config caches
|
|
88
|
+
// build connectors that wagmi never uses, and one of those may be the newest.
|
|
89
|
+
let client: Promise<MetamaskConnectEVM> | undefined;
|
|
90
|
+
let owner: Emitter | undefined;
|
|
91
|
+
|
|
92
|
+
function getClient(
|
|
93
|
+
parameters: MetaMaskConnectParameters,
|
|
94
|
+
networks: Record<Hex, string>,
|
|
95
|
+
): Promise<MetamaskConnectEVM> {
|
|
96
|
+
if (client) return client;
|
|
97
|
+
client = import("@metamask/connect-evm").then(({ createEVMClient }) =>
|
|
98
|
+
createEVMClient({
|
|
99
|
+
dapp: {
|
|
100
|
+
name: parameters.dapp.name,
|
|
101
|
+
url:
|
|
102
|
+
parameters.dapp.url ??
|
|
103
|
+
(typeof window !== "undefined" ? window.location.origin : "https://multiplatform.one"),
|
|
104
|
+
...(parameters.dapp.iconUrl ? { iconUrl: parameters.dapp.iconUrl } : {}),
|
|
105
|
+
},
|
|
106
|
+
api: { supportedNetworks: networks },
|
|
107
|
+
analytics: { enabled: false },
|
|
108
|
+
skipAutoAnnounce: true,
|
|
109
|
+
debug: parameters.debug,
|
|
110
|
+
...(parameters.headless ? { ui: { headless: true } } : {}),
|
|
111
|
+
...(parameters.preferredOpenLink || parameters.useDeeplink !== undefined
|
|
112
|
+
? {
|
|
113
|
+
mobile: {
|
|
114
|
+
...(parameters.preferredOpenLink
|
|
115
|
+
? { preferredOpenLink: parameters.preferredOpenLink }
|
|
116
|
+
: {}),
|
|
117
|
+
...(parameters.useDeeplink !== undefined
|
|
118
|
+
? { useDeeplink: parameters.useDeeplink }
|
|
119
|
+
: {}),
|
|
120
|
+
},
|
|
121
|
+
}
|
|
122
|
+
: {}),
|
|
123
|
+
eventHandlers: {
|
|
124
|
+
// A session approved outside connect(), in another tab say. wagmi drops
|
|
125
|
+
// `change` for a connector it has no connection for, so only `connect`
|
|
126
|
+
// brings it in.
|
|
127
|
+
connect: ({ accounts, chainId }) => {
|
|
128
|
+
if (accounts.length)
|
|
129
|
+
owner?.emit("connect", {
|
|
130
|
+
accounts: accounts.map((a) => getAddress(a)),
|
|
131
|
+
chainId: Number(chainId),
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
accountsChanged: (accounts) => {
|
|
135
|
+
if (accounts.length === 0) owner?.emit("disconnect");
|
|
136
|
+
else owner?.emit("change", { accounts: accounts.map((a) => getAddress(a)) });
|
|
137
|
+
},
|
|
138
|
+
chainChanged: (chainId) => owner?.emit("change", { chainId: Number(chainId) }),
|
|
139
|
+
disconnect: () => owner?.emit("disconnect"),
|
|
140
|
+
displayUri: (uri) => owner?.emit("message", { type: "display_uri", data: uri }),
|
|
141
|
+
},
|
|
142
|
+
}),
|
|
143
|
+
);
|
|
144
|
+
client.catch(() => {
|
|
145
|
+
client = undefined;
|
|
146
|
+
});
|
|
147
|
+
return client;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/** Test seam: forget the page's client so the next connector builds a fresh one. */
|
|
151
|
+
export function resetMetaMaskConnectClient(): void {
|
|
152
|
+
client = undefined;
|
|
153
|
+
owner = undefined;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
function rethrow(err: unknown): never {
|
|
157
|
+
const code = (err as { code?: number })?.code;
|
|
158
|
+
if (code === UserRejectedRequestError.code) throw new UserRejectedRequestError(err as Error);
|
|
159
|
+
if (code === ResourceUnavailableRpcError.code)
|
|
160
|
+
throw new ResourceUnavailableRpcError(err as Error);
|
|
161
|
+
throw err;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
metaMaskConnect.type = "metaMask" as const;
|
|
165
|
+
export function metaMaskConnect(parameters: MetaMaskConnectParameters) {
|
|
166
|
+
return createConnector<EIP1193Provider>((config) => {
|
|
167
|
+
owner ??= config.emitter;
|
|
168
|
+
const networks = metaMaskNetworks(config.chains, config.transports);
|
|
169
|
+
const fallbackChainId = Number(Object.keys(networks)[0] ?? 1);
|
|
170
|
+
const instance = () => getClient(parameters, networks);
|
|
171
|
+
// Every call wagmi makes on the connector it uses claims the client's events;
|
|
172
|
+
// setup() runs for every built config, so it does not.
|
|
173
|
+
const claim = () => {
|
|
174
|
+
owner = config.emitter;
|
|
175
|
+
return instance();
|
|
176
|
+
};
|
|
177
|
+
const accountsOf = (mm: MetamaskConnectEVM): Address[] => mm.accounts.map((a) => getAddress(a));
|
|
178
|
+
const chainIdOf = (mm: MetamaskConnectEVM) => {
|
|
179
|
+
const hex = mm.getChainId();
|
|
180
|
+
return hex ? Number(hex) : fallbackChainId;
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
return {
|
|
184
|
+
id: "metaMaskSDK",
|
|
185
|
+
name: "MetaMask",
|
|
186
|
+
rdns: ["io.metamask", "io.metamask.mobile"],
|
|
187
|
+
type: metaMaskConnect.type,
|
|
188
|
+
async setup() {
|
|
189
|
+
// Build the client before the tap: mobile Chrome opens the MetaMask deeplink
|
|
190
|
+
// only inside the tap's short user activation, which a cold import outlasts.
|
|
191
|
+
await instance().catch(() => undefined);
|
|
192
|
+
},
|
|
193
|
+
async connect({ chainId, isReconnecting } = {}) {
|
|
194
|
+
// No separate chain switch: the requested chain leads the permission request
|
|
195
|
+
// and becomes the active chain, so connecting stays one wallet round trip.
|
|
196
|
+
const mm = await claim();
|
|
197
|
+
try {
|
|
198
|
+
let accounts = isReconnecting ? accountsOf(mm) : [];
|
|
199
|
+
if (!accounts.length) {
|
|
200
|
+
const result = await mm.connect({
|
|
201
|
+
chainIds: metaMaskConnectChainIds(networks, chainId),
|
|
202
|
+
});
|
|
203
|
+
accounts = result.accounts.map((a) => getAddress(a));
|
|
204
|
+
}
|
|
205
|
+
return { accounts: accounts as never, chainId: chainIdOf(mm) };
|
|
206
|
+
} catch (err) {
|
|
207
|
+
rethrow(err);
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
async disconnect() {
|
|
211
|
+
await (await claim()).disconnect();
|
|
212
|
+
},
|
|
213
|
+
async getAccounts() {
|
|
214
|
+
return accountsOf(await claim());
|
|
215
|
+
},
|
|
216
|
+
async getChainId() {
|
|
217
|
+
return chainIdOf(await claim());
|
|
218
|
+
},
|
|
219
|
+
async getProvider() {
|
|
220
|
+
return (await claim()).getProvider();
|
|
221
|
+
},
|
|
222
|
+
async isAuthorized() {
|
|
223
|
+
// createEVMClient has already resumed a stored session, so its cached
|
|
224
|
+
// accounts answer without a relay round trip that could sit on the long
|
|
225
|
+
// request timeout.
|
|
226
|
+
try {
|
|
227
|
+
return accountsOf(await claim()).length > 0;
|
|
228
|
+
} catch {
|
|
229
|
+
return false;
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
async switchChain({ addEthereumChainParameter, chainId }) {
|
|
233
|
+
const chain = config.chains.find((c) => c.id === chainId);
|
|
234
|
+
if (!chain || !networks[numberToHex(chainId)])
|
|
235
|
+
throw new SwitchChainError(new ChainNotConfiguredError());
|
|
236
|
+
try {
|
|
237
|
+
await (
|
|
238
|
+
await claim()
|
|
239
|
+
).switchChain({
|
|
240
|
+
chainId: numberToHex(chainId),
|
|
241
|
+
chainConfiguration: {
|
|
242
|
+
chainId: numberToHex(chainId),
|
|
243
|
+
chainName: addEthereumChainParameter?.chainName ?? chain.name,
|
|
244
|
+
nativeCurrency: addEthereumChainParameter?.nativeCurrency ?? chain.nativeCurrency,
|
|
245
|
+
rpcUrls: addEthereumChainParameter?.rpcUrls
|
|
246
|
+
? [...addEthereumChainParameter.rpcUrls]
|
|
247
|
+
: [networks[numberToHex(chainId)]],
|
|
248
|
+
...(chain.blockExplorers?.default.url
|
|
249
|
+
? { blockExplorerUrls: [chain.blockExplorers.default.url] }
|
|
250
|
+
: {}),
|
|
251
|
+
},
|
|
252
|
+
});
|
|
253
|
+
return chain;
|
|
254
|
+
} catch (err) {
|
|
255
|
+
if ((err as { code?: number })?.code === UserRejectedRequestError.code)
|
|
256
|
+
throw new UserRejectedRequestError(err as Error);
|
|
257
|
+
throw new SwitchChainError(err as Error);
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
onAccountsChanged(accounts) {
|
|
261
|
+
if (accounts.length === 0) config.emitter.emit("disconnect");
|
|
262
|
+
else config.emitter.emit("change", { accounts: accounts.map((a) => getAddress(a)) });
|
|
263
|
+
},
|
|
264
|
+
onChainChanged(chain) {
|
|
265
|
+
config.emitter.emit("change", { chainId: Number(chain) });
|
|
266
|
+
},
|
|
267
|
+
onDisconnect() {
|
|
268
|
+
config.emitter.emit("disconnect");
|
|
269
|
+
},
|
|
270
|
+
};
|
|
271
|
+
});
|
|
272
|
+
}
|
|
@@ -71,6 +71,8 @@ export function walletAdapterConnector(entry: WalletConnectorEntry) {
|
|
|
71
71
|
icon: entry.icon,
|
|
72
72
|
// custom tag read by getConnectorEcosystem()/WalletProps.ecosystem
|
|
73
73
|
ecosystem: entry.ecosystem,
|
|
74
|
+
// read by clientForConnector() to build the per-chain client
|
|
75
|
+
adapter: entry.adapter,
|
|
74
76
|
|
|
75
77
|
async getProvider() {
|
|
76
78
|
return provider;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { http } from "wagmi";
|
|
2
2
|
import { type CreateConfigParameters } from "@wagmi/core";
|
|
3
3
|
import { mainnet, polygon, optimism, arbitrum } from "wagmi/chains";
|
|
4
|
-
import { CoinbaseWalletParameters } from "wagmi/connectors";
|
|
4
|
+
import type { CoinbaseWalletParameters } from "@wagmi/connectors/coinbaseWallet";
|
|
5
5
|
import { EthereumProviderOptions as AaveAccountOptions } from "@aave/account";
|
|
6
6
|
|
|
7
7
|
import { setAppMeta } from "@multiplatform.one/connectkit";
|
|
@@ -9,8 +9,8 @@ import defaultConnectors from "./defaultConnectors";
|
|
|
9
9
|
import { getWalletConnectors } from "./connectors/getWalletConnectors";
|
|
10
10
|
import { syntheticChains } from "./connectors/syntheticChains";
|
|
11
11
|
|
|
12
|
-
// App name/icon now live in connectkit's agnostic appMeta module
|
|
13
|
-
//
|
|
12
|
+
// App name/icon now live in connectkit's agnostic appMeta module; re-exported here
|
|
13
|
+
// for back-compat.
|
|
14
14
|
export { getAppName, getAppIcon } from "@multiplatform.one/connectkit";
|
|
15
15
|
|
|
16
16
|
type DefaultConfigProps = {
|
|
@@ -19,8 +19,8 @@ type DefaultConfigProps = {
|
|
|
19
19
|
appDescription?: string;
|
|
20
20
|
appUrl?: string;
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
walletConnectProjectId
|
|
22
|
+
/** @deprecated Ignored: no connector needs a project id. Removed in the next major. */
|
|
23
|
+
walletConnectProjectId?: string;
|
|
24
24
|
// Coinbase Wallet preference
|
|
25
25
|
coinbaseWalletPreference?: CoinbaseWalletParameters<"4">["preference"];
|
|
26
26
|
// Aave Account options
|
|
@@ -31,6 +31,15 @@ type DefaultConfigProps = {
|
|
|
31
31
|
enableWallet?: boolean;
|
|
32
32
|
} & Partial<CreateConfigParameters>;
|
|
33
33
|
|
|
34
|
+
let warnedProjectId = false;
|
|
35
|
+
function warnIgnoredProjectId() {
|
|
36
|
+
if (warnedProjectId) return;
|
|
37
|
+
warnedProjectId = true;
|
|
38
|
+
console.warn(
|
|
39
|
+
"@multiplatform.one/web3: walletConnectProjectId is ignored and will be removed in the next major.",
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
34
43
|
const defaultConfig = ({
|
|
35
44
|
appName = "ConnectKit",
|
|
36
45
|
appIcon,
|
|
@@ -40,12 +49,13 @@ const defaultConfig = ({
|
|
|
40
49
|
coinbaseWalletPreference,
|
|
41
50
|
chains = [mainnet, polygon, optimism, arbitrum],
|
|
42
51
|
client,
|
|
43
|
-
enableAaveAccount =
|
|
52
|
+
enableAaveAccount = false,
|
|
44
53
|
aaveAccountOptions,
|
|
45
54
|
enableWallet = true,
|
|
46
55
|
...props
|
|
47
56
|
}: DefaultConfigProps): CreateConfigParameters => {
|
|
48
57
|
setAppMeta(appName, appIcon);
|
|
58
|
+
if (walletConnectProjectId) warnIgnoredProjectId();
|
|
49
59
|
|
|
50
60
|
// Register the wallet synthetic chains so wagmi can resolve a `chain` object for a
|
|
51
61
|
// connected non-EVM account — ConnectKit's SIWE signIn reads `chain.id`, which is
|
|
@@ -66,7 +76,6 @@ const defaultConfig = ({
|
|
|
66
76
|
description: appDescription,
|
|
67
77
|
url: appUrl,
|
|
68
78
|
},
|
|
69
|
-
walletConnectProjectId,
|
|
70
79
|
coinbaseWalletPreference,
|
|
71
80
|
enableAaveAccount,
|
|
72
81
|
aaveAccountOptions,
|