@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.
Files changed (565) hide show
  1. package/README.md +49 -4
  2. package/dist/cjs/bridge/BridgeClient.native.js.map +1 -1
  3. package/dist/cjs/bridge/BridgeHost.native.js.map +1 -1
  4. package/dist/cjs/bridge/SolanaBridge.native.js.map +1 -1
  5. package/dist/cjs/bridge/base64.native.js.map +1 -1
  6. package/dist/cjs/bridge/bridgeConnector.native.js.map +1 -1
  7. package/dist/cjs/bridge/eip1193.native.js.map +1 -1
  8. package/dist/cjs/bridge/index.native.js.map +1 -1
  9. package/dist/cjs/bridge/postMessageTransport.native.js.map +1 -1
  10. package/dist/cjs/bridge/protocol.native.js.map +1 -1
  11. package/dist/cjs/bridge/transport.native.js.map +1 -1
  12. package/dist/cjs/bundler/metaMaskConnectTimeouts.cjs +92 -0
  13. package/dist/cjs/bundler/metaMaskConnectTimeouts.native.js +123 -0
  14. package/dist/cjs/bundler/metaMaskConnectTimeouts.native.js.map +1 -0
  15. package/dist/cjs/clients/adapter.native.js.map +1 -1
  16. package/dist/cjs/clients/bitcoin.native.js.map +1 -1
  17. package/dist/cjs/clients/connector.native.js.map +1 -1
  18. package/dist/cjs/clients/evm.native.js.map +1 -1
  19. package/dist/cjs/clients/gpg.native.js.map +1 -1
  20. package/dist/cjs/clients/hooks.native.js.map +1 -1
  21. package/dist/cjs/clients/index.native.js.map +1 -1
  22. package/dist/cjs/clients/solana.native.js.map +1 -1
  23. package/dist/cjs/clients/solanaMessage.native.js.map +1 -1
  24. package/dist/cjs/clients/sui.native.js.map +1 -1
  25. package/dist/cjs/clients/types.native.js.map +1 -1
  26. package/dist/cjs/clients/useSolanaClient.native.js.map +1 -1
  27. package/dist/cjs/clients/walletStandard.native.js.map +1 -1
  28. package/dist/cjs/components/NetworkSwitcher.native.js.map +1 -1
  29. package/dist/cjs/components/TransactionStatus.native.js.map +1 -1
  30. package/dist/cjs/components/index.native.js.map +1 -1
  31. package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  32. package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  33. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  34. package/dist/cjs/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  35. package/dist/cjs/connectkit/adapters/discover.native.js.map +1 -1
  36. package/dist/cjs/connectkit/adapters/index.native.js.map +1 -1
  37. package/dist/cjs/connectkit/adapters/messages.native.js.map +1 -1
  38. package/dist/cjs/connectkit/adapters/types.native.js.map +1 -1
  39. package/dist/cjs/connectkit/assets/chains.native.js.map +1 -1
  40. package/dist/cjs/connectkit/components/BalanceButton/index.native.js +1 -1
  41. package/dist/cjs/connectkit/components/BalanceButton/index.native.js.map +1 -1
  42. package/dist/cjs/connectkit/components/Common/Avatar/index.native.js.map +1 -1
  43. package/dist/cjs/connectkit/components/Common/Avatar/styles.native.js.map +1 -1
  44. package/dist/cjs/connectkit/components/Common/Chain/index.native.js.map +1 -1
  45. package/dist/cjs/connectkit/components/Common/Chain/styles.native.js.map +1 -1
  46. package/dist/cjs/connectkit/components/Common/ChainSelect/index.native.js +2 -2
  47. package/dist/cjs/connectkit/components/Common/ChainSelect/index.native.js.map +1 -1
  48. package/dist/cjs/connectkit/components/Common/ChainSelectDropdown/index.native.js +1 -1
  49. package/dist/cjs/connectkit/components/Common/ChainSelectDropdown/index.native.js.map +1 -1
  50. package/dist/cjs/connectkit/components/Common/ChainSelectDropdown/styles.native.js.map +1 -1
  51. package/dist/cjs/connectkit/components/Common/ChainSelectList/index.native.js.map +1 -1
  52. package/dist/cjs/connectkit/components/Common/ChainSelectList/styles.native.js.map +1 -1
  53. package/dist/cjs/connectkit/components/Common/ConnectorList/index.cjs +10 -29
  54. package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js +11 -32
  55. package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
  56. package/dist/cjs/connectkit/components/Common/ConnectorList/styles.native.js.map +1 -1
  57. package/dist/cjs/connectkit/components/ConnectButton/index.native.js +4 -4
  58. package/dist/cjs/connectkit/components/ConnectButton/index.native.js.map +1 -1
  59. package/dist/cjs/connectkit/components/ConnectButton/styles.native.js.map +1 -1
  60. package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.cjs +4 -38
  61. package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.native.js +5 -43
  62. package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.native.js.map +1 -1
  63. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/index.native.js.map +1 -1
  64. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/styles.native.js.map +1 -1
  65. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/index.native.js.map +1 -1
  66. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/styles.native.js.map +1 -1
  67. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.cjs +0 -14
  68. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +10 -65
  69. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
  70. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/styles.native.js.map +1 -1
  71. package/dist/cjs/connectkit/components/ConnectModal/demo.cjs +0 -15
  72. package/dist/cjs/connectkit/components/ConnectModal/demo.native.js +9 -24
  73. package/dist/cjs/connectkit/components/ConnectModal/demo.native.js.map +1 -1
  74. package/dist/cjs/connectkit/components/NetworkButton/index.native.js +2 -2
  75. package/dist/cjs/connectkit/components/NetworkButton/index.native.js.map +1 -1
  76. package/dist/cjs/connectkit/components/Pages/About/graphics.native.js.map +1 -1
  77. package/dist/cjs/connectkit/components/Pages/About/index.native.js.map +1 -1
  78. package/dist/cjs/connectkit/components/Pages/About/styles.native.js.map +1 -1
  79. package/dist/cjs/connectkit/components/Pages/Connectors/index.native.js +1 -1
  80. package/dist/cjs/connectkit/components/Pages/Connectors/index.native.js.map +1 -1
  81. package/dist/cjs/connectkit/components/Pages/Connectors/styles.native.js.map +1 -1
  82. package/dist/cjs/connectkit/components/Pages/DownloadApp/index.native.js.map +1 -1
  83. package/dist/cjs/connectkit/components/Pages/Onboarding/index.native.js.map +1 -1
  84. package/dist/cjs/connectkit/components/Pages/Onboarding/styles.native.js.map +1 -1
  85. package/dist/cjs/connectkit/components/Pages/Profile/index.native.js +2 -2
  86. package/dist/cjs/connectkit/components/Pages/Profile/index.native.js.map +1 -1
  87. package/dist/cjs/connectkit/components/Pages/Profile/styles.native.js.map +1 -1
  88. package/dist/cjs/connectkit/components/Pages/SignInWithEthereum/index.native.js +3 -3
  89. package/dist/cjs/connectkit/components/Pages/SignInWithEthereum/index.native.js.map +1 -1
  90. package/dist/cjs/connectkit/components/Pages/SignInWithEthereum/styles.native.js.map +1 -1
  91. package/dist/cjs/connectkit/components/Pages/SwitchNetworks/index.native.js +1 -1
  92. package/dist/cjs/connectkit/components/Pages/SwitchNetworks/index.native.js.map +1 -1
  93. package/dist/cjs/connectkit/components/Standard/SIWE/index.native.js +1 -1
  94. package/dist/cjs/connectkit/components/Standard/SIWE/index.native.js.map +1 -1
  95. package/dist/cjs/connectkit/components/Standard/SIWE/styles.native.js.map +1 -1
  96. package/dist/cjs/connectkit/components/contexts/web3/index.cjs +0 -15
  97. package/dist/cjs/connectkit/components/contexts/web3/index.native.js +0 -17
  98. package/dist/cjs/connectkit/components/contexts/web3/index.native.js.map +1 -1
  99. package/dist/cjs/connectkit/connectors/aaveAccountConnector.cjs +57 -0
  100. package/dist/cjs/connectkit/connectors/aaveAccountConnector.native.js +67 -0
  101. package/dist/cjs/connectkit/connectors/aaveAccountConnector.native.js.map +1 -0
  102. package/dist/cjs/connectkit/connectors/createWalletMessage.native.js.map +1 -1
  103. package/dist/cjs/connectkit/connectors/embeddedDesktop.cjs +1 -1
  104. package/dist/cjs/connectkit/connectors/embeddedDesktop.native.js +1 -1
  105. package/dist/cjs/connectkit/connectors/embeddedDesktop.native.js.map +1 -1
  106. package/dist/cjs/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  107. package/dist/cjs/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
  108. package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.cjs +255 -0
  109. package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js +315 -0
  110. package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -0
  111. package/dist/cjs/connectkit/connectors/syntheticChains.native.js.map +1 -1
  112. package/dist/cjs/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
  113. package/dist/cjs/connectkit/constants/chainConfigs.native.js.map +1 -1
  114. package/dist/cjs/connectkit/defaultConfig.cjs +8 -2
  115. package/dist/cjs/connectkit/defaultConfig.native.js +8 -2
  116. package/dist/cjs/connectkit/defaultConfig.native.js.map +1 -1
  117. package/dist/cjs/connectkit/defaultConnectors.cjs +19 -37
  118. package/dist/cjs/connectkit/defaultConnectors.native.js +19 -37
  119. package/dist/cjs/connectkit/defaultConnectors.native.js.map +1 -1
  120. package/dist/cjs/connectkit/defaultTransports.native.js.map +1 -1
  121. package/dist/cjs/connectkit/hooks/useChainIsSupported.native.js.map +1 -1
  122. package/dist/cjs/connectkit/hooks/useChains.native.js.map +1 -1
  123. package/dist/cjs/connectkit/hooks/useConnect.native.js.map +1 -1
  124. package/dist/cjs/connectkit/hooks/useConnectCallback.native.js.map +1 -1
  125. package/dist/cjs/connectkit/hooks/useConnectors.cjs +1 -5
  126. package/dist/cjs/connectkit/hooks/useConnectors.native.js +1 -5
  127. package/dist/cjs/connectkit/hooks/useConnectors.native.js.map +1 -1
  128. package/dist/cjs/connectkit/hooks/useEnsFallbackConfig.native.js.map +1 -1
  129. package/dist/cjs/connectkit/hooks/useLastConnector.native.js.map +1 -1
  130. package/dist/cjs/connectkit/index.cjs +2 -0
  131. package/dist/cjs/connectkit/index.native.js +10 -8
  132. package/dist/cjs/connectkit/index.native.js.map +1 -1
  133. package/dist/cjs/connectkit/openConnector/context.native.js.map +1 -1
  134. package/dist/cjs/connectkit/openConnector/device.native.js.map +1 -1
  135. package/dist/cjs/connectkit/openConnector/index.native.js.map +1 -1
  136. package/dist/cjs/connectkit/openConnector/launcher.native.js.map +1 -1
  137. package/dist/cjs/connectkit/profileHeaderAction.native.js +1 -1
  138. package/dist/cjs/connectkit/profileHeaderAction.native.js.map +1 -1
  139. package/dist/cjs/connectkit/screens.cjs +1 -14
  140. package/dist/cjs/connectkit/screens.native.js +23 -40
  141. package/dist/cjs/connectkit/screens.native.js.map +1 -1
  142. package/dist/cjs/connectkit/siwe/SIWEContext.native.js.map +1 -1
  143. package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +3 -2
  144. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +6 -4
  145. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  146. package/dist/cjs/connectkit/siwe/connectIntent.native.js.map +1 -1
  147. package/dist/cjs/connectkit/siwe/index.native.js.map +1 -1
  148. package/dist/cjs/connectkit/siwe/useSIWE.native.js.map +1 -1
  149. package/dist/cjs/connectkit/useWeb3Modal.native.js +2 -2
  150. package/dist/cjs/connectkit/useWeb3Modal.native.js.map +1 -1
  151. package/dist/cjs/connectkit/wallets/index.cjs +4 -3
  152. package/dist/cjs/connectkit/wallets/index.native.js +4 -3
  153. package/dist/cjs/connectkit/wallets/index.native.js.map +1 -1
  154. package/dist/cjs/connectkit/wallets/useWallets.cjs +7 -22
  155. package/dist/cjs/connectkit/wallets/useWallets.native.js +6 -22
  156. package/dist/cjs/connectkit/wallets/useWallets.native.js.map +1 -1
  157. package/dist/cjs/connectkit/wallets/walletConfigs.cjs +3 -62
  158. package/dist/cjs/connectkit/wallets/walletConfigs.native.js +2 -65
  159. package/dist/cjs/connectkit/wallets/walletConfigs.native.js.map +1 -1
  160. package/dist/cjs/connectkit/web3Bridge.cjs +2 -6
  161. package/dist/cjs/connectkit/web3Bridge.native.js +4 -9
  162. package/dist/cjs/connectkit/web3Bridge.native.js.map +1 -1
  163. package/dist/cjs/connectkit/web3Provider.native.js.map +1 -1
  164. package/dist/cjs/esbuild.cjs +54 -0
  165. package/dist/cjs/esbuild.native.js +57 -0
  166. package/dist/cjs/esbuild.native.js.map +1 -0
  167. package/dist/cjs/examples/LockContract.native.js.map +1 -1
  168. package/dist/cjs/examples/index.native.js.map +1 -1
  169. package/dist/cjs/hooks/index.native.js.map +1 -1
  170. package/dist/cjs/hooks/useContractRead.native.js.map +1 -1
  171. package/dist/cjs/hooks/useContractWrite.native.js.map +1 -1
  172. package/dist/cjs/hooks/useWallet.cjs +1 -2
  173. package/dist/cjs/hooks/useWallet.native.js +1 -4
  174. package/dist/cjs/hooks/useWallet.native.js.map +1 -1
  175. package/dist/cjs/index.native.js +6 -6
  176. package/dist/cjs/index.native.js.map +1 -1
  177. package/dist/cjs/providers/WalletProvider.cjs +1 -2
  178. package/dist/cjs/providers/index.native.js.map +1 -1
  179. package/dist/cjs/providers/mockConnector.native.js.map +1 -1
  180. package/dist/cjs/providers/native/deepLink.cjs +1 -1
  181. package/dist/cjs/providers/native/deepLink.native.js +1 -1
  182. package/dist/cjs/providers/native/deepLink.native.js.map +1 -1
  183. package/dist/cjs/providers/native/inject.native.js.map +1 -1
  184. package/dist/cjs/providers/native/visibility.native.js.map +1 -1
  185. package/dist/cjs/providers/walletConfig.native.js.map +1 -1
  186. package/dist/cjs/siws/index.native.js.map +1 -1
  187. package/dist/cjs/siws/message.native.js.map +1 -1
  188. package/dist/cjs/siws/signWithBridge.native.js.map +1 -1
  189. package/dist/cjs/siws/verify.native.js.map +1 -1
  190. package/dist/cjs/solana.native.js.map +1 -1
  191. package/dist/cjs/vite.cjs +76 -0
  192. package/dist/cjs/vite.native.js +79 -0
  193. package/dist/cjs/vite.native.js.map +1 -0
  194. package/dist/esm/bundler/metaMaskConnectTimeouts.mjs +64 -0
  195. package/dist/esm/bundler/metaMaskConnectTimeouts.mjs.map +1 -0
  196. package/dist/esm/bundler/metaMaskConnectTimeouts.native.js +92 -0
  197. package/dist/esm/bundler/metaMaskConnectTimeouts.native.js.map +1 -0
  198. package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs +11 -30
  199. package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
  200. package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js +12 -33
  201. package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
  202. package/dist/esm/connectkit/components/ConnectModal/ConnectUsing.mjs +4 -38
  203. package/dist/esm/connectkit/components/ConnectModal/ConnectUsing.mjs.map +1 -1
  204. package/dist/esm/connectkit/components/ConnectModal/ConnectUsing.native.js +4 -42
  205. package/dist/esm/connectkit/components/ConnectModal/ConnectUsing.native.js.map +1 -1
  206. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +1 -15
  207. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
  208. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +8 -63
  209. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
  210. package/dist/esm/connectkit/components/ConnectModal/demo.mjs +0 -15
  211. package/dist/esm/connectkit/components/ConnectModal/demo.mjs.map +1 -1
  212. package/dist/esm/connectkit/components/ConnectModal/demo.native.js +0 -15
  213. package/dist/esm/connectkit/components/ConnectModal/demo.native.js.map +1 -1
  214. package/dist/esm/connectkit/components/contexts/web3/index.mjs +0 -15
  215. package/dist/esm/connectkit/components/contexts/web3/index.mjs.map +1 -1
  216. package/dist/esm/connectkit/components/contexts/web3/index.native.js +0 -17
  217. package/dist/esm/connectkit/components/contexts/web3/index.native.js.map +1 -1
  218. package/dist/esm/connectkit/connectors/aaveAccountConnector.mjs +31 -0
  219. package/dist/esm/connectkit/connectors/aaveAccountConnector.mjs.map +1 -0
  220. package/dist/esm/connectkit/connectors/aaveAccountConnector.native.js +38 -0
  221. package/dist/esm/connectkit/connectors/aaveAccountConnector.native.js.map +1 -0
  222. package/dist/esm/connectkit/connectors/embeddedDesktop.mjs +1 -1
  223. package/dist/esm/connectkit/connectors/embeddedDesktop.mjs.map +1 -1
  224. package/dist/esm/connectkit/connectors/embeddedDesktop.native.js +1 -1
  225. package/dist/esm/connectkit/connectors/embeddedDesktop.native.js.map +1 -1
  226. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs +216 -0
  227. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -0
  228. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js +273 -0
  229. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -0
  230. package/dist/esm/connectkit/defaultConfig.mjs +8 -2
  231. package/dist/esm/connectkit/defaultConfig.mjs.map +1 -1
  232. package/dist/esm/connectkit/defaultConfig.native.js +8 -2
  233. package/dist/esm/connectkit/defaultConfig.native.js.map +1 -1
  234. package/dist/esm/connectkit/defaultConnectors.mjs +16 -34
  235. package/dist/esm/connectkit/defaultConnectors.mjs.map +1 -1
  236. package/dist/esm/connectkit/defaultConnectors.native.js +16 -34
  237. package/dist/esm/connectkit/defaultConnectors.native.js.map +1 -1
  238. package/dist/esm/connectkit/hooks/useConnectors.mjs +1 -4
  239. package/dist/esm/connectkit/hooks/useConnectors.mjs.map +1 -1
  240. package/dist/esm/connectkit/hooks/useConnectors.native.js +1 -4
  241. package/dist/esm/connectkit/hooks/useConnectors.native.js.map +1 -1
  242. package/dist/esm/connectkit/index.mjs +2 -1
  243. package/dist/esm/connectkit/index.mjs.map +1 -1
  244. package/dist/esm/connectkit/index.native.js +2 -1
  245. package/dist/esm/connectkit/index.native.js.map +1 -1
  246. package/dist/esm/connectkit/screens.mjs +1 -14
  247. package/dist/esm/connectkit/screens.mjs.map +1 -1
  248. package/dist/esm/connectkit/screens.native.js +16 -33
  249. package/dist/esm/connectkit/screens.native.js.map +1 -1
  250. package/dist/esm/connectkit/siwe/SIWEProvider.mjs +3 -2
  251. package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  252. package/dist/esm/connectkit/siwe/SIWEProvider.native.js +6 -4
  253. package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  254. package/dist/esm/connectkit/wallets/index.mjs +3 -2
  255. package/dist/esm/connectkit/wallets/index.mjs.map +1 -1
  256. package/dist/esm/connectkit/wallets/index.native.js +3 -2
  257. package/dist/esm/connectkit/wallets/index.native.js.map +1 -1
  258. package/dist/esm/connectkit/wallets/useWallets.mjs +2 -17
  259. package/dist/esm/connectkit/wallets/useWallets.mjs.map +1 -1
  260. package/dist/esm/connectkit/wallets/useWallets.native.js +1 -17
  261. package/dist/esm/connectkit/wallets/useWallets.native.js.map +1 -1
  262. package/dist/esm/connectkit/wallets/walletConfigs.mjs +4 -63
  263. package/dist/esm/connectkit/wallets/walletConfigs.mjs.map +1 -1
  264. package/dist/esm/connectkit/wallets/walletConfigs.native.js +3 -66
  265. package/dist/esm/connectkit/wallets/walletConfigs.native.js.map +1 -1
  266. package/dist/esm/connectkit/web3Bridge.mjs +3 -7
  267. package/dist/esm/connectkit/web3Bridge.mjs.map +1 -1
  268. package/dist/esm/connectkit/web3Bridge.native.js +3 -8
  269. package/dist/esm/connectkit/web3Bridge.native.js.map +1 -1
  270. package/dist/esm/esbuild.mjs +29 -0
  271. package/dist/esm/esbuild.mjs.map +1 -0
  272. package/dist/esm/esbuild.native.js +29 -0
  273. package/dist/esm/esbuild.native.js.map +1 -0
  274. package/dist/esm/hooks/useWallet.mjs +1 -2
  275. package/dist/esm/hooks/useWallet.mjs.map +1 -1
  276. package/dist/esm/hooks/useWallet.native.js +1 -4
  277. package/dist/esm/hooks/useWallet.native.js.map +1 -1
  278. package/dist/esm/providers/WalletProvider.mjs +1 -2
  279. package/dist/esm/providers/WalletProvider.mjs.map +1 -1
  280. package/dist/esm/providers/native/deepLink.mjs +1 -1
  281. package/dist/esm/providers/native/deepLink.mjs.map +1 -1
  282. package/dist/esm/providers/native/deepLink.native.js +1 -1
  283. package/dist/esm/providers/native/deepLink.native.js.map +1 -1
  284. package/dist/esm/providers/walletConfig.mjs.map +1 -1
  285. package/dist/esm/providers/walletConfig.native.js.map +1 -1
  286. package/dist/esm/vite.mjs +51 -0
  287. package/dist/esm/vite.mjs.map +1 -0
  288. package/dist/esm/vite.native.js +51 -0
  289. package/dist/esm/vite.native.js.map +1 -0
  290. package/dist/jsx/bundler/metaMaskConnectTimeouts.mjs +64 -0
  291. package/dist/jsx/bundler/metaMaskConnectTimeouts.mjs.map +1 -0
  292. package/dist/jsx/bundler/metaMaskConnectTimeouts.native.js +123 -0
  293. package/dist/jsx/bundler/metaMaskConnectTimeouts.native.js.map +1 -0
  294. package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs +11 -30
  295. package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
  296. package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js +11 -32
  297. package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
  298. package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.mjs +4 -38
  299. package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.mjs.map +1 -1
  300. package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.native.js +4 -42
  301. package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.native.js.map +1 -1
  302. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +1 -15
  303. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
  304. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +7 -62
  305. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
  306. package/dist/jsx/connectkit/components/ConnectModal/demo.mjs +0 -15
  307. package/dist/jsx/connectkit/components/ConnectModal/demo.mjs.map +1 -1
  308. package/dist/jsx/connectkit/components/ConnectModal/demo.native.js +0 -15
  309. package/dist/jsx/connectkit/components/ConnectModal/demo.native.js.map +1 -1
  310. package/dist/jsx/connectkit/components/contexts/web3/index.mjs +0 -15
  311. package/dist/jsx/connectkit/components/contexts/web3/index.mjs.map +1 -1
  312. package/dist/jsx/connectkit/components/contexts/web3/index.native.js +0 -17
  313. package/dist/jsx/connectkit/components/contexts/web3/index.native.js.map +1 -1
  314. package/dist/jsx/connectkit/connectors/aaveAccountConnector.mjs +31 -0
  315. package/dist/jsx/connectkit/connectors/aaveAccountConnector.mjs.map +1 -0
  316. package/dist/jsx/connectkit/connectors/aaveAccountConnector.native.js +67 -0
  317. package/dist/jsx/connectkit/connectors/aaveAccountConnector.native.js.map +1 -0
  318. package/dist/jsx/connectkit/connectors/embeddedDesktop.mjs +1 -1
  319. package/dist/jsx/connectkit/connectors/embeddedDesktop.mjs.map +1 -1
  320. package/dist/jsx/connectkit/connectors/embeddedDesktop.native.js +1 -1
  321. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs +216 -0
  322. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -0
  323. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js +315 -0
  324. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -0
  325. package/dist/jsx/connectkit/defaultConfig.mjs +8 -2
  326. package/dist/jsx/connectkit/defaultConfig.mjs.map +1 -1
  327. package/dist/jsx/connectkit/defaultConfig.native.js +8 -2
  328. package/dist/jsx/connectkit/defaultConfig.native.js.map +1 -1
  329. package/dist/jsx/connectkit/defaultConnectors.mjs +16 -34
  330. package/dist/jsx/connectkit/defaultConnectors.mjs.map +1 -1
  331. package/dist/jsx/connectkit/defaultConnectors.native.js +19 -37
  332. package/dist/jsx/connectkit/defaultConnectors.native.js.map +1 -1
  333. package/dist/jsx/connectkit/hooks/useConnectors.mjs +1 -4
  334. package/dist/jsx/connectkit/hooks/useConnectors.mjs.map +1 -1
  335. package/dist/jsx/connectkit/hooks/useConnectors.native.js +1 -5
  336. package/dist/jsx/connectkit/hooks/useConnectors.native.js.map +1 -1
  337. package/dist/jsx/connectkit/index.mjs +2 -1
  338. package/dist/jsx/connectkit/index.mjs.map +1 -1
  339. package/dist/jsx/connectkit/index.native.js +2 -0
  340. package/dist/jsx/connectkit/index.native.js.map +1 -1
  341. package/dist/jsx/connectkit/screens.mjs +1 -14
  342. package/dist/jsx/connectkit/screens.mjs.map +1 -1
  343. package/dist/jsx/connectkit/screens.native.js +16 -33
  344. package/dist/jsx/connectkit/screens.native.js.map +1 -1
  345. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +3 -2
  346. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  347. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +6 -4
  348. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  349. package/dist/jsx/connectkit/wallets/index.mjs +3 -2
  350. package/dist/jsx/connectkit/wallets/index.mjs.map +1 -1
  351. package/dist/jsx/connectkit/wallets/index.native.js +4 -3
  352. package/dist/jsx/connectkit/wallets/index.native.js.map +1 -1
  353. package/dist/jsx/connectkit/wallets/useWallets.mjs +2 -17
  354. package/dist/jsx/connectkit/wallets/useWallets.mjs.map +1 -1
  355. package/dist/jsx/connectkit/wallets/useWallets.native.js +6 -22
  356. package/dist/jsx/connectkit/wallets/useWallets.native.js.map +1 -1
  357. package/dist/jsx/connectkit/wallets/walletConfigs.mjs +4 -63
  358. package/dist/jsx/connectkit/wallets/walletConfigs.mjs.map +1 -1
  359. package/dist/jsx/connectkit/wallets/walletConfigs.native.js +2 -65
  360. package/dist/jsx/connectkit/wallets/walletConfigs.native.js.map +1 -1
  361. package/dist/jsx/connectkit/web3Bridge.mjs +3 -7
  362. package/dist/jsx/connectkit/web3Bridge.mjs.map +1 -1
  363. package/dist/jsx/connectkit/web3Bridge.native.js +2 -7
  364. package/dist/jsx/connectkit/web3Bridge.native.js.map +1 -1
  365. package/dist/jsx/esbuild.mjs +29 -0
  366. package/dist/jsx/esbuild.mjs.map +1 -0
  367. package/dist/jsx/esbuild.native.js +57 -0
  368. package/dist/jsx/esbuild.native.js.map +1 -0
  369. package/dist/jsx/hooks/useWallet.mjs +1 -2
  370. package/dist/jsx/hooks/useWallet.mjs.map +1 -1
  371. package/dist/jsx/hooks/useWallet.native.js +1 -4
  372. package/dist/jsx/hooks/useWallet.native.js.map +1 -1
  373. package/dist/jsx/index.native.js.map +1 -1
  374. package/dist/jsx/providers/WalletProvider.mjs +1 -2
  375. package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
  376. package/dist/jsx/providers/native/deepLink.mjs +1 -1
  377. package/dist/jsx/providers/native/deepLink.mjs.map +1 -1
  378. package/dist/jsx/providers/native/deepLink.native.js +1 -1
  379. package/dist/jsx/providers/native/deepLink.native.js.map +1 -1
  380. package/dist/jsx/providers/walletConfig.mjs.map +1 -1
  381. package/dist/jsx/providers/walletConfig.native.js.map +1 -1
  382. package/dist/jsx/vite.mjs +51 -0
  383. package/dist/jsx/vite.mjs.map +1 -0
  384. package/dist/jsx/vite.native.js +79 -0
  385. package/dist/jsx/vite.native.js.map +1 -0
  386. package/package.json +22 -10
  387. package/src/bundler/metaMaskConnectTimeouts.spec.ts +390 -0
  388. package/src/bundler/metaMaskConnectTimeouts.ts +126 -0
  389. package/src/connectkit/adapters/SolanaAdapter.ts +1 -1
  390. package/src/connectkit/adapters/discover.ts +1 -1
  391. package/src/connectkit/components/Common/ConnectorList/index.tsx +20 -50
  392. package/src/connectkit/components/ConnectModal/ConnectUsing.tsx +11 -62
  393. package/src/connectkit/components/ConnectModal/ConnectWithInjector/index.tsx +10 -70
  394. package/src/connectkit/components/ConnectModal/demo.tsx +1 -19
  395. package/src/connectkit/components/contexts/web3/index.tsx +1 -23
  396. package/src/connectkit/connectors/aaveAccountConnector.spec.ts +87 -0
  397. package/src/connectkit/connectors/aaveAccountConnector.ts +43 -0
  398. package/src/connectkit/connectors/embeddedDesktop.spec.ts +5 -5
  399. package/src/connectkit/connectors/embeddedDesktop.ts +5 -5
  400. package/src/connectkit/connectors/metaMaskConnectConnector.spec.ts +230 -0
  401. package/src/connectkit/connectors/metaMaskConnectConnector.ts +272 -0
  402. package/src/connectkit/defaultConfig.ts +16 -7
  403. package/src/connectkit/defaultConnectors.ts +19 -40
  404. package/src/connectkit/hooks/useConnectors.ts +0 -10
  405. package/src/connectkit/index.ts +4 -0
  406. package/src/connectkit/screens.tsx +1 -21
  407. package/src/connectkit/siwe/SIWEProvider.spec.tsx +70 -2
  408. package/src/connectkit/siwe/SIWEProvider.tsx +5 -3
  409. package/src/connectkit/wallets/index.ts +5 -2
  410. package/src/connectkit/wallets/useWallets.tsx +1 -20
  411. package/src/connectkit/wallets/walletConfigs.tsx +2 -64
  412. package/src/connectkit/web3Bridge.tsx +4 -21
  413. package/src/esbuild.ts +42 -0
  414. package/src/hooks/useWallet.spec.ts +6 -15
  415. package/src/hooks/useWallet.ts +1 -2
  416. package/src/providers/WalletProvider.native.tsx +1 -1
  417. package/src/providers/WalletProvider.tsx +5 -7
  418. package/src/providers/mockConnector.ts +2 -2
  419. package/src/providers/native/deepLink.spec.ts +3 -4
  420. package/src/providers/native/deepLink.ts +1 -2
  421. package/src/providers/native/inject.spec.ts +1 -1
  422. package/src/providers/walletConfig.spec.ts +1 -1
  423. package/src/providers/walletConfig.ts +2 -1
  424. package/src/vite.ts +60 -0
  425. package/types/bundler/metaMaskConnectTimeouts.d.ts +36 -0
  426. package/types/bundler/metaMaskConnectTimeouts.d.ts.map +1 -0
  427. package/types/connectkit/adapters/discover.d.ts +1 -1
  428. package/types/connectkit/components/Common/ConnectorList/index.d.ts.map +1 -1
  429. package/types/connectkit/components/ConnectModal/ConnectUsing.d.ts.map +1 -1
  430. package/types/connectkit/components/ConnectModal/ConnectWithInjector/index.d.ts +0 -1
  431. package/types/connectkit/components/ConnectModal/ConnectWithInjector/index.d.ts.map +1 -1
  432. package/types/connectkit/components/ConnectModal/demo.d.ts.map +1 -1
  433. package/types/connectkit/components/contexts/web3/index.d.ts +1 -5
  434. package/types/connectkit/components/contexts/web3/index.d.ts.map +1 -1
  435. package/types/connectkit/connectors/aaveAccountConnector.d.ts +5 -0
  436. package/types/connectkit/connectors/aaveAccountConnector.d.ts.map +1 -0
  437. package/types/connectkit/connectors/embeddedDesktop.d.ts +4 -4
  438. package/types/connectkit/connectors/embeddedDesktop.d.ts.map +1 -1
  439. package/types/connectkit/connectors/metaMaskConnectConnector.d.ts +35 -0
  440. package/types/connectkit/connectors/metaMaskConnectConnector.d.ts.map +1 -0
  441. package/types/connectkit/defaultConfig.d.ts +3 -2
  442. package/types/connectkit/defaultConfig.d.ts.map +1 -1
  443. package/types/connectkit/defaultConnectors.d.ts +3 -4
  444. package/types/connectkit/defaultConnectors.d.ts.map +1 -1
  445. package/types/connectkit/hooks/useConnectors.d.ts +0 -1
  446. package/types/connectkit/hooks/useConnectors.d.ts.map +1 -1
  447. package/types/connectkit/index.d.ts +1 -0
  448. package/types/connectkit/index.d.ts.map +1 -1
  449. package/types/connectkit/screens.d.ts +0 -4
  450. package/types/connectkit/screens.d.ts.map +1 -1
  451. package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
  452. package/types/connectkit/wallets/index.d.ts.map +1 -1
  453. package/types/connectkit/wallets/useWallets.d.ts.map +1 -1
  454. package/types/connectkit/wallets/walletConfigs.d.ts +0 -2
  455. package/types/connectkit/wallets/walletConfigs.d.ts.map +1 -1
  456. package/types/connectkit/web3Bridge.d.ts.map +1 -1
  457. package/types/esbuild.d.ts +31 -0
  458. package/types/esbuild.d.ts.map +1 -0
  459. package/types/hooks/useWallet.d.ts.map +1 -1
  460. package/types/providers/WalletProvider.d.ts.map +1 -1
  461. package/types/providers/mockConnector.d.ts +2 -2
  462. package/types/providers/native/deepLink.d.ts +1 -1
  463. package/types/providers/native/deepLink.d.ts.map +1 -1
  464. package/types/providers/walletConfig.d.ts +2 -1
  465. package/types/providers/walletConfig.d.ts.map +1 -1
  466. package/types/vite.d.ts +12 -0
  467. package/types/vite.d.ts.map +1 -0
  468. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithQRCode.cjs +0 -133
  469. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithQRCode.native.js +0 -179
  470. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithQRCode.native.js.map +0 -1
  471. package/dist/cjs/connectkit/components/Pages/MobileConnectors/index.cjs +0 -158
  472. package/dist/cjs/connectkit/components/Pages/MobileConnectors/index.native.js +0 -183
  473. package/dist/cjs/connectkit/components/Pages/MobileConnectors/index.native.js.map +0 -1
  474. package/dist/cjs/connectkit/components/Pages/MobileConnectors/styles.cjs +0 -90
  475. package/dist/cjs/connectkit/components/Pages/MobileConnectors/styles.native.js +0 -99
  476. package/dist/cjs/connectkit/components/Pages/MobileConnectors/styles.native.js.map +0 -1
  477. package/dist/cjs/connectkit/connectors/metaMaskSdkConnector.cjs +0 -398
  478. package/dist/cjs/connectkit/connectors/metaMaskSdkConnector.native.js +0 -453
  479. package/dist/cjs/connectkit/connectors/metaMaskSdkConnector.native.js.map +0 -1
  480. package/dist/cjs/connectkit/hooks/connectors/useCoinbaseWalletUri.cjs +0 -0
  481. package/dist/cjs/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js +0 -2
  482. package/dist/cjs/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js.map +0 -1
  483. package/dist/cjs/connectkit/hooks/connectors/useWalletConnectUri.cjs +0 -113
  484. package/dist/cjs/connectkit/hooks/connectors/useWalletConnectUri.native.js +0 -117
  485. package/dist/cjs/connectkit/hooks/connectors/useWalletConnectUri.native.js.map +0 -1
  486. package/dist/cjs/connectkit/hooks/useWalletConnectModal.cjs +0 -74
  487. package/dist/cjs/connectkit/hooks/useWalletConnectModal.native.js +0 -79
  488. package/dist/cjs/connectkit/hooks/useWalletConnectModal.native.js.map +0 -1
  489. package/dist/esm/connectkit/components/ConnectModal/ConnectWithQRCode.mjs +0 -108
  490. package/dist/esm/connectkit/components/ConnectModal/ConnectWithQRCode.mjs.map +0 -1
  491. package/dist/esm/connectkit/components/ConnectModal/ConnectWithQRCode.native.js +0 -140
  492. package/dist/esm/connectkit/components/ConnectModal/ConnectWithQRCode.native.js.map +0 -1
  493. package/dist/esm/connectkit/components/Pages/MobileConnectors/index.mjs +0 -133
  494. package/dist/esm/connectkit/components/Pages/MobileConnectors/index.mjs.map +0 -1
  495. package/dist/esm/connectkit/components/Pages/MobileConnectors/index.native.js +0 -144
  496. package/dist/esm/connectkit/components/Pages/MobileConnectors/index.native.js.map +0 -1
  497. package/dist/esm/connectkit/components/Pages/MobileConnectors/styles.mjs +0 -61
  498. package/dist/esm/connectkit/components/Pages/MobileConnectors/styles.mjs.map +0 -1
  499. package/dist/esm/connectkit/components/Pages/MobileConnectors/styles.native.js +0 -67
  500. package/dist/esm/connectkit/components/Pages/MobileConnectors/styles.native.js.map +0 -1
  501. package/dist/esm/connectkit/connectors/metaMaskSdkConnector.mjs +0 -362
  502. package/dist/esm/connectkit/connectors/metaMaskSdkConnector.mjs.map +0 -1
  503. package/dist/esm/connectkit/connectors/metaMaskSdkConnector.native.js +0 -414
  504. package/dist/esm/connectkit/connectors/metaMaskSdkConnector.native.js.map +0 -1
  505. package/dist/esm/connectkit/hooks/connectors/useCoinbaseWalletUri.mjs +0 -2
  506. package/dist/esm/connectkit/hooks/connectors/useCoinbaseWalletUri.mjs.map +0 -1
  507. package/dist/esm/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js +0 -2
  508. package/dist/esm/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js.map +0 -1
  509. package/dist/esm/connectkit/hooks/connectors/useWalletConnectUri.mjs +0 -88
  510. package/dist/esm/connectkit/hooks/connectors/useWalletConnectUri.mjs.map +0 -1
  511. package/dist/esm/connectkit/hooks/connectors/useWalletConnectUri.native.js +0 -89
  512. package/dist/esm/connectkit/hooks/connectors/useWalletConnectUri.native.js.map +0 -1
  513. package/dist/esm/connectkit/hooks/useWalletConnectModal.mjs +0 -49
  514. package/dist/esm/connectkit/hooks/useWalletConnectModal.mjs.map +0 -1
  515. package/dist/esm/connectkit/hooks/useWalletConnectModal.native.js +0 -51
  516. package/dist/esm/connectkit/hooks/useWalletConnectModal.native.js.map +0 -1
  517. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithQRCode.mjs +0 -108
  518. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithQRCode.mjs.map +0 -1
  519. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithQRCode.native.js +0 -179
  520. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithQRCode.native.js.map +0 -1
  521. package/dist/jsx/connectkit/components/Pages/MobileConnectors/index.mjs +0 -133
  522. package/dist/jsx/connectkit/components/Pages/MobileConnectors/index.mjs.map +0 -1
  523. package/dist/jsx/connectkit/components/Pages/MobileConnectors/index.native.js +0 -183
  524. package/dist/jsx/connectkit/components/Pages/MobileConnectors/index.native.js.map +0 -1
  525. package/dist/jsx/connectkit/components/Pages/MobileConnectors/styles.mjs +0 -61
  526. package/dist/jsx/connectkit/components/Pages/MobileConnectors/styles.mjs.map +0 -1
  527. package/dist/jsx/connectkit/components/Pages/MobileConnectors/styles.native.js +0 -99
  528. package/dist/jsx/connectkit/components/Pages/MobileConnectors/styles.native.js.map +0 -1
  529. package/dist/jsx/connectkit/connectors/metaMaskSdkConnector.mjs +0 -362
  530. package/dist/jsx/connectkit/connectors/metaMaskSdkConnector.mjs.map +0 -1
  531. package/dist/jsx/connectkit/connectors/metaMaskSdkConnector.native.js +0 -453
  532. package/dist/jsx/connectkit/connectors/metaMaskSdkConnector.native.js.map +0 -1
  533. package/dist/jsx/connectkit/hooks/connectors/useCoinbaseWalletUri.mjs +0 -2
  534. package/dist/jsx/connectkit/hooks/connectors/useCoinbaseWalletUri.mjs.map +0 -1
  535. package/dist/jsx/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js +0 -2
  536. package/dist/jsx/connectkit/hooks/connectors/useCoinbaseWalletUri.native.js.map +0 -1
  537. package/dist/jsx/connectkit/hooks/connectors/useWalletConnectUri.mjs +0 -88
  538. package/dist/jsx/connectkit/hooks/connectors/useWalletConnectUri.mjs.map +0 -1
  539. package/dist/jsx/connectkit/hooks/connectors/useWalletConnectUri.native.js +0 -117
  540. package/dist/jsx/connectkit/hooks/connectors/useWalletConnectUri.native.js.map +0 -1
  541. package/dist/jsx/connectkit/hooks/useWalletConnectModal.mjs +0 -49
  542. package/dist/jsx/connectkit/hooks/useWalletConnectModal.mjs.map +0 -1
  543. package/dist/jsx/connectkit/hooks/useWalletConnectModal.native.js +0 -79
  544. package/dist/jsx/connectkit/hooks/useWalletConnectModal.native.js.map +0 -1
  545. package/src/connectkit/components/ConnectModal/ConnectWithQRCode.tsx +0 -188
  546. package/src/connectkit/components/Pages/MobileConnectors/index.tsx +0 -142
  547. package/src/connectkit/components/Pages/MobileConnectors/styles.ts +0 -66
  548. package/src/connectkit/connectors/metaMaskSdkConnector.ts +0 -505
  549. package/src/connectkit/hooks/connectors/useCoinbaseWalletUri.tsx +0 -101
  550. package/src/connectkit/hooks/connectors/useWalletConnectUri.ts +0 -99
  551. package/src/connectkit/hooks/useWalletConnectModal.tsx +0 -52
  552. package/types/connectkit/components/ConnectModal/ConnectWithQRCode.d.ts +0 -6
  553. package/types/connectkit/components/ConnectModal/ConnectWithQRCode.d.ts.map +0 -1
  554. package/types/connectkit/components/Pages/MobileConnectors/index.d.ts +0 -4
  555. package/types/connectkit/components/Pages/MobileConnectors/index.d.ts.map +0 -1
  556. package/types/connectkit/components/Pages/MobileConnectors/styles.d.ts +0 -6
  557. package/types/connectkit/components/Pages/MobileConnectors/styles.d.ts.map +0 -1
  558. package/types/connectkit/connectors/metaMaskSdkConnector.d.ts +0 -30
  559. package/types/connectkit/connectors/metaMaskSdkConnector.d.ts.map +0 -1
  560. package/types/connectkit/hooks/connectors/useCoinbaseWalletUri.d.ts +0 -1
  561. package/types/connectkit/hooks/connectors/useCoinbaseWalletUri.d.ts.map +0 -1
  562. package/types/connectkit/hooks/connectors/useWalletConnectUri.d.ts +0 -8
  563. package/types/connectkit/hooks/connectors/useWalletConnectUri.d.ts.map +0 -1
  564. package/types/connectkit/hooks/useWalletConnectModal.d.ts +0 -5
  565. package/types/connectkit/hooks/useWalletConnectModal.d.ts.map +0 -1
@@ -0,0 +1,230 @@
1
+ import type { EventHandlers } from "@metamask/connect-evm";
2
+ import { connect, createConfig, http, reconnect } from "@wagmi/core";
3
+ import { createEmitter } from "@wagmi/core/internal";
4
+ import type { Chain } from "viem";
5
+ import { getAddress, SwitchChainError } from "viem";
6
+ import { base, mainnet, polygon } from "viem/chains";
7
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
8
+
9
+ import {
10
+ metaMaskConnect,
11
+ metaMaskConnectChainIds,
12
+ metaMaskNetworks,
13
+ resetMetaMaskConnectClient,
14
+ } from "./metaMaskConnectConnector";
15
+ import {
16
+ BITCOIN_CHAIN_ID,
17
+ SOLANA_CHAIN_ID,
18
+ SUI_CHAIN_ID,
19
+ syntheticChains,
20
+ } from "./syntheticChains";
21
+
22
+ const { createEVMClient, client } = vi.hoisted(() => {
23
+ const client = {
24
+ accounts: [] as string[],
25
+ getChainId: vi.fn(() => "0x2105"),
26
+ connect: vi.fn(async (_options: { chainIds: string[] }) => ({
27
+ accounts: ["0x0000000000000000000000000000000000000001"],
28
+ chainId: "0x2105",
29
+ })),
30
+ switchChain: vi.fn(async () => undefined),
31
+ disconnect: vi.fn(async () => undefined),
32
+ getProvider: vi.fn(() => ({ request: vi.fn() })),
33
+ };
34
+ return { client, createEVMClient: vi.fn(async (_options: unknown) => client) };
35
+ });
36
+
37
+ vi.mock("@metamask/connect-evm", () => ({ createEVMClient }));
38
+
39
+ const synthetic = [SOLANA_CHAIN_ID, SUI_CHAIN_ID, BITCOIN_CHAIN_ID];
40
+ const hex = (id: number) => `0x${id.toString(16)}`;
41
+
42
+ function build(chains: readonly Chain[]) {
43
+ const transports = Object.fromEntries(chains.map((chain) => [chain.id, http()]));
44
+ return metaMaskConnect({ dapp: { name: "test", url: "https://example.test" } })({
45
+ chains: chains as [Chain, ...Chain[]],
46
+ emitter: createEmitter("metaMaskSDK"),
47
+ transports,
48
+ } as never);
49
+ }
50
+
51
+ describe("metaMaskNetworks", () => {
52
+ it("drops the synthetic non-EVM chains", () => {
53
+ const networks = metaMaskNetworks([mainnet, polygon, ...syntheticChains]);
54
+ expect(Object.keys(networks)).toEqual([hex(mainnet.id), hex(polygon.id)]);
55
+ for (const id of synthetic) expect(networks).not.toHaveProperty(hex(id));
56
+ });
57
+
58
+ it("drops a chain with no usable RPC URL", () => {
59
+ const broken = { ...base, rpcUrls: { default: { http: [""] } } } as Chain;
60
+ expect(Object.keys(metaMaskNetworks([mainnet, broken]))).toEqual([hex(mainnet.id)]);
61
+ });
62
+
63
+ it("prefers the transport's URL over the chain's default", () => {
64
+ const networks = metaMaskNetworks([mainnet], {
65
+ [mainnet.id]: http("https://rpc.example.test"),
66
+ });
67
+ expect(networks[hex(mainnet.id) as `0x${string}`]).toBe("https://rpc.example.test");
68
+ });
69
+ });
70
+
71
+ describe("metaMaskConnectChainIds", () => {
72
+ const networks = metaMaskNetworks([mainnet, polygon, base]);
73
+
74
+ it("puts the requested chain first", () => {
75
+ expect(metaMaskConnectChainIds(networks, base.id)).toEqual([
76
+ hex(base.id),
77
+ hex(mainnet.id),
78
+ hex(polygon.id),
79
+ ]);
80
+ });
81
+
82
+ it("ignores a requested synthetic chain", () => {
83
+ expect(metaMaskConnectChainIds(networks, SOLANA_CHAIN_ID)).toEqual(Object.keys(networks));
84
+ });
85
+ });
86
+
87
+ describe("metaMaskConnect", () => {
88
+ beforeEach(() => {
89
+ resetMetaMaskConnectClient();
90
+ vi.clearAllMocks();
91
+ client.accounts = [];
92
+ });
93
+
94
+ afterEach(() => resetMetaMaskConnectClient());
95
+
96
+ it("keeps the metaMaskSDK id existing consumers key off", () => {
97
+ expect(build([mainnet]).id).toBe("metaMaskSDK");
98
+ });
99
+
100
+ it("never tells MetaMask about a synthetic chain id", async () => {
101
+ const connector = build([mainnet, polygon, ...syntheticChains]);
102
+ await connector.setup?.();
103
+ await connector.connect({ chainId: SOLANA_CHAIN_ID });
104
+
105
+ const options = createEVMClient.mock.calls[0]![0] as {
106
+ api: { supportedNetworks: Record<string, string> };
107
+ };
108
+ const supported = Object.keys(options.api.supportedNetworks);
109
+ const requested = client.connect.mock.calls[0]![0].chainIds;
110
+ for (const id of synthetic) {
111
+ expect(supported).not.toContain(hex(id));
112
+ expect(requested).not.toContain(hex(id));
113
+ }
114
+ expect(supported).toEqual([hex(mainnet.id), hex(polygon.id)]);
115
+ expect(requested).toEqual([hex(mainnet.id), hex(polygon.id)]);
116
+ });
117
+
118
+ it("asks for the requested EVM chain first and reports the wallet's chain", async () => {
119
+ const connector = build([mainnet, polygon, ...syntheticChains]);
120
+ const result = await connector.connect({ chainId: polygon.id });
121
+ expect(client.connect.mock.calls[0]![0].chainIds[0]).toBe(hex(polygon.id));
122
+ expect(result.chainId).toBe(base.id);
123
+ });
124
+
125
+ it("refuses to switch MetaMask to a synthetic chain", async () => {
126
+ const connector = build([mainnet, ...syntheticChains]);
127
+ await expect(connector.switchChain!({ chainId: SUI_CHAIN_ID })).rejects.toBeInstanceOf(
128
+ SwitchChainError,
129
+ );
130
+ expect(client.switchChain).not.toHaveBeenCalled();
131
+ });
132
+
133
+ it("builds one client per page across rebuilt configs", async () => {
134
+ await build([mainnet]).setup?.();
135
+ await build([mainnet]).setup?.();
136
+ expect(createEVMClient).toHaveBeenCalledTimes(1);
137
+ });
138
+ });
139
+
140
+ describe("metaMaskConnect under wagmi", () => {
141
+ const first = "0x00000000000000000000000000000000000000aa";
142
+ const second = "0x00000000000000000000000000000000000000bb";
143
+
144
+ beforeEach(() => {
145
+ resetMetaMaskConnectClient();
146
+ vi.clearAllMocks();
147
+ client.accounts = [];
148
+ });
149
+
150
+ afterEach(() => resetMetaMaskConnectClient());
151
+
152
+ function wagmiConfig() {
153
+ return createConfig({
154
+ chains: [base, mainnet],
155
+ connectors: [metaMaskConnect({ dapp: { name: "test", url: "https://example.test" } })],
156
+ transports: { [base.id]: http(), [mainnet.id]: http() },
157
+ multiInjectedProviderDiscovery: false,
158
+ storage: null,
159
+ });
160
+ }
161
+
162
+ async function clientEvents() {
163
+ await vi.waitFor(() => expect(createEVMClient).toHaveBeenCalledTimes(1));
164
+ return (createEVMClient.mock.calls[0]![0] as { eventHandlers: EventHandlers }).eventHandlers;
165
+ }
166
+
167
+ it("sends display_uri to the connector being connected, not the newest one built", async () => {
168
+ const before = wagmiConfig();
169
+ const used = wagmiConfig();
170
+ const newest = wagmiConfig();
171
+ const events = await clientEvents();
172
+ const seen = new Map([before, used, newest].map((config) => [config, [] as unknown[]]));
173
+ for (const [config, uris] of seen)
174
+ config.connectors[0]!.emitter.on("message", ({ type, data }) => {
175
+ if (type === "display_uri") uris.push(data);
176
+ });
177
+
178
+ client.connect.mockImplementationOnce(async () => {
179
+ events.displayUri("metamask://connect?id=1");
180
+ return { accounts: [first], chainId: "0x2105" };
181
+ });
182
+ await connect(used, { connector: used.connectors[0]! });
183
+
184
+ expect(seen.get(used)).toEqual(["metamask://connect?id=1"]);
185
+ expect(seen.get(before)).toEqual([]);
186
+ expect(seen.get(newest)).toEqual([]);
187
+ });
188
+
189
+ it("keeps account changes flowing to the config wagmi reconnects", async () => {
190
+ const cached = wagmiConfig();
191
+ const events = await clientEvents();
192
+ await connect(cached, { connector: cached.connectors[0]! });
193
+ const other = wagmiConfig();
194
+ await connect(other, { connector: other.connectors[0]! });
195
+
196
+ // The provider switches back to the cached config and reconnects it.
197
+ client.accounts = [first];
198
+ await reconnect(cached);
199
+ events.accountsChanged([second]);
200
+
201
+ const connector = cached.connectors[0]!;
202
+ expect(cached.state.connections.get(connector.uid)?.accounts).toEqual([getAddress(second)]);
203
+ });
204
+
205
+ it("connects wagmi to a session approved outside connect()", async () => {
206
+ const config = wagmiConfig();
207
+ const events = await clientEvents();
208
+ expect(config.state.status).toBe("disconnected");
209
+
210
+ events.connect({ chainId: "0x2105", accounts: [first] });
211
+
212
+ const connector = config.connectors[0]!;
213
+ expect(config.state.status).toBe("connected");
214
+ expect(config.state.current).toBe(connector.uid);
215
+ expect(config.state.connections.get(connector.uid)).toMatchObject({
216
+ accounts: [getAddress(first)],
217
+ chainId: base.id,
218
+ });
219
+
220
+ events.accountsChanged([second]);
221
+ expect(config.state.connections.get(connector.uid)?.accounts).toEqual([getAddress(second)]);
222
+ });
223
+
224
+ it("ignores a connect that carries no account", async () => {
225
+ const config = wagmiConfig();
226
+ const events = await clientEvents();
227
+ events.connect({ chainId: "0x2105", accounts: [] });
228
+ expect(config.state.status).toBe("disconnected");
229
+ });
230
+ });
@@ -0,0 +1,272 @@
1
+ // wagmi connector for MetaMask over MetaMask Connect (@metamask/connect-evm, the
2
+ // Mobile Wallet Protocol relay). It replaces the classic @metamask/sdk connector,
3
+ // whose socket.io relay never re-delivered a reply that arrived while Android 16
4
+ // had cut the browser's network (5-6 s after MetaMask takes focus). The MWP relay
5
+ // keeps each channel's history and the page recovers it when it resubscribes, so
6
+ // the reply lands as soon as the user switches back. Proven on Android 16 in
7
+ // PROMA-36 with the relay timers raised by `metaMaskConnectTimeouts` (see
8
+ // ../../vite.ts); without them a user who lingers in MetaMask past 60 s loses
9
+ // the request.
10
+ //
11
+ // The id stays `metaMaskSDK`: isMetaMaskConnector(), useWallets' EIP-6963 dedupe
12
+ // and ConnectWithInjector's display_uri listener all key off it, and so does
13
+ // every consumer's persisted "recent connector".
14
+ import type { EIP1193Provider, MetamaskConnectEVM } from "@metamask/connect-evm";
15
+ import {
16
+ ChainNotConfiguredError,
17
+ type CreateConnectorFn,
18
+ createConnector,
19
+ extractRpcUrls,
20
+ } from "@wagmi/core";
21
+ import {
22
+ type Address,
23
+ type Chain,
24
+ getAddress,
25
+ type Hex,
26
+ numberToHex,
27
+ ResourceUnavailableRpcError,
28
+ SwitchChainError,
29
+ UserRejectedRequestError,
30
+ } from "viem";
31
+
32
+ import { isSyntheticChainId } from "./syntheticChains";
33
+
34
+ export type MetaMaskConnectParameters = {
35
+ dapp: { name: string; url?: string; iconUrl?: string };
36
+ /** Run without MetaMask Connect's own install/QR modal (the modal renders `display_uri`). */
37
+ headless?: boolean;
38
+ /** Opens MetaMask's deeplink. Embedded desktop webviews must not navigate away. */
39
+ preferredOpenLink?: (deeplink: string, target?: string) => void;
40
+ /** `metamask://` instead of the https://metamask.app.link universal link. */
41
+ useDeeplink?: boolean;
42
+ debug?: boolean;
43
+ };
44
+
45
+ type ConnectorConfig = Parameters<CreateConnectorFn>[0];
46
+ type Emitter = ConnectorConfig["emitter"];
47
+
48
+ /**
49
+ * The chains MetaMask may be told about. Non-EVM wallets ride synthetic chain ids
50
+ * (syntheticChains.ts) that no EVM network carries, and a chain with no usable
51
+ * RPC URL fails MetaMask Connect's `new URL()` check in createEVMClient, which
52
+ * kills connect() before it ever emits `display_uri`.
53
+ */
54
+ export function metaMaskNetworks(
55
+ chains: readonly Chain[],
56
+ transports?: ConnectorConfig["transports"],
57
+ ): Record<Hex, string> {
58
+ const networks: Record<Hex, string> = {};
59
+ for (const chain of chains) {
60
+ if (isSyntheticChainId(chain.id)) continue;
61
+ const url = extractRpcUrls({ chain, transports })?.[0] ?? chain.rpcUrls.default?.http[0];
62
+ if (url && isUrl(url)) networks[numberToHex(chain.id)] = url;
63
+ }
64
+ return networks;
65
+ }
66
+
67
+ function isUrl(value: string): boolean {
68
+ try {
69
+ new URL(value);
70
+ return true;
71
+ } catch {
72
+ return false;
73
+ }
74
+ }
75
+
76
+ /** The chain ids a connect asks MetaMask for, the requested one first (it becomes the active chain). */
77
+ export function metaMaskConnectChainIds(networks: Record<Hex, string>, chainId?: number): Hex[] {
78
+ const ids = Object.keys(networks) as Hex[];
79
+ if (!chainId || isSyntheticChainId(chainId)) return ids;
80
+ const first = numberToHex(chainId);
81
+ return ids.includes(first) ? [first, ...ids.filter((id) => id !== first)] : ids;
82
+ }
83
+
84
+ // One client per page. Its session lives in localStorage, and consumers rebuild
85
+ // the wagmi config (and so this connector) on re-render, so a client per
86
+ // connector instance would race itself over the same session. The events it
87
+ // raises go to the connector wagmi last drove: StrictMode and config caches
88
+ // build connectors that wagmi never uses, and one of those may be the newest.
89
+ let client: Promise<MetamaskConnectEVM> | undefined;
90
+ let owner: Emitter | undefined;
91
+
92
+ function getClient(
93
+ parameters: MetaMaskConnectParameters,
94
+ networks: Record<Hex, string>,
95
+ ): Promise<MetamaskConnectEVM> {
96
+ if (client) return client;
97
+ client = import("@metamask/connect-evm").then(({ createEVMClient }) =>
98
+ createEVMClient({
99
+ dapp: {
100
+ name: parameters.dapp.name,
101
+ url:
102
+ parameters.dapp.url ??
103
+ (typeof window !== "undefined" ? window.location.origin : "https://multiplatform.one"),
104
+ ...(parameters.dapp.iconUrl ? { iconUrl: parameters.dapp.iconUrl } : {}),
105
+ },
106
+ api: { supportedNetworks: networks },
107
+ analytics: { enabled: false },
108
+ skipAutoAnnounce: true,
109
+ debug: parameters.debug,
110
+ ...(parameters.headless ? { ui: { headless: true } } : {}),
111
+ ...(parameters.preferredOpenLink || parameters.useDeeplink !== undefined
112
+ ? {
113
+ mobile: {
114
+ ...(parameters.preferredOpenLink
115
+ ? { preferredOpenLink: parameters.preferredOpenLink }
116
+ : {}),
117
+ ...(parameters.useDeeplink !== undefined
118
+ ? { useDeeplink: parameters.useDeeplink }
119
+ : {}),
120
+ },
121
+ }
122
+ : {}),
123
+ eventHandlers: {
124
+ // A session approved outside connect(), in another tab say. wagmi drops
125
+ // `change` for a connector it has no connection for, so only `connect`
126
+ // brings it in.
127
+ connect: ({ accounts, chainId }) => {
128
+ if (accounts.length)
129
+ owner?.emit("connect", {
130
+ accounts: accounts.map((a) => getAddress(a)),
131
+ chainId: Number(chainId),
132
+ });
133
+ },
134
+ accountsChanged: (accounts) => {
135
+ if (accounts.length === 0) owner?.emit("disconnect");
136
+ else owner?.emit("change", { accounts: accounts.map((a) => getAddress(a)) });
137
+ },
138
+ chainChanged: (chainId) => owner?.emit("change", { chainId: Number(chainId) }),
139
+ disconnect: () => owner?.emit("disconnect"),
140
+ displayUri: (uri) => owner?.emit("message", { type: "display_uri", data: uri }),
141
+ },
142
+ }),
143
+ );
144
+ client.catch(() => {
145
+ client = undefined;
146
+ });
147
+ return client;
148
+ }
149
+
150
+ /** Test seam: forget the page's client so the next connector builds a fresh one. */
151
+ export function resetMetaMaskConnectClient(): void {
152
+ client = undefined;
153
+ owner = undefined;
154
+ }
155
+
156
+ function rethrow(err: unknown): never {
157
+ const code = (err as { code?: number })?.code;
158
+ if (code === UserRejectedRequestError.code) throw new UserRejectedRequestError(err as Error);
159
+ if (code === ResourceUnavailableRpcError.code)
160
+ throw new ResourceUnavailableRpcError(err as Error);
161
+ throw err;
162
+ }
163
+
164
+ metaMaskConnect.type = "metaMask" as const;
165
+ export function metaMaskConnect(parameters: MetaMaskConnectParameters) {
166
+ return createConnector<EIP1193Provider>((config) => {
167
+ owner ??= config.emitter;
168
+ const networks = metaMaskNetworks(config.chains, config.transports);
169
+ const fallbackChainId = Number(Object.keys(networks)[0] ?? 1);
170
+ const instance = () => getClient(parameters, networks);
171
+ // Every call wagmi makes on the connector it uses claims the client's events;
172
+ // setup() runs for every built config, so it does not.
173
+ const claim = () => {
174
+ owner = config.emitter;
175
+ return instance();
176
+ };
177
+ const accountsOf = (mm: MetamaskConnectEVM): Address[] => mm.accounts.map((a) => getAddress(a));
178
+ const chainIdOf = (mm: MetamaskConnectEVM) => {
179
+ const hex = mm.getChainId();
180
+ return hex ? Number(hex) : fallbackChainId;
181
+ };
182
+
183
+ return {
184
+ id: "metaMaskSDK",
185
+ name: "MetaMask",
186
+ rdns: ["io.metamask", "io.metamask.mobile"],
187
+ type: metaMaskConnect.type,
188
+ async setup() {
189
+ // Build the client before the tap: mobile Chrome opens the MetaMask deeplink
190
+ // only inside the tap's short user activation, which a cold import outlasts.
191
+ await instance().catch(() => undefined);
192
+ },
193
+ async connect({ chainId, isReconnecting } = {}) {
194
+ // No separate chain switch: the requested chain leads the permission request
195
+ // and becomes the active chain, so connecting stays one wallet round trip.
196
+ const mm = await claim();
197
+ try {
198
+ let accounts = isReconnecting ? accountsOf(mm) : [];
199
+ if (!accounts.length) {
200
+ const result = await mm.connect({
201
+ chainIds: metaMaskConnectChainIds(networks, chainId),
202
+ });
203
+ accounts = result.accounts.map((a) => getAddress(a));
204
+ }
205
+ return { accounts: accounts as never, chainId: chainIdOf(mm) };
206
+ } catch (err) {
207
+ rethrow(err);
208
+ }
209
+ },
210
+ async disconnect() {
211
+ await (await claim()).disconnect();
212
+ },
213
+ async getAccounts() {
214
+ return accountsOf(await claim());
215
+ },
216
+ async getChainId() {
217
+ return chainIdOf(await claim());
218
+ },
219
+ async getProvider() {
220
+ return (await claim()).getProvider();
221
+ },
222
+ async isAuthorized() {
223
+ // createEVMClient has already resumed a stored session, so its cached
224
+ // accounts answer without a relay round trip that could sit on the long
225
+ // request timeout.
226
+ try {
227
+ return accountsOf(await claim()).length > 0;
228
+ } catch {
229
+ return false;
230
+ }
231
+ },
232
+ async switchChain({ addEthereumChainParameter, chainId }) {
233
+ const chain = config.chains.find((c) => c.id === chainId);
234
+ if (!chain || !networks[numberToHex(chainId)])
235
+ throw new SwitchChainError(new ChainNotConfiguredError());
236
+ try {
237
+ await (
238
+ await claim()
239
+ ).switchChain({
240
+ chainId: numberToHex(chainId),
241
+ chainConfiguration: {
242
+ chainId: numberToHex(chainId),
243
+ chainName: addEthereumChainParameter?.chainName ?? chain.name,
244
+ nativeCurrency: addEthereumChainParameter?.nativeCurrency ?? chain.nativeCurrency,
245
+ rpcUrls: addEthereumChainParameter?.rpcUrls
246
+ ? [...addEthereumChainParameter.rpcUrls]
247
+ : [networks[numberToHex(chainId)]],
248
+ ...(chain.blockExplorers?.default.url
249
+ ? { blockExplorerUrls: [chain.blockExplorers.default.url] }
250
+ : {}),
251
+ },
252
+ });
253
+ return chain;
254
+ } catch (err) {
255
+ if ((err as { code?: number })?.code === UserRejectedRequestError.code)
256
+ throw new UserRejectedRequestError(err as Error);
257
+ throw new SwitchChainError(err as Error);
258
+ }
259
+ },
260
+ onAccountsChanged(accounts) {
261
+ if (accounts.length === 0) config.emitter.emit("disconnect");
262
+ else config.emitter.emit("change", { accounts: accounts.map((a) => getAddress(a)) });
263
+ },
264
+ onChainChanged(chain) {
265
+ config.emitter.emit("change", { chainId: Number(chain) });
266
+ },
267
+ onDisconnect() {
268
+ config.emitter.emit("disconnect");
269
+ },
270
+ };
271
+ });
272
+ }
@@ -1,7 +1,7 @@
1
1
  import { http } from "wagmi";
2
2
  import { type CreateConfigParameters } from "@wagmi/core";
3
3
  import { mainnet, polygon, optimism, arbitrum } from "wagmi/chains";
4
- import { CoinbaseWalletParameters } from "wagmi/connectors";
4
+ import type { CoinbaseWalletParameters } from "@wagmi/connectors/coinbaseWallet";
5
5
  import { EthereumProviderOptions as AaveAccountOptions } from "@aave/account";
6
6
 
7
7
  import { setAppMeta } from "@multiplatform.one/connectkit";
@@ -9,8 +9,8 @@ import defaultConnectors from "./defaultConnectors";
9
9
  import { getWalletConnectors } from "./connectors/getWalletConnectors";
10
10
  import { syntheticChains } from "./connectors/syntheticChains";
11
11
 
12
- // App name/icon now live in connectkit's agnostic appMeta module (the modal reads
13
- // them for the WalletConnect og:title hint); re-exported here for back-compat.
12
+ // App name/icon now live in connectkit's agnostic appMeta module; re-exported here
13
+ // for back-compat.
14
14
  export { getAppName, getAppIcon } from "@multiplatform.one/connectkit";
15
15
 
16
16
  type DefaultConfigProps = {
@@ -19,8 +19,8 @@ type DefaultConfigProps = {
19
19
  appDescription?: string;
20
20
  appUrl?: string;
21
21
 
22
- // WC 2.0 requires a project ID (get one here: https://cloud.walletconnect.com/sign-in)
23
- walletConnectProjectId: string;
22
+ /** @deprecated Ignored: no connector needs a project id. Removed in the next major. */
23
+ walletConnectProjectId?: string;
24
24
  // Coinbase Wallet preference
25
25
  coinbaseWalletPreference?: CoinbaseWalletParameters<"4">["preference"];
26
26
  // Aave Account options
@@ -31,6 +31,15 @@ type DefaultConfigProps = {
31
31
  enableWallet?: boolean;
32
32
  } & Partial<CreateConfigParameters>;
33
33
 
34
+ let warnedProjectId = false;
35
+ function warnIgnoredProjectId() {
36
+ if (warnedProjectId) return;
37
+ warnedProjectId = true;
38
+ console.warn(
39
+ "@multiplatform.one/web3: walletConnectProjectId is ignored and will be removed in the next major.",
40
+ );
41
+ }
42
+
34
43
  const defaultConfig = ({
35
44
  appName = "ConnectKit",
36
45
  appIcon,
@@ -40,12 +49,13 @@ const defaultConfig = ({
40
49
  coinbaseWalletPreference,
41
50
  chains = [mainnet, polygon, optimism, arbitrum],
42
51
  client,
43
- enableAaveAccount = true,
52
+ enableAaveAccount = false,
44
53
  aaveAccountOptions,
45
54
  enableWallet = true,
46
55
  ...props
47
56
  }: DefaultConfigProps): CreateConfigParameters => {
48
57
  setAppMeta(appName, appIcon);
58
+ if (walletConnectProjectId) warnIgnoredProjectId();
49
59
 
50
60
  // Register the wallet synthetic chains so wagmi can resolve a `chain` object for a
51
61
  // connected non-EVM account — ConnectKit's SIWE signIn reads `chain.id`, which is
@@ -66,7 +76,6 @@ const defaultConfig = ({
66
76
  description: appDescription,
67
77
  url: appUrl,
68
78
  },
69
- walletConnectProjectId,
70
79
  coinbaseWalletPreference,
71
80
  enableAaveAccount,
72
81
  aaveAccountOptions,
@@ -1,12 +1,16 @@
1
1
  import { CreateConnectorFn } from "wagmi";
2
- import { walletConnect, coinbaseWallet, CoinbaseWalletParameters, safe } from "@wagmi/connectors";
3
- import { metaMaskSdk } from "./connectors/metaMaskSdkConnector";
2
+ // Per-connector subpaths: the package root re-exports every wagmi connector, and a
3
+ // bundler that doesn't tree-shake (the webview, the login bundles) ships them all.
4
+ import { coinbaseWallet, type CoinbaseWalletParameters } from "@wagmi/connectors/coinbaseWallet";
5
+ import { safe } from "@wagmi/connectors/safe";
6
+ import { metaMaskConnect } from "./connectors/metaMaskConnectConnector";
4
7
  import {
5
8
  isEmbeddedDesktopWebview,
6
9
  metaMaskOptionsForEmbeddedDesktop,
7
10
  } from "./connectors/embeddedDesktop";
8
11
 
9
- import { EthereumProviderOptions as AaveAccountOptions, aaveAccountConnector } from "@aave/account";
12
+ import type { EthereumProviderOptions as AaveAccountOptions } from "@aave/account";
13
+ import { aaveAccountConnector } from "./connectors/aaveAccountConnector";
10
14
 
11
15
  type DefaultConnectorsProps = {
12
16
  app: {
@@ -15,7 +19,6 @@ type DefaultConnectorsProps = {
15
19
  description?: string;
16
20
  url?: string;
17
21
  };
18
- walletConnectProjectId?: string;
19
22
  coinbaseWalletPreference?: CoinbaseWalletParameters<"4">["preference"];
20
23
  enableAaveAccount?: boolean;
21
24
  aaveAccountOptions?: AaveAccountOptions;
@@ -23,12 +26,10 @@ type DefaultConnectorsProps = {
23
26
 
24
27
  const defaultConnectors = ({
25
28
  app,
26
- walletConnectProjectId,
27
29
  coinbaseWalletPreference,
28
30
  enableAaveAccount,
29
31
  aaveAccountOptions,
30
32
  }: DefaultConnectorsProps): CreateConnectorFn[] => {
31
- const hasAllAppData = app.name && app.icon && app.description && app.url;
32
33
  const shouldUseSafeConnector = !(typeof window === "undefined") && window?.parent !== window;
33
34
 
34
35
  const connectors: CreateConnectorFn[] = enableAaveAccount
@@ -44,53 +45,31 @@ const defaultConnectors = ({
44
45
  );
45
46
  }
46
47
 
47
- // Add the rest of the connectors
48
48
  connectors.push(
49
- // MetaMask rides its OWN SDK (id `metaMaskSDK`) — never WalletConnect.
50
- // This is the CLASSIC @metamask/sdk connector (see metaMaskSdkConnector.ts for
51
- // why not @wagmi/connectors' MWP-based one): mobile browser = deeplink over the
52
- // SDK's persistent socket.io relay, which survives the tab being frozen or
53
- // discarded during the wallet bounce; desktop = extension; MetaMask in-app
54
- // browser = injected; desktop without the extension = the SDK's own QR/install
55
- // modal (ConnectKit's QR page is WalletConnect-only, so let the SDK render it).
56
- //
57
- // Tauri/WebView2/WKWebView: no extension injection. SDK InstallModal custom
58
- // elements + `location.href = metamask://` are hostile there — use headless
59
- // remote connect and let ConnectKit render the display_uri QR instead.
60
- // Mobile options are untouched (useDeeplink stays default true).
61
- metaMaskSdk({
62
- dappMetadata: {
49
+ // MetaMask rides MetaMask Connect (id `metaMaskSDK`): the extension on desktop,
50
+ // the MetaMask app over MetaMask's own relay on mobile, its install/QR modal on
51
+ // a desktop without the extension. Tauri/WebView2/WKWebView get no extension and
52
+ // must not navigate to metamask://, so they run headless and the modal renders
53
+ // the display_uri QR instead.
54
+ metaMaskConnect({
55
+ dapp: {
63
56
  name: app.name,
64
57
  url: app.url,
65
58
  iconUrl: app.icon,
66
59
  },
67
- enableAnalytics: false,
68
- checkInstallationImmediately: false,
69
60
  ...(isEmbeddedDesktopWebview() ? metaMaskOptionsForEmbeddedDesktop() : {}),
70
61
  }),
71
62
  coinbaseWallet({
72
63
  appName: app.name,
73
64
  appLogoUrl: app.icon,
74
- preference: coinbaseWalletPreference,
65
+ preference: {
66
+ options: "all",
67
+ ...coinbaseWalletPreference,
68
+ telemetry: false,
69
+ },
75
70
  }),
76
71
  );
77
72
 
78
- if (walletConnectProjectId) {
79
- connectors.push(
80
- walletConnect({
81
- showQrModal: false,
82
- projectId: walletConnectProjectId,
83
- metadata: hasAllAppData
84
- ? {
85
- name: app.name,
86
- description: app.description!,
87
- url: app.url!,
88
- icons: [app.icon!],
89
- }
90
- : undefined,
91
- }),
92
- );
93
- }
94
73
  /*
95
74
  connectors.push(
96
75
  injected({