@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
package/README.md CHANGED
@@ -14,7 +14,8 @@ Peers: `react`, `@tanstack/react-query`.
14
14
 
15
15
  ## What it owns
16
16
 
17
- - **`WalletProvider`** — wagmi + connectkit setup from one `Web3Config`
17
+ - **`Web3Provider`** (also `WalletProvider`) — the wallet families, the
18
+ connection store behind `useConnection()`, and wagmi + connectkit, from one `Web3Config`
18
19
  (`appName`, `chains`, `enableTestnets`, `localnet` for a hardhat dev chain,
19
20
  Solana/Sui RPC URLs)
20
21
  - **Hooks** — `useWallet()` (unified state + actions), `useContractRead`,
@@ -22,11 +23,93 @@ Peers: `react`, `@tanstack/react-query`.
22
23
  `useBalance`, `useConnect`, `useSignMessage`, `useSwitchChain`, …)
23
24
  - **Components** — `ConnectKitButton`, `WalletButton`, `WalletAvatar`,
24
25
  `WalletStatus`, `NetworkSwitcher`
25
- - **Subpaths** — `./native` (WebView wallet bridge), `./connectkit`,
26
+ - **Subpaths** — `./web` (the root without the tamagui components, for a
27
+ plain web bundler, below), `./native` (WebView wallet bridge), `./connectkit`,
26
28
  `./message` (the wallet sign-in messages), `./keycloak` (wallet login
27
29
  against the Keycloak wallet SPI), `./vite` and `./esbuild` (bundler
28
30
  plugins, below)
29
31
 
32
+ ## Wallet families and `useConnection()`
33
+
34
+ `Web3Provider` registers the wallet families an app uses and holds one active
35
+ connection across them. `WalletProvider` is the same component under its first
36
+ name.
37
+
38
+ ```tsx
39
+ import { Web3Provider, eth, gpg, sol, useConnection } from "@multiplatform.one/web3";
40
+
41
+ function Account() {
42
+ const { status, family, address, client } = useConnection();
43
+ if (status !== "connected") return null;
44
+ return <button onClick={() => client?.signMessage("hello")}>{`${family} ${address}`}</button>;
45
+ }
46
+
47
+ export function App() {
48
+ return (
49
+ <Web3Provider config={{ appName: "My App" }} families={[eth(), sol(), gpg()]}>
50
+ <Account />
51
+ </Web3Provider>
52
+ );
53
+ }
54
+ ```
55
+
56
+ Leave `families` out and the provider takes the ones `config.families` names,
57
+ or every built-in family: `eth`, `sol`, `sui`, `btc` and `gpg`. Pass one or
58
+ the other, not both. Each family carries its sign-in message, which
59
+ `useConnectionStore().registry.messages.build(family, opts)` builds, and its
60
+ connection driver: `eth()` runs on wagmi, and `eth({ config })` hands the
61
+ provider the app's own wagmi config; `sol()`, `sui()` and `btc()` run on the
62
+ light driver in a store an app makes itself with `createConnectionStore`;
63
+ `gpg()` signs without connecting. Under `Web3Provider` the Solana, Sui and
64
+ Bitcoin families connect through the wagmi config for now (below), so a config
65
+ handed over with `eth({ config })` lists their wallets only if it carries the
66
+ Solana, Sui and Bitcoin wallet connectors, as `getDefaultConfig` builds it.
67
+
68
+ `useConnection()` returns `{ status, family, connector, address, chainId, client }`
69
+ whichever way the connection opened: the connect modal, a wagmi hook, or
70
+ `useConnectionStore().connect(family, connectorId)`. Connecting a wallet of
71
+ another family closes the first. `useEvmClient()`, `useSuiClient()` and
72
+ `useBitcoinClient()` return the store's client when one is mounted.
73
+
74
+ Until the modal reads the store in 8.0.0, eth, sol, sui and btc connect through
75
+ the modal's wagmi config, and wagmi still restores the last connection on load.
76
+ Solana, Sui and Bitcoin connections report `solana:mainnet`, `sui:mainnet` and
77
+ `bitcoin` as their chain id, not the synthetic EVM id the wagmi shim uses. A
78
+ `ConnectKitProvider` under a bare `WagmiProvider` mounts a store of its own.
79
+ The shim's exports are deprecated and go in 8.0.0: `walletAdapterConnector`,
80
+ `getWalletConnectors`, `syntheticChains`, `solanaChain`, `suiChain`,
81
+ `bitcoinChain`, `SOLANA_CHAIN_ID`, `SUI_CHAIN_ID`, `BITCOIN_CHAIN_ID`,
82
+ `isSyntheticChainId`, `clientForConnector` and `connectorAdapter`.
83
+
84
+ ## Sign-in with `SignInProvider`
85
+
86
+ `SignInProvider` signs in with whatever the connection store holds: the
87
+ connected family builds its own sign-in message and the connection's client
88
+ signs it, so an Ethereum, Solana, Sui or Bitcoin wallet takes the same path.
89
+ Hand it a nonce source and an `onSign`, or pass the same config as
90
+ `Web3Provider`'s `signIn` prop.
91
+
92
+ ```tsx
93
+ const kc = keycloakWallet({ baseUrl, realm, domain: "app.example.com" });
94
+ const grant = kc.directGrant({ clientId: "app" });
95
+
96
+ <Web3Provider config={config} signIn={kc.signInConfig(grant.onSign)}>
97
+ <App />
98
+ </Web3Provider>;
99
+
100
+ // inside App: useDirectLogin(grant).signIn(), or useSignIn().signIn()
101
+ ```
102
+
103
+ `useSignIn()` returns `{ status, error, signIn, reset }`, whose `status` takes
104
+ `StatusState`'s values. `useDirectLogin` and `useWalletLogin` sign through a
105
+ SignInProvider when there is one. The wagmi-only
106
+ `SIWEProvider`, `useSIWE`, `kc.siweConfig` and `kc.createMessage`, and
107
+ `Web3Provider`'s `siwe` prop, are deprecated and go in 8.0.0; under only a
108
+ `SIWEProvider` the Keycloak hooks sign through it as before.
109
+ `KeycloakWalletLogin` keeps its SIWEProvider until then: the connect modal's
110
+ sign-in step, which a phone lands on after the wallet trip, reads the SIWE
111
+ provider until the modal reads the store.
112
+
30
113
  ## Per-chain clients
31
114
 
32
115
  Apps talk to a chain through a client, never through wagmi, `window.ethereum`
@@ -36,12 +119,13 @@ or a provider's `request`. Every client shares
36
119
  verifiers take: EVM 0x hex, Solana base58, Sui base64, Bitcoin base64 BIP-322,
37
120
  GPG the armored signature plus the armored public key.
38
121
 
39
- | Hook / factory | What it adds |
40
- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
41
- | `useEvmClient()` / `evmClient({ walletClient } \| { provider, account, chain })` | viem `walletClient` + `publicClient`, `sendTransaction`, `writeContract`, `waitForTransactionReceipt`, `confirmTransaction`, `explorerTxUrl`, `erc20.{transfer, approve, ensureAllowance, balanceOf, allowance, decimals}`, safe for tokens like USDT that return nothing or refuse a non-zero to non-zero approve |
42
- | `useSolanaClient()` / `solanaClient({ signer, rpcUrl?, chain? })` from `./solana` | web only: `@solana/kit` `rpc`, `signTransaction`, `signAndSendTransaction`, `sendTransaction`, `confirmTransaction`, `getBalance`, `transferSol` |
43
- | `useGpgSigner()` / `createGpgSigner()` | the copy/paste GPG signer: `signMessage` parks a request with its terminal `command`; `submit(pasted, request)` resolves it only while `request` is still the pending one and the pasted signature covers its message |
44
- | `useSuiClient()`, `useBitcoinClient()` | message signing only; `signTransaction` / `signPsbt` reject with `UnsupportedClientMethodError` until transactions land |
122
+ | Hook / factory | What it adds |
123
+ | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
124
+ | `useEvmClient()` / `evmClient({ walletClient } \| { provider, account, chain })` | viem `walletClient` + `publicClient`, `sendTransaction`, `writeContract`, `waitForTransactionReceipt`, `confirmTransaction`, `explorerTxUrl`, `erc20.{transfer, approve, ensureAllowance, balanceOf, allowance, decimals}`, safe for tokens like USDT that return nothing or refuse a non-zero to non-zero approve |
125
+ | `useEvmReadClient({ chainId? })` / `evmReadClient({ chain, rpcUrl? })` / `evmReadClients(web3Config).get(chainId?)` | no wallet needed: `publicClient`, `readContract`, `erc20.{balanceOf, allowance, decimals}` with the owner named, `explorerTxUrl`; `address` is null, and `signMessage`, `sendTransaction` and `writeContract` reject with `ReadOnlyClientError` |
126
+ | `useSolanaClient()` / `solanaClient({ signer, rpcUrl?, chain? })` from `./solana` | web only: `@solana/kit` `rpc`, `signTransaction`, `signAndSendTransaction`, `sendTransaction`, `confirmTransaction`, `getBalance`, `transferSol` |
127
+ | `useGpgSigner()` / `createGpgSigner()` | the copy/paste GPG signer: `signMessage` parks a request with its terminal `command`; `submit(pasted, request)` resolves it only while `request` is still the pending one and the pasted signature covers its message |
128
+ | `useSuiClient()`, `useBitcoinClient()` | message signing only; `signTransaction` / `signPsbt` reject with `UnsupportedClientMethodError` until transactions land |
45
129
 
46
130
  ```tsx
47
131
  import { useEvmClient } from "@multiplatform.one/web3";
@@ -78,6 +162,29 @@ signs Solana through the WebView bridge, so the root never imports
78
162
  through `solanaMessageClient`, so a login page carries no kit.
79
163
  `tests/clients/importGraph.spec.ts` holds both lines, for native and web.
80
164
 
165
+ ### EVM reads without a wallet
166
+
167
+ Reads that must work before a wallet connects, such as prices, sale state or
168
+ a quote for an anonymous visitor, or a balance on a chain other than the
169
+ connected one, go through a read client. Inside a `WalletProvider`,
170
+ `useEvmReadClient({ chainId })` wraps the provider's own public client for that
171
+ chain. With no `chainId` it follows the chain wagmi is on, which moves when the
172
+ wallet switches network, so pass `chainId` to read a contract that lives on one
173
+ chain. Outside React, `evmReadClients(config)` takes the same `Web3Config`
174
+ chain fields and resolves the same chains and RPCs, localnet included. Both
175
+ clients and `evmClient` have `readContract` and the `erc20` reads, so
176
+ `useEvmClient() ?? useEvmReadClient({ chainId })` reads either way.
177
+
178
+ ```ts
179
+ import { evmReadClients } from "@multiplatform.one/web3";
180
+
181
+ const readers = evmReadClients({ chains: [base, polygon] });
182
+ const price = await readers
183
+ .get(base.id)
184
+ .readContract({ address: sale, abi, functionName: "price" });
185
+ const held = await readers.get(polygon.id).erc20.balanceOf(qcc, visitor);
186
+ ```
187
+
81
188
  ### EVM payments: pending is not failed
82
189
 
83
190
  A sent transaction can sit in the mempool for minutes and still land. viem's
@@ -243,6 +350,30 @@ React Native builds don't need it: the native `WalletProvider` renders the
243
350
  wallet UI from `assets/webview.html`, which this package builds with the
244
351
  plugin.
245
352
 
353
+ ## Plain web bundlers: the `./web` entry
354
+
355
+ The root entry also exports the tamagui components (`WalletButton`,
356
+ `WalletAvatar`, `WalletStatus`, `NetworkSwitcher`, `TransactionStatusComponent`)
357
+ and the `LockContract` example. tamagui's web build imports `react-native-web`,
358
+ and `@multiplatform.one/platform` reads `process.env` at load, so a web-only
359
+ app that imports the root has to install `react-native-web`, alias
360
+ `react-native` to it and define `process.env`.
361
+
362
+ `@multiplatform.one/web3/web` is everything else the root exports, with none of
363
+ that in its module graph: `WalletProvider`, the hooks, `ConnectKitButton`, the
364
+ per-chain clients, the bridge, the message builder and the core contracts. A
365
+ Vite app or library build needs only the bundler plugin above, plus the
366
+ `process.env.NODE_ENV` define React needs in any library build.
367
+
368
+ ```ts
369
+ import { WalletProvider, evmClient, useEvmClient } from "@multiplatform.one/web3/web";
370
+ ```
371
+
372
+ `web-entry/webEntry.spec.ts` (`pnpm test:web-entry`) holds it to that: it
373
+ builds this import as a Vite app and as an IIFE library with `react-native`
374
+ unresolvable, checks that tamagui, platform and theme stay out of the module
375
+ graph, and mounts `WalletProvider` from the bundle on a page with no `process`.
376
+
246
377
  ## Native apps: the WebView bridge
247
378
 
248
379
  A native app does not link wallet SDKs. The native `WalletProvider` (the
@@ -271,6 +402,24 @@ if (outcome.status === "signed-in") save(outcome.tokens);
271
402
  // to finish the profile; call signIn again once it redirects back.
272
403
  ```
273
404
 
405
+ Each wallet family names the bridge namespace the page serves it on
406
+ (`family.bridge.namespace`: `evm`, `solana`, `sui`, `gpg`), and a family that
407
+ brings a bridge driver connects across it. On native, `useConnection()`
408
+ reports the store's connection for eth through the bridge's wagmi connector
409
+ and for sol and sui through `solanaBridgeDriver` and `suiBridgeDriver`:
410
+ `useConnectionStore().connect("sol", "webViewSolana")` asks the page's Solana
411
+ wallet, and its client signs base58 as on web. When the page reloads, the
412
+ store asks it for the account again and drops a session the new page does not
413
+ hold. Bitcoin has no bridge namespace yet. A wallet connected straight
414
+ through `useSolanaWallet()` or `useWalletBridge()` stays outside the store.
415
+
416
+ The `webViewSolana` and `webViewSui` connectors are only as good as the
417
+ page's wallets. Today that is the mock wallet page (E2E): on a phone the
418
+ WebView has no injected Phantom (Solana on mobile, above, is the follow-up)
419
+ and no Wallet Standard Sui wallet, so connecting them fails there, as
420
+ `useSolanaWallet()` does. The native store keeps no record across app
421
+ restarts.
422
+
274
423
  `@multiplatform.one/web3/bridge` is the same bridge without wagmi, for a host
275
424
  that drives the page itself. Kotlin and Swift hosts implement
276
425
  [docs/bridge-protocol.md](docs/bridge-protocol.md), the versioned wire
@@ -0,0 +1,48 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var base58_exports = {};
24
+ __export(base58_exports, {
25
+ bytesToBase58: () => bytesToBase58
26
+ });
27
+ module.exports = __toCommonJS(base58_exports);
28
+ const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
29
+ function bytesToBase58(bytes) {
30
+ let zeros = 0;
31
+ while (zeros < bytes.length && bytes[zeros] === 0) zeros += 1;
32
+ const digits = [];
33
+ for (let i = zeros; i < bytes.length; i += 1) {
34
+ let carry = bytes[i];
35
+ for (let j = 0; j < digits.length; j += 1) {
36
+ carry += digits[j] << 8;
37
+ digits[j] = carry % 58;
38
+ carry = Math.floor(carry / 58);
39
+ }
40
+ while (carry > 0) {
41
+ digits.push(carry % 58);
42
+ carry = Math.floor(carry / 58);
43
+ }
44
+ }
45
+ let out = "1".repeat(zeros);
46
+ for (let i = digits.length - 1; i >= 0; i -= 1) out += ALPHABET[digits[i]];
47
+ return out;
48
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var base58_exports = {};
26
+ __export(base58_exports, {
27
+ bytesToBase58: () => bytesToBase58
28
+ });
29
+ module.exports = __toCommonJS(base58_exports);
30
+ var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
31
+ function bytesToBase58(bytes) {
32
+ var zeros = 0;
33
+ while (zeros < bytes.length && bytes[zeros] === 0) zeros += 1;
34
+ var digits = [];
35
+ for (var i = zeros; i < bytes.length; i += 1) {
36
+ var carry = bytes[i];
37
+ for (var j = 0; j < digits.length; j += 1) {
38
+ carry += digits[j] << 8;
39
+ digits[j] = carry % 58;
40
+ carry = Math.floor(carry / 58);
41
+ }
42
+ while (carry > 0) {
43
+ digits.push(carry % 58);
44
+ carry = Math.floor(carry / 58);
45
+ }
46
+ }
47
+ var out = "1".repeat(zeros);
48
+ for (var i1 = digits.length - 1; i1 >= 0; i1 -= 1) out += ALPHABET[digits[i1]];
49
+ return out;
50
+ }
51
+ //# sourceMappingURL=base58.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","base58_exports","__export","bytesToBase58","module","exports","ALPHABET","bytes","zeros","length","digits","i","carry","j","Math","floor","push","out","repeat","i1"],"sources":["../../../src/bridge/base58.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAGAC,MAAM,CAAAC,OAAA,GAAWT,YAAA,CAAAK,cAAA;AAEV,IAAAK,QAAS,+DAAyC;AACvD,SAAIH,aAAQA,CAAAI,KAAA;EACZ,IAAAC,KAAO;EACP,OAAMA,KAAA,GAAmBD,KAAC,CAAAE,MAAA,IAAAF,KAAA,CAAAC,KAAA,SAAAA,KAAA;EAC1B,IAAAE,MAAS,GAAI;EACX,SAAIC,CAAA,GAAAH,KAAQ,EAAMG,CAAC,GAAAJ,KAAA,CAAAE,MAAA,EAAAE,CAAA;IACnB,IAAAC,KAAS,GAAAL,KAAO,CAAAI,CAAA,CAAI;IAClB,SAAAE,CAAA,GAAS,GAAAA,CAAA,GAAQH,MAAK,CAAAD,MAAA,EAAAI,CAAA;MACtBD,KAAA,IAAQF,MAAI,CAAAG,CAAA,KAAQ;MACpBH,MAAA,CAAAG,CAAQ,IAAAD,KAAK,GAAM;MACrBA,KAAA,GAAAE,IAAA,CAAAC,KAAA,CAAAH,KAAA;IACA;IACE,OAAAA,KAAO,GAAK;MACZF,MAAA,CAAAM,IAAQ,CAAAJ,KAAK,GAAM;MACrBA,KAAA,GAAAE,IAAA,CAAAC,KAAA,CAAAH,KAAA;IACF;EACA;EACA,IAAAK,GAAA,GAAS,GAAI,CAAAC,MAAO,CAAAV,KAAA;EACpB,SAAOW,EAAA,GAAAT,MAAA,CAAAD,MAAA,MAAAU,EAAA,OAAAA,EAAA,OAAAF,GAAA,IAAAX,QAAA,CAAAI,MAAA,CAAAS,EAAA;EACT,OAAAF,GAAA","ignoreList":[]}
@@ -28,6 +28,7 @@ __export(core_exports, {
28
28
  BridgeHost: () => import_BridgeHost.BridgeHost,
29
29
  DEV_HOSTNAMES: () => import_hosting.DEV_HOSTNAMES,
30
30
  GpgBridge: () => import_GpgBridge.GpgBridge,
31
+ NativeBridgeErrorCode: () => import_nativeHost.NativeBridgeErrorCode,
31
32
  SolanaBridge: () => import_SolanaBridge.SolanaBridge,
32
33
  SuiBridge: () => import_SuiBridge.SuiBridge,
33
34
  WALLET_SCHEMES: () => import_deepLink.WALLET_SCHEMES,
@@ -45,7 +46,9 @@ __export(core_exports, {
45
46
  parseOrigin: () => import_hosting.parseOrigin,
46
47
  parseWalletReturn: () => import_deepLink.parseWalletReturn,
47
48
  queryParams: () => import_hosting.queryParams,
48
- shouldOpenExternally: () => import_deepLink.shouldOpenExternally
49
+ shouldOpenExternally: () => import_deepLink.shouldOpenExternally,
50
+ solanaBridgeDriver: () => import_drivers.solanaBridgeDriver,
51
+ suiBridgeDriver: () => import_drivers.suiBridgeDriver
49
52
  });
50
53
  module.exports = __toCommonJS(core_exports);
51
54
  __reExport(core_exports, require("./protocol.cjs"), module.exports);
@@ -59,6 +62,7 @@ var import_base64 = require("./base64.cjs");
59
62
  var import_SolanaBridge = require("./SolanaBridge.cjs");
60
63
  var import_SuiBridge = require("./SuiBridge.cjs");
61
64
  var import_GpgBridge = require("./GpgBridge.cjs");
65
+ var import_drivers = require("./drivers.cjs");
62
66
  var import_AuthBridge = require("./AuthBridge.cjs");
63
67
  var import_hosting = require("./hosting.cjs");
64
68
  var import_nativeHost = require("./nativeHost.cjs");
@@ -30,6 +30,7 @@ __export(core_exports, {
30
30
  BridgeHost: () => import_BridgeHost.BridgeHost,
31
31
  DEV_HOSTNAMES: () => import_hosting.DEV_HOSTNAMES,
32
32
  GpgBridge: () => import_GpgBridge.GpgBridge,
33
+ NativeBridgeErrorCode: () => import_nativeHost.NativeBridgeErrorCode,
33
34
  SolanaBridge: () => import_SolanaBridge.SolanaBridge,
34
35
  SuiBridge: () => import_SuiBridge.SuiBridge,
35
36
  WALLET_SCHEMES: () => import_deepLink.WALLET_SCHEMES,
@@ -47,7 +48,9 @@ __export(core_exports, {
47
48
  parseOrigin: () => import_hosting.parseOrigin,
48
49
  parseWalletReturn: () => import_deepLink.parseWalletReturn,
49
50
  queryParams: () => import_hosting.queryParams,
50
- shouldOpenExternally: () => import_deepLink.shouldOpenExternally
51
+ shouldOpenExternally: () => import_deepLink.shouldOpenExternally,
52
+ solanaBridgeDriver: () => import_drivers.solanaBridgeDriver,
53
+ suiBridgeDriver: () => import_drivers.suiBridgeDriver
51
54
  });
52
55
  module.exports = __toCommonJS(core_exports);
53
56
  __reExport(core_exports, require("./protocol.native.js"), module.exports);
@@ -61,6 +64,7 @@ var import_base64 = require("./base64.native.js");
61
64
  var import_SolanaBridge = require("./SolanaBridge.native.js");
62
65
  var import_SuiBridge = require("./SuiBridge.native.js");
63
66
  var import_GpgBridge = require("./GpgBridge.native.js");
67
+ var import_drivers = require("./drivers.native.js");
64
68
  var import_AuthBridge = require("./AuthBridge.native.js");
65
69
  var import_hosting = require("./hosting.native.js");
66
70
  var import_nativeHost = require("./nativeHost.native.js");
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","core_exports","__export","AuthBridge","import_AuthBridge","BridgeClient","import_BridgeClient","BridgeHost","import_BridgeHost","DEV_HOSTNAMES","import_hosting","GpgBridge","import_GpgBridge","SolanaBridge","import_SolanaBridge","SuiBridge","import_SuiBridge","WALLET_SCHEMES","import_deepLink","WALLET_UNIVERSAL_HOSTS","base64ToBytes","import_base64","buildInjectScript","import_nativeHost","bytesToBase64","createBridgeProvider","import_eip1193","createNativeBridge","createPostMessageTransport","import_postMessageTransport","decideNavigation","decideNewWindow","hostedPageOrigin","isHostedPageUrl","parseOrigin","parseWalletReturn","queryParams","shouldOpenExternally","module","exports","__reExport","require"],"sources":["../../../src/bridge/core.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,YAAA;AAAAC,QAAA,CAAAD,YAAA;EAAAE,UAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,UAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAC,mBAAA,CAAAD,YAAA;EAAAE,UAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,UAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,aAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAC,mBAAA,CAAAD,YAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAC,eAAA,CAAAD,cAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAD,eAAA,CAAAC,sBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAC,aAAA,CAAAD,aAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,iBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAH,aAAA,CAAAG,aAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,oBAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAJ,iBAAA,CAAAI,kBAAA;EAAAC,0BAAA,EAAAA,CAAA,KAAAC,2BAAA,CAAAD,0BAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAZ,eAAA,CAAAY,gBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAb,eAAA,CAAAa,eAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAtB,cAAA,CAAAsB,gBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAvB,cAAA,CAAAuB,eAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAxB,cAAA,CAAAwB,WAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAjB,eAAA,CAAAiB,iBAAA;EAAAC,WAAA,EAAAA,CAAA,KAAA1B,cAAA,CAAA0B,WAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAnB,eAAA,CAAAmB;AAAA;AAEAC,MAAA,CAAAC,OAAA,GAAA3C,YAAc,CAAAK,YAAA;AACduC,UAAA,CAAAvC,YAAA,EAAcwC,OAAA,0BAAAH,MAHd,CAAAC,OAAA;AAIAC,UAAA,CAAAvC,YAAA,EAAcwC,OAAA,2BAJdH,MAAA,CAAAC,OAAA;AAKAC,UAAA,CAAAvC,YAAA,EAAAwC,OAAA,wBAAsE,GAAAH,MAAA,CAAAC,OAAA;AACtE,IAAAV,2BAAqE,GAAAY,OAAA;AACrE,IAAAnC,mBAAA,GAAgDmC,OAAA;AAChD,IAAAjC,iBAAmF,GAAAiC,OAAA;AACnF,IAAAf,cAAA,GAA6Ce,OAAA;AAC7C,IAAApB,aAAA,GAAAoB,OAA6B;AAC7B,IAAA3B,mBAA0B,GAAA2B,OAAA;AAC1B,IAAAzB,gBAAA,GAAkDyB,OAAA;AAClD,IAAA7B,gBAAA,GAAA6B,OAKO;AACP,IAAArC,iBAOO,GAAAqC,OAAA;AACP,IAAA/B,cAAA,GAAA+B,OAKO;AACP,IAAAlB,iBAAA,GAQOkB,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","core_exports","__export","AuthBridge","import_AuthBridge","BridgeClient","import_BridgeClient","BridgeHost","import_BridgeHost","DEV_HOSTNAMES","import_hosting","GpgBridge","import_GpgBridge","NativeBridgeErrorCode","import_nativeHost","SolanaBridge","import_SolanaBridge","SuiBridge","import_SuiBridge","WALLET_SCHEMES","import_deepLink","WALLET_UNIVERSAL_HOSTS","base64ToBytes","import_base64","buildInjectScript","bytesToBase64","createBridgeProvider","import_eip1193","createNativeBridge","createPostMessageTransport","import_postMessageTransport","decideNavigation","decideNewWindow","hostedPageOrigin","isHostedPageUrl","parseOrigin","parseWalletReturn","queryParams","shouldOpenExternally","solanaBridgeDriver","import_drivers","suiBridgeDriver","module","exports","__reExport","require"],"sources":["../../../src/bridge/core.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,YAAA;AAAAC,QAAA,CAAAD,YAAA;EAAAE,UAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,UAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAC,mBAAA,CAAAD,YAAA;EAAAE,UAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,UAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,aAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,qBAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,qBAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAC,mBAAA,CAAAD,YAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAC,eAAA,CAAAD,cAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAD,eAAA,CAAAC,sBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAC,aAAA,CAAAD,aAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAV,iBAAA,CAAAU,iBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAF,aAAA,CAAAE,aAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,oBAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAd,iBAAA,CAAAc,kBAAA;EAAAC,0BAAA,EAAAA,CAAA,KAAAC,2BAAA,CAAAD,0BAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAX,eAAA,CAAAW,gBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAZ,eAAA,CAAAY,eAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAvB,cAAA,CAAAuB,gBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAxB,cAAA,CAAAwB,eAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAzB,cAAA,CAAAyB,WAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAhB,eAAA,CAAAgB,iBAAA;EAAAC,WAAA,EAAAA,CAAA,KAAA3B,cAAA,CAAA2B,WAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAlB,eAAA,CAAAkB,oBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,kBAAA;EAAAE,eAAA,EAAAA,CAAA,KAAAD,cAAA,CAAAC;AAAA;AAEAC,MAAA,CAAAC,OAAA,GAAA/C,YAAc,CAAAK,YAAA;AACd2C,UAAA,CAAA3C,YAAA,EAAc4C,OAAA,0BAAAH,MAHd,CAAAC,OAAA;AAIAC,UAAA,CAAA3C,YAAA,EAAc4C,OAAA,2BAJdH,MAAA,CAAAC,OAAA;AAKAC,UAAA,CAAA3C,YAAA,EAAA4C,OAAA,wBAAsE,GAAAH,MAAA,CAAAC,OAAA;AACtE,IAAAb,2BAAqE,GAAAe,OAAA;AACrE,IAAAvC,mBAAA,GAAgDuC,OAAA;AAChD,IAAArC,iBAAmF,GAAAqC,OAAA;AACnF,IAAAlB,cAAA,GAA6CkB,OAAA;AAC7C,IAAAtB,aAAA,GAAAsB,OAA6B;AAC7B,IAAA7B,mBAA0B,GAAA6B,OAAA;AAC1B,IAAA3B,gBAAA,GAAkD2B,OAAA;AAClD,IAAAjC,gBAAA,GAAoFiC,OAAA;AACpF,IAAAL,cAAA,GAAAK,OAKO;AACP,IAAAzC,iBAOO,GAAAyC,OAAA;AACP,IAAAnC,cAAA,GAAAmC,OAMO;AACP,IAAA/B,iBAAA,GAQO+B,OAAA","ignoreList":[]}
@@ -0,0 +1,141 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var drivers_exports = {};
24
+ __export(drivers_exports, {
25
+ solanaBridgeDriver: () => solanaBridgeDriver,
26
+ solanaBridgeWallet: () => solanaBridgeWallet,
27
+ suiBridgeDriver: () => suiBridgeDriver,
28
+ suiBridgeWallet: () => suiBridgeWallet
29
+ });
30
+ module.exports = __toCommonJS(drivers_exports);
31
+ var import_solanaMessage = require("../clients/solanaMessage.cjs");
32
+ var import_sui = require("../clients/sui.cjs");
33
+ var import_lightDriver = require("../core/lightDriver.cjs");
34
+ var import_base64 = require("./base64.cjs");
35
+ var import_base58 = require("./base58.cjs");
36
+ function bridgeWallet(bridge, spec, {
37
+ id,
38
+ name
39
+ }) {
40
+ const read = value => {
41
+ const address = value?.[spec.key];
42
+ return typeof address === "string" && address ? address : null;
43
+ };
44
+ const adapter = {
45
+ address: null,
46
+ async connect() {
47
+ const address = read(await bridge.request(spec.namespace, "connect"));
48
+ if (!address) throw new Error(`${name} connected no account`);
49
+ adapter.address = address;
50
+ },
51
+ async disconnect() {
52
+ adapter.address = null;
53
+ await bridge.request(spec.namespace, "disconnect");
54
+ },
55
+ // A page older than the account method answers it with an error, which
56
+ // the store reads as "cannot tell yet" and keeps the connection to restore.
57
+ async restore() {
58
+ adapter.address = read(await bridge.request(spec.namespace, "account"));
59
+ return adapter.address !== null;
60
+ },
61
+ subscribe(listener) {
62
+ let live = true;
63
+ let latest = 0;
64
+ const off = bridge.on((ns, method, params) => {
65
+ if (ns === spec.namespace && method === "accountChanged") {
66
+ latest += 1;
67
+ adapter.address = read(params);
68
+ listener();
69
+ } else if (ns === "sys" && method === "ready") {
70
+ const asked = ++latest;
71
+ bridge.request(spec.namespace, "account").then(answer => {
72
+ if (!live || asked !== latest) return;
73
+ adapter.address = read(answer);
74
+ listener();
75
+ },
76
+ // A page older than the account method: its own events have to say.
77
+ () => void 0);
78
+ }
79
+ });
80
+ return () => {
81
+ live = false;
82
+ off();
83
+ };
84
+ },
85
+ signMessage: message => spec.sign(bridge, message)
86
+ };
87
+ return {
88
+ id,
89
+ name,
90
+ adapter
91
+ };
92
+ }
93
+ const solana = {
94
+ namespace: "solana",
95
+ key: "publicKey",
96
+ async sign(bridge, message) {
97
+ const answer = await bridge.request("solana", "signMessage", {
98
+ message: (0, import_base64.bytesToBase64)(new TextEncoder().encode(message))
99
+ });
100
+ return (0, import_base58.bytesToBase58)((0, import_base64.base64ToBytes)(answer.signature));
101
+ }
102
+ };
103
+ const sui = {
104
+ namespace: "sui",
105
+ key: "address",
106
+ async sign(bridge, message) {
107
+ const answer = await bridge.request("sui", "signMessage", {
108
+ message
109
+ });
110
+ return answer.signature;
111
+ }
112
+ };
113
+ function solanaBridgeDriver(bridge, options = {}) {
114
+ const chain = options.chain ?? "solana:mainnet";
115
+ const wallets = [solanaBridgeWallet(bridge)];
116
+ return (0, import_lightDriver.lightDriver)({
117
+ wallets: () => wallets,
118
+ chainId: chain,
119
+ client: wallet => (0, import_solanaMessage.solanaMessageClient)(wallet.adapter, chain)
120
+ });
121
+ }
122
+ function suiBridgeDriver(bridge) {
123
+ const wallets = [suiBridgeWallet(bridge)];
124
+ return (0, import_lightDriver.lightDriver)({
125
+ wallets: () => wallets,
126
+ chainId: "sui:mainnet",
127
+ client: wallet => (0, import_sui.suiClient)(wallet.adapter)
128
+ });
129
+ }
130
+ function solanaBridgeWallet(bridge, options = {
131
+ id: "webViewSolana",
132
+ name: "Solana Wallet"
133
+ }) {
134
+ return bridgeWallet(bridge, solana, options);
135
+ }
136
+ function suiBridgeWallet(bridge, options = {
137
+ id: "webViewSui",
138
+ name: "Sui Wallet"
139
+ }) {
140
+ return bridgeWallet(bridge, sui, options);
141
+ }