@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,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 react_exports = {};
24
+ __export(react_exports, {
25
+ ConnectionProvider: () => ConnectionProvider,
26
+ useConnection: () => useConnection,
27
+ useConnectionStore: () => useConnectionStore
28
+ });
29
+ module.exports = __toCommonJS(react_exports);
30
+ var import_react = require("react");
31
+ const ConnectionStoreContext = (0, import_react.createContext)(null);
32
+ function ConnectionProvider({
33
+ store,
34
+ children
35
+ }) {
36
+ return (0, import_react.createElement)(ConnectionStoreContext.Provider, {
37
+ value: store
38
+ }, children);
39
+ }
40
+ function useConnectionStore() {
41
+ const store = (0, import_react.useContext)(ConnectionStoreContext);
42
+ if (!store) throw new Error("useConnectionStore needs a ConnectionProvider above it");
43
+ return store;
44
+ }
45
+ function useConnection() {
46
+ const store = useConnectionStore();
47
+ return (0, import_react.useSyncExternalStore)(store.subscribe, store.getState, store.getState);
48
+ }
@@ -0,0 +1,52 @@
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 react_exports = {};
26
+ __export(react_exports, {
27
+ ConnectionProvider: () => ConnectionProvider,
28
+ useConnection: () => useConnection,
29
+ useConnectionStore: () => useConnectionStore
30
+ });
31
+ module.exports = __toCommonJS(react_exports);
32
+ var import_react = require("react");
33
+ var ConnectionStoreContext = (0, import_react.createContext)(null);
34
+ function ConnectionProvider(param) {
35
+ var {
36
+ store,
37
+ children
38
+ } = param;
39
+ return (0, import_react.createElement)(ConnectionStoreContext.Provider, {
40
+ value: store
41
+ }, children);
42
+ }
43
+ function useConnectionStore() {
44
+ var store = (0, import_react.useContext)(ConnectionStoreContext);
45
+ if (!store) throw new Error("useConnectionStore needs a ConnectionProvider above it");
46
+ return store;
47
+ }
48
+ function useConnection() {
49
+ var store = useConnectionStore();
50
+ return (0, import_react.useSyncExternalStore)(store.subscribe, store.getState, store.getState);
51
+ }
52
+ //# sourceMappingURL=react.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","react_exports","__export","ConnectionProvider","useConnection","useConnectionStore","module","exports","import_react","require","ConnectionStoreContext","createContext","param","store","children","createElement","Provider","useContext","Error"],"sources":["../../../src/core/react.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAX,YAMO,CAAAK,aAAA;AAIP,IAAAO,YAAM,GAAAC,OAAA,SAAyB;AAQxB,IAAAC,sBAAS,GAAmB,CAAE,GAAAF,YAAO,CAASG,aAA4B;AAC/E,SAAAR,kBAAOA,CAAAS,KAAA;EACT;IAAAC,KAAA;IAAAC;EAAA,IAAAF,KAAA;EAGO,OAAS,IAAAJ,YAAA,CAAAO,aAAsC,EAAAL,sBAAA,CAAAM,QAAA;IACpDhB,KAAM,EAAAa;EACN,GAAAC,QAAY;AACZ;AACF,SAAAT,mBAAA;EAGO,IAAAQ,KAAS,OAAAL,YAAiC,CAAAS,UAAA,EAAAP,sBAAA;EAC/C,KAAAG,KAAM,QAAQ,IAAAK,KAAA,yDAAmB;EACjC,OAAAL,KAAO;AACT","ignoreList":[]}
@@ -0,0 +1,450 @@
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 store_exports = {};
24
+ __export(store_exports, {
25
+ createConnectionStore: () => createConnectionStore,
26
+ defaultConnectionStorageKey: () => defaultConnectionStorageKey
27
+ });
28
+ module.exports = __toCommonJS(store_exports);
29
+ var import_family = require("./family.cjs");
30
+ const defaultConnectionStorageKey = "mpo.web3.connection";
31
+ const disconnected = Object.freeze({
32
+ status: "disconnected",
33
+ family: null,
34
+ connector: null,
35
+ address: null,
36
+ chainId: null,
37
+ client: null
38
+ });
39
+ const superseded = () => new Error("wallet connect superseded");
40
+ function browserStorage() {
41
+ try {
42
+ const storage = globalThis.localStorage;
43
+ return storage && typeof storage.getItem === "function" ? storage : null;
44
+ } catch {
45
+ return null;
46
+ }
47
+ }
48
+ function parseSaved(raw) {
49
+ if (!raw) return null;
50
+ try {
51
+ const value = JSON.parse(raw);
52
+ return typeof value?.family === "string" && typeof value.connectorId === "string" ? {
53
+ family: value.family,
54
+ connectorId: value.connectorId
55
+ } : null;
56
+ } catch {
57
+ return null;
58
+ }
59
+ }
60
+ const sameConnector = (a, b) => a.id === b.id && a.name === b.name && a.icon === b.icon && a.installed === b.installed;
61
+ const holdersByDriver = /* @__PURE__ */new WeakMap();
62
+ function createConnectionStore(options) {
63
+ const registry = Array.isArray(options.families) ? (0, import_family.createFamilyRegistry)(options.families) : options.families;
64
+ const storage = options.storage === void 0 ? browserStorage() : options.storage;
65
+ const key = options.storageKey ?? defaultConnectionStorageKey;
66
+ const requestedClose = options.closeTimeout ?? 1e4;
67
+ const closeTimeout = Number.isNaN(requestedClose) ? 1e4 : Math.max(0, requestedClose);
68
+ const drivers = /* @__PURE__ */new Map();
69
+ const holders = /* @__PURE__ */new Map();
70
+ const listeners = /* @__PURE__ */new Set();
71
+ const connectorListeners = /* @__PURE__ */new Set();
72
+ const connectorWatches = /* @__PURE__ */new Map();
73
+ const closing = /* @__PURE__ */new Map();
74
+ const inflight = /* @__PURE__ */new Map();
75
+ let state = disconnected;
76
+ let active = null;
77
+ let pending = null;
78
+ let operation = 0;
79
+ let clientRequest = 0;
80
+ let restoring = null;
81
+ let connectorSnapshot = Object.freeze([]);
82
+ let destroyed = false;
83
+ let keptAtDestroy = [];
84
+ const set = next => {
85
+ state = next;
86
+ for (const listener of listeners) listener();
87
+ };
88
+ const watchConnectors = driver => {
89
+ if (connectorListeners.size === 0 || connectorWatches.has(driver) || !driver.watchConnectors) {
90
+ return;
91
+ }
92
+ connectorWatches.set(driver, driver.watchConnectors(() => {
93
+ for (const listener of connectorListeners) listener();
94
+ }));
95
+ };
96
+ const unwatchConnectors = () => {
97
+ for (const unwatch of connectorWatches.values()) unwatch();
98
+ connectorWatches.clear();
99
+ };
100
+ const hold = driver => {
101
+ if (destroyed || holders.has(driver)) return;
102
+ const held = () => [active, pending].flatMap(entry => entry?.driver === driver ? [entry.connectorId] : []);
103
+ holders.set(driver, held);
104
+ let all = holdersByDriver.get(driver);
105
+ if (!all) {
106
+ all = /* @__PURE__ */new Set();
107
+ holdersByDriver.set(driver, all);
108
+ }
109
+ all.add(held);
110
+ };
111
+ const driverFor = family => {
112
+ if (family.connectionless || !family.driver) {
113
+ throw new Error(`wallet family ${family.id} is connectionless; it signs without connecting`);
114
+ }
115
+ let driver = drivers.get(family.id);
116
+ if (!driver) {
117
+ driver = family.driver();
118
+ drivers.set(family.id, driver);
119
+ hold(driver);
120
+ }
121
+ watchConnectors(driver);
122
+ return driver;
123
+ };
124
+ const heldElsewhere = driver => [...(holdersByDriver.get(driver) ?? [])].filter(held => held !== holders.get(driver)).flatMap(held => held());
125
+ const connectorFor = (driver, id) => driver.connectors().find(connector => connector.id === id) ?? {
126
+ id,
127
+ name: id
128
+ };
129
+ const save = async value => {
130
+ if (!storage) return;
131
+ try {
132
+ if (value) await storage.setItem(key, JSON.stringify(value));else await storage.removeItem(key);
133
+ } catch {}
134
+ };
135
+ const load = async () => {
136
+ if (!storage) return null;
137
+ try {
138
+ return parseSaved(await storage.getItem(key));
139
+ } catch {
140
+ return null;
141
+ }
142
+ };
143
+ const closeDriver = (driver, connectorId) => {
144
+ const previous = closing.get(driver);
145
+ const run = (async () => {
146
+ await previous;
147
+ let timer;
148
+ const closed = (async () => driver.disconnect(connectorId))().catch(() => {});
149
+ if (closeTimeout === Number.POSITIVE_INFINITY) await closed;else {
150
+ await Promise.race([closed, new Promise(resolve => {
151
+ timer = setTimeout(resolve, Math.min(closeTimeout, 2147483647));
152
+ })]);
153
+ clearTimeout(timer);
154
+ }
155
+ })();
156
+ closing.set(driver, run);
157
+ void run.then(() => {
158
+ if (closing.get(driver) === run) closing.delete(driver);
159
+ });
160
+ return run;
161
+ };
162
+ const release = () => {
163
+ active?.unsubscribe();
164
+ active = null;
165
+ clientRequest++;
166
+ };
167
+ const closeActive = async () => {
168
+ const previous = active;
169
+ release();
170
+ if (previous) await closeDriver(previous.driver);
171
+ };
172
+ const settleStale = async (driver, connectorId, account) => {
173
+ if (!account) return;
174
+ const inUse = [...(destroyed ? keptAtDestroy : [active, pending]).filter(entry => entry?.driver === driver).map(entry => entry?.connectorId), ...heldElsewhere(driver)];
175
+ if (inUse.includes(connectorId)) return;
176
+ if (inUse.length === 0 && !destroyed) await closeDriver(driver);else await closeDriver(driver, connectorId);
177
+ };
178
+ const closeOrphan = async (driver, connectorId) => {
179
+ const left = driver.getState();
180
+ if (!left.account) return;
181
+ if (destroyed) {
182
+ if (left.connectorId === connectorId) {
183
+ await settleStale(driver, connectorId, left.account);
184
+ }
185
+ } else if (left.connectorId !== null) {
186
+ await settleStale(driver, left.connectorId, left.account);
187
+ } else if (![active, pending].some(entry => entry?.driver === driver) && heldElsewhere(driver).length === 0) {
188
+ await closeDriver(driver);
189
+ }
190
+ };
191
+ const track = (driver, connectorId) => {
192
+ let counts = inflight.get(driver);
193
+ if (!counts) {
194
+ counts = /* @__PURE__ */new Map();
195
+ inflight.set(driver, counts);
196
+ }
197
+ counts.set(connectorId, (counts.get(connectorId) ?? 0) + 1);
198
+ return () => {
199
+ const left = (counts.get(connectorId) ?? 1) - 1;
200
+ if (left > 0) counts.set(connectorId, left);else counts.delete(connectorId);
201
+ };
202
+ };
203
+ const clientFor = (driver, driverState) => {
204
+ const request = ++clientRequest;
205
+ let result;
206
+ try {
207
+ result = driver.client?.(driverState) ?? null;
208
+ } catch {
209
+ return null;
210
+ }
211
+ if (result === null || typeof result.then !== "function") {
212
+ return result;
213
+ }
214
+ result.then(client => {
215
+ if (request === clientRequest && active?.driver === driver && client) {
216
+ set(Object.freeze({
217
+ ...state,
218
+ client
219
+ }));
220
+ }
221
+ }, () => {});
222
+ return null;
223
+ };
224
+ const activate = (family, driver, connector, account) => {
225
+ release();
226
+ const onChange = () => {
227
+ if (active?.driver !== driver) return;
228
+ const driverState = driver.getState();
229
+ if (!driverState.account) {
230
+ if (driverState.status === "connecting" || driverState.status === "reconnecting") return;
231
+ release();
232
+ operation++;
233
+ set(disconnected);
234
+ return;
235
+ }
236
+ const connectorId = driverState.connectorId ?? active.connectorId;
237
+ if (connectorId !== active.connectorId && inflight.get(driver)?.get(connectorId)) return;
238
+ const chainId = driverState.account.chainId ?? null;
239
+ if (connectorId === state.connector?.id && driverState.account.address === state.address && chainId === state.chainId) {
240
+ return;
241
+ }
242
+ const nextConnector = connectorId === state.connector?.id && state.connector ? state.connector : connectorFor(driver, connectorId);
243
+ if (connectorId !== active.connectorId) {
244
+ active.connectorId = connectorId;
245
+ void save({
246
+ family: family.id,
247
+ connectorId
248
+ });
249
+ }
250
+ set(Object.freeze({
251
+ status: "connected",
252
+ family: family.id,
253
+ connector: nextConnector,
254
+ address: driverState.account.address,
255
+ chainId,
256
+ client: clientFor(driver, {
257
+ ...driverState,
258
+ connectorId
259
+ })
260
+ }));
261
+ };
262
+ active = {
263
+ driver,
264
+ connectorId: connector.id,
265
+ unsubscribe: driver.subscribe(onChange)
266
+ };
267
+ set(Object.freeze({
268
+ status: "connected",
269
+ family: family.id,
270
+ connector,
271
+ address: account.address,
272
+ chainId: account.chainId ?? null,
273
+ client: clientFor(driver, {
274
+ status: "connected",
275
+ connectorId: connector.id,
276
+ account
277
+ })
278
+ }));
279
+ };
280
+ return {
281
+ registry,
282
+ getState: () => state,
283
+ subscribe(listener) {
284
+ listeners.add(listener);
285
+ return () => {
286
+ listeners.delete(listener);
287
+ };
288
+ },
289
+ connectors() {
290
+ const next = [];
291
+ for (const family of registry.families) {
292
+ if (family.connectionless) continue;
293
+ for (const connector of driverFor(family).connectors()) {
294
+ next.push({
295
+ family: family.id,
296
+ connector
297
+ });
298
+ }
299
+ }
300
+ const unchanged = next.length === connectorSnapshot.length && next.every((entry, index) => {
301
+ const previous = connectorSnapshot[index];
302
+ return previous !== void 0 && entry.family === previous.family && sameConnector(entry.connector, previous.connector);
303
+ });
304
+ if (!unchanged) connectorSnapshot = Object.freeze(next.map(entry => Object.freeze(entry)));
305
+ return connectorSnapshot;
306
+ },
307
+ subscribeConnectors(listener) {
308
+ connectorListeners.add(listener);
309
+ for (const family of registry.families) if (!family.connectionless) driverFor(family);
310
+ return () => {
311
+ connectorListeners.delete(listener);
312
+ if (connectorListeners.size === 0) unwatchConnectors();
313
+ };
314
+ },
315
+ async connect(familyName, connectorId, connectOptions) {
316
+ if (destroyed) throw new Error("this connection store was destroyed");
317
+ const family = registry.require(familyName);
318
+ const driver = driverFor(family);
319
+ const connector = connectorFor(driver, connectorId);
320
+ const current = ++operation;
321
+ restoring = null;
322
+ pending = {
323
+ driver,
324
+ connectorId
325
+ };
326
+ const closingActive = closeActive();
327
+ set(Object.freeze({
328
+ ...disconnected,
329
+ status: "connecting",
330
+ family: family.id,
331
+ connector
332
+ }));
333
+ await closingActive;
334
+ if (current === operation) await save(null);
335
+ await closing.get(driver);
336
+ const untrack = track(driver, connectorId);
337
+ let account;
338
+ let asked = false;
339
+ try {
340
+ try {
341
+ if (current !== operation) throw superseded();
342
+ asked = true;
343
+ account = await driver.connect(connectorId, connectOptions);
344
+ } catch (error) {
345
+ if (current === operation) {
346
+ pending = null;
347
+ set(disconnected);
348
+ }
349
+ if (asked || !destroyed) await closeOrphan(driver, connectorId);
350
+ throw error;
351
+ }
352
+ if (current !== operation) {
353
+ await settleStale(driver, connectorId, account);
354
+ throw superseded();
355
+ }
356
+ } finally {
357
+ untrack();
358
+ }
359
+ pending = null;
360
+ activate(family, driver, connector, account);
361
+ await save({
362
+ family: family.id,
363
+ connectorId
364
+ });
365
+ return state;
366
+ },
367
+ async disconnect() {
368
+ operation++;
369
+ restoring = null;
370
+ pending = null;
371
+ const closingActive = closeActive();
372
+ set(disconnected);
373
+ await save(null);
374
+ await closingActive;
375
+ },
376
+ reconnect() {
377
+ if (restoring) return restoring;
378
+ if (destroyed || state.status !== "disconnected") return Promise.resolve(state);
379
+ const current = ++operation;
380
+ const attempt = (async () => {
381
+ const saved = await load();
382
+ if (current !== operation || !saved) return state;
383
+ const family = registry.get(saved.family);
384
+ if (!family || family.connectionless || !family.driver) return state;
385
+ const driver = driverFor(family);
386
+ const connector = connectorFor(driver, saved.connectorId);
387
+ pending = {
388
+ driver,
389
+ connectorId: saved.connectorId
390
+ };
391
+ set(Object.freeze({
392
+ ...disconnected,
393
+ status: "reconnecting",
394
+ family: family.id,
395
+ connector
396
+ }));
397
+ await closing.get(driver);
398
+ const untrack = track(driver, saved.connectorId);
399
+ let account;
400
+ try {
401
+ try {
402
+ if (current !== operation) return state;
403
+ account = await driver.reconnect(saved.connectorId);
404
+ } catch {
405
+ if (current === operation) {
406
+ pending = null;
407
+ set(disconnected);
408
+ }
409
+ await closeOrphan(driver, saved.connectorId);
410
+ return state;
411
+ }
412
+ if (current !== operation) {
413
+ await settleStale(driver, saved.connectorId, account);
414
+ return state;
415
+ }
416
+ } finally {
417
+ untrack();
418
+ }
419
+ pending = null;
420
+ if (!account) {
421
+ set(disconnected);
422
+ await save(null);
423
+ await closeOrphan(driver, saved.connectorId);
424
+ return state;
425
+ }
426
+ activate(family, driver, connector, account);
427
+ return state;
428
+ })();
429
+ restoring = attempt;
430
+ const settled = () => {
431
+ if (restoring === attempt) restoring = null;
432
+ };
433
+ void attempt.then(settled, settled);
434
+ return attempt;
435
+ },
436
+ destroy() {
437
+ if (destroyed) return;
438
+ destroyed = true;
439
+ keptAtDestroy = [active, pending];
440
+ for (const [driver, held] of holders) holdersByDriver.get(driver)?.delete(held);
441
+ operation++;
442
+ restoring = null;
443
+ pending = null;
444
+ release();
445
+ unwatchConnectors();
446
+ connectorListeners.clear();
447
+ listeners.clear();
448
+ }
449
+ };
450
+ }