@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/web3",
3
- "version": "7.19.0",
3
+ "version": "7.20.0",
4
4
  "description": "Web3 wallet integration for multiplatform.one ecosystem with ConnectKit and wagmi",
5
5
  "keywords": [
6
6
  "connectkit",
@@ -59,6 +59,18 @@
59
59
  "import": "./dist/esm/connectkit/index.mjs",
60
60
  "require": "./dist/cjs/connectkit/index.cjs"
61
61
  },
62
+ "./vite": {
63
+ "source": "./src/vite.ts",
64
+ "types": "./types/vite.d.ts",
65
+ "import": "./dist/esm/vite.mjs",
66
+ "require": "./dist/cjs/vite.cjs"
67
+ },
68
+ "./esbuild": {
69
+ "source": "./src/esbuild.ts",
70
+ "types": "./types/esbuild.d.ts",
71
+ "import": "./dist/esm/esbuild.mjs",
72
+ "require": "./dist/cjs/esbuild.cjs"
73
+ },
62
74
  "./solana": {
63
75
  "source": "./src/solana.ts",
64
76
  "types": "./types/solana.d.ts",
@@ -72,16 +84,16 @@
72
84
  "dependencies": {
73
85
  "@aave/account": "^0.2.0",
74
86
  "@metamask/connect-evm": "^2.1.1",
75
- "@metamask/sdk": "0.33.1",
76
- "@multiplatform.one/connectkit": "7.19.0",
77
- "@multiplatform.one/gpg": "7.19.0",
78
- "@multiplatform.one/platform": "7.19.0",
79
- "@multiplatform.one/theme": "7.19.0",
87
+ "@multiplatform.one/connectkit": "7.20.0",
88
+ "@multiplatform.one/gpg": "7.20.0",
89
+ "@multiplatform.one/platform": "7.20.0",
90
+ "@multiplatform.one/theme": "7.20.0",
80
91
  "@noble/curves": "^1.9.7",
81
92
  "@solana/kit": "^8.3.0",
82
93
  "@solana/wallet-adapter-base": "^0.9.27",
94
+ "@solana/wallet-adapter-phantom": "^0.9.29",
83
95
  "@solana/wallet-adapter-react": "^0.15.39",
84
- "@solana/wallet-adapter-wallets": "^0.19.38",
96
+ "@solana/wallet-adapter-solflare": "^0.6.33",
85
97
  "@solana/web3.js": "^1.98.4",
86
98
  "@wagmi/connectors": "^8.0.22",
87
99
  "bs58": "^6.0.0",
@@ -98,7 +110,7 @@
98
110
  "wagmi": "^3.7.1"
99
111
  },
100
112
  "devDependencies": {
101
- "@multiplatform.one/config": "7.19.0",
113
+ "@multiplatform.one/config": "7.20.0",
102
114
  "@tamagui/build": "2.7.6",
103
115
  "@tanstack/react-query": "^5.100.7",
104
116
  "@testing-library/jest-dom": "^6.9.1",
@@ -121,8 +133,8 @@
121
133
  "module:jsx": "dist/jsx",
122
134
  "scripts": {
123
135
  "typecheck": "tsgo --noEmit",
124
- "build": "rm -rf dist types 2>/dev/null && tamagui-build --ts-project ./tsconfig.build.json --exclude '\\.spec\\.|\\.test\\.|\\.stories\\.' && node scripts/fix-dist-specifiers.mjs",
125
- "build:webview": "vite build --config webview/vite.config.ts && mv -f assets/index.html assets/webview.html",
136
+ "build": "rm -rf dist types 2>/dev/null && tamagui-build --ts-project ./tsconfig.build.json --exclude '\\.spec\\.|\\.test\\.|\\.stories\\.' && node scripts/fix-dist-specifiers.mjs && node scripts/verify-no-walletconnect.mjs dist types",
137
+ "build:webview": "vite build --config webview/vite.config.ts && mv -f assets/index.html assets/webview.html && node scripts/verify-no-walletconnect.mjs assets/webview.html",
126
138
  "build:mock-wallet": "vite build --config webview-mock-wallet/vite.config.ts && mv -f assets/index.html assets/mock-wallet.html",
127
139
  "test": "vitest run --coverage --coverage.provider=v8 --coverage.reporter=text --coverage.reporter=lcov --coverage.reporter=html"
128
140
  }
@@ -0,0 +1,390 @@
1
+ import { mkdtempSync, readdirSync, readFileSync, rmSync } from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import { tmpdir } from "node:os";
4
+ import { dirname, join } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import { runInThisContext } from "node:vm";
7
+
8
+ import type { Plugin as EsbuildPlugin } from "esbuild";
9
+ import {
10
+ build,
11
+ type InlineConfig,
12
+ optimizeDeps,
13
+ type Plugin,
14
+ type Rolldown,
15
+ resolveConfig,
16
+ } from "vite";
17
+ import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
18
+
19
+ import { metaMaskConnectTimeoutsEsbuild } from "../esbuild";
20
+ import { metaMaskConnectTimeouts } from "../vite";
21
+ import {
22
+ createMetaMaskConnectTimeoutTracker,
23
+ patchMetaMaskConnectTimeouts,
24
+ } from "./metaMaskConnectTimeouts";
25
+
26
+ const web3Root = fileURLToPath(new URL("../..", import.meta.url));
27
+ const requireHere = createRequire(import.meta.url);
28
+
29
+ const multichainPkg = "@metamask/connect-multichain";
30
+ const dappClientPkg = "@metamask/mobile-wallet-protocol-dapp-client";
31
+
32
+ /** Every JS file a package's root export can resolve to, whatever the bundler's conditions. */
33
+ function exportedFiles(pkgDir: string): string[] {
34
+ const { exports } = JSON.parse(readFileSync(join(pkgDir, "package.json"), "utf8"));
35
+ const files = new Set<string>();
36
+ const walk = (node: unknown) => {
37
+ if (typeof node === "string") {
38
+ if (/\.[cm]?js$/.test(node)) files.add(join(pkgDir, node));
39
+ } else if (node && typeof node === "object") Object.values(node).forEach(walk);
40
+ };
41
+ walk(exports["."]);
42
+ return [...files];
43
+ }
44
+
45
+ const multichainDir = dirname(requireHere.resolve(`${multichainPkg}/package.json`));
46
+ const dappClientDir = join(dirname(requireHere.resolve(dappClientPkg)), "..");
47
+ const connectEvmEntry = requireHere.resolve("@metamask/connect-evm");
48
+ const multichainFiles = exportedFiles(multichainDir);
49
+ const dappClientFiles = exportedFiles(dappClientDir);
50
+ const read = (file: string) => readFileSync(file, "utf8");
51
+
52
+ const pageLoadResume =
53
+ /resumeSession_fn = function\(session, options\)[\s\S]*?isContinuingPriorAttempt \? this\.options\.resumeTimeout : options \? this\.options\.connectionTimeout : 120 \* 1e3/;
54
+ const stockConnectionTimer =
55
+ /isContinuingPriorAttempt \? this\.options\.resumeTimeout : this\.options\.connectionTimeout/g;
56
+
57
+ describe("the timer patches on the installed MetaMask Connect", () => {
58
+ it("finds every entry file the bundlers can pick", () => {
59
+ expect(multichainFiles.length).toBeGreaterThanOrEqual(4);
60
+ expect(dappClientFiles.length).toBeGreaterThanOrEqual(2);
61
+ });
62
+
63
+ it("raises the request timer to 600 s and the handshake timer to 540 s", () => {
64
+ for (const file of multichainFiles) {
65
+ const tracker = createMetaMaskConnectTimeoutTracker();
66
+ tracker.see(connectEvmEntry);
67
+ const code = read(file);
68
+ expect(code).toMatch(/DEFAULT_REQUEST_TIMEOUT\d* = 60 \* 1e3;\s+CONNECTION_GRACE_PERIOD =/);
69
+ const patched = tracker.patch(file, code)!.code;
70
+ expect(patched).toMatch(
71
+ /DEFAULT_REQUEST_TIMEOUT\d* = 600 \* 1e3;\s+CONNECTION_GRACE_PERIOD = 60 \* 1e3;/,
72
+ );
73
+ for (const dapp of dappClientFiles) tracker.patch(dapp, read(dapp));
74
+ expect(tracker.problem()).toBeUndefined();
75
+ }
76
+ for (const file of dappClientFiles) {
77
+ const code = read(file);
78
+ expect(code).toContain("HANDSHAKE_TIMEOUT = 60 * 1e3;");
79
+ const patched = patchMetaMaskConnectTimeouts(file, code)!.code;
80
+ expect(patched).toContain("HANDSHAKE_TIMEOUT = 540 * 1e3;");
81
+ expect(patched).not.toContain("HANDSHAKE_TIMEOUT = 60 * 1e3;");
82
+ }
83
+ });
84
+
85
+ it("gives only the option-less page-load resume the stock 120 s", () => {
86
+ for (const file of multichainFiles) {
87
+ const code = read(file);
88
+ expect(code.match(stockConnectionTimer)).toHaveLength(2);
89
+ const patched = patchMetaMaskConnectTimeouts(file, code)!.code;
90
+ expect(patched).toMatch(pageLoadResume);
91
+ // startSession (a new connect) keeps the long connection timer.
92
+ expect(patched.match(stockConnectionTimer)).toHaveLength(1);
93
+ expect(patched.indexOf("startSession_fn = function")).toBeLessThan(
94
+ patched.search(stockConnectionTimer),
95
+ );
96
+ }
97
+ });
98
+
99
+ it("fails the build when a package renames the marker it looks for", () => {
100
+ const [multichain] = multichainFiles;
101
+ const [dappClient] = dappClientFiles;
102
+
103
+ const renamedGrace = createMetaMaskConnectTimeoutTracker();
104
+ renamedGrace.see(connectEvmEntry);
105
+ expect(
106
+ renamedGrace.patch(
107
+ multichain!,
108
+ read(multichain!).replaceAll("CONNECTION_GRACE_PERIOD", "CONNECTION_GRACE_MS"),
109
+ ),
110
+ ).toBeUndefined();
111
+ renamedGrace.patch(dappClient!, read(dappClient!));
112
+ expect(renamedGrace.problem()).toMatch(
113
+ /left the timers in @metamask\/connect-multichain unpatched/,
114
+ );
115
+
116
+ const renamedHandshake = createMetaMaskConnectTimeoutTracker();
117
+ renamedHandshake.see(connectEvmEntry);
118
+ renamedHandshake.patch(multichain!, read(multichain!));
119
+ renamedHandshake.patch(
120
+ dappClient!,
121
+ read(dappClient!).replaceAll("HANDSHAKE_TIMEOUT", "HANDSHAKE_GRACE"),
122
+ );
123
+ expect(renamedHandshake.problem()).toMatch(
124
+ /left the timers in @metamask\/mobile-wallet-protocol-dapp-client unpatched/,
125
+ );
126
+ });
127
+
128
+ it("throws when a timer changed its value", () => {
129
+ const [multichain] = multichainFiles;
130
+ const [dappClient] = dappClientFiles;
131
+ const code = read(multichain!);
132
+
133
+ expect(() =>
134
+ patchMetaMaskConnectTimeouts(
135
+ multichain!,
136
+ code.replace(/(DEFAULT_REQUEST_TIMEOUT\d*) = 60 \* 1e3;/, "$1 = 90 * 1e3;"),
137
+ ),
138
+ ).toThrow(/timer DEFAULT_REQUEST_TIMEOUT not found/);
139
+ expect(() =>
140
+ patchMetaMaskConnectTimeouts(
141
+ dappClient!,
142
+ read(dappClient!).replace("HANDSHAKE_TIMEOUT = 60 * 1e3;", "HANDSHAKE_TIMEOUT = 45 * 1e3;"),
143
+ ),
144
+ ).toThrow(/timer HANDSHAKE_TIMEOUT not found/);
145
+ // A resume that no longer reads the connection timer must not send the
146
+ // rewrite on to startSession's copy of the expression.
147
+ expect(() =>
148
+ patchMetaMaskConnectTimeouts(
149
+ multichain!,
150
+ code.replace(stockConnectionTimer, (match, offset: number) =>
151
+ offset < code.indexOf("startSession_fn = function")
152
+ ? "isContinuingPriorAttempt ? this.options.resumeTimeout : this.options.handshakeTimeout"
153
+ : match,
154
+ ),
155
+ ),
156
+ ).toThrow(/timer the page-load session resume not found/);
157
+ });
158
+ });
159
+
160
+ type MWPTransportClass = new (
161
+ dappClient: unknown,
162
+ kvstore: unknown,
163
+ ) => {
164
+ options: { requestTimeout: number; connectionTimeout: number; resumeTimeout: number };
165
+ getActiveSession(): Promise<unknown>;
166
+ connect(options?: { scopes: string[]; caipAccountIds: string[] }): Promise<void>;
167
+ };
168
+
169
+ /** connect-multichain's MWPTransport from its node build, with the timer patch applied. */
170
+ function loadPatchedMWPTransport() {
171
+ const file = requireHere.resolve(multichainPkg);
172
+ const code = patchMetaMaskConnectTimeouts(file, read(file))!.code;
173
+ const requireThere = createRequire(file);
174
+ const wrapper = runInThisContext(
175
+ `(function (module, exports, require, __filename, __dirname) {${code}\nreturn (init_mwp(), MWPTransport);\n})`,
176
+ { filename: file },
177
+ );
178
+ const module = { exports: {} };
179
+ const MWPTransport: MWPTransportClass = wrapper(
180
+ module,
181
+ module.exports,
182
+ requireThere,
183
+ file,
184
+ dirname(file),
185
+ );
186
+ const { TransportTimeoutError } = requireThere("@metamask/multichain-api-client");
187
+ return { MWPTransport, TransportTimeoutError: TransportTimeoutError as new () => Error };
188
+ }
189
+
190
+ describe("the patched MetaMask Connect transport", () => {
191
+ const { MWPTransport, TransportTimeoutError } = loadPatchedMWPTransport();
192
+
193
+ function transport(storedSession: boolean) {
194
+ // A relay that never answers: nothing resumes, nothing connects.
195
+ const dappClient = {
196
+ state: "DISCONNECTED",
197
+ on: vi.fn(),
198
+ off: vi.fn(),
199
+ once: vi.fn(),
200
+ resume: () => new Promise(() => undefined),
201
+ connect: () => new Promise(() => undefined),
202
+ disconnect: vi.fn(async () => undefined),
203
+ sendRequest: vi.fn(async () => undefined),
204
+ };
205
+ const store = new Map<string, string>();
206
+ const kvstore = {
207
+ get: async (key: string) => store.get(key) ?? null,
208
+ set: async (key: string, value: string) => void store.set(key, value),
209
+ delete: async (key: string) => void store.delete(key),
210
+ };
211
+ const mwp = new MWPTransport(dappClient, kvstore);
212
+ mwp.getActiveSession = async () => (storedSession ? { id: "stored" } : undefined);
213
+ return mwp;
214
+ }
215
+
216
+ function settle(promise: Promise<unknown>) {
217
+ const state: { error?: unknown; settled: boolean } = { settled: false };
218
+ promise.then(
219
+ () => Object.assign(state, { settled: true }),
220
+ (error) => Object.assign(state, { settled: true, error }),
221
+ );
222
+ return state;
223
+ }
224
+
225
+ afterEach(() => vi.useRealTimers());
226
+
227
+ it("waits 600 s for a reply and 660 s for a connection", () => {
228
+ expect(transport(false).options).toMatchObject({
229
+ requestTimeout: 600_000,
230
+ connectionTimeout: 660_000,
231
+ });
232
+ });
233
+
234
+ it("gives up on resuming a stored session on page load after 120 s", async () => {
235
+ vi.useFakeTimers();
236
+ const pageLoad = settle(transport(true).connect());
237
+ await vi.advanceTimersByTimeAsync(119_999);
238
+ expect(pageLoad.settled).toBe(false);
239
+ await vi.advanceTimersByTimeAsync(1);
240
+ expect(pageLoad.error).toBeInstanceOf(TransportTimeoutError);
241
+ });
242
+
243
+ it("keeps a connect on a stored session open for 660 s", async () => {
244
+ vi.useFakeTimers();
245
+ const connect = settle(transport(true).connect({ scopes: ["eip155:1"], caipAccountIds: [] }));
246
+ await vi.advanceTimersByTimeAsync(659_999);
247
+ expect(connect.settled).toBe(false);
248
+ await vi.advanceTimersByTimeAsync(1);
249
+ expect(connect.error).toBeInstanceOf(TransportTimeoutError);
250
+ });
251
+
252
+ it("keeps a new connect open for 660 s", async () => {
253
+ vi.useFakeTimers();
254
+ const connect = settle(transport(false).connect({ scopes: ["eip155:1"], caipAccountIds: [] }));
255
+ await vi.advanceTimersByTimeAsync(659_999);
256
+ expect(connect.settled).toBe(false);
257
+ await vi.advanceTimersByTimeAsync(1);
258
+ expect(connect.error).toBeInstanceOf(TransportTimeoutError);
259
+ });
260
+ });
261
+
262
+ const entryId = "mpo-web3-timer-entry";
263
+ const entrySource = 'export { createEVMClient } from "@metamask/connect-evm";';
264
+
265
+ const entry: Plugin = {
266
+ name: "entry",
267
+ enforce: "pre",
268
+ resolveId: (id) => (id === entryId ? `\0${entryId}` : null),
269
+ load: (id) => (id === `\0${entryId}` ? entrySource : null),
270
+ };
271
+
272
+ /** Stands in for a MetaMask Connect release that renamed the marker the patch looks for. */
273
+ const renameGracePeriod: Plugin = {
274
+ name: "rename-grace-period",
275
+ enforce: "pre",
276
+ transform: (code, id) =>
277
+ id.replace(/\\/g, "/").includes(`/${multichainPkg}/`)
278
+ ? code.replaceAll("CONNECTION_GRACE_PERIOD", "CONNECTION_GRACE_MS")
279
+ : null,
280
+ };
281
+
282
+ function expectLongTimers(code: string) {
283
+ expect(code).toMatch(/DEFAULT_REQUEST_TIMEOUT[\w$]* = 600 \* 1e3;\s+CONNECTION_GRACE_PERIOD/);
284
+ expect(code).toMatch(/HANDSHAKE_TIMEOUT[\w$]* = 540 \* 1e3;/);
285
+ expect(code).toMatch(/resumeTimeout : [\w$]+ \? this\.options\.connectionTimeout : 120 \* 1e3/);
286
+ expect(code).not.toMatch(/DEFAULT_REQUEST_TIMEOUT[\w$]* = 60 \* 1e3;\s+CONNECTION_GRACE_PERIOD/);
287
+ expect(code).not.toMatch(/HANDSHAKE_TIMEOUT[\w$]* = 60 \* 1e3;/);
288
+ }
289
+
290
+ function viteBuild(plugins: Plugin[]) {
291
+ return build({
292
+ configFile: false,
293
+ logLevel: "silent",
294
+ root: web3Root,
295
+ publicDir: false,
296
+ plugins,
297
+ build: {
298
+ write: false,
299
+ minify: false,
300
+ rolldownOptions: { input: entryId, preserveEntrySignatures: "exports-only" },
301
+ },
302
+ }) as Promise<Rolldown.RolldownOutput>;
303
+ }
304
+
305
+ describe("the bundler plugins", () => {
306
+ const cacheDirs: string[] = [];
307
+ afterAll(() => {
308
+ for (const dir of cacheDirs) rmSync(dir, { recursive: true, force: true });
309
+ });
310
+
311
+ it("ships the long timers in a vite build", async () => {
312
+ const output = await viteBuild([entry, metaMaskConnectTimeouts()]);
313
+ expectLongTimers(output.output.map((chunk) => ("code" in chunk ? chunk.code : "")).join("\n"));
314
+ }, 120_000);
315
+
316
+ it("fails a vite build that bundles MetaMask Connect with a marker gone", async () => {
317
+ await expect(viteBuild([entry, renameGracePeriod, metaMaskConnectTimeouts()])).rejects.toThrow(
318
+ /left the timers in @metamask\/connect-multichain unpatched/,
319
+ );
320
+ }, 120_000);
321
+
322
+ async function preBundle(extra: Plugin[]) {
323
+ const cacheDir = mkdtempSync(join(tmpdir(), "mpo-web3-timers-"));
324
+ cacheDirs.push(cacheDir);
325
+ const inline: InlineConfig = {
326
+ configFile: false,
327
+ logLevel: "silent",
328
+ root: web3Root,
329
+ cacheDir,
330
+ optimizeDeps: {
331
+ include: ["@metamask/connect-evm"],
332
+ noDiscovery: true,
333
+ rolldownOptions: { plugins: extra },
334
+ },
335
+ plugins: [metaMaskConnectTimeouts()],
336
+ };
337
+ await optimizeDeps(await resolveConfig(inline, "serve"), true);
338
+ const deps = join(cacheDir, "deps");
339
+ return readdirSync(deps)
340
+ .filter((file) => file.endsWith(".js"))
341
+ .map((file) => readFileSync(join(deps, file), "utf8"))
342
+ .join("\n");
343
+ }
344
+
345
+ it("ships the long timers in the dev server's dependency pre-bundle", async () => {
346
+ expectLongTimers(await preBundle([]));
347
+ }, 120_000);
348
+
349
+ it("fails the dev server's pre-bundle when a marker is gone", async () => {
350
+ await expect(preBundle([renameGracePeriod])).rejects.toThrow(
351
+ /left the timers in @metamask\/connect-multichain unpatched/,
352
+ );
353
+ }, 120_000);
354
+
355
+ async function esbuildBundle(before: EsbuildPlugin[] = []) {
356
+ const esbuild = await import("esbuild");
357
+ const result = await esbuild.build({
358
+ stdin: { contents: entrySource, resolveDir: web3Root },
359
+ bundle: true,
360
+ write: false,
361
+ format: "esm",
362
+ platform: "browser",
363
+ logLevel: "silent",
364
+ plugins: [...before, metaMaskConnectTimeoutsEsbuild()],
365
+ });
366
+ return result.outputFiles.map((file) => file.text).join("\n");
367
+ }
368
+
369
+ it("ships the long timers in an esbuild bundle", async () => {
370
+ expectLongTimers(await esbuildBundle());
371
+ }, 120_000);
372
+
373
+ it("fails an esbuild bundle when a marker is gone", async () => {
374
+ const renamed: EsbuildPlugin = {
375
+ name: "rename-grace-period",
376
+ setup(build) {
377
+ build.onLoad(
378
+ { filter: /[\\/]@metamask[\\/]connect-multichain[\\/].*\.[cm]?js$/ },
379
+ (args) => ({
380
+ contents: read(args.path).replaceAll("CONNECTION_GRACE_PERIOD", "CONNECTION_GRACE_MS"),
381
+ loader: "js",
382
+ }),
383
+ );
384
+ },
385
+ };
386
+ await expect(esbuildBundle([renamed])).rejects.toThrow(
387
+ /left the timers in @metamask\/connect-multichain unpatched/,
388
+ );
389
+ }, 120_000);
390
+ });
@@ -0,0 +1,126 @@
1
+ // MetaMask Connect gives up on the wallet after fixed timers it has no option
2
+ // for: a request's reply after 60 s, and the connect handshake 60 s after its
3
+ // 60 s session request expires. Both are module constants (connect-multichain
4
+ // builds its MWPTransport without options), so the only way to move them is to
5
+ // rewrite the constant in the bundled source. On Android 16 the browser has no
6
+ // network while MetaMask is in front, so the wallet's answer waits in the relay
7
+ // until the user switches back; a user who lingered in MetaMask lost the request
8
+ // to those timers. Both become ten minutes (540 s + the 60 s session expiry).
9
+ //
10
+ // The connection timer is the request timer plus 60 s, so it grows to 660 s with
11
+ // it. That is right for a connect the user is approving in MetaMask, but the same
12
+ // timer bounds resuming a stored session on page load, where nobody is in
13
+ // MetaMask and connector calls wait on the resume. The resume made without
14
+ // connect options (the page-load one) keeps the stock 120 s.
15
+ //
16
+ // A pattern that stops matching fails the build instead of quietly shipping the
17
+ // short timers again.
18
+
19
+ export type MetaMaskConnectTimerRewrite = {
20
+ /** The timer, as a build error names it. */
21
+ timer: string;
22
+ pattern: RegExp;
23
+ replacement: string;
24
+ };
25
+
26
+ export type MetaMaskConnectTimeoutPatch = {
27
+ pkg: string;
28
+ marker: string;
29
+ rewrites: readonly MetaMaskConnectTimerRewrite[];
30
+ };
31
+
32
+ export const metaMaskConnectTimeoutPatches: readonly MetaMaskConnectTimeoutPatch[] = [
33
+ {
34
+ pkg: "@metamask/connect-multichain",
35
+ marker: "CONNECTION_GRACE_PERIOD",
36
+ rewrites: [
37
+ {
38
+ timer: "DEFAULT_REQUEST_TIMEOUT",
39
+ pattern: /(DEFAULT_REQUEST_TIMEOUT\d*) = 60 \* 1e3;(\s+CONNECTION_GRACE_PERIOD =)/,
40
+ replacement: "$1 = 600 * 1e3;$2",
41
+ },
42
+ {
43
+ timer: "the page-load session resume",
44
+ pattern:
45
+ /(resumeSession_fn = function\((\w+), (\w+)\)(?:(?!startSession_fn)[\s\S])*?isContinuingPriorAttempt \? this\.options\.resumeTimeout : )this\.options\.connectionTimeout/,
46
+ replacement: "$1$3 ? this.options.connectionTimeout : 120 * 1e3",
47
+ },
48
+ ],
49
+ },
50
+ {
51
+ pkg: "@metamask/mobile-wallet-protocol-dapp-client",
52
+ marker: "HANDSHAKE_TIMEOUT",
53
+ rewrites: [
54
+ {
55
+ timer: "HANDSHAKE_TIMEOUT",
56
+ pattern: /(HANDSHAKE_TIMEOUT) = 60 \* 1e3;/,
57
+ replacement: "$1 = 540 * 1e3;",
58
+ },
59
+ ],
60
+ },
61
+ ];
62
+
63
+ const metaMaskConnectPkg = "@metamask/connect-evm";
64
+
65
+ const normalize = (id: string) => id.replace(/\\/g, "/");
66
+
67
+ /** Which timer patch a module needs, or undefined when it carries none. */
68
+ export function metaMaskConnectTimeoutPatchFor(
69
+ id: string,
70
+ code: string,
71
+ ): MetaMaskConnectTimeoutPatch | undefined {
72
+ const path = normalize(id);
73
+ return metaMaskConnectTimeoutPatches.find(
74
+ (patch) => path.includes(`/${patch.pkg}/`) && code.includes(patch.marker),
75
+ );
76
+ }
77
+
78
+ /**
79
+ * Raise the timers in one module's source. Returns undefined for a module that
80
+ * holds no timer, and throws when a module holds one the patterns no longer match.
81
+ */
82
+ export function patchMetaMaskConnectTimeouts(
83
+ id: string,
84
+ code: string,
85
+ ): { pkg: string; code: string } | undefined {
86
+ const patch = metaMaskConnectTimeoutPatchFor(id, code);
87
+ if (!patch) return undefined;
88
+ let patched = code;
89
+ for (const rewrite of patch.rewrites) {
90
+ if (!rewrite.pattern.test(patched))
91
+ throw new Error(
92
+ `MetaMask Connect timer ${rewrite.timer} not found in ${id}: ${patch.pkg} changed its source, so the long Android timers cannot be applied`,
93
+ );
94
+ patched = patched.replace(rewrite.pattern, rewrite.replacement);
95
+ }
96
+ return { pkg: patch.pkg, code: patched };
97
+ }
98
+
99
+ /**
100
+ * Counts what one build patched, so the build can refuse to ship MetaMask Connect
101
+ * with a timer left short (a package renamed the marker the patch looks for).
102
+ */
103
+ export function createMetaMaskConnectTimeoutTracker() {
104
+ const patched = new Map<string, number>();
105
+ let bundlesMetaMaskConnect = false;
106
+ return {
107
+ see(id: string) {
108
+ if (normalize(id).includes(`/${metaMaskConnectPkg}/`)) bundlesMetaMaskConnect = true;
109
+ },
110
+ patch(id: string, code: string) {
111
+ this.see(id);
112
+ const result = patchMetaMaskConnectTimeouts(id, code);
113
+ if (result) patched.set(result.pkg, (patched.get(result.pkg) ?? 0) + 1);
114
+ return result;
115
+ },
116
+ /** Error text when the build bundles MetaMask Connect with a timer left unpatched. */
117
+ problem(): string | undefined {
118
+ if (!bundlesMetaMaskConnect) return undefined;
119
+ const missing = metaMaskConnectTimeoutPatches
120
+ .map((patch) => patch.pkg)
121
+ .filter((pkg) => !patched.get(pkg));
122
+ if (!missing.length) return undefined;
123
+ return `the build bundles ${metaMaskConnectPkg} but left the timers in ${missing.join(", ")} unpatched`;
124
+ },
125
+ };
126
+ }
@@ -9,7 +9,7 @@
9
9
  // base64(message); message is the SIWS text; address == base58 ed25519 pubkey.
10
10
  //
11
11
  // (A future system-browser / Mobile-Wallet-Adapter path — the Solana analogue
12
- // of WalletConnect — would be a separate adapter, same as the Ethereum gap.)
12
+ // of a relay — would be a separate adapter, same as the Ethereum gap.)
13
13
 
14
14
  import type { SignInMessageOptions, WalletAdapter, WalletAddress } from "./types";
15
15
 
@@ -19,7 +19,7 @@ export interface WalletEntry {
19
19
  /**
20
20
  * Detect the non-EVM wallets present in the page (Solana / Sui / Bitcoin). EVM
21
21
  * wallets are intentionally NOT returned here — they are handled natively by
22
- * wagmi's EIP-6963 / Coinbase / WalletConnect connectors. One entry per
22
+ * wagmi's EIP-6963 / Coinbase / MetaMask connectors. One entry per
23
23
  * (ecosystem, primary wallet); each carries a ready wallet adapter.
24
24
  */
25
25
  export function discoverWallets(): WalletEntry[] {