@useragent-kit/sdk 0.0.0 → 0.0.1

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 (352) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +61 -3
  3. package/dist/adapters.d.ts +94 -0
  4. package/dist/adapters.d.ts.map +1 -0
  5. package/dist/adapters.js +188 -0
  6. package/dist/adapters.js.map +1 -0
  7. package/dist/api-protocol.d.ts +9 -0
  8. package/dist/api-protocol.d.ts.map +1 -0
  9. package/dist/api-protocol.js +9 -0
  10. package/dist/api-protocol.js.map +1 -0
  11. package/dist/bridge/contract.d.ts +66 -0
  12. package/dist/bridge/contract.d.ts.map +1 -0
  13. package/dist/bridge/contract.js +160 -0
  14. package/dist/bridge/contract.js.map +1 -0
  15. package/dist/bridge/index.d.ts +53 -0
  16. package/dist/bridge/index.d.ts.map +1 -0
  17. package/dist/bridge/index.js +302 -0
  18. package/dist/bridge/index.js.map +1 -0
  19. package/dist/bridge/types.d.ts +93 -0
  20. package/dist/bridge/types.d.ts.map +1 -0
  21. package/dist/bridge/types.js +9 -0
  22. package/dist/bridge/types.js.map +1 -0
  23. package/dist/chain.d.ts +198 -0
  24. package/dist/chain.d.ts.map +1 -0
  25. package/dist/chain.js +424 -0
  26. package/dist/chain.js.map +1 -0
  27. package/dist/errors.d.ts +22 -0
  28. package/dist/errors.d.ts.map +1 -0
  29. package/dist/errors.js +41 -0
  30. package/dist/errors.js.map +1 -0
  31. package/dist/events.d.ts +252 -0
  32. package/dist/events.d.ts.map +1 -0
  33. package/dist/events.js +54 -0
  34. package/dist/events.js.map +1 -0
  35. package/dist/experimental/file-transfer.d.ts +97 -0
  36. package/dist/experimental/file-transfer.d.ts.map +1 -0
  37. package/dist/experimental/file-transfer.js +1377 -0
  38. package/dist/experimental/file-transfer.js.map +1 -0
  39. package/dist/experimental/index.d.ts +7 -0
  40. package/dist/experimental/index.d.ts.map +1 -0
  41. package/dist/experimental/index.js +4 -0
  42. package/dist/experimental/index.js.map +1 -0
  43. package/dist/experimental/logger.d.ts +5 -0
  44. package/dist/experimental/logger.d.ts.map +1 -0
  45. package/dist/experimental/logger.js +74 -0
  46. package/dist/experimental/logger.js.map +1 -0
  47. package/dist/experimental/transport.d.ts +34 -0
  48. package/dist/experimental/transport.d.ts.map +1 -0
  49. package/dist/experimental/transport.js +43 -0
  50. package/dist/experimental/transport.js.map +1 -0
  51. package/dist/guest/claw.d.ts +10 -0
  52. package/dist/guest/claw.d.ts.map +1 -0
  53. package/dist/guest/claw.js +21 -0
  54. package/dist/guest/claw.js.map +1 -0
  55. package/dist/guest/crdt.d.ts +19 -0
  56. package/dist/guest/crdt.d.ts.map +1 -0
  57. package/dist/guest/crdt.js +64 -0
  58. package/dist/guest/crdt.js.map +1 -0
  59. package/dist/guest/data.d.ts +27 -0
  60. package/dist/guest/data.d.ts.map +1 -0
  61. package/dist/guest/data.js +61 -0
  62. package/dist/guest/data.js.map +1 -0
  63. package/dist/guest/files.d.ts +15 -0
  64. package/dist/guest/files.d.ts.map +1 -0
  65. package/dist/guest/files.js +24 -0
  66. package/dist/guest/files.js.map +1 -0
  67. package/dist/guest/index.d.ts +43 -0
  68. package/dist/guest/index.d.ts.map +1 -0
  69. package/dist/guest/index.js +44 -0
  70. package/dist/guest/index.js.map +1 -0
  71. package/dist/guest/media.d.ts +44 -0
  72. package/dist/guest/media.d.ts.map +1 -0
  73. package/dist/guest/media.js +97 -0
  74. package/dist/guest/media.js.map +1 -0
  75. package/dist/guest/mesh.d.ts +79 -0
  76. package/dist/guest/mesh.d.ts.map +1 -0
  77. package/dist/guest/mesh.js +153 -0
  78. package/dist/guest/mesh.js.map +1 -0
  79. package/dist/guest/navigate.d.ts +17 -0
  80. package/dist/guest/navigate.d.ts.map +1 -0
  81. package/dist/guest/navigate.js +169 -0
  82. package/dist/guest/navigate.js.map +1 -0
  83. package/dist/guest/statements.d.ts +18 -0
  84. package/dist/guest/statements.d.ts.map +1 -0
  85. package/dist/guest/statements.js +26 -0
  86. package/dist/guest/statements.js.map +1 -0
  87. package/dist/guest/telemetry.d.ts +88 -0
  88. package/dist/guest/telemetry.d.ts.map +1 -0
  89. package/dist/guest/telemetry.js +184 -0
  90. package/dist/guest/telemetry.js.map +1 -0
  91. package/dist/guest/types.d.ts +255 -0
  92. package/dist/guest/types.d.ts.map +1 -0
  93. package/dist/guest/types.js +9 -0
  94. package/dist/guest/types.js.map +1 -0
  95. package/dist/host-runtime-contract.d.ts +19 -0
  96. package/dist/host-runtime-contract.d.ts.map +1 -0
  97. package/dist/host-runtime-contract.js +80 -0
  98. package/dist/host-runtime-contract.js.map +1 -0
  99. package/dist/host-runtime-frame.d.ts +128 -0
  100. package/dist/host-runtime-frame.d.ts.map +1 -0
  101. package/dist/host-runtime-frame.js +881 -0
  102. package/dist/host-runtime-frame.js.map +1 -0
  103. package/dist/host-runtime-registry.d.ts +16 -0
  104. package/dist/host-runtime-registry.d.ts.map +1 -0
  105. package/dist/host-runtime-registry.js +53 -0
  106. package/dist/host-runtime-registry.js.map +1 -0
  107. package/dist/host-runtime.d.ts +106 -0
  108. package/dist/host-runtime.d.ts.map +1 -0
  109. package/dist/host-runtime.js +290 -0
  110. package/dist/host-runtime.js.map +1 -0
  111. package/dist/identity-adapter.d.ts +42 -0
  112. package/dist/identity-adapter.d.ts.map +1 -0
  113. package/dist/identity-adapter.js +43 -0
  114. package/dist/identity-adapter.js.map +1 -0
  115. package/dist/identity.d.ts +86 -0
  116. package/dist/identity.d.ts.map +1 -0
  117. package/dist/identity.js +223 -0
  118. package/dist/identity.js.map +1 -0
  119. package/dist/index.d.ts +91 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.js +356 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/internal/api-protocol/api/protocol.d.ts +1402 -0
  124. package/dist/internal/api-protocol/api/protocol.d.ts.map +1 -0
  125. package/dist/internal/api-protocol/api/protocol.js +311 -0
  126. package/dist/internal/api-protocol/api/protocol.js.map +1 -0
  127. package/dist/internal/api-protocol/api/types.d.ts +24 -0
  128. package/dist/internal/api-protocol/api/types.d.ts.map +1 -0
  129. package/dist/internal/api-protocol/api/types.js +9 -0
  130. package/dist/internal/api-protocol/api/types.js.map +1 -0
  131. package/dist/internal/api-protocol/host-facade/connectionManager.d.ts +44 -0
  132. package/dist/internal/api-protocol/host-facade/connectionManager.d.ts.map +1 -0
  133. package/dist/internal/api-protocol/host-facade/connectionManager.js +349 -0
  134. package/dist/internal/api-protocol/host-facade/connectionManager.js.map +1 -0
  135. package/dist/internal/api-protocol/host-facade/protocolHandler.d.ts +24 -0
  136. package/dist/internal/api-protocol/host-facade/protocolHandler.d.ts.map +1 -0
  137. package/dist/internal/api-protocol/host-facade/protocolHandler.js +505 -0
  138. package/dist/internal/api-protocol/host-facade/protocolHandler.js.map +1 -0
  139. package/dist/internal/api-protocol/host-facade/types.d.ts +82 -0
  140. package/dist/internal/api-protocol/host-facade/types.d.ts.map +1 -0
  141. package/dist/internal/api-protocol/host-facade/types.js +14 -0
  142. package/dist/internal/api-protocol/host-facade/types.js.map +1 -0
  143. package/dist/internal/api-protocol/index.d.ts +39 -0
  144. package/dist/internal/api-protocol/index.d.ts.map +1 -0
  145. package/dist/internal/api-protocol/index.js +41 -0
  146. package/dist/internal/api-protocol/index.js.map +1 -0
  147. package/dist/internal/api-protocol/product-facade/hostApi.d.ts +392 -0
  148. package/dist/internal/api-protocol/product-facade/hostApi.d.ts.map +1 -0
  149. package/dist/internal/api-protocol/product-facade/hostApi.js +241 -0
  150. package/dist/internal/api-protocol/product-facade/hostApi.js.map +1 -0
  151. package/dist/internal/api-protocol/shared/codec/adapter.d.ts +41 -0
  152. package/dist/internal/api-protocol/shared/codec/adapter.d.ts.map +1 -0
  153. package/dist/internal/api-protocol/shared/codec/adapter.js +10 -0
  154. package/dist/internal/api-protocol/shared/codec/adapter.js.map +1 -0
  155. package/dist/internal/api-protocol/shared/codec/negotiation.d.ts +80 -0
  156. package/dist/internal/api-protocol/shared/codec/negotiation.d.ts.map +1 -0
  157. package/dist/internal/api-protocol/shared/codec/negotiation.js +129 -0
  158. package/dist/internal/api-protocol/shared/codec/negotiation.js.map +1 -0
  159. package/dist/internal/api-protocol/shared/codec/scale/adapter.d.ts +18 -0
  160. package/dist/internal/api-protocol/shared/codec/scale/adapter.d.ts.map +1 -0
  161. package/dist/internal/api-protocol/shared/codec/scale/adapter.js +23 -0
  162. package/dist/internal/api-protocol/shared/codec/scale/adapter.js.map +1 -0
  163. package/dist/internal/api-protocol/shared/codec/scale/primitives.d.ts +35 -0
  164. package/dist/internal/api-protocol/shared/codec/scale/primitives.d.ts.map +1 -0
  165. package/dist/internal/api-protocol/shared/codec/scale/primitives.js +96 -0
  166. package/dist/internal/api-protocol/shared/codec/scale/primitives.js.map +1 -0
  167. package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.d.ts +65 -0
  168. package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.d.ts.map +1 -0
  169. package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.js +43 -0
  170. package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.js.map +1 -0
  171. package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.d.ts +162 -0
  172. package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.d.ts.map +1 -0
  173. package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.js +81 -0
  174. package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.js.map +1 -0
  175. package/dist/internal/api-protocol/shared/codec/scale/v1/chat.d.ts +307 -0
  176. package/dist/internal/api-protocol/shared/codec/scale/v1/chat.d.ts.map +1 -0
  177. package/dist/internal/api-protocol/shared/codec/scale/v1/chat.js +105 -0
  178. package/dist/internal/api-protocol/shared/codec/scale/v1/chat.js.map +1 -0
  179. package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.d.ts +5 -0
  180. package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.d.ts.map +1 -0
  181. package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.js +6 -0
  182. package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.js.map +1 -0
  183. package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.d.ts +71 -0
  184. package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.d.ts.map +1 -0
  185. package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.js +34 -0
  186. package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.js.map +1 -0
  187. package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.d.ts +106 -0
  188. package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.d.ts.map +1 -0
  189. package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.js +84 -0
  190. package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.js.map +1 -0
  191. package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.d.ts +4 -0
  192. package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.d.ts.map +1 -0
  193. package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.js +4 -0
  194. package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.js.map +1 -0
  195. package/dist/internal/api-protocol/shared/codec/scale/v1/feature.d.ts +7 -0
  196. package/dist/internal/api-protocol/shared/codec/scale/v1/feature.d.ts.map +1 -0
  197. package/dist/internal/api-protocol/shared/codec/scale/v1/feature.js +7 -0
  198. package/dist/internal/api-protocol/shared/codec/scale/v1/feature.js.map +1 -0
  199. package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.d.ts +13 -0
  200. package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.d.ts.map +1 -0
  201. package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.js +10 -0
  202. package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.js.map +1 -0
  203. package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.d.ts +15 -0
  204. package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.d.ts.map +1 -0
  205. package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.js +12 -0
  206. package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.js.map +1 -0
  207. package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.d.ts +10 -0
  208. package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.d.ts.map +1 -0
  209. package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.js +10 -0
  210. package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.js.map +1 -0
  211. package/dist/internal/api-protocol/shared/codec/scale/v1/notification.d.ts +7 -0
  212. package/dist/internal/api-protocol/shared/codec/scale/v1/notification.d.ts.map +1 -0
  213. package/dist/internal/api-protocol/shared/codec/scale/v1/notification.js +7 -0
  214. package/dist/internal/api-protocol/shared/codec/scale/v1/notification.js.map +1 -0
  215. package/dist/internal/api-protocol/shared/codec/scale/v1/payment.d.ts +74 -0
  216. package/dist/internal/api-protocol/shared/codec/scale/v1/payment.d.ts.map +1 -0
  217. package/dist/internal/api-protocol/shared/codec/scale/v1/payment.js +38 -0
  218. package/dist/internal/api-protocol/shared/codec/scale/v1/payment.js.map +1 -0
  219. package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.d.ts +12 -0
  220. package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.d.ts.map +1 -0
  221. package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.js +11 -0
  222. package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.js.map +1 -0
  223. package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.d.ts +10 -0
  224. package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.d.ts.map +1 -0
  225. package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.js +8 -0
  226. package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.js.map +1 -0
  227. package/dist/internal/api-protocol/shared/codec/scale/v1/sign.d.ts +61 -0
  228. package/dist/internal/api-protocol/shared/codec/scale/v1/sign.d.ts.map +1 -0
  229. package/dist/internal/api-protocol/shared/codec/scale/v1/sign.js +42 -0
  230. package/dist/internal/api-protocol/shared/codec/scale/v1/sign.js.map +1 -0
  231. package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.d.ts +137 -0
  232. package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.d.ts.map +1 -0
  233. package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.js +55 -0
  234. package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.js.map +1 -0
  235. package/dist/internal/api-protocol/shared/codec/structured/index.d.ts +10 -0
  236. package/dist/internal/api-protocol/shared/codec/structured/index.d.ts.map +1 -0
  237. package/dist/internal/api-protocol/shared/codec/structured/index.js +19 -0
  238. package/dist/internal/api-protocol/shared/codec/structured/index.js.map +1 -0
  239. package/dist/internal/api-protocol/shared/transport/messagePortProvider.d.ts +18 -0
  240. package/dist/internal/api-protocol/shared/transport/messagePortProvider.d.ts.map +1 -0
  241. package/dist/internal/api-protocol/shared/transport/messagePortProvider.js +98 -0
  242. package/dist/internal/api-protocol/shared/transport/messagePortProvider.js.map +1 -0
  243. package/dist/internal/api-protocol/shared/transport/provider.d.ts +42 -0
  244. package/dist/internal/api-protocol/shared/transport/provider.d.ts.map +1 -0
  245. package/dist/internal/api-protocol/shared/transport/provider.js +13 -0
  246. package/dist/internal/api-protocol/shared/transport/provider.js.map +1 -0
  247. package/dist/internal/api-protocol/shared/transport/transport.d.ts +72 -0
  248. package/dist/internal/api-protocol/shared/transport/transport.d.ts.map +1 -0
  249. package/dist/internal/api-protocol/shared/transport/transport.js +420 -0
  250. package/dist/internal/api-protocol/shared/transport/transport.js.map +1 -0
  251. package/dist/internal/api-protocol/shared/transport/windowProvider.d.ts +13 -0
  252. package/dist/internal/api-protocol/shared/transport/windowProvider.d.ts.map +1 -0
  253. package/dist/internal/api-protocol/shared/transport/windowProvider.js +85 -0
  254. package/dist/internal/api-protocol/shared/transport/windowProvider.js.map +1 -0
  255. package/dist/internal/api-protocol/shared/util/helpers.d.ts +27 -0
  256. package/dist/internal/api-protocol/shared/util/helpers.d.ts.map +1 -0
  257. package/dist/internal/api-protocol/shared/util/helpers.js +43 -0
  258. package/dist/internal/api-protocol/shared/util/helpers.js.map +1 -0
  259. package/dist/internal/api-protocol/shared/util/idFactory.d.ts +9 -0
  260. package/dist/internal/api-protocol/shared/util/idFactory.d.ts.map +1 -0
  261. package/dist/internal/api-protocol/shared/util/idFactory.js +12 -0
  262. package/dist/internal/api-protocol/shared/util/idFactory.js.map +1 -0
  263. package/dist/internal/api-protocol/shared/util/logger.d.ts +15 -0
  264. package/dist/internal/api-protocol/shared/util/logger.d.ts.map +1 -0
  265. package/dist/internal/api-protocol/shared/util/logger.js +20 -0
  266. package/dist/internal/api-protocol/shared/util/logger.js.map +1 -0
  267. package/dist/mesh-attachment.d.ts +19 -0
  268. package/dist/mesh-attachment.d.ts.map +1 -0
  269. package/dist/mesh-attachment.js +43 -0
  270. package/dist/mesh-attachment.js.map +1 -0
  271. package/dist/mesh-chat.d.ts +48 -0
  272. package/dist/mesh-chat.d.ts.map +1 -0
  273. package/dist/mesh-chat.js +84 -0
  274. package/dist/mesh-chat.js.map +1 -0
  275. package/dist/mesh-delivery-diagnostics.d.ts +12 -0
  276. package/dist/mesh-delivery-diagnostics.d.ts.map +1 -0
  277. package/dist/mesh-delivery-diagnostics.js +45 -0
  278. package/dist/mesh-delivery-diagnostics.js.map +1 -0
  279. package/dist/mesh-notification.d.ts +29 -0
  280. package/dist/mesh-notification.d.ts.map +1 -0
  281. package/dist/mesh-notification.js +52 -0
  282. package/dist/mesh-notification.js.map +1 -0
  283. package/dist/mesh-pairing.d.ts +40 -0
  284. package/dist/mesh-pairing.d.ts.map +1 -0
  285. package/dist/mesh-pairing.js +78 -0
  286. package/dist/mesh-pairing.js.map +1 -0
  287. package/dist/product-host-runtime.d.ts +59 -0
  288. package/dist/product-host-runtime.d.ts.map +1 -0
  289. package/dist/product-host-runtime.js +150 -0
  290. package/dist/product-host-runtime.js.map +1 -0
  291. package/dist/product-protocol.d.ts +49 -0
  292. package/dist/product-protocol.d.ts.map +1 -0
  293. package/dist/product-protocol.js +389 -0
  294. package/dist/product-protocol.js.map +1 -0
  295. package/dist/product-view-hosted.d.ts +63 -0
  296. package/dist/product-view-hosted.d.ts.map +1 -0
  297. package/dist/product-view-hosted.js +272 -0
  298. package/dist/product-view-hosted.js.map +1 -0
  299. package/dist/product-view-service-worker.d.ts +6 -0
  300. package/dist/product-view-service-worker.d.ts.map +1 -0
  301. package/dist/product-view-service-worker.js +57 -0
  302. package/dist/product-view-service-worker.js.map +1 -0
  303. package/dist/product-view.d.ts +459 -0
  304. package/dist/product-view.d.ts.map +1 -0
  305. package/dist/product-view.js +2671 -0
  306. package/dist/product-view.js.map +1 -0
  307. package/dist/protocol.d.ts +39 -0
  308. package/dist/protocol.d.ts.map +1 -0
  309. package/dist/protocol.js +25 -0
  310. package/dist/protocol.js.map +1 -0
  311. package/dist/remote-runtime-provider.d.ts +9 -0
  312. package/dist/remote-runtime-provider.d.ts.map +1 -0
  313. package/dist/remote-runtime-provider.js +1002 -0
  314. package/dist/remote-runtime-provider.js.map +1 -0
  315. package/dist/runtime-chain-service.d.ts +109 -0
  316. package/dist/runtime-chain-service.d.ts.map +1 -0
  317. package/dist/runtime-chain-service.js +846 -0
  318. package/dist/runtime-chain-service.js.map +1 -0
  319. package/dist/runtime-chain.d.ts +8 -0
  320. package/dist/runtime-chain.d.ts.map +1 -0
  321. package/dist/runtime-chain.js +4 -0
  322. package/dist/runtime-chain.js.map +1 -0
  323. package/dist/runtime-storage-access.d.ts +39 -0
  324. package/dist/runtime-storage-access.d.ts.map +1 -0
  325. package/dist/runtime-storage-access.js +209 -0
  326. package/dist/runtime-storage-access.js.map +1 -0
  327. package/dist/scoped-frame.d.ts +55 -0
  328. package/dist/scoped-frame.d.ts.map +1 -0
  329. package/dist/scoped-frame.js +234 -0
  330. package/dist/scoped-frame.js.map +1 -0
  331. package/dist/sdk-interfaces.d.ts +159 -0
  332. package/dist/sdk-interfaces.d.ts.map +1 -0
  333. package/dist/sdk-interfaces.js +2 -0
  334. package/dist/sdk-interfaces.js.map +1 -0
  335. package/dist/statement-store.d.ts +166 -0
  336. package/dist/statement-store.d.ts.map +1 -0
  337. package/dist/statement-store.js +627 -0
  338. package/dist/statement-store.js.map +1 -0
  339. package/dist/telemetry.d.ts +218 -0
  340. package/dist/telemetry.d.ts.map +1 -0
  341. package/dist/telemetry.js +162 -0
  342. package/dist/telemetry.js.map +1 -0
  343. package/dist/types.d.ts +255 -0
  344. package/dist/types.d.ts.map +1 -0
  345. package/dist/types.js +77 -0
  346. package/dist/types.js.map +1 -0
  347. package/dist/wallet-session.d.ts +89 -0
  348. package/dist/wallet-session.d.ts.map +1 -0
  349. package/dist/wallet-session.js +135 -0
  350. package/dist/wallet-session.js.map +1 -0
  351. package/package.json +86 -5
  352. package/index.js +0 -1
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Host-side telemetry: Segment-shaped analytics event router.
3
+ *
4
+ * Provides a vendor-neutral analytics interface that accepts events from
5
+ * sandboxed product iframes and routes them to per-product backends.
6
+ *
7
+ * The event shape follows the Segment spec (`track`, `identify`, `page`)
8
+ * which is the de facto standard accepted by PostHog, Amplitude, Mixpanel,
9
+ * RudderStack, and Jitsu without custom adapters.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { createAnalyticsRouter, type AnalyticsAdapter } from "@polkadot-apps/host-sdk";
14
+ *
15
+ * const posthogAdapter: AnalyticsAdapter = {
16
+ * track: (event) => posthog.capture(event.event!, event.properties),
17
+ * identify: (event) => posthog.identify(event.userId!, event.traits),
18
+ * flush: () => Promise.resolve(),
19
+ * };
20
+ *
21
+ * const router = createAnalyticsRouter();
22
+ * router.register("com.example.app", posthogAdapter);
23
+ *
24
+ * // Events from products are automatically routed to the registered adapter.
25
+ * ```
26
+ */
27
+ /**
28
+ * W3C-compatible trace context injected into product iframes.
29
+ *
30
+ * The host sets `sampled: false` to disable all telemetry collection for a
31
+ * session. Products MUST NOT send timing or analytics events when
32
+ * `sampled` is false.
33
+ */
34
+ export interface TraceContext {
35
+ /** 32-char hex string (16 bytes), W3C trace-id format. */
36
+ readonly traceId: string;
37
+ /** 16-char hex string (8 bytes), W3C span-id format. */
38
+ readonly parentSpanId: string;
39
+ /** Whether this trace is being sampled. Products must respect this flag. */
40
+ readonly sampled: boolean;
41
+ /** Product identifier injected by the host; takes precedence over document.title. */
42
+ readonly productId?: string;
43
+ }
44
+ /**
45
+ * Common fields on every analytics event.
46
+ *
47
+ * Follows the Segment spec: https://segment.com/docs/connections/spec/
48
+ */
49
+ interface AnalyticsEventBase {
50
+ /** ISO 8601 timestamp. */
51
+ readonly timestamp: string;
52
+ /** Trace correlation (ties analytics events to OTel distributed traces). */
53
+ readonly context: AnalyticsContext;
54
+ }
55
+ /** Contextual metadata attached to every event. */
56
+ export interface AnalyticsContext {
57
+ /** Product that emitted the event. */
58
+ readonly app: {
59
+ readonly productId: string;
60
+ readonly version?: string;
61
+ };
62
+ /** OTel trace correlation (present when the host injects a TraceContext). */
63
+ readonly trace?: {
64
+ readonly traceId: string;
65
+ readonly spanId: string;
66
+ };
67
+ }
68
+ /**
69
+ * Segment `track` call — records a user action.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * { type: "track", event: "tx_submitted", properties: { chain: "polkadot" } }
74
+ * ```
75
+ */
76
+ export interface TrackEvent extends AnalyticsEventBase {
77
+ readonly type: "track";
78
+ /** Action name (e.g. "wallet_connected", "tx_submitted"). */
79
+ readonly event: string;
80
+ /** Arbitrary properties describing the action. */
81
+ readonly properties?: Readonly<Record<string, unknown>>;
82
+ }
83
+ /**
84
+ * Segment `identify` call — associates a user identity.
85
+ *
86
+ * Products should only call this with the user's public address or an
87
+ * anonymous ID — never with PII like email or name.
88
+ */
89
+ export interface IdentifyEvent extends AnalyticsEventBase {
90
+ readonly type: "identify";
91
+ /** User identifier (wallet address or anonymous ID). */
92
+ readonly userId: string;
93
+ /** Traits describing the user (e.g. { chain_count: 3 }). */
94
+ readonly traits?: Readonly<Record<string, unknown>>;
95
+ }
96
+ /**
97
+ * Segment `page` / `screen` call — records a page view.
98
+ */
99
+ export interface PageEvent extends AnalyticsEventBase {
100
+ readonly type: "page";
101
+ /** Page or screen name. */
102
+ readonly name: string;
103
+ /** Additional page properties. */
104
+ readonly properties?: Readonly<Record<string, unknown>>;
105
+ }
106
+ /**
107
+ * Performance timing event posted by products through the postMessage bridge.
108
+ *
109
+ * This is NOT part of the Segment spec — it bridges product-side
110
+ * `performance.measure()` calls into the host's OTel trace tree.
111
+ */
112
+ export interface TimingEvent extends AnalyticsEventBase {
113
+ readonly type: "timing";
114
+ /** Span name (e.g. "product.wallet_connect", "product.rpc_call"). */
115
+ readonly name: string;
116
+ /** Span start time (epoch ms, derived from performance.now + Date.now). */
117
+ readonly startMs: number;
118
+ /** Span duration in milliseconds. */
119
+ readonly durationMs: number;
120
+ /** Span ID generated by the product (16-char hex). */
121
+ readonly spanId: string;
122
+ /** Parent span ID from the trace context. */
123
+ readonly parentSpanId: string;
124
+ /** Arbitrary attributes. */
125
+ readonly attributes?: Readonly<Record<string, string | number | boolean>>;
126
+ }
127
+ /** Union of all analytics event types. */
128
+ export type AnalyticsEvent = TrackEvent | IdentifyEvent | PageEvent | TimingEvent;
129
+ /** Shape of the postMessage data sent by the product iframe. */
130
+ export interface ProductAnalyticsMessage {
131
+ readonly type: "host-analytics";
132
+ readonly event: AnalyticsEvent;
133
+ }
134
+ /**
135
+ * Type guard for analytics messages from product iframes.
136
+ *
137
+ * @internal Exported for testing — not part of the public API contract.
138
+ */
139
+ export declare function isProductAnalyticsMessage(data: unknown): data is ProductAnalyticsMessage;
140
+ /**
141
+ * Backend adapter interface. Each analytics provider (PostHog, Amplitude,
142
+ * RudderStack, custom webhook, etc.) implements this to receive events.
143
+ *
144
+ * All methods are optional — implement only what the backend supports.
145
+ */
146
+ export interface AnalyticsAdapter {
147
+ /** Handle a `track` event. */
148
+ track?(event: TrackEvent): void;
149
+ /** Handle an `identify` event. */
150
+ identify?(event: IdentifyEvent): void;
151
+ /** Handle a `page` event. */
152
+ page?(event: PageEvent): void;
153
+ /** Handle a `timing` event (for OTel/APM backends). */
154
+ timing?(event: TimingEvent): void;
155
+ /** Flush any buffered events (called on product destroy). */
156
+ flush?(): Promise<void>;
157
+ }
158
+ /** Configuration for the analytics router. */
159
+ export interface AnalyticsRouterOptions {
160
+ /**
161
+ * Maximum events per product per window. Default: 100.
162
+ * Prevents a malicious product from flooding the analytics pipeline.
163
+ */
164
+ maxEventsPerWindow?: number;
165
+ /** Rate limit window duration in milliseconds. Default: 60_000 (1 minute). */
166
+ windowMs?: number;
167
+ /** Called when a product exceeds its rate limit. */
168
+ onRateLimited?: (productId: string, event: AnalyticsEvent) => void;
169
+ }
170
+ /** Routes analytics events from products to per-product backend adapters. */
171
+ export interface AnalyticsRouter {
172
+ /**
173
+ * Register a backend adapter for a product.
174
+ * Events from this product will be forwarded to the adapter.
175
+ * Replaces any previously registered adapter for the same product.
176
+ */
177
+ register(productId: string, adapter: AnalyticsAdapter): void;
178
+ /** Unregister the adapter for a product. Events will be silently dropped. */
179
+ unregister(productId: string): void;
180
+ /**
181
+ * Route an analytics event to the appropriate backend.
182
+ * Applies rate limiting and validation before forwarding.
183
+ *
184
+ * @returns `true` if the event was forwarded, `false` if dropped.
185
+ */
186
+ dispatch(productId: string, event: AnalyticsEvent): boolean;
187
+ /** Flush all registered adapters. */
188
+ flushAll(): Promise<void>;
189
+ /** Remove all adapters and reset state. */
190
+ destroy(): void;
191
+ }
192
+ /**
193
+ * Create a new analytics router that dispatches product events to
194
+ * per-product backend adapters.
195
+ *
196
+ * @example
197
+ * ```ts
198
+ * const router = createAnalyticsRouter({ maxEventsPerWindow: 200 });
199
+ * router.register("com.example.app", myPostHogAdapter);
200
+ * // In mountProductView's onMessage handler:
201
+ * router.dispatch(productId, event);
202
+ * ```
203
+ */
204
+ export declare function createAnalyticsRouter(options?: AnalyticsRouterOptions): AnalyticsRouter;
205
+ /** Generate a random 32-char hex trace ID. */
206
+ export declare function generateTraceId(): string;
207
+ /** Generate a random 16-char hex span ID. */
208
+ export declare function generateSpanId(): string;
209
+ /** Create a TraceContext for injection into a product iframe. */
210
+ export declare function createTraceContext(sampled?: boolean, productId?: string): TraceContext;
211
+ /**
212
+ * Format a TraceContext as a W3C traceparent header value.
213
+ *
214
+ * @see https://www.w3.org/TR/trace-context/#traceparent-header-field-values
215
+ */
216
+ export declare function formatTraceparent(ctx: TraceContext): string;
217
+ export {};
218
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Host-side telemetry: Segment-shaped analytics event router.
3
+ *
4
+ * Provides a vendor-neutral analytics interface that accepts events from
5
+ * sandboxed product iframes and routes them to per-product backends.
6
+ *
7
+ * The event shape follows the Segment spec (`track`, `identify`, `page`)
8
+ * which is the de facto standard accepted by PostHog, Amplitude, Mixpanel,
9
+ * RudderStack, and Jitsu without custom adapters.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { createAnalyticsRouter, type AnalyticsAdapter } from "@polkadot-apps/host-sdk";
14
+ *
15
+ * const posthogAdapter: AnalyticsAdapter = {
16
+ * track: (event) => posthog.capture(event.event!, event.properties),
17
+ * identify: (event) => posthog.identify(event.userId!, event.traits),
18
+ * flush: () => Promise.resolve(),
19
+ * };
20
+ *
21
+ * const router = createAnalyticsRouter();
22
+ * router.register("com.example.app", posthogAdapter);
23
+ *
24
+ * // Events from products are automatically routed to the registered adapter.
25
+ * ```
26
+ */
27
+ /**
28
+ * Type guard for analytics messages from product iframes.
29
+ *
30
+ * @internal Exported for testing — not part of the public API contract.
31
+ */
32
+ export function isProductAnalyticsMessage(data) {
33
+ if (data === null || typeof data !== "object")
34
+ return false;
35
+ const msg = data;
36
+ if (msg["type"] !== "host-analytics")
37
+ return false;
38
+ const event = msg["event"];
39
+ if (event === null || typeof event !== "object")
40
+ return false;
41
+ const eventType = event["type"];
42
+ return (eventType === "track" ||
43
+ eventType === "identify" ||
44
+ eventType === "page" ||
45
+ eventType === "timing");
46
+ }
47
+ /**
48
+ * Create a new analytics router that dispatches product events to
49
+ * per-product backend adapters.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const router = createAnalyticsRouter({ maxEventsPerWindow: 200 });
54
+ * router.register("com.example.app", myPostHogAdapter);
55
+ * // In mountProductView's onMessage handler:
56
+ * router.dispatch(productId, event);
57
+ * ```
58
+ */
59
+ export function createAnalyticsRouter(options) {
60
+ const maxEvents = options?.maxEventsPerWindow ?? 100;
61
+ const windowMs = options?.windowMs ?? 60000;
62
+ const adapters = new Map();
63
+ const rateLimiters = new Map();
64
+ function checkRateLimit(productId, event) {
65
+ const now = Date.now();
66
+ let state = rateLimiters.get(productId);
67
+ if (!state || now - state.windowStart >= windowMs) {
68
+ state = { count: 0, windowStart: now };
69
+ rateLimiters.set(productId, state);
70
+ }
71
+ if (state.count >= maxEvents) {
72
+ options?.onRateLimited?.(productId, event);
73
+ return false;
74
+ }
75
+ state.count++;
76
+ return true;
77
+ }
78
+ return {
79
+ register(productId, adapter) {
80
+ adapters.set(productId, adapter);
81
+ },
82
+ unregister(productId) {
83
+ adapters.delete(productId);
84
+ rateLimiters.delete(productId);
85
+ },
86
+ dispatch(productId, event) {
87
+ const adapter = adapters.get(productId);
88
+ if (!adapter)
89
+ return false;
90
+ // Reject events with excessively large payloads to prevent abuse.
91
+ const json = JSON.stringify(event);
92
+ if (json.length > 32768) {
93
+ console.warn("[analytics] event payload too large, dropping");
94
+ return false;
95
+ }
96
+ if (!checkRateLimit(productId, event))
97
+ return false;
98
+ switch (event.type) {
99
+ case "track":
100
+ adapter.track?.(event);
101
+ break;
102
+ case "identify":
103
+ adapter.identify?.(event);
104
+ break;
105
+ case "page":
106
+ adapter.page?.(event);
107
+ break;
108
+ case "timing":
109
+ adapter.timing?.(event);
110
+ break;
111
+ }
112
+ return true;
113
+ },
114
+ async flushAll() {
115
+ const promises = [];
116
+ for (const adapter of adapters.values()) {
117
+ if (adapter.flush) {
118
+ promises.push(adapter.flush());
119
+ }
120
+ }
121
+ await Promise.all(promises);
122
+ },
123
+ destroy() {
124
+ adapters.clear();
125
+ rateLimiters.clear();
126
+ },
127
+ };
128
+ }
129
+ // ---------------------------------------------------------------------------
130
+ // Trace context helpers
131
+ // ---------------------------------------------------------------------------
132
+ /** Generate a random 32-char hex trace ID. */
133
+ export function generateTraceId() {
134
+ const bytes = new Uint8Array(16);
135
+ crypto.getRandomValues(bytes);
136
+ return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
137
+ }
138
+ /** Generate a random 16-char hex span ID. */
139
+ export function generateSpanId() {
140
+ const bytes = new Uint8Array(8);
141
+ crypto.getRandomValues(bytes);
142
+ return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
143
+ }
144
+ /** Create a TraceContext for injection into a product iframe. */
145
+ export function createTraceContext(sampled = true, productId) {
146
+ return {
147
+ traceId: generateTraceId(),
148
+ parentSpanId: generateSpanId(),
149
+ sampled,
150
+ ...(productId ? { productId } : {}),
151
+ };
152
+ }
153
+ /**
154
+ * Format a TraceContext as a W3C traceparent header value.
155
+ *
156
+ * @see https://www.w3.org/TR/trace-context/#traceparent-header-field-values
157
+ */
158
+ export function formatTraceparent(ctx) {
159
+ const flags = ctx.sampled ? "01" : "00";
160
+ return `00-${ctx.traceId}-${ctx.parentSpanId}-${flags}`;
161
+ }
162
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,255 @@
1
+ /**
2
+ * Discriminated union for HostApi message processing outcomes.
3
+ *
4
+ * Returned by {@link HostSdk.handleMessage}. Use the `type` field to
5
+ * narrow the variant and access its fields with full type safety.
6
+ */
7
+ export interface OutcomeResponse {
8
+ type: "Response";
9
+ data: Uint8Array;
10
+ }
11
+ export interface OutcomeNeedsSign {
12
+ type: "NeedsSign";
13
+ request_id: string;
14
+ request_tag: number;
15
+ public_key: Uint8Array;
16
+ payload: Uint8Array;
17
+ }
18
+ export interface OutcomeNeedsChainQuery {
19
+ type: "NeedsChainQuery";
20
+ request_id: string;
21
+ method: string;
22
+ params: unknown;
23
+ }
24
+ export interface OutcomeNeedsChainSubscription {
25
+ type: "NeedsChainSubscription";
26
+ request_id: string;
27
+ method: string;
28
+ params: unknown;
29
+ }
30
+ export interface OutcomeNeedsNavigate {
31
+ type: "NeedsNavigate";
32
+ request_id: string;
33
+ url: string;
34
+ }
35
+ export interface OutcomeNeedsPushNotification {
36
+ type: "NeedsPushNotification";
37
+ request_id: string;
38
+ text: string;
39
+ deeplink: string | null;
40
+ }
41
+ export interface OutcomeNeedsChainFollow {
42
+ type: "NeedsChainFollow";
43
+ request_id: string;
44
+ genesis_hash: Uint8Array;
45
+ with_runtime: boolean;
46
+ }
47
+ export interface OutcomeNeedsChainRpc {
48
+ type: "NeedsChainRpc";
49
+ request_id: string;
50
+ request_tag: number;
51
+ genesis_hash: Uint8Array;
52
+ json_rpc_method: string;
53
+ json_rpc_params: unknown;
54
+ follow_sub_id: string | null;
55
+ }
56
+ export interface OutcomeNeedsStorageRead {
57
+ type: "NeedsStorageRead";
58
+ request_id: string;
59
+ key: string;
60
+ }
61
+ export interface OutcomeNeedsStorageWrite {
62
+ type: "NeedsStorageWrite";
63
+ request_id: string;
64
+ key: string;
65
+ value: Uint8Array;
66
+ }
67
+ export interface OutcomeNeedsStorageClear {
68
+ type: "NeedsStorageClear";
69
+ request_id: string;
70
+ key: string;
71
+ }
72
+ export interface PaymentAmount {
73
+ currency: string;
74
+ minor_units: string;
75
+ }
76
+ export interface PaymentBalance {
77
+ available: PaymentAmount;
78
+ pending: PaymentAmount;
79
+ }
80
+ export type PaymentTopUpSource = {
81
+ type: "ProductAccount";
82
+ account: ProductAccountId;
83
+ } | {
84
+ type: "OneTimePrivateKey";
85
+ private_key: Uint8Array;
86
+ };
87
+ export interface PaymentTopUpRequest {
88
+ amount: PaymentAmount;
89
+ source: PaymentTopUpSource;
90
+ }
91
+ export interface PaymentRequest {
92
+ amount: PaymentAmount;
93
+ recipient: string;
94
+ memo: string | null;
95
+ }
96
+ export interface PaymentReceipt {
97
+ id: string;
98
+ }
99
+ export type PaymentStatus = {
100
+ type: "Processing";
101
+ } | {
102
+ type: "Completed";
103
+ } | {
104
+ type: "Failed";
105
+ reason: string;
106
+ };
107
+ export interface ProductAccountId {
108
+ dotns_id: string;
109
+ derivation_index: number;
110
+ }
111
+ export interface RingLocation {
112
+ genesis_hash: Uint8Array;
113
+ ring_root_hash: Uint8Array;
114
+ pallet_instance: number | null;
115
+ }
116
+ export type DevicePermissionKind = "Camera" | "Microphone" | "Bluetooth" | "Location";
117
+ export type RemotePermissionRequest = {
118
+ type: "ExternalRequest";
119
+ url: string;
120
+ } | {
121
+ type: "TransactionSubmit";
122
+ };
123
+ export type AccountRequestCredentialsErrorKind = "NotConnected" | "Rejected" | "DomainNotValid" | "Unknown";
124
+ export type AccountCreateProofErrorKind = "RingNotFound" | "Rejected" | "Unknown";
125
+ export interface OutcomeNeedsAccountGet {
126
+ type: "NeedsAccountGet";
127
+ request_id: string;
128
+ account: ProductAccountId;
129
+ }
130
+ export interface OutcomeNeedsPaymentBalanceSubscription {
131
+ type: "NeedsPaymentBalanceSubscription";
132
+ request_id: string;
133
+ }
134
+ export interface OutcomeNeedsPaymentTopUp {
135
+ type: "NeedsPaymentTopUp";
136
+ request_id: string;
137
+ request: PaymentTopUpRequest;
138
+ }
139
+ export interface OutcomeNeedsPaymentRequest {
140
+ type: "NeedsPaymentRequest";
141
+ request_id: string;
142
+ request: PaymentRequest;
143
+ }
144
+ export interface OutcomeNeedsPaymentStatusSubscription {
145
+ type: "NeedsPaymentStatusSubscription";
146
+ request_id: string;
147
+ receipt_id: string;
148
+ }
149
+ export interface OutcomeNeedsAccountGetAlias {
150
+ type: "NeedsAccountGetAlias";
151
+ request_id: string;
152
+ account: ProductAccountId;
153
+ }
154
+ export interface OutcomeNeedsAccountCreateProof {
155
+ type: "NeedsAccountCreateProof";
156
+ request_id: string;
157
+ account: ProductAccountId;
158
+ ring_location: RingLocation;
159
+ message: Uint8Array;
160
+ }
161
+ export interface OutcomeNeedsDevicePermission {
162
+ type: "NeedsDevicePermission";
163
+ request_id: string;
164
+ kind: DevicePermissionKind;
165
+ }
166
+ export interface OutcomeNeedsRemotePermission {
167
+ type: "NeedsRemotePermission";
168
+ request_id: string;
169
+ request: RemotePermissionRequest;
170
+ }
171
+ export interface OutcomeNeedsCreateTransaction {
172
+ type: "NeedsCreateTransaction";
173
+ request_id: string;
174
+ account: ProductAccountId;
175
+ versioned_payload: Uint8Array;
176
+ }
177
+ export interface OutcomeNeedsCreateTransactionNonProduct {
178
+ type: "NeedsCreateTransactionNonProduct";
179
+ request_id: string;
180
+ versioned_payload: Uint8Array;
181
+ }
182
+ export interface OutcomeSilent {
183
+ type: "Silent";
184
+ }
185
+ export type HostApiOutcome = OutcomeResponse | OutcomeNeedsSign | OutcomeNeedsChainQuery | OutcomeNeedsChainSubscription | OutcomeNeedsNavigate | OutcomeNeedsPushNotification | OutcomeNeedsChainFollow | OutcomeNeedsChainRpc | OutcomeNeedsStorageRead | OutcomeNeedsStorageWrite | OutcomeNeedsStorageClear | OutcomeNeedsAccountGet | OutcomeNeedsPaymentBalanceSubscription | OutcomeNeedsPaymentTopUp | OutcomeNeedsPaymentRequest | OutcomeNeedsPaymentStatusSubscription | OutcomeNeedsAccountGetAlias | OutcomeNeedsAccountCreateProof | OutcomeNeedsDevicePermission | OutcomeNeedsRemotePermission | OutcomeNeedsCreateTransaction | OutcomeNeedsCreateTransactionNonProduct | OutcomeSilent;
186
+ export declare function isResponse(o: HostApiOutcome): o is OutcomeResponse;
187
+ export declare function isNeedsSign(o: HostApiOutcome): o is OutcomeNeedsSign;
188
+ export declare function isNeedsChainQuery(o: HostApiOutcome): o is OutcomeNeedsChainQuery;
189
+ export declare function isNeedsChainSubscription(o: HostApiOutcome): o is OutcomeNeedsChainSubscription;
190
+ export declare function isNeedsNavigate(o: HostApiOutcome): o is OutcomeNeedsNavigate;
191
+ export declare function isNeedsPushNotification(o: HostApiOutcome): o is OutcomeNeedsPushNotification;
192
+ export declare function isNeedsChainFollow(o: HostApiOutcome): o is OutcomeNeedsChainFollow;
193
+ export declare function isNeedsChainRpc(o: HostApiOutcome): o is OutcomeNeedsChainRpc;
194
+ export declare function isNeedsStorageRead(o: HostApiOutcome): o is OutcomeNeedsStorageRead;
195
+ export declare function isNeedsStorageWrite(o: HostApiOutcome): o is OutcomeNeedsStorageWrite;
196
+ export declare function isNeedsStorageClear(o: HostApiOutcome): o is OutcomeNeedsStorageClear;
197
+ export declare function isNeedsAccountGet(o: HostApiOutcome): o is OutcomeNeedsAccountGet;
198
+ export declare function isNeedsPaymentBalanceSubscription(o: HostApiOutcome): o is OutcomeNeedsPaymentBalanceSubscription;
199
+ export declare function isNeedsPaymentTopUp(o: HostApiOutcome): o is OutcomeNeedsPaymentTopUp;
200
+ export declare function isNeedsPaymentRequest(o: HostApiOutcome): o is OutcomeNeedsPaymentRequest;
201
+ export declare function isNeedsPaymentStatusSubscription(o: HostApiOutcome): o is OutcomeNeedsPaymentStatusSubscription;
202
+ export declare function isNeedsAccountGetAlias(o: HostApiOutcome): o is OutcomeNeedsAccountGetAlias;
203
+ export declare function isNeedsAccountCreateProof(o: HostApiOutcome): o is OutcomeNeedsAccountCreateProof;
204
+ export declare function isNeedsDevicePermission(o: HostApiOutcome): o is OutcomeNeedsDevicePermission;
205
+ export declare function isNeedsRemotePermission(o: HostApiOutcome): o is OutcomeNeedsRemotePermission;
206
+ export declare function isNeedsCreateTransaction(o: HostApiOutcome): o is OutcomeNeedsCreateTransaction;
207
+ export declare function isNeedsCreateTransactionNonProduct(o: HostApiOutcome): o is OutcomeNeedsCreateTransactionNonProduct;
208
+ export declare function isSilent(o: HostApiOutcome): o is OutcomeSilent;
209
+ /**
210
+ * Decoded Substrate extrinsic signing payload fields.
211
+ *
212
+ * Returned by {@link HostSdk.decodeSignPayload}. Use this to inspect the
213
+ * payload from a `NeedsSign` outcome for display in signing confirmation UI.
214
+ *
215
+ * **Heuristic decoder**: decoded fields are for display purposes only and
216
+ * should not be trusted as a security boundary. See the Rust module docs
217
+ * for full limitations.
218
+ */
219
+ export interface DecodedSignPayload {
220
+ /** Genesis hash of the target chain (32 bytes). */
221
+ genesisHash: Uint8Array;
222
+ /** Block hash for the mortality window (32 bytes). */
223
+ blockHash: Uint8Array;
224
+ /** Runtime spec version. */
225
+ specVersion: number;
226
+ /** Transaction format version. */
227
+ txVersion: number;
228
+ /** Metadata hash (32 bytes) if CheckMetadataHash is active, or null. */
229
+ metadataHash: Uint8Array | null;
230
+ /** Raw bytes: call data concatenated with signed-extension extra data. */
231
+ callDataAndExtra: Uint8Array;
232
+ }
233
+ /** Decoded statement from the statement store. */
234
+ export interface DecodedStatement {
235
+ proofPubkey?: Uint8Array;
236
+ decryptionKey?: Uint8Array;
237
+ channel?: Uint8Array;
238
+ priority: number;
239
+ topics: Uint8Array[];
240
+ data: Uint8Array;
241
+ }
242
+ /** Health status of the statement store connection. */
243
+ export interface HostStoreStatus {
244
+ storeRunning: boolean;
245
+ storeHealth: "healthy" | "unreachable" | "checking";
246
+ subscribers: number;
247
+ pendingEvents: number;
248
+ lastError: string;
249
+ msSinceHealthy: number;
250
+ }
251
+ /** Wallet state as reported by WalletHandle. */
252
+ export type WalletState = "NoWallet" | "Locked" | "Unlocked";
253
+ /** Callback invoked when the wallet auto-locks. */
254
+ export type AutoLockCallback = () => void;
255
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}