@multiplatform.one/web3 7.25.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 (755) 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 +105 -0
  61. package/dist/cjs/core/family.native.js +132 -0
  62. package/dist/cjs/core/family.native.js.map +1 -0
  63. package/dist/cjs/core/index.cjs +50 -0
  64. package/dist/cjs/core/index.native.js +53 -0
  65. package/dist/cjs/core/index.native.js.map +1 -0
  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/message.cjs +89 -0
  70. package/dist/cjs/core/message.native.js +104 -0
  71. package/dist/cjs/core/message.native.js.map +1 -0
  72. package/dist/cjs/core/names.cjs +51 -0
  73. package/dist/cjs/core/names.native.js +95 -0
  74. package/dist/cjs/core/names.native.js.map +1 -0
  75. package/dist/cjs/core/react.cjs +59 -0
  76. package/dist/cjs/core/react.native.js +67 -0
  77. package/dist/cjs/core/react.native.js.map +1 -0
  78. package/dist/cjs/core/signIn.cjs +201 -0
  79. package/dist/cjs/core/signIn.native.js +240 -0
  80. package/dist/cjs/core/signIn.native.js.map +1 -0
  81. package/dist/cjs/core/store.cjs +495 -0
  82. package/dist/cjs/core/store.native.js +684 -0
  83. package/dist/cjs/core/store.native.js.map +1 -0
  84. package/dist/cjs/core/types.cjs +18 -0
  85. package/dist/cjs/core/types.native.js +21 -0
  86. package/dist/cjs/core/types.native.js.map +1 -0
  87. package/dist/cjs/families/btc.cjs +44 -0
  88. package/dist/cjs/families/btc.native.js +49 -0
  89. package/dist/cjs/families/btc.native.js.map +1 -0
  90. package/dist/cjs/families/eth.cjs +57 -0
  91. package/dist/cjs/families/eth.native.js +61 -0
  92. package/dist/cjs/families/eth.native.js.map +1 -0
  93. package/dist/cjs/families/gpg.cjs +40 -0
  94. package/dist/cjs/families/gpg.native.js +43 -0
  95. package/dist/cjs/families/gpg.native.js.map +1 -0
  96. package/dist/cjs/families/host.cjs +38 -0
  97. package/dist/cjs/families/host.native.js +41 -0
  98. package/dist/cjs/families/host.native.js.map +1 -0
  99. package/dist/cjs/families/index.cjs +53 -0
  100. package/dist/cjs/families/index.native.js +56 -0
  101. package/dist/cjs/families/index.native.js.map +1 -0
  102. package/dist/cjs/families/messages.cjs +61 -0
  103. package/dist/cjs/families/messages.native.js +66 -0
  104. package/dist/cjs/families/messages.native.js.map +1 -0
  105. package/dist/cjs/families/sol.cjs +55 -0
  106. package/dist/cjs/families/sol.native.js +64 -0
  107. package/dist/cjs/families/sol.native.js.map +1 -0
  108. package/dist/cjs/families/sui.cjs +48 -0
  109. package/dist/cjs/families/sui.native.js +53 -0
  110. package/dist/cjs/families/sui.native.js.map +1 -0
  111. package/dist/cjs/index.cjs +23 -2
  112. package/dist/cjs/index.native.js +22 -1
  113. package/dist/cjs/index.native.js.map +1 -1
  114. package/dist/cjs/keycloak/keycloakWallet.cjs +13 -0
  115. package/dist/cjs/keycloak/keycloakWallet.native.js +15 -0
  116. package/dist/cjs/keycloak/keycloakWallet.native.js.map +1 -1
  117. package/dist/cjs/keycloak/useDirectLogin.cjs +10 -5
  118. package/dist/cjs/keycloak/useDirectLogin.native.js +12 -5
  119. package/dist/cjs/keycloak/useDirectLogin.native.js.map +1 -1
  120. package/dist/cjs/keycloak/useWalletLogin.cjs +16 -8
  121. package/dist/cjs/light/drivers.cjs +73 -0
  122. package/dist/cjs/light/drivers.native.js +97 -0
  123. package/dist/cjs/light/drivers.native.js.map +1 -0
  124. package/dist/cjs/light/index.cjs +30 -0
  125. package/dist/cjs/light/index.native.js +33 -0
  126. package/dist/cjs/light/index.native.js.map +1 -0
  127. package/dist/cjs/providers/WalletProvider.cjs +59 -17
  128. package/dist/cjs/providers/WalletProvider.native.js +99 -56
  129. package/dist/cjs/providers/WalletProvider.native.js.map +1 -1
  130. package/dist/cjs/providers/families.cjs +53 -0
  131. package/dist/cjs/providers/families.native.js +59 -0
  132. package/dist/cjs/providers/families.native.js.map +1 -0
  133. package/dist/cjs/providers/index.cjs +1 -0
  134. package/dist/cjs/providers/index.native.js +1 -0
  135. package/dist/cjs/providers/index.native.js.map +1 -1
  136. package/dist/cjs/providers/walletConfig.cjs +41 -0
  137. package/dist/cjs/providers/walletConfig.native.js +68 -0
  138. package/dist/cjs/providers/walletConfig.native.js.map +1 -1
  139. package/dist/cjs/wagmi/driver.cjs +257 -0
  140. package/dist/cjs/wagmi/driver.native.js +331 -0
  141. package/dist/cjs/wagmi/driver.native.js.map +1 -0
  142. package/dist/cjs/wagmi/host.cjs +239 -0
  143. package/dist/cjs/wagmi/host.native.js +320 -0
  144. package/dist/cjs/wagmi/host.native.js.map +1 -0
  145. package/dist/cjs/wagmi/index.cjs +28 -0
  146. package/dist/cjs/wagmi/index.native.js +31 -0
  147. package/dist/cjs/wagmi/index.native.js.map +1 -0
  148. package/dist/cjs/web.cjs +84 -0
  149. package/dist/esm/bridge/base58.mjs +23 -0
  150. package/dist/esm/bridge/base58.mjs.map +1 -0
  151. package/dist/esm/bridge/base58.native.js +23 -0
  152. package/dist/esm/bridge/base58.native.js.map +1 -0
  153. package/dist/esm/bridge/core.mjs +3 -2
  154. package/dist/esm/bridge/core.mjs.map +1 -1
  155. package/dist/esm/bridge/core.native.js +3 -2
  156. package/dist/esm/bridge/core.native.js.map +1 -1
  157. package/dist/esm/bridge/drivers.mjs +113 -0
  158. package/dist/esm/bridge/drivers.mjs.map +1 -0
  159. package/dist/esm/bridge/drivers.native.js +130 -0
  160. package/dist/esm/bridge/drivers.native.js.map +1 -0
  161. package/dist/esm/bridge/nativeHost.mjs +50 -11
  162. package/dist/esm/bridge/nativeHost.mjs.map +1 -1
  163. package/dist/esm/bridge/nativeHost.native.js +57 -11
  164. package/dist/esm/bridge/nativeHost.native.js.map +1 -1
  165. package/dist/esm/clients/adapter.mjs.map +1 -1
  166. package/dist/esm/clients/adapter.native.js.map +1 -1
  167. package/dist/esm/clients/connector.mjs.map +1 -1
  168. package/dist/esm/clients/connector.native.js.map +1 -1
  169. package/dist/esm/clients/evm.mjs +1 -0
  170. package/dist/esm/clients/evm.mjs.map +1 -1
  171. package/dist/esm/clients/evm.native.js +1 -0
  172. package/dist/esm/clients/evm.native.js.map +1 -1
  173. package/dist/esm/clients/evmRead.mjs +78 -0
  174. package/dist/esm/clients/evmRead.mjs.map +1 -0
  175. package/dist/esm/clients/evmRead.native.js +95 -0
  176. package/dist/esm/clients/evmRead.native.js.map +1 -0
  177. package/dist/esm/clients/hooks.mjs +38 -9
  178. package/dist/esm/clients/hooks.mjs.map +1 -1
  179. package/dist/esm/clients/hooks.native.js +44 -7
  180. package/dist/esm/clients/hooks.native.js.map +1 -1
  181. package/dist/esm/clients/index.mjs +4 -3
  182. package/dist/esm/clients/index.mjs.map +1 -1
  183. package/dist/esm/clients/index.native.js +4 -3
  184. package/dist/esm/clients/index.native.js.map +1 -1
  185. package/dist/esm/clients/types.mjs +7 -1
  186. package/dist/esm/clients/types.mjs.map +1 -1
  187. package/dist/esm/clients/types.native.js +14 -1
  188. package/dist/esm/clients/types.native.js.map +1 -1
  189. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs +44 -2
  190. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  191. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js +73 -5
  192. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  193. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs +46 -0
  194. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  195. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js +55 -0
  196. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  197. package/dist/esm/connectkit/adapters/SuiAdapter.mjs +40 -0
  198. package/dist/esm/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  199. package/dist/esm/connectkit/adapters/SuiAdapter.native.js +50 -0
  200. package/dist/esm/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  201. package/dist/esm/connectkit/connectors/ensureWalletConnectors.mjs +4 -1
  202. package/dist/esm/connectkit/connectors/ensureWalletConnectors.mjs.map +1 -1
  203. package/dist/esm/connectkit/connectors/ensureWalletConnectors.native.js +8 -1
  204. package/dist/esm/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  205. package/dist/esm/connectkit/connectors/getWalletConnectors.mjs.map +1 -1
  206. package/dist/esm/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
  207. package/dist/esm/connectkit/connectors/syntheticChains.mjs.map +1 -1
  208. package/dist/esm/connectkit/connectors/syntheticChains.native.js.map +1 -1
  209. package/dist/esm/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
  210. package/dist/esm/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
  211. package/dist/esm/connectkit/defaultConfig.mjs +6 -3
  212. package/dist/esm/connectkit/defaultConfig.mjs.map +1 -1
  213. package/dist/esm/connectkit/defaultConfig.native.js +10 -3
  214. package/dist/esm/connectkit/defaultConfig.native.js.map +1 -1
  215. package/dist/esm/connectkit/siwe/SIWEContext.mjs.map +1 -1
  216. package/dist/esm/connectkit/siwe/SIWEContext.native.js.map +1 -1
  217. package/dist/esm/connectkit/siwe/SIWEProvider.mjs +6 -4
  218. package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  219. package/dist/esm/connectkit/siwe/SIWEProvider.native.js +8 -4
  220. package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  221. package/dist/esm/connectkit/siwe/connectIntent.mjs +54 -16
  222. package/dist/esm/connectkit/siwe/connectIntent.mjs.map +1 -1
  223. package/dist/esm/connectkit/siwe/connectIntent.native.js +98 -16
  224. package/dist/esm/connectkit/siwe/connectIntent.native.js.map +1 -1
  225. package/dist/esm/connectkit/siwe/useSIWE.mjs.map +1 -1
  226. package/dist/esm/connectkit/siwe/useSIWE.native.js.map +1 -1
  227. package/dist/esm/connectkit/web3Bridge.mjs +61 -16
  228. package/dist/esm/connectkit/web3Bridge.mjs.map +1 -1
  229. package/dist/esm/connectkit/web3Bridge.native.js +67 -18
  230. package/dist/esm/connectkit/web3Bridge.native.js.map +1 -1
  231. package/dist/esm/core/family.mjs +79 -0
  232. package/dist/esm/core/family.mjs.map +1 -0
  233. package/dist/esm/core/family.native.js +103 -0
  234. package/dist/esm/core/family.native.js.map +1 -0
  235. package/dist/esm/core/index.mjs +9 -0
  236. package/dist/esm/core/index.mjs.map +1 -0
  237. package/dist/esm/core/index.native.js +9 -0
  238. package/dist/esm/core/index.native.js.map +1 -0
  239. package/dist/esm/core/lightDriver.mjs +157 -0
  240. package/dist/esm/core/lightDriver.mjs.map +1 -0
  241. package/dist/esm/core/lightDriver.native.js +232 -0
  242. package/dist/esm/core/lightDriver.native.js.map +1 -0
  243. package/dist/esm/core/message.mjs +63 -0
  244. package/dist/esm/core/message.mjs.map +1 -0
  245. package/dist/esm/core/message.native.js +75 -0
  246. package/dist/esm/core/message.native.js.map +1 -0
  247. package/dist/esm/core/names.mjs +25 -0
  248. package/dist/esm/core/names.mjs.map +1 -0
  249. package/dist/esm/core/names.native.js +66 -0
  250. package/dist/esm/core/names.native.js.map +1 -0
  251. package/dist/esm/core/react.mjs +30 -0
  252. package/dist/esm/core/react.mjs.map +1 -0
  253. package/dist/esm/core/react.native.js +35 -0
  254. package/dist/esm/core/react.native.js.map +1 -0
  255. package/dist/esm/core/signIn.mjs +173 -0
  256. package/dist/esm/core/signIn.mjs.map +1 -0
  257. package/dist/esm/core/signIn.native.js +209 -0
  258. package/dist/esm/core/signIn.native.js.map +1 -0
  259. package/dist/esm/core/store.mjs +469 -0
  260. package/dist/esm/core/store.mjs.map +1 -0
  261. package/dist/esm/core/store.native.js +655 -0
  262. package/dist/esm/core/store.native.js.map +1 -0
  263. package/dist/esm/core/types.mjs +2 -0
  264. package/dist/esm/core/types.mjs.map +1 -0
  265. package/dist/esm/core/types.native.js +2 -0
  266. package/dist/esm/core/types.native.js.map +1 -0
  267. package/dist/esm/families/btc.mjs +19 -0
  268. package/dist/esm/families/btc.mjs.map +1 -0
  269. package/dist/esm/families/btc.native.js +21 -0
  270. package/dist/esm/families/btc.native.js.map +1 -0
  271. package/dist/esm/families/eth.mjs +32 -0
  272. package/dist/esm/families/eth.mjs.map +1 -0
  273. package/dist/esm/families/eth.native.js +33 -0
  274. package/dist/esm/families/eth.native.js.map +1 -0
  275. package/dist/esm/families/gpg.mjs +15 -0
  276. package/dist/esm/families/gpg.mjs.map +1 -0
  277. package/dist/esm/families/gpg.native.js +15 -0
  278. package/dist/esm/families/gpg.native.js.map +1 -0
  279. package/dist/esm/families/host.mjs +12 -0
  280. package/dist/esm/families/host.mjs.map +1 -0
  281. package/dist/esm/families/host.native.js +12 -0
  282. package/dist/esm/families/host.native.js.map +1 -0
  283. package/dist/esm/families/index.mjs +23 -0
  284. package/dist/esm/families/index.mjs.map +1 -0
  285. package/dist/esm/families/index.native.js +23 -0
  286. package/dist/esm/families/index.native.js.map +1 -0
  287. package/dist/esm/families/messages.mjs +32 -0
  288. package/dist/esm/families/messages.mjs.map +1 -0
  289. package/dist/esm/families/messages.native.js +34 -0
  290. package/dist/esm/families/messages.native.js.map +1 -0
  291. package/dist/esm/families/sol.mjs +30 -0
  292. package/dist/esm/families/sol.mjs.map +1 -0
  293. package/dist/esm/families/sol.native.js +36 -0
  294. package/dist/esm/families/sol.native.js.map +1 -0
  295. package/dist/esm/families/sui.mjs +23 -0
  296. package/dist/esm/families/sui.mjs.map +1 -0
  297. package/dist/esm/families/sui.native.js +25 -0
  298. package/dist/esm/families/sui.native.js.map +1 -0
  299. package/dist/esm/index.mjs +7 -3
  300. package/dist/esm/index.mjs.map +1 -1
  301. package/dist/esm/index.native.js +7 -3
  302. package/dist/esm/index.native.js.map +1 -1
  303. package/dist/esm/keycloak/keycloakWallet.mjs +13 -0
  304. package/dist/esm/keycloak/keycloakWallet.mjs.map +1 -1
  305. package/dist/esm/keycloak/keycloakWallet.native.js +15 -0
  306. package/dist/esm/keycloak/keycloakWallet.native.js.map +1 -1
  307. package/dist/esm/keycloak/useDirectLogin.mjs +10 -5
  308. package/dist/esm/keycloak/useDirectLogin.mjs.map +1 -1
  309. package/dist/esm/keycloak/useDirectLogin.native.js +12 -5
  310. package/dist/esm/keycloak/useDirectLogin.native.js.map +1 -1
  311. package/dist/esm/keycloak/useWalletLogin.mjs +16 -8
  312. package/dist/esm/keycloak/useWalletLogin.mjs.map +1 -1
  313. package/dist/esm/light/drivers.mjs +46 -0
  314. package/dist/esm/light/drivers.mjs.map +1 -0
  315. package/dist/esm/light/drivers.native.js +67 -0
  316. package/dist/esm/light/drivers.native.js.map +1 -0
  317. package/dist/esm/light/index.mjs +3 -0
  318. package/dist/esm/light/index.mjs.map +1 -0
  319. package/dist/esm/light/index.native.js +3 -0
  320. package/dist/esm/light/index.native.js.map +1 -0
  321. package/dist/esm/providers/WalletProvider.mjs +60 -19
  322. package/dist/esm/providers/WalletProvider.mjs.map +1 -1
  323. package/dist/esm/providers/WalletProvider.native.js +101 -59
  324. package/dist/esm/providers/WalletProvider.native.js.map +1 -1
  325. package/dist/esm/providers/families.mjs +27 -0
  326. package/dist/esm/providers/families.mjs.map +1 -0
  327. package/dist/esm/providers/families.native.js +30 -0
  328. package/dist/esm/providers/families.native.js.map +1 -0
  329. package/dist/esm/providers/index.mjs +2 -2
  330. package/dist/esm/providers/index.mjs.map +1 -1
  331. package/dist/esm/providers/index.native.js +2 -2
  332. package/dist/esm/providers/index.native.js.map +1 -1
  333. package/dist/esm/providers/walletConfig.mjs +40 -1
  334. package/dist/esm/providers/walletConfig.mjs.map +1 -1
  335. package/dist/esm/providers/walletConfig.native.js +67 -1
  336. package/dist/esm/providers/walletConfig.native.js.map +1 -1
  337. package/dist/esm/wagmi/driver.mjs +232 -0
  338. package/dist/esm/wagmi/driver.mjs.map +1 -0
  339. package/dist/esm/wagmi/driver.native.js +303 -0
  340. package/dist/esm/wagmi/driver.native.js.map +1 -0
  341. package/dist/esm/wagmi/host.mjs +213 -0
  342. package/dist/esm/wagmi/host.mjs.map +1 -0
  343. package/dist/esm/wagmi/host.native.js +291 -0
  344. package/dist/esm/wagmi/host.native.js.map +1 -0
  345. package/dist/esm/wagmi/index.mjs +3 -0
  346. package/dist/esm/wagmi/index.mjs.map +1 -0
  347. package/dist/esm/wagmi/index.native.js +3 -0
  348. package/dist/esm/wagmi/index.native.js.map +1 -0
  349. package/dist/esm/web.mjs +13 -0
  350. package/dist/esm/web.mjs.map +1 -0
  351. package/dist/jsx/bridge/base58.mjs +23 -0
  352. package/dist/jsx/bridge/base58.mjs.map +1 -0
  353. package/dist/jsx/bridge/base58.native.js +51 -0
  354. package/dist/jsx/bridge/base58.native.js.map +1 -0
  355. package/dist/jsx/bridge/core.mjs +3 -2
  356. package/dist/jsx/bridge/core.mjs.map +1 -1
  357. package/dist/jsx/bridge/core.native.js +5 -1
  358. package/dist/jsx/bridge/core.native.js.map +1 -1
  359. package/dist/jsx/bridge/drivers.mjs +113 -0
  360. package/dist/jsx/bridge/drivers.mjs.map +1 -0
  361. package/dist/jsx/bridge/drivers.native.js +161 -0
  362. package/dist/jsx/bridge/drivers.native.js.map +1 -0
  363. package/dist/jsx/bridge/nativeHost.mjs +50 -11
  364. package/dist/jsx/bridge/nativeHost.mjs.map +1 -1
  365. package/dist/jsx/bridge/nativeHost.native.js +56 -9
  366. package/dist/jsx/bridge/nativeHost.native.js.map +1 -1
  367. package/dist/jsx/clients/adapter.mjs.map +1 -1
  368. package/dist/jsx/clients/adapter.native.js.map +1 -1
  369. package/dist/jsx/clients/connector.mjs.map +1 -1
  370. package/dist/jsx/clients/connector.native.js.map +1 -1
  371. package/dist/jsx/clients/evm.mjs +1 -0
  372. package/dist/jsx/clients/evm.mjs.map +1 -1
  373. package/dist/jsx/clients/evm.native.js +1 -0
  374. package/dist/jsx/clients/evm.native.js.map +1 -1
  375. package/dist/jsx/clients/evmRead.mjs +78 -0
  376. package/dist/jsx/clients/evmRead.mjs.map +1 -0
  377. package/dist/jsx/clients/evmRead.native.js +124 -0
  378. package/dist/jsx/clients/evmRead.native.js.map +1 -0
  379. package/dist/jsx/clients/hooks.mjs +38 -9
  380. package/dist/jsx/clients/hooks.mjs.map +1 -1
  381. package/dist/jsx/clients/hooks.native.js +43 -5
  382. package/dist/jsx/clients/hooks.native.js.map +1 -1
  383. package/dist/jsx/clients/index.mjs +4 -3
  384. package/dist/jsx/clients/index.mjs.map +1 -1
  385. package/dist/jsx/clients/index.native.js +5 -0
  386. package/dist/jsx/clients/index.native.js.map +1 -1
  387. package/dist/jsx/clients/types.mjs +7 -1
  388. package/dist/jsx/clients/types.mjs.map +1 -1
  389. package/dist/jsx/clients/types.native.js +14 -0
  390. package/dist/jsx/clients/types.native.js.map +1 -1
  391. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs +44 -2
  392. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  393. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js +73 -5
  394. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  395. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs +46 -0
  396. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  397. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js +55 -0
  398. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  399. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs +40 -0
  400. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  401. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js +50 -0
  402. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  403. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.mjs +4 -1
  404. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.mjs.map +1 -1
  405. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.native.js +8 -1
  406. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  407. package/dist/jsx/connectkit/connectors/getWalletConnectors.mjs.map +1 -1
  408. package/dist/jsx/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
  409. package/dist/jsx/connectkit/connectors/syntheticChains.mjs.map +1 -1
  410. package/dist/jsx/connectkit/connectors/syntheticChains.native.js.map +1 -1
  411. package/dist/jsx/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
  412. package/dist/jsx/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
  413. package/dist/jsx/connectkit/defaultConfig.mjs +6 -3
  414. package/dist/jsx/connectkit/defaultConfig.mjs.map +1 -1
  415. package/dist/jsx/connectkit/defaultConfig.native.js +9 -2
  416. package/dist/jsx/connectkit/defaultConfig.native.js.map +1 -1
  417. package/dist/jsx/connectkit/siwe/SIWEContext.mjs.map +1 -1
  418. package/dist/jsx/connectkit/siwe/SIWEContext.native.js.map +1 -1
  419. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +6 -4
  420. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  421. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +8 -4
  422. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  423. package/dist/jsx/connectkit/siwe/connectIntent.mjs +54 -16
  424. package/dist/jsx/connectkit/siwe/connectIntent.mjs.map +1 -1
  425. package/dist/jsx/connectkit/siwe/connectIntent.native.js +100 -16
  426. package/dist/jsx/connectkit/siwe/connectIntent.native.js.map +1 -1
  427. package/dist/jsx/connectkit/siwe/useSIWE.mjs.map +1 -1
  428. package/dist/jsx/connectkit/siwe/useSIWE.native.js.map +1 -1
  429. package/dist/jsx/connectkit/web3Bridge.mjs +61 -16
  430. package/dist/jsx/connectkit/web3Bridge.mjs.map +1 -1
  431. package/dist/jsx/connectkit/web3Bridge.native.js +64 -14
  432. package/dist/jsx/connectkit/web3Bridge.native.js.map +1 -1
  433. package/dist/jsx/core/family.mjs +79 -0
  434. package/dist/jsx/core/family.mjs.map +1 -0
  435. package/dist/jsx/core/family.native.js +132 -0
  436. package/dist/jsx/core/family.native.js.map +1 -0
  437. package/dist/jsx/core/index.mjs +9 -0
  438. package/dist/jsx/core/index.mjs.map +1 -0
  439. package/dist/jsx/core/index.native.js +53 -0
  440. package/dist/jsx/core/index.native.js.map +1 -0
  441. package/dist/jsx/core/lightDriver.mjs +157 -0
  442. package/dist/jsx/core/lightDriver.mjs.map +1 -0
  443. package/dist/jsx/core/lightDriver.native.js +260 -0
  444. package/dist/jsx/core/lightDriver.native.js.map +1 -0
  445. package/dist/jsx/core/message.mjs +63 -0
  446. package/dist/jsx/core/message.mjs.map +1 -0
  447. package/dist/jsx/core/message.native.js +104 -0
  448. package/dist/jsx/core/message.native.js.map +1 -0
  449. package/dist/jsx/core/names.mjs +25 -0
  450. package/dist/jsx/core/names.mjs.map +1 -0
  451. package/dist/jsx/core/names.native.js +95 -0
  452. package/dist/jsx/core/names.native.js.map +1 -0
  453. package/dist/jsx/core/react.mjs +30 -0
  454. package/dist/jsx/core/react.mjs.map +1 -0
  455. package/dist/jsx/core/react.native.js +67 -0
  456. package/dist/jsx/core/react.native.js.map +1 -0
  457. package/dist/jsx/core/signIn.mjs +173 -0
  458. package/dist/jsx/core/signIn.mjs.map +1 -0
  459. package/dist/jsx/core/signIn.native.js +240 -0
  460. package/dist/jsx/core/signIn.native.js.map +1 -0
  461. package/dist/jsx/core/store.mjs +469 -0
  462. package/dist/jsx/core/store.mjs.map +1 -0
  463. package/dist/jsx/core/store.native.js +684 -0
  464. package/dist/jsx/core/store.native.js.map +1 -0
  465. package/dist/jsx/core/types.mjs +2 -0
  466. package/dist/jsx/core/types.mjs.map +1 -0
  467. package/dist/jsx/core/types.native.js +21 -0
  468. package/dist/jsx/core/types.native.js.map +1 -0
  469. package/dist/jsx/families/btc.mjs +19 -0
  470. package/dist/jsx/families/btc.mjs.map +1 -0
  471. package/dist/jsx/families/btc.native.js +49 -0
  472. package/dist/jsx/families/btc.native.js.map +1 -0
  473. package/dist/jsx/families/eth.mjs +32 -0
  474. package/dist/jsx/families/eth.mjs.map +1 -0
  475. package/dist/jsx/families/eth.native.js +61 -0
  476. package/dist/jsx/families/eth.native.js.map +1 -0
  477. package/dist/jsx/families/gpg.mjs +15 -0
  478. package/dist/jsx/families/gpg.mjs.map +1 -0
  479. package/dist/jsx/families/gpg.native.js +43 -0
  480. package/dist/jsx/families/gpg.native.js.map +1 -0
  481. package/dist/jsx/families/host.mjs +12 -0
  482. package/dist/jsx/families/host.mjs.map +1 -0
  483. package/dist/jsx/families/host.native.js +41 -0
  484. package/dist/jsx/families/host.native.js.map +1 -0
  485. package/dist/jsx/families/index.mjs +23 -0
  486. package/dist/jsx/families/index.mjs.map +1 -0
  487. package/dist/jsx/families/index.native.js +56 -0
  488. package/dist/jsx/families/index.native.js.map +1 -0
  489. package/dist/jsx/families/messages.mjs +32 -0
  490. package/dist/jsx/families/messages.mjs.map +1 -0
  491. package/dist/jsx/families/messages.native.js +66 -0
  492. package/dist/jsx/families/messages.native.js.map +1 -0
  493. package/dist/jsx/families/sol.mjs +30 -0
  494. package/dist/jsx/families/sol.mjs.map +1 -0
  495. package/dist/jsx/families/sol.native.js +64 -0
  496. package/dist/jsx/families/sol.native.js.map +1 -0
  497. package/dist/jsx/families/sui.mjs +23 -0
  498. package/dist/jsx/families/sui.mjs.map +1 -0
  499. package/dist/jsx/families/sui.native.js +53 -0
  500. package/dist/jsx/families/sui.native.js.map +1 -0
  501. package/dist/jsx/index.js +7 -3
  502. package/dist/jsx/index.js.map +1 -1
  503. package/dist/jsx/index.mjs +7 -3
  504. package/dist/jsx/index.mjs.map +1 -1
  505. package/dist/jsx/index.native.js +22 -1
  506. package/dist/jsx/index.native.js.map +1 -1
  507. package/dist/jsx/keycloak/keycloakWallet.mjs +13 -0
  508. package/dist/jsx/keycloak/keycloakWallet.mjs.map +1 -1
  509. package/dist/jsx/keycloak/keycloakWallet.native.js +15 -0
  510. package/dist/jsx/keycloak/keycloakWallet.native.js.map +1 -1
  511. package/dist/jsx/keycloak/useDirectLogin.mjs +10 -5
  512. package/dist/jsx/keycloak/useDirectLogin.mjs.map +1 -1
  513. package/dist/jsx/keycloak/useDirectLogin.native.js +12 -5
  514. package/dist/jsx/keycloak/useDirectLogin.native.js.map +1 -1
  515. package/dist/jsx/keycloak/useWalletLogin.mjs +16 -8
  516. package/dist/jsx/keycloak/useWalletLogin.mjs.map +1 -1
  517. package/dist/jsx/light/drivers.mjs +46 -0
  518. package/dist/jsx/light/drivers.mjs.map +1 -0
  519. package/dist/jsx/light/drivers.native.js +97 -0
  520. package/dist/jsx/light/drivers.native.js.map +1 -0
  521. package/dist/jsx/light/index.mjs +3 -0
  522. package/dist/jsx/light/index.mjs.map +1 -0
  523. package/dist/jsx/light/index.native.js +33 -0
  524. package/dist/jsx/light/index.native.js.map +1 -0
  525. package/dist/jsx/providers/WalletProvider.mjs +60 -19
  526. package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
  527. package/dist/jsx/providers/WalletProvider.native.js +99 -56
  528. package/dist/jsx/providers/WalletProvider.native.js.map +1 -1
  529. package/dist/jsx/providers/families.mjs +27 -0
  530. package/dist/jsx/providers/families.mjs.map +1 -0
  531. package/dist/jsx/providers/families.native.js +59 -0
  532. package/dist/jsx/providers/families.native.js.map +1 -0
  533. package/dist/jsx/providers/index.mjs +2 -2
  534. package/dist/jsx/providers/index.mjs.map +1 -1
  535. package/dist/jsx/providers/index.native.js +1 -0
  536. package/dist/jsx/providers/index.native.js.map +1 -1
  537. package/dist/jsx/providers/walletConfig.mjs +40 -1
  538. package/dist/jsx/providers/walletConfig.mjs.map +1 -1
  539. package/dist/jsx/providers/walletConfig.native.js +68 -0
  540. package/dist/jsx/providers/walletConfig.native.js.map +1 -1
  541. package/dist/jsx/wagmi/driver.mjs +232 -0
  542. package/dist/jsx/wagmi/driver.mjs.map +1 -0
  543. package/dist/jsx/wagmi/driver.native.js +331 -0
  544. package/dist/jsx/wagmi/driver.native.js.map +1 -0
  545. package/dist/jsx/wagmi/host.mjs +213 -0
  546. package/dist/jsx/wagmi/host.mjs.map +1 -0
  547. package/dist/jsx/wagmi/host.native.js +320 -0
  548. package/dist/jsx/wagmi/host.native.js.map +1 -0
  549. package/dist/jsx/wagmi/index.mjs +3 -0
  550. package/dist/jsx/wagmi/index.mjs.map +1 -0
  551. package/dist/jsx/wagmi/index.native.js +31 -0
  552. package/dist/jsx/wagmi/index.native.js.map +1 -0
  553. package/dist/jsx/web.mjs +13 -0
  554. package/dist/jsx/web.mjs.map +1 -0
  555. package/dist/keycloak/login.iife.js +449 -443
  556. package/docs/bridge-protocol.md +41 -14
  557. package/package.json +13 -6
  558. package/src/bridge/base58.spec.ts +18 -0
  559. package/src/bridge/base58.ts +25 -0
  560. package/src/bridge/core.ts +2 -0
  561. package/src/bridge/drivers.spec.ts +283 -0
  562. package/src/bridge/drivers.ts +155 -0
  563. package/src/bridge/index.spec.ts +3 -0
  564. package/src/bridge/nativeHost.spec.ts +139 -15
  565. package/src/bridge/nativeHost.ts +84 -14
  566. package/src/bundler/metaMaskConnectTimeouts.spec.ts +3 -0
  567. package/src/clients/adapter.ts +5 -1
  568. package/src/clients/connector.ts +2 -0
  569. package/src/clients/evm.spec.ts +8 -0
  570. package/src/clients/evm.ts +3 -0
  571. package/src/clients/evmRead.spec.ts +180 -0
  572. package/src/clients/evmRead.ts +140 -0
  573. package/src/clients/hooks.spec.tsx +58 -0
  574. package/src/clients/hooks.ts +73 -14
  575. package/src/clients/index.ts +11 -1
  576. package/src/clients/types.ts +15 -1
  577. package/src/clients/useEvmReadClient.spec.tsx +93 -0
  578. package/src/connectkit/adapters/BitcoinAdapter.ts +64 -4
  579. package/src/connectkit/adapters/SolanaAdapter.ts +49 -0
  580. package/src/connectkit/adapters/SuiAdapter.ts +47 -1
  581. package/src/connectkit/connectors/ensureWalletConnectors.ts +10 -1
  582. package/src/connectkit/connectors/getWalletConnectors.ts +2 -0
  583. package/src/connectkit/connectors/syntheticChains.ts +8 -0
  584. package/src/connectkit/connectors/walletAdapterConnector.ts +2 -0
  585. package/src/connectkit/defaultConfig.ts +21 -7
  586. package/src/connectkit/siwe/SIWEContext.tsx +3 -0
  587. package/src/connectkit/siwe/SIWEProvider.spec.tsx +109 -0
  588. package/src/connectkit/siwe/SIWEProvider.tsx +16 -7
  589. package/src/connectkit/siwe/connectIntent.spec.ts +100 -30
  590. package/src/connectkit/siwe/connectIntent.ts +99 -25
  591. package/src/connectkit/siwe/useSIWE.ts +4 -1
  592. package/src/connectkit/web3Bridge.tsx +75 -15
  593. package/src/core/family.spec.ts +136 -0
  594. package/src/core/family.ts +146 -0
  595. package/src/core/imports.spec.ts +82 -0
  596. package/src/core/index.ts +70 -0
  597. package/src/core/lightDriver.spec.ts +284 -0
  598. package/src/core/lightDriver.ts +235 -0
  599. package/src/core/message.spec.ts +178 -0
  600. package/src/core/message.ts +119 -0
  601. package/src/core/names.ts +29 -0
  602. package/src/core/react.spec.tsx +75 -0
  603. package/src/core/react.ts +52 -0
  604. package/src/core/signIn.spec.tsx +305 -0
  605. package/src/core/signIn.ts +282 -0
  606. package/src/core/store.spec.ts +973 -0
  607. package/src/core/store.ts +609 -0
  608. package/src/core/types.ts +110 -0
  609. package/src/families/btc.ts +16 -0
  610. package/src/families/eth.ts +35 -0
  611. package/src/families/families.spec.ts +180 -0
  612. package/src/families/gpg.ts +13 -0
  613. package/src/families/host.ts +34 -0
  614. package/src/families/index.ts +32 -0
  615. package/src/families/messages.ts +39 -0
  616. package/src/families/sol.ts +25 -0
  617. package/src/families/sui.ts +17 -0
  618. package/src/index.ts +42 -1
  619. package/src/keycloak/KeycloakWalletLogin.spec.tsx +211 -4
  620. package/src/keycloak/keycloakWallet.spec.ts +81 -1
  621. package/src/keycloak/keycloakWallet.ts +24 -2
  622. package/src/keycloak/useDirectLogin.spec.tsx +77 -4
  623. package/src/keycloak/useDirectLogin.ts +23 -11
  624. package/src/keycloak/useWalletLogin.spec.tsx +52 -0
  625. package/src/keycloak/useWalletLogin.ts +24 -6
  626. package/src/light/drivers.spec.ts +330 -0
  627. package/src/light/drivers.ts +54 -0
  628. package/src/light/index.ts +1 -0
  629. package/src/light/native.spec.ts +22 -0
  630. package/src/providers/WalletProvider.native.spec.tsx +288 -0
  631. package/src/providers/WalletProvider.native.tsx +132 -59
  632. package/src/providers/WalletProvider.spec.tsx +521 -0
  633. package/src/providers/WalletProvider.tsx +90 -19
  634. package/src/providers/families.tsx +39 -0
  635. package/src/providers/index.ts +3 -0
  636. package/src/providers/walletConfig.spec.ts +19 -1
  637. package/src/providers/walletConfig.ts +80 -2
  638. package/src/wagmi/driver.spec.ts +407 -0
  639. package/src/wagmi/driver.ts +303 -0
  640. package/src/wagmi/host.spec.tsx +416 -0
  641. package/src/wagmi/host.tsx +260 -0
  642. package/src/wagmi/index.ts +1 -0
  643. package/src/web.spec.ts +58 -0
  644. package/src/web.ts +82 -0
  645. package/types/bridge/base58.d.ts +2 -0
  646. package/types/bridge/base58.d.ts.map +1 -0
  647. package/types/bridge/core.d.ts +2 -1
  648. package/types/bridge/core.d.ts.map +1 -1
  649. package/types/bridge/drivers.d.ts +24 -0
  650. package/types/bridge/drivers.d.ts.map +1 -0
  651. package/types/bridge/nativeHost.d.ts +34 -4
  652. package/types/bridge/nativeHost.d.ts.map +1 -1
  653. package/types/clients/adapter.d.ts +5 -1
  654. package/types/clients/adapter.d.ts.map +1 -1
  655. package/types/clients/connector.d.ts +2 -0
  656. package/types/clients/connector.d.ts.map +1 -1
  657. package/types/clients/evm.d.ts +2 -0
  658. package/types/clients/evm.d.ts.map +1 -1
  659. package/types/clients/evmRead.d.ts +54 -0
  660. package/types/clients/evmRead.d.ts.map +1 -0
  661. package/types/clients/hooks.d.ts +23 -3
  662. package/types/clients/hooks.d.ts.map +1 -1
  663. package/types/clients/index.d.ts +4 -2
  664. package/types/clients/index.d.ts.map +1 -1
  665. package/types/clients/types.d.ts +11 -1
  666. package/types/clients/types.d.ts.map +1 -1
  667. package/types/connectkit/adapters/BitcoinAdapter.d.ts +9 -0
  668. package/types/connectkit/adapters/BitcoinAdapter.d.ts.map +1 -1
  669. package/types/connectkit/adapters/SolanaAdapter.d.ts +12 -0
  670. package/types/connectkit/adapters/SolanaAdapter.d.ts.map +1 -1
  671. package/types/connectkit/adapters/SuiAdapter.d.ts +8 -0
  672. package/types/connectkit/adapters/SuiAdapter.d.ts.map +1 -1
  673. package/types/connectkit/connectors/ensureWalletConnectors.d.ts +3 -0
  674. package/types/connectkit/connectors/ensureWalletConnectors.d.ts.map +1 -1
  675. package/types/connectkit/connectors/getWalletConnectors.d.ts +2 -0
  676. package/types/connectkit/connectors/getWalletConnectors.d.ts.map +1 -1
  677. package/types/connectkit/connectors/syntheticChains.d.ts +8 -0
  678. package/types/connectkit/connectors/syntheticChains.d.ts.map +1 -1
  679. package/types/connectkit/connectors/walletAdapterConnector.d.ts +2 -0
  680. package/types/connectkit/connectors/walletAdapterConnector.d.ts.map +1 -1
  681. package/types/connectkit/defaultConfig.d.ts +2 -1
  682. package/types/connectkit/defaultConfig.d.ts.map +1 -1
  683. package/types/connectkit/siwe/SIWEContext.d.ts.map +1 -1
  684. package/types/connectkit/siwe/SIWEProvider.d.ts +6 -0
  685. package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
  686. package/types/connectkit/siwe/connectIntent.d.ts +16 -5
  687. package/types/connectkit/siwe/connectIntent.d.ts.map +1 -1
  688. package/types/connectkit/siwe/useSIWE.d.ts +4 -0
  689. package/types/connectkit/siwe/useSIWE.d.ts.map +1 -1
  690. package/types/connectkit/web3Bridge.d.ts +2 -0
  691. package/types/connectkit/web3Bridge.d.ts.map +1 -1
  692. package/types/core/family.d.ts +70 -0
  693. package/types/core/family.d.ts.map +1 -0
  694. package/types/core/index.d.ts +9 -0
  695. package/types/core/index.d.ts.map +1 -0
  696. package/types/core/lightDriver.d.ts +52 -0
  697. package/types/core/lightDriver.d.ts.map +1 -0
  698. package/types/core/message.d.ts +44 -0
  699. package/types/core/message.d.ts.map +1 -0
  700. package/types/core/names.d.ts +7 -0
  701. package/types/core/names.d.ts.map +1 -0
  702. package/types/core/react.d.ts +18 -0
  703. package/types/core/react.d.ts.map +1 -0
  704. package/types/core/signIn.d.ts +85 -0
  705. package/types/core/signIn.d.ts.map +1 -0
  706. package/types/core/store.d.ts +73 -0
  707. package/types/core/store.d.ts.map +1 -0
  708. package/types/core/types.d.ts +101 -0
  709. package/types/core/types.d.ts.map +1 -0
  710. package/types/families/btc.d.ts +4 -0
  711. package/types/families/btc.d.ts.map +1 -0
  712. package/types/families/eth.d.ts +13 -0
  713. package/types/families/eth.d.ts.map +1 -0
  714. package/types/families/gpg.d.ts +4 -0
  715. package/types/families/gpg.d.ts.map +1 -0
  716. package/types/families/host.d.ts +24 -0
  717. package/types/families/host.d.ts.map +1 -0
  718. package/types/families/index.d.ts +14 -0
  719. package/types/families/index.d.ts.map +1 -0
  720. package/types/families/messages.d.ts +7 -0
  721. package/types/families/messages.d.ts.map +1 -0
  722. package/types/families/sol.d.ts +9 -0
  723. package/types/families/sol.d.ts.map +1 -0
  724. package/types/families/sui.d.ts +4 -0
  725. package/types/families/sui.d.ts.map +1 -0
  726. package/types/index.d.ts +6 -2
  727. package/types/index.d.ts.map +1 -1
  728. package/types/keycloak/keycloakWallet.d.ts +15 -2
  729. package/types/keycloak/keycloakWallet.d.ts.map +1 -1
  730. package/types/keycloak/useDirectLogin.d.ts +11 -6
  731. package/types/keycloak/useDirectLogin.d.ts.map +1 -1
  732. package/types/keycloak/useWalletLogin.d.ts +8 -1
  733. package/types/keycloak/useWalletLogin.d.ts.map +1 -1
  734. package/types/light/drivers.d.ts +13 -0
  735. package/types/light/drivers.d.ts.map +1 -0
  736. package/types/light/index.d.ts +2 -0
  737. package/types/light/index.d.ts.map +1 -0
  738. package/types/providers/WalletProvider.d.ts +37 -6
  739. package/types/providers/WalletProvider.d.ts.map +1 -1
  740. package/types/providers/WalletProvider.native.d.ts +32 -3
  741. package/types/providers/WalletProvider.native.d.ts.map +1 -1
  742. package/types/providers/families.d.ts +12 -0
  743. package/types/providers/families.d.ts.map +1 -0
  744. package/types/providers/index.d.ts +1 -1
  745. package/types/providers/index.d.ts.map +1 -1
  746. package/types/providers/walletConfig.d.ts +32 -2
  747. package/types/providers/walletConfig.d.ts.map +1 -1
  748. package/types/wagmi/driver.d.ts +44 -0
  749. package/types/wagmi/driver.d.ts.map +1 -0
  750. package/types/wagmi/host.d.ts +31 -0
  751. package/types/wagmi/host.d.ts.map +1 -0
  752. package/types/wagmi/index.d.ts +2 -0
  753. package/types/wagmi/index.d.ts.map +1 -0
  754. package/types/web.d.ts +13 -0
  755. package/types/web.d.ts.map +1 -0
@@ -0,0 +1,110 @@
1
+ import type { ChainClient } from "../clients/types";
2
+
3
+ /** Where a connection is: none, being opened by the user, being restored silently, or open. */
4
+ export type ConnectionStatus = "disconnected" | "connecting" | "reconnecting" | "connected";
5
+
6
+ /** One wallet a driver can connect, as the connect list shows it. */
7
+ export interface WalletConnector {
8
+ readonly id: string;
9
+ readonly name: string;
10
+ readonly icon?: string;
11
+ /** The wallet is present here now: an injected extension, an installed app. */
12
+ readonly installed?: boolean;
13
+ }
14
+
15
+ /** The account a driver connected. */
16
+ export interface DriverAccount {
17
+ /** Chain-native address. */
18
+ readonly address: string;
19
+ /** EVM numeric chain id, or a CAIP-2 style id (`solana:mainnet`). */
20
+ readonly chainId?: number | string;
21
+ }
22
+
23
+ export interface DriverState {
24
+ readonly status: ConnectionStatus;
25
+ readonly connectorId: string | null;
26
+ readonly account: DriverAccount | null;
27
+ }
28
+
29
+ export interface DriverConnectOptions {
30
+ /** Called with a pairing URI when the connector hands off to another app or device. */
31
+ onDisplayUri?: (uri: string) => void;
32
+ }
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
+
45
+ /**
46
+ * The engine behind one wallet family's connections: wagmi for EVM, the light
47
+ * driver for adapter-based families. The connection store drives it and holds
48
+ * the one active connection; a driver never decides which family is active.
49
+ */
50
+ export interface ConnectionDriver {
51
+ /** The connectors this driver can drive, in list order. */
52
+ connectors(): readonly WalletConnector[];
53
+ /**
54
+ * Called when the connector list changes: an EIP-6963 or Wallet Standard
55
+ * wallet announcing itself late. Without it the list is read once per call.
56
+ */
57
+ watchConnectors?(listener: () => void): () => void;
58
+ getState(): DriverState;
59
+ /** Called on every state change: account, chain, connector, or a disconnect from the wallet side. */
60
+ subscribe(listener: () => void): () => void;
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
+ */
65
+ connect(connectorId: string, options?: DriverConnectOptions): Promise<DriverAccount>;
66
+ /**
67
+ * Closes every connection the driver holds, or with a connectorId only that
68
+ * connector's, doing nothing when it is not open.
69
+ */
70
+ disconnect(connectorId?: string): Promise<void>;
71
+ /**
72
+ * Restores a connector the user authorised before, without prompting.
73
+ * Resolves null only when the wallet says it is no longer authorised, which
74
+ * makes the store forget it. A connector that is not available yet (an
75
+ * EIP-6963 wallet still to announce itself) rejects instead, and the store
76
+ * keeps it for the next restore.
77
+ */
78
+ reconnect(connectorId: string): Promise<DriverAccount | null>;
79
+ /**
80
+ * The per-chain client for the current account, or null. The store asks
81
+ * again only when the connector, address or chain changes.
82
+ */
83
+ client?(state: DriverState): ChainClient | null | Promise<ChainClient | null>;
84
+ }
85
+
86
+ /** What `useConnection()` returns: the single active connection across every family. */
87
+ export interface ConnectionState {
88
+ readonly status: ConnectionStatus;
89
+ readonly family: string | null;
90
+ readonly connector: WalletConnector | null;
91
+ readonly address: string | null;
92
+ readonly chainId: number | string | null;
93
+ readonly client: ChainClient | null;
94
+ }
95
+
96
+ /**
97
+ * Where the store remembers the last connection. localStorage, wagmi's storage
98
+ * and React Native AsyncStorage all fit.
99
+ */
100
+ export interface ConnectionStorage {
101
+ getItem(key: string): string | null | undefined | Promise<string | null | undefined>;
102
+ setItem(key: string, value: string): void | Promise<void>;
103
+ removeItem(key: string): void | Promise<void>;
104
+ }
105
+
106
+ /** The persisted record: which family and connector to restore, nothing else. */
107
+ export interface SavedConnection {
108
+ readonly family: string;
109
+ readonly connectorId: string;
110
+ }
@@ -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";
@@ -77,3 +93,28 @@ export * from "./clients";
77
93
  // verify pulls @noble/curves + bs58 (ESM-only) which Hermes rejects in the RN
78
94
  // bundle ("import statement requires module mode"). It's server/web-side only —
79
95
  // import it directly from "@multiplatform.one/web3/siws" (or the source path).
96
+
97
+ // Core contracts (MPO-385): the family registry, connection driver and store,
98
+ // and the message registry. Chain-SDK free, so Hermes-safe on the native entry.
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";