@multiplatform.one/web3 7.19.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 +49 -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.native.js.map +1 -1
- package/dist/cjs/clients/bitcoin.native.js.map +1 -1
- package/dist/cjs/clients/connector.native.js.map +1 -1
- package/dist/cjs/clients/evm.native.js.map +1 -1
- package/dist/cjs/clients/gpg.native.js.map +1 -1
- package/dist/cjs/clients/hooks.native.js.map +1 -1
- package/dist/cjs/clients/index.native.js.map +1 -1
- package/dist/cjs/clients/solana.native.js.map +1 -1
- package/dist/cjs/clients/solanaMessage.native.js.map +1 -1
- package/dist/cjs/clients/sui.native.js.map +1 -1
- package/dist/cjs/clients/types.native.js.map +1 -1
- package/dist/cjs/clients/useSolanaClient.native.js.map +1 -1
- package/dist/cjs/clients/walletStandard.native.js.map +1 -1
- 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.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 +3 -2
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +6 -4
- 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.native.js +6 -6
- 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.native.js.map +1 -1
- 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/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/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 +3 -2
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js +6 -4
- 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/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/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/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/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 +3 -2
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +6 -4
- 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.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/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 +22 -10
- package/src/bundler/metaMaskConnectTimeouts.spec.ts +390 -0
- package/src/bundler/metaMaskConnectTimeouts.ts +126 -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/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 +70 -2
- package/src/connectkit/siwe/SIWEProvider.tsx +5 -3
- 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/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/vite.ts +60 -0
- package/types/bundler/metaMaskConnectTimeouts.d.ts +36 -0
- package/types/bundler/metaMaskConnectTimeouts.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/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/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/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
|
@@ -35,16 +35,6 @@ export function useInjectedConnector(uuid?: string) {
|
|
|
35
35
|
*/
|
|
36
36
|
return useConnector("injected", uuid);
|
|
37
37
|
}
|
|
38
|
-
export function useWalletConnectConnector() {
|
|
39
|
-
/*
|
|
40
|
-
options: {
|
|
41
|
-
qrcode: false,
|
|
42
|
-
// or
|
|
43
|
-
showQrModal: false,
|
|
44
|
-
}
|
|
45
|
-
*/
|
|
46
|
-
return useConnector("walletConnect");
|
|
47
|
-
}
|
|
48
38
|
export function useCoinbaseWalletConnector() {
|
|
49
39
|
/*
|
|
50
40
|
options: {
|
package/src/connectkit/index.ts
CHANGED
|
@@ -4,6 +4,10 @@ export { Types } from "@multiplatform.one/connectkit";
|
|
|
4
4
|
export { default as getDefaultConfig } from "./defaultConfig";
|
|
5
5
|
export { default as getDefaultConnectors } from "./defaultConnectors";
|
|
6
6
|
export { wallets } from "./wallets";
|
|
7
|
+
export {
|
|
8
|
+
metaMaskConnect,
|
|
9
|
+
type MetaMaskConnectParameters,
|
|
10
|
+
} from "./connectors/metaMaskConnectConnector";
|
|
7
11
|
|
|
8
12
|
// web3's wrapper (generic connectkit useModal + wallet/SIWE openers) keeps the
|
|
9
13
|
// consumer-facing `useModal` API. The agnostic base lives in ./hooks/useModal.
|
|
@@ -12,7 +12,6 @@ import { ProfileSiweHeaderAction } from "./profileHeaderAction";
|
|
|
12
12
|
import Onboarding from "./components/Pages/Onboarding";
|
|
13
13
|
import About from "./components/Pages/About";
|
|
14
14
|
import Connectors from "./components/Pages/Connectors";
|
|
15
|
-
import MobileConnectors from "./components/Pages/MobileConnectors";
|
|
16
15
|
import ConnectUsing from "./components/ConnectModal/ConnectUsing";
|
|
17
16
|
import DownloadApp from "./components/Pages/DownloadApp";
|
|
18
17
|
import Profile from "./components/Pages/Profile";
|
|
@@ -41,10 +40,6 @@ export type Web3ModalState = ModalState & {
|
|
|
41
40
|
locales?: Record<string, string>;
|
|
42
41
|
/** Display name of the connector currently being connected. */
|
|
43
42
|
walletName?: string;
|
|
44
|
-
/** Whether the connect screen is showing a QR code (vs the injector flow). */
|
|
45
|
-
useQrcode?: boolean;
|
|
46
|
-
/** Whether the active connector is WalletConnect. */
|
|
47
|
-
isWalletConnect?: boolean;
|
|
48
43
|
};
|
|
49
44
|
|
|
50
45
|
const l = (s: ModalState, key: string): string => (s as Web3ModalState).locales?.[key] ?? "";
|
|
@@ -75,25 +70,10 @@ export const web3Screens: readonly ScreenDef[] = [
|
|
|
75
70
|
availableWhen: (s) => !s.connected,
|
|
76
71
|
onBack: (api) => api.setRoute(routes.CONNECTORS),
|
|
77
72
|
},
|
|
78
|
-
{
|
|
79
|
-
id: routes.MOBILECONNECTORS,
|
|
80
|
-
component: MobileConnectors,
|
|
81
|
-
heading: (s) => l(s, "mobileConnectorsScreen_heading"),
|
|
82
|
-
availableWhen: (s) => !s.connected,
|
|
83
|
-
onBack: (api) => api.setRoute(routes.CONNECTORS),
|
|
84
|
-
},
|
|
85
73
|
{
|
|
86
74
|
id: routes.CONNECT,
|
|
87
75
|
component: ConnectUsing,
|
|
88
|
-
heading: (s) =>
|
|
89
|
-
const st = s as Web3ModalState;
|
|
90
|
-
if (st.useQrcode) {
|
|
91
|
-
return st.isWalletConnect
|
|
92
|
-
? l(s, "scanScreen_heading")
|
|
93
|
-
: l(s, "scanScreen_heading_withConnector");
|
|
94
|
-
}
|
|
95
|
-
return st.walletName ?? "";
|
|
96
|
-
},
|
|
76
|
+
heading: (s) => (s as Web3ModalState).walletName ?? "",
|
|
97
77
|
// Reached internally (after picking a connector), never via openScreen.
|
|
98
78
|
availableWhen: () => false,
|
|
99
79
|
onBack: (api) => api.setRoute(routes.CONNECTORS),
|
|
@@ -7,7 +7,7 @@ import { getBase58Decoder } from "@solana/kit";
|
|
|
7
7
|
|
|
8
8
|
const { mockUseAccount, mockSignMessageAsync } = vi.hoisted(() => ({
|
|
9
9
|
mockUseAccount: vi.fn(),
|
|
10
|
-
mockSignMessageAsync: vi.fn(),
|
|
10
|
+
mockSignMessageAsync: vi.fn(async () => "0xsigned"),
|
|
11
11
|
}));
|
|
12
12
|
|
|
13
13
|
vi.mock("wagmi", () => ({
|
|
@@ -21,12 +21,38 @@ vi.mock("@multiplatform.one/connectkit", () => ({
|
|
|
21
21
|
isWalletConnector: (c?: { type?: string }) => c?.type === "wallet",
|
|
22
22
|
}));
|
|
23
23
|
|
|
24
|
-
import { SIWEContext } from "./SIWEContext";
|
|
24
|
+
import { SIWEContext, type SIWEContextValue } from "./SIWEContext";
|
|
25
25
|
import { SIWEProvider } from "./SIWEProvider";
|
|
26
26
|
|
|
27
|
+
const evmAddress = "0x0000000000000000000000000000000000000001";
|
|
27
28
|
const solanaAddress = getBase58Decoder().decode(new Uint8Array(32).fill(7));
|
|
28
29
|
const b64 = (s: string) => window.btoa(unescape(encodeURIComponent(s)));
|
|
29
30
|
|
|
31
|
+
function renderSignIn() {
|
|
32
|
+
const createMessage = vi.fn(({ chainId }: { chainId: number }) => `sign in on ${chainId}`);
|
|
33
|
+
const onSign = vi.fn(() => true);
|
|
34
|
+
let ctx: SIWEContextValue | null = null;
|
|
35
|
+
const Probe = () => {
|
|
36
|
+
ctx = useContext(SIWEContext);
|
|
37
|
+
return null;
|
|
38
|
+
};
|
|
39
|
+
render(
|
|
40
|
+
<QueryClientProvider client={new QueryClient()}>
|
|
41
|
+
<SIWEProvider
|
|
42
|
+
getNonce={async () => "nonce123"}
|
|
43
|
+
createMessage={createMessage}
|
|
44
|
+
verifyMessage={async () => true}
|
|
45
|
+
getSession={async () => null}
|
|
46
|
+
signOut={async () => true}
|
|
47
|
+
onSign={onSign}
|
|
48
|
+
>
|
|
49
|
+
<Probe />
|
|
50
|
+
</SIWEProvider>
|
|
51
|
+
</QueryClientProvider>,
|
|
52
|
+
);
|
|
53
|
+
return { createMessage, onSign, ctx: () => ctx! };
|
|
54
|
+
}
|
|
55
|
+
|
|
30
56
|
function signInWith(connector: object, address: string, chainId: number) {
|
|
31
57
|
mockUseAccount.mockReturnValue({ address, chain: { id: chainId }, connector });
|
|
32
58
|
const onSign = vi.fn(async () => undefined);
|
|
@@ -63,6 +89,48 @@ function signInWith(connector: object, address: string, chainId: number) {
|
|
|
63
89
|
};
|
|
64
90
|
}
|
|
65
91
|
|
|
92
|
+
describe("SIWEProvider signIn", () => {
|
|
93
|
+
beforeEach(() => vi.clearAllMocks());
|
|
94
|
+
|
|
95
|
+
it("signs with the connected chain id when the wallet sits on a chain the config does not list", async () => {
|
|
96
|
+
// MetaMask on Base while the config lists mainnet/polygon: wagmi reports the
|
|
97
|
+
// connection's chainId but no `chain` object.
|
|
98
|
+
mockUseAccount.mockReturnValue({ address: evmAddress, chain: undefined, chainId: 8453 });
|
|
99
|
+
const { createMessage, onSign, ctx } = renderSignIn();
|
|
100
|
+
await waitFor(() => expect(ctx().nonce.data).toBe("nonce123"));
|
|
101
|
+
|
|
102
|
+
let result: unknown;
|
|
103
|
+
await act(async () => {
|
|
104
|
+
result = await ctx().signIn();
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
expect(createMessage).toHaveBeenCalledWith({
|
|
108
|
+
address: evmAddress,
|
|
109
|
+
chainId: 8453,
|
|
110
|
+
nonce: "nonce123",
|
|
111
|
+
});
|
|
112
|
+
expect(mockSignMessageAsync).toHaveBeenCalledWith({ message: "sign in on 8453" });
|
|
113
|
+
expect(onSign).toHaveBeenCalledOnce();
|
|
114
|
+
expect(result).not.toBe(false);
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
it("uses the configured chain when wagmi knows it", async () => {
|
|
118
|
+
mockUseAccount.mockReturnValue({ address: evmAddress, chain: { id: 137 }, chainId: 137 });
|
|
119
|
+
const { createMessage, ctx } = renderSignIn();
|
|
120
|
+
await waitFor(() => expect(ctx().nonce.data).toBe("nonce123"));
|
|
121
|
+
|
|
122
|
+
await act(async () => {
|
|
123
|
+
await ctx().signIn();
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
expect(createMessage).toHaveBeenCalledWith({
|
|
127
|
+
address: evmAddress,
|
|
128
|
+
chainId: 137,
|
|
129
|
+
nonce: "nonce123",
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
|
|
66
134
|
describe("SIWEProvider signing", () => {
|
|
67
135
|
beforeEach(() => vi.clearAllMocks());
|
|
68
136
|
|
|
@@ -90,13 +90,13 @@ export const SIWEProvider = ({
|
|
|
90
90
|
},
|
|
91
91
|
});
|
|
92
92
|
|
|
93
|
-
const { address, chain, connector } = useAccount();
|
|
93
|
+
const { address, chain, chainId: connectedChainId, connector } = useAccount();
|
|
94
94
|
const { signMessageAsync } = useSignMessage();
|
|
95
95
|
|
|
96
96
|
const onError = (error: any) => {
|
|
97
97
|
console.error("signIn error", error, error.message);
|
|
98
98
|
switch (error.code) {
|
|
99
|
-
case -32000: //
|
|
99
|
+
case -32000: // user rejected, as some wallets report it
|
|
100
100
|
case 4001: // MetaMask: user rejected
|
|
101
101
|
case "ACTION_REJECTED": // MetaMask: user rejected
|
|
102
102
|
setStatus(StatusState.REJECTED);
|
|
@@ -112,7 +112,9 @@ export const SIWEProvider = ({
|
|
|
112
112
|
throw new Error("SIWE not configured");
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
// `chain` is undefined when the wallet sits on a network the config does not
|
|
116
|
+
// list (MetaMask on Base or BSC); the message still names the chain it signs on.
|
|
117
|
+
const chainId = chain?.id ?? connectedChainId;
|
|
116
118
|
if (!address) throw new Error("No address found");
|
|
117
119
|
if (!chainId) throw new Error("No chainId found");
|
|
118
120
|
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { CreateConnectorFn } from "wagmi";
|
|
2
|
-
import { injected } from "@wagmi/connectors";
|
|
2
|
+
import { injected } from "@wagmi/connectors/injected";
|
|
3
3
|
|
|
4
4
|
import { walletConfigs } from "./walletConfigs";
|
|
5
5
|
|
|
6
6
|
type WalletIds = Extract<keyof typeof walletConfigs, string>;
|
|
7
7
|
|
|
8
|
+
// Injected connectors for the browser-extension wallets the modal knows by name.
|
|
9
|
+
// MetaMask is left out: it connects through metaMaskConnect.
|
|
8
10
|
export const wallets: {
|
|
9
11
|
[key: WalletIds]: CreateConnectorFn;
|
|
10
12
|
} = Object.keys(walletConfigs).reduce((acc, key) => {
|
|
11
13
|
const config = walletConfigs[key];
|
|
12
|
-
if (!config?.
|
|
14
|
+
if (!config?.name || !config.downloadUrls) return acc;
|
|
13
15
|
const target = key.split(",")[0].trim();
|
|
16
|
+
if (target === "injected" || target.toLowerCase().startsWith("metamask")) return acc;
|
|
14
17
|
const flag =
|
|
15
18
|
config.name?.replace("Wallet", "").replace(" ", "") ??
|
|
16
19
|
target[0].toUpperCase() + target.slice(1);
|
|
@@ -2,7 +2,6 @@ import { Connector } from "wagmi";
|
|
|
2
2
|
|
|
3
3
|
import { useConnectors } from "../hooks/useConnectors";
|
|
4
4
|
import { walletConfigs, WalletConfigProps } from "./walletConfigs";
|
|
5
|
-
import { useContext } from "@multiplatform.one/connectkit";
|
|
6
5
|
import {
|
|
7
6
|
isCoinbaseWalletConnector,
|
|
8
7
|
isInjectedConnector,
|
|
@@ -27,7 +26,6 @@ export const useWallet = (id: string): WalletProps | null => {
|
|
|
27
26
|
};
|
|
28
27
|
export const useWallets = (): WalletProps[] => {
|
|
29
28
|
const connectors = useConnectors();
|
|
30
|
-
const context = useContext();
|
|
31
29
|
|
|
32
30
|
const wallets = connectors.map((connector): WalletProps => {
|
|
33
31
|
// use overrides
|
|
@@ -51,7 +49,7 @@ export const useWallets = (): WalletProps[] => {
|
|
|
51
49
|
connector.type === "mock" ||
|
|
52
50
|
connector.type === "wallet" || // non-EVM wallets are only listed when detected present
|
|
53
51
|
(connector.type === "injected" && connector.id !== "metaMask") ||
|
|
54
|
-
isMetaMaskConnector(connector.id) || // always run
|
|
52
|
+
isMetaMaskConnector(connector.id) || // always run MetaMask Connect (extension, mobile deeplink, or its install modal)
|
|
55
53
|
isCoinbaseWalletConnector(connector.id), // always run coinbase wallet SDK
|
|
56
54
|
};
|
|
57
55
|
|
|
@@ -73,17 +71,6 @@ export const useWallets = (): WalletProps[] => {
|
|
|
73
71
|
wallets
|
|
74
72
|
// remove duplicate ids
|
|
75
73
|
.filter((wallet, index, self) => self.findIndex((w) => w.id === wallet.id) === index)
|
|
76
|
-
// Replace walletConnect's name with the one from options
|
|
77
|
-
.map((wallet) => {
|
|
78
|
-
if (wallet.id === "walletConnect") {
|
|
79
|
-
return {
|
|
80
|
-
...wallet,
|
|
81
|
-
name: context.options?.walletConnectName || wallet.name,
|
|
82
|
-
shortName: context.options?.walletConnectName || wallet.shortName,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
return wallet;
|
|
86
|
-
})
|
|
87
74
|
// remove wallet with id coinbaseWalletSDK if wallet with id 'com.coinbase.wallet' exists
|
|
88
75
|
.filter(
|
|
89
76
|
(wallet, _index, self) =>
|
|
@@ -106,11 +93,5 @@ export const useWallets = (): WalletProps[] => {
|
|
|
106
93
|
if (!AisInstalled && BisInstalled) return 1;
|
|
107
94
|
return 0;
|
|
108
95
|
})
|
|
109
|
-
// move walletConnect to the end
|
|
110
|
-
.sort((a, b) => {
|
|
111
|
-
if (a.id === "walletConnect") return 1;
|
|
112
|
-
if (b.id === "walletConnect") return -1;
|
|
113
|
-
return 0;
|
|
114
|
-
})
|
|
115
96
|
);
|
|
116
97
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Logos
|
|
1
|
+
import { Logos } from "@multiplatform.one/connectkit";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* EIP-6963: Multi Injected Provider Discovery
|
|
@@ -37,9 +37,6 @@ export type WalletConfigProps = {
|
|
|
37
37
|
edge?: string;
|
|
38
38
|
safari?: string;
|
|
39
39
|
};
|
|
40
|
-
// Create URI for QR code, where uri is encoded data from WalletConnect
|
|
41
|
-
getWalletConnectDeeplink?: (uri: string) => string;
|
|
42
|
-
shouldDeeplinkDesktop?: boolean;
|
|
43
40
|
};
|
|
44
41
|
|
|
45
42
|
// Simple branded fallback icon (colored square + glyph) for wallets without a
|
|
@@ -70,8 +67,7 @@ export const walletConfigs: {
|
|
|
70
67
|
icon: <Logos.Mock />,
|
|
71
68
|
},
|
|
72
69
|
// wallet non-EVM wallets (Solana / Sui / Bitcoin). Keyed by the shim-connector ids
|
|
73
|
-
// from adapters/discover.ts
|
|
74
|
-
// page (these are injected/extension wallets, not WalletConnect). `name` is
|
|
70
|
+
// from adapters/discover.ts; they are injected/extension wallets. `name` is
|
|
75
71
|
// intentionally omitted so the connector's detected name is preserved.
|
|
76
72
|
"wallet:solana:phantom, wallet:bitcoin:phantom": {
|
|
77
73
|
icon: <Logos.Phantom />,
|
|
@@ -108,9 +104,6 @@ export const walletConfigs: {
|
|
|
108
104
|
android: "https://play.google.com/store/apps/details?id=im.argent.contractwalletclient",
|
|
109
105
|
ios: "https://apps.apple.com/app/argent/id1358741926",
|
|
110
106
|
},
|
|
111
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
112
|
-
return isAndroid() ? uri : `https://argent.link/app/wc?uri=${encodeURIComponent(uri)}`;
|
|
113
|
-
},
|
|
114
107
|
},
|
|
115
108
|
"coinbaseWallet, coinbaseWalletSDK": {
|
|
116
109
|
name: "Coinbase Wallet",
|
|
@@ -125,9 +118,6 @@ export const walletConfigs: {
|
|
|
125
118
|
chrome:
|
|
126
119
|
"https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad",
|
|
127
120
|
},
|
|
128
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
129
|
-
return `https://go.cb-w.com/wc?uri=${encodeURIComponent(uri)}`;
|
|
130
|
-
},
|
|
131
121
|
},
|
|
132
122
|
"com.coinbase.wallet": {
|
|
133
123
|
name: "Coinbase Wallet",
|
|
@@ -142,9 +132,6 @@ export const walletConfigs: {
|
|
|
142
132
|
chrome:
|
|
143
133
|
"https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad",
|
|
144
134
|
},
|
|
145
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
146
|
-
return `https://go.cb-w.com/wc?uri=${encodeURIComponent(uri)}`;
|
|
147
|
-
},
|
|
148
135
|
},
|
|
149
136
|
"com.crypto.wallet": {
|
|
150
137
|
name: "Crypto.com",
|
|
@@ -172,7 +159,6 @@ export const walletConfigs: {
|
|
|
172
159
|
brave:
|
|
173
160
|
"https://chrome.google.com/webstore/detail/frame-companion/ldcoohedfbjoobcadoglnnmmfbdlmmhf",
|
|
174
161
|
},
|
|
175
|
-
getWalletConnectDeeplink: (uri: string) => uri,
|
|
176
162
|
},
|
|
177
163
|
frontier: {
|
|
178
164
|
name: "Frontier Wallet",
|
|
@@ -186,9 +172,6 @@ export const walletConfigs: {
|
|
|
186
172
|
chrome:
|
|
187
173
|
"https://chrome.google.com/webstore/detail/frontier-wallet/kppfdiipphfccemcignhifpjkapfbihd",
|
|
188
174
|
},
|
|
189
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
190
|
-
return isAndroid() ? uri : `frontier://wc?uri=${encodeURIComponent(uri)}`;
|
|
191
|
-
},
|
|
192
175
|
},
|
|
193
176
|
injected: {
|
|
194
177
|
name: "Browser Wallet",
|
|
@@ -210,10 +193,6 @@ export const walletConfigs: {
|
|
|
210
193
|
brave: "https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn",
|
|
211
194
|
edge: "https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm",
|
|
212
195
|
},
|
|
213
|
-
// NO getWalletConnectDeeplink: MetaMask must NEVER ride WalletConnect.
|
|
214
|
-
// The metaMaskSDK connector deep-links via its own transport in connect();
|
|
215
|
-
// every MetaMask-over-WC path keyed off this one config function
|
|
216
|
-
// (ConnectorItem's anchor, ConnectUsing's QR predicate, MobileConnectors).
|
|
217
196
|
},
|
|
218
197
|
"app.phantom": {
|
|
219
198
|
name: "Phantom",
|
|
@@ -234,11 +213,6 @@ export const walletConfigs: {
|
|
|
234
213
|
edge: "https://rainbow.me/extension?utm_source=connectkit",
|
|
235
214
|
brave: "https://rainbow.me/extension?utm_source=connectkit",
|
|
236
215
|
},
|
|
237
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
238
|
-
return isAndroid()
|
|
239
|
-
? uri
|
|
240
|
-
: `https://rnbwapp.com/wc?uri=${encodeURIComponent(uri)}&connector=connectkit`;
|
|
241
|
-
},
|
|
242
216
|
},
|
|
243
217
|
"io.rabby": {
|
|
244
218
|
name: "Rabby Wallet",
|
|
@@ -258,9 +232,6 @@ export const walletConfigs: {
|
|
|
258
232
|
ios: "https://apps.apple.com/app/id1515759131",
|
|
259
233
|
android: "https://play.google.com/store/apps/details?id=io.gnosis.safe",
|
|
260
234
|
},
|
|
261
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
262
|
-
return isAndroid() ? uri : `https://gnosis-safe.io/wc?uri=${encodeURIComponent(uri)}`;
|
|
263
|
-
},
|
|
264
235
|
},
|
|
265
236
|
"xyz.talisman": {
|
|
266
237
|
name: "Talisman",
|
|
@@ -284,9 +255,6 @@ export const walletConfigs: {
|
|
|
284
255
|
android: "https://play.google.com/store/apps/details?id=com.wallet.crypto.trustapp",
|
|
285
256
|
ios: "https://apps.apple.com/app/trust-crypto-bitcoin-wallet/id1288339409",
|
|
286
257
|
},
|
|
287
|
-
getWalletConnectDeeplink(uri) {
|
|
288
|
-
return isAndroid() ? uri : `https://link.trustwallet.com/wc?uri=${encodeURIComponent(uri)}`;
|
|
289
|
-
},
|
|
290
258
|
},
|
|
291
259
|
infinityWallet: {
|
|
292
260
|
name: "Infinity Wallet",
|
|
@@ -309,9 +277,6 @@ export const walletConfigs: {
|
|
|
309
277
|
android: "https://play.google.com/store/apps/details?id=im.token.app",
|
|
310
278
|
ios: "https://itunes.apple.com/us/app/imtoken2/id1384798940",
|
|
311
279
|
},
|
|
312
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
313
|
-
return `imtokenv2://wc?uri=${encodeURIComponent(uri)}`;
|
|
314
|
-
},
|
|
315
280
|
},
|
|
316
281
|
unstoppable: {
|
|
317
282
|
name: "Unstoppable",
|
|
@@ -321,9 +286,6 @@ export const walletConfigs: {
|
|
|
321
286
|
ios: "https://apps.apple.com/app/bank-bitcoin-wallet/id1447619907",
|
|
322
287
|
android: "https://play.google.com/store/apps/details?id=io.horizontalsystems.bankwallet",
|
|
323
288
|
},
|
|
324
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
325
|
-
return isAndroid() ? uri : `https://unstoppable.money/wc?uri=${encodeURIComponent(uri)}`;
|
|
326
|
-
},
|
|
327
289
|
},
|
|
328
290
|
onto: {
|
|
329
291
|
name: "ONTO",
|
|
@@ -334,9 +296,6 @@ export const walletConfigs: {
|
|
|
334
296
|
android: "https://play.google.com/store/apps/details?id=com.github.ontio.onto",
|
|
335
297
|
website: "https://onto.app/en/download/",
|
|
336
298
|
},
|
|
337
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
338
|
-
return isAndroid() ? uri : `https://onto.app/wc?uri=${encodeURIComponent(uri)}`;
|
|
339
|
-
},
|
|
340
299
|
},
|
|
341
300
|
steak: {
|
|
342
301
|
name: "Steak",
|
|
@@ -347,9 +306,6 @@ export const walletConfigs: {
|
|
|
347
306
|
ios: "https://apps.apple.com/app/steakwallet/id1569375204",
|
|
348
307
|
website: "https://steakwallet.fi/download",
|
|
349
308
|
},
|
|
350
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
351
|
-
return isAndroid() ? uri : `https://links.steakwallet.fi/wc?uri=${encodeURIComponent(uri)}`;
|
|
352
|
-
},
|
|
353
309
|
},
|
|
354
310
|
ledger: {
|
|
355
311
|
name: "Ledger Live",
|
|
@@ -361,10 +317,6 @@ export const walletConfigs: {
|
|
|
361
317
|
android: "https://play.google.com/store/apps/details?id=com.ledger.live",
|
|
362
318
|
ios: "https://apps.apple.com/app/ledger-live-web3-wallet/id1361671700",
|
|
363
319
|
},
|
|
364
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
365
|
-
return isAndroid() ? uri : `ledgerlive://wc?uri=${encodeURIComponent(uri)}`;
|
|
366
|
-
},
|
|
367
|
-
shouldDeeplinkDesktop: true,
|
|
368
320
|
},
|
|
369
321
|
zerion: {
|
|
370
322
|
name: "Zerion",
|
|
@@ -375,9 +327,6 @@ export const walletConfigs: {
|
|
|
375
327
|
android: "https://play.google.com/store/apps/details?id=io.zerion.android",
|
|
376
328
|
website: "https://zerion.io/",
|
|
377
329
|
},
|
|
378
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
379
|
-
return isAndroid() ? uri : `https://app.zerion.io/wc?uri=${encodeURIComponent(uri)}`;
|
|
380
|
-
},
|
|
381
330
|
},
|
|
382
331
|
slope: {
|
|
383
332
|
name: "Slope",
|
|
@@ -390,9 +339,6 @@ export const walletConfigs: {
|
|
|
390
339
|
"https://chrome.google.com/webstore/detail/slope-wallet/pocmplpaccanhmnllbbkpgfliimjljgo",
|
|
391
340
|
website: "https://slope.finance/",
|
|
392
341
|
},
|
|
393
|
-
getWalletConnectDeeplink: (uri: string) => {
|
|
394
|
-
return isAndroid() ? uri : `https://slope.finance/app/wc?uri=${encodeURIComponent(uri)}`;
|
|
395
|
-
},
|
|
396
342
|
},
|
|
397
343
|
tokenPocket: {
|
|
398
344
|
name: "TokenPocket Wallet",
|
|
@@ -417,12 +363,4 @@ export const walletConfigs: {
|
|
|
417
363
|
firefox: "https://addons.mozilla.org/en-US/firefox/addon/talisman-wallet-extension/",
|
|
418
364
|
},
|
|
419
365
|
},
|
|
420
|
-
walletConnect: {
|
|
421
|
-
name: "Other Wallets",
|
|
422
|
-
shortName: "Other",
|
|
423
|
-
icon: <Logos.WalletConnect background />,
|
|
424
|
-
iconConnector: <Logos.OtherWallets />,
|
|
425
|
-
iconShape: "square",
|
|
426
|
-
getWalletConnectDeeplink: (uri: string) => uri,
|
|
427
|
-
},
|
|
428
366
|
} as const;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import React, { useContext as useReactContext, useEffect, useMemo } from "react";
|
|
2
2
|
import { useAccount, useAccountEffect, useConfig } from "wagmi";
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
ModalState,
|
|
6
|
-
ModalStateProvider,
|
|
7
|
-
routes,
|
|
8
|
-
useContext,
|
|
9
|
-
isWalletConnectConnector,
|
|
10
|
-
} from "@multiplatform.one/connectkit";
|
|
4
|
+
import { ModalState, ModalStateProvider, routes, useContext } from "@multiplatform.one/connectkit";
|
|
11
5
|
import { Web3ContextProvider } from "./components/contexts/web3";
|
|
12
6
|
import { Web3ScreenRegistrar } from "./screens";
|
|
13
7
|
import { ensureWalletConnectors } from "./connectors/ensureWalletConnectors";
|
|
@@ -53,9 +47,8 @@ export const Web3ModalBridge: React.FC<Web3ModalBridgeProps> = ({
|
|
|
53
47
|
const signInWithGpg = useReactContext(GpgContext)?.enabled ?? false;
|
|
54
48
|
const { isSignedIn } = useSIWESignedIn();
|
|
55
49
|
|
|
56
|
-
//
|
|
50
|
+
// The connector name the connect screen's heading shows.
|
|
57
51
|
const wallet = useWallet(context.connector?.id ?? "");
|
|
58
|
-
const useQrcode = wallet ? !(!wallet.getWalletConnectDeeplink || wallet.isInstalled) : false;
|
|
59
52
|
|
|
60
53
|
// wallet: wallet extensions (notably UniSat) inject their window globals AFTER the
|
|
61
54
|
// wagmi config is built, so getDefaultConfig's one-shot discovery misses them and
|
|
@@ -122,22 +115,12 @@ export const Web3ModalBridge: React.FC<Web3ModalBridgeProps> = ({
|
|
|
122
115
|
signInWithEthereum,
|
|
123
116
|
signInWithGpg,
|
|
124
117
|
walletName: wallet?.name,
|
|
125
|
-
useQrcode,
|
|
126
|
-
isWalletConnect: isWalletConnectConnector(wallet?.connector?.id),
|
|
127
118
|
}),
|
|
128
|
-
[
|
|
129
|
-
isConnected,
|
|
130
|
-
chainIsSupported,
|
|
131
|
-
isSignedIn,
|
|
132
|
-
signInWithEthereum,
|
|
133
|
-
signInWithGpg,
|
|
134
|
-
wallet,
|
|
135
|
-
useQrcode,
|
|
136
|
-
],
|
|
119
|
+
[isConnected, chainIsSupported, isSignedIn, signInWithEthereum, signInWithGpg, wallet],
|
|
137
120
|
);
|
|
138
121
|
|
|
139
122
|
return (
|
|
140
|
-
<Web3ContextProvider
|
|
123
|
+
<Web3ContextProvider>
|
|
141
124
|
<Web3ScreenRegistrar />
|
|
142
125
|
<ModalStateProvider value={modalState}>
|
|
143
126
|
<ConnectorLauncherProvider>{children}</ConnectorLauncherProvider>
|
package/src/esbuild.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
|
|
3
|
+
import { createMetaMaskConnectTimeoutTracker } from "./bundler/metaMaskConnectTimeouts";
|
|
4
|
+
|
|
5
|
+
type OnLoadArgs = { path: string };
|
|
6
|
+
type OnLoadResult = { contents: string; loader: "js" } | undefined;
|
|
7
|
+
type EsbuildMessage = { text: string };
|
|
8
|
+
|
|
9
|
+
/** The part of esbuild's PluginBuild this plugin uses. */
|
|
10
|
+
export type MetaMaskConnectTimeoutsEsbuildBuild = {
|
|
11
|
+
onLoad(options: { filter: RegExp }, callback: (args: OnLoadArgs) => Promise<OnLoadResult>): void;
|
|
12
|
+
onEnd(callback: () => { errors: EsbuildMessage[] } | undefined): void;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* esbuild counterpart of `@multiplatform.one/web3/vite`'s metaMaskConnectTimeouts:
|
|
17
|
+
* raises MetaMask Connect's relay timers to ten minutes in a bundle that carries
|
|
18
|
+
* the wallet modal, and fails the build if it bundles MetaMask Connect with a
|
|
19
|
+
* timer left short.
|
|
20
|
+
*/
|
|
21
|
+
export function metaMaskConnectTimeoutsEsbuild() {
|
|
22
|
+
return {
|
|
23
|
+
name: "mpo-web3:metamask-connect-timeouts",
|
|
24
|
+
setup(build: MetaMaskConnectTimeoutsEsbuildBuild) {
|
|
25
|
+
const tracker = createMetaMaskConnectTimeoutTracker();
|
|
26
|
+
build.onLoad(
|
|
27
|
+
{
|
|
28
|
+
filter:
|
|
29
|
+
/[\\/]@metamask[\\/](connect-evm|connect-multichain|mobile-wallet-protocol-dapp-client)[\\/].*\.[cm]?js$/,
|
|
30
|
+
},
|
|
31
|
+
async (args) => {
|
|
32
|
+
const result = tracker.patch(args.path, await readFile(args.path, "utf8"));
|
|
33
|
+
return result ? { contents: result.code, loader: "js" } : undefined;
|
|
34
|
+
},
|
|
35
|
+
);
|
|
36
|
+
build.onEnd(() => {
|
|
37
|
+
const problem = tracker.problem();
|
|
38
|
+
return problem ? { errors: [{ text: problem }] } : undefined;
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
@@ -76,30 +76,21 @@ describe("useWallet", () => {
|
|
|
76
76
|
|
|
77
77
|
it("connect() prefers injected connector", () => {
|
|
78
78
|
const injected = { id: "injected" };
|
|
79
|
-
const
|
|
79
|
+
const metaMask = { id: "metaMaskSDK" };
|
|
80
80
|
const other = { id: "other" };
|
|
81
|
-
mockUseConnect.mockReturnValue({
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
act(() => {
|
|
85
|
-
result.current.connect();
|
|
81
|
+
mockUseConnect.mockReturnValue({
|
|
82
|
+
connect: mockConnect,
|
|
83
|
+
connectors: [other, metaMask, injected],
|
|
86
84
|
});
|
|
87
|
-
expect(mockConnect).toHaveBeenCalledWith({ connector: injected });
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
it("connect() prefers walletConnect when no injected connector", () => {
|
|
91
|
-
const wc = { id: "walletConnect" };
|
|
92
|
-
const other = { id: "other" };
|
|
93
|
-
mockUseConnect.mockReturnValue({ connect: mockConnect, connectors: [other, wc] });
|
|
94
85
|
|
|
95
86
|
const { result } = renderHook(() => useWallet());
|
|
96
87
|
act(() => {
|
|
97
88
|
result.current.connect();
|
|
98
89
|
});
|
|
99
|
-
expect(mockConnect).toHaveBeenCalledWith({ connector:
|
|
90
|
+
expect(mockConnect).toHaveBeenCalledWith({ connector: injected });
|
|
100
91
|
});
|
|
101
92
|
|
|
102
|
-
it("connect() falls back to first connector when no injected
|
|
93
|
+
it("connect() falls back to first connector when no injected connector", () => {
|
|
103
94
|
const other = { id: "other" };
|
|
104
95
|
mockUseConnect.mockReturnValue({ connect: mockConnect, connectors: [other] });
|
|
105
96
|
|
package/src/hooks/useWallet.ts
CHANGED
|
@@ -53,8 +53,7 @@ export function useWallet(): UseWalletResult {
|
|
|
53
53
|
|
|
54
54
|
const handleConnect = useCallback(() => {
|
|
55
55
|
const injectedConnector = connectors.find((c) => c.id === "injected");
|
|
56
|
-
const
|
|
57
|
-
const connector = injectedConnector || wcConnector || connectors[0];
|
|
56
|
+
const connector = injectedConnector || connectors[0];
|
|
58
57
|
|
|
59
58
|
if (connector) {
|
|
60
59
|
connect({ connector });
|
|
@@ -98,7 +98,7 @@ export function WalletProvider({
|
|
|
98
98
|
}, [bridge]);
|
|
99
99
|
|
|
100
100
|
// Inbound app-link returns from a wallet app: forward the params into the
|
|
101
|
-
// WebView (the mock-wallet path consumes address/signature; real
|
|
101
|
+
// WebView (the mock-wallet path consumes address/signature; a real wallet
|
|
102
102
|
// just needs the resync that AppState already triggers).
|
|
103
103
|
useEffect(() => {
|
|
104
104
|
const handle = (url: string | null) => {
|
|
@@ -15,11 +15,10 @@ export interface WalletProviderProps extends PropsWithChildren {
|
|
|
15
15
|
|
|
16
16
|
const defaultQueryClient = new QueryClient();
|
|
17
17
|
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
// the created config at module scope keyed by its inputs so it survives remounts.
|
|
18
|
+
// Build the wagmi config once per process. useMemo only dedupes within a single
|
|
19
|
+
// component instance, so a provider remount (e.g. React StrictMode double-invoke,
|
|
20
|
+
// or a route transition) would rebuild the config and set its connectors up again.
|
|
21
|
+
// Cache the created config at module scope keyed by its inputs so it survives remounts.
|
|
23
22
|
type WagmiConfigResult = ReturnType<typeof createConfig>;
|
|
24
23
|
const wagmiConfigCache = new Map<string, WagmiConfigResult>();
|
|
25
24
|
|
|
@@ -55,7 +54,6 @@ export function WalletProvider({
|
|
|
55
54
|
appDescription,
|
|
56
55
|
appUrl,
|
|
57
56
|
appIcon,
|
|
58
|
-
walletConnectProjectId,
|
|
59
57
|
chainIds,
|
|
60
58
|
localnetRpcUrl,
|
|
61
59
|
mockWallet,
|
|
@@ -84,7 +82,7 @@ export function WalletProvider({
|
|
|
84
82
|
const created = createConfig(defaultConfig);
|
|
85
83
|
wagmiConfigCache.set(cacheKey, created);
|
|
86
84
|
return created;
|
|
87
|
-
}, [appName, appDescription, appUrl, appIcon,
|
|
85
|
+
}, [appName, appDescription, appUrl, appIcon, activeChains, mockWallet]);
|
|
88
86
|
|
|
89
87
|
return (
|
|
90
88
|
<Web3ConfigContext.Provider value={web3Config}>
|
|
@@ -7,8 +7,8 @@ import { createConnector } from "wagmi";
|
|
|
7
7
|
* web WalletProvider when `config.mockWallet === true` (production never sets
|
|
8
8
|
* that flag). Backed by an ephemeral runtime key (no secret shipped) and
|
|
9
9
|
* produces REAL, verifiable signatures, so a headless browser can exercise the
|
|
10
|
-
* whole connect → sign → SIWE → Keycloak round-trip with no MetaMask
|
|
11
|
-
*
|
|
10
|
+
* whole connect → sign → SIWE → Keycloak round-trip with no MetaMask or
|
|
11
|
+
* extension.
|
|
12
12
|
*
|
|
13
13
|
* This is the web `src/` analogue of webview/wiring/mockWallet.ts (which serves
|
|
14
14
|
* the isolated WebView build); kept here so the native import graph stays clean.
|