@multiplatform.one/web3 7.24.0 → 7.26.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 (363) hide show
  1. package/README.md +33 -0
  2. package/dist/cjs/bridge/AuthBridge.cjs +124 -0
  3. package/dist/cjs/bridge/AuthBridge.native.js +186 -0
  4. package/dist/cjs/bridge/AuthBridge.native.js.map +1 -0
  5. package/dist/cjs/bridge/BridgeClient.cjs +12 -9
  6. package/dist/cjs/bridge/BridgeClient.native.js +17 -12
  7. package/dist/cjs/bridge/BridgeClient.native.js.map +1 -1
  8. package/dist/cjs/bridge/BridgeHost.cjs +11 -3
  9. package/dist/cjs/bridge/BridgeHost.native.js +11 -3
  10. package/dist/cjs/bridge/BridgeHost.native.js.map +1 -1
  11. package/dist/cjs/bridge/GpgBridge.cjs +61 -0
  12. package/dist/cjs/bridge/GpgBridge.native.js +111 -0
  13. package/dist/cjs/bridge/GpgBridge.native.js.map +1 -0
  14. package/dist/cjs/bridge/SuiBridge.cjs +51 -0
  15. package/dist/cjs/bridge/SuiBridge.native.js +99 -0
  16. package/dist/cjs/bridge/SuiBridge.native.js.map +1 -0
  17. package/dist/cjs/bridge/authTypes.cjs +28 -0
  18. package/dist/cjs/bridge/authTypes.native.js +31 -0
  19. package/dist/cjs/bridge/authTypes.native.js.map +1 -0
  20. package/dist/cjs/bridge/core.cjs +65 -0
  21. package/dist/cjs/bridge/core.native.js +68 -0
  22. package/dist/cjs/bridge/core.native.js.map +1 -0
  23. package/dist/cjs/bridge/hosting.cjs +91 -0
  24. package/dist/cjs/bridge/hosting.native.js +117 -0
  25. package/dist/cjs/bridge/hosting.native.js.map +1 -0
  26. package/dist/cjs/bridge/index.cjs +3 -17
  27. package/dist/cjs/bridge/index.native.js +2 -16
  28. package/dist/cjs/bridge/index.native.js.map +1 -1
  29. package/dist/cjs/bridge/nativeHost.cjs +91 -0
  30. package/dist/cjs/bridge/nativeHost.native.js +118 -0
  31. package/dist/cjs/bridge/nativeHost.native.js.map +1 -0
  32. package/dist/cjs/bridge/protocol.cjs +30 -1
  33. package/dist/cjs/bridge/protocol.native.js +147 -1
  34. package/dist/cjs/bridge/protocol.native.js.map +1 -1
  35. package/dist/cjs/core/family.cjs +88 -0
  36. package/dist/cjs/core/family.native.js +115 -0
  37. package/dist/cjs/core/family.native.js.map +1 -0
  38. package/dist/cjs/core/index.cjs +41 -0
  39. package/dist/cjs/core/index.native.js +44 -0
  40. package/dist/cjs/core/index.native.js.map +1 -0
  41. package/dist/cjs/core/message.cjs +89 -0
  42. package/dist/cjs/core/message.native.js +104 -0
  43. package/dist/cjs/core/message.native.js.map +1 -0
  44. package/dist/cjs/core/names.cjs +51 -0
  45. package/dist/cjs/core/names.native.js +95 -0
  46. package/dist/cjs/core/names.native.js.map +1 -0
  47. package/dist/cjs/core/react.cjs +48 -0
  48. package/dist/cjs/core/react.native.js +52 -0
  49. package/dist/cjs/core/react.native.js.map +1 -0
  50. package/dist/cjs/core/store.cjs +450 -0
  51. package/dist/cjs/core/store.native.js +637 -0
  52. package/dist/cjs/core/store.native.js.map +1 -0
  53. package/dist/cjs/core/types.cjs +18 -0
  54. package/dist/cjs/core/types.native.js +21 -0
  55. package/dist/cjs/core/types.native.js.map +1 -0
  56. package/dist/cjs/index.cjs +3 -1
  57. package/dist/cjs/index.native.js +2 -0
  58. package/dist/cjs/index.native.js.map +1 -1
  59. package/dist/cjs/providers/WalletProvider.cjs +2 -0
  60. package/dist/cjs/providers/WalletProvider.native.js +123 -90
  61. package/dist/cjs/providers/WalletProvider.native.js.map +1 -1
  62. package/dist/cjs/providers/index.cjs +1 -0
  63. package/dist/cjs/providers/index.native.js +1 -0
  64. package/dist/cjs/providers/index.native.js.map +1 -1
  65. package/dist/cjs/providers/native/deepLink.cjs +40 -23
  66. package/dist/cjs/providers/native/deepLink.native.js +43 -25
  67. package/dist/cjs/providers/native/deepLink.native.js.map +1 -1
  68. package/dist/cjs/providers/native/inject.cjs +2 -4
  69. package/dist/cjs/providers/native/inject.native.js +2 -4
  70. package/dist/cjs/providers/native/inject.native.js.map +1 -1
  71. package/dist/cjs/providers/walletBridge.cjs +35 -0
  72. package/dist/cjs/providers/walletBridge.native.js +38 -0
  73. package/dist/cjs/providers/walletBridge.native.js.map +1 -0
  74. package/dist/cjs/providers/walletConfig.native.js.map +1 -1
  75. package/dist/esm/bridge/AuthBridge.mjs +99 -0
  76. package/dist/esm/bridge/AuthBridge.mjs.map +1 -0
  77. package/dist/esm/bridge/AuthBridge.native.js +158 -0
  78. package/dist/esm/bridge/AuthBridge.native.js.map +1 -0
  79. package/dist/esm/bridge/BridgeClient.mjs +13 -10
  80. package/dist/esm/bridge/BridgeClient.mjs.map +1 -1
  81. package/dist/esm/bridge/BridgeClient.native.js +18 -13
  82. package/dist/esm/bridge/BridgeClient.native.js.map +1 -1
  83. package/dist/esm/bridge/BridgeHost.mjs +12 -4
  84. package/dist/esm/bridge/BridgeHost.mjs.map +1 -1
  85. package/dist/esm/bridge/BridgeHost.native.js +12 -4
  86. package/dist/esm/bridge/BridgeHost.native.js.map +1 -1
  87. package/dist/esm/bridge/GpgBridge.mjs +36 -0
  88. package/dist/esm/bridge/GpgBridge.mjs.map +1 -0
  89. package/dist/esm/bridge/GpgBridge.native.js +83 -0
  90. package/dist/esm/bridge/GpgBridge.native.js.map +1 -0
  91. package/dist/esm/bridge/SuiBridge.mjs +26 -0
  92. package/dist/esm/bridge/SuiBridge.mjs.map +1 -0
  93. package/dist/esm/bridge/SuiBridge.native.js +71 -0
  94. package/dist/esm/bridge/SuiBridge.native.js.map +1 -0
  95. package/dist/esm/bridge/authTypes.mjs +3 -0
  96. package/dist/esm/bridge/authTypes.mjs.map +1 -0
  97. package/dist/esm/bridge/authTypes.native.js +3 -0
  98. package/dist/esm/bridge/authTypes.native.js.map +1 -0
  99. package/dist/esm/bridge/core.mjs +17 -0
  100. package/dist/esm/bridge/core.mjs.map +1 -0
  101. package/dist/esm/bridge/core.native.js +17 -0
  102. package/dist/esm/bridge/core.native.js.map +1 -0
  103. package/dist/esm/bridge/hosting.mjs +62 -0
  104. package/dist/esm/bridge/hosting.mjs.map +1 -0
  105. package/dist/esm/bridge/hosting.native.js +85 -0
  106. package/dist/esm/bridge/hosting.native.js.map +1 -0
  107. package/dist/esm/bridge/index.mjs +2 -9
  108. package/dist/esm/bridge/index.mjs.map +1 -1
  109. package/dist/esm/bridge/index.native.js +2 -9
  110. package/dist/esm/bridge/index.native.js.map +1 -1
  111. package/dist/esm/bridge/nativeHost.mjs +65 -0
  112. package/dist/esm/bridge/nativeHost.mjs.map +1 -0
  113. package/dist/esm/bridge/nativeHost.native.js +89 -0
  114. package/dist/esm/bridge/nativeHost.native.js.map +1 -0
  115. package/dist/esm/bridge/protocol.mjs +28 -2
  116. package/dist/esm/bridge/protocol.mjs.map +1 -1
  117. package/dist/esm/bridge/protocol.native.js +145 -2
  118. package/dist/esm/bridge/protocol.native.js.map +1 -1
  119. package/dist/esm/core/family.mjs +62 -0
  120. package/dist/esm/core/family.mjs.map +1 -0
  121. package/dist/esm/core/family.native.js +86 -0
  122. package/dist/esm/core/family.native.js.map +1 -0
  123. package/dist/esm/core/index.mjs +7 -0
  124. package/dist/esm/core/index.mjs.map +1 -0
  125. package/dist/esm/core/index.native.js +7 -0
  126. package/dist/esm/core/index.native.js.map +1 -0
  127. package/dist/esm/core/message.mjs +63 -0
  128. package/dist/esm/core/message.mjs.map +1 -0
  129. package/dist/esm/core/message.native.js +75 -0
  130. package/dist/esm/core/message.native.js.map +1 -0
  131. package/dist/esm/core/names.mjs +25 -0
  132. package/dist/esm/core/names.mjs.map +1 -0
  133. package/dist/esm/core/names.native.js +66 -0
  134. package/dist/esm/core/names.native.js.map +1 -0
  135. package/dist/esm/core/react.mjs +21 -0
  136. package/dist/esm/core/react.mjs.map +1 -0
  137. package/dist/esm/core/react.native.js +22 -0
  138. package/dist/esm/core/react.native.js.map +1 -0
  139. package/dist/esm/core/store.mjs +424 -0
  140. package/dist/esm/core/store.mjs.map +1 -0
  141. package/dist/esm/core/store.native.js +608 -0
  142. package/dist/esm/core/store.native.js.map +1 -0
  143. package/dist/esm/core/types.mjs +2 -0
  144. package/dist/esm/core/types.mjs.map +1 -0
  145. package/dist/esm/core/types.native.js +2 -0
  146. package/dist/esm/core/types.native.js.map +1 -0
  147. package/dist/esm/index.mjs +3 -2
  148. package/dist/esm/index.mjs.map +1 -1
  149. package/dist/esm/index.native.js +3 -2
  150. package/dist/esm/index.native.js.map +1 -1
  151. package/dist/esm/providers/WalletProvider.mjs +2 -1
  152. package/dist/esm/providers/WalletProvider.mjs.map +1 -1
  153. package/dist/esm/providers/WalletProvider.native.js +125 -93
  154. package/dist/esm/providers/WalletProvider.native.js.map +1 -1
  155. package/dist/esm/providers/index.mjs +2 -2
  156. package/dist/esm/providers/index.mjs.map +1 -1
  157. package/dist/esm/providers/index.native.js +2 -2
  158. package/dist/esm/providers/index.native.js.map +1 -1
  159. package/dist/esm/providers/native/deepLink.mjs +36 -24
  160. package/dist/esm/providers/native/deepLink.mjs.map +1 -1
  161. package/dist/esm/providers/native/deepLink.native.js +39 -26
  162. package/dist/esm/providers/native/deepLink.native.js.map +1 -1
  163. package/dist/esm/providers/native/inject.mjs +1 -3
  164. package/dist/esm/providers/native/inject.mjs.map +1 -1
  165. package/dist/esm/providers/native/inject.native.js +1 -3
  166. package/dist/esm/providers/native/inject.native.js.map +1 -1
  167. package/dist/esm/providers/walletBridge.mjs +9 -0
  168. package/dist/esm/providers/walletBridge.mjs.map +1 -0
  169. package/dist/esm/providers/walletBridge.native.js +9 -0
  170. package/dist/esm/providers/walletBridge.native.js.map +1 -0
  171. package/dist/esm/providers/walletConfig.mjs.map +1 -1
  172. package/dist/esm/providers/walletConfig.native.js.map +1 -1
  173. package/dist/jsx/bridge/AuthBridge.mjs +99 -0
  174. package/dist/jsx/bridge/AuthBridge.mjs.map +1 -0
  175. package/dist/jsx/bridge/AuthBridge.native.js +186 -0
  176. package/dist/jsx/bridge/AuthBridge.native.js.map +1 -0
  177. package/dist/jsx/bridge/BridgeClient.mjs +13 -10
  178. package/dist/jsx/bridge/BridgeClient.mjs.map +1 -1
  179. package/dist/jsx/bridge/BridgeClient.native.js +17 -12
  180. package/dist/jsx/bridge/BridgeClient.native.js.map +1 -1
  181. package/dist/jsx/bridge/BridgeHost.mjs +12 -4
  182. package/dist/jsx/bridge/BridgeHost.mjs.map +1 -1
  183. package/dist/jsx/bridge/BridgeHost.native.js +11 -3
  184. package/dist/jsx/bridge/BridgeHost.native.js.map +1 -1
  185. package/dist/jsx/bridge/GpgBridge.mjs +36 -0
  186. package/dist/jsx/bridge/GpgBridge.mjs.map +1 -0
  187. package/dist/jsx/bridge/GpgBridge.native.js +111 -0
  188. package/dist/jsx/bridge/GpgBridge.native.js.map +1 -0
  189. package/dist/jsx/bridge/SuiBridge.mjs +26 -0
  190. package/dist/jsx/bridge/SuiBridge.mjs.map +1 -0
  191. package/dist/jsx/bridge/SuiBridge.native.js +99 -0
  192. package/dist/jsx/bridge/SuiBridge.native.js.map +1 -0
  193. package/dist/jsx/bridge/authTypes.mjs +3 -0
  194. package/dist/jsx/bridge/authTypes.mjs.map +1 -0
  195. package/dist/jsx/bridge/authTypes.native.js +31 -0
  196. package/dist/jsx/bridge/authTypes.native.js.map +1 -0
  197. package/dist/jsx/bridge/core.mjs +17 -0
  198. package/dist/jsx/bridge/core.mjs.map +1 -0
  199. package/dist/jsx/bridge/core.native.js +68 -0
  200. package/dist/jsx/bridge/core.native.js.map +1 -0
  201. package/dist/jsx/bridge/hosting.mjs +62 -0
  202. package/dist/jsx/bridge/hosting.mjs.map +1 -0
  203. package/dist/jsx/bridge/hosting.native.js +117 -0
  204. package/dist/jsx/bridge/hosting.native.js.map +1 -0
  205. package/dist/jsx/bridge/index.mjs +2 -9
  206. package/dist/jsx/bridge/index.mjs.map +1 -1
  207. package/dist/jsx/bridge/index.native.js +2 -16
  208. package/dist/jsx/bridge/index.native.js.map +1 -1
  209. package/dist/jsx/bridge/nativeHost.mjs +65 -0
  210. package/dist/jsx/bridge/nativeHost.mjs.map +1 -0
  211. package/dist/jsx/bridge/nativeHost.native.js +118 -0
  212. package/dist/jsx/bridge/nativeHost.native.js.map +1 -0
  213. package/dist/jsx/bridge/protocol.mjs +28 -2
  214. package/dist/jsx/bridge/protocol.mjs.map +1 -1
  215. package/dist/jsx/bridge/protocol.native.js +147 -1
  216. package/dist/jsx/bridge/protocol.native.js.map +1 -1
  217. package/dist/jsx/core/family.mjs +62 -0
  218. package/dist/jsx/core/family.mjs.map +1 -0
  219. package/dist/jsx/core/family.native.js +115 -0
  220. package/dist/jsx/core/family.native.js.map +1 -0
  221. package/dist/jsx/core/index.mjs +7 -0
  222. package/dist/jsx/core/index.mjs.map +1 -0
  223. package/dist/jsx/core/index.native.js +44 -0
  224. package/dist/jsx/core/index.native.js.map +1 -0
  225. package/dist/jsx/core/message.mjs +63 -0
  226. package/dist/jsx/core/message.mjs.map +1 -0
  227. package/dist/jsx/core/message.native.js +104 -0
  228. package/dist/jsx/core/message.native.js.map +1 -0
  229. package/dist/jsx/core/names.mjs +25 -0
  230. package/dist/jsx/core/names.mjs.map +1 -0
  231. package/dist/jsx/core/names.native.js +95 -0
  232. package/dist/jsx/core/names.native.js.map +1 -0
  233. package/dist/jsx/core/react.mjs +21 -0
  234. package/dist/jsx/core/react.mjs.map +1 -0
  235. package/dist/jsx/core/react.native.js +52 -0
  236. package/dist/jsx/core/react.native.js.map +1 -0
  237. package/dist/jsx/core/store.mjs +424 -0
  238. package/dist/jsx/core/store.mjs.map +1 -0
  239. package/dist/jsx/core/store.native.js +637 -0
  240. package/dist/jsx/core/store.native.js.map +1 -0
  241. package/dist/jsx/core/types.mjs +2 -0
  242. package/dist/jsx/core/types.mjs.map +1 -0
  243. package/dist/jsx/core/types.native.js +21 -0
  244. package/dist/jsx/core/types.native.js.map +1 -0
  245. package/dist/jsx/index.js +3 -2
  246. package/dist/jsx/index.js.map +1 -1
  247. package/dist/jsx/index.mjs +3 -2
  248. package/dist/jsx/index.mjs.map +1 -1
  249. package/dist/jsx/index.native.js +2 -0
  250. package/dist/jsx/index.native.js.map +1 -1
  251. package/dist/jsx/providers/WalletProvider.mjs +2 -1
  252. package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
  253. package/dist/jsx/providers/WalletProvider.native.js +123 -90
  254. package/dist/jsx/providers/WalletProvider.native.js.map +1 -1
  255. package/dist/jsx/providers/index.mjs +2 -2
  256. package/dist/jsx/providers/index.mjs.map +1 -1
  257. package/dist/jsx/providers/index.native.js +1 -0
  258. package/dist/jsx/providers/index.native.js.map +1 -1
  259. package/dist/jsx/providers/native/deepLink.mjs +36 -24
  260. package/dist/jsx/providers/native/deepLink.mjs.map +1 -1
  261. package/dist/jsx/providers/native/deepLink.native.js +43 -25
  262. package/dist/jsx/providers/native/deepLink.native.js.map +1 -1
  263. package/dist/jsx/providers/native/inject.mjs +1 -3
  264. package/dist/jsx/providers/native/inject.mjs.map +1 -1
  265. package/dist/jsx/providers/native/inject.native.js +2 -4
  266. package/dist/jsx/providers/native/inject.native.js.map +1 -1
  267. package/dist/jsx/providers/walletBridge.mjs +9 -0
  268. package/dist/jsx/providers/walletBridge.mjs.map +1 -0
  269. package/dist/jsx/providers/walletBridge.native.js +38 -0
  270. package/dist/jsx/providers/walletBridge.native.js.map +1 -0
  271. package/dist/jsx/providers/walletConfig.mjs.map +1 -1
  272. package/dist/jsx/providers/walletConfig.native.js.map +1 -1
  273. package/docs/bridge-protocol.md +485 -0
  274. package/package.json +14 -6
  275. package/src/bridge/AuthBridge.ts +146 -0
  276. package/src/bridge/BridgeClient.spec.ts +12 -0
  277. package/src/bridge/BridgeClient.ts +15 -10
  278. package/src/bridge/BridgeHost.spec.ts +20 -4
  279. package/src/bridge/BridgeHost.ts +16 -5
  280. package/src/bridge/GpgBridge.ts +49 -0
  281. package/src/bridge/SuiBridge.ts +34 -0
  282. package/src/bridge/authTypes.ts +76 -0
  283. package/src/bridge/core.ts +42 -0
  284. package/src/bridge/hosting.spec.ts +98 -0
  285. package/src/bridge/hosting.ts +99 -0
  286. package/src/bridge/index.ts +1 -8
  287. package/src/bridge/nativeHost.spec.ts +165 -0
  288. package/src/bridge/nativeHost.ts +120 -0
  289. package/src/bridge/protocol.spec.ts +24 -1
  290. package/src/bridge/protocol.ts +44 -1
  291. package/src/core/family.spec.ts +117 -0
  292. package/src/core/family.ts +103 -0
  293. package/src/core/imports.spec.ts +82 -0
  294. package/src/core/index.ts +47 -0
  295. package/src/core/message.spec.ts +178 -0
  296. package/src/core/message.ts +119 -0
  297. package/src/core/names.ts +29 -0
  298. package/src/core/react.spec.tsx +75 -0
  299. package/src/core/react.ts +34 -0
  300. package/src/core/store.spec.ts +890 -0
  301. package/src/core/store.ts +558 -0
  302. package/src/core/types.ts +96 -0
  303. package/src/index.ts +6 -0
  304. package/src/providers/WalletProvider.native.tsx +139 -85
  305. package/src/providers/WalletProvider.tsx +1 -1
  306. package/src/providers/index.ts +2 -0
  307. package/src/providers/native/deepLink.spec.ts +73 -1
  308. package/src/providers/native/deepLink.ts +76 -28
  309. package/src/providers/native/inject.ts +1 -9
  310. package/src/providers/walletBridge.ts +24 -0
  311. package/src/providers/walletConfig.ts +15 -1
  312. package/types/bridge/AuthBridge.d.ts +58 -0
  313. package/types/bridge/AuthBridge.d.ts.map +1 -0
  314. package/types/bridge/BridgeClient.d.ts +3 -1
  315. package/types/bridge/BridgeClient.d.ts.map +1 -1
  316. package/types/bridge/BridgeHost.d.ts +1 -1
  317. package/types/bridge/BridgeHost.d.ts.map +1 -1
  318. package/types/bridge/GpgBridge.d.ts +23 -0
  319. package/types/bridge/GpgBridge.d.ts.map +1 -0
  320. package/types/bridge/SuiBridge.d.ts +18 -0
  321. package/types/bridge/SuiBridge.d.ts.map +1 -0
  322. package/types/bridge/authTypes.d.ts +71 -0
  323. package/types/bridge/authTypes.d.ts.map +1 -0
  324. package/types/bridge/core.d.ts +16 -0
  325. package/types/bridge/core.d.ts.map +1 -0
  326. package/types/bridge/hosting.d.ts +34 -0
  327. package/types/bridge/hosting.d.ts.map +1 -0
  328. package/types/bridge/index.d.ts +1 -8
  329. package/types/bridge/index.d.ts.map +1 -1
  330. package/types/bridge/nativeHost.d.ts +55 -0
  331. package/types/bridge/nativeHost.d.ts.map +1 -0
  332. package/types/bridge/protocol.d.ts +34 -1
  333. package/types/bridge/protocol.d.ts.map +1 -1
  334. package/types/core/family.d.ts +44 -0
  335. package/types/core/family.d.ts.map +1 -0
  336. package/types/core/index.d.ts +7 -0
  337. package/types/core/index.d.ts.map +1 -0
  338. package/types/core/message.d.ts +44 -0
  339. package/types/core/message.d.ts.map +1 -0
  340. package/types/core/names.d.ts +7 -0
  341. package/types/core/names.d.ts.map +1 -0
  342. package/types/core/react.d.ts +14 -0
  343. package/types/core/react.d.ts.map +1 -0
  344. package/types/core/store.d.ts +64 -0
  345. package/types/core/store.d.ts.map +1 -0
  346. package/types/core/types.d.ts +88 -0
  347. package/types/core/types.d.ts.map +1 -0
  348. package/types/index.d.ts +2 -1
  349. package/types/index.d.ts.map +1 -1
  350. package/types/providers/WalletProvider.d.ts +1 -0
  351. package/types/providers/WalletProvider.d.ts.map +1 -1
  352. package/types/providers/WalletProvider.native.d.ts +2 -1
  353. package/types/providers/WalletProvider.native.d.ts.map +1 -1
  354. package/types/providers/index.d.ts +1 -1
  355. package/types/providers/index.d.ts.map +1 -1
  356. package/types/providers/native/deepLink.d.ts +29 -4
  357. package/types/providers/native/deepLink.d.ts.map +1 -1
  358. package/types/providers/native/inject.d.ts +1 -7
  359. package/types/providers/native/inject.d.ts.map +1 -1
  360. package/types/providers/walletBridge.d.ts +17 -0
  361. package/types/providers/walletBridge.d.ts.map +1 -0
  362. package/types/providers/walletConfig.d.ts +18 -1
  363. package/types/providers/walletConfig.d.ts.map +1 -1
@@ -0,0 +1,64 @@
1
+ import { type FamilyRegistry, type WalletFamily } from "./family";
2
+ import type { ConnectionState, ConnectionStorage, DriverConnectOptions, WalletConnector } from "./types";
3
+ export declare const defaultConnectionStorageKey = "mpo.web3.connection";
4
+ export interface ConnectionStoreOptions {
5
+ families: readonly WalletFamily[] | FamilyRegistry;
6
+ /**
7
+ * Where the last connection is remembered. Defaults to localStorage when the
8
+ * platform has one; null keeps nothing, so nothing is restored.
9
+ */
10
+ storage?: ConnectionStorage | null;
11
+ storageKey?: string;
12
+ /**
13
+ * How long, in milliseconds, a driver's disconnect may take before the store
14
+ * stops waiting for it. Defaults to 10 seconds. Infinity waits for as long
15
+ * as the driver takes; a negative value waits for nothing.
16
+ */
17
+ closeTimeout?: number;
18
+ }
19
+ export interface FamilyConnector {
20
+ readonly family: string;
21
+ readonly connector: WalletConnector;
22
+ }
23
+ /**
24
+ * Holds the one active wallet connection across every registered family.
25
+ * Only the active family's driver is listened to, so a second driver that
26
+ * reports an account (wagmi restoring on its own, say) changes nothing.
27
+ */
28
+ export interface ConnectionStore {
29
+ getState(): ConnectionState;
30
+ subscribe(listener: () => void): () => void;
31
+ readonly registry: FamilyRegistry;
32
+ /**
33
+ * Every connectable family's connectors, merged in family order. The same
34
+ * array comes back until the list changes.
35
+ */
36
+ connectors(): readonly FamilyConnector[];
37
+ /** Called when any family's connector list changes. */
38
+ subscribeConnectors(listener: () => void): () => void;
39
+ /**
40
+ * Connects one family's connector, first closing any other connection.
41
+ * Remembers {family, connectorId} on success.
42
+ */
43
+ connect(family: string, connectorId: string, options?: DriverConnectOptions): Promise<ConnectionState>;
44
+ /** Closes the active connection and forgets it. */
45
+ disconnect(): Promise<void>;
46
+ /**
47
+ * Restores the remembered connection through its own driver only. Concurrent
48
+ * calls share one attempt; no other driver is asked. A disconnect from the
49
+ * wallet side keeps the record, so a later reconnect() can restore it.
50
+ */
51
+ reconnect(): Promise<ConnectionState>;
52
+ /**
53
+ * Stops listening to every driver and to this store's listeners, and refuses
54
+ * later connects. It closes nothing: the connection and the attempt live at
55
+ * that moment stay open on their drivers for whatever takes over, such as a
56
+ * store remounted on the same drivers. A late result of an attempt cancelled
57
+ * before destroy() still closes its own connector unless another store holds
58
+ * it through the same driver object; a store on a fresh driver over the same
59
+ * wallet cannot be told apart from this one's leftover.
60
+ */
61
+ destroy(): void;
62
+ }
63
+ export declare function createConnectionStore(options: ConnectionStoreOptions): ConnectionStore;
64
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,KAAK,EAEV,eAAe,EACf,iBAAiB,EAEjB,oBAAoB,EAGpB,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,cAAc,CAAC;IACnD;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,IAAI,eAAe,CAAC;IAC5B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC;;;OAGG;IACH,UAAU,IAAI,SAAS,eAAe,EAAE,CAAC;IACzC,uDAAuD;IACvD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACtD;;;OAGG;IACH,OAAO,CACL,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,mDAAmD;IACnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B;;;;OAIG;IACH,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACtC;;;;;;;;OAQG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAwCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAsbtF"}
@@ -0,0 +1,88 @@
1
+ import type { ChainClient } from "../clients/types";
2
+ /** Where a connection is: none, being opened by the user, being restored silently, or open. */
3
+ export type ConnectionStatus = "disconnected" | "connecting" | "reconnecting" | "connected";
4
+ /** One wallet a driver can connect, as the connect list shows it. */
5
+ export interface WalletConnector {
6
+ readonly id: string;
7
+ readonly name: string;
8
+ readonly icon?: string;
9
+ /** The wallet is present here now: an injected extension, an installed app. */
10
+ readonly installed?: boolean;
11
+ }
12
+ /** The account a driver connected. */
13
+ export interface DriverAccount {
14
+ /** Chain-native address. */
15
+ readonly address: string;
16
+ /** EVM numeric chain id, or a CAIP-2 style id (`solana:mainnet`). */
17
+ readonly chainId?: number | string;
18
+ }
19
+ export interface DriverState {
20
+ readonly status: ConnectionStatus;
21
+ readonly connectorId: string | null;
22
+ readonly account: DriverAccount | null;
23
+ }
24
+ export interface DriverConnectOptions {
25
+ /** Called with a pairing URI when the connector hands off to another app or device. */
26
+ onDisplayUri?: (uri: string) => void;
27
+ }
28
+ /**
29
+ * The engine behind one wallet family's connections: wagmi for EVM, the light
30
+ * driver for adapter-based families. The connection store drives it and holds
31
+ * the one active connection; a driver never decides which family is active.
32
+ */
33
+ export interface ConnectionDriver {
34
+ /** The connectors this driver can drive, in list order. */
35
+ connectors(): readonly WalletConnector[];
36
+ /**
37
+ * Called when the connector list changes: an EIP-6963 or Wallet Standard
38
+ * wallet announcing itself late. Without it the list is read once per call.
39
+ */
40
+ watchConnectors?(listener: () => void): () => void;
41
+ getState(): DriverState;
42
+ /** Called on every state change: account, chain, connector, or a disconnect from the wallet side. */
43
+ subscribe(listener: () => void): () => void;
44
+ /** Prompts the user. Rejects when they decline or the wallet fails. */
45
+ connect(connectorId: string, options?: DriverConnectOptions): Promise<DriverAccount>;
46
+ /**
47
+ * Closes every connection the driver holds, or with a connectorId only that
48
+ * connector's, doing nothing when it is not open.
49
+ */
50
+ disconnect(connectorId?: string): Promise<void>;
51
+ /**
52
+ * Restores a connector the user authorised before, without prompting.
53
+ * Resolves null only when the wallet says it is no longer authorised, which
54
+ * makes the store forget it. A connector that is not available yet (an
55
+ * EIP-6963 wallet still to announce itself) rejects instead, and the store
56
+ * keeps it for the next restore.
57
+ */
58
+ reconnect(connectorId: string): Promise<DriverAccount | null>;
59
+ /**
60
+ * The per-chain client for the current account, or null. The store asks
61
+ * again only when the connector, address or chain changes.
62
+ */
63
+ client?(state: DriverState): ChainClient | null | Promise<ChainClient | null>;
64
+ }
65
+ /** What `useConnection()` returns: the single active connection across every family. */
66
+ export interface ConnectionState {
67
+ readonly status: ConnectionStatus;
68
+ readonly family: string | null;
69
+ readonly connector: WalletConnector | null;
70
+ readonly address: string | null;
71
+ readonly chainId: number | string | null;
72
+ readonly client: ChainClient | null;
73
+ }
74
+ /**
75
+ * Where the store remembers the last connection. localStorage, wagmi's storage
76
+ * and React Native AsyncStorage all fit.
77
+ */
78
+ export interface ConnectionStorage {
79
+ getItem(key: string): string | null | undefined | Promise<string | null | undefined>;
80
+ setItem(key: string, value: string): void | Promise<void>;
81
+ removeItem(key: string): void | Promise<void>;
82
+ }
83
+ /** The persisted record: which family and connector to restore, nothing else. */
84
+ export interface SavedConnection {
85
+ readonly family: string;
86
+ readonly connectorId: string;
87
+ }
88
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
package/types/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { WalletProvider, useWeb3Config, defaultChains, type WalletProviderProps, type Web3Config, } from "./providers";
1
+ export { WalletProvider, useWeb3Config, defaultChains, useWalletBridge, type WalletBridgeContextValue, type WalletProviderProps, type Web3Config, } from "./providers";
2
2
  export { useWallet, type UseWalletResult, type WalletActions, type WalletState, useContractRead, useContractWrite, type ContractReadConfig, type ContractReadResult, type ContractWriteConfig, type ContractWriteResult, type TransactionStatus, useAccount, useBalance, useChainId, useChains, useConnect, useDisconnect, useEnsAvatar, useEnsName, useSignMessage, useSwitchChain, useBlockNumber, useReadContract, useWriteContract, useSimulateContract, useWaitForTransactionReceipt, } from "./hooks";
3
3
  export { WalletButton, WalletAvatar, WalletStatus, NetworkSwitcher, TransactionStatus as TransactionStatusComponent, ConnectKitButton, type WalletButtonProps, type WalletAvatarProps, type WalletStatusProps, type NetworkSwitcherProps, type TransactionStatusProps, } from "./components";
4
4
  export { LockContract, lockAbi, type LockContractProps } from "./examples";
@@ -7,4 +7,5 @@ export { mainnet, polygon, optimism, arbitrum, base, sepolia } from "wagmi/chain
7
7
  export * from "./bridge";
8
8
  export * from "./message";
9
9
  export * from "./clients";
10
+ export * from "./core";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAEhB,eAAe,EACf,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EAEtB,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,IAAI,0BAA0B,EAC/C,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG3E,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGnF,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAI1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAEhB,eAAe,EACf,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EAEtB,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,IAAI,0BAA0B,EAC/C,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG3E,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGnF,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAI1B,cAAc,WAAW,CAAC;AAS1B,cAAc,QAAQ,CAAC"}
@@ -13,6 +13,7 @@ export interface WalletProviderProps extends PropsWithChildren {
13
13
  siwe?: SIWEConfig;
14
14
  }
15
15
  export declare function WalletProvider({ children, config: web3Config, queryClient, siwe, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;
16
+ export { useWalletBridge, type WalletBridgeContextValue } from "./walletBridge";
16
17
  export { defaultChains } from "./walletConfig";
17
18
  export { useWeb3Config, type Web3Config } from "./walletConfig";
18
19
  //# sourceMappingURL=WalletProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletProvider.d.ts","sourceRoot":"","sources":["../../src/providers/WalletProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAoC,KAAK,UAAU,EAAoB,MAAM,eAAe,CAAC;AAEpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK/C,OAAO,EAAE,KAAK,UAAU,EAAoC,MAAM,gBAAgB,CAAC;AAEnF,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAWD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,WAAgC,EAChC,IAAI,GACL,EAAE,mBAAmB,2CAyErB;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"WalletProvider.d.ts","sourceRoot":"","sources":["../../src/providers/WalletProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAoC,KAAK,UAAU,EAAoB,MAAM,eAAe,CAAC;AAEpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI/C,OAAO,EAAE,KAAK,UAAU,EAAoC,MAAM,gBAAgB,CAAC;AAEnF,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAWD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,WAAgC,EAChC,IAAI,GACL,EAAE,mBAAmB,2CAyErB;AAED,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -7,7 +7,7 @@ type WebViewSource = NonNullable<WebViewProps["source"]>;
7
7
  export interface WalletProviderProps extends PropsWithChildren {
8
8
  config: Web3Config;
9
9
  queryClient?: QueryClient;
10
- /** Override the WebView content (defaults to `config.webViewUrl`). */
10
+ /** Override the WebView content (defaults to `config.webViewUrl`); must be a hosted `{ uri }`. */
11
11
  webViewSource?: WebViewSource;
12
12
  }
13
13
  /** Native Solana surface, mirroring the operations web's wallet-adapter exposes. */
@@ -18,6 +18,7 @@ export interface SolanaWalletContextValue {
18
18
  }
19
19
  export declare function useSolanaWallet(): SolanaWalletContextValue;
20
20
  export declare function WalletProvider({ children, config: web3Config, queryClient, webViewSource, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;
21
+ export { useWalletBridge, type WalletBridgeContextValue } from "./walletBridge";
21
22
  export { defaultChains } from "./walletConfig";
22
23
  export { useWeb3Config, type Web3Config } from "./walletConfig";
23
24
  //# sourceMappingURL=WalletProvider.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletProvider.native.d.ts","sourceRoot":"","sources":["../../src/providers/WalletProvider.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,OAAO,EAAqC,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG5F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAMtD,OAAO,EAAE,KAAK,UAAU,EAAoC,MAAM,gBAAgB,CAAC;AAEnF,KAAK,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAMzD,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sEAAsE;IACtE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,oFAAoF;AACpF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,wBAAgB,eAAe,IAAI,wBAAwB,CAI1D;AAID,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,WAAgC,EAChC,aAAa,GACd,EAAE,mBAAmB,2CA+IrB;AAUD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"WalletProvider.native.d.ts","sourceRoot":"","sources":["../../src/providers/WalletProvider.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,OAAO,EAAqC,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAK5F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAetD,OAAO,EAAE,KAAK,UAAU,EAAoC,MAAM,gBAAgB,CAAC;AAEnF,KAAK,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAMzD,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,kGAAkG;IAClG,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,oFAAoF;AACpF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,wBAAgB,eAAe,IAAI,wBAAwB,CAI1D;AAeD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,WAAgC,EAChC,aAAa,GACd,EAAE,mBAAmB,2CA8KrB;AAUD,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { WalletProvider, useWeb3Config, defaultChains, type WalletProviderProps, type Web3Config, } from "./WalletProvider";
1
+ export { WalletProvider, useWeb3Config, defaultChains, useWalletBridge, type WalletBridgeContextValue, type WalletProviderProps, type Web3Config, } from "./WalletProvider";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC"}
@@ -1,11 +1,36 @@
1
1
  /**
2
- * Wallet hand-off URL classification for the native WebView. The WebView loads
3
- * trusted local content (file://); when its ConnectKit flow tries to
4
- * open a wallet app it navigates to a wallet custom-scheme or universal link —
5
- * those must be handed to the OS via Linking.openURL, not loaded in the WebView.
2
+ * Wallet hand-off for the native WebView. The WebView shows the hosted wallet
3
+ * page; when its flow opens a wallet app it navigates to a wallet custom
4
+ * scheme or universal link, or opens one in a new window. Those go to the OS
5
+ * through Linking.openURL and are never loaded in the WebView.
6
6
  */
7
+ /** Custom schemes that open a wallet app. docs/bridge-protocol.md lists the same. */
8
+ export declare const WALLET_SCHEMES: readonly string[];
9
+ /** Hosts (and subdomains) of wallet universal links. docs/bridge-protocol.md lists the same. */
10
+ export declare const WALLET_UNIVERSAL_HOSTS: readonly string[];
7
11
  /** True when a WebView navigation should be opened in an external wallet app. */
8
12
  export declare function shouldOpenExternally(url: string): boolean;
13
+ /** `load` in the WebView, hand to the OS (`external`), or drop (`block`). */
14
+ export type NavigationDecision = "load" | "external" | "block";
15
+ /**
16
+ * Decide a navigation in the wallet WebView (`onShouldStartLoadWithRequest`).
17
+ * The top frame never leaves the hosted page's origin: the bridge would
18
+ * otherwise hand its messages, tokens included, to whatever page loaded next.
19
+ * Other http(s) pages open in the system browser; frames are the page's own
20
+ * business.
21
+ */
22
+ export declare function decideNavigation(url: string, pageOrigin: string, isTopFrame?: boolean): NavigationDecision;
23
+ /**
24
+ * Decide a `window.open` / `target=_blank` navigation (`onOpenWindow`). A new
25
+ * window never opens inside the app: wallet links and web pages go to the OS.
26
+ */
27
+ export declare function decideNewWindow(url: string): NavigationDecision;
9
28
  /** Parse the query params of an inbound app-link return (e.g. from a wallet redirect). */
10
29
  export declare function parseWalletReturn(url: string): Record<string, string> | null;
30
+ /**
31
+ * True when `url` is `base` or below it: `myapp://wallet-return?x=1` and
32
+ * `myapp://wallet-return/done` are under `myapp://wallet-return`,
33
+ * `myapp://wallet-returned` is not.
34
+ */
35
+ export declare function isUnderUrl(url: string, base: string): boolean;
11
36
  //# sourceMappingURL=deepLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deepLink.d.ts","sourceRoot":"","sources":["../../../src/providers/native/deepLink.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAazD;AAED,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAW5E"}
1
+ {"version":3,"file":"deepLink.d.ts","sourceRoot":"","sources":["../../../src/providers/native/deepLink.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,qFAAqF;AACrF,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAgB3C,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EASnD,CAAC;AAIF,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,UAAO,GAChB,kBAAkB,CAWpB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAQ/D;AAED,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI7D"}
@@ -1,11 +1,5 @@
1
1
  import type { Web3Config } from "../walletConfig";
2
- /**
3
- * Build the JS the native side runs inside the WebView (via `injectJavaScript`)
4
- * to deliver one inbound bridge message. The raw string is embedded with
5
- * JSON.stringify so quotes/newlines/backslashes survive intact. The trailing
6
- * `true;` is required by react-native-webview's injectJavaScript contract.
7
- */
8
- export declare function buildInjectScript(raw: string): string;
2
+ export { buildInjectScript } from "../../bridge/nativeHost";
9
3
  /**
10
4
  * Build the JS injected *before* the WebView content loads
11
5
  * (`injectedJavaScriptBeforeContentLoaded`) to publish the host config as
@@ -1 +1 @@
1
- {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../src/providers/native/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE1F"}
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../src/providers/native/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE1F"}
@@ -0,0 +1,17 @@
1
+ import type { AuthBridge } from "../bridge/AuthBridge";
2
+ import type { BridgeClient } from "../bridge/BridgeClient";
3
+ import type { GpgBridge } from "../bridge/GpgBridge";
4
+ import type { SolanaBridge } from "../bridge/SolanaBridge";
5
+ import type { SuiBridge } from "../bridge/SuiBridge";
6
+ /** Every bridge namespace of the native WalletProvider's hosted wallet page. */
7
+ export interface WalletBridgeContextValue {
8
+ client: BridgeClient;
9
+ solana: SolanaBridge;
10
+ sui: SuiBridge;
11
+ gpg: GpgBridge;
12
+ auth: AuthBridge;
13
+ }
14
+ export declare const WalletBridgeContext: import("react").Context<WalletBridgeContextValue | null>;
15
+ /** Native only: on web the wallet runs in the page itself and there is no bridge. */
16
+ export declare function useWalletBridge(): WalletBridgeContextValue;
17
+ //# sourceMappingURL=walletBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletBridge.d.ts","sourceRoot":"","sources":["../../src/providers/walletBridge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,gFAAgF;AAChF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,SAAS,CAAC;IACf,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,0DAAuD,CAAC;AAExF,qFAAqF;AACrF,wBAAgB,eAAe,IAAI,wBAAwB,CAI1D"}
@@ -1,4 +1,5 @@
1
1
  import type { Chain } from "viem";
2
+ import type { AuthKeycloakConfig, AuthOnboardingConfig } from "../bridge/authTypes";
2
3
  /**
3
4
  * Shared config seam for both platform variants of WalletProvider. Keeping the
4
5
  * type + context here (rather than in either variant) means web and native share
@@ -32,8 +33,24 @@ export interface Web3Config {
32
33
  suiRpcUrl?: string;
33
34
  /** E2E only (native): route connect through the in-WebView mock wallet. */
34
35
  mockWallet?: boolean;
35
- /** Native: URL serving the wallet WebView HTML (preferred over the inline string). */
36
+ /**
37
+ * Native: https URL serving `assets/webview.html`. Its host is the sign-in
38
+ * message's domain, so it must be in the realm's `siww.allowedDomains` /
39
+ * `wallet.allowedDomains` and in the client's web origins. Plain http is
40
+ * accepted only on loopback and 10.0.2.2, in development builds.
41
+ */
36
42
  webViewUrl?: string;
43
+ /**
44
+ * Native: the app link wallets send the user back to, e.g.
45
+ * `myapp://wallet-return`. Returns under it reach the page as
46
+ * `sys.deepLinkReturn`; no other app link does.
47
+ */
48
+ walletReturnUrl?: string;
49
+ /** Native: the Keycloak client `useWalletBridge().auth` signs in with when a call names none. */
50
+ auth?: {
51
+ keycloak?: AuthKeycloakConfig;
52
+ onboarding?: AuthOnboardingConfig;
53
+ };
37
54
  }
38
55
  /**
39
56
  * Resolve the active chain list for a Web3Config: apply the testnet filter,
@@ -1 +1 @@
1
- {"version":3,"file":"walletConfig.d.ts","sourceRoot":"","sources":["../../src/providers/walletConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAGlC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAOtD,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAgB9E;AAED,eAAO,MAAM,iBAAiB,4CAAyC,CAAC;AAExE,wBAAgB,aAAa,IAAI,UAAU,CAM1C"}
1
+ {"version":3,"file":"walletConfig.d.ts","sourceRoot":"","sources":["../../src/providers/walletConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAOtD,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAAC,UAAU,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC;CAC7E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAgB9E;AAED,eAAO,MAAM,iBAAiB,4CAAyC,CAAC;AAExE,wBAAgB,aAAa,IAAI,UAAU,CAM1C"}