polkadot-api 0.2.2 → 0.2.4

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 (260) hide show
  1. package/chains/ksmcc3/package.json +5 -5
  2. package/chains/ksmcc3_asset_hub/package.json +5 -5
  3. package/chains/ksmcc3_bridge_hub/package.json +5 -5
  4. package/chains/package.json +5 -5
  5. package/chains/polkadot/package.json +5 -5
  6. package/chains/polkadot_asset_hub/package.json +5 -5
  7. package/chains/polkadot_bridge_hub/package.json +5 -5
  8. package/chains/polkadot_collectives/package.json +5 -5
  9. package/chains/rococo_v2_2/package.json +5 -5
  10. package/chains/rococo_v2_2_asset_hub/package.json +5 -5
  11. package/chains/rococo_v2_2_bridge_hub/package.json +5 -5
  12. package/chains/westend2/package.json +5 -5
  13. package/chains/westend2_asset_hub/package.json +5 -5
  14. package/chains/westend2_bridge_hub/package.json +5 -5
  15. package/chains/westend2_collectives/package.json +5 -5
  16. package/dist/index.js +39 -38
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +40 -39
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/min/index.js +1 -1
  21. package/dist/min/index.js.map +1 -1
  22. package/dist/min/reexports/chains.d.ts +25 -0
  23. package/dist/reexports/chains.d.mts +25 -0
  24. package/dist/reexports/chains.d.ts +25 -0
  25. package/logs-provider/package.json +5 -5
  26. package/package.json +255 -255
  27. package/pjs-signer/package.json +5 -5
  28. package/signer/package.json +5 -5
  29. package/sm-provider/package.json +5 -5
  30. package/smoldot/from-worker/package.json +5 -5
  31. package/smoldot/package.json +5 -5
  32. package/smoldot/worker/package.json +5 -5
  33. package/utils/package.json +5 -5
  34. package/ws-provider/node/package.json +5 -5
  35. package/ws-provider/web/package.json +5 -5
  36. package/dist/chains/chains.d.mts +0 -1
  37. package/dist/chains/chains.d.ts +0 -1
  38. package/dist/chains/min/chains.d.ts +0 -1
  39. /package/dist/{chains/min → min/reexports}/chains.js +0 -0
  40. /package/dist/{chains/min → min/reexports}/chains.js.map +0 -0
  41. /package/dist/{chains_ksmcc3 → min/reexports}/chains_ksmcc3.d.ts +0 -0
  42. /package/dist/{chains_ksmcc3/min → min/reexports}/chains_ksmcc3.js +0 -0
  43. /package/dist/{chains_ksmcc3/min → min/reexports}/chains_ksmcc3.js.map +0 -0
  44. /package/dist/{chains_ksmcc3_asset_hub → min/reexports}/chains_ksmcc3_asset_hub.d.ts +0 -0
  45. /package/dist/{chains_ksmcc3_asset_hub/min → min/reexports}/chains_ksmcc3_asset_hub.js +0 -0
  46. /package/dist/{chains_ksmcc3_asset_hub/min → min/reexports}/chains_ksmcc3_asset_hub.js.map +0 -0
  47. /package/dist/{chains_ksmcc3_bridge_hub → min/reexports}/chains_ksmcc3_bridge_hub.d.ts +0 -0
  48. /package/dist/{chains_ksmcc3_bridge_hub/min → min/reexports}/chains_ksmcc3_bridge_hub.js +0 -0
  49. /package/dist/{chains_ksmcc3_bridge_hub/min → min/reexports}/chains_ksmcc3_bridge_hub.js.map +0 -0
  50. /package/dist/{chains_polkadot → min/reexports}/chains_polkadot.d.ts +0 -0
  51. /package/dist/{chains_polkadot/min → min/reexports}/chains_polkadot.js +0 -0
  52. /package/dist/{chains_polkadot/min → min/reexports}/chains_polkadot.js.map +0 -0
  53. /package/dist/{chains_polkadot_asset_hub → min/reexports}/chains_polkadot_asset_hub.d.ts +0 -0
  54. /package/dist/{chains_polkadot_asset_hub/min → min/reexports}/chains_polkadot_asset_hub.js +0 -0
  55. /package/dist/{chains_polkadot_asset_hub/min → min/reexports}/chains_polkadot_asset_hub.js.map +0 -0
  56. /package/dist/{chains_polkadot_bridge_hub → min/reexports}/chains_polkadot_bridge_hub.d.ts +0 -0
  57. /package/dist/{chains_polkadot_bridge_hub/min → min/reexports}/chains_polkadot_bridge_hub.js +0 -0
  58. /package/dist/{chains_polkadot_bridge_hub/min → min/reexports}/chains_polkadot_bridge_hub.js.map +0 -0
  59. /package/dist/{chains_polkadot_collectives → min/reexports}/chains_polkadot_collectives.d.ts +0 -0
  60. /package/dist/{chains_polkadot_collectives/min → min/reexports}/chains_polkadot_collectives.js +0 -0
  61. /package/dist/{chains_polkadot_collectives/min → min/reexports}/chains_polkadot_collectives.js.map +0 -0
  62. /package/dist/{chains_rococo_v2_2 → min/reexports}/chains_rococo_v2_2.d.ts +0 -0
  63. /package/dist/{chains_rococo_v2_2/min → min/reexports}/chains_rococo_v2_2.js +0 -0
  64. /package/dist/{chains_rococo_v2_2/min → min/reexports}/chains_rococo_v2_2.js.map +0 -0
  65. /package/dist/{chains_rococo_v2_2_asset_hub → min/reexports}/chains_rococo_v2_2_asset_hub.d.ts +0 -0
  66. /package/dist/{chains_rococo_v2_2_asset_hub/min → min/reexports}/chains_rococo_v2_2_asset_hub.js +0 -0
  67. /package/dist/{chains_rococo_v2_2_asset_hub/min → min/reexports}/chains_rococo_v2_2_asset_hub.js.map +0 -0
  68. /package/dist/{chains_rococo_v2_2_bridge_hub → min/reexports}/chains_rococo_v2_2_bridge_hub.d.ts +0 -0
  69. /package/dist/{chains_rococo_v2_2_bridge_hub/min → min/reexports}/chains_rococo_v2_2_bridge_hub.js +0 -0
  70. /package/dist/{chains_rococo_v2_2_bridge_hub/min → min/reexports}/chains_rococo_v2_2_bridge_hub.js.map +0 -0
  71. /package/dist/{chains_westend2 → min/reexports}/chains_westend2.d.ts +0 -0
  72. /package/dist/{chains_westend2/min → min/reexports}/chains_westend2.js +0 -0
  73. /package/dist/{chains_westend2/min → min/reexports}/chains_westend2.js.map +0 -0
  74. /package/dist/{chains_westend2_asset_hub → min/reexports}/chains_westend2_asset_hub.d.ts +0 -0
  75. /package/dist/{chains_westend2_asset_hub/min → min/reexports}/chains_westend2_asset_hub.js +0 -0
  76. /package/dist/{chains_westend2_asset_hub/min → min/reexports}/chains_westend2_asset_hub.js.map +0 -0
  77. /package/dist/{chains_westend2_bridge_hub → min/reexports}/chains_westend2_bridge_hub.d.ts +0 -0
  78. /package/dist/{chains_westend2_bridge_hub/min → min/reexports}/chains_westend2_bridge_hub.js +0 -0
  79. /package/dist/{chains_westend2_bridge_hub/min → min/reexports}/chains_westend2_bridge_hub.js.map +0 -0
  80. /package/dist/{chains_westend2_collectives → min/reexports}/chains_westend2_collectives.d.ts +0 -0
  81. /package/dist/{chains_westend2_collectives/min → min/reexports}/chains_westend2_collectives.js +0 -0
  82. /package/dist/{chains_westend2_collectives/min → min/reexports}/chains_westend2_collectives.js.map +0 -0
  83. /package/dist/{logs-provider → min/reexports}/logs-provider.d.ts +0 -0
  84. /package/dist/{logs-provider/min → min/reexports}/logs-provider.js +0 -0
  85. /package/dist/{logs-provider/min → min/reexports}/logs-provider.js.map +0 -0
  86. /package/dist/{pjs-signer/min → min/reexports}/pjs-signer.d.ts +0 -0
  87. /package/dist/{pjs-signer/min → min/reexports}/pjs-signer.js +0 -0
  88. /package/dist/{pjs-signer/min → min/reexports}/pjs-signer.js.map +0 -0
  89. /package/dist/{signer/min → min/reexports}/signer.d.ts +0 -0
  90. /package/dist/{signer/min → min/reexports}/signer.js +0 -0
  91. /package/dist/{signer/min → min/reexports}/signer.js.map +0 -0
  92. /package/dist/{sm-provider/min → min/reexports}/sm-provider.d.ts +0 -0
  93. /package/dist/{sm-provider/min → min/reexports}/sm-provider.js +0 -0
  94. /package/dist/{sm-provider/min → min/reexports}/sm-provider.js.map +0 -0
  95. /package/dist/{smoldot/min → min/reexports}/smoldot.d.ts +0 -0
  96. /package/dist/{smoldot/min → min/reexports}/smoldot.js +0 -0
  97. /package/dist/{smoldot/min → min/reexports}/smoldot.js.map +0 -0
  98. /package/dist/{smoldot_from-worker/min → min/reexports}/smoldot_from-worker.d.ts +0 -0
  99. /package/dist/{smoldot_from-worker/min → min/reexports}/smoldot_from-worker.js +0 -0
  100. /package/dist/{smoldot_from-worker/min → min/reexports}/smoldot_from-worker.js.map +0 -0
  101. /package/dist/{smoldot_worker/min → min/reexports}/smoldot_worker.d.ts +0 -0
  102. /package/dist/{smoldot_worker/min → min/reexports}/smoldot_worker.js +0 -0
  103. /package/dist/{smoldot_worker/min → min/reexports}/smoldot_worker.js.map +0 -0
  104. /package/dist/{utils/min → min/reexports}/utils.d.ts +0 -0
  105. /package/dist/{utils/min → min/reexports}/utils.js +0 -0
  106. /package/dist/{utils/min → min/reexports}/utils.js.map +0 -0
  107. /package/dist/{ws-provider_node/min → min/reexports}/ws-provider_node.d.ts +0 -0
  108. /package/dist/{ws-provider_node/min → min/reexports}/ws-provider_node.js +0 -0
  109. /package/dist/{ws-provider_node/min → min/reexports}/ws-provider_node.js.map +0 -0
  110. /package/dist/{ws-provider_web/min → min/reexports}/ws-provider_web.d.ts +0 -0
  111. /package/dist/{ws-provider_web/min → min/reexports}/ws-provider_web.js +0 -0
  112. /package/dist/{ws-provider_web/min → min/reexports}/ws-provider_web.js.map +0 -0
  113. /package/dist/{chains → reexports}/chains.js +0 -0
  114. /package/dist/{chains → reexports}/chains.js.map +0 -0
  115. /package/dist/{chains → reexports}/chains.mjs +0 -0
  116. /package/dist/{chains → reexports}/chains.mjs.map +0 -0
  117. /package/dist/{chains_ksmcc3 → reexports}/chains_ksmcc3.d.mts +0 -0
  118. /package/dist/{chains_ksmcc3/min → reexports}/chains_ksmcc3.d.ts +0 -0
  119. /package/dist/{chains_ksmcc3 → reexports}/chains_ksmcc3.js +0 -0
  120. /package/dist/{chains_ksmcc3 → reexports}/chains_ksmcc3.js.map +0 -0
  121. /package/dist/{chains_ksmcc3 → reexports}/chains_ksmcc3.mjs +0 -0
  122. /package/dist/{chains_ksmcc3 → reexports}/chains_ksmcc3.mjs.map +0 -0
  123. /package/dist/{chains_ksmcc3_asset_hub → reexports}/chains_ksmcc3_asset_hub.d.mts +0 -0
  124. /package/dist/{chains_ksmcc3_asset_hub/min → reexports}/chains_ksmcc3_asset_hub.d.ts +0 -0
  125. /package/dist/{chains_ksmcc3_asset_hub → reexports}/chains_ksmcc3_asset_hub.js +0 -0
  126. /package/dist/{chains_ksmcc3_asset_hub → reexports}/chains_ksmcc3_asset_hub.js.map +0 -0
  127. /package/dist/{chains_ksmcc3_asset_hub → reexports}/chains_ksmcc3_asset_hub.mjs +0 -0
  128. /package/dist/{chains_ksmcc3_asset_hub → reexports}/chains_ksmcc3_asset_hub.mjs.map +0 -0
  129. /package/dist/{chains_ksmcc3_bridge_hub → reexports}/chains_ksmcc3_bridge_hub.d.mts +0 -0
  130. /package/dist/{chains_ksmcc3_bridge_hub/min → reexports}/chains_ksmcc3_bridge_hub.d.ts +0 -0
  131. /package/dist/{chains_ksmcc3_bridge_hub → reexports}/chains_ksmcc3_bridge_hub.js +0 -0
  132. /package/dist/{chains_ksmcc3_bridge_hub → reexports}/chains_ksmcc3_bridge_hub.js.map +0 -0
  133. /package/dist/{chains_ksmcc3_bridge_hub → reexports}/chains_ksmcc3_bridge_hub.mjs +0 -0
  134. /package/dist/{chains_ksmcc3_bridge_hub → reexports}/chains_ksmcc3_bridge_hub.mjs.map +0 -0
  135. /package/dist/{chains_polkadot → reexports}/chains_polkadot.d.mts +0 -0
  136. /package/dist/{chains_polkadot/min → reexports}/chains_polkadot.d.ts +0 -0
  137. /package/dist/{chains_polkadot → reexports}/chains_polkadot.js +0 -0
  138. /package/dist/{chains_polkadot → reexports}/chains_polkadot.js.map +0 -0
  139. /package/dist/{chains_polkadot → reexports}/chains_polkadot.mjs +0 -0
  140. /package/dist/{chains_polkadot → reexports}/chains_polkadot.mjs.map +0 -0
  141. /package/dist/{chains_polkadot_asset_hub → reexports}/chains_polkadot_asset_hub.d.mts +0 -0
  142. /package/dist/{chains_polkadot_asset_hub/min → reexports}/chains_polkadot_asset_hub.d.ts +0 -0
  143. /package/dist/{chains_polkadot_asset_hub → reexports}/chains_polkadot_asset_hub.js +0 -0
  144. /package/dist/{chains_polkadot_asset_hub → reexports}/chains_polkadot_asset_hub.js.map +0 -0
  145. /package/dist/{chains_polkadot_asset_hub → reexports}/chains_polkadot_asset_hub.mjs +0 -0
  146. /package/dist/{chains_polkadot_asset_hub → reexports}/chains_polkadot_asset_hub.mjs.map +0 -0
  147. /package/dist/{chains_polkadot_bridge_hub → reexports}/chains_polkadot_bridge_hub.d.mts +0 -0
  148. /package/dist/{chains_polkadot_bridge_hub/min → reexports}/chains_polkadot_bridge_hub.d.ts +0 -0
  149. /package/dist/{chains_polkadot_bridge_hub → reexports}/chains_polkadot_bridge_hub.js +0 -0
  150. /package/dist/{chains_polkadot_bridge_hub → reexports}/chains_polkadot_bridge_hub.js.map +0 -0
  151. /package/dist/{chains_polkadot_bridge_hub → reexports}/chains_polkadot_bridge_hub.mjs +0 -0
  152. /package/dist/{chains_polkadot_bridge_hub → reexports}/chains_polkadot_bridge_hub.mjs.map +0 -0
  153. /package/dist/{chains_polkadot_collectives → reexports}/chains_polkadot_collectives.d.mts +0 -0
  154. /package/dist/{chains_polkadot_collectives/min → reexports}/chains_polkadot_collectives.d.ts +0 -0
  155. /package/dist/{chains_polkadot_collectives → reexports}/chains_polkadot_collectives.js +0 -0
  156. /package/dist/{chains_polkadot_collectives → reexports}/chains_polkadot_collectives.js.map +0 -0
  157. /package/dist/{chains_polkadot_collectives → reexports}/chains_polkadot_collectives.mjs +0 -0
  158. /package/dist/{chains_polkadot_collectives → reexports}/chains_polkadot_collectives.mjs.map +0 -0
  159. /package/dist/{chains_rococo_v2_2 → reexports}/chains_rococo_v2_2.d.mts +0 -0
  160. /package/dist/{chains_rococo_v2_2/min → reexports}/chains_rococo_v2_2.d.ts +0 -0
  161. /package/dist/{chains_rococo_v2_2 → reexports}/chains_rococo_v2_2.js +0 -0
  162. /package/dist/{chains_rococo_v2_2 → reexports}/chains_rococo_v2_2.js.map +0 -0
  163. /package/dist/{chains_rococo_v2_2 → reexports}/chains_rococo_v2_2.mjs +0 -0
  164. /package/dist/{chains_rococo_v2_2 → reexports}/chains_rococo_v2_2.mjs.map +0 -0
  165. /package/dist/{chains_rococo_v2_2_asset_hub → reexports}/chains_rococo_v2_2_asset_hub.d.mts +0 -0
  166. /package/dist/{chains_rococo_v2_2_asset_hub/min → reexports}/chains_rococo_v2_2_asset_hub.d.ts +0 -0
  167. /package/dist/{chains_rococo_v2_2_asset_hub → reexports}/chains_rococo_v2_2_asset_hub.js +0 -0
  168. /package/dist/{chains_rococo_v2_2_asset_hub → reexports}/chains_rococo_v2_2_asset_hub.js.map +0 -0
  169. /package/dist/{chains_rococo_v2_2_asset_hub → reexports}/chains_rococo_v2_2_asset_hub.mjs +0 -0
  170. /package/dist/{chains_rococo_v2_2_asset_hub → reexports}/chains_rococo_v2_2_asset_hub.mjs.map +0 -0
  171. /package/dist/{chains_rococo_v2_2_bridge_hub → reexports}/chains_rococo_v2_2_bridge_hub.d.mts +0 -0
  172. /package/dist/{chains_rococo_v2_2_bridge_hub/min → reexports}/chains_rococo_v2_2_bridge_hub.d.ts +0 -0
  173. /package/dist/{chains_rococo_v2_2_bridge_hub → reexports}/chains_rococo_v2_2_bridge_hub.js +0 -0
  174. /package/dist/{chains_rococo_v2_2_bridge_hub → reexports}/chains_rococo_v2_2_bridge_hub.js.map +0 -0
  175. /package/dist/{chains_rococo_v2_2_bridge_hub → reexports}/chains_rococo_v2_2_bridge_hub.mjs +0 -0
  176. /package/dist/{chains_rococo_v2_2_bridge_hub → reexports}/chains_rococo_v2_2_bridge_hub.mjs.map +0 -0
  177. /package/dist/{chains_westend2 → reexports}/chains_westend2.d.mts +0 -0
  178. /package/dist/{chains_westend2/min → reexports}/chains_westend2.d.ts +0 -0
  179. /package/dist/{chains_westend2 → reexports}/chains_westend2.js +0 -0
  180. /package/dist/{chains_westend2 → reexports}/chains_westend2.js.map +0 -0
  181. /package/dist/{chains_westend2 → reexports}/chains_westend2.mjs +0 -0
  182. /package/dist/{chains_westend2 → reexports}/chains_westend2.mjs.map +0 -0
  183. /package/dist/{chains_westend2_asset_hub → reexports}/chains_westend2_asset_hub.d.mts +0 -0
  184. /package/dist/{chains_westend2_asset_hub/min → reexports}/chains_westend2_asset_hub.d.ts +0 -0
  185. /package/dist/{chains_westend2_asset_hub → reexports}/chains_westend2_asset_hub.js +0 -0
  186. /package/dist/{chains_westend2_asset_hub → reexports}/chains_westend2_asset_hub.js.map +0 -0
  187. /package/dist/{chains_westend2_asset_hub → reexports}/chains_westend2_asset_hub.mjs +0 -0
  188. /package/dist/{chains_westend2_asset_hub → reexports}/chains_westend2_asset_hub.mjs.map +0 -0
  189. /package/dist/{chains_westend2_bridge_hub → reexports}/chains_westend2_bridge_hub.d.mts +0 -0
  190. /package/dist/{chains_westend2_bridge_hub/min → reexports}/chains_westend2_bridge_hub.d.ts +0 -0
  191. /package/dist/{chains_westend2_bridge_hub → reexports}/chains_westend2_bridge_hub.js +0 -0
  192. /package/dist/{chains_westend2_bridge_hub → reexports}/chains_westend2_bridge_hub.js.map +0 -0
  193. /package/dist/{chains_westend2_bridge_hub → reexports}/chains_westend2_bridge_hub.mjs +0 -0
  194. /package/dist/{chains_westend2_bridge_hub → reexports}/chains_westend2_bridge_hub.mjs.map +0 -0
  195. /package/dist/{chains_westend2_collectives → reexports}/chains_westend2_collectives.d.mts +0 -0
  196. /package/dist/{chains_westend2_collectives/min → reexports}/chains_westend2_collectives.d.ts +0 -0
  197. /package/dist/{chains_westend2_collectives → reexports}/chains_westend2_collectives.js +0 -0
  198. /package/dist/{chains_westend2_collectives → reexports}/chains_westend2_collectives.js.map +0 -0
  199. /package/dist/{chains_westend2_collectives → reexports}/chains_westend2_collectives.mjs +0 -0
  200. /package/dist/{chains_westend2_collectives → reexports}/chains_westend2_collectives.mjs.map +0 -0
  201. /package/dist/{logs-provider → reexports}/logs-provider.d.mts +0 -0
  202. /package/dist/{logs-provider/min → reexports}/logs-provider.d.ts +0 -0
  203. /package/dist/{logs-provider → reexports}/logs-provider.js +0 -0
  204. /package/dist/{logs-provider → reexports}/logs-provider.js.map +0 -0
  205. /package/dist/{logs-provider → reexports}/logs-provider.mjs +0 -0
  206. /package/dist/{logs-provider → reexports}/logs-provider.mjs.map +0 -0
  207. /package/dist/{pjs-signer → reexports}/pjs-signer.d.mts +0 -0
  208. /package/dist/{pjs-signer → reexports}/pjs-signer.d.ts +0 -0
  209. /package/dist/{pjs-signer → reexports}/pjs-signer.js +0 -0
  210. /package/dist/{pjs-signer → reexports}/pjs-signer.js.map +0 -0
  211. /package/dist/{pjs-signer → reexports}/pjs-signer.mjs +0 -0
  212. /package/dist/{pjs-signer → reexports}/pjs-signer.mjs.map +0 -0
  213. /package/dist/{signer → reexports}/signer.d.mts +0 -0
  214. /package/dist/{signer → reexports}/signer.d.ts +0 -0
  215. /package/dist/{signer → reexports}/signer.js +0 -0
  216. /package/dist/{signer → reexports}/signer.js.map +0 -0
  217. /package/dist/{signer → reexports}/signer.mjs +0 -0
  218. /package/dist/{signer → reexports}/signer.mjs.map +0 -0
  219. /package/dist/{sm-provider → reexports}/sm-provider.d.mts +0 -0
  220. /package/dist/{sm-provider → reexports}/sm-provider.d.ts +0 -0
  221. /package/dist/{sm-provider → reexports}/sm-provider.js +0 -0
  222. /package/dist/{sm-provider → reexports}/sm-provider.js.map +0 -0
  223. /package/dist/{sm-provider → reexports}/sm-provider.mjs +0 -0
  224. /package/dist/{sm-provider → reexports}/sm-provider.mjs.map +0 -0
  225. /package/dist/{smoldot → reexports}/smoldot.d.mts +0 -0
  226. /package/dist/{smoldot → reexports}/smoldot.d.ts +0 -0
  227. /package/dist/{smoldot → reexports}/smoldot.js +0 -0
  228. /package/dist/{smoldot → reexports}/smoldot.js.map +0 -0
  229. /package/dist/{smoldot → reexports}/smoldot.mjs +0 -0
  230. /package/dist/{smoldot → reexports}/smoldot.mjs.map +0 -0
  231. /package/dist/{smoldot_from-worker → reexports}/smoldot_from-worker.d.mts +0 -0
  232. /package/dist/{smoldot_from-worker → reexports}/smoldot_from-worker.d.ts +0 -0
  233. /package/dist/{smoldot_from-worker → reexports}/smoldot_from-worker.js +0 -0
  234. /package/dist/{smoldot_from-worker → reexports}/smoldot_from-worker.js.map +0 -0
  235. /package/dist/{smoldot_from-worker → reexports}/smoldot_from-worker.mjs +0 -0
  236. /package/dist/{smoldot_from-worker → reexports}/smoldot_from-worker.mjs.map +0 -0
  237. /package/dist/{smoldot_worker → reexports}/smoldot_worker.d.mts +0 -0
  238. /package/dist/{smoldot_worker → reexports}/smoldot_worker.d.ts +0 -0
  239. /package/dist/{smoldot_worker → reexports}/smoldot_worker.js +0 -0
  240. /package/dist/{smoldot_worker → reexports}/smoldot_worker.js.map +0 -0
  241. /package/dist/{smoldot_worker → reexports}/smoldot_worker.mjs +0 -0
  242. /package/dist/{smoldot_worker → reexports}/smoldot_worker.mjs.map +0 -0
  243. /package/dist/{utils → reexports}/utils.d.mts +0 -0
  244. /package/dist/{utils → reexports}/utils.d.ts +0 -0
  245. /package/dist/{utils → reexports}/utils.js +0 -0
  246. /package/dist/{utils → reexports}/utils.js.map +0 -0
  247. /package/dist/{utils → reexports}/utils.mjs +0 -0
  248. /package/dist/{utils → reexports}/utils.mjs.map +0 -0
  249. /package/dist/{ws-provider_node → reexports}/ws-provider_node.d.mts +0 -0
  250. /package/dist/{ws-provider_node → reexports}/ws-provider_node.d.ts +0 -0
  251. /package/dist/{ws-provider_node → reexports}/ws-provider_node.js +0 -0
  252. /package/dist/{ws-provider_node → reexports}/ws-provider_node.js.map +0 -0
  253. /package/dist/{ws-provider_node → reexports}/ws-provider_node.mjs +0 -0
  254. /package/dist/{ws-provider_node → reexports}/ws-provider_node.mjs.map +0 -0
  255. /package/dist/{ws-provider_web → reexports}/ws-provider_web.d.mts +0 -0
  256. /package/dist/{ws-provider_web → reexports}/ws-provider_web.d.ts +0 -0
  257. /package/dist/{ws-provider_web → reexports}/ws-provider_web.js +0 -0
  258. /package/dist/{ws-provider_web → reexports}/ws-provider_web.js.map +0 -0
  259. /package/dist/{ws-provider_web → reexports}/ws-provider_web.mjs +0 -0
  260. /package/dist/{ws-provider_web → reexports}/ws-provider_web.mjs.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts","../src/constants.ts","../src/runtime.ts","../src/event.ts","../src/utils/shareLatest.ts","../src/utils/firstValueFromWithSignal.ts","../src/utils/concatMapEager.ts","../src/utils/lossLessExhaustMap.ts","../src/runtime-call.ts","../src/storage.ts","../src/tx.ts","../src/get-create-tx.ts","../src/signed-extensions/user/ChargeTransactionPayment.ts","../src/signed-extensions/utils.ts","../src/signed-extensions/user/CheckMortality.ts","../src/signed-extensions/user/ChargeAssetTxPayment.ts","../src/signed-extensions/chain/index.ts","../src/signed-extensions/chain/CheckGenesis.ts","../src/signed-extensions/chain/CheckNonce.ts","../src/signed-extensions/chain/CheckSpecVersion.ts","../src/signed-extensions/chain/CheckTxVersion.ts","../src/re-exports.ts"],"sourcesContent":["import { Descriptors } from \"@polkadot-api/substrate-bindings\"\nimport {\n SubstrateClient,\n createClient as createRawClient,\n} from \"@polkadot-api/substrate-client\"\nimport { Observable, firstValueFrom } from \"rxjs\"\nimport { ConstantEntry, createConstantEntry } from \"./constants\"\nimport { EvClient, createEventEntry } from \"./event\"\nimport { BlockInfo, getObservableClient } from \"@polkadot-api/observable-client\"\nimport { compatibilityHelper, getRuntimeApi } from \"./runtime\"\nimport { RuntimeCall, createRuntimeCallEntry } from \"./runtime-call\"\nimport { createStorageEntry, type StorageEntry } from \"./storage\"\nimport { TxEntry, createTxEntry, getSubmitFns } from \"./tx\"\nimport { HintedSignedExtensions, PolkadotClient, TypedApi } from \"./types\"\nimport { getCreateTx } from \"./get-create-tx\"\nimport { JsonRpcProvider } from \"@polkadot-api/json-rpc-provider\"\nimport type { PolkadotSigner } from \"@polkadot-api/polkadot-signer\"\n\nconst createTypedApi = <D extends Descriptors>(\n descriptors: D,\n createTxFromSigner: (\n signer: PolkadotSigner,\n callData: Uint8Array,\n atBlock: BlockInfo,\n hinted?: HintedSignedExtensions,\n ) => Observable<Uint8Array>,\n chainHead: ReturnType<ReturnType<typeof getObservableClient>[\"chainHead$\"]>,\n submitFns: ReturnType<typeof getSubmitFns>,\n): TypedApi<D> => {\n const runtimeApi = getRuntimeApi(descriptors.checksums, chainHead)\n\n const { pallets, apis: runtimeApis } = descriptors\n const query = {} as Record<string, Record<string, StorageEntry<any, any>>>\n for (const pallet in pallets) {\n query[pallet] ||= {}\n const [stgEntries] = pallets[pallet]\n for (const name in stgEntries) {\n query[pallet][name] = createStorageEntry(\n pallet,\n name,\n chainHead,\n compatibilityHelper(runtimeApi, stgEntries[name]),\n )\n }\n }\n\n const tx = {} as Record<string, Record<string, TxEntry<any, any, any, any>>>\n for (const pallet in pallets) {\n tx[pallet] ||= {}\n const [, txEntries] = pallets[pallet]\n for (const name in txEntries) {\n tx[pallet][name] = createTxEntry(\n pallet,\n name,\n descriptors.asset,\n chainHead,\n submitFns,\n createTxFromSigner,\n compatibilityHelper(runtimeApi, txEntries[name]),\n )\n }\n }\n\n const events = {} as Record<string, Record<string, EvClient<any>>>\n for (const pallet in pallets) {\n events[pallet] ||= {}\n const [, , evEntries] = pallets[pallet]\n for (const name in evEntries) {\n events[pallet][name] = createEventEntry(\n pallet,\n name,\n chainHead,\n compatibilityHelper(runtimeApi, evEntries[name]),\n )\n }\n }\n\n const constants = {} as Record<string, Record<string, ConstantEntry<any>>>\n for (const pallet in pallets) {\n constants[pallet] ||= {}\n const [, , , , ctEntries] = pallets[pallet]\n for (const name in ctEntries) {\n constants[pallet][name] = createConstantEntry(\n pallet,\n name,\n chainHead,\n compatibilityHelper(runtimeApi, ctEntries[name]),\n )\n }\n }\n\n const apis = {} as Record<string, Record<string, RuntimeCall<any, any>>>\n for (const api in runtimeApis) {\n apis[api] ||= {}\n const methods = runtimeApis[api]\n for (const method in methods) {\n apis[api][method] = createRuntimeCallEntry(\n api,\n method,\n chainHead,\n compatibilityHelper(runtimeApi, methods[method]),\n )\n }\n }\n\n return {\n query: query,\n tx: tx,\n event: events,\n apis,\n constants,\n runtime: runtimeApi,\n } as any\n}\n\nexport function createClient(provider: JsonRpcProvider): PolkadotClient {\n const rawClient: SubstrateClient = createRawClient(provider)\n const client = getObservableClient(rawClient)\n const chainHead = client.chainHead$()\n\n const createTxFromSigner = getCreateTx(chainHead)\n const submitFns = getSubmitFns(chainHead, client)\n const { submit, submit$: submitAndWatch } = submitFns\n\n return {\n finalizedBlock$: chainHead.finalized$,\n getFinalizedBlock: () => firstValueFrom(chainHead.finalized$),\n\n bestBlocks$: chainHead.bestBlocks$,\n getBestBlocks: () => firstValueFrom(chainHead.bestBlocks$),\n\n watchBlockBlody: chainHead.body$,\n getBlockBody: (hash: string) => firstValueFrom(chainHead.body$(hash)),\n\n getBlockHeader: (hash?: string) =>\n firstValueFrom(chainHead.header$(hash ?? null)),\n\n submit,\n submitAndWatch,\n\n getTypedApi: <D extends Descriptors>(descriptors: D) =>\n createTypedApi(descriptors, createTxFromSigner, chainHead, submitFns),\n\n destroy: () => {\n chainHead.unfollow()\n client.destroy()\n },\n }\n}\n","import { firstValueFrom, map } from \"rxjs\"\nimport { ChainHead$, RuntimeContext } from \"@polkadot-api/observable-client\"\nimport {\n CompatibilityHelper,\n IsCompatible,\n Runtime,\n getRuntimeContext,\n} from \"./runtime\"\n\nexport interface ConstantEntry<T> {\n (): Promise<T>\n (runtime: Runtime): T\n isCompatible: IsCompatible\n}\n\nexport const createConstantEntry = <T>(\n palletName: string,\n name: string,\n chainHead: ChainHead$,\n compatibilityHelper: CompatibilityHelper,\n): ConstantEntry<T> => {\n const { isCompatible, compatibleRuntime$ } = compatibilityHelper((ctx) =>\n ctx.checksumBuilder.buildConstant(palletName, name),\n )\n const checksumError = () =>\n new Error(`Incompatible runtime entry Constant(${palletName}.${name})`)\n\n const cachedResults = new WeakMap<RuntimeContext, T>()\n const getValueWithContext = (ctx: RuntimeContext) => {\n if (cachedResults.has(ctx)) {\n return cachedResults.get(ctx)!\n }\n\n const pallet = ctx.metadata.pallets.find((p) => p.name === palletName)\n const constant = pallet?.constants.find((c) => c.name === name)!\n const result = ctx.dynamicBuilder\n .buildConstant(palletName, name)\n .dec(constant.value)\n cachedResults.set(ctx, result)\n return result\n }\n\n const fn = (runtime?: Runtime): any => {\n if (runtime) {\n if (!isCompatible(runtime)) throw checksumError()\n return getValueWithContext(getRuntimeContext(runtime))\n }\n return firstValueFrom(\n compatibleRuntime$(chainHead, null, checksumError).pipe(\n map(getValueWithContext),\n ),\n )\n }\n\n return Object.assign(fn, { isCompatible })\n}\n","import { Observable, combineLatest, filter, map } from \"rxjs\"\nimport {\n ChainHead$,\n RuntimeContext,\n getObservableClient,\n} from \"@polkadot-api/observable-client\"\n\nexport class Runtime {\n protected _ctx: unknown\n protected _checksums: string[]\n\n private constructor(ctx: RuntimeContext, checksums: string[]) {\n this._ctx = ctx\n this._checksums = checksums\n }\n}\nexport function getRuntimeContext(runtime: Runtime): RuntimeContext {\n return (runtime as any)._ctx\n}\nfunction getImportedChecksum(runtime: Runtime, idx: number): string {\n return (runtime as any)._checksums[idx]\n}\nconst createRuntime = (ctx: RuntimeContext, checksums: string[]) =>\n new (Runtime as any)(ctx, checksums)\n\nexport type RuntimeApi = Observable<Runtime> & {\n latest: () => Promise<Runtime>\n}\n\nexport const getRuntimeApi = (\n checksums: Promise<string[]>,\n chainHead: ReturnType<ReturnType<typeof getObservableClient>[\"chainHead$\"]>,\n): RuntimeApi => {\n let latestRuntime: Promise<Runtime>\n let resolve: ((r: Runtime) => void) | null = null\n\n latestRuntime = new Promise<Runtime>((res) => {\n resolve = res\n })\n\n const runtimeWithChecksums$ = combineLatest([chainHead.runtime$, checksums])\n runtimeWithChecksums$.subscribe(([x, checksums]) => {\n if (x) {\n if (resolve) {\n resolve(createRuntime(x, checksums))\n resolve = null\n } else {\n latestRuntime = Promise.resolve(createRuntime(x, checksums))\n }\n } else if (!resolve) {\n latestRuntime = new Promise<Runtime>((res) => {\n resolve = res\n })\n }\n })\n\n const result = runtimeWithChecksums$.pipe(\n filter(([x]) => Boolean(x)),\n map(([x, checksums]) => createRuntime(x!, checksums)),\n ) as RuntimeApi\n result.latest = () => latestRuntime\n\n return result\n}\n\nexport interface IsCompatible {\n (): Promise<boolean>\n (runtime: Runtime): boolean\n}\n\nexport const compatibilityHelper =\n (runtimeApi: RuntimeApi, checksumIdx: number) =>\n (getChecksum: (ctx: RuntimeContext) => string | null) => {\n function isCompatibleSync(runtime: Runtime) {\n const ctx = getRuntimeContext(runtime)\n const checksum = getImportedChecksum(runtime, checksumIdx)\n return getChecksum(ctx) === checksum\n }\n\n const isCompatible: IsCompatible = (runtime?: Runtime): any => {\n if (runtime) {\n return isCompatibleSync(runtime)\n }\n\n return runtimeApi.latest().then(isCompatibleSync)\n }\n const waitChecksums = async () => {\n const runtime = await runtimeApi.latest()\n return (ctx: RuntimeContext) =>\n getChecksum(ctx) === getImportedChecksum(runtime, checksumIdx)\n }\n const compatibleRuntime$ = (\n chainHead: ChainHead$,\n hash: string | null,\n error: () => Error,\n ) =>\n combineLatest([chainHead.getRuntimeContext$(hash), waitChecksums()]).pipe(\n map(([ctx, isCompatible]) => {\n if (!isCompatible(ctx)) {\n throw error()\n }\n return ctx\n }),\n )\n\n const withCompatibleRuntime =\n <T>(\n chainHead: ChainHead$,\n mapper: (x: T) => string,\n error: () => Error,\n ) =>\n (source$: Observable<T>): Observable<[T, RuntimeContext]> =>\n combineLatest([\n source$.pipe(chainHead.withRuntime(mapper)),\n waitChecksums(),\n ]).pipe(\n map(([[x, ctx], isCompatible]) => {\n if (!isCompatible(ctx)) {\n throw error()\n }\n return [x, ctx]\n }),\n )\n\n return {\n isCompatible,\n waitChecksums,\n withCompatibleRuntime,\n compatibleRuntime$,\n }\n }\nexport type CompatibilityHelper = ReturnType<typeof compatibilityHelper>\n","import { Observable, firstValueFrom, map, mergeMap } from \"rxjs\"\nimport { BlockInfo, ChainHead$ } from \"@polkadot-api/observable-client\"\nimport { CompatibilityHelper, IsCompatible } from \"./runtime\"\nimport { concatMapEager, shareLatest } from \"./utils\"\n\nexport type EventPhase =\n | { type: \"ApplyExtrinsic\"; value: number }\n | { type: \"Finalization\" }\n | { type: \"Initialization\" }\n\nexport type EvWatch<T> = (filter?: (value: T) => boolean) => Observable<{\n meta: {\n block: BlockInfo\n phase: EventPhase\n }\n payload: T\n}>\n\nexport type EvPull<T> = () => Promise<\n Array<{\n meta: {\n block: BlockInfo\n phase: EventPhase\n }\n payload: T\n }>\n>\n\nexport type EvFilter<T> = (collection: SystemEvent[\"event\"][]) => Array<T>\n\nexport type EvClient<T> = {\n watch: EvWatch<T>\n pull: EvPull<T>\n filter: EvFilter<T>\n isCompatible: IsCompatible\n}\n\ntype SystemEvent = {\n phase: EventPhase\n event: {\n type: string\n value: {\n type: string\n value: any\n }\n }\n topics: Array<any>\n}\n\nexport const createEventEntry = <T>(\n pallet: string,\n name: string,\n chainHead: ChainHead$,\n compatibilityHelper: CompatibilityHelper,\n): EvClient<T> => {\n const { isCompatible, withCompatibleRuntime } = compatibilityHelper((ctx) =>\n ctx.checksumBuilder.buildEvent(pallet, name),\n )\n const checksumError = () =>\n new Error(`Incompatible runtime entry Event(${pallet}.${name})`)\n\n const shared$ = chainHead.finalized$.pipe(\n withCompatibleRuntime(chainHead, (x) => x.hash, checksumError),\n concatMapEager(([block]) =>\n chainHead.eventsAt$(block.hash).pipe(\n map((events) => {\n const winners = events.filter(\n (e) => e.event.type === pallet && e.event.value.type === name,\n )\n return winners.map((x) => {\n return {\n meta: {\n phase: x.phase,\n block,\n },\n payload: x.event.value.value,\n }\n })\n }),\n ),\n ),\n shareLatest,\n )\n\n const watch: EvWatch<T> = (f) =>\n shared$.pipe(mergeMap((x) => (f ? x.filter((d) => f(d.payload)) : x)))\n\n const pull: EvPull<T> = () => firstValueFrom(shared$)\n\n const filter: EvFilter<T> = (events) =>\n events\n .filter((e) => e.type === pallet && e.value.type === name)\n .map((x) => x.value.value)\n\n return { watch, pull, filter, isCompatible }\n}\n","import { Observable, ReplaySubject, share } from \"rxjs\"\n\nexport const shareLatest: <T>(base: Observable<T>) => Observable<T> = share({\n connector: () => new ReplaySubject(1),\n resetOnError: true,\n resetOnComplete: true,\n resetOnRefCountZero: true,\n})\n","import { AbortError } from \"@polkadot-api/utils\"\nimport { Observable, Subscription, noop } from \"rxjs\"\n\nexport function firstValueFromWithSignal<T>(\n source: Observable<T>,\n signal?: AbortSignal,\n): Promise<T> {\n return new Promise((resolve, reject) => {\n let subscription: Subscription | null = null\n let isDone = false\n\n const onAbort = signal\n ? () => {\n subscription?.unsubscribe()\n reject(new AbortError())\n }\n : noop\n\n subscription = source.subscribe({\n next: (value) => {\n resolve(value)\n subscription?.unsubscribe()\n isDone = true\n },\n error: (e) => {\n signal?.removeEventListener(\"abort\", onAbort)\n reject(e)\n },\n complete: () => {\n signal?.removeEventListener(\"abort\", onAbort)\n reject(new Error(\"Observable completed without emitting\"))\n },\n })\n\n // the observable could have emitted synchronously\n if (!isDone) signal?.addEventListener(\"abort\", onAbort)\n })\n}\n","import { defer, Observable, ObservableInput, Subscription } from \"rxjs\"\n\nexport const concatMapEager =\n <I, O>(\n mapper: (outterValue: I, index: number) => ObservableInput<O>,\n concurrent = Infinity,\n ) =>\n (source$: Observable<I>) =>\n new Observable<O>((observer) => {\n let topSubscription: Subscription\n const queues = new Map<number, Observable<O>>()\n const innerSubscriptions = new Map<number, Subscription>()\n const results = new Map<number, O[]>()\n\n let mapperIdx = 0\n let subscriptionIdx = 0\n let observerIdx = 0\n\n const nextSubscription = () => {\n const inner$ = queues.get(subscriptionIdx)\n if (!inner$) {\n if (\n innerSubscriptions.size === 0 &&\n (typeof topSubscription === \"undefined\" || topSubscription.closed)\n ) {\n observer.complete()\n }\n return\n }\n const idx = subscriptionIdx++\n queues.delete(idx)\n if (observerIdx !== idx) {\n results.set(idx, [])\n }\n innerSubscriptions.set(\n idx,\n inner$.subscribe({\n next(x: O) {\n if (observerIdx === idx) {\n observer.next(x)\n } else {\n results.get(idx)!.push(x)\n }\n },\n complete() {\n innerSubscriptions.delete(idx)\n if (idx === observerIdx) {\n observerIdx++\n while (results.has(observerIdx)) {\n results.get(observerIdx)!.forEach((x) => observer.next(x))\n results.delete(observerIdx)\n if (innerSubscriptions.has(observerIdx)) {\n break\n }\n observerIdx++\n }\n }\n nextSubscription()\n },\n error(e: any) {\n observer.error(e)\n },\n }),\n )\n }\n\n topSubscription = source$.subscribe({\n next(outterValue: I) {\n const idx = mapperIdx++\n queues.set(\n idx,\n defer(() => mapper(outterValue, idx)),\n )\n if (innerSubscriptions.size < concurrent) {\n nextSubscription()\n }\n },\n error(e: any) {\n observer.error(e)\n },\n complete() {\n if (innerSubscriptions.size === 0) {\n observer.complete()\n }\n },\n })\n\n return () => {\n innerSubscriptions.forEach((subscription) => subscription.unsubscribe())\n topSubscription.unsubscribe()\n queues.clear()\n results.clear()\n }\n })\n","import { Observable, Subscription } from \"rxjs\"\n\nconst EMPTY_VALUE = Symbol(\"EMPTY_VALUE\")\ntype EMPTY_VALUE = typeof EMPTY_VALUE\n\nexport const lossLessExhaustMap =\n <I, O>(mapper: (x: I) => Observable<O>) =>\n (source$: Observable<I>): Observable<O> =>\n new Observable((observer) => {\n let innerSubscription: Subscription | null = null\n let queuedValue: I | EMPTY_VALUE = EMPTY_VALUE\n let isOutterDone = false\n\n const setInnerSubscription = () => {\n const observable = mapper(queuedValue as I)\n queuedValue = EMPTY_VALUE\n innerSubscription = observable.subscribe({\n next(vv) {\n observer.next(vv)\n },\n error(ee) {\n observer.error(ee)\n },\n complete() {\n if (queuedValue !== EMPTY_VALUE) setInnerSubscription()\n else {\n innerSubscription = null\n if (isOutterDone) observer.complete()\n }\n },\n })\n }\n\n const subscription = source$.subscribe({\n next(v) {\n queuedValue = v\n if (!innerSubscription) setInnerSubscription()\n },\n error(e) {\n observer.error(e)\n },\n complete() {\n if (!innerSubscription) observer.complete()\n isOutterDone = true\n },\n })\n\n return () => {\n innerSubscription?.unsubscribe()\n subscription.unsubscribe()\n }\n })\n","import { firstValueFromWithSignal } from \"@/utils\"\nimport { toHex } from \"@polkadot-api/utils\"\nimport { map, mergeMap } from \"rxjs\"\nimport { ChainHead$ } from \"@polkadot-api/observable-client\"\nimport { CompatibilityHelper, IsCompatible } from \"./runtime\"\n\ntype CallOptions = Partial<{\n at: string\n signal: AbortSignal\n}>\n\ntype WithCallOptions<Args extends Array<any>> = Args[\"length\"] extends 0\n ? [options?: CallOptions]\n : [...args: Args, options?: CallOptions]\n\nexport interface RuntimeCall<Args extends Array<any>, Payload> {\n (...args: WithCallOptions<Args>): Promise<Payload>\n isCompatible: IsCompatible\n}\n\nconst isOptionalArg = (lastArg: any) => {\n if (typeof lastArg !== \"object\") return false\n\n return Object.keys(lastArg).every(\n (k) =>\n (k === \"at\" && typeof lastArg.at === \"string\") ||\n (k === \"signal\" && lastArg.signal instanceof AbortSignal),\n )\n}\n\nexport const createRuntimeCallEntry = (\n api: string,\n method: string,\n chainHead: ChainHead$,\n compatibilityHelper: CompatibilityHelper,\n): RuntimeCall<any, any> => {\n const { isCompatible, compatibleRuntime$ } = compatibilityHelper((ctx) =>\n ctx.checksumBuilder.buildRuntimeCall(api, method),\n )\n const callName = `${api}_${method}`\n const checksumError = () =>\n new Error(`Incompatible runtime entry RuntimeCall(${callName})`)\n\n const fn = (...args: Array<any>) => {\n const lastArg = args[args.length - 1]\n const isLastArgOptional = isOptionalArg(lastArg)\n const { signal, at: _at }: CallOptions = isLastArgOptional ? lastArg : {}\n const at = _at ?? null\n\n const result$ = compatibleRuntime$(chainHead, at, checksumError).pipe(\n mergeMap((ctx) => {\n const codecs = ctx.dynamicBuilder.buildRuntimeCall(api, method)\n return chainHead\n .call$(at, callName, toHex(codecs.args.enc(args)))\n .pipe(map(codecs.value.dec))\n }),\n )\n\n return firstValueFromWithSignal(result$, signal)\n }\n\n return Object.assign(fn, { isCompatible })\n}\n","import { firstValueFromWithSignal, lossLessExhaustMap } from \"@/utils\"\nimport { StorageItemInput, StorageResult } from \"@polkadot-api/substrate-client\"\nimport { Observable, debounceTime, distinctUntilChanged, map } from \"rxjs\"\nimport { ChainHead$ } from \"@polkadot-api/observable-client\"\nimport { CompatibilityHelper, IsCompatible } from \"./runtime\"\n\ntype CallOptions = Partial<{\n at: string\n signal: AbortSignal\n}>\n\ntype WithCallOptions<Args extends Array<any>> = [\n ...args: Args,\n options?: CallOptions,\n]\n\ntype PossibleParents<A extends Array<any>> = A extends [...infer Left, any]\n ? Left | PossibleParents<Left>\n : []\n\ntype StorageEntryWithoutKeys<Payload> = {\n isCompatible: IsCompatible\n getValue: (options?: CallOptions) => Promise<Payload>\n watchValue: (bestOrFinalized?: \"best\" | \"finalized\") => Observable<Payload>\n}\n\ntype StorageEntryWithKeys<Args extends Array<any>, Payload> = {\n isCompatible: IsCompatible\n getValue: (...args: [...WithCallOptions<Args>]) => Promise<Payload>\n watchValue: (\n ...args: [...Args, bestOrFinalized?: \"best\" | \"finalized\"]\n ) => Observable<Payload>\n getValues: (\n keys: Array<[...Args]>,\n options?: CallOptions,\n ) => Promise<Array<Payload>>\n getEntries: (\n ...args: WithCallOptions<PossibleParents<Args>>\n ) => Promise<Array<{ keyArgs: Args; value: NonNullable<Payload> }>>\n}\n\nexport type StorageEntry<Args extends Array<any>, Payload> = Args extends []\n ? StorageEntryWithoutKeys<Payload>\n : StorageEntryWithKeys<Args, Payload>\n\nexport type Storage$ = <Type extends StorageItemInput[\"type\"]>(\n hash: string | null,\n type: Type,\n key: string,\n childTrie: string | null,\n) => Observable<StorageResult<Type>>\n\nconst isOptionalArg = (lastArg: any) => {\n if (typeof lastArg !== \"object\") return false\n\n return Object.keys(lastArg).every(\n (k) =>\n (k === \"at\" && typeof lastArg.at === \"string\") ||\n (k === \"signal\" && lastArg.signal instanceof AbortSignal),\n )\n}\n\nexport const createStorageEntry = (\n pallet: string,\n name: string,\n chainHead: ChainHead$,\n compatibilityHelper: CompatibilityHelper,\n): StorageEntry<any, any> => {\n const { isCompatible, waitChecksums, withCompatibleRuntime } =\n compatibilityHelper((ctx) => ctx.checksumBuilder.buildStorage(pallet, name))\n\n const checksumError = () =>\n new Error(`Incompatible runtime entry Storage(${pallet}.${name})`)\n const invalidArgs = (args: Array<any>) =>\n new Error(`Invalid Arguments calling ${pallet}.${name}(${args})`)\n\n const watchValue = (...args: Array<any>) => {\n const lastArg = args[args.length - 1]\n const actualArgs =\n lastArg === \"best\" || lastArg === \"finalized\" ? args.slice(0, -1) : args\n\n return chainHead[lastArg === \"best\" ? \"best$\" : \"finalized$\"].pipe(\n debounceTime(0),\n withCompatibleRuntime(chainHead, (x) => x.hash, checksumError),\n lossLessExhaustMap(([block, ctx]) => {\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n return chainHead\n .storage$(block.hash, \"value\", () => codecs.enc(...actualArgs))\n .pipe(map((val) => ({ val, codecs })))\n }),\n distinctUntilChanged((a, b) => a.val === b.val),\n map(({ val, codecs }) =>\n val === null ? codecs.fallback : codecs.dec(val),\n ),\n )\n }\n\n const getValue = async (...args: Array<any>) => {\n const lastArg = args[args.length - 1]\n const isLastArgOptional = isOptionalArg(lastArg)\n const { signal, at: _at }: CallOptions = isLastArgOptional ? lastArg : {}\n const at = _at ?? null\n\n const isCompatible = await waitChecksums()\n const result$ = chainHead.storage$(\n at,\n \"value\",\n (ctx) => {\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n const actualArgs = args.length === codecs.len ? args : args.slice(0, -1)\n if (args !== actualArgs && !isLastArgOptional) throw invalidArgs(args)\n if (!isCompatible(ctx)) throw checksumError()\n return codecs.enc(...actualArgs)\n },\n null,\n (data, ctx) => {\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n return data === null ? codecs.fallback : codecs.dec(data)\n },\n )\n return firstValueFromWithSignal(result$, signal)\n }\n\n const getEntries = async (...args: Array<any>) => {\n const lastArg = args[args.length - 1]\n const isLastArgOptional = isOptionalArg(lastArg)\n const { signal, at: _at }: CallOptions = isLastArgOptional ? lastArg : {}\n const at = _at ?? null\n\n const isCompatible = await waitChecksums()\n const result$ = chainHead.storage$(\n at,\n \"descendantsValues\",\n (ctx) => {\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n if (args.length > codecs.len) throw invalidArgs(args)\n const actualArgs =\n args.length > 0 && isLastArgOptional ? args.slice(0, -1) : args\n if (args.length === codecs.len && actualArgs === args)\n throw invalidArgs(args)\n if (!isCompatible(ctx)) throw checksumError()\n return codecs.enc(...actualArgs)\n },\n null,\n (values, ctx) => {\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n return values.map(({ key, value }) => ({\n keyArgs: codecs.keyDecoder(key),\n value: codecs.dec(value),\n }))\n },\n )\n return firstValueFromWithSignal(result$, signal)\n }\n\n const getValues = (keyArgs: Array<Array<any>>, options?: CallOptions) =>\n Promise.all(\n keyArgs.map((args) => getValue(...(options ? [...args, options] : args))),\n )\n\n return { isCompatible, getValue, getValues, getEntries, watchValue }\n}\n","import {\n AssetDescriptor,\n Binary,\n Enum,\n HexString,\n Option,\n Tuple,\n compact,\n u128,\n u32,\n} from \"@polkadot-api/substrate-bindings\"\nimport { mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport {\n Observable,\n concat,\n firstValueFrom,\n lastValueFrom,\n map,\n mergeMap,\n of,\n startWith,\n take,\n withLatestFrom,\n} from \"rxjs\"\nimport {\n BlockInfo,\n RuntimeContext,\n SystemEvent,\n getObservableClient,\n} from \"@polkadot-api/observable-client\"\nimport { TrackedTx } from \"@polkadot-api/observable-client\"\nimport {\n CompatibilityHelper,\n IsCompatible,\n Runtime,\n getRuntimeContext,\n} from \"./runtime\"\nimport { PolkadotSigner } from \"../../signers/polkadot-signer/dist/index.mjs\"\n\nexport type TxBroadcastEvent =\n | { type: \"broadcasted\" }\n | { type: \"bestChainBlockIncluded\"; block: { hash: string; index: number } }\n | ({\n type: \"finalized\"\n } & TxFinalizedPayload)\nexport type TxEvent = TxBroadcastEvent | { type: \"signed\"; tx: HexString }\n\nexport type TxFinalizedPayload = {\n ok: boolean\n events: Array<SystemEvent[\"event\"]>\n block: { hash: string; index: number }\n}\n\nconst getTxSuccessFromSystemEvents = (\n systemEvents: Array<SystemEvent>,\n txIdx: number,\n): Omit<TxFinalizedPayload, \"block\"> => {\n const events = systemEvents\n .filter((x) => x.phase.type === \"ApplyExtrinsic\" && x.phase.value === txIdx)\n .map((x) => x.event)\n\n const lastEvent = events[events.length - 1]\n const ok =\n lastEvent.type === \"System\" && lastEvent.value.type === \"ExtrinsicSuccess\"\n\n return { ok, events }\n}\n\ntype TxFunction<Asset> = (\n from: PolkadotSigner,\n hintedSignExtensions?: Partial<\n void extends Asset\n ? {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n }\n : {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n asset: Asset\n }\n >,\n) => Promise<TxFinalizedPayload>\n\ntype TxObservable<Asset> = (\n from: PolkadotSigner,\n hintedSignExtensions?: Partial<\n void extends Asset\n ? {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n }\n : {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n asset: Asset\n }\n >,\n) => Observable<TxEvent>\n\ninterface TxCall {\n (): Promise<Binary>\n (runtime: Runtime): Binary\n}\n\ntype TxSigned<Asset> = (\n from: PolkadotSigner,\n hintedSignExtensions?: Partial<\n void extends Asset\n ? {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n }\n : {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n asset: Asset\n }\n >,\n) => Promise<string>\n\nexport type Transaction<\n Arg extends {} | undefined,\n Pallet extends string,\n Name extends string,\n Asset,\n> = {\n sign: TxSigned<Asset>\n signSubmitAndWatch: TxObservable<Asset>\n signAndSubmit: TxFunction<Asset>\n getEncodedData: TxCall\n getEstimatedFees: () => Promise<bigint>\n decodedCall: Enum<{\n type: Pallet\n value: Enum<{\n type: Name\n value: Arg\n }>\n }>\n}\n\nexport interface TxEntry<\n Arg extends {} | undefined,\n Pallet extends string,\n Name extends string,\n Asset,\n> {\n (\n ...args: Arg extends undefined ? [] : [data: Arg]\n ): Transaction<Arg, Pallet, Name, Asset>\n isCompatible: IsCompatible\n}\n\nexport const getSubmitFns = (\n chainHead: ReturnType<ReturnType<typeof getObservableClient>[\"chainHead$\"]>,\n client: ReturnType<typeof getObservableClient>,\n) => {\n const tx$ = (tx: string) =>\n concat(\n chainHead.finalized$.pipe(\n take(1),\n mergeMap((finalized) => chainHead.validateTx$(tx, finalized.hash)),\n map((isValid) => {\n if (!isValid) throw new Error(\"Invalid\")\n return { type: \"broadcasted\" as \"broadcasted\" }\n }),\n ),\n new Observable<TrackedTx>((observer) => {\n const subscription = chainHead.trackTx$(tx).subscribe(observer)\n subscription.add(\n client.broadcastTx$(tx).subscribe({\n error(e) {\n observer.error(e)\n },\n }),\n )\n return subscription\n }),\n )\n\n const submit$ = (transaction: HexString): Observable<TxBroadcastEvent> =>\n tx$(transaction).pipe(\n mergeMap((result) => {\n return result.type !== \"finalized\"\n ? of(result)\n : chainHead.eventsAt$(result.block.hash).pipe(\n map((events) => ({\n ...result,\n ...getTxSuccessFromSystemEvents(\n events,\n Number(result.block.index),\n ),\n })),\n )\n }),\n )\n\n const submit = async (\n transaction: HexString,\n ): Promise<{\n ok: boolean\n events: Array<SystemEvent[\"event\"]>\n block: { hash: string; index: number }\n }> =>\n lastValueFrom(submit$(transaction)).then((x) => {\n if (x.type !== \"finalized\") throw null\n const result: {\n ok: boolean\n events: Array<SystemEvent[\"event\"]>\n block: { hash: string; index: number }\n type?: any\n } = { ...x }\n delete result.type\n return result\n })\n\n return { submit$, submit }\n}\n\nconst feeDetailsDec = Option(Tuple(u128, u128, u128)).dec\n\nexport const createTxEntry = <\n Arg extends {} | undefined,\n Pallet extends string,\n Name extends string,\n Asset extends AssetDescriptor<any>,\n>(\n pallet: Pallet,\n name: Name,\n assetChecksum: Asset,\n chainHead: ReturnType<ReturnType<typeof getObservableClient>[\"chainHead$\"]>,\n submits: ReturnType<typeof getSubmitFns>,\n signer: (\n from: PolkadotSigner,\n callData: Uint8Array,\n atBlock: BlockInfo,\n hinted?: Partial<{}>,\n ) => Observable<Uint8Array>,\n compatibilityHelper: CompatibilityHelper,\n): TxEntry<Arg, Pallet, Name, Asset[\"_type\"]> => {\n const { isCompatible, compatibleRuntime$ } = compatibilityHelper((ctx) =>\n ctx.checksumBuilder.buildCall(pallet, name),\n )\n const checksumError = () =>\n new Error(`Incompatible runtime entry Tx(${pallet}.${name})`)\n\n const fn = (arg?: Arg): any => {\n const getCallDataWithContext = (\n { dynamicBuilder, asset: [assetEnc, assetCheck] }: RuntimeContext,\n arg: any,\n hinted: Partial<{ asset: any }> = {},\n ) => {\n let returnHinted = hinted\n if (hinted.asset) {\n if (assetChecksum !== assetCheck)\n throw new Error(`Incompatible runtime asset`)\n returnHinted = { ...hinted, asset: assetEnc(hinted.asset) }\n }\n\n const { location, codec } = dynamicBuilder.buildCall(pallet, name)\n return {\n callData: Binary.fromBytes(\n mergeUint8(new Uint8Array(location), codec.enc(arg)),\n ),\n hinted: returnHinted,\n }\n }\n\n const getCallData$ = (arg: any, hinted: Partial<{ asset: any }> = {}) =>\n compatibleRuntime$(chainHead, null, checksumError).pipe(\n map((ctx) => getCallDataWithContext(ctx, arg, hinted)),\n )\n\n const getEncodedData: TxCall = (runtime?: Runtime): any => {\n if (runtime) {\n if (!isCompatible(runtime)) {\n throw checksumError()\n }\n return getCallDataWithContext(getRuntimeContext(runtime), arg).callData\n }\n return firstValueFrom(getCallData$(arg).pipe(map((x) => x.callData)))\n }\n\n const sign$ = (from: PolkadotSigner, _hinted: any) =>\n getCallData$(arg, _hinted).pipe(\n withLatestFrom(chainHead.finalized$),\n take(1),\n mergeMap(([{ callData, hinted }, finalized]) =>\n signer(from, callData.asBytes(), finalized, hinted),\n ),\n )\n\n const sign: TxSigned<Asset> = (from, _hinted) =>\n firstValueFrom(sign$(from, _hinted)).then(toHex)\n\n const signAndSubmit: TxFunction<Asset> = (from, _hinted) =>\n sign(from, _hinted).then(submits.submit)\n\n const signSubmitAndWatch: TxObservable<Asset> = (from, _hinted) =>\n sign$(from, _hinted).pipe(\n mergeMap((result) => {\n const tx = toHex(result)\n return submits\n .submit$(tx)\n .pipe(startWith({ type: \"signed\" as const, tx }))\n }),\n )\n\n const getEstimatedFees = async () => {\n const encoded = (await getEncodedData()).asBytes()\n const preLen = encoded.length + 103 // TODO: `103` accounts for the extra aprox length that it's added into the extrinsic once it's signed. In the future we should improve this.\n const len = preLen + compact.enc(preLen).length\n const args = toHex(mergeUint8(encoded, u32.enc(len)))\n\n return firstValueFrom(\n chainHead\n .call$(null, \"TransactionPaymentCallApi_query_call_fee_details\", args)\n .pipe(\n map((x) => {\n const result = feeDetailsDec(x)\n if (!result) throw new Error(\"Unable to calculate tx fees\")\n return result.reduce((a, b) => a + b)\n }),\n ),\n )\n }\n\n return {\n getEstimatedFees,\n decodedCall: Enum(pallet, Enum(name, arg as any)) as Enum<{\n type: Pallet\n value: any\n }>,\n getEncodedData,\n sign,\n signSubmitAndWatch,\n signAndSubmit,\n }\n }\n\n return Object.assign(fn, { isCompatible })\n}\n","import { Observable, combineLatest, mergeMap, of, take } from \"rxjs\"\nimport { BlockInfo, ChainHead$ } from \"@polkadot-api/observable-client\"\nimport { HintedSignedExtensions } from \"./types\"\nimport {\n ChargeAssetTxPayment,\n ChargeTransactionPayment,\n CheckMortality,\n} from \"./signed-extensions/user\"\nimport * as chainSignedExtensions from \"./signed-extensions/chain\"\nimport type { PolkadotSigner } from \"@polkadot-api/polkadot-signer\"\nimport { _void } from \"@polkadot-api/substrate-bindings\"\nimport { empty } from \"./signed-extensions/utils\"\n\nexport const getCreateTx = (\n chainHead: ChainHead$,\n): ((\n signer: PolkadotSigner,\n callData: Uint8Array,\n atBlock: BlockInfo,\n hinted?: HintedSignedExtensions,\n) => Observable<Uint8Array>) => {\n return (signer, callData, atBlock, hinted) => {\n return chainHead.getRuntimeContext$(atBlock.hash).pipe(\n take(1),\n mergeMap((ctx) => {\n const signedExtensionsCtx = {\n metadata: ctx.metadata,\n chainHead: chainHead,\n callData: callData,\n at: atBlock.hash,\n from: signer.publicKey,\n }\n\n const mortality = hinted?.mortality?.mortal\n ? { period: hinted.mortality.period, blockNumber: atBlock.number }\n : undefined\n\n return combineLatest(\n ctx.metadata.extrinsic.signedExtensions.map(\n ({ identifier, type, additionalSigned }) => {\n if (identifier === \"CheckMortality\")\n return CheckMortality(mortality, signedExtensionsCtx)\n\n if (identifier === \"ChargeTransactionPayment\")\n return ChargeTransactionPayment(hinted?.tip ?? 0n)\n\n if (identifier === \"ChargeAssetTxPayment\")\n return ChargeAssetTxPayment(hinted?.tip ?? 0n, hinted?.asset)\n\n const fn = chainSignedExtensions[identifier as \"CheckGenesis\"]\n if (!fn) {\n if (\n ctx.dynamicBuilder.buildDefinition(type) === _void &&\n ctx.dynamicBuilder.buildDefinition(additionalSigned) === _void\n )\n return of({\n value: empty,\n additionalSigned: empty,\n })\n\n throw new Error(`Unsupported signed-extension: ${identifier}`)\n }\n return fn(signedExtensionsCtx)\n },\n ),\n ).pipe(\n mergeMap((signedExtensions) =>\n signer.sign(\n callData,\n Object.fromEntries(\n ctx.metadata.extrinsic.signedExtensions.map(\n ({ identifier }, idx) => [\n identifier,\n { identifier, ...signedExtensions[idx] },\n ],\n ),\n ),\n ctx.metadataRaw,\n atBlock.number,\n ),\n ),\n )\n }),\n )\n }\n}\n","import { compactBn } from \"@polkadot-api/substrate-bindings\"\nimport { of } from \"rxjs\"\nimport { empty } from \"../utils\"\nimport { SignedExtension } from \"../internal-types\"\n\nexport const ChargeTransactionPayment = (tip: bigint): SignedExtension =>\n of({\n value: compactBn.enc(tip),\n additionalSigned: empty,\n })\n","import { map, noop, of } from \"rxjs\"\nimport {\n V15,\n Storage,\n Twox64Concat,\n u32,\n} from \"@polkadot-api/substrate-bindings\"\nimport { getDynamicBuilder, getLookupFn } from \"@polkadot-api/metadata-builders\"\nimport { fromHex } from \"@polkadot-api/utils\"\nimport type { ChainExtensionCtx } from \"./internal-types\"\n\nexport const empty = new Uint8Array()\n\nconst genesisHashStorageKey = Storage(\"System\")(\"BlockHash\", noop, [\n u32,\n Twox64Concat,\n]).enc(0)\n\nexport const genesisHashFromCtx = (ctx: ChainExtensionCtx) =>\n ctx.chainHead\n .storage$(ctx.at, \"value\", () => genesisHashStorageKey, null)\n .pipe(map((result) => fromHex(result!)))\n\nexport const systemVersionProp$ = (propName: string, metadata: V15) => {\n const lookupFn = getLookupFn(metadata.lookup)\n const dynamicBuilder = getDynamicBuilder(metadata)\n\n const constant = metadata.pallets\n .find((x) => x.name === \"System\")!\n .constants!.find((s) => s.name === \"Version\")!\n\n const systemVersion = lookupFn(constant.type)\n const systemVersionDec = dynamicBuilder.buildDefinition(constant.type).dec\n\n if (systemVersion.type !== \"struct\") throw new Error(\"not a struct\")\n\n const valueEnc = dynamicBuilder.buildDefinition(\n systemVersion.value[propName].id,\n ).enc\n\n return of(valueEnc(systemVersionDec(constant.value)[propName]))\n}\n","import { map, of } from \"rxjs\"\nimport { Bytes, enhanceEncoder, u16 } from \"@polkadot-api/substrate-bindings\"\nimport { fromHex } from \"@polkadot-api/utils\"\nimport { genesisHashFromCtx } from \"../utils\"\nimport { ChainExtensionCtx, SignedExtension } from \"../internal-types\"\n\nfunction trailingZeroes(n: number) {\n let i = 0\n while (!(n & 1)) {\n i++\n n >>= 1\n }\n return i\n}\n\nconst mortal = enhanceEncoder(\n Bytes(2).enc,\n (value: { period: number; phase: number }) => {\n const factor = Math.max(value.period >> 12, 1)\n const left = Math.min(Math.max(trailingZeroes(value.period) - 1, 1), 15)\n const right = (value.phase / factor) << 4\n return u16.enc(left | right)\n },\n)\n\nconst zero = new Uint8Array([0])\nexport const CheckMortality = (\n input: { period: number; blockNumber: number } | undefined,\n ctx: ChainExtensionCtx,\n): SignedExtension => {\n if (!input)\n return genesisHashFromCtx(ctx).pipe(\n map((additionalSigned) => ({\n additionalSigned,\n value: zero,\n })),\n )\n\n const { period, blockNumber } = input\n return of({\n additionalSigned: fromHex(ctx.at),\n value: mortal({\n period,\n phase: blockNumber % period,\n }),\n })\n}\n","import { of } from \"rxjs\"\nimport {\n Bytes,\n Option,\n Struct,\n compact,\n} from \"@polkadot-api/substrate-bindings\"\nimport { empty } from \"../utils\"\nimport { SignedExtension } from \"../internal-types\"\n\nconst encoder = Struct({\n tip: compact,\n asset: Option(Bytes(Infinity)),\n}).enc\n\nexport const ChargeAssetTxPayment = (\n tip: number | bigint,\n asset: Uint8Array | undefined,\n): SignedExtension =>\n of({\n value: encoder({\n tip,\n asset,\n }),\n additionalSigned: empty,\n })\n","export * from \"./CheckGenesis\"\nexport * from \"./CheckNonce\"\nexport * from \"./CheckSpecVersion\"\nexport * from \"./CheckTxVersion\"\n","import { map } from \"rxjs\"\nimport type { GetChainSignedExtension } from \"../internal-types\"\nimport { empty, genesisHashFromCtx } from \"../utils\"\n\nexport const CheckGenesis: GetChainSignedExtension = (ctx) =>\n genesisHashFromCtx(ctx).pipe(\n map((additionalSigned) => ({ value: empty, additionalSigned })),\n )\n","import { map } from \"rxjs\"\nimport { compact, u16, u32, u64, u8 } from \"@polkadot-api/substrate-bindings\"\nimport type { GetChainSignedExtension } from \"../internal-types\"\nimport { empty } from \"../utils\"\nimport { fromHex, toHex } from \"@polkadot-api/utils\"\n\nconst lenToDecoder = {\n 1: u8.dec,\n 2: u16.dec,\n 4: u32.dec,\n 8: u64.dec,\n}\n\nexport const CheckNonce: GetChainSignedExtension = (ctx) =>\n ctx.chainHead\n .call$(ctx.at, \"AccountNonceApi_account_nonce\", toHex(ctx.from))\n .pipe(\n map((result) => {\n const bytes = fromHex(result)\n const decoder = lenToDecoder[bytes.length as 2 | 4 | 8]\n if (!decoder)\n throw new Error(\"AccountNonceApi_account_nonce retrieved wrong data\")\n return compact.enc(decoder(bytes))\n }),\n map((value) => ({ value, additionalSigned: empty })),\n )\n","import { map } from \"rxjs\"\nimport type { GetChainSignedExtension } from \"../internal-types\"\nimport { empty, systemVersionProp$ } from \"../utils\"\n\nexport const CheckSpecVersion: GetChainSignedExtension = ({ metadata }) =>\n systemVersionProp$(\"spec_version\", metadata).pipe(\n map((additionalSigned) => ({ additionalSigned, value: empty })),\n )\n","import { map } from \"rxjs\"\nimport type { GetChainSignedExtension } from \"../internal-types\"\nimport { empty, systemVersionProp$ } from \"../utils\"\n\nexport const CheckTxVersion: GetChainSignedExtension = ({ metadata }) =>\n systemVersionProp$(\"transaction_version\", metadata).pipe(\n map((additionalSigned) => ({ additionalSigned, value: empty })),\n )\n","export type {\n Codec,\n SS58String,\n HexString,\n GetEnum,\n PlainDescriptor,\n AssetDescriptor,\n TxDescriptor,\n StorageDescriptor,\n QueryFromDescriptors,\n TxFromDescriptors,\n EventsFromDescriptors,\n ErrorsFromDescriptors,\n ConstFromDescriptors,\n RuntimeDescriptor,\n ResultPayload,\n FixedSizeBinary,\n} from \"@polkadot-api/substrate-bindings\"\nexport {\n AccountId,\n Binary,\n Enum,\n _Enum,\n} from \"@polkadot-api/substrate-bindings\"\n"],"mappings":"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","names":["firstValueFrom","map","checksums","isCompatible","compatibilityHelper","map","firstValueFrom","map","Observable","Observable","compatibilityHelper","map","firstValueFrom","filter","map","mergeMap","compatibilityHelper","map","isOptionalArg","compatibilityHelper","isCompatible","toHex","Observable","firstValueFrom","map","mergeMap","mergeMap","map","Observable","compatibilityHelper","arg","firstValueFrom","toHex","combineLatest","mergeMap","of","take","of","map","noop","of","u32","of","map","of","fromHex","map","of","fromHex","of","Bytes","Option","compact","compact","Option","Bytes","of","map","map","map","compact","u16","u32","fromHex","toHex","u16","u32","map","compact","map","map","map","map","take","mergeMap","combineLatest","of","firstValueFrom","Binary","Enum"]}
1
+ {"version":3,"sources":["../src/client.ts","../src/constants.ts","../src/runtime.ts","../src/event.ts","../src/utils/shareLatest.ts","../src/utils/firstValueFromWithSignal.ts","../src/utils/concatMapEager.ts","../src/utils/raceMap.ts","../src/runtime-call.ts","../src/storage.ts","../src/tx.ts","../src/get-create-tx.ts","../src/signed-extensions/user/ChargeTransactionPayment.ts","../src/signed-extensions/utils.ts","../src/signed-extensions/user/CheckMortality.ts","../src/signed-extensions/user/ChargeAssetTxPayment.ts","../src/signed-extensions/chain/index.ts","../src/signed-extensions/chain/CheckGenesis.ts","../src/signed-extensions/chain/CheckNonce.ts","../src/signed-extensions/chain/CheckSpecVersion.ts","../src/signed-extensions/chain/CheckTxVersion.ts","../src/re-exports.ts"],"sourcesContent":["import { Descriptors } from \"@polkadot-api/substrate-bindings\"\nimport {\n SubstrateClient,\n createClient as createRawClient,\n} from \"@polkadot-api/substrate-client\"\nimport { Observable, firstValueFrom } from \"rxjs\"\nimport { ConstantEntry, createConstantEntry } from \"./constants\"\nimport { EvClient, createEventEntry } from \"./event\"\nimport { BlockInfo, getObservableClient } from \"@polkadot-api/observable-client\"\nimport { compatibilityHelper, getRuntimeApi } from \"./runtime\"\nimport { RuntimeCall, createRuntimeCallEntry } from \"./runtime-call\"\nimport { createStorageEntry, type StorageEntry } from \"./storage\"\nimport { TxEntry, createTxEntry, getSubmitFns } from \"./tx\"\nimport { HintedSignedExtensions, PolkadotClient, TypedApi } from \"./types\"\nimport { getCreateTx } from \"./get-create-tx\"\nimport { JsonRpcProvider } from \"@polkadot-api/json-rpc-provider\"\nimport type { PolkadotSigner } from \"@polkadot-api/polkadot-signer\"\n\nconst createTypedApi = <D extends Descriptors>(\n descriptors: D,\n createTxFromSigner: (\n signer: PolkadotSigner,\n callData: Uint8Array,\n atBlock: BlockInfo,\n hinted?: HintedSignedExtensions,\n ) => Observable<Uint8Array>,\n chainHead: ReturnType<ReturnType<typeof getObservableClient>[\"chainHead$\"]>,\n submitFns: ReturnType<typeof getSubmitFns>,\n): TypedApi<D> => {\n const runtimeApi = getRuntimeApi(descriptors.checksums, chainHead)\n\n const { pallets, apis: runtimeApis } = descriptors\n const query = {} as Record<string, Record<string, StorageEntry<any, any>>>\n for (const pallet in pallets) {\n query[pallet] ||= {}\n const [stgEntries] = pallets[pallet]\n for (const name in stgEntries) {\n query[pallet][name] = createStorageEntry(\n pallet,\n name,\n chainHead,\n compatibilityHelper(runtimeApi, stgEntries[name]),\n )\n }\n }\n\n const tx = {} as Record<string, Record<string, TxEntry<any, any, any, any>>>\n for (const pallet in pallets) {\n tx[pallet] ||= {}\n const [, txEntries] = pallets[pallet]\n for (const name in txEntries) {\n tx[pallet][name] = createTxEntry(\n pallet,\n name,\n descriptors.asset,\n chainHead,\n submitFns,\n createTxFromSigner,\n compatibilityHelper(runtimeApi, txEntries[name]),\n )\n }\n }\n\n const events = {} as Record<string, Record<string, EvClient<any>>>\n for (const pallet in pallets) {\n events[pallet] ||= {}\n const [, , evEntries] = pallets[pallet]\n for (const name in evEntries) {\n events[pallet][name] = createEventEntry(\n pallet,\n name,\n chainHead,\n compatibilityHelper(runtimeApi, evEntries[name]),\n )\n }\n }\n\n const constants = {} as Record<string, Record<string, ConstantEntry<any>>>\n for (const pallet in pallets) {\n constants[pallet] ||= {}\n const [, , , , ctEntries] = pallets[pallet]\n for (const name in ctEntries) {\n constants[pallet][name] = createConstantEntry(\n pallet,\n name,\n chainHead,\n compatibilityHelper(runtimeApi, ctEntries[name]),\n )\n }\n }\n\n const apis = {} as Record<string, Record<string, RuntimeCall<any, any>>>\n for (const api in runtimeApis) {\n apis[api] ||= {}\n const methods = runtimeApis[api]\n for (const method in methods) {\n apis[api][method] = createRuntimeCallEntry(\n api,\n method,\n chainHead,\n compatibilityHelper(runtimeApi, methods[method]),\n )\n }\n }\n\n return {\n query: query,\n tx: tx,\n event: events,\n apis,\n constants,\n runtime: runtimeApi,\n } as any\n}\n\nexport function createClient(provider: JsonRpcProvider): PolkadotClient {\n const rawClient: SubstrateClient = createRawClient(provider)\n const client = getObservableClient(rawClient)\n const chainHead = client.chainHead$()\n\n const createTxFromSigner = getCreateTx(chainHead)\n const submitFns = getSubmitFns(chainHead, client)\n const { submit, submit$: submitAndWatch } = submitFns\n\n return {\n finalizedBlock$: chainHead.finalized$,\n getFinalizedBlock: () => firstValueFrom(chainHead.finalized$),\n\n bestBlocks$: chainHead.bestBlocks$,\n getBestBlocks: () => firstValueFrom(chainHead.bestBlocks$),\n\n watchBlockBlody: chainHead.body$,\n getBlockBody: (hash: string) => firstValueFrom(chainHead.body$(hash)),\n\n getBlockHeader: (hash?: string) =>\n firstValueFrom(chainHead.header$(hash ?? null)),\n\n submit,\n submitAndWatch,\n\n getTypedApi: <D extends Descriptors>(descriptors: D) =>\n createTypedApi(descriptors, createTxFromSigner, chainHead, submitFns),\n\n destroy: () => {\n chainHead.unfollow()\n client.destroy()\n },\n }\n}\n","import { firstValueFrom, map } from \"rxjs\"\nimport { ChainHead$, RuntimeContext } from \"@polkadot-api/observable-client\"\nimport {\n CompatibilityHelper,\n IsCompatible,\n Runtime,\n getRuntimeContext,\n} from \"./runtime\"\n\nexport interface ConstantEntry<T> {\n (): Promise<T>\n (runtime: Runtime): T\n isCompatible: IsCompatible\n}\n\nexport const createConstantEntry = <T>(\n palletName: string,\n name: string,\n chainHead: ChainHead$,\n compatibilityHelper: CompatibilityHelper,\n): ConstantEntry<T> => {\n const { isCompatible, compatibleRuntime$ } = compatibilityHelper((ctx) =>\n ctx.checksumBuilder.buildConstant(palletName, name),\n )\n const checksumError = () =>\n new Error(`Incompatible runtime entry Constant(${palletName}.${name})`)\n\n const cachedResults = new WeakMap<RuntimeContext, T>()\n const getValueWithContext = (ctx: RuntimeContext) => {\n if (cachedResults.has(ctx)) {\n return cachedResults.get(ctx)!\n }\n\n const pallet = ctx.metadata.pallets.find((p) => p.name === palletName)\n const constant = pallet?.constants.find((c) => c.name === name)!\n const result = ctx.dynamicBuilder\n .buildConstant(palletName, name)\n .dec(constant.value)\n cachedResults.set(ctx, result)\n return result\n }\n\n const fn = (runtime?: Runtime): any => {\n if (runtime) {\n if (!isCompatible(runtime)) throw checksumError()\n return getValueWithContext(getRuntimeContext(runtime))\n }\n return firstValueFrom(\n compatibleRuntime$(chainHead, null, checksumError).pipe(\n map(getValueWithContext),\n ),\n )\n }\n\n return Object.assign(fn, { isCompatible })\n}\n","import { Observable, combineLatest, filter, map } from \"rxjs\"\nimport {\n ChainHead$,\n RuntimeContext,\n getObservableClient,\n} from \"@polkadot-api/observable-client\"\n\nexport class Runtime {\n protected _ctx: unknown\n protected _checksums: string[]\n\n private constructor(ctx: RuntimeContext, checksums: string[]) {\n this._ctx = ctx\n this._checksums = checksums\n }\n}\nexport function getRuntimeContext(runtime: Runtime): RuntimeContext {\n return (runtime as any)._ctx\n}\nfunction getImportedChecksum(runtime: Runtime, idx: number): string {\n return (runtime as any)._checksums[idx]\n}\nconst createRuntime = (ctx: RuntimeContext, checksums: string[]) =>\n new (Runtime as any)(ctx, checksums)\n\nexport type RuntimeApi = Observable<Runtime> & {\n latest: () => Promise<Runtime>\n}\n\nexport const getRuntimeApi = (\n checksums: Promise<string[]>,\n chainHead: ReturnType<ReturnType<typeof getObservableClient>[\"chainHead$\"]>,\n): RuntimeApi => {\n let latestRuntime: Promise<Runtime>\n let resolve: ((r: Runtime) => void) | null = null\n\n latestRuntime = new Promise<Runtime>((res) => {\n resolve = res\n })\n\n const runtimeWithChecksums$ = combineLatest([chainHead.runtime$, checksums])\n runtimeWithChecksums$.subscribe(([x, checksums]) => {\n if (x) {\n if (resolve) {\n resolve(createRuntime(x, checksums))\n resolve = null\n } else {\n latestRuntime = Promise.resolve(createRuntime(x, checksums))\n }\n } else if (!resolve) {\n latestRuntime = new Promise<Runtime>((res) => {\n resolve = res\n })\n }\n })\n\n const result = runtimeWithChecksums$.pipe(\n filter(([x]) => Boolean(x)),\n map(([x, checksums]) => createRuntime(x!, checksums)),\n ) as RuntimeApi\n result.latest = () => latestRuntime\n\n return result\n}\n\nexport interface IsCompatible {\n (): Promise<boolean>\n (runtime: Runtime): boolean\n}\n\nexport const compatibilityHelper =\n (runtimeApi: RuntimeApi, checksumIdx: number) =>\n (getChecksum: (ctx: RuntimeContext) => string | null) => {\n function isCompatibleSync(runtime: Runtime) {\n const ctx = getRuntimeContext(runtime)\n const checksum = getImportedChecksum(runtime, checksumIdx)\n return getChecksum(ctx) === checksum\n }\n\n const isCompatible: IsCompatible = (runtime?: Runtime): any => {\n if (runtime) {\n return isCompatibleSync(runtime)\n }\n\n return runtimeApi.latest().then(isCompatibleSync)\n }\n const waitChecksums = async () => {\n const runtime = await runtimeApi.latest()\n return (ctx: RuntimeContext) =>\n getChecksum(ctx) === getImportedChecksum(runtime, checksumIdx)\n }\n const compatibleRuntime$ = (\n chainHead: ChainHead$,\n hash: string | null,\n error: () => Error,\n ) =>\n combineLatest([chainHead.getRuntimeContext$(hash), waitChecksums()]).pipe(\n map(([ctx, isCompatible]) => {\n if (!isCompatible(ctx)) {\n throw error()\n }\n return ctx\n }),\n )\n\n const withCompatibleRuntime =\n <T>(\n chainHead: ChainHead$,\n mapper: (x: T) => string,\n error: () => Error,\n ) =>\n (source$: Observable<T>): Observable<[T, RuntimeContext]> =>\n combineLatest([\n source$.pipe(chainHead.withRuntime(mapper)),\n waitChecksums(),\n ]).pipe(\n map(([[x, ctx], isCompatible]) => {\n if (!isCompatible(ctx)) {\n throw error()\n }\n return [x, ctx]\n }),\n )\n\n return {\n isCompatible,\n waitChecksums,\n withCompatibleRuntime,\n compatibleRuntime$,\n }\n }\nexport type CompatibilityHelper = ReturnType<typeof compatibilityHelper>\n","import { Observable, firstValueFrom, map, mergeMap } from \"rxjs\"\nimport { BlockInfo, ChainHead$ } from \"@polkadot-api/observable-client\"\nimport { CompatibilityHelper, IsCompatible } from \"./runtime\"\nimport { concatMapEager, shareLatest } from \"./utils\"\n\nexport type EventPhase =\n | { type: \"ApplyExtrinsic\"; value: number }\n | { type: \"Finalization\" }\n | { type: \"Initialization\" }\n\nexport type EvWatch<T> = (filter?: (value: T) => boolean) => Observable<{\n meta: {\n block: BlockInfo\n phase: EventPhase\n }\n payload: T\n}>\n\nexport type EvPull<T> = () => Promise<\n Array<{\n meta: {\n block: BlockInfo\n phase: EventPhase\n }\n payload: T\n }>\n>\n\nexport type EvFilter<T> = (collection: SystemEvent[\"event\"][]) => Array<T>\n\nexport type EvClient<T> = {\n watch: EvWatch<T>\n pull: EvPull<T>\n filter: EvFilter<T>\n isCompatible: IsCompatible\n}\n\ntype SystemEvent = {\n phase: EventPhase\n event: {\n type: string\n value: {\n type: string\n value: any\n }\n }\n topics: Array<any>\n}\n\nexport const createEventEntry = <T>(\n pallet: string,\n name: string,\n chainHead: ChainHead$,\n compatibilityHelper: CompatibilityHelper,\n): EvClient<T> => {\n const { isCompatible, withCompatibleRuntime } = compatibilityHelper((ctx) =>\n ctx.checksumBuilder.buildEvent(pallet, name),\n )\n const checksumError = () =>\n new Error(`Incompatible runtime entry Event(${pallet}.${name})`)\n\n const shared$ = chainHead.finalized$.pipe(\n withCompatibleRuntime(chainHead, (x) => x.hash, checksumError),\n concatMapEager(([block]) =>\n chainHead.eventsAt$(block.hash).pipe(\n map((events) => {\n const winners = events.filter(\n (e) => e.event.type === pallet && e.event.value.type === name,\n )\n return winners.map((x) => {\n return {\n meta: {\n phase: x.phase,\n block,\n },\n payload: x.event.value.value,\n }\n })\n }),\n ),\n ),\n shareLatest,\n )\n\n const watch: EvWatch<T> = (f) =>\n shared$.pipe(mergeMap((x) => (f ? x.filter((d) => f(d.payload)) : x)))\n\n const pull: EvPull<T> = () => firstValueFrom(shared$)\n\n const filter: EvFilter<T> = (events) =>\n events\n .filter((e) => e.type === pallet && e.value.type === name)\n .map((x) => x.value.value)\n\n return { watch, pull, filter, isCompatible }\n}\n","import { Observable, ReplaySubject, share } from \"rxjs\"\n\nexport const shareLatest: <T>(base: Observable<T>) => Observable<T> = share({\n connector: () => new ReplaySubject(1),\n resetOnError: true,\n resetOnComplete: true,\n resetOnRefCountZero: true,\n})\n","import { AbortError } from \"@polkadot-api/utils\"\nimport { Observable, Subscription, noop } from \"rxjs\"\n\nexport function firstValueFromWithSignal<T>(\n source: Observable<T>,\n signal?: AbortSignal,\n): Promise<T> {\n return new Promise((resolve, reject) => {\n let subscription: Subscription | null = null\n let isDone = false\n\n const onAbort = signal\n ? () => {\n subscription?.unsubscribe()\n reject(new AbortError())\n }\n : noop\n\n subscription = source.subscribe({\n next: (value) => {\n resolve(value)\n subscription?.unsubscribe()\n isDone = true\n },\n error: (e) => {\n signal?.removeEventListener(\"abort\", onAbort)\n reject(e)\n },\n complete: () => {\n signal?.removeEventListener(\"abort\", onAbort)\n reject(new Error(\"Observable completed without emitting\"))\n },\n })\n\n // the observable could have emitted synchronously\n if (!isDone) signal?.addEventListener(\"abort\", onAbort)\n })\n}\n","import { defer, Observable, ObservableInput, Subscription } from \"rxjs\"\n\nexport const concatMapEager =\n <I, O>(\n mapper: (outterValue: I, index: number) => ObservableInput<O>,\n concurrent = Infinity,\n ) =>\n (source$: Observable<I>) =>\n new Observable<O>((observer) => {\n let topSubscription: Subscription\n const queues = new Map<number, Observable<O>>()\n const innerSubscriptions = new Map<number, Subscription>()\n const results = new Map<number, O[]>()\n\n let mapperIdx = 0\n let subscriptionIdx = 0\n let observerIdx = 0\n\n const nextSubscription = () => {\n const inner$ = queues.get(subscriptionIdx)\n if (!inner$) {\n if (\n innerSubscriptions.size === 0 &&\n (typeof topSubscription === \"undefined\" || topSubscription.closed)\n ) {\n observer.complete()\n }\n return\n }\n const idx = subscriptionIdx++\n queues.delete(idx)\n if (observerIdx !== idx) {\n results.set(idx, [])\n }\n innerSubscriptions.set(\n idx,\n inner$.subscribe({\n next(x: O) {\n if (observerIdx === idx) {\n observer.next(x)\n } else {\n results.get(idx)!.push(x)\n }\n },\n complete() {\n innerSubscriptions.delete(idx)\n if (idx === observerIdx) {\n observerIdx++\n while (results.has(observerIdx)) {\n results.get(observerIdx)!.forEach((x) => observer.next(x))\n results.delete(observerIdx)\n if (innerSubscriptions.has(observerIdx)) {\n break\n }\n observerIdx++\n }\n }\n nextSubscription()\n },\n error(e: any) {\n observer.error(e)\n },\n }),\n )\n }\n\n topSubscription = source$.subscribe({\n next(outterValue: I) {\n const idx = mapperIdx++\n queues.set(\n idx,\n defer(() => mapper(outterValue, idx)),\n )\n if (innerSubscriptions.size < concurrent) {\n nextSubscription()\n }\n },\n error(e: any) {\n observer.error(e)\n },\n complete() {\n if (innerSubscriptions.size === 0) {\n observer.complete()\n }\n },\n })\n\n return () => {\n innerSubscriptions.forEach((subscription) => subscription.unsubscribe())\n topSubscription.unsubscribe()\n queues.clear()\n results.clear()\n }\n })\n","import { Observable, Subscription } from \"rxjs\"\n\nexport const raceMap =\n <I, O>(mapper: (x: I) => Observable<O>, concurrent: number) =>\n (source$: Observable<I>) =>\n new Observable<O>((observer) => {\n let innerSubscriptions = new Array<Subscription>()\n let isOuterDone = false\n\n const createSubscription = (value: I) => {\n const sub = new Subscription()\n innerSubscriptions.push(sub)\n if (innerSubscriptions.length > concurrent) {\n innerSubscriptions[0].unsubscribe()\n innerSubscriptions = innerSubscriptions.slice(1)\n }\n\n const subscription = mapper(value).subscribe({\n next(value) {\n const index = innerSubscriptions.indexOf(sub)\n innerSubscriptions.slice(0, index).forEach((s) => s.unsubscribe())\n innerSubscriptions = innerSubscriptions.slice(index)\n\n observer.next(value)\n },\n error(error) {\n observer.error(error)\n },\n complete() {\n const index = innerSubscriptions.indexOf(sub)\n innerSubscriptions.splice(index, 1)\n\n if (innerSubscriptions.length === 0 && isOuterDone)\n observer.complete()\n },\n })\n sub.add(subscription)\n }\n\n const outerSubscription = source$.subscribe({\n next(value) {\n createSubscription(value)\n },\n error(err) {\n observer.error(err)\n },\n complete() {\n if (innerSubscriptions.length === 0) observer.complete()\n isOuterDone = true\n },\n })\n\n return () => {\n outerSubscription.unsubscribe()\n innerSubscriptions.forEach((sub) => sub.unsubscribe())\n }\n })\n","import { firstValueFromWithSignal } from \"@/utils\"\nimport { toHex } from \"@polkadot-api/utils\"\nimport { map, mergeMap } from \"rxjs\"\nimport { ChainHead$ } from \"@polkadot-api/observable-client\"\nimport { CompatibilityHelper, IsCompatible } from \"./runtime\"\n\ntype CallOptions = Partial<{\n at: string\n signal: AbortSignal\n}>\n\ntype WithCallOptions<Args extends Array<any>> = Args[\"length\"] extends 0\n ? [options?: CallOptions]\n : [...args: Args, options?: CallOptions]\n\nexport interface RuntimeCall<Args extends Array<any>, Payload> {\n (...args: WithCallOptions<Args>): Promise<Payload>\n isCompatible: IsCompatible\n}\n\nconst isOptionalArg = (lastArg: any) => {\n if (typeof lastArg !== \"object\") return false\n\n return Object.keys(lastArg).every(\n (k) =>\n (k === \"at\" && typeof lastArg.at === \"string\") ||\n (k === \"signal\" && lastArg.signal instanceof AbortSignal),\n )\n}\n\nexport const createRuntimeCallEntry = (\n api: string,\n method: string,\n chainHead: ChainHead$,\n compatibilityHelper: CompatibilityHelper,\n): RuntimeCall<any, any> => {\n const { isCompatible, compatibleRuntime$ } = compatibilityHelper((ctx) =>\n ctx.checksumBuilder.buildRuntimeCall(api, method),\n )\n const callName = `${api}_${method}`\n const checksumError = () =>\n new Error(`Incompatible runtime entry RuntimeCall(${callName})`)\n\n const fn = (...args: Array<any>) => {\n const lastArg = args[args.length - 1]\n const isLastArgOptional = isOptionalArg(lastArg)\n const { signal, at: _at }: CallOptions = isLastArgOptional ? lastArg : {}\n const at = _at ?? null\n\n const result$ = compatibleRuntime$(chainHead, at, checksumError).pipe(\n mergeMap((ctx) => {\n const codecs = ctx.dynamicBuilder.buildRuntimeCall(api, method)\n return chainHead\n .call$(at, callName, toHex(codecs.args.enc(args)))\n .pipe(map(codecs.value.dec))\n }),\n )\n\n return firstValueFromWithSignal(result$, signal)\n }\n\n return Object.assign(fn, { isCompatible })\n}\n","import { firstValueFromWithSignal, raceMap } from \"@/utils\"\nimport { StorageItemInput, StorageResult } from \"@polkadot-api/substrate-client\"\nimport { Observable, debounceTime, distinctUntilChanged, map } from \"rxjs\"\nimport { ChainHead$ } from \"@polkadot-api/observable-client\"\nimport { CompatibilityHelper, IsCompatible } from \"./runtime\"\n\ntype CallOptions = Partial<{\n at: string\n signal: AbortSignal\n}>\n\ntype WithCallOptions<Args extends Array<any>> = [\n ...args: Args,\n options?: CallOptions,\n]\n\ntype PossibleParents<A extends Array<any>> = A extends [...infer Left, any]\n ? Left | PossibleParents<Left>\n : []\n\ntype StorageEntryWithoutKeys<Payload> = {\n isCompatible: IsCompatible\n getValue: (options?: CallOptions) => Promise<Payload>\n watchValue: (bestOrFinalized?: \"best\" | \"finalized\") => Observable<Payload>\n}\n\ntype StorageEntryWithKeys<Args extends Array<any>, Payload> = {\n isCompatible: IsCompatible\n getValue: (...args: [...WithCallOptions<Args>]) => Promise<Payload>\n watchValue: (\n ...args: [...Args, bestOrFinalized?: \"best\" | \"finalized\"]\n ) => Observable<Payload>\n getValues: (\n keys: Array<[...Args]>,\n options?: CallOptions,\n ) => Promise<Array<Payload>>\n getEntries: (\n ...args: WithCallOptions<PossibleParents<Args>>\n ) => Promise<Array<{ keyArgs: Args; value: NonNullable<Payload> }>>\n}\n\nexport type StorageEntry<Args extends Array<any>, Payload> = Args extends []\n ? StorageEntryWithoutKeys<Payload>\n : StorageEntryWithKeys<Args, Payload>\n\nexport type Storage$ = <Type extends StorageItemInput[\"type\"]>(\n hash: string | null,\n type: Type,\n key: string,\n childTrie: string | null,\n) => Observable<StorageResult<Type>>\n\nconst isOptionalArg = (lastArg: any) => {\n if (typeof lastArg !== \"object\") return false\n\n return Object.keys(lastArg).every(\n (k) =>\n (k === \"at\" && typeof lastArg.at === \"string\") ||\n (k === \"signal\" && lastArg.signal instanceof AbortSignal),\n )\n}\n\nexport const createStorageEntry = (\n pallet: string,\n name: string,\n chainHead: ChainHead$,\n compatibilityHelper: CompatibilityHelper,\n): StorageEntry<any, any> => {\n const { isCompatible, waitChecksums, withCompatibleRuntime } =\n compatibilityHelper((ctx) => ctx.checksumBuilder.buildStorage(pallet, name))\n\n const checksumError = () =>\n new Error(`Incompatible runtime entry Storage(${pallet}.${name})`)\n const invalidArgs = (args: Array<any>) =>\n new Error(`Invalid Arguments calling ${pallet}.${name}(${args})`)\n\n const watchValue = (...args: Array<any>) => {\n const lastArg = args[args.length - 1]\n const actualArgs =\n lastArg === \"best\" || lastArg === \"finalized\" ? args.slice(0, -1) : args\n\n return chainHead[lastArg === \"best\" ? \"best$\" : \"finalized$\"].pipe(\n debounceTime(0),\n withCompatibleRuntime(chainHead, (x) => x.hash, checksumError),\n raceMap(([block, ctx]) => {\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n return chainHead\n .storage$(block.hash, \"value\", () => codecs.enc(...actualArgs))\n .pipe(map((val) => ({ val, codecs })))\n }, 4),\n distinctUntilChanged((a, b) => a.val === b.val),\n map(({ val, codecs }) =>\n val === null ? codecs.fallback : codecs.dec(val),\n ),\n )\n }\n\n const getValue = async (...args: Array<any>) => {\n const lastArg = args[args.length - 1]\n const isLastArgOptional = isOptionalArg(lastArg)\n const { signal, at: _at }: CallOptions = isLastArgOptional ? lastArg : {}\n const at = _at ?? null\n\n const isCompatible = await waitChecksums()\n const result$ = chainHead.storage$(\n at,\n \"value\",\n (ctx) => {\n if (!isCompatible(ctx)) throw checksumError()\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n const actualArgs = args.length === codecs.len ? args : args.slice(0, -1)\n if (args !== actualArgs && !isLastArgOptional) throw invalidArgs(args)\n return codecs.enc(...actualArgs)\n },\n null,\n (data, ctx) => {\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n return data === null ? codecs.fallback : codecs.dec(data)\n },\n )\n return firstValueFromWithSignal(result$, signal)\n }\n\n const getEntries = async (...args: Array<any>) => {\n const lastArg = args[args.length - 1]\n const isLastArgOptional = isOptionalArg(lastArg)\n const { signal, at: _at }: CallOptions = isLastArgOptional ? lastArg : {}\n const at = _at ?? null\n\n const isCompatible = await waitChecksums()\n const result$ = chainHead.storage$(\n at,\n \"descendantsValues\",\n (ctx) => {\n if (!isCompatible(ctx)) throw checksumError()\n\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n if (args.length > codecs.len) throw invalidArgs(args)\n const actualArgs =\n args.length > 0 && isLastArgOptional ? args.slice(0, -1) : args\n if (args.length === codecs.len && actualArgs === args)\n throw invalidArgs(args)\n return codecs.enc(...actualArgs)\n },\n null,\n (values, ctx) => {\n const codecs = ctx.dynamicBuilder.buildStorage(pallet, name)\n return values.map(({ key, value }) => ({\n keyArgs: codecs.keyDecoder(key),\n value: codecs.dec(value),\n }))\n },\n )\n return firstValueFromWithSignal(result$, signal)\n }\n\n const getValues = (keyArgs: Array<Array<any>>, options?: CallOptions) =>\n Promise.all(\n keyArgs.map((args) => getValue(...(options ? [...args, options] : args))),\n )\n\n return { isCompatible, getValue, getValues, getEntries, watchValue }\n}\n","import {\n AssetDescriptor,\n Binary,\n Enum,\n HexString,\n Option,\n Tuple,\n compact,\n u128,\n u32,\n} from \"@polkadot-api/substrate-bindings\"\nimport { mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport {\n Observable,\n concat,\n firstValueFrom,\n lastValueFrom,\n map,\n mergeMap,\n of,\n startWith,\n take,\n withLatestFrom,\n} from \"rxjs\"\nimport {\n BlockInfo,\n RuntimeContext,\n SystemEvent,\n getObservableClient,\n} from \"@polkadot-api/observable-client\"\nimport { TrackedTx } from \"@polkadot-api/observable-client\"\nimport {\n CompatibilityHelper,\n IsCompatible,\n Runtime,\n getRuntimeContext,\n} from \"./runtime\"\nimport { PolkadotSigner } from \"../../signers/polkadot-signer/dist/index.mjs\"\n\nexport type TxBroadcastEvent =\n | { type: \"broadcasted\" }\n | { type: \"bestChainBlockIncluded\"; block: { hash: string; index: number } }\n | ({\n type: \"finalized\"\n } & TxFinalizedPayload)\nexport type TxEvent = TxBroadcastEvent | { type: \"signed\"; tx: HexString }\n\nexport type TxFinalizedPayload = {\n ok: boolean\n events: Array<SystemEvent[\"event\"]>\n block: { hash: string; index: number }\n}\n\nconst getTxSuccessFromSystemEvents = (\n systemEvents: Array<SystemEvent>,\n txIdx: number,\n): Omit<TxFinalizedPayload, \"block\"> => {\n const events = systemEvents\n .filter((x) => x.phase.type === \"ApplyExtrinsic\" && x.phase.value === txIdx)\n .map((x) => x.event)\n\n const lastEvent = events[events.length - 1]\n const ok =\n lastEvent.type === \"System\" && lastEvent.value.type === \"ExtrinsicSuccess\"\n\n return { ok, events }\n}\n\ntype TxFunction<Asset> = (\n from: PolkadotSigner,\n hintedSignExtensions?: Partial<\n void extends Asset\n ? {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n }\n : {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n asset: Asset\n }\n >,\n) => Promise<TxFinalizedPayload>\n\ntype TxObservable<Asset> = (\n from: PolkadotSigner,\n hintedSignExtensions?: Partial<\n void extends Asset\n ? {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n }\n : {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n asset: Asset\n }\n >,\n) => Observable<TxEvent>\n\ninterface TxCall {\n (): Promise<Binary>\n (runtime: Runtime): Binary\n}\n\ntype TxSigned<Asset> = (\n from: PolkadotSigner,\n hintedSignExtensions?: Partial<\n void extends Asset\n ? {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n }\n : {\n tip: bigint\n mortal: { mortal: false } | { mortal: true; period: number }\n asset: Asset\n }\n >,\n) => Promise<string>\n\nexport type Transaction<\n Arg extends {} | undefined,\n Pallet extends string,\n Name extends string,\n Asset,\n> = {\n sign: TxSigned<Asset>\n signSubmitAndWatch: TxObservable<Asset>\n signAndSubmit: TxFunction<Asset>\n getEncodedData: TxCall\n getEstimatedFees: () => Promise<bigint>\n decodedCall: Enum<{\n type: Pallet\n value: Enum<{\n type: Name\n value: Arg\n }>\n }>\n}\n\nexport interface TxEntry<\n Arg extends {} | undefined,\n Pallet extends string,\n Name extends string,\n Asset,\n> {\n (\n ...args: Arg extends undefined ? [] : [data: Arg]\n ): Transaction<Arg, Pallet, Name, Asset>\n isCompatible: IsCompatible\n}\n\nexport const getSubmitFns = (\n chainHead: ReturnType<ReturnType<typeof getObservableClient>[\"chainHead$\"]>,\n client: ReturnType<typeof getObservableClient>,\n) => {\n const tx$ = (tx: string) =>\n concat(\n chainHead.finalized$.pipe(\n take(1),\n mergeMap((finalized) => chainHead.validateTx$(tx, finalized.hash)),\n map((isValid) => {\n if (!isValid) throw new Error(\"Invalid\")\n return { type: \"broadcasted\" as \"broadcasted\" }\n }),\n ),\n new Observable<TrackedTx>((observer) => {\n const subscription = chainHead.trackTx$(tx).subscribe(observer)\n subscription.add(\n client.broadcastTx$(tx).subscribe({\n error(e) {\n observer.error(e)\n },\n }),\n )\n return subscription\n }),\n )\n\n const submit$ = (transaction: HexString): Observable<TxBroadcastEvent> =>\n tx$(transaction).pipe(\n mergeMap((result) => {\n return result.type !== \"finalized\"\n ? of(result)\n : chainHead.eventsAt$(result.block.hash).pipe(\n map((events) => ({\n ...result,\n ...getTxSuccessFromSystemEvents(\n events,\n Number(result.block.index),\n ),\n })),\n )\n }),\n )\n\n const submit = async (\n transaction: HexString,\n ): Promise<{\n ok: boolean\n events: Array<SystemEvent[\"event\"]>\n block: { hash: string; index: number }\n }> =>\n lastValueFrom(submit$(transaction)).then((x) => {\n if (x.type !== \"finalized\") throw null\n const result: {\n ok: boolean\n events: Array<SystemEvent[\"event\"]>\n block: { hash: string; index: number }\n type?: any\n } = { ...x }\n delete result.type\n return result\n })\n\n return { submit$, submit }\n}\n\nconst feeDetailsDec = Option(Tuple(u128, u128, u128)).dec\n\nexport const createTxEntry = <\n Arg extends {} | undefined,\n Pallet extends string,\n Name extends string,\n Asset extends AssetDescriptor<any>,\n>(\n pallet: Pallet,\n name: Name,\n assetChecksum: Asset,\n chainHead: ReturnType<ReturnType<typeof getObservableClient>[\"chainHead$\"]>,\n submits: ReturnType<typeof getSubmitFns>,\n signer: (\n from: PolkadotSigner,\n callData: Uint8Array,\n atBlock: BlockInfo,\n hinted?: Partial<{}>,\n ) => Observable<Uint8Array>,\n compatibilityHelper: CompatibilityHelper,\n): TxEntry<Arg, Pallet, Name, Asset[\"_type\"]> => {\n const { isCompatible, compatibleRuntime$ } = compatibilityHelper((ctx) =>\n ctx.checksumBuilder.buildCall(pallet, name),\n )\n const checksumError = () =>\n new Error(`Incompatible runtime entry Tx(${pallet}.${name})`)\n\n const fn = (arg?: Arg): any => {\n const getCallDataWithContext = (\n { dynamicBuilder, asset: [assetEnc, assetCheck] }: RuntimeContext,\n arg: any,\n hinted: Partial<{ asset: any }> = {},\n ) => {\n let returnHinted = hinted\n if (hinted.asset) {\n if (assetChecksum !== assetCheck)\n throw new Error(`Incompatible runtime asset`)\n returnHinted = { ...hinted, asset: assetEnc(hinted.asset) }\n }\n\n const { location, codec } = dynamicBuilder.buildCall(pallet, name)\n return {\n callData: Binary.fromBytes(\n mergeUint8(new Uint8Array(location), codec.enc(arg)),\n ),\n hinted: returnHinted,\n }\n }\n\n const getCallData$ = (arg: any, hinted: Partial<{ asset: any }> = {}) =>\n compatibleRuntime$(chainHead, null, checksumError).pipe(\n map((ctx) => getCallDataWithContext(ctx, arg, hinted)),\n )\n\n const getEncodedData: TxCall = (runtime?: Runtime): any => {\n if (runtime) {\n if (!isCompatible(runtime)) {\n throw checksumError()\n }\n return getCallDataWithContext(getRuntimeContext(runtime), arg).callData\n }\n return firstValueFrom(getCallData$(arg).pipe(map((x) => x.callData)))\n }\n\n const sign$ = (from: PolkadotSigner, _hinted: any) =>\n getCallData$(arg, _hinted).pipe(\n withLatestFrom(chainHead.finalized$),\n take(1),\n mergeMap(([{ callData, hinted }, finalized]) =>\n signer(from, callData.asBytes(), finalized, hinted),\n ),\n )\n\n const sign: TxSigned<Asset> = (from, _hinted) =>\n firstValueFrom(sign$(from, _hinted)).then(toHex)\n\n const signAndSubmit: TxFunction<Asset> = (from, _hinted) =>\n sign(from, _hinted).then(submits.submit)\n\n const signSubmitAndWatch: TxObservable<Asset> = (from, _hinted) =>\n sign$(from, _hinted).pipe(\n mergeMap((result) => {\n const tx = toHex(result)\n return submits\n .submit$(tx)\n .pipe(startWith({ type: \"signed\" as const, tx }))\n }),\n )\n\n const getEstimatedFees = async () => {\n const encoded = (await getEncodedData()).asBytes()\n const preLen = encoded.length + 103 // TODO: `103` accounts for the extra aprox length that it's added into the extrinsic once it's signed. In the future we should improve this.\n const len = preLen + compact.enc(preLen).length\n const args = toHex(mergeUint8(encoded, u32.enc(len)))\n\n return firstValueFrom(\n chainHead\n .call$(null, \"TransactionPaymentCallApi_query_call_fee_details\", args)\n .pipe(\n map((x) => {\n const result = feeDetailsDec(x)\n if (!result) throw new Error(\"Unable to calculate tx fees\")\n return result.reduce((a, b) => a + b)\n }),\n ),\n )\n }\n\n return {\n getEstimatedFees,\n decodedCall: Enum(pallet, Enum(name, arg as any)) as Enum<{\n type: Pallet\n value: any\n }>,\n getEncodedData,\n sign,\n signSubmitAndWatch,\n signAndSubmit,\n }\n }\n\n return Object.assign(fn, { isCompatible })\n}\n","import { Observable, combineLatest, mergeMap, of, take } from \"rxjs\"\nimport { BlockInfo, ChainHead$ } from \"@polkadot-api/observable-client\"\nimport { HintedSignedExtensions } from \"./types\"\nimport {\n ChargeAssetTxPayment,\n ChargeTransactionPayment,\n CheckMortality,\n} from \"./signed-extensions/user\"\nimport * as chainSignedExtensions from \"./signed-extensions/chain\"\nimport type { PolkadotSigner } from \"@polkadot-api/polkadot-signer\"\nimport { _void } from \"@polkadot-api/substrate-bindings\"\nimport { empty } from \"./signed-extensions/utils\"\n\nexport const getCreateTx = (\n chainHead: ChainHead$,\n): ((\n signer: PolkadotSigner,\n callData: Uint8Array,\n atBlock: BlockInfo,\n hinted?: HintedSignedExtensions,\n) => Observable<Uint8Array>) => {\n return (signer, callData, atBlock, hinted) => {\n return chainHead.getRuntimeContext$(atBlock.hash).pipe(\n take(1),\n mergeMap((ctx) => {\n const signedExtensionsCtx = {\n metadata: ctx.metadata,\n chainHead: chainHead,\n callData: callData,\n at: atBlock.hash,\n from: signer.publicKey,\n }\n\n const mortality = hinted?.mortality?.mortal\n ? { period: hinted.mortality.period, blockNumber: atBlock.number }\n : undefined\n\n return combineLatest(\n ctx.metadata.extrinsic.signedExtensions.map(\n ({ identifier, type, additionalSigned }) => {\n if (identifier === \"CheckMortality\")\n return CheckMortality(mortality, signedExtensionsCtx)\n\n if (identifier === \"ChargeTransactionPayment\")\n return ChargeTransactionPayment(hinted?.tip ?? 0n)\n\n if (identifier === \"ChargeAssetTxPayment\")\n return ChargeAssetTxPayment(hinted?.tip ?? 0n, hinted?.asset)\n\n const fn = chainSignedExtensions[identifier as \"CheckGenesis\"]\n if (!fn) {\n if (\n ctx.dynamicBuilder.buildDefinition(type) === _void &&\n ctx.dynamicBuilder.buildDefinition(additionalSigned) === _void\n )\n return of({\n value: empty,\n additionalSigned: empty,\n })\n\n throw new Error(`Unsupported signed-extension: ${identifier}`)\n }\n return fn(signedExtensionsCtx)\n },\n ),\n ).pipe(\n mergeMap((signedExtensions) =>\n signer.sign(\n callData,\n Object.fromEntries(\n ctx.metadata.extrinsic.signedExtensions.map(\n ({ identifier }, idx) => [\n identifier,\n { identifier, ...signedExtensions[idx] },\n ],\n ),\n ),\n ctx.metadataRaw,\n atBlock.number,\n ),\n ),\n )\n }),\n )\n }\n}\n","import { compactBn } from \"@polkadot-api/substrate-bindings\"\nimport { of } from \"rxjs\"\nimport { empty } from \"../utils\"\nimport { SignedExtension } from \"../internal-types\"\n\nexport const ChargeTransactionPayment = (tip: bigint): SignedExtension =>\n of({\n value: compactBn.enc(tip),\n additionalSigned: empty,\n })\n","import { map, noop, of } from \"rxjs\"\nimport {\n V15,\n Storage,\n Twox64Concat,\n u32,\n} from \"@polkadot-api/substrate-bindings\"\nimport { getDynamicBuilder, getLookupFn } from \"@polkadot-api/metadata-builders\"\nimport { fromHex } from \"@polkadot-api/utils\"\nimport type { ChainExtensionCtx } from \"./internal-types\"\n\nexport const empty = new Uint8Array()\n\nconst genesisHashStorageKey = Storage(\"System\")(\"BlockHash\", noop, [\n u32,\n Twox64Concat,\n]).enc(0)\n\nexport const genesisHashFromCtx = (ctx: ChainExtensionCtx) =>\n ctx.chainHead\n .storage$(ctx.at, \"value\", () => genesisHashStorageKey, null)\n .pipe(map((result) => fromHex(result!)))\n\nexport const systemVersionProp$ = (propName: string, metadata: V15) => {\n const lookupFn = getLookupFn(metadata.lookup)\n const dynamicBuilder = getDynamicBuilder(metadata)\n\n const constant = metadata.pallets\n .find((x) => x.name === \"System\")!\n .constants!.find((s) => s.name === \"Version\")!\n\n const systemVersion = lookupFn(constant.type)\n const systemVersionDec = dynamicBuilder.buildDefinition(constant.type).dec\n\n if (systemVersion.type !== \"struct\") throw new Error(\"not a struct\")\n\n const valueEnc = dynamicBuilder.buildDefinition(\n systemVersion.value[propName].id,\n ).enc\n\n return of(valueEnc(systemVersionDec(constant.value)[propName]))\n}\n","import { map, of } from \"rxjs\"\nimport { Bytes, enhanceEncoder, u16 } from \"@polkadot-api/substrate-bindings\"\nimport { fromHex } from \"@polkadot-api/utils\"\nimport { genesisHashFromCtx } from \"../utils\"\nimport { ChainExtensionCtx, SignedExtension } from \"../internal-types\"\n\nfunction trailingZeroes(n: number) {\n let i = 0\n while (!(n & 1)) {\n i++\n n >>= 1\n }\n return i\n}\n\nconst mortal = enhanceEncoder(\n Bytes(2).enc,\n (value: { period: number; phase: number }) => {\n const factor = Math.max(value.period >> 12, 1)\n const left = Math.min(Math.max(trailingZeroes(value.period) - 1, 1), 15)\n const right = (value.phase / factor) << 4\n return u16.enc(left | right)\n },\n)\n\nconst zero = new Uint8Array([0])\nexport const CheckMortality = (\n input: { period: number; blockNumber: number } | undefined,\n ctx: ChainExtensionCtx,\n): SignedExtension => {\n if (!input)\n return genesisHashFromCtx(ctx).pipe(\n map((additionalSigned) => ({\n additionalSigned,\n value: zero,\n })),\n )\n\n const { period, blockNumber } = input\n return of({\n additionalSigned: fromHex(ctx.at),\n value: mortal({\n period,\n phase: blockNumber % period,\n }),\n })\n}\n","import { of } from \"rxjs\"\nimport {\n Bytes,\n Option,\n Struct,\n compact,\n} from \"@polkadot-api/substrate-bindings\"\nimport { empty } from \"../utils\"\nimport { SignedExtension } from \"../internal-types\"\n\nconst encoder = Struct({\n tip: compact,\n asset: Option(Bytes(Infinity)),\n}).enc\n\nexport const ChargeAssetTxPayment = (\n tip: number | bigint,\n asset: Uint8Array | undefined,\n): SignedExtension =>\n of({\n value: encoder({\n tip,\n asset,\n }),\n additionalSigned: empty,\n })\n","export * from \"./CheckGenesis\"\nexport * from \"./CheckNonce\"\nexport * from \"./CheckSpecVersion\"\nexport * from \"./CheckTxVersion\"\n","import { map } from \"rxjs\"\nimport type { GetChainSignedExtension } from \"../internal-types\"\nimport { empty, genesisHashFromCtx } from \"../utils\"\n\nexport const CheckGenesis: GetChainSignedExtension = (ctx) =>\n genesisHashFromCtx(ctx).pipe(\n map((additionalSigned) => ({ value: empty, additionalSigned })),\n )\n","import { map } from \"rxjs\"\nimport { compact, u16, u32, u64, u8 } from \"@polkadot-api/substrate-bindings\"\nimport type { GetChainSignedExtension } from \"../internal-types\"\nimport { empty } from \"../utils\"\nimport { fromHex, toHex } from \"@polkadot-api/utils\"\n\nconst lenToDecoder = {\n 1: u8.dec,\n 2: u16.dec,\n 4: u32.dec,\n 8: u64.dec,\n}\n\nexport const CheckNonce: GetChainSignedExtension = (ctx) =>\n ctx.chainHead\n .call$(ctx.at, \"AccountNonceApi_account_nonce\", toHex(ctx.from))\n .pipe(\n map((result) => {\n const bytes = fromHex(result)\n const decoder = lenToDecoder[bytes.length as 2 | 4 | 8]\n if (!decoder)\n throw new Error(\"AccountNonceApi_account_nonce retrieved wrong data\")\n return compact.enc(decoder(bytes))\n }),\n map((value) => ({ value, additionalSigned: empty })),\n )\n","import { map } from \"rxjs\"\nimport type { GetChainSignedExtension } from \"../internal-types\"\nimport { empty, systemVersionProp$ } from \"../utils\"\n\nexport const CheckSpecVersion: GetChainSignedExtension = ({ metadata }) =>\n systemVersionProp$(\"spec_version\", metadata).pipe(\n map((additionalSigned) => ({ additionalSigned, value: empty })),\n )\n","import { map } from \"rxjs\"\nimport type { GetChainSignedExtension } from \"../internal-types\"\nimport { empty, systemVersionProp$ } from \"../utils\"\n\nexport const CheckTxVersion: GetChainSignedExtension = ({ metadata }) =>\n systemVersionProp$(\"transaction_version\", metadata).pipe(\n map((additionalSigned) => ({ additionalSigned, value: empty })),\n )\n","export type {\n Codec,\n SS58String,\n HexString,\n GetEnum,\n PlainDescriptor,\n AssetDescriptor,\n TxDescriptor,\n StorageDescriptor,\n QueryFromDescriptors,\n TxFromDescriptors,\n EventsFromDescriptors,\n ErrorsFromDescriptors,\n ConstFromDescriptors,\n RuntimeDescriptor,\n ResultPayload,\n FixedSizeBinary,\n} from \"@polkadot-api/substrate-bindings\"\nexport {\n AccountId,\n Binary,\n Enum,\n _Enum,\n} from \"@polkadot-api/substrate-bindings\"\n"],"mappings":"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","names":["firstValueFrom","map","checksums","isCompatible","compatibilityHelper","map","firstValueFrom","map","Observable","Observable","Subscription","value","compatibilityHelper","map","firstValueFrom","filter","map","mergeMap","compatibilityHelper","map","isOptionalArg","compatibilityHelper","isCompatible","toHex","Observable","firstValueFrom","map","mergeMap","mergeMap","map","Observable","compatibilityHelper","arg","firstValueFrom","toHex","combineLatest","mergeMap","of","take","of","map","noop","of","u32","of","map","of","fromHex","map","of","fromHex","of","Bytes","Option","compact","compact","Option","Bytes","of","map","map","map","compact","u16","u32","fromHex","toHex","u16","u32","map","compact","map","map","map","map","take","mergeMap","combineLatest","of","firstValueFrom","Binary","Enum"]}
package/dist/min/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var N=Object.defineProperty;var Le=Object.getOwnPropertyDescriptor;var Me=Object.getOwnPropertyNames;var We=Object.prototype.hasOwnProperty;var Ue=(e,t,n)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var pe=(e,t)=>{for(var n in t)N(e,n,{get:t[n],enumerable:!0})},Ne=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of Me(t))!We.call(e,l)&&l!==n&&N(e,l,{get:()=>t[l],enumerable:!(r=Le(t,l))||r.enumerable});return e};var Ge=e=>Ne(N({},"__esModule",{value:!0}),e);var ne=(e,t,n)=>(Ue(e,typeof t!="symbol"?t+"":t,n),n);var at={};pe(at,{AccountId:()=>w.AccountId,Binary:()=>w.Binary,Enum:()=>w.Enum,_Enum:()=>w._Enum,createClient:()=>st});module.exports=Ge(at);var ze=require("@polkadot-api/substrate-client"),U=require("rxjs");var G=require("rxjs");var P=require("rxjs");var oe=class{constructor(t,n){ne(this,"_ctx");ne(this,"_checksums");this._ctx=t,this._checksums=n}};function M(e){return e._ctx}function me(e,t){return e._checksums[t]}var re=(e,t)=>new oe(e,t),ce=(e,t)=>{let n,r=null;n=new Promise(a=>{r=a});let l=(0,P.combineLatest)([t.runtime$,e]);l.subscribe(([a,c])=>{a?r?(r(re(a,c)),r=null):n=Promise.resolve(re(a,c)):r||(n=new Promise(p=>{r=p}))});let s=l.pipe((0,P.filter)(([a])=>!!a),(0,P.map)(([a,c])=>re(a,c)));return s.latest=()=>n,s},H=(e,t)=>n=>{function r(p){let d=M(p),u=me(p,t);return n(d)===u}let l=p=>p?r(p):e.latest().then(r),s=async()=>{let p=await e.latest();return d=>n(d)===me(p,t)};return{isCompatible:l,waitChecksums:s,withCompatibleRuntime:(p,d,u)=>y=>(0,P.combineLatest)([y.pipe(p.withRuntime(d)),s()]).pipe((0,P.map)(([[i,o],m])=>{if(!m(o))throw u();return[i,o]})),compatibleRuntime$:(p,d,u)=>(0,P.combineLatest)([p.getRuntimeContext$(d),s()]).pipe((0,P.map)(([y,i])=>{if(!i(y))throw u();return y}))}};var ue=(e,t,n,r)=>{let{isCompatible:l,compatibleRuntime$:s}=r(u=>u.checksumBuilder.buildConstant(e,t)),a=()=>new Error(`Incompatible runtime entry Constant(${e}.${t})`),c=new WeakMap,p=u=>{if(c.has(u))return c.get(u);let i=u.metadata.pallets.find(m=>m.name===e)?.constants.find(m=>m.name===t),o=u.dynamicBuilder.buildConstant(e,t).dec(i.value);return c.set(u,o),o};return Object.assign(u=>{if(u){if(!l(u))throw a();return p(M(u))}return(0,G.firstValueFrom)(s(n,null,a).pipe((0,G.map)(p)))},{isCompatible:l})};var V=require("rxjs");var j=require("rxjs"),ye=(0,j.share)({connector:()=>new j.ReplaySubject(1),resetOnError:!0,resetOnComplete:!0,resetOnRefCountZero:!0});var de=require("@polkadot-api/utils"),be=require("rxjs");function W(e,t){return new Promise((n,r)=>{let l=null,s=!1,a=t?()=>{l?.unsubscribe(),r(new de.AbortError)}:be.noop;l=e.subscribe({next:c=>{n(c),l?.unsubscribe(),s=!0},error:c=>{t?.removeEventListener("abort",a),r(c)},complete:()=>{t?.removeEventListener("abort",a),r(new Error("Observable completed without emitting"))}}),s||t?.addEventListener("abort",a)})}var K=require("rxjs"),ge=(e,t=1/0)=>n=>new K.Observable(r=>{let l,s=new Map,a=new Map,c=new Map,p=0,d=0,u=0,y=()=>{let i=s.get(d);if(!i){a.size===0&&(typeof l>"u"||l.closed)&&r.complete();return}let o=d++;s.delete(o),u!==o&&c.set(o,[]),a.set(o,i.subscribe({next(m){u===o?r.next(m):c.get(o).push(m)},complete(){if(a.delete(o),o===u)for(u++;c.has(u)&&(c.get(u).forEach(m=>r.next(m)),c.delete(u),!a.has(u));)u++;y()},error(m){r.error(m)}}))};return l=n.subscribe({next(i){let o=p++;s.set(o,(0,K.defer)(()=>e(i,o))),a.size<t&&y()},error(i){r.error(i)},complete(){a.size===0&&r.complete()}}),()=>{a.forEach(i=>i.unsubscribe()),l.unsubscribe(),s.clear(),c.clear()}});var fe=require("rxjs"),ie=Symbol("EMPTY_VALUE"),xe=e=>t=>new fe.Observable(n=>{let r=null,l=ie,s=!1,a=()=>{let p=e(l);l=ie,r=p.subscribe({next(d){n.next(d)},error(d){n.error(d)},complete(){l!==ie?a():(r=null,s&&n.complete())}})},c=t.subscribe({next(p){l=p,r||a()},error(p){n.error(p)},complete(){r||n.complete(),s=!0}});return()=>{r?.unsubscribe(),c.unsubscribe()}});var he=(e,t,n,r)=>{let{isCompatible:l,withCompatibleRuntime:s}=r(y=>y.checksumBuilder.buildEvent(e,t)),a=()=>new Error(`Incompatible runtime entry Event(${e}.${t})`),c=n.finalized$.pipe(s(n,y=>y.hash,a),ge(([y])=>n.eventsAt$(y.hash).pipe((0,V.map)(i=>i.filter(m=>m.event.type===e&&m.event.value.type===t).map(m=>({meta:{phase:m.phase,block:y},payload:m.event.value.value}))))),ye);return{watch:y=>c.pipe((0,V.mergeMap)(i=>y?i.filter(o=>y(o.payload)):i)),pull:()=>(0,V.firstValueFrom)(c),filter:y=>y.filter(i=>i.type===e&&i.value.type===t).map(i=>i.value.value),isCompatible:l}};var _e=require("@polkadot-api/observable-client");var Ce=require("@polkadot-api/utils"),Y=require("rxjs"),je=e=>typeof e!="object"?!1:Object.keys(e).every(t=>t==="at"&&typeof e.at=="string"||t==="signal"&&e.signal instanceof AbortSignal),Ee=(e,t,n,r)=>{let{isCompatible:l,compatibleRuntime$:s}=r(d=>d.checksumBuilder.buildRuntimeCall(e,t)),a=`${e}_${t}`,c=()=>new Error(`Incompatible runtime entry RuntimeCall(${a})`);return Object.assign((...d)=>{let u=d[d.length-1],y=je(u),{signal:i,at:o}=y?u:{},m=o??null,v=s(n,m,c).pipe((0,Y.mergeMap)(C=>{let A=C.dynamicBuilder.buildRuntimeCall(e,t);return n.call$(m,a,(0,Ce.toHex)(A.args.enc(d))).pipe((0,Y.map)(A.value.dec))}));return W(v,i)},{isCompatible:l})};var I=require("rxjs"),ve=e=>typeof e!="object"?!1:Object.keys(e).every(t=>t==="at"&&typeof e.at=="string"||t==="signal"&&e.signal instanceof AbortSignal),Ae=(e,t,n,r)=>{let{isCompatible:l,waitChecksums:s,withCompatibleRuntime:a}=r(o=>o.checksumBuilder.buildStorage(e,t)),c=()=>new Error(`Incompatible runtime entry Storage(${e}.${t})`),p=o=>new Error(`Invalid Arguments calling ${e}.${t}(${o})`),d=(...o)=>{let m=o[o.length-1],v=m==="best"||m==="finalized"?o.slice(0,-1):o;return n[m==="best"?"best$":"finalized$"].pipe((0,I.debounceTime)(0),a(n,C=>C.hash,c),xe(([C,A])=>{let O=A.dynamicBuilder.buildStorage(e,t);return n.storage$(C.hash,"value",()=>O.enc(...v)).pipe((0,I.map)(D=>({val:D,codecs:O})))}),(0,I.distinctUntilChanged)((C,A)=>C.val===A.val),(0,I.map)(({val:C,codecs:A})=>C===null?A.fallback:A.dec(C)))},u=async(...o)=>{let m=o[o.length-1],v=ve(m),{signal:C,at:A}=v?m:{},O=A??null,D=await s(),f=n.storage$(O,"value",g=>{let x=g.dynamicBuilder.buildStorage(e,t),h=o.length===x.len?o:o.slice(0,-1);if(o!==h&&!v)throw p(o);if(!D(g))throw c();return x.enc(...h)},null,(g,x)=>{let h=x.dynamicBuilder.buildStorage(e,t);return g===null?h.fallback:h.dec(g)});return W(f,C)};return{isCompatible:l,getValue:u,getValues:(o,m)=>Promise.all(o.map(v=>u(...m?[...v,m]:v))),getEntries:async(...o)=>{let m=o[o.length-1],v=ve(m),{signal:C,at:A}=v?m:{},O=A??null,D=await s(),f=n.storage$(O,"descendantsValues",g=>{let x=g.dynamicBuilder.buildStorage(e,t);if(o.length>x.len)throw p(o);let h=o.length>0&&v?o.slice(0,-1):o;if(o.length===x.len&&h===o)throw p(o);if(!D(g))throw c();return x.enc(...h)},null,(g,x)=>{let h=x.dynamicBuilder.buildStorage(e,t);return g.map(({key:T,value:B})=>({keyArgs:h.keyDecoder(T),value:h.dec(B)}))});return W(f,C)},watchValue:d}};var E=require("@polkadot-api/substrate-bindings"),F=require("@polkadot-api/utils"),b=require("rxjs");var Ke=(e,t)=>{let n=e.filter(s=>s.phase.type==="ApplyExtrinsic"&&s.phase.value===t).map(s=>s.event),r=n[n.length-1];return{ok:r.type==="System"&&r.value.type==="ExtrinsicSuccess",events:n}},Se=(e,t)=>{let n=s=>(0,b.concat)(e.finalized$.pipe((0,b.take)(1),(0,b.mergeMap)(a=>e.validateTx$(s,a.hash)),(0,b.map)(a=>{if(!a)throw new Error("Invalid");return{type:"broadcasted"}})),new b.Observable(a=>{let c=e.trackTx$(s).subscribe(a);return c.add(t.broadcastTx$(s).subscribe({error(p){a.error(p)}})),c})),r=s=>n(s).pipe((0,b.mergeMap)(a=>a.type!=="finalized"?(0,b.of)(a):e.eventsAt$(a.block.hash).pipe((0,b.map)(c=>({...a,...Ke(c,Number(a.block.index))})))));return{submit$:r,submit:async s=>(0,b.lastValueFrom)(r(s)).then(a=>{if(a.type!=="finalized")throw null;let c={...a};return delete c.type,c})}},Ye=(0,E.Option)((0,E.Tuple)(E.u128,E.u128,E.u128)).dec,Te=(e,t,n,r,l,s,a)=>{let{isCompatible:c,compatibleRuntime$:p}=a(y=>y.checksumBuilder.buildCall(e,t)),d=()=>new Error(`Incompatible runtime entry Tx(${e}.${t})`);return Object.assign(y=>{let i=({dynamicBuilder:f,asset:[g,x]},h,T={})=>{let B=T;if(T.asset){if(n!==x)throw new Error("Incompatible runtime asset");B={...T,asset:g(T.asset)}}let{location:ee,codec:te}=f.buildCall(e,t);return{callData:E.Binary.fromBytes((0,F.mergeUint8)(new Uint8Array(ee),te.enc(h))),hinted:B}},o=(f,g={})=>p(r,null,d).pipe((0,b.map)(x=>i(x,f,g))),m=f=>{if(f){if(!c(f))throw d();return i(M(f),y).callData}return(0,b.firstValueFrom)(o(y).pipe((0,b.map)(g=>g.callData)))},v=(f,g)=>o(y,g).pipe((0,b.withLatestFrom)(r.finalized$),(0,b.take)(1),(0,b.mergeMap)(([{callData:x,hinted:h},T])=>s(f,x.asBytes(),T,h))),C=(f,g)=>(0,b.firstValueFrom)(v(f,g)).then(F.toHex),A=(f,g)=>C(f,g).then(l.submit),O=(f,g)=>v(f,g).pipe((0,b.mergeMap)(x=>{let h=(0,F.toHex)(x);return l.submit$(h).pipe((0,b.startWith)({type:"signed",tx:h}))}));return{getEstimatedFees:async()=>{let f=(await m()).asBytes(),g=f.length+103,x=g+E.compact.enc(g).length,h=(0,F.toHex)((0,F.mergeUint8)(f,E.u32.enc(x)));return(0,b.firstValueFrom)(r.call$(null,"TransactionPaymentCallApi_query_call_fee_details",h).pipe((0,b.map)(T=>{let B=Ye(T);if(!B)throw new Error("Unable to calculate tx fees");return B.reduce((ee,te)=>ee+te)})))},decodedCall:(0,E.Enum)(e,(0,E.Enum)(t,y)),getEncodedData:m,sign:C,signSubmitAndWatch:O,signAndSubmit:A}},{isCompatible:c})};var R=require("rxjs");var ke=require("@polkadot-api/substrate-bindings"),Re=require("rxjs");var z=require("rxjs"),_=require("@polkadot-api/substrate-bindings"),q=require("@polkadot-api/metadata-builders"),Pe=require("@polkadot-api/utils"),S=new Uint8Array,qe=(0,_.Storage)("System")("BlockHash",z.noop,[_.u32,_.Twox64Concat]).enc(0),J=e=>e.chainHead.storage$(e.at,"value",()=>qe,null).pipe((0,z.map)(t=>(0,Pe.fromHex)(t))),Z=(e,t)=>{let n=(0,q.getLookupFn)(t.lookup),r=(0,q.getDynamicBuilder)(t),l=t.pallets.find(p=>p.name==="System").constants.find(p=>p.name==="Version"),s=n(l.type),a=r.buildDefinition(l.type).dec;if(s.type!=="struct")throw new Error("not a struct");let c=r.buildDefinition(s.value[e].id).enc;return(0,z.of)(c(a(l.value)[e]))};var Oe=e=>(0,Re.of)({value:ke.compactBn.enc(e),additionalSigned:S});var Q=require("rxjs"),L=require("@polkadot-api/substrate-bindings"),$e=require("@polkadot-api/utils");function Je(e){let t=0;for(;!(e&1);)t++,e>>=1;return t}var Ze=(0,L.enhanceEncoder)((0,L.Bytes)(2).enc,e=>{let t=Math.max(e.period>>12,1),n=Math.min(Math.max(Je(e.period)-1,1),15),r=e.phase/t<<4;return L.u16.enc(n|r)}),Qe=new Uint8Array([0]),we=(e,t)=>{if(!e)return J(t).pipe((0,Q.map)(l=>({additionalSigned:l,value:Qe})));let{period:n,blockNumber:r}=e;return(0,Q.of)({additionalSigned:(0,$e.fromHex)(t.at),value:Ze({period:n,phase:r%n})})};var Be=require("rxjs"),$=require("@polkadot-api/substrate-bindings");var Xe=(0,$.Struct)({tip:$.compact,asset:(0,$.Option)((0,$.Bytes)(1/0))}).enc,Ie=(e,t)=>(0,Be.of)({value:Xe({tip:e,asset:t}),additionalSigned:S});var ae={};pe(ae,{CheckGenesis:()=>et,CheckNonce:()=>nt,CheckSpecVersion:()=>rt,CheckTxVersion:()=>ot});var Fe=require("rxjs");var et=e=>J(e).pipe((0,Fe.map)(t=>({value:S,additionalSigned:t})));var se=require("rxjs"),k=require("@polkadot-api/substrate-bindings");var X=require("@polkadot-api/utils"),tt={1:k.u8.dec,2:k.u16.dec,4:k.u32.dec,8:k.u64.dec},nt=e=>e.chainHead.call$(e.at,"AccountNonceApi_account_nonce",(0,X.toHex)(e.from)).pipe((0,se.map)(t=>{let n=(0,X.fromHex)(t),r=tt[n.length];if(!r)throw new Error("AccountNonceApi_account_nonce retrieved wrong data");return k.compact.enc(r(n))}),(0,se.map)(t=>({value:t,additionalSigned:S})));var De=require("rxjs");var rt=({metadata:e})=>Z("spec_version",e).pipe((0,De.map)(t=>({additionalSigned:t,value:S})));var He=require("rxjs");var ot=({metadata:e})=>Z("transaction_version",e).pipe((0,He.map)(t=>({additionalSigned:t,value:S})));var le=require("@polkadot-api/substrate-bindings");var Ve=e=>(t,n,r,l)=>e.getRuntimeContext$(r.hash).pipe((0,R.take)(1),(0,R.mergeMap)(s=>{let a={metadata:s.metadata,chainHead:e,callData:n,at:r.hash,from:t.publicKey},c=l?.mortality?.mortal?{period:l.mortality.period,blockNumber:r.number}:void 0;return(0,R.combineLatest)(s.metadata.extrinsic.signedExtensions.map(({identifier:p,type:d,additionalSigned:u})=>{if(p==="CheckMortality")return we(c,a);if(p==="ChargeTransactionPayment")return Oe(l?.tip??0n);if(p==="ChargeAssetTxPayment")return Ie(l?.tip??0n,l?.asset);let y=ae[p];if(!y){if(s.dynamicBuilder.buildDefinition(d)===le._void&&s.dynamicBuilder.buildDefinition(u)===le._void)return(0,R.of)({value:S,additionalSigned:S});throw new Error(`Unsupported signed-extension: ${p}`)}return y(a)})).pipe((0,R.mergeMap)(p=>t.sign(n,Object.fromEntries(s.metadata.extrinsic.signedExtensions.map(({identifier:d},u)=>[d,{identifier:d,...p[u]}])),s.metadataRaw,r.number)))}));var it=(e,t,n,r)=>{let l=ce(e.checksums,n),{pallets:s,apis:a}=e,c={};for(let i in s){c[i]||(c[i]={});let[o]=s[i];for(let m in o)c[i][m]=Ae(i,m,n,H(l,o[m]))}let p={};for(let i in s){p[i]||(p[i]={});let[,o]=s[i];for(let m in o)p[i][m]=Te(i,m,e.asset,n,r,t,H(l,o[m]))}let d={};for(let i in s){d[i]||(d[i]={});let[,,o]=s[i];for(let m in o)d[i][m]=he(i,m,n,H(l,o[m]))}let u={};for(let i in s){u[i]||(u[i]={});let[,,,,o]=s[i];for(let m in o)u[i][m]=ue(i,m,n,H(l,o[m]))}let y={};for(let i in a){y[i]||(y[i]={});let o=a[i];for(let m in o)y[i][m]=Ee(i,m,n,H(l,o[m]))}return{query:c,tx:p,event:d,apis:y,constants:u,runtime:l}};function st(e){let t=(0,ze.createClient)(e),n=(0,_e.getObservableClient)(t),r=n.chainHead$(),l=Ve(r),s=Se(r,n),{submit:a,submit$:c}=s;return{finalizedBlock$:r.finalized$,getFinalizedBlock:()=>(0,U.firstValueFrom)(r.finalized$),bestBlocks$:r.bestBlocks$,getBestBlocks:()=>(0,U.firstValueFrom)(r.bestBlocks$),watchBlockBlody:r.body$,getBlockBody:p=>(0,U.firstValueFrom)(r.body$(p)),getBlockHeader:p=>(0,U.firstValueFrom)(r.header$(p??null)),submit:a,submitAndWatch:c,getTypedApi:p=>it(p,l,r,s),destroy:()=>{r.unfollow(),n.destroy()}}}var w=require("@polkadot-api/substrate-bindings");
1
+ "use strict";var N=Object.defineProperty;var We=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Me=Object.prototype.hasOwnProperty;var Le=(e,t,r)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var pe=(e,t)=>{for(var r in t)N(e,r,{get:t[r],enumerable:!0})},Ue=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of _e(t))!Me.call(e,i)&&i!==r&&N(e,i,{get:()=>t[i],enumerable:!(n=We(t,i))||n.enumerable});return e};var Ne=e=>Ue(N({},"__esModule",{value:!0}),e);var re=(e,t,r)=>(Le(e,typeof t!="symbol"?t+"":t,r),r);var st={};pe(st,{AccountId:()=>w.AccountId,Binary:()=>w.Binary,Enum:()=>w.Enum,_Enum:()=>w._Enum,createClient:()=>it});module.exports=Ne(st);var Ve=require("@polkadot-api/substrate-client"),U=require("rxjs");var G=require("rxjs");var k=require("rxjs");var ie=class{constructor(t,r){re(this,"_ctx");re(this,"_checksums");this._ctx=t,this._checksums=r}};function M(e){return e._ctx}function ce(e,t){return e._checksums[t]}var oe=(e,t)=>new ie(e,t),me=(e,t)=>{let r,n=null;r=new Promise(l=>{n=l});let i=(0,k.combineLatest)([t.runtime$,e]);i.subscribe(([l,m])=>{l?n?(n(oe(l,m)),n=null):r=Promise.resolve(oe(l,m)):n||(r=new Promise(p=>{n=p}))});let a=i.pipe((0,k.filter)(([l])=>!!l),(0,k.map)(([l,m])=>oe(l,m)));return a.latest=()=>r,a},H=(e,t)=>r=>{function n(p){let y=M(p),u=ce(p,t);return r(y)===u}let i=p=>p?n(p):e.latest().then(n),a=async()=>{let p=await e.latest();return y=>r(y)===ce(p,t)};return{isCompatible:i,waitChecksums:a,withCompatibleRuntime:(p,y,u)=>d=>(0,k.combineLatest)([d.pipe(p.withRuntime(y)),a()]).pipe((0,k.map)(([[s,o],c])=>{if(!c(o))throw u();return[s,o]})),compatibleRuntime$:(p,y,u)=>(0,k.combineLatest)([p.getRuntimeContext$(y),a()]).pipe((0,k.map)(([d,s])=>{if(!s(d))throw u();return d}))}};var ue=(e,t,r,n)=>{let{isCompatible:i,compatibleRuntime$:a}=n(u=>u.checksumBuilder.buildConstant(e,t)),l=()=>new Error(`Incompatible runtime entry Constant(${e}.${t})`),m=new WeakMap,p=u=>{if(m.has(u))return m.get(u);let s=u.metadata.pallets.find(c=>c.name===e)?.constants.find(c=>c.name===t),o=u.dynamicBuilder.buildConstant(e,t).dec(s.value);return m.set(u,o),o};return Object.assign(u=>{if(u){if(!i(u))throw l();return p(M(u))}return(0,G.firstValueFrom)(a(r,null,l).pipe((0,G.map)(p)))},{isCompatible:i})};var V=require("rxjs");var j=require("rxjs"),de=(0,j.share)({connector:()=>new j.ReplaySubject(1),resetOnError:!0,resetOnComplete:!0,resetOnRefCountZero:!0});var ye=require("@polkadot-api/utils"),be=require("rxjs");function L(e,t){return new Promise((r,n)=>{let i=null,a=!1,l=t?()=>{i?.unsubscribe(),n(new ye.AbortError)}:be.noop;i=e.subscribe({next:m=>{r(m),i?.unsubscribe(),a=!0},error:m=>{t?.removeEventListener("abort",l),n(m)},complete:()=>{t?.removeEventListener("abort",l),n(new Error("Observable completed without emitting"))}}),a||t?.addEventListener("abort",l)})}var K=require("rxjs"),ge=(e,t=1/0)=>r=>new K.Observable(n=>{let i,a=new Map,l=new Map,m=new Map,p=0,y=0,u=0,d=()=>{let s=a.get(y);if(!s){l.size===0&&(typeof i>"u"||i.closed)&&n.complete();return}let o=y++;a.delete(o),u!==o&&m.set(o,[]),l.set(o,s.subscribe({next(c){u===o?n.next(c):m.get(o).push(c)},complete(){if(l.delete(o),o===u)for(u++;m.has(u)&&(m.get(u).forEach(c=>n.next(c)),m.delete(u),!l.has(u));)u++;d()},error(c){n.error(c)}}))};return i=r.subscribe({next(s){let o=p++;a.set(o,(0,K.defer)(()=>e(s,o))),l.size<t&&d()},error(s){n.error(s)},complete(){l.size===0&&n.complete()}}),()=>{l.forEach(s=>s.unsubscribe()),i.unsubscribe(),a.clear(),m.clear()}});var q=require("rxjs"),fe=(e,t)=>r=>new q.Observable(n=>{let i=new Array,a=!1,l=p=>{let y=new q.Subscription;i.push(y),i.length>t&&(i[0].unsubscribe(),i=i.slice(1));let u=e(p).subscribe({next(d){let s=i.indexOf(y);i.slice(0,s).forEach(o=>o.unsubscribe()),i=i.slice(s),n.next(d)},error(d){n.error(d)},complete(){let d=i.indexOf(y);i.splice(d,1),i.length===0&&a&&n.complete()}});y.add(u)},m=r.subscribe({next(p){l(p)},error(p){n.error(p)},complete(){i.length===0&&n.complete(),a=!0}});return()=>{m.unsubscribe(),i.forEach(p=>p.unsubscribe())}});var xe=(e,t,r,n)=>{let{isCompatible:i,withCompatibleRuntime:a}=n(d=>d.checksumBuilder.buildEvent(e,t)),l=()=>new Error(`Incompatible runtime entry Event(${e}.${t})`),m=r.finalized$.pipe(a(r,d=>d.hash,l),ge(([d])=>r.eventsAt$(d.hash).pipe((0,V.map)(s=>s.filter(c=>c.event.type===e&&c.event.value.type===t).map(c=>({meta:{phase:c.phase,block:d},payload:c.event.value.value}))))),de);return{watch:d=>m.pipe((0,V.mergeMap)(s=>d?s.filter(o=>d(o.payload)):s)),pull:()=>(0,V.firstValueFrom)(m),filter:d=>d.filter(s=>s.type===e&&s.value.type===t).map(s=>s.value.value),isCompatible:i}};var ze=require("@polkadot-api/observable-client");var he=require("@polkadot-api/utils"),J=require("rxjs"),Ge=e=>typeof e!="object"?!1:Object.keys(e).every(t=>t==="at"&&typeof e.at=="string"||t==="signal"&&e.signal instanceof AbortSignal),Ce=(e,t,r,n)=>{let{isCompatible:i,compatibleRuntime$:a}=n(y=>y.checksumBuilder.buildRuntimeCall(e,t)),l=`${e}_${t}`,m=()=>new Error(`Incompatible runtime entry RuntimeCall(${l})`);return Object.assign((...y)=>{let u=y[y.length-1],d=Ge(u),{signal:s,at:o}=d?u:{},c=o??null,v=a(r,c,m).pipe((0,J.mergeMap)(C=>{let A=C.dynamicBuilder.buildRuntimeCall(e,t);return r.call$(c,l,(0,he.toHex)(A.args.enc(y))).pipe((0,J.map)(A.value.dec))}));return L(v,s)},{isCompatible:i})};var I=require("rxjs"),Ee=e=>typeof e!="object"?!1:Object.keys(e).every(t=>t==="at"&&typeof e.at=="string"||t==="signal"&&e.signal instanceof AbortSignal),ve=(e,t,r,n)=>{let{isCompatible:i,waitChecksums:a,withCompatibleRuntime:l}=n(o=>o.checksumBuilder.buildStorage(e,t)),m=()=>new Error(`Incompatible runtime entry Storage(${e}.${t})`),p=o=>new Error(`Invalid Arguments calling ${e}.${t}(${o})`),y=(...o)=>{let c=o[o.length-1],v=c==="best"||c==="finalized"?o.slice(0,-1):o;return r[c==="best"?"best$":"finalized$"].pipe((0,I.debounceTime)(0),l(r,C=>C.hash,m),fe(([C,A])=>{let O=A.dynamicBuilder.buildStorage(e,t);return r.storage$(C.hash,"value",()=>O.enc(...v)).pipe((0,I.map)(D=>({val:D,codecs:O})))},4),(0,I.distinctUntilChanged)((C,A)=>C.val===A.val),(0,I.map)(({val:C,codecs:A})=>C===null?A.fallback:A.dec(C)))},u=async(...o)=>{let c=o[o.length-1],v=Ee(c),{signal:C,at:A}=v?c:{},O=A??null,D=await a(),f=r.storage$(O,"value",g=>{if(!D(g))throw m();let x=g.dynamicBuilder.buildStorage(e,t),h=o.length===x.len?o:o.slice(0,-1);if(o!==h&&!v)throw p(o);return x.enc(...h)},null,(g,x)=>{let h=x.dynamicBuilder.buildStorage(e,t);return g===null?h.fallback:h.dec(g)});return L(f,C)};return{isCompatible:i,getValue:u,getValues:(o,c)=>Promise.all(o.map(v=>u(...c?[...v,c]:v))),getEntries:async(...o)=>{let c=o[o.length-1],v=Ee(c),{signal:C,at:A}=v?c:{},O=A??null,D=await a(),f=r.storage$(O,"descendantsValues",g=>{if(!D(g))throw m();let x=g.dynamicBuilder.buildStorage(e,t);if(o.length>x.len)throw p(o);let h=o.length>0&&v?o.slice(0,-1):o;if(o.length===x.len&&h===o)throw p(o);return x.enc(...h)},null,(g,x)=>{let h=x.dynamicBuilder.buildStorage(e,t);return g.map(({key:T,value:B})=>({keyArgs:h.keyDecoder(T),value:h.dec(B)}))});return L(f,C)},watchValue:y}};var E=require("@polkadot-api/substrate-bindings"),F=require("@polkadot-api/utils"),b=require("rxjs");var je=(e,t)=>{let r=e.filter(a=>a.phase.type==="ApplyExtrinsic"&&a.phase.value===t).map(a=>a.event),n=r[r.length-1];return{ok:n.type==="System"&&n.value.type==="ExtrinsicSuccess",events:r}},Ae=(e,t)=>{let r=a=>(0,b.concat)(e.finalized$.pipe((0,b.take)(1),(0,b.mergeMap)(l=>e.validateTx$(a,l.hash)),(0,b.map)(l=>{if(!l)throw new Error("Invalid");return{type:"broadcasted"}})),new b.Observable(l=>{let m=e.trackTx$(a).subscribe(l);return m.add(t.broadcastTx$(a).subscribe({error(p){l.error(p)}})),m})),n=a=>r(a).pipe((0,b.mergeMap)(l=>l.type!=="finalized"?(0,b.of)(l):e.eventsAt$(l.block.hash).pipe((0,b.map)(m=>({...l,...je(m,Number(l.block.index))})))));return{submit$:n,submit:async a=>(0,b.lastValueFrom)(n(a)).then(l=>{if(l.type!=="finalized")throw null;let m={...l};return delete m.type,m})}},Ke=(0,E.Option)((0,E.Tuple)(E.u128,E.u128,E.u128)).dec,Se=(e,t,r,n,i,a,l)=>{let{isCompatible:m,compatibleRuntime$:p}=l(d=>d.checksumBuilder.buildCall(e,t)),y=()=>new Error(`Incompatible runtime entry Tx(${e}.${t})`);return Object.assign(d=>{let s=({dynamicBuilder:f,asset:[g,x]},h,T={})=>{let B=T;if(T.asset){if(r!==x)throw new Error("Incompatible runtime asset");B={...T,asset:g(T.asset)}}let{location:te,codec:ne}=f.buildCall(e,t);return{callData:E.Binary.fromBytes((0,F.mergeUint8)(new Uint8Array(te),ne.enc(h))),hinted:B}},o=(f,g={})=>p(n,null,y).pipe((0,b.map)(x=>s(x,f,g))),c=f=>{if(f){if(!m(f))throw y();return s(M(f),d).callData}return(0,b.firstValueFrom)(o(d).pipe((0,b.map)(g=>g.callData)))},v=(f,g)=>o(d,g).pipe((0,b.withLatestFrom)(n.finalized$),(0,b.take)(1),(0,b.mergeMap)(([{callData:x,hinted:h},T])=>a(f,x.asBytes(),T,h))),C=(f,g)=>(0,b.firstValueFrom)(v(f,g)).then(F.toHex),A=(f,g)=>C(f,g).then(i.submit),O=(f,g)=>v(f,g).pipe((0,b.mergeMap)(x=>{let h=(0,F.toHex)(x);return i.submit$(h).pipe((0,b.startWith)({type:"signed",tx:h}))}));return{getEstimatedFees:async()=>{let f=(await c()).asBytes(),g=f.length+103,x=g+E.compact.enc(g).length,h=(0,F.toHex)((0,F.mergeUint8)(f,E.u32.enc(x)));return(0,b.firstValueFrom)(n.call$(null,"TransactionPaymentCallApi_query_call_fee_details",h).pipe((0,b.map)(T=>{let B=Ke(T);if(!B)throw new Error("Unable to calculate tx fees");return B.reduce((te,ne)=>te+ne)})))},decodedCall:(0,E.Enum)(e,(0,E.Enum)(t,d)),getEncodedData:c,sign:C,signSubmitAndWatch:O,signAndSubmit:A}},{isCompatible:m})};var R=require("rxjs");var ke=require("@polkadot-api/substrate-bindings"),Pe=require("rxjs");var z=require("rxjs"),W=require("@polkadot-api/substrate-bindings"),Z=require("@polkadot-api/metadata-builders"),Te=require("@polkadot-api/utils"),S=new Uint8Array,qe=(0,W.Storage)("System")("BlockHash",z.noop,[W.u32,W.Twox64Concat]).enc(0),Q=e=>e.chainHead.storage$(e.at,"value",()=>qe,null).pipe((0,z.map)(t=>(0,Te.fromHex)(t))),X=(e,t)=>{let r=(0,Z.getLookupFn)(t.lookup),n=(0,Z.getDynamicBuilder)(t),i=t.pallets.find(p=>p.name==="System").constants.find(p=>p.name==="Version"),a=r(i.type),l=n.buildDefinition(i.type).dec;if(a.type!=="struct")throw new Error("not a struct");let m=n.buildDefinition(a.value[e].id).enc;return(0,z.of)(m(l(i.value)[e]))};var Re=e=>(0,Pe.of)({value:ke.compactBn.enc(e),additionalSigned:S});var Y=require("rxjs"),_=require("@polkadot-api/substrate-bindings"),Oe=require("@polkadot-api/utils");function Je(e){let t=0;for(;!(e&1);)t++,e>>=1;return t}var Ze=(0,_.enhanceEncoder)((0,_.Bytes)(2).enc,e=>{let t=Math.max(e.period>>12,1),r=Math.min(Math.max(Je(e.period)-1,1),15),n=e.phase/t<<4;return _.u16.enc(r|n)}),Qe=new Uint8Array([0]),$e=(e,t)=>{if(!e)return Q(t).pipe((0,Y.map)(i=>({additionalSigned:i,value:Qe})));let{period:r,blockNumber:n}=e;return(0,Y.of)({additionalSigned:(0,Oe.fromHex)(t.at),value:Ze({period:r,phase:n%r})})};var we=require("rxjs"),$=require("@polkadot-api/substrate-bindings");var Xe=(0,$.Struct)({tip:$.compact,asset:(0,$.Option)((0,$.Bytes)(1/0))}).enc,Be=(e,t)=>(0,we.of)({value:Xe({tip:e,asset:t}),additionalSigned:S});var ae={};pe(ae,{CheckGenesis:()=>Ye,CheckNonce:()=>tt,CheckSpecVersion:()=>nt,CheckTxVersion:()=>rt});var Ie=require("rxjs");var Ye=e=>Q(e).pipe((0,Ie.map)(t=>({value:S,additionalSigned:t})));var se=require("rxjs"),P=require("@polkadot-api/substrate-bindings");var ee=require("@polkadot-api/utils"),et={1:P.u8.dec,2:P.u16.dec,4:P.u32.dec,8:P.u64.dec},tt=e=>e.chainHead.call$(e.at,"AccountNonceApi_account_nonce",(0,ee.toHex)(e.from)).pipe((0,se.map)(t=>{let r=(0,ee.fromHex)(t),n=et[r.length];if(!n)throw new Error("AccountNonceApi_account_nonce retrieved wrong data");return P.compact.enc(n(r))}),(0,se.map)(t=>({value:t,additionalSigned:S})));var Fe=require("rxjs");var nt=({metadata:e})=>X("spec_version",e).pipe((0,Fe.map)(t=>({additionalSigned:t,value:S})));var De=require("rxjs");var rt=({metadata:e})=>X("transaction_version",e).pipe((0,De.map)(t=>({additionalSigned:t,value:S})));var le=require("@polkadot-api/substrate-bindings");var He=e=>(t,r,n,i)=>e.getRuntimeContext$(n.hash).pipe((0,R.take)(1),(0,R.mergeMap)(a=>{let l={metadata:a.metadata,chainHead:e,callData:r,at:n.hash,from:t.publicKey},m=i?.mortality?.mortal?{period:i.mortality.period,blockNumber:n.number}:void 0;return(0,R.combineLatest)(a.metadata.extrinsic.signedExtensions.map(({identifier:p,type:y,additionalSigned:u})=>{if(p==="CheckMortality")return $e(m,l);if(p==="ChargeTransactionPayment")return Re(i?.tip??0n);if(p==="ChargeAssetTxPayment")return Be(i?.tip??0n,i?.asset);let d=ae[p];if(!d){if(a.dynamicBuilder.buildDefinition(y)===le._void&&a.dynamicBuilder.buildDefinition(u)===le._void)return(0,R.of)({value:S,additionalSigned:S});throw new Error(`Unsupported signed-extension: ${p}`)}return d(l)})).pipe((0,R.mergeMap)(p=>t.sign(r,Object.fromEntries(a.metadata.extrinsic.signedExtensions.map(({identifier:y},u)=>[y,{identifier:y,...p[u]}])),a.metadataRaw,n.number)))}));var ot=(e,t,r,n)=>{let i=me(e.checksums,r),{pallets:a,apis:l}=e,m={};for(let s in a){m[s]||(m[s]={});let[o]=a[s];for(let c in o)m[s][c]=ve(s,c,r,H(i,o[c]))}let p={};for(let s in a){p[s]||(p[s]={});let[,o]=a[s];for(let c in o)p[s][c]=Se(s,c,e.asset,r,n,t,H(i,o[c]))}let y={};for(let s in a){y[s]||(y[s]={});let[,,o]=a[s];for(let c in o)y[s][c]=xe(s,c,r,H(i,o[c]))}let u={};for(let s in a){u[s]||(u[s]={});let[,,,,o]=a[s];for(let c in o)u[s][c]=ue(s,c,r,H(i,o[c]))}let d={};for(let s in l){d[s]||(d[s]={});let o=l[s];for(let c in o)d[s][c]=Ce(s,c,r,H(i,o[c]))}return{query:m,tx:p,event:y,apis:d,constants:u,runtime:i}};function it(e){let t=(0,Ve.createClient)(e),r=(0,ze.getObservableClient)(t),n=r.chainHead$(),i=He(n),a=Ae(n,r),{submit:l,submit$:m}=a;return{finalizedBlock$:n.finalized$,getFinalizedBlock:()=>(0,U.firstValueFrom)(n.finalized$),bestBlocks$:n.bestBlocks$,getBestBlocks:()=>(0,U.firstValueFrom)(n.bestBlocks$),watchBlockBlody:n.body$,getBlockBody:p=>(0,U.firstValueFrom)(n.body$(p)),getBlockHeader:p=>(0,U.firstValueFrom)(n.header$(p??null)),submit:l,submitAndWatch:m,getTypedApi:p=>ot(p,i,n,a),destroy:()=>{n.unfollow(),r.destroy()}}}var w=require("@polkadot-api/substrate-bindings");
2
2
  //# sourceMappingURL=index.js.map