@multiplatform.one/web3 7.19.0 → 7.21.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/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/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/ConnectModal/ConnectUsing.cjs +4 -38
- package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.native.js +4 -42
- package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.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 +7 -62
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/demo.cjs +0 -15
- package/dist/cjs/connectkit/components/ConnectModal/demo.native.js +0 -15
- package/dist/cjs/connectkit/components/ConnectModal/demo.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/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/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/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/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/index.cjs +2 -0
- package/dist/cjs/connectkit/index.native.js +2 -0
- package/dist/cjs/connectkit/index.native.js.map +1 -1
- package/dist/cjs/connectkit/screens.cjs +1 -14
- package/dist/cjs/connectkit/screens.native.js +16 -33
- package/dist/cjs/connectkit/screens.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/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 +2 -7
- package/dist/cjs/connectkit/web3Bridge.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/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/providers/WalletProvider.cjs +1 -2
- 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/walletConfig.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/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
|
@@ -1,505 +0,0 @@
|
|
|
1
|
-
// wagmi connector for MetaMask over the CLASSIC @metamask/sdk (0.33.x) transport,
|
|
2
|
-
// ported from @wagmi/connectors@5.11.2 src/metaMask.ts onto wagmi 3's connector API.
|
|
3
|
-
//
|
|
4
|
-
// Why not @wagmi/connectors 8.x's metaMask() (MWP / @metamask/connect-evm): MWP has
|
|
5
|
-
// no story for the dapp page freezing or being discarded while the wallet app is
|
|
6
|
-
// foregrounded — on Android the tab's relay websocket dies mid-handshake and the
|
|
7
|
-
// wallet's approval publishes to a channel nobody re-reads, so mobile-browser
|
|
8
|
-
// deeplink connects never complete (verified on-device 2026-07-15 against both
|
|
9
|
-
// connect-evm 1.4.0 and 2.1.1). The classic SDK survives that same bounce by
|
|
10
|
-
// design: it persists channel keys, reconnects its own socket.io relay, and
|
|
11
|
-
// re-requests pending results on resume — the promanager keycloak login uses it
|
|
12
|
-
// and is e2e-verified on real Android MetaMask.
|
|
13
|
-
//
|
|
14
|
-
// Kept identical to upstream where possible; the id stays `metaMaskSDK`, which is
|
|
15
|
-
// what isMetaMaskConnector(), useWallets' EIP-6963 dedupe, and ConnectWithInjector's
|
|
16
|
-
// display_uri deeplink listener all key off.
|
|
17
|
-
import type { MetaMaskSDK, MetaMaskSDKOptions, RPC_URLS_MAP, SDKProvider } from "@metamask/sdk";
|
|
18
|
-
import {
|
|
19
|
-
ChainNotConfiguredError,
|
|
20
|
-
type Connector,
|
|
21
|
-
createConnector,
|
|
22
|
-
extractRpcUrls,
|
|
23
|
-
ProviderNotFoundError,
|
|
24
|
-
} from "@wagmi/core";
|
|
25
|
-
import type {
|
|
26
|
-
Compute,
|
|
27
|
-
ExactPartial,
|
|
28
|
-
OneOf,
|
|
29
|
-
RemoveUndefined,
|
|
30
|
-
UnionCompute,
|
|
31
|
-
} from "@wagmi/core/internal";
|
|
32
|
-
import {
|
|
33
|
-
type AddEthereumChainParameter,
|
|
34
|
-
type Address,
|
|
35
|
-
getAddress,
|
|
36
|
-
type Hex,
|
|
37
|
-
hexToNumber,
|
|
38
|
-
numberToHex,
|
|
39
|
-
type ProviderConnectInfo,
|
|
40
|
-
type ProviderRpcError,
|
|
41
|
-
ResourceUnavailableRpcError,
|
|
42
|
-
type RpcError,
|
|
43
|
-
SwitchChainError,
|
|
44
|
-
UserRejectedRequestError,
|
|
45
|
-
withRetry,
|
|
46
|
-
withTimeout,
|
|
47
|
-
} from "viem";
|
|
48
|
-
|
|
49
|
-
export type MetaMaskSdkParameters = UnionCompute<
|
|
50
|
-
WagmiMetaMaskSDKOptions &
|
|
51
|
-
OneOf<
|
|
52
|
-
| {
|
|
53
|
-
/* Shortcut to connect and sign a message */
|
|
54
|
-
connectAndSign?: string | undefined;
|
|
55
|
-
}
|
|
56
|
-
| {
|
|
57
|
-
/* Allow `connectWith` any rpc method */
|
|
58
|
-
connectWith?: { method: string; params: unknown[] } | undefined;
|
|
59
|
-
}
|
|
60
|
-
>
|
|
61
|
-
>;
|
|
62
|
-
|
|
63
|
-
type WagmiMetaMaskSDKOptions = Compute<
|
|
64
|
-
ExactPartial<
|
|
65
|
-
Omit<
|
|
66
|
-
MetaMaskSDKOptions,
|
|
67
|
-
| "_source"
|
|
68
|
-
| "forceDeleteProvider"
|
|
69
|
-
| "forceInjectProvider"
|
|
70
|
-
| "injectProvider"
|
|
71
|
-
| "useDeeplink"
|
|
72
|
-
| "readonlyRPCMap"
|
|
73
|
-
>
|
|
74
|
-
> & {
|
|
75
|
-
/** @deprecated */
|
|
76
|
-
forceDeleteProvider?: MetaMaskSDKOptions["forceDeleteProvider"];
|
|
77
|
-
/** @deprecated */
|
|
78
|
-
forceInjectProvider?: MetaMaskSDKOptions["forceInjectProvider"];
|
|
79
|
-
/** @deprecated */
|
|
80
|
-
injectProvider?: MetaMaskSDKOptions["injectProvider"];
|
|
81
|
-
/** @deprecated */
|
|
82
|
-
useDeeplink?: MetaMaskSDKOptions["useDeeplink"];
|
|
83
|
-
}
|
|
84
|
-
>;
|
|
85
|
-
|
|
86
|
-
metaMaskSdk.type = "metaMask" as const;
|
|
87
|
-
export function metaMaskSdk(parameters: MetaMaskSdkParameters = {}) {
|
|
88
|
-
type Provider = SDKProvider;
|
|
89
|
-
type Properties = {
|
|
90
|
-
onConnect(connectInfo: ProviderConnectInfo): void;
|
|
91
|
-
onDisplayUri(uri: string): void;
|
|
92
|
-
};
|
|
93
|
-
type Listener = Parameters<Provider["on"]>[1];
|
|
94
|
-
|
|
95
|
-
let sdk: MetaMaskSDK;
|
|
96
|
-
let provider: Provider | undefined;
|
|
97
|
-
let providerPromise: Promise<typeof provider>;
|
|
98
|
-
|
|
99
|
-
let accountsChanged: Connector["onAccountsChanged"] | undefined;
|
|
100
|
-
let chainChanged: Connector["onChainChanged"] | undefined;
|
|
101
|
-
let connect: Connector["onConnect"] | undefined;
|
|
102
|
-
let displayUri: ((uri: string) => void) | undefined;
|
|
103
|
-
let disconnect: Connector["onDisconnect"] | undefined;
|
|
104
|
-
|
|
105
|
-
return createConnector<Provider, Properties>((config) => ({
|
|
106
|
-
id: "metaMaskSDK",
|
|
107
|
-
name: "MetaMask",
|
|
108
|
-
rdns: ["io.metamask", "io.metamask.mobile"],
|
|
109
|
-
type: metaMaskSdk.type,
|
|
110
|
-
async setup() {
|
|
111
|
-
const provider = await this.getProvider();
|
|
112
|
-
if (provider?.on) {
|
|
113
|
-
if (!connect) {
|
|
114
|
-
connect = this.onConnect.bind(this);
|
|
115
|
-
provider.on("connect", connect as Listener);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Some wallets, like MetaMask, do not implement the `'connect'` event and
|
|
119
|
-
// overload `'accountsChanged'` instead.
|
|
120
|
-
if (!accountsChanged) {
|
|
121
|
-
accountsChanged = this.onAccountsChanged.bind(this);
|
|
122
|
-
provider.on("accountsChanged", accountsChanged as Listener);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
async connect({ chainId, isReconnecting, withCapabilities } = {}) {
|
|
127
|
-
const provider = await this.getProvider();
|
|
128
|
-
if (!displayUri) {
|
|
129
|
-
displayUri = this.onDisplayUri;
|
|
130
|
-
provider.on("display_uri", displayUri as Listener);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
let accounts: readonly Address[] = [];
|
|
134
|
-
if (isReconnecting) accounts = await this.getAccounts().catch(() => []);
|
|
135
|
-
|
|
136
|
-
try {
|
|
137
|
-
let signResponse: string | undefined;
|
|
138
|
-
let connectWithResponse: unknown | undefined;
|
|
139
|
-
if (!accounts?.length) {
|
|
140
|
-
if (parameters.connectAndSign || parameters.connectWith) {
|
|
141
|
-
if (parameters.connectAndSign)
|
|
142
|
-
signResponse = await sdk.connectAndSign({
|
|
143
|
-
msg: parameters.connectAndSign,
|
|
144
|
-
});
|
|
145
|
-
else if (parameters.connectWith)
|
|
146
|
-
connectWithResponse = await sdk.connectWith({
|
|
147
|
-
method: parameters.connectWith.method,
|
|
148
|
-
params: parameters.connectWith.params,
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
accounts = await this.getAccounts();
|
|
152
|
-
} else {
|
|
153
|
-
const requestedAccounts = (await sdk.connect()) as string[];
|
|
154
|
-
accounts = requestedAccounts.map((x) => getAddress(x));
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
// Switch to chain if provided
|
|
158
|
-
let currentChainId = (await this.getChainId()) as number;
|
|
159
|
-
if (chainId && currentChainId !== chainId) {
|
|
160
|
-
const chain = await this.switchChain!({ chainId }).catch((error) => {
|
|
161
|
-
if (error.code === UserRejectedRequestError.code) throw error;
|
|
162
|
-
return { id: currentChainId };
|
|
163
|
-
});
|
|
164
|
-
currentChainId = chain?.id ?? currentChainId;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
if (displayUri) {
|
|
168
|
-
provider.removeListener("display_uri", displayUri);
|
|
169
|
-
displayUri = undefined;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
if (signResponse)
|
|
173
|
-
provider.emit("connectAndSign", {
|
|
174
|
-
accounts,
|
|
175
|
-
chainId: currentChainId,
|
|
176
|
-
signResponse,
|
|
177
|
-
});
|
|
178
|
-
else if (connectWithResponse)
|
|
179
|
-
provider.emit("connectWith", {
|
|
180
|
-
accounts,
|
|
181
|
-
chainId: currentChainId,
|
|
182
|
-
connectWithResponse,
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
// Manage EIP-1193 event listeners
|
|
186
|
-
// https://eips.ethereum.org/EIPS/eip-1193#events
|
|
187
|
-
if (connect) {
|
|
188
|
-
provider.removeListener("connect", connect);
|
|
189
|
-
connect = undefined;
|
|
190
|
-
}
|
|
191
|
-
if (!accountsChanged) {
|
|
192
|
-
accountsChanged = this.onAccountsChanged.bind(this);
|
|
193
|
-
provider.on("accountsChanged", accountsChanged as Listener);
|
|
194
|
-
}
|
|
195
|
-
if (!chainChanged) {
|
|
196
|
-
chainChanged = this.onChainChanged.bind(this);
|
|
197
|
-
provider.on("chainChanged", chainChanged as Listener);
|
|
198
|
-
}
|
|
199
|
-
if (!disconnect) {
|
|
200
|
-
disconnect = this.onDisconnect.bind(this);
|
|
201
|
-
provider.on("disconnect", disconnect as Listener);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
return {
|
|
205
|
-
accounts: (withCapabilities
|
|
206
|
-
? accounts.map((address) => ({ address, capabilities: {} }))
|
|
207
|
-
: accounts) as never,
|
|
208
|
-
chainId: currentChainId,
|
|
209
|
-
};
|
|
210
|
-
} catch (err) {
|
|
211
|
-
const error = err as RpcError;
|
|
212
|
-
if (error.code === UserRejectedRequestError.code) throw new UserRejectedRequestError(error);
|
|
213
|
-
if (error.code === ResourceUnavailableRpcError.code)
|
|
214
|
-
throw new ResourceUnavailableRpcError(error);
|
|
215
|
-
throw error;
|
|
216
|
-
}
|
|
217
|
-
},
|
|
218
|
-
async disconnect() {
|
|
219
|
-
const provider = await this.getProvider();
|
|
220
|
-
|
|
221
|
-
// Manage EIP-1193 event listeners
|
|
222
|
-
if (chainChanged) {
|
|
223
|
-
provider.removeListener("chainChanged", chainChanged);
|
|
224
|
-
chainChanged = undefined;
|
|
225
|
-
}
|
|
226
|
-
if (disconnect) {
|
|
227
|
-
provider.removeListener("disconnect", disconnect);
|
|
228
|
-
disconnect = undefined;
|
|
229
|
-
}
|
|
230
|
-
if (!connect) {
|
|
231
|
-
connect = this.onConnect.bind(this);
|
|
232
|
-
provider.on("connect", connect as Listener);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
await sdk.terminate();
|
|
236
|
-
},
|
|
237
|
-
async getAccounts() {
|
|
238
|
-
const provider = await this.getProvider();
|
|
239
|
-
const accounts = (await provider.request({
|
|
240
|
-
method: "eth_accounts",
|
|
241
|
-
})) as string[];
|
|
242
|
-
return accounts.map((x) => getAddress(x));
|
|
243
|
-
},
|
|
244
|
-
async getChainId() {
|
|
245
|
-
const provider = await this.getProvider();
|
|
246
|
-
const chainId = provider.getChainId() || (await provider?.request({ method: "eth_chainId" }));
|
|
247
|
-
return Number(chainId);
|
|
248
|
-
},
|
|
249
|
-
async getProvider() {
|
|
250
|
-
async function initProvider() {
|
|
251
|
-
// Unwrapping import for Vite compatibility.
|
|
252
|
-
// See: https://github.com/vitejs/vite/issues/9703
|
|
253
|
-
const MetaMaskSDK = await (async () => {
|
|
254
|
-
const { default: SDK } = (await import("@metamask/sdk")) as any; // CJS/ESM interop unwrap
|
|
255
|
-
if (typeof SDK !== "function" && typeof SDK.default === "function")
|
|
256
|
-
return SDK.default as typeof import("@metamask/sdk").MetaMaskSDK;
|
|
257
|
-
return SDK as typeof import("@metamask/sdk").MetaMaskSDK;
|
|
258
|
-
})();
|
|
259
|
-
|
|
260
|
-
const readonlyRPCMap: RPC_URLS_MAP = {};
|
|
261
|
-
for (const chain of config.chains)
|
|
262
|
-
readonlyRPCMap[numberToHex(chain.id)] = extractRpcUrls({
|
|
263
|
-
chain,
|
|
264
|
-
transports: config.transports,
|
|
265
|
-
})?.[0];
|
|
266
|
-
|
|
267
|
-
sdk = new MetaMaskSDK({
|
|
268
|
-
_source: "wagmi",
|
|
269
|
-
forceDeleteProvider: false,
|
|
270
|
-
forceInjectProvider: false,
|
|
271
|
-
injectProvider: false,
|
|
272
|
-
// Workaround cast since MetaMask SDK does not support `'exactOptionalPropertyTypes'`
|
|
273
|
-
...(parameters as RemoveUndefined<typeof parameters>),
|
|
274
|
-
readonlyRPCMap,
|
|
275
|
-
dappMetadata: {
|
|
276
|
-
...parameters.dappMetadata,
|
|
277
|
-
name: parameters.dappMetadata?.name ? parameters.dappMetadata?.name : "wagmi",
|
|
278
|
-
url: parameters.dappMetadata?.url
|
|
279
|
-
? parameters.dappMetadata?.url
|
|
280
|
-
: typeof window !== "undefined"
|
|
281
|
-
? window.location.origin
|
|
282
|
-
: "https://wagmi.sh",
|
|
283
|
-
},
|
|
284
|
-
useDeeplink: parameters.useDeeplink ?? true,
|
|
285
|
-
});
|
|
286
|
-
const result = await sdk.init();
|
|
287
|
-
// On initial load, sometimes `sdk.getProvider` does not return provider.
|
|
288
|
-
// https://github.com/wevm/wagmi/issues/4367
|
|
289
|
-
const provider = (() => {
|
|
290
|
-
if (result?.activeProvider) return result.activeProvider;
|
|
291
|
-
return sdk.getProvider();
|
|
292
|
-
})();
|
|
293
|
-
if (!provider) throw new ProviderNotFoundError();
|
|
294
|
-
return provider;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
if (!provider) {
|
|
298
|
-
if (!providerPromise) providerPromise = initProvider();
|
|
299
|
-
provider = await providerPromise;
|
|
300
|
-
}
|
|
301
|
-
return provider!;
|
|
302
|
-
},
|
|
303
|
-
async isAuthorized() {
|
|
304
|
-
try {
|
|
305
|
-
// MetaMask mobile provider sometimes fails to immediately resolve
|
|
306
|
-
// JSON-RPC requests on page load
|
|
307
|
-
const timeout = 200;
|
|
308
|
-
const accounts = await withRetry(() => withTimeout(() => this.getAccounts(), { timeout }), {
|
|
309
|
-
delay: timeout + 1,
|
|
310
|
-
retryCount: 3,
|
|
311
|
-
});
|
|
312
|
-
return !!accounts.length;
|
|
313
|
-
} catch {
|
|
314
|
-
return false;
|
|
315
|
-
}
|
|
316
|
-
},
|
|
317
|
-
async switchChain({ addEthereumChainParameter, chainId }) {
|
|
318
|
-
const provider = await this.getProvider();
|
|
319
|
-
|
|
320
|
-
const chain = config.chains.find((x) => x.id === chainId);
|
|
321
|
-
if (!chain) throw new SwitchChainError(new ChainNotConfiguredError());
|
|
322
|
-
|
|
323
|
-
try {
|
|
324
|
-
await provider.request({
|
|
325
|
-
method: "wallet_switchEthereumChain",
|
|
326
|
-
params: [{ chainId: numberToHex(chainId) }],
|
|
327
|
-
});
|
|
328
|
-
|
|
329
|
-
// During `'wallet_switchEthereumChain'`, MetaMask makes a `'net_version'` RPC
|
|
330
|
-
// call to the target chain. If this request fails, MetaMask does not emit the
|
|
331
|
-
// `'chainChanged'` event, but will still switch the chain.
|
|
332
|
-
// https://github.com/MetaMask/metamask-extension/issues/24247
|
|
333
|
-
await waitForChainIdToSync();
|
|
334
|
-
await sendAndWaitForChangeEvent(chainId);
|
|
335
|
-
|
|
336
|
-
return chain;
|
|
337
|
-
} catch (err) {
|
|
338
|
-
const error = err as RpcError;
|
|
339
|
-
|
|
340
|
-
if (error.code === UserRejectedRequestError.code) throw new UserRejectedRequestError(error);
|
|
341
|
-
|
|
342
|
-
// Indicates chain is not added to provider
|
|
343
|
-
if (
|
|
344
|
-
error.code === 4902 ||
|
|
345
|
-
// Unwrapping for MetaMask Mobile
|
|
346
|
-
// https://github.com/MetaMask/metamask-mobile/issues/2944#issuecomment-976988719
|
|
347
|
-
(error as ProviderRpcError<{ originalError?: { code: number } }>)?.data?.originalError
|
|
348
|
-
?.code === 4902
|
|
349
|
-
) {
|
|
350
|
-
try {
|
|
351
|
-
await provider.request({
|
|
352
|
-
method: "wallet_addEthereumChain",
|
|
353
|
-
params: [
|
|
354
|
-
{
|
|
355
|
-
blockExplorerUrls: (() => {
|
|
356
|
-
const { default: blockExplorer, ...blockExplorers } =
|
|
357
|
-
chain.blockExplorers ?? {};
|
|
358
|
-
if (addEthereumChainParameter?.blockExplorerUrls)
|
|
359
|
-
return addEthereumChainParameter.blockExplorerUrls;
|
|
360
|
-
if (blockExplorer)
|
|
361
|
-
return [
|
|
362
|
-
blockExplorer.url,
|
|
363
|
-
...Object.values(blockExplorers).map((x) => x.url),
|
|
364
|
-
];
|
|
365
|
-
return;
|
|
366
|
-
})(),
|
|
367
|
-
chainId: numberToHex(chainId),
|
|
368
|
-
chainName: addEthereumChainParameter?.chainName ?? chain.name,
|
|
369
|
-
iconUrls: addEthereumChainParameter?.iconUrls,
|
|
370
|
-
nativeCurrency: addEthereumChainParameter?.nativeCurrency ?? chain.nativeCurrency,
|
|
371
|
-
rpcUrls: (() => {
|
|
372
|
-
if (addEthereumChainParameter?.rpcUrls?.length)
|
|
373
|
-
return addEthereumChainParameter.rpcUrls;
|
|
374
|
-
return [chain.rpcUrls.default?.http[0] ?? ""];
|
|
375
|
-
})(),
|
|
376
|
-
} satisfies AddEthereumChainParameter,
|
|
377
|
-
],
|
|
378
|
-
});
|
|
379
|
-
|
|
380
|
-
await waitForChainIdToSync();
|
|
381
|
-
await sendAndWaitForChangeEvent(chainId);
|
|
382
|
-
|
|
383
|
-
return chain;
|
|
384
|
-
} catch (err) {
|
|
385
|
-
const error = err as RpcError;
|
|
386
|
-
if (error.code === UserRejectedRequestError.code)
|
|
387
|
-
throw new UserRejectedRequestError(error);
|
|
388
|
-
throw new SwitchChainError(error);
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
throw new SwitchChainError(error);
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
async function waitForChainIdToSync() {
|
|
396
|
-
// On mobile, there is a race condition between the result of
|
|
397
|
-
// `'wallet_addEthereumChain'` and `'eth_chainId'`, so retry until they agree.
|
|
398
|
-
await withRetry(
|
|
399
|
-
async () => {
|
|
400
|
-
const value = hexToNumber(
|
|
401
|
-
// `'eth_chainId'` is cached by the MetaMask SDK side to avoid unnecessary deeplinks
|
|
402
|
-
(await provider.request({ method: "eth_chainId" })) as Hex,
|
|
403
|
-
);
|
|
404
|
-
// `value` doesn't match expected `chainId`, throw to trigger retry
|
|
405
|
-
if (value !== chainId) throw new Error("User rejected switch after adding network.");
|
|
406
|
-
return value;
|
|
407
|
-
},
|
|
408
|
-
{
|
|
409
|
-
delay: 50,
|
|
410
|
-
retryCount: 20, // android device encryption is slower
|
|
411
|
-
},
|
|
412
|
-
);
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
async function sendAndWaitForChangeEvent(chainId: number) {
|
|
416
|
-
await new Promise<void>((resolve) => {
|
|
417
|
-
const listener = ((data) => {
|
|
418
|
-
if ("chainId" in data && data.chainId === chainId) {
|
|
419
|
-
config.emitter.off("change", listener);
|
|
420
|
-
resolve();
|
|
421
|
-
}
|
|
422
|
-
}) satisfies Parameters<typeof config.emitter.on>[1];
|
|
423
|
-
config.emitter.on("change", listener);
|
|
424
|
-
config.emitter.emit("change", { chainId });
|
|
425
|
-
});
|
|
426
|
-
}
|
|
427
|
-
},
|
|
428
|
-
async onAccountsChanged(accounts) {
|
|
429
|
-
// Disconnect if there are no accounts
|
|
430
|
-
if (accounts.length === 0) {
|
|
431
|
-
// ... and using browser extension
|
|
432
|
-
if (sdk.isExtensionActive()) this.onDisconnect();
|
|
433
|
-
// FIXME(upstream): Mobile app sometimes emits invalid `accountsChanged` event with empty accounts array
|
|
434
|
-
else return;
|
|
435
|
-
}
|
|
436
|
-
// Connect if emitter is listening for connect event (e.g. is disconnected and connects through wallet interface)
|
|
437
|
-
else if (config.emitter.listenerCount("connect")) {
|
|
438
|
-
const chainId = (await this.getChainId()).toString();
|
|
439
|
-
this.onConnect({ chainId });
|
|
440
|
-
}
|
|
441
|
-
// Regular change event
|
|
442
|
-
else
|
|
443
|
-
config.emitter.emit("change", {
|
|
444
|
-
accounts: accounts.map((x) => getAddress(x)),
|
|
445
|
-
});
|
|
446
|
-
},
|
|
447
|
-
onChainChanged(chain) {
|
|
448
|
-
const chainId = Number(chain);
|
|
449
|
-
config.emitter.emit("change", { chainId });
|
|
450
|
-
},
|
|
451
|
-
async onConnect(connectInfo) {
|
|
452
|
-
const accounts = await this.getAccounts();
|
|
453
|
-
if (accounts.length === 0) return;
|
|
454
|
-
|
|
455
|
-
const chainId = Number(connectInfo.chainId);
|
|
456
|
-
config.emitter.emit("connect", { accounts, chainId });
|
|
457
|
-
|
|
458
|
-
const provider = await this.getProvider();
|
|
459
|
-
if (connect) {
|
|
460
|
-
provider.removeListener("connect", connect);
|
|
461
|
-
connect = undefined;
|
|
462
|
-
}
|
|
463
|
-
if (!accountsChanged) {
|
|
464
|
-
accountsChanged = this.onAccountsChanged.bind(this);
|
|
465
|
-
provider.on("accountsChanged", accountsChanged as Listener);
|
|
466
|
-
}
|
|
467
|
-
if (!chainChanged) {
|
|
468
|
-
chainChanged = this.onChainChanged.bind(this);
|
|
469
|
-
provider.on("chainChanged", chainChanged as Listener);
|
|
470
|
-
}
|
|
471
|
-
if (!disconnect) {
|
|
472
|
-
disconnect = this.onDisconnect.bind(this);
|
|
473
|
-
provider.on("disconnect", disconnect as Listener);
|
|
474
|
-
}
|
|
475
|
-
},
|
|
476
|
-
async onDisconnect(error) {
|
|
477
|
-
const provider = await this.getProvider();
|
|
478
|
-
|
|
479
|
-
// If MetaMask emits a `code: 1013` error, wait for reconnection before disconnecting
|
|
480
|
-
// https://github.com/MetaMask/providers/pull/120
|
|
481
|
-
if (error && (error as RpcError<1013>).code === 1013) {
|
|
482
|
-
if (provider && !!(await this.getAccounts()).length) return;
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
config.emitter.emit("disconnect");
|
|
486
|
-
|
|
487
|
-
// Manage EIP-1193 event listeners
|
|
488
|
-
if (chainChanged) {
|
|
489
|
-
provider.removeListener("chainChanged", chainChanged);
|
|
490
|
-
chainChanged = undefined;
|
|
491
|
-
}
|
|
492
|
-
if (disconnect) {
|
|
493
|
-
provider.removeListener("disconnect", disconnect);
|
|
494
|
-
disconnect = undefined;
|
|
495
|
-
}
|
|
496
|
-
if (!connect) {
|
|
497
|
-
connect = this.onConnect.bind(this);
|
|
498
|
-
provider.on("connect", connect as Listener);
|
|
499
|
-
}
|
|
500
|
-
},
|
|
501
|
-
onDisplayUri(uri) {
|
|
502
|
-
config.emitter.emit("message", { type: "display_uri", data: uri });
|
|
503
|
-
},
|
|
504
|
-
}));
|
|
505
|
-
}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* DEPRECATED
|
|
3
|
-
*
|
|
4
|
-
* This file is no longer in use and will be removed in the future.
|
|
5
|
-
* Keeping it here for reference purposes only.
|
|
6
|
-
*/
|
|
7
|
-
/*
|
|
8
|
-
import { useState, useEffect } from 'react';
|
|
9
|
-
|
|
10
|
-
import { Connector, useAccount } from 'wagmi';
|
|
11
|
-
import { useConnect } from './../useConnect';
|
|
12
|
-
import { useContext } from '@multiplatform.one/connectkit';
|
|
13
|
-
import { useCoinbaseWalletConnector } from './../useConnectors';
|
|
14
|
-
import { useWallet } from '../../wallets/useWallets';
|
|
15
|
-
|
|
16
|
-
type Props = {
|
|
17
|
-
enabled?: boolean;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export function useCoinbaseWalletUri(
|
|
21
|
-
{ enabled }: Props = {
|
|
22
|
-
enabled: true,
|
|
23
|
-
}
|
|
24
|
-
) {
|
|
25
|
-
const { log } = useContext();
|
|
26
|
-
|
|
27
|
-
const [uri, setUri] = useState<string | undefined>(undefined);
|
|
28
|
-
|
|
29
|
-
const connector = useCoinbaseWalletConnector();
|
|
30
|
-
const wallet = useWallet('com.coinbase.wallet');
|
|
31
|
-
const shouldConnect = enabled && !wallet;
|
|
32
|
-
|
|
33
|
-
const { isConnected } = useAccount();
|
|
34
|
-
const { connectAsync } = useConnect();
|
|
35
|
-
|
|
36
|
-
useEffect(() => {
|
|
37
|
-
if (!shouldConnect) return;
|
|
38
|
-
|
|
39
|
-
async function handleMessage(message) {
|
|
40
|
-
const { type } = message;
|
|
41
|
-
log('CBW Message', message);
|
|
42
|
-
if (type === 'connecting') {
|
|
43
|
-
const p: any = await connector.getProvider();
|
|
44
|
-
if (p?.qrUrl) setUri(p.qrUrl);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
async function handleDisconnect() {
|
|
48
|
-
log('CBW Disconnect');
|
|
49
|
-
|
|
50
|
-
if (connector) connectWallet(connector);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
async function connectWallet(connector: Connector) {
|
|
54
|
-
const result = await connectAsync({ connector });
|
|
55
|
-
if (result) return result;
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async function connectCoinbaseWallet(connector: Connector) {
|
|
60
|
-
try {
|
|
61
|
-
await connectWallet(connector);
|
|
62
|
-
} catch (error: any) {
|
|
63
|
-
log('catch error');
|
|
64
|
-
log(error);
|
|
65
|
-
if (error.code) {
|
|
66
|
-
switch (error.code) {
|
|
67
|
-
case 4001:
|
|
68
|
-
log('error.code - User rejected');
|
|
69
|
-
connectCoinbaseWallet(connector); // Regenerate QR code
|
|
70
|
-
break;
|
|
71
|
-
default:
|
|
72
|
-
log('error.code - Unknown Error');
|
|
73
|
-
break;
|
|
74
|
-
}
|
|
75
|
-
} else {
|
|
76
|
-
// Sometimes the error doesn't respond with a code
|
|
77
|
-
log('Coinbase Wallet cannot connect.', error);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (!connector || uri) return;
|
|
83
|
-
if (connector && !isConnected) {
|
|
84
|
-
connectCoinbaseWallet(connector);
|
|
85
|
-
log('add wc listeners');
|
|
86
|
-
connector.emitter.on('message', handleMessage);
|
|
87
|
-
connector.emitter.on('disconnect', handleDisconnect);
|
|
88
|
-
return () => {
|
|
89
|
-
log('remove wc listeners');
|
|
90
|
-
connector.emitter.off('message', handleMessage);
|
|
91
|
-
connector.emitter.off('disconnect', handleDisconnect);
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
}, [shouldConnect, connector, isConnected]);
|
|
95
|
-
|
|
96
|
-
return {
|
|
97
|
-
uri,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
*/
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect } from "react";
|
|
2
|
-
|
|
3
|
-
import { Connector, useAccount } from "wagmi";
|
|
4
|
-
import { useContext } from "@multiplatform.one/connectkit";
|
|
5
|
-
import { useConnect } from "../useConnect";
|
|
6
|
-
import { useWalletConnectConnector } from "./../useConnectors";
|
|
7
|
-
|
|
8
|
-
type Props = {
|
|
9
|
-
enabled?: boolean;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export function useWalletConnectUri(
|
|
13
|
-
{ enabled }: Props = {
|
|
14
|
-
enabled: true,
|
|
15
|
-
},
|
|
16
|
-
) {
|
|
17
|
-
const { log } = useContext();
|
|
18
|
-
|
|
19
|
-
const [uri, setUri] = useState<string | undefined>(undefined);
|
|
20
|
-
|
|
21
|
-
const connector = useWalletConnectConnector();
|
|
22
|
-
|
|
23
|
-
const { isConnected } = useAccount();
|
|
24
|
-
const { connectAsync } = useConnect();
|
|
25
|
-
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
if (!enabled) return;
|
|
28
|
-
|
|
29
|
-
async function handleMessage(message) {
|
|
30
|
-
const { type, data } = message;
|
|
31
|
-
log("WC Message", type, data);
|
|
32
|
-
if (type === "display_uri") {
|
|
33
|
-
setUri(data);
|
|
34
|
-
}
|
|
35
|
-
/*
|
|
36
|
-
// This has the URI as well, but we're probably better off using the one in the display_uri event
|
|
37
|
-
if (type === 'connecting') {
|
|
38
|
-
const p = await connector.getProvider();
|
|
39
|
-
const uri = p.signer.uri;
|
|
40
|
-
setConnectorUri(uri);
|
|
41
|
-
}
|
|
42
|
-
*/
|
|
43
|
-
}
|
|
44
|
-
async function handleDisconnect() {
|
|
45
|
-
log("WC Disconnect");
|
|
46
|
-
|
|
47
|
-
if (connector) connectWallet(connector);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
async function connectWallet(connector: Connector) {
|
|
51
|
-
const result = await connectAsync({ connector });
|
|
52
|
-
if (result) return result;
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
async function connectWalletConnect(connector: Connector) {
|
|
57
|
-
try {
|
|
58
|
-
await connectWallet(connector);
|
|
59
|
-
} catch (error: any) {
|
|
60
|
-
log("catch error");
|
|
61
|
-
log(error);
|
|
62
|
-
if (error.code) {
|
|
63
|
-
switch (error.code) {
|
|
64
|
-
case 4001:
|
|
65
|
-
log("error.code - User rejected");
|
|
66
|
-
connectWalletConnect(connector); // Regenerate QR code
|
|
67
|
-
break;
|
|
68
|
-
default:
|
|
69
|
-
log("error.code - Unknown Error");
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
} else {
|
|
73
|
-
// Sometimes the error doesn't respond with a code
|
|
74
|
-
log("WalletConnect cannot connect.", error);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (isConnected) {
|
|
79
|
-
setUri(undefined);
|
|
80
|
-
} else {
|
|
81
|
-
if (!connector || uri) return;
|
|
82
|
-
if (connector && !isConnected) {
|
|
83
|
-
connectWalletConnect(connector);
|
|
84
|
-
log("add wc listeners");
|
|
85
|
-
connector.emitter.on("message", handleMessage);
|
|
86
|
-
connector.emitter.on("disconnect", handleDisconnect);
|
|
87
|
-
return () => {
|
|
88
|
-
log("remove wc listeners");
|
|
89
|
-
connector.emitter.off("message", handleMessage);
|
|
90
|
-
connector.emitter.off("disconnect", handleDisconnect);
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}, [enabled, connector, isConnected]);
|
|
95
|
-
|
|
96
|
-
return {
|
|
97
|
-
uri,
|
|
98
|
-
};
|
|
99
|
-
}
|