@multiplatform.one/web3 7.26.0 → 7.28.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 (714) hide show
  1. package/README.md +157 -8
  2. package/dist/cjs/bridge/base58.cjs +48 -0
  3. package/dist/cjs/bridge/base58.native.js +51 -0
  4. package/dist/cjs/bridge/base58.native.js.map +1 -0
  5. package/dist/cjs/bridge/core.cjs +5 -1
  6. package/dist/cjs/bridge/core.native.js +5 -1
  7. package/dist/cjs/bridge/core.native.js.map +1 -1
  8. package/dist/cjs/bridge/drivers.cjs +141 -0
  9. package/dist/cjs/bridge/drivers.native.js +161 -0
  10. package/dist/cjs/bridge/drivers.native.js.map +1 -0
  11. package/dist/cjs/bridge/nativeHost.cjs +49 -9
  12. package/dist/cjs/bridge/nativeHost.native.js +56 -9
  13. package/dist/cjs/bridge/nativeHost.native.js.map +1 -1
  14. package/dist/cjs/clients/adapter.native.js.map +1 -1
  15. package/dist/cjs/clients/connector.native.js.map +1 -1
  16. package/dist/cjs/clients/evm.cjs +1 -0
  17. package/dist/cjs/clients/evm.native.js +1 -0
  18. package/dist/cjs/clients/evm.native.js.map +1 -1
  19. package/dist/cjs/clients/evmRead.cjs +104 -0
  20. package/dist/cjs/clients/evmRead.native.js +124 -0
  21. package/dist/cjs/clients/evmRead.native.js.map +1 -0
  22. package/dist/cjs/clients/hooks.cjs +37 -7
  23. package/dist/cjs/clients/hooks.native.js +43 -5
  24. package/dist/cjs/clients/hooks.native.js.map +1 -1
  25. package/dist/cjs/clients/index.cjs +5 -0
  26. package/dist/cjs/clients/index.native.js +5 -0
  27. package/dist/cjs/clients/index.native.js.map +1 -1
  28. package/dist/cjs/clients/types.cjs +7 -0
  29. package/dist/cjs/clients/types.native.js +14 -0
  30. package/dist/cjs/clients/types.native.js.map +1 -1
  31. package/dist/cjs/connectkit/adapters/BitcoinAdapter.cjs +44 -2
  32. package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js +73 -5
  33. package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  34. package/dist/cjs/connectkit/adapters/SolanaAdapter.cjs +46 -0
  35. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js +55 -0
  36. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  37. package/dist/cjs/connectkit/adapters/SuiAdapter.cjs +40 -0
  38. package/dist/cjs/connectkit/adapters/SuiAdapter.native.js +50 -0
  39. package/dist/cjs/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  40. package/dist/cjs/connectkit/connectors/ensureWalletConnectors.cjs +4 -1
  41. package/dist/cjs/connectkit/connectors/ensureWalletConnectors.native.js +8 -1
  42. package/dist/cjs/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  43. package/dist/cjs/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
  44. package/dist/cjs/connectkit/connectors/syntheticChains.native.js.map +1 -1
  45. package/dist/cjs/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
  46. package/dist/cjs/connectkit/defaultConfig.cjs +5 -2
  47. package/dist/cjs/connectkit/defaultConfig.native.js +9 -2
  48. package/dist/cjs/connectkit/defaultConfig.native.js.map +1 -1
  49. package/dist/cjs/connectkit/siwe/SIWEContext.native.js.map +1 -1
  50. package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +6 -4
  51. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +8 -4
  52. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  53. package/dist/cjs/connectkit/siwe/connectIntent.cjs +56 -16
  54. package/dist/cjs/connectkit/siwe/connectIntent.native.js +100 -16
  55. package/dist/cjs/connectkit/siwe/connectIntent.native.js.map +1 -1
  56. package/dist/cjs/connectkit/siwe/useSIWE.native.js.map +1 -1
  57. package/dist/cjs/connectkit/web3Bridge.cjs +58 -12
  58. package/dist/cjs/connectkit/web3Bridge.native.js +64 -14
  59. package/dist/cjs/connectkit/web3Bridge.native.js.map +1 -1
  60. package/dist/cjs/core/family.cjs +17 -0
  61. package/dist/cjs/core/family.native.js +17 -0
  62. package/dist/cjs/core/family.native.js.map +1 -1
  63. package/dist/cjs/core/index.cjs +10 -1
  64. package/dist/cjs/core/index.native.js +10 -1
  65. package/dist/cjs/core/index.native.js.map +1 -1
  66. package/dist/cjs/core/lightDriver.cjs +182 -0
  67. package/dist/cjs/core/lightDriver.native.js +260 -0
  68. package/dist/cjs/core/lightDriver.native.js.map +1 -0
  69. package/dist/cjs/core/react.cjs +12 -1
  70. package/dist/cjs/core/react.native.js +16 -1
  71. package/dist/cjs/core/react.native.js.map +1 -1
  72. package/dist/cjs/core/signIn.cjs +201 -0
  73. package/dist/cjs/core/signIn.native.js +240 -0
  74. package/dist/cjs/core/signIn.native.js.map +1 -0
  75. package/dist/cjs/core/store.cjs +47 -2
  76. package/dist/cjs/core/store.native.js +49 -2
  77. package/dist/cjs/core/store.native.js.map +1 -1
  78. package/dist/cjs/families/btc.cjs +44 -0
  79. package/dist/cjs/families/btc.native.js +49 -0
  80. package/dist/cjs/families/btc.native.js.map +1 -0
  81. package/dist/cjs/families/eth.cjs +57 -0
  82. package/dist/cjs/families/eth.native.js +61 -0
  83. package/dist/cjs/families/eth.native.js.map +1 -0
  84. package/dist/cjs/families/gpg.cjs +40 -0
  85. package/dist/cjs/families/gpg.native.js +43 -0
  86. package/dist/cjs/families/gpg.native.js.map +1 -0
  87. package/dist/cjs/families/host.cjs +38 -0
  88. package/dist/cjs/families/host.native.js +41 -0
  89. package/dist/cjs/families/host.native.js.map +1 -0
  90. package/dist/cjs/families/index.cjs +53 -0
  91. package/dist/cjs/families/index.native.js +56 -0
  92. package/dist/cjs/families/index.native.js.map +1 -0
  93. package/dist/cjs/families/messages.cjs +61 -0
  94. package/dist/cjs/families/messages.native.js +66 -0
  95. package/dist/cjs/families/messages.native.js.map +1 -0
  96. package/dist/cjs/families/sol.cjs +55 -0
  97. package/dist/cjs/families/sol.native.js +64 -0
  98. package/dist/cjs/families/sol.native.js.map +1 -0
  99. package/dist/cjs/families/sui.cjs +48 -0
  100. package/dist/cjs/families/sui.native.js +53 -0
  101. package/dist/cjs/families/sui.native.js.map +1 -0
  102. package/dist/cjs/index.cjs +22 -2
  103. package/dist/cjs/index.native.js +21 -1
  104. package/dist/cjs/index.native.js.map +1 -1
  105. package/dist/cjs/keycloak/keycloakWallet.cjs +13 -0
  106. package/dist/cjs/keycloak/keycloakWallet.native.js +15 -0
  107. package/dist/cjs/keycloak/keycloakWallet.native.js.map +1 -1
  108. package/dist/cjs/keycloak/useDirectLogin.cjs +10 -5
  109. package/dist/cjs/keycloak/useDirectLogin.native.js +12 -5
  110. package/dist/cjs/keycloak/useDirectLogin.native.js.map +1 -1
  111. package/dist/cjs/keycloak/useWalletLogin.cjs +16 -8
  112. package/dist/cjs/light/drivers.cjs +73 -0
  113. package/dist/cjs/light/drivers.native.js +97 -0
  114. package/dist/cjs/light/drivers.native.js.map +1 -0
  115. package/dist/cjs/light/index.cjs +30 -0
  116. package/dist/cjs/light/index.native.js +33 -0
  117. package/dist/cjs/light/index.native.js.map +1 -0
  118. package/dist/cjs/providers/WalletProvider.cjs +59 -17
  119. package/dist/cjs/providers/WalletProvider.native.js +99 -56
  120. package/dist/cjs/providers/WalletProvider.native.js.map +1 -1
  121. package/dist/cjs/providers/families.cjs +53 -0
  122. package/dist/cjs/providers/families.native.js +59 -0
  123. package/dist/cjs/providers/families.native.js.map +1 -0
  124. package/dist/cjs/providers/index.cjs +1 -0
  125. package/dist/cjs/providers/index.native.js +1 -0
  126. package/dist/cjs/providers/index.native.js.map +1 -1
  127. package/dist/cjs/providers/walletConfig.cjs +41 -0
  128. package/dist/cjs/providers/walletConfig.native.js +68 -0
  129. package/dist/cjs/providers/walletConfig.native.js.map +1 -1
  130. package/dist/cjs/wagmi/driver.cjs +257 -0
  131. package/dist/cjs/wagmi/driver.native.js +331 -0
  132. package/dist/cjs/wagmi/driver.native.js.map +1 -0
  133. package/dist/cjs/wagmi/host.cjs +239 -0
  134. package/dist/cjs/wagmi/host.native.js +320 -0
  135. package/dist/cjs/wagmi/host.native.js.map +1 -0
  136. package/dist/cjs/wagmi/index.cjs +28 -0
  137. package/dist/cjs/wagmi/index.native.js +31 -0
  138. package/dist/cjs/wagmi/index.native.js.map +1 -0
  139. package/dist/cjs/web.cjs +84 -0
  140. package/dist/esm/bridge/base58.mjs +23 -0
  141. package/dist/esm/bridge/base58.mjs.map +1 -0
  142. package/dist/esm/bridge/base58.native.js +23 -0
  143. package/dist/esm/bridge/base58.native.js.map +1 -0
  144. package/dist/esm/bridge/core.mjs +3 -2
  145. package/dist/esm/bridge/core.mjs.map +1 -1
  146. package/dist/esm/bridge/core.native.js +3 -2
  147. package/dist/esm/bridge/core.native.js.map +1 -1
  148. package/dist/esm/bridge/drivers.mjs +113 -0
  149. package/dist/esm/bridge/drivers.mjs.map +1 -0
  150. package/dist/esm/bridge/drivers.native.js +130 -0
  151. package/dist/esm/bridge/drivers.native.js.map +1 -0
  152. package/dist/esm/bridge/nativeHost.mjs +50 -11
  153. package/dist/esm/bridge/nativeHost.mjs.map +1 -1
  154. package/dist/esm/bridge/nativeHost.native.js +57 -11
  155. package/dist/esm/bridge/nativeHost.native.js.map +1 -1
  156. package/dist/esm/clients/adapter.mjs.map +1 -1
  157. package/dist/esm/clients/adapter.native.js.map +1 -1
  158. package/dist/esm/clients/connector.mjs.map +1 -1
  159. package/dist/esm/clients/connector.native.js.map +1 -1
  160. package/dist/esm/clients/evm.mjs +1 -0
  161. package/dist/esm/clients/evm.mjs.map +1 -1
  162. package/dist/esm/clients/evm.native.js +1 -0
  163. package/dist/esm/clients/evm.native.js.map +1 -1
  164. package/dist/esm/clients/evmRead.mjs +78 -0
  165. package/dist/esm/clients/evmRead.mjs.map +1 -0
  166. package/dist/esm/clients/evmRead.native.js +95 -0
  167. package/dist/esm/clients/evmRead.native.js.map +1 -0
  168. package/dist/esm/clients/hooks.mjs +38 -9
  169. package/dist/esm/clients/hooks.mjs.map +1 -1
  170. package/dist/esm/clients/hooks.native.js +44 -7
  171. package/dist/esm/clients/hooks.native.js.map +1 -1
  172. package/dist/esm/clients/index.mjs +4 -3
  173. package/dist/esm/clients/index.mjs.map +1 -1
  174. package/dist/esm/clients/index.native.js +4 -3
  175. package/dist/esm/clients/index.native.js.map +1 -1
  176. package/dist/esm/clients/types.mjs +7 -1
  177. package/dist/esm/clients/types.mjs.map +1 -1
  178. package/dist/esm/clients/types.native.js +14 -1
  179. package/dist/esm/clients/types.native.js.map +1 -1
  180. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs +44 -2
  181. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  182. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js +73 -5
  183. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  184. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs +46 -0
  185. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  186. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js +55 -0
  187. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  188. package/dist/esm/connectkit/adapters/SuiAdapter.mjs +40 -0
  189. package/dist/esm/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  190. package/dist/esm/connectkit/adapters/SuiAdapter.native.js +50 -0
  191. package/dist/esm/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  192. package/dist/esm/connectkit/connectors/ensureWalletConnectors.mjs +4 -1
  193. package/dist/esm/connectkit/connectors/ensureWalletConnectors.mjs.map +1 -1
  194. package/dist/esm/connectkit/connectors/ensureWalletConnectors.native.js +8 -1
  195. package/dist/esm/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  196. package/dist/esm/connectkit/connectors/getWalletConnectors.mjs.map +1 -1
  197. package/dist/esm/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
  198. package/dist/esm/connectkit/connectors/syntheticChains.mjs.map +1 -1
  199. package/dist/esm/connectkit/connectors/syntheticChains.native.js.map +1 -1
  200. package/dist/esm/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
  201. package/dist/esm/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
  202. package/dist/esm/connectkit/defaultConfig.mjs +6 -3
  203. package/dist/esm/connectkit/defaultConfig.mjs.map +1 -1
  204. package/dist/esm/connectkit/defaultConfig.native.js +10 -3
  205. package/dist/esm/connectkit/defaultConfig.native.js.map +1 -1
  206. package/dist/esm/connectkit/siwe/SIWEContext.mjs.map +1 -1
  207. package/dist/esm/connectkit/siwe/SIWEContext.native.js.map +1 -1
  208. package/dist/esm/connectkit/siwe/SIWEProvider.mjs +6 -4
  209. package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  210. package/dist/esm/connectkit/siwe/SIWEProvider.native.js +8 -4
  211. package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  212. package/dist/esm/connectkit/siwe/connectIntent.mjs +54 -16
  213. package/dist/esm/connectkit/siwe/connectIntent.mjs.map +1 -1
  214. package/dist/esm/connectkit/siwe/connectIntent.native.js +98 -16
  215. package/dist/esm/connectkit/siwe/connectIntent.native.js.map +1 -1
  216. package/dist/esm/connectkit/siwe/useSIWE.mjs.map +1 -1
  217. package/dist/esm/connectkit/siwe/useSIWE.native.js.map +1 -1
  218. package/dist/esm/connectkit/web3Bridge.mjs +61 -16
  219. package/dist/esm/connectkit/web3Bridge.mjs.map +1 -1
  220. package/dist/esm/connectkit/web3Bridge.native.js +67 -18
  221. package/dist/esm/connectkit/web3Bridge.native.js.map +1 -1
  222. package/dist/esm/core/family.mjs +17 -0
  223. package/dist/esm/core/family.mjs.map +1 -1
  224. package/dist/esm/core/family.native.js +17 -0
  225. package/dist/esm/core/family.native.js.map +1 -1
  226. package/dist/esm/core/index.mjs +5 -3
  227. package/dist/esm/core/index.mjs.map +1 -1
  228. package/dist/esm/core/index.native.js +5 -3
  229. package/dist/esm/core/index.native.js.map +1 -1
  230. package/dist/esm/core/lightDriver.mjs +157 -0
  231. package/dist/esm/core/lightDriver.mjs.map +1 -0
  232. package/dist/esm/core/lightDriver.native.js +232 -0
  233. package/dist/esm/core/lightDriver.native.js.map +1 -0
  234. package/dist/esm/core/react.mjs +10 -1
  235. package/dist/esm/core/react.mjs.map +1 -1
  236. package/dist/esm/core/react.native.js +14 -1
  237. package/dist/esm/core/react.native.js.map +1 -1
  238. package/dist/esm/core/signIn.mjs +173 -0
  239. package/dist/esm/core/signIn.mjs.map +1 -0
  240. package/dist/esm/core/signIn.native.js +209 -0
  241. package/dist/esm/core/signIn.native.js.map +1 -0
  242. package/dist/esm/core/store.mjs +47 -2
  243. package/dist/esm/core/store.mjs.map +1 -1
  244. package/dist/esm/core/store.native.js +49 -2
  245. package/dist/esm/core/store.native.js.map +1 -1
  246. package/dist/esm/families/btc.mjs +19 -0
  247. package/dist/esm/families/btc.mjs.map +1 -0
  248. package/dist/esm/families/btc.native.js +21 -0
  249. package/dist/esm/families/btc.native.js.map +1 -0
  250. package/dist/esm/families/eth.mjs +32 -0
  251. package/dist/esm/families/eth.mjs.map +1 -0
  252. package/dist/esm/families/eth.native.js +33 -0
  253. package/dist/esm/families/eth.native.js.map +1 -0
  254. package/dist/esm/families/gpg.mjs +15 -0
  255. package/dist/esm/families/gpg.mjs.map +1 -0
  256. package/dist/esm/families/gpg.native.js +15 -0
  257. package/dist/esm/families/gpg.native.js.map +1 -0
  258. package/dist/esm/families/host.mjs +12 -0
  259. package/dist/esm/families/host.mjs.map +1 -0
  260. package/dist/esm/families/host.native.js +12 -0
  261. package/dist/esm/families/host.native.js.map +1 -0
  262. package/dist/esm/families/index.mjs +23 -0
  263. package/dist/esm/families/index.mjs.map +1 -0
  264. package/dist/esm/families/index.native.js +23 -0
  265. package/dist/esm/families/index.native.js.map +1 -0
  266. package/dist/esm/families/messages.mjs +32 -0
  267. package/dist/esm/families/messages.mjs.map +1 -0
  268. package/dist/esm/families/messages.native.js +34 -0
  269. package/dist/esm/families/messages.native.js.map +1 -0
  270. package/dist/esm/families/sol.mjs +30 -0
  271. package/dist/esm/families/sol.mjs.map +1 -0
  272. package/dist/esm/families/sol.native.js +36 -0
  273. package/dist/esm/families/sol.native.js.map +1 -0
  274. package/dist/esm/families/sui.mjs +23 -0
  275. package/dist/esm/families/sui.mjs.map +1 -0
  276. package/dist/esm/families/sui.native.js +25 -0
  277. package/dist/esm/families/sui.native.js.map +1 -0
  278. package/dist/esm/index.mjs +6 -3
  279. package/dist/esm/index.mjs.map +1 -1
  280. package/dist/esm/index.native.js +6 -3
  281. package/dist/esm/index.native.js.map +1 -1
  282. package/dist/esm/keycloak/keycloakWallet.mjs +13 -0
  283. package/dist/esm/keycloak/keycloakWallet.mjs.map +1 -1
  284. package/dist/esm/keycloak/keycloakWallet.native.js +15 -0
  285. package/dist/esm/keycloak/keycloakWallet.native.js.map +1 -1
  286. package/dist/esm/keycloak/useDirectLogin.mjs +10 -5
  287. package/dist/esm/keycloak/useDirectLogin.mjs.map +1 -1
  288. package/dist/esm/keycloak/useDirectLogin.native.js +12 -5
  289. package/dist/esm/keycloak/useDirectLogin.native.js.map +1 -1
  290. package/dist/esm/keycloak/useWalletLogin.mjs +16 -8
  291. package/dist/esm/keycloak/useWalletLogin.mjs.map +1 -1
  292. package/dist/esm/light/drivers.mjs +46 -0
  293. package/dist/esm/light/drivers.mjs.map +1 -0
  294. package/dist/esm/light/drivers.native.js +67 -0
  295. package/dist/esm/light/drivers.native.js.map +1 -0
  296. package/dist/esm/light/index.mjs +3 -0
  297. package/dist/esm/light/index.mjs.map +1 -0
  298. package/dist/esm/light/index.native.js +3 -0
  299. package/dist/esm/light/index.native.js.map +1 -0
  300. package/dist/esm/providers/WalletProvider.mjs +60 -19
  301. package/dist/esm/providers/WalletProvider.mjs.map +1 -1
  302. package/dist/esm/providers/WalletProvider.native.js +101 -59
  303. package/dist/esm/providers/WalletProvider.native.js.map +1 -1
  304. package/dist/esm/providers/families.mjs +27 -0
  305. package/dist/esm/providers/families.mjs.map +1 -0
  306. package/dist/esm/providers/families.native.js +30 -0
  307. package/dist/esm/providers/families.native.js.map +1 -0
  308. package/dist/esm/providers/index.mjs +2 -2
  309. package/dist/esm/providers/index.mjs.map +1 -1
  310. package/dist/esm/providers/index.native.js +2 -2
  311. package/dist/esm/providers/index.native.js.map +1 -1
  312. package/dist/esm/providers/walletConfig.mjs +40 -1
  313. package/dist/esm/providers/walletConfig.mjs.map +1 -1
  314. package/dist/esm/providers/walletConfig.native.js +67 -1
  315. package/dist/esm/providers/walletConfig.native.js.map +1 -1
  316. package/dist/esm/wagmi/driver.mjs +232 -0
  317. package/dist/esm/wagmi/driver.mjs.map +1 -0
  318. package/dist/esm/wagmi/driver.native.js +303 -0
  319. package/dist/esm/wagmi/driver.native.js.map +1 -0
  320. package/dist/esm/wagmi/host.mjs +213 -0
  321. package/dist/esm/wagmi/host.mjs.map +1 -0
  322. package/dist/esm/wagmi/host.native.js +291 -0
  323. package/dist/esm/wagmi/host.native.js.map +1 -0
  324. package/dist/esm/wagmi/index.mjs +3 -0
  325. package/dist/esm/wagmi/index.mjs.map +1 -0
  326. package/dist/esm/wagmi/index.native.js +3 -0
  327. package/dist/esm/wagmi/index.native.js.map +1 -0
  328. package/dist/esm/web.mjs +13 -0
  329. package/dist/esm/web.mjs.map +1 -0
  330. package/dist/jsx/bridge/base58.mjs +23 -0
  331. package/dist/jsx/bridge/base58.mjs.map +1 -0
  332. package/dist/jsx/bridge/base58.native.js +51 -0
  333. package/dist/jsx/bridge/base58.native.js.map +1 -0
  334. package/dist/jsx/bridge/core.mjs +3 -2
  335. package/dist/jsx/bridge/core.mjs.map +1 -1
  336. package/dist/jsx/bridge/core.native.js +5 -1
  337. package/dist/jsx/bridge/core.native.js.map +1 -1
  338. package/dist/jsx/bridge/drivers.mjs +113 -0
  339. package/dist/jsx/bridge/drivers.mjs.map +1 -0
  340. package/dist/jsx/bridge/drivers.native.js +161 -0
  341. package/dist/jsx/bridge/drivers.native.js.map +1 -0
  342. package/dist/jsx/bridge/nativeHost.mjs +50 -11
  343. package/dist/jsx/bridge/nativeHost.mjs.map +1 -1
  344. package/dist/jsx/bridge/nativeHost.native.js +56 -9
  345. package/dist/jsx/bridge/nativeHost.native.js.map +1 -1
  346. package/dist/jsx/clients/adapter.mjs.map +1 -1
  347. package/dist/jsx/clients/adapter.native.js.map +1 -1
  348. package/dist/jsx/clients/connector.mjs.map +1 -1
  349. package/dist/jsx/clients/connector.native.js.map +1 -1
  350. package/dist/jsx/clients/evm.mjs +1 -0
  351. package/dist/jsx/clients/evm.mjs.map +1 -1
  352. package/dist/jsx/clients/evm.native.js +1 -0
  353. package/dist/jsx/clients/evm.native.js.map +1 -1
  354. package/dist/jsx/clients/evmRead.mjs +78 -0
  355. package/dist/jsx/clients/evmRead.mjs.map +1 -0
  356. package/dist/jsx/clients/evmRead.native.js +124 -0
  357. package/dist/jsx/clients/evmRead.native.js.map +1 -0
  358. package/dist/jsx/clients/hooks.mjs +38 -9
  359. package/dist/jsx/clients/hooks.mjs.map +1 -1
  360. package/dist/jsx/clients/hooks.native.js +43 -5
  361. package/dist/jsx/clients/hooks.native.js.map +1 -1
  362. package/dist/jsx/clients/index.mjs +4 -3
  363. package/dist/jsx/clients/index.mjs.map +1 -1
  364. package/dist/jsx/clients/index.native.js +5 -0
  365. package/dist/jsx/clients/index.native.js.map +1 -1
  366. package/dist/jsx/clients/types.mjs +7 -1
  367. package/dist/jsx/clients/types.mjs.map +1 -1
  368. package/dist/jsx/clients/types.native.js +14 -0
  369. package/dist/jsx/clients/types.native.js.map +1 -1
  370. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs +44 -2
  371. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  372. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js +73 -5
  373. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  374. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs +46 -0
  375. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  376. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js +55 -0
  377. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  378. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs +40 -0
  379. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  380. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js +50 -0
  381. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  382. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.mjs +4 -1
  383. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.mjs.map +1 -1
  384. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.native.js +8 -1
  385. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  386. package/dist/jsx/connectkit/connectors/getWalletConnectors.mjs.map +1 -1
  387. package/dist/jsx/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
  388. package/dist/jsx/connectkit/connectors/syntheticChains.mjs.map +1 -1
  389. package/dist/jsx/connectkit/connectors/syntheticChains.native.js.map +1 -1
  390. package/dist/jsx/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
  391. package/dist/jsx/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
  392. package/dist/jsx/connectkit/defaultConfig.mjs +6 -3
  393. package/dist/jsx/connectkit/defaultConfig.mjs.map +1 -1
  394. package/dist/jsx/connectkit/defaultConfig.native.js +9 -2
  395. package/dist/jsx/connectkit/defaultConfig.native.js.map +1 -1
  396. package/dist/jsx/connectkit/siwe/SIWEContext.mjs.map +1 -1
  397. package/dist/jsx/connectkit/siwe/SIWEContext.native.js.map +1 -1
  398. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +6 -4
  399. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  400. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +8 -4
  401. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  402. package/dist/jsx/connectkit/siwe/connectIntent.mjs +54 -16
  403. package/dist/jsx/connectkit/siwe/connectIntent.mjs.map +1 -1
  404. package/dist/jsx/connectkit/siwe/connectIntent.native.js +100 -16
  405. package/dist/jsx/connectkit/siwe/connectIntent.native.js.map +1 -1
  406. package/dist/jsx/connectkit/siwe/useSIWE.mjs.map +1 -1
  407. package/dist/jsx/connectkit/siwe/useSIWE.native.js.map +1 -1
  408. package/dist/jsx/connectkit/web3Bridge.mjs +61 -16
  409. package/dist/jsx/connectkit/web3Bridge.mjs.map +1 -1
  410. package/dist/jsx/connectkit/web3Bridge.native.js +64 -14
  411. package/dist/jsx/connectkit/web3Bridge.native.js.map +1 -1
  412. package/dist/jsx/core/family.mjs +17 -0
  413. package/dist/jsx/core/family.mjs.map +1 -1
  414. package/dist/jsx/core/family.native.js +17 -0
  415. package/dist/jsx/core/family.native.js.map +1 -1
  416. package/dist/jsx/core/index.mjs +5 -3
  417. package/dist/jsx/core/index.mjs.map +1 -1
  418. package/dist/jsx/core/index.native.js +10 -1
  419. package/dist/jsx/core/index.native.js.map +1 -1
  420. package/dist/jsx/core/lightDriver.mjs +157 -0
  421. package/dist/jsx/core/lightDriver.mjs.map +1 -0
  422. package/dist/jsx/core/lightDriver.native.js +260 -0
  423. package/dist/jsx/core/lightDriver.native.js.map +1 -0
  424. package/dist/jsx/core/react.mjs +10 -1
  425. package/dist/jsx/core/react.mjs.map +1 -1
  426. package/dist/jsx/core/react.native.js +16 -1
  427. package/dist/jsx/core/react.native.js.map +1 -1
  428. package/dist/jsx/core/signIn.mjs +173 -0
  429. package/dist/jsx/core/signIn.mjs.map +1 -0
  430. package/dist/jsx/core/signIn.native.js +240 -0
  431. package/dist/jsx/core/signIn.native.js.map +1 -0
  432. package/dist/jsx/core/store.mjs +47 -2
  433. package/dist/jsx/core/store.mjs.map +1 -1
  434. package/dist/jsx/core/store.native.js +49 -2
  435. package/dist/jsx/core/store.native.js.map +1 -1
  436. package/dist/jsx/families/btc.mjs +19 -0
  437. package/dist/jsx/families/btc.mjs.map +1 -0
  438. package/dist/jsx/families/btc.native.js +49 -0
  439. package/dist/jsx/families/btc.native.js.map +1 -0
  440. package/dist/jsx/families/eth.mjs +32 -0
  441. package/dist/jsx/families/eth.mjs.map +1 -0
  442. package/dist/jsx/families/eth.native.js +61 -0
  443. package/dist/jsx/families/eth.native.js.map +1 -0
  444. package/dist/jsx/families/gpg.mjs +15 -0
  445. package/dist/jsx/families/gpg.mjs.map +1 -0
  446. package/dist/jsx/families/gpg.native.js +43 -0
  447. package/dist/jsx/families/gpg.native.js.map +1 -0
  448. package/dist/jsx/families/host.mjs +12 -0
  449. package/dist/jsx/families/host.mjs.map +1 -0
  450. package/dist/jsx/families/host.native.js +41 -0
  451. package/dist/jsx/families/host.native.js.map +1 -0
  452. package/dist/jsx/families/index.mjs +23 -0
  453. package/dist/jsx/families/index.mjs.map +1 -0
  454. package/dist/jsx/families/index.native.js +56 -0
  455. package/dist/jsx/families/index.native.js.map +1 -0
  456. package/dist/jsx/families/messages.mjs +32 -0
  457. package/dist/jsx/families/messages.mjs.map +1 -0
  458. package/dist/jsx/families/messages.native.js +66 -0
  459. package/dist/jsx/families/messages.native.js.map +1 -0
  460. package/dist/jsx/families/sol.mjs +30 -0
  461. package/dist/jsx/families/sol.mjs.map +1 -0
  462. package/dist/jsx/families/sol.native.js +64 -0
  463. package/dist/jsx/families/sol.native.js.map +1 -0
  464. package/dist/jsx/families/sui.mjs +23 -0
  465. package/dist/jsx/families/sui.mjs.map +1 -0
  466. package/dist/jsx/families/sui.native.js +53 -0
  467. package/dist/jsx/families/sui.native.js.map +1 -0
  468. package/dist/jsx/index.js +6 -3
  469. package/dist/jsx/index.js.map +1 -1
  470. package/dist/jsx/index.mjs +6 -3
  471. package/dist/jsx/index.mjs.map +1 -1
  472. package/dist/jsx/index.native.js +21 -1
  473. package/dist/jsx/index.native.js.map +1 -1
  474. package/dist/jsx/keycloak/keycloakWallet.mjs +13 -0
  475. package/dist/jsx/keycloak/keycloakWallet.mjs.map +1 -1
  476. package/dist/jsx/keycloak/keycloakWallet.native.js +15 -0
  477. package/dist/jsx/keycloak/keycloakWallet.native.js.map +1 -1
  478. package/dist/jsx/keycloak/useDirectLogin.mjs +10 -5
  479. package/dist/jsx/keycloak/useDirectLogin.mjs.map +1 -1
  480. package/dist/jsx/keycloak/useDirectLogin.native.js +12 -5
  481. package/dist/jsx/keycloak/useDirectLogin.native.js.map +1 -1
  482. package/dist/jsx/keycloak/useWalletLogin.mjs +16 -8
  483. package/dist/jsx/keycloak/useWalletLogin.mjs.map +1 -1
  484. package/dist/jsx/light/drivers.mjs +46 -0
  485. package/dist/jsx/light/drivers.mjs.map +1 -0
  486. package/dist/jsx/light/drivers.native.js +97 -0
  487. package/dist/jsx/light/drivers.native.js.map +1 -0
  488. package/dist/jsx/light/index.mjs +3 -0
  489. package/dist/jsx/light/index.mjs.map +1 -0
  490. package/dist/jsx/light/index.native.js +33 -0
  491. package/dist/jsx/light/index.native.js.map +1 -0
  492. package/dist/jsx/providers/WalletProvider.mjs +60 -19
  493. package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
  494. package/dist/jsx/providers/WalletProvider.native.js +99 -56
  495. package/dist/jsx/providers/WalletProvider.native.js.map +1 -1
  496. package/dist/jsx/providers/families.mjs +27 -0
  497. package/dist/jsx/providers/families.mjs.map +1 -0
  498. package/dist/jsx/providers/families.native.js +59 -0
  499. package/dist/jsx/providers/families.native.js.map +1 -0
  500. package/dist/jsx/providers/index.mjs +2 -2
  501. package/dist/jsx/providers/index.mjs.map +1 -1
  502. package/dist/jsx/providers/index.native.js +1 -0
  503. package/dist/jsx/providers/index.native.js.map +1 -1
  504. package/dist/jsx/providers/walletConfig.mjs +40 -1
  505. package/dist/jsx/providers/walletConfig.mjs.map +1 -1
  506. package/dist/jsx/providers/walletConfig.native.js +68 -0
  507. package/dist/jsx/providers/walletConfig.native.js.map +1 -1
  508. package/dist/jsx/wagmi/driver.mjs +232 -0
  509. package/dist/jsx/wagmi/driver.mjs.map +1 -0
  510. package/dist/jsx/wagmi/driver.native.js +331 -0
  511. package/dist/jsx/wagmi/driver.native.js.map +1 -0
  512. package/dist/jsx/wagmi/host.mjs +213 -0
  513. package/dist/jsx/wagmi/host.mjs.map +1 -0
  514. package/dist/jsx/wagmi/host.native.js +320 -0
  515. package/dist/jsx/wagmi/host.native.js.map +1 -0
  516. package/dist/jsx/wagmi/index.mjs +3 -0
  517. package/dist/jsx/wagmi/index.mjs.map +1 -0
  518. package/dist/jsx/wagmi/index.native.js +31 -0
  519. package/dist/jsx/wagmi/index.native.js.map +1 -0
  520. package/dist/jsx/web.mjs +13 -0
  521. package/dist/jsx/web.mjs.map +1 -0
  522. package/dist/keycloak/login.iife.js +449 -443
  523. package/docs/bridge-protocol.md +41 -14
  524. package/package.json +13 -6
  525. package/src/bridge/base58.spec.ts +18 -0
  526. package/src/bridge/base58.ts +25 -0
  527. package/src/bridge/core.ts +2 -0
  528. package/src/bridge/drivers.spec.ts +283 -0
  529. package/src/bridge/drivers.ts +155 -0
  530. package/src/bridge/index.spec.ts +3 -0
  531. package/src/bridge/nativeHost.spec.ts +139 -15
  532. package/src/bridge/nativeHost.ts +84 -14
  533. package/src/bundler/metaMaskConnectTimeouts.spec.ts +3 -0
  534. package/src/clients/adapter.ts +5 -1
  535. package/src/clients/connector.ts +2 -0
  536. package/src/clients/evm.spec.ts +8 -0
  537. package/src/clients/evm.ts +3 -0
  538. package/src/clients/evmRead.spec.ts +180 -0
  539. package/src/clients/evmRead.ts +140 -0
  540. package/src/clients/hooks.spec.tsx +58 -0
  541. package/src/clients/hooks.ts +73 -14
  542. package/src/clients/index.ts +11 -1
  543. package/src/clients/types.ts +15 -1
  544. package/src/clients/useEvmReadClient.spec.tsx +93 -0
  545. package/src/connectkit/adapters/BitcoinAdapter.ts +64 -4
  546. package/src/connectkit/adapters/SolanaAdapter.ts +49 -0
  547. package/src/connectkit/adapters/SuiAdapter.ts +47 -1
  548. package/src/connectkit/connectors/ensureWalletConnectors.ts +10 -1
  549. package/src/connectkit/connectors/getWalletConnectors.ts +2 -0
  550. package/src/connectkit/connectors/syntheticChains.ts +8 -0
  551. package/src/connectkit/connectors/walletAdapterConnector.ts +2 -0
  552. package/src/connectkit/defaultConfig.ts +21 -7
  553. package/src/connectkit/siwe/SIWEContext.tsx +3 -0
  554. package/src/connectkit/siwe/SIWEProvider.spec.tsx +109 -0
  555. package/src/connectkit/siwe/SIWEProvider.tsx +16 -7
  556. package/src/connectkit/siwe/connectIntent.spec.ts +100 -30
  557. package/src/connectkit/siwe/connectIntent.ts +99 -25
  558. package/src/connectkit/siwe/useSIWE.ts +4 -1
  559. package/src/connectkit/web3Bridge.tsx +75 -15
  560. package/src/core/family.spec.ts +19 -0
  561. package/src/core/family.ts +43 -0
  562. package/src/core/imports.spec.ts +1 -1
  563. package/src/core/index.ts +23 -0
  564. package/src/core/lightDriver.spec.ts +284 -0
  565. package/src/core/lightDriver.ts +235 -0
  566. package/src/core/react.ts +18 -0
  567. package/src/core/signIn.spec.tsx +305 -0
  568. package/src/core/signIn.ts +282 -0
  569. package/src/core/store.spec.ts +83 -0
  570. package/src/core/store.ts +60 -9
  571. package/src/core/types.ts +15 -1
  572. package/src/families/btc.ts +16 -0
  573. package/src/families/eth.ts +35 -0
  574. package/src/families/families.spec.ts +180 -0
  575. package/src/families/gpg.ts +13 -0
  576. package/src/families/host.ts +34 -0
  577. package/src/families/index.ts +32 -0
  578. package/src/families/messages.ts +39 -0
  579. package/src/families/sol.ts +25 -0
  580. package/src/families/sui.ts +17 -0
  581. package/src/index.ts +38 -1
  582. package/src/keycloak/KeycloakWalletLogin.spec.tsx +211 -4
  583. package/src/keycloak/keycloakWallet.spec.ts +81 -1
  584. package/src/keycloak/keycloakWallet.ts +24 -2
  585. package/src/keycloak/useDirectLogin.spec.tsx +77 -4
  586. package/src/keycloak/useDirectLogin.ts +23 -11
  587. package/src/keycloak/useWalletLogin.spec.tsx +52 -0
  588. package/src/keycloak/useWalletLogin.ts +24 -6
  589. package/src/light/drivers.spec.ts +330 -0
  590. package/src/light/drivers.ts +54 -0
  591. package/src/light/index.ts +1 -0
  592. package/src/light/native.spec.ts +22 -0
  593. package/src/providers/WalletProvider.native.spec.tsx +288 -0
  594. package/src/providers/WalletProvider.native.tsx +132 -59
  595. package/src/providers/WalletProvider.spec.tsx +521 -0
  596. package/src/providers/WalletProvider.tsx +90 -19
  597. package/src/providers/families.tsx +39 -0
  598. package/src/providers/index.ts +3 -0
  599. package/src/providers/walletConfig.spec.ts +19 -1
  600. package/src/providers/walletConfig.ts +80 -2
  601. package/src/wagmi/driver.spec.ts +407 -0
  602. package/src/wagmi/driver.ts +303 -0
  603. package/src/wagmi/host.spec.tsx +416 -0
  604. package/src/wagmi/host.tsx +260 -0
  605. package/src/wagmi/index.ts +1 -0
  606. package/src/web.spec.ts +58 -0
  607. package/src/web.ts +82 -0
  608. package/types/bridge/base58.d.ts +2 -0
  609. package/types/bridge/base58.d.ts.map +1 -0
  610. package/types/bridge/core.d.ts +2 -1
  611. package/types/bridge/core.d.ts.map +1 -1
  612. package/types/bridge/drivers.d.ts +24 -0
  613. package/types/bridge/drivers.d.ts.map +1 -0
  614. package/types/bridge/nativeHost.d.ts +34 -4
  615. package/types/bridge/nativeHost.d.ts.map +1 -1
  616. package/types/clients/adapter.d.ts +5 -1
  617. package/types/clients/adapter.d.ts.map +1 -1
  618. package/types/clients/connector.d.ts +2 -0
  619. package/types/clients/connector.d.ts.map +1 -1
  620. package/types/clients/evm.d.ts +2 -0
  621. package/types/clients/evm.d.ts.map +1 -1
  622. package/types/clients/evmRead.d.ts +54 -0
  623. package/types/clients/evmRead.d.ts.map +1 -0
  624. package/types/clients/hooks.d.ts +23 -3
  625. package/types/clients/hooks.d.ts.map +1 -1
  626. package/types/clients/index.d.ts +4 -2
  627. package/types/clients/index.d.ts.map +1 -1
  628. package/types/clients/types.d.ts +11 -1
  629. package/types/clients/types.d.ts.map +1 -1
  630. package/types/connectkit/adapters/BitcoinAdapter.d.ts +9 -0
  631. package/types/connectkit/adapters/BitcoinAdapter.d.ts.map +1 -1
  632. package/types/connectkit/adapters/SolanaAdapter.d.ts +12 -0
  633. package/types/connectkit/adapters/SolanaAdapter.d.ts.map +1 -1
  634. package/types/connectkit/adapters/SuiAdapter.d.ts +8 -0
  635. package/types/connectkit/adapters/SuiAdapter.d.ts.map +1 -1
  636. package/types/connectkit/connectors/ensureWalletConnectors.d.ts +3 -0
  637. package/types/connectkit/connectors/ensureWalletConnectors.d.ts.map +1 -1
  638. package/types/connectkit/connectors/getWalletConnectors.d.ts +2 -0
  639. package/types/connectkit/connectors/getWalletConnectors.d.ts.map +1 -1
  640. package/types/connectkit/connectors/syntheticChains.d.ts +8 -0
  641. package/types/connectkit/connectors/syntheticChains.d.ts.map +1 -1
  642. package/types/connectkit/connectors/walletAdapterConnector.d.ts +2 -0
  643. package/types/connectkit/connectors/walletAdapterConnector.d.ts.map +1 -1
  644. package/types/connectkit/defaultConfig.d.ts +2 -1
  645. package/types/connectkit/defaultConfig.d.ts.map +1 -1
  646. package/types/connectkit/siwe/SIWEContext.d.ts.map +1 -1
  647. package/types/connectkit/siwe/SIWEProvider.d.ts +6 -0
  648. package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
  649. package/types/connectkit/siwe/connectIntent.d.ts +16 -5
  650. package/types/connectkit/siwe/connectIntent.d.ts.map +1 -1
  651. package/types/connectkit/siwe/useSIWE.d.ts +4 -0
  652. package/types/connectkit/siwe/useSIWE.d.ts.map +1 -1
  653. package/types/connectkit/web3Bridge.d.ts +2 -0
  654. package/types/connectkit/web3Bridge.d.ts.map +1 -1
  655. package/types/core/family.d.ts +26 -0
  656. package/types/core/family.d.ts.map +1 -1
  657. package/types/core/index.d.ts +6 -4
  658. package/types/core/index.d.ts.map +1 -1
  659. package/types/core/lightDriver.d.ts +52 -0
  660. package/types/core/lightDriver.d.ts.map +1 -0
  661. package/types/core/react.d.ts +4 -0
  662. package/types/core/react.d.ts.map +1 -1
  663. package/types/core/signIn.d.ts +85 -0
  664. package/types/core/signIn.d.ts.map +1 -0
  665. package/types/core/store.d.ts +12 -3
  666. package/types/core/store.d.ts.map +1 -1
  667. package/types/core/types.d.ts +14 -1
  668. package/types/core/types.d.ts.map +1 -1
  669. package/types/families/btc.d.ts +4 -0
  670. package/types/families/btc.d.ts.map +1 -0
  671. package/types/families/eth.d.ts +13 -0
  672. package/types/families/eth.d.ts.map +1 -0
  673. package/types/families/gpg.d.ts +4 -0
  674. package/types/families/gpg.d.ts.map +1 -0
  675. package/types/families/host.d.ts +24 -0
  676. package/types/families/host.d.ts.map +1 -0
  677. package/types/families/index.d.ts +14 -0
  678. package/types/families/index.d.ts.map +1 -0
  679. package/types/families/messages.d.ts +7 -0
  680. package/types/families/messages.d.ts.map +1 -0
  681. package/types/families/sol.d.ts +9 -0
  682. package/types/families/sol.d.ts.map +1 -0
  683. package/types/families/sui.d.ts +4 -0
  684. package/types/families/sui.d.ts.map +1 -0
  685. package/types/index.d.ts +5 -2
  686. package/types/index.d.ts.map +1 -1
  687. package/types/keycloak/keycloakWallet.d.ts +15 -2
  688. package/types/keycloak/keycloakWallet.d.ts.map +1 -1
  689. package/types/keycloak/useDirectLogin.d.ts +11 -6
  690. package/types/keycloak/useDirectLogin.d.ts.map +1 -1
  691. package/types/keycloak/useWalletLogin.d.ts +8 -1
  692. package/types/keycloak/useWalletLogin.d.ts.map +1 -1
  693. package/types/light/drivers.d.ts +13 -0
  694. package/types/light/drivers.d.ts.map +1 -0
  695. package/types/light/index.d.ts +2 -0
  696. package/types/light/index.d.ts.map +1 -0
  697. package/types/providers/WalletProvider.d.ts +37 -6
  698. package/types/providers/WalletProvider.d.ts.map +1 -1
  699. package/types/providers/WalletProvider.native.d.ts +32 -3
  700. package/types/providers/WalletProvider.native.d.ts.map +1 -1
  701. package/types/providers/families.d.ts +12 -0
  702. package/types/providers/families.d.ts.map +1 -0
  703. package/types/providers/index.d.ts +1 -1
  704. package/types/providers/index.d.ts.map +1 -1
  705. package/types/providers/walletConfig.d.ts +32 -2
  706. package/types/providers/walletConfig.d.ts.map +1 -1
  707. package/types/wagmi/driver.d.ts +44 -0
  708. package/types/wagmi/driver.d.ts.map +1 -0
  709. package/types/wagmi/host.d.ts +31 -0
  710. package/types/wagmi/host.d.ts.map +1 -0
  711. package/types/wagmi/index.d.ts +2 -0
  712. package/types/wagmi/index.d.ts.map +1 -0
  713. package/types/web.d.ts +13 -0
  714. package/types/web.d.ts.map +1 -0
package/src/core/store.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { ChainClient } from "../clients/types";
2
2
  import { createFamilyRegistry, type FamilyRegistry, type WalletFamily } from "./family";
3
3
  import type {
4
+ ConnectOptions,
4
5
  ConnectionDriver,
5
6
  ConnectionState,
6
7
  ConnectionStorage,
@@ -52,13 +53,10 @@ export interface ConnectionStore {
52
53
  subscribeConnectors(listener: () => void): () => void;
53
54
  /**
54
55
  * Connects one family's connector, first closing any other connection.
55
- * Remembers {family, connectorId} on success.
56
+ * Remembers {family, connectorId} on success. With `silent` it only takes a
57
+ * connection the wallet already granted, never prompting.
56
58
  */
57
- connect(
58
- family: string,
59
- connectorId: string,
60
- options?: DriverConnectOptions,
61
- ): Promise<ConnectionState>;
59
+ connect(family: string, connectorId: string, options?: ConnectOptions): Promise<ConnectionState>;
62
60
  /** Closes the active connection and forgets it. */
63
61
  disconnect(): Promise<void>;
64
62
  /**
@@ -67,6 +65,13 @@ export interface ConnectionStore {
67
65
  * wallet side keeps the record, so a later reconnect() can restore it.
68
66
  */
69
67
  reconnect(): Promise<ConnectionState>;
68
+ /**
69
+ * The active connection's client. When the driver has not handed one over
70
+ * yet, or its last build failed, the driver is asked again and the store
71
+ * keeps what it gets. Null with nothing connected or a driver without
72
+ * clients; rejects with the driver's error.
73
+ */
74
+ client(): Promise<ChainClient | null>;
70
75
  /**
71
76
  * Stops listening to every driver and to this store's listeners, and refuses
72
77
  * later connects. It closes nothing: the connection and the attempt live at
@@ -90,6 +95,13 @@ const disconnected: ConnectionState = Object.freeze({
90
95
 
91
96
  const superseded = () => new Error("wallet connect superseded");
92
97
 
98
+ /** The options a driver sees: the store's own `silent` stays with the store. */
99
+ function driverOptions(options: ConnectOptions | undefined): DriverConnectOptions | undefined {
100
+ if (!options || !("silent" in options)) return options;
101
+ const { silent: _silent, ...rest } = options;
102
+ return rest;
103
+ }
104
+
93
105
  function browserStorage(): ConnectionStorage | null {
94
106
  try {
95
107
  const storage = (globalThis as { localStorage?: ConnectionStorage }).localStorage;
@@ -455,15 +467,27 @@ export function createConnectionStore(options: ConnectionStoreOptions): Connecti
455
467
  try {
456
468
  if (current !== operation) throw superseded();
457
469
  asked = true;
458
- account = await driver.connect(connectorId, connectOptions);
470
+ if (connectOptions?.silent) {
471
+ const granted = await driver.reconnect(connectorId);
472
+ if (!granted) {
473
+ throw new Error(`wallet ${family.id} ${connectorId} is not authorised on this page`);
474
+ }
475
+ account = granted;
476
+ } else {
477
+ account = await driver.connect(connectorId, driverOptions(connectOptions));
478
+ }
459
479
  } catch (error) {
460
480
  if (current === operation) {
461
481
  pending = null;
462
482
  set(disconnected);
463
483
  }
464
484
  // After destroy() the driver may serve another store; what it holds is
465
- // this attempt's only if this attempt asked for it.
466
- if (asked || !destroyed) await closeOrphan(driver, connectorId);
485
+ // this attempt's only if this attempt asked for it. A silent attempt
486
+ // opened nothing: what the driver holds is the connection it was
487
+ // handed, which stays with whoever opened it.
488
+ if (!connectOptions?.silent && (asked || !destroyed)) {
489
+ await closeOrphan(driver, connectorId);
490
+ }
467
491
  throw error;
468
492
  }
469
493
  if (current !== operation) {
@@ -541,6 +565,33 @@ export function createConnectionStore(options: ConnectionStoreOptions): Connecti
541
565
  void attempt.then(settled, settled);
542
566
  return attempt;
543
567
  },
568
+ async client() {
569
+ if (state.client) return state.client;
570
+ if (state.status !== "connected" || !active || !state.address) return null;
571
+ const { driver, connectorId } = active;
572
+ const asked = state;
573
+ const request = ++clientRequest;
574
+ const client =
575
+ (await driver.client?.({
576
+ status: "connected",
577
+ connectorId,
578
+ account: {
579
+ address: asked.address as string,
580
+ ...(asked.chainId === null ? {} : { chainId: asked.chainId }),
581
+ },
582
+ })) ?? null;
583
+ if (
584
+ client &&
585
+ request === clientRequest &&
586
+ active?.driver === driver &&
587
+ state.status === "connected" &&
588
+ state.address === asked.address &&
589
+ state.chainId === asked.chainId
590
+ ) {
591
+ set(Object.freeze({ ...state, client }));
592
+ }
593
+ return client;
594
+ },
544
595
  destroy() {
545
596
  if (destroyed) return;
546
597
  destroyed = true;
package/src/core/types.ts CHANGED
@@ -31,6 +31,17 @@ export interface DriverConnectOptions {
31
31
  onDisplayUri?: (uri: string) => void;
32
32
  }
33
33
 
34
+ /** What the connection store's `connect` takes. */
35
+ export interface ConnectOptions extends DriverConnectOptions {
36
+ /**
37
+ * Take a connection the wallet has already granted, through the driver's
38
+ * silent `reconnect`, and never prompt. Rejects when the wallet has not
39
+ * granted it. A UI that opened the connection outside the store, such as
40
+ * the wagmi connect modal, hands it over this way.
41
+ */
42
+ silent?: boolean;
43
+ }
44
+
34
45
  /**
35
46
  * The engine behind one wallet family's connections: wagmi for EVM, the light
36
47
  * driver for adapter-based families. The connection store drives it and holds
@@ -47,7 +58,10 @@ export interface ConnectionDriver {
47
58
  getState(): DriverState;
48
59
  /** Called on every state change: account, chain, connector, or a disconnect from the wallet side. */
49
60
  subscribe(listener: () => void): () => void;
50
- /** Prompts the user. Rejects when they decline or the wallet fails. */
61
+ /**
62
+ * Prompts the user, unless the driver already holds that connector open,
63
+ * which resolves its account. Rejects when they decline or the wallet fails.
64
+ */
51
65
  connect(connectorId: string, options?: DriverConnectOptions): Promise<DriverAccount>;
52
66
  /**
53
67
  * Closes every connection the driver holds, or with a connectorId only that
@@ -0,0 +1,16 @@
1
+ import { defineWalletFamily, type WalletFamily } from "../core/family";
2
+ import { bitcoinDriver } from "../light/drivers";
3
+ import { withHosting } from "./host";
4
+ import { btcMessage } from "./messages";
5
+
6
+ /** The Bitcoin family: UniSat, OKX or Phantom's Bitcoin wallet. */
7
+ export function btc(): WalletFamily {
8
+ const family = defineWalletFamily({
9
+ id: "btc",
10
+ label: "Bitcoin",
11
+ aliases: ["bitcoin"],
12
+ message: btcMessage,
13
+ driver: () => bitcoinDriver(),
14
+ });
15
+ return withHosting(family, { ecosystem: "bitcoin", chainId: "bitcoin" });
16
+ }
@@ -0,0 +1,35 @@
1
+ import type { Config } from "@wagmi/core";
2
+ import { defineWalletFamily, type WalletFamily } from "../core/family";
3
+ import { wagmiDriver } from "../wagmi/driver";
4
+ import { withHosting } from "./host";
5
+ import { ethMessage } from "./messages";
6
+
7
+ export interface EthFamilyOptions {
8
+ /**
9
+ * The wagmi config EVM wallets connect through. A Web3Provider uses it for
10
+ * its own WagmiProvider; left out, the provider builds one from its
11
+ * Web3Config, and a connection store made outside a provider has none.
12
+ */
13
+ config?: Config;
14
+ }
15
+
16
+ /** The EVM family: MetaMask, Coinbase Wallet and every EIP-6963 wallet, over wagmi and viem. */
17
+ export function eth(options: EthFamilyOptions = {}): WalletFamily {
18
+ const { config } = options;
19
+ const family = defineWalletFamily({
20
+ id: "eth",
21
+ label: "Ethereum",
22
+ aliases: ["evm"],
23
+ message: ethMessage,
24
+ driver: () => {
25
+ if (!config) {
26
+ throw new Error(
27
+ "eth() needs a wagmi config outside a Web3Provider: eth({ config: createConfig(...) })",
28
+ );
29
+ }
30
+ return wagmiDriver(config);
31
+ },
32
+ bridge: { namespace: "evm" },
33
+ });
34
+ return withHosting(family, { ecosystem: "evm", ...(config ? { config } : {}) });
35
+ }
@@ -0,0 +1,180 @@
1
+ import { afterEach, describe, expect, it, vi } from "vitest";
2
+ import { accountFor, keys, scriptedConnector, wagmiConfig } from "../../tests/core/wagmiWallets";
3
+ import { createWallets } from "../../tests/core/driverContract";
4
+ import { createConnectionStore } from "../core/store";
5
+ import { createFamilyRegistry } from "../core/family";
6
+ import { buildWalletMessage, type SignerFamily } from "../message/buildWalletMessage";
7
+ import { btc, eth, gpg, sol, sui, walletFamilies } from "./index";
8
+
9
+ const base = {
10
+ domain: "app.multiplatform.one",
11
+ uri: "https://app.multiplatform.one/login",
12
+ nonce: "ohY7vD2Kq9",
13
+ issuedAt: "2026-09-26T20:48:18.648Z",
14
+ address: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
15
+ };
16
+
17
+ const outcome = (build: () => string) => {
18
+ try {
19
+ return { message: build() };
20
+ } catch {
21
+ return { threw: true };
22
+ }
23
+ };
24
+
25
+ afterEach(() => {
26
+ vi.unstubAllGlobals();
27
+ });
28
+
29
+ describe("the built-in families", () => {
30
+ const registry = createFamilyRegistry([eth(), sol(), sui(), btc(), gpg()]);
31
+ const names: SignerFamily[] = ["eth", "evm", "sol", "solana", "sui", "btc", "bitcoin", "gpg"];
32
+
33
+ it("sign the bytes buildWalletMessage builds, for every family, alias and option", () => {
34
+ let compared = 0;
35
+ for (const family of names) {
36
+ for (const statement of [undefined, null, "", "Custom statement."]) {
37
+ for (const chainId of [undefined, 137, "solana:devnet", 900001]) {
38
+ for (const version of [undefined, "2"]) {
39
+ const opts = { ...base, statement, chainId, version };
40
+ expect(outcome(() => registry.messages.build(family, opts))).toEqual(
41
+ outcome(() => buildWalletMessage(family, opts)),
42
+ );
43
+ compared++;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ expect(compared).toBe(256);
49
+ for (const family of names) {
50
+ for (const opts of [
51
+ { ...base, address: undefined },
52
+ { ...base, statement: "two\nlines" },
53
+ ]) {
54
+ expect(outcome(() => registry.messages.build(family, opts))).toEqual(
55
+ outcome(() => buildWalletMessage(family, opts)),
56
+ );
57
+ }
58
+ }
59
+ });
60
+
61
+ it("are listed in registration order under their ids, and resolve the ecosystem names", () => {
62
+ expect(registry.families.map((family) => family.id)).toEqual([
63
+ "eth",
64
+ "sol",
65
+ "sui",
66
+ "btc",
67
+ "gpg",
68
+ ]);
69
+ expect(registry.require("evm").id).toBe("eth");
70
+ expect(registry.require("solana").id).toBe("sol");
71
+ expect(registry.require("bitcoin").id).toBe("btc");
72
+ expect(registry.families.map((family) => family.label)).toEqual([
73
+ "Ethereum",
74
+ "Solana",
75
+ "Sui",
76
+ "Bitcoin",
77
+ "GPG",
78
+ ]);
79
+ });
80
+
81
+ it("name the bridge namespace a native app reaches them on; sol and sui bring a bridge driver", () => {
82
+ expect(
83
+ [eth(), sol(), sui(), btc(), gpg()].map((family) => [
84
+ family.id,
85
+ family.bridge?.namespace ?? null,
86
+ typeof family.bridge?.driver,
87
+ ]),
88
+ ).toEqual([
89
+ ["eth", "evm", "undefined"],
90
+ ["sol", "solana", "function"],
91
+ ["sui", "sui", "function"],
92
+ ["btc", null, "undefined"],
93
+ ["gpg", "gpg", "undefined"],
94
+ ]);
95
+ });
96
+
97
+ it("gpg signs without connecting; the wallet families each have a driver", () => {
98
+ expect(gpg()).toMatchObject({ connectionless: true });
99
+ expect(gpg().driver).toBeUndefined();
100
+ for (const family of [eth(), sol(), sui(), btc()]) {
101
+ expect(family.connectionless).toBe(false);
102
+ expect(typeof family.driver).toBe("function");
103
+ }
104
+ });
105
+
106
+ it("eth connects through the wagmi config it is given", async () => {
107
+ const wallets = createWallets({ "wallet.one": accountFor(keys.one).address });
108
+ const config = wagmiConfig([
109
+ scriptedConnector(wallets, "wallet.one", {
110
+ [accountFor(keys.one).address]: accountFor(keys.one),
111
+ }),
112
+ ]);
113
+ const store = createConnectionStore({ families: [eth({ config })], storage: null });
114
+ expect(store.connectors().map((entry) => `${entry.family}:${entry.connector.id}`)).toEqual([
115
+ "eth:wallet.one",
116
+ ]);
117
+ const state = await store.connect("eth", "wallet.one");
118
+ expect(state).toMatchObject({
119
+ family: "eth",
120
+ address: accountFor(keys.one).address,
121
+ chainId: 1,
122
+ });
123
+ });
124
+
125
+ it("eth with no wagmi config says what it needs when a store outside Web3Provider asks", () => {
126
+ const store = createConnectionStore({ families: [eth()], storage: null });
127
+ expect(() => store.connectors()).toThrow(/eth\(\) needs a wagmi config/);
128
+ });
129
+
130
+ it("sol lists the injected Solana wallet on the cluster it is given", async () => {
131
+ const provider = {
132
+ isPhantom: true,
133
+ publicKey: null as { toString(): string } | null,
134
+ connect: vi.fn(async () => {
135
+ provider.publicKey = { toString: () => "7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV" };
136
+ return { publicKey: provider.publicKey };
137
+ }),
138
+ disconnect: vi.fn(async () => {}),
139
+ signMessage: vi.fn(),
140
+ };
141
+ vi.stubGlobal("window", { phantom: { solana: provider } });
142
+ const store = createConnectionStore({
143
+ families: [sol({ chain: "solana:devnet" })],
144
+ storage: null,
145
+ });
146
+ expect(store.connectors().map((entry) => entry.connector.id)).toEqual([
147
+ "wallet:solana:phantom",
148
+ ]);
149
+ const state = await store.connect("sol", "wallet:solana:phantom");
150
+ expect(state).toMatchObject({
151
+ family: "sol",
152
+ address: "7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV",
153
+ chainId: "solana:devnet",
154
+ });
155
+ expect(state.client).toMatchObject({ family: "solana", chainId: "solana:devnet" });
156
+ });
157
+ });
158
+
159
+ describe("walletFamilies", () => {
160
+ it("is every built-in family, GPG included, when given no names", () => {
161
+ expect(walletFamilies().map((family) => family.id)).toEqual([
162
+ "eth",
163
+ "sol",
164
+ "sui",
165
+ "btc",
166
+ "gpg",
167
+ ]);
168
+ });
169
+
170
+ it("builds the families Web3Config.families names, in the connect list's order", () => {
171
+ expect(walletFamilies(["solana", "evm"]).map((family) => family.id)).toEqual(["eth", "sol"]);
172
+ expect(walletFamilies(["btc", "sui"]).map((family) => family.id)).toEqual(["sui", "btc"]);
173
+ });
174
+
175
+ it("refuses gpg, an unknown family and an empty list, as Web3Config.families does", () => {
176
+ for (const names of [["gpg"], ["doge"], []]) {
177
+ expect(() => walletFamilies(names as never)).toThrow(/families/);
178
+ }
179
+ });
180
+ });
@@ -0,0 +1,13 @@
1
+ import { defineWalletFamily, type WalletFamily } from "../core/family";
2
+ import { gpgMessage } from "./messages";
3
+
4
+ /** GPG sign-in: the user signs the message with their key in a terminal, with no wallet connection. */
5
+ export function gpg(): WalletFamily {
6
+ return defineWalletFamily({
7
+ id: "gpg",
8
+ label: "GPG",
9
+ message: gpgMessage,
10
+ connectionless: true,
11
+ bridge: { namespace: "gpg" },
12
+ });
13
+ }
@@ -0,0 +1,34 @@
1
+ import type { Config } from "@wagmi/core";
2
+ import type { SolanaChain } from "../clients/solanaMessage";
3
+ import type { WalletFamily } from "../core/family";
4
+
5
+ /** The ecosystem a wagmi connector carries: `evm`, or a Solana, Sui or Bitcoin shim's. */
6
+ export type HostedEcosystem = "evm" | "solana" | "sui" | "bitcoin";
7
+
8
+ /**
9
+ * How a Web3Provider hosts a built-in family on its wagmi config while the
10
+ * ConnectKit modal still lists and connects every wallet through wagmi
11
+ * (MPO-385 step 5): the family's connections are wagmi's, so the modal and
12
+ * the connection store see one connection. It goes when the modal reads the
13
+ * store.
14
+ */
15
+ export interface WagmiHosting {
16
+ readonly ecosystem: HostedEcosystem;
17
+ /** The chain id a connection reports, in place of the shim's synthetic one. */
18
+ readonly chainId?: string;
19
+ readonly solanaChain?: SolanaChain;
20
+ /** The wagmi config the app gave `eth()`, which the provider then uses. */
21
+ readonly config?: Config;
22
+ }
23
+
24
+ const hosting = new WeakMap<WalletFamily, WagmiHosting>();
25
+
26
+ export function withHosting(family: WalletFamily, spec: WagmiHosting): WalletFamily {
27
+ hosting.set(family, Object.freeze({ ...spec }));
28
+ return family;
29
+ }
30
+
31
+ /** How a Web3Provider hosts this family on wagmi; undefined for GPG and a family of the app's own. */
32
+ export function wagmiHosting(family: WalletFamily): WagmiHosting | undefined {
33
+ return hosting.get(family);
34
+ }
@@ -0,0 +1,32 @@
1
+ // The built-in wallet families (MPO-385): what an app hands Web3Provider,
2
+ // `families={[eth(), sol(), gpg()]}`. Each carries its sign-in message and its
3
+ // connection driver; step 6 moves each into its own package.
4
+ import type { WalletFamily } from "../core/family";
5
+ import { resolveFamilies, type ConnectorFamily } from "../providers/walletConfig";
6
+ import { btc } from "./btc";
7
+ import { eth } from "./eth";
8
+ import { gpg } from "./gpg";
9
+ import { sol } from "./sol";
10
+ import { sui } from "./sui";
11
+
12
+ export { btc } from "./btc";
13
+ export { eth, type EthFamilyOptions } from "./eth";
14
+ export { gpg } from "./gpg";
15
+ export { sol, type SolFamilyOptions } from "./sol";
16
+ export { sui } from "./sui";
17
+
18
+ /**
19
+ * The families `Web3Config.families` names, in the connect list's order, or
20
+ * with no names every built-in family, GPG included. Throws where
21
+ * `Web3Config.families` does: on `gpg`, an unknown name and an empty list.
22
+ */
23
+ export function walletFamilies(names?: readonly ConnectorFamily[]): WalletFamily[] {
24
+ if (names === undefined) return [eth(), sol(), sui(), btc(), gpg()];
25
+ const { evm, ecosystems } = resolveFamilies({ families: names });
26
+ return [
27
+ ...(evm ? [eth()] : []),
28
+ ...(ecosystems.includes("solana") ? [sol()] : []),
29
+ ...(ecosystems.includes("sui") ? [sui()] : []),
30
+ ...(ecosystems.includes("bitcoin") ? [btc()] : []),
31
+ ];
32
+ }
@@ -0,0 +1,39 @@
1
+ import { getAddress } from "viem";
2
+ import type { WalletMessageSpec } from "../core/message";
3
+
4
+ // The five families' sign-in messages, byte for byte what buildWalletMessage
5
+ // builds and the Keycloak verifiers parse. families.spec.ts holds them to it.
6
+
7
+ export const ethMessage: WalletMessageSpec = {
8
+ header: "wants you to sign in with your Ethereum account:",
9
+ statement: "Sign in With Ethereum.",
10
+ chainId: "1",
11
+ numericChainId: true,
12
+ keepStatementLine: true,
13
+ normalizeAddress: (address) => getAddress(address),
14
+ };
15
+
16
+ export const solMessage: WalletMessageSpec = {
17
+ header: "wants you to sign in with your Solana account:",
18
+ statement: "Sign in With Solana.",
19
+ chainId: "solana:mainnet",
20
+ };
21
+
22
+ export const suiMessage: WalletMessageSpec = {
23
+ header: "wants you to sign in with your Sui account:",
24
+ statement: "Sign in With Sui.",
25
+ chainId: "sui:mainnet",
26
+ };
27
+
28
+ export const btcMessage: WalletMessageSpec = {
29
+ header: "wants you to sign in with your Bitcoin account:",
30
+ statement: "Sign in With Bitcoin.",
31
+ chainId: "bitcoin",
32
+ };
33
+
34
+ export const gpgMessage: WalletMessageSpec = {
35
+ header: "wants you to sign in with your GPG key.",
36
+ statement: null,
37
+ chainId: null,
38
+ address: false,
39
+ };
@@ -0,0 +1,25 @@
1
+ import { solanaBridgeDriver } from "../bridge/drivers";
2
+ import type { SolanaChain } from "../clients/solanaMessage";
3
+ import { defineWalletFamily, type WalletFamily } from "../core/family";
4
+ import { solanaDriver } from "../light/drivers";
5
+ import { withHosting } from "./host";
6
+ import { solMessage } from "./messages";
7
+
8
+ export interface SolFamilyOptions {
9
+ /** The cluster accounts are on. Defaults to `solana:mainnet`. */
10
+ chain?: SolanaChain;
11
+ }
12
+
13
+ /** The Solana family: the injected Solana wallet (Phantom, or any `window.solana`). */
14
+ export function sol(options: SolFamilyOptions = {}): WalletFamily {
15
+ const chain = options.chain ?? "solana:mainnet";
16
+ const family = defineWalletFamily({
17
+ id: "sol",
18
+ label: "Solana",
19
+ aliases: ["solana"],
20
+ message: solMessage,
21
+ driver: () => solanaDriver({ chain }),
22
+ bridge: { namespace: "solana", driver: (bridge) => solanaBridgeDriver(bridge, { chain }) },
23
+ });
24
+ return withHosting(family, { ecosystem: "solana", chainId: chain, solanaChain: chain });
25
+ }
@@ -0,0 +1,17 @@
1
+ import { suiBridgeDriver } from "../bridge/drivers";
2
+ import { defineWalletFamily, type WalletFamily } from "../core/family";
3
+ import { suiDriver } from "../light/drivers";
4
+ import { withHosting } from "./host";
5
+ import { suiMessage } from "./messages";
6
+
7
+ /** The Sui family: the first Wallet Standard Sui wallet on the page. */
8
+ export function sui(): WalletFamily {
9
+ const family = defineWalletFamily({
10
+ id: "sui",
11
+ label: "Sui",
12
+ message: suiMessage,
13
+ driver: () => suiDriver(),
14
+ bridge: { namespace: "sui", driver: suiBridgeDriver },
15
+ });
16
+ return withHosting(family, { ecosystem: "sui", chainId: "sui:mainnet" });
17
+ }
package/src/index.ts CHANGED
@@ -1,12 +1,15 @@
1
1
  // Providers
2
2
  export {
3
3
  WalletProvider,
4
+ Web3Provider,
4
5
  useWeb3Config,
5
6
  defaultChains,
6
7
  useWalletBridge,
8
+ type ConnectorFamily,
7
9
  type WalletBridgeContextValue,
8
10
  type WalletProviderProps,
9
11
  type Web3Config,
12
+ type Web3ProviderProps,
10
13
  } from "./providers";
11
14
 
12
15
  // Hooks
@@ -61,7 +64,20 @@ export { LockContract, lockAbi, type LockContractProps } from "./examples";
61
64
 
62
65
  // Re-export useful types from viem/wagmi
63
66
  export type { Address, Chain } from "viem";
64
- export { mainnet, polygon, optimism, arbitrum, base, sepolia } from "wagmi/chains";
67
+ export {
68
+ mainnet,
69
+ polygon,
70
+ optimism,
71
+ arbitrum,
72
+ base,
73
+ sepolia,
74
+ bsc,
75
+ baseSepolia,
76
+ bscTestnet,
77
+ polygonAmoy,
78
+ optimismSepolia,
79
+ arbitrumSepolia,
80
+ } from "wagmi/chains";
65
81
 
66
82
  // Bridge (Hermes-safe; shared by web + the native WebView host)
67
83
  export * from "./bridge";
@@ -81,3 +97,24 @@ export * from "./clients";
81
97
  // Core contracts (MPO-385): the family registry, connection driver and store,
82
98
  // and the message registry. Chain-SDK free, so Hermes-safe on the native entry.
83
99
  export * from "./core";
100
+
101
+ // The EVM connection driver (MPO-385): wagmi and viem behind the core's
102
+ // ConnectionDriver, the engine the eth family runs on.
103
+ export { wagmiDriver, type WagmiDriverOptions } from "./wagmi";
104
+
105
+ // The light connection drivers (MPO-385) for families with no wallet SDK:
106
+ // Solana, Sui and Bitcoin over their injected or Wallet Standard wallets.
107
+ export { bitcoinDriver, solanaDriver, suiDriver, type SolanaDriverOptions } from "./light";
108
+
109
+ // The built-in wallet families (MPO-385) an app hands Web3Provider:
110
+ // `families={[eth(), sol(), gpg()]}`.
111
+ export {
112
+ btc,
113
+ eth,
114
+ gpg,
115
+ sol,
116
+ sui,
117
+ walletFamilies,
118
+ type EthFamilyOptions,
119
+ type SolFamilyOptions,
120
+ } from "./families";