@pezkuwi/api 16.5.6 → 16.5.8

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 (379) hide show
  1. package/build/LICENSE +201 -0
  2. package/build/README.md +100 -0
  3. package/build/augment.d.ts +1 -0
  4. package/build/augment.js +1 -0
  5. package/build/base/Decorate.d.ts +143 -0
  6. package/build/base/Decorate.js +752 -0
  7. package/build/base/Events.d.ts +67 -0
  8. package/build/base/Events.js +78 -0
  9. package/build/base/Getters.d.ts +163 -0
  10. package/build/base/Getters.js +207 -0
  11. package/build/base/Init.d.ts +44 -0
  12. package/build/base/Init.js +400 -0
  13. package/build/base/find.d.ts +3 -0
  14. package/build/base/find.js +7 -0
  15. package/build/base/index.d.ts +47 -0
  16. package/build/base/index.js +57 -0
  17. package/build/base/types.d.ts +15 -0
  18. package/build/base/types.js +1 -0
  19. package/build/bundle-pezkuwi-api.js +26247 -0
  20. package/build/bundle.d.ts +7 -0
  21. package/build/bundle.js +7 -0
  22. package/build/cjs/augment.d.ts +1 -0
  23. package/build/cjs/augment.js +3 -0
  24. package/build/cjs/base/Decorate.d.ts +143 -0
  25. package/build/cjs/base/Decorate.js +756 -0
  26. package/build/cjs/base/Events.d.ts +67 -0
  27. package/build/cjs/base/Events.js +82 -0
  28. package/build/cjs/base/Getters.d.ts +163 -0
  29. package/build/cjs/base/Getters.js +211 -0
  30. package/build/cjs/base/Init.d.ts +44 -0
  31. package/build/cjs/base/Init.js +404 -0
  32. package/build/cjs/base/find.d.ts +3 -0
  33. package/build/cjs/base/find.js +11 -0
  34. package/build/cjs/base/index.d.ts +47 -0
  35. package/build/cjs/base/index.js +61 -0
  36. package/build/cjs/base/types.d.ts +15 -0
  37. package/build/cjs/base/types.js +2 -0
  38. package/build/cjs/bundle.d.ts +7 -0
  39. package/build/cjs/bundle.js +17 -0
  40. package/build/cjs/index.d.ts +2 -0
  41. package/build/cjs/index.js +5 -0
  42. package/build/cjs/package.json +3 -0
  43. package/build/cjs/packageDetect.d.ts +1 -0
  44. package/build/cjs/packageDetect.js +10 -0
  45. package/build/cjs/packageInfo.d.ts +6 -0
  46. package/build/cjs/packageInfo.js +4 -0
  47. package/build/cjs/promise/Api.d.ts +158 -0
  48. package/build/cjs/promise/Api.js +195 -0
  49. package/build/cjs/promise/Combinator.d.ts +12 -0
  50. package/build/cjs/promise/Combinator.js +72 -0
  51. package/build/cjs/promise/decorateMethod.d.ts +14 -0
  52. package/build/cjs/promise/decorateMethod.js +75 -0
  53. package/build/cjs/promise/index.d.ts +2 -0
  54. package/build/cjs/promise/index.js +7 -0
  55. package/build/cjs/promise/types.d.ts +5 -0
  56. package/build/cjs/promise/types.js +2 -0
  57. package/build/cjs/rx/Api.d.ts +155 -0
  58. package/build/cjs/rx/Api.js +173 -0
  59. package/build/cjs/rx/decorateMethod.d.ts +3 -0
  60. package/build/cjs/rx/decorateMethod.js +6 -0
  61. package/build/cjs/rx/index.d.ts +2 -0
  62. package/build/cjs/rx/index.js +7 -0
  63. package/build/cjs/submittable/Result.d.ts +31 -0
  64. package/build/cjs/submittable/Result.js +84 -0
  65. package/build/cjs/submittable/createClass.d.ts +12 -0
  66. package/build/cjs/submittable/createClass.js +277 -0
  67. package/build/cjs/submittable/createSubmittable.d.ts +8 -0
  68. package/build/cjs/submittable/createSubmittable.js +8 -0
  69. package/build/cjs/submittable/index.d.ts +2 -0
  70. package/build/cjs/submittable/index.js +7 -0
  71. package/build/cjs/submittable/types.d.ts +1 -0
  72. package/build/cjs/submittable/types.js +2 -0
  73. package/build/cjs/types/calls.d.ts +1 -0
  74. package/build/cjs/types/calls.js +4 -0
  75. package/build/cjs/types/consts.d.ts +1 -0
  76. package/build/cjs/types/consts.js +4 -0
  77. package/build/cjs/types/errors.d.ts +1 -0
  78. package/build/cjs/types/errors.js +4 -0
  79. package/build/cjs/types/events.d.ts +1 -0
  80. package/build/cjs/types/events.js +4 -0
  81. package/build/cjs/types/index.d.ts +114 -0
  82. package/build/cjs/types/index.js +13 -0
  83. package/build/cjs/types/storage.d.ts +1 -0
  84. package/build/cjs/types/storage.js +4 -0
  85. package/build/cjs/types/submittable.d.ts +1 -0
  86. package/build/cjs/types/submittable.js +4 -0
  87. package/build/cjs/util/augmentObject.d.ts +9 -0
  88. package/build/cjs/util/augmentObject.js +84 -0
  89. package/build/cjs/util/decorate.d.ts +16 -0
  90. package/build/cjs/util/decorate.js +17 -0
  91. package/build/cjs/util/filterEvents.d.ts +6 -0
  92. package/build/cjs/util/filterEvents.js +25 -0
  93. package/build/cjs/util/index.d.ts +4 -0
  94. package/build/cjs/util/index.js +11 -0
  95. package/build/cjs/util/isKeyringPair.d.ts +3 -0
  96. package/build/cjs/util/isKeyringPair.js +7 -0
  97. package/build/cjs/util/logging.d.ts +1 -0
  98. package/build/cjs/util/logging.js +5 -0
  99. package/build/cjs/util/validate.d.ts +3 -0
  100. package/build/cjs/util/validate.js +26 -0
  101. package/build/index.d.ts +2 -0
  102. package/build/index.js +2 -0
  103. package/build/package.json +612 -0
  104. package/build/packageDetect.d.ts +1 -0
  105. package/build/packageDetect.js +8 -0
  106. package/build/packageInfo.d.ts +6 -0
  107. package/build/packageInfo.js +1 -0
  108. package/build/promise/Api.d.ts +158 -0
  109. package/build/promise/Api.js +191 -0
  110. package/build/promise/Combinator.d.ts +12 -0
  111. package/build/promise/Combinator.js +68 -0
  112. package/build/promise/decorateMethod.d.ts +14 -0
  113. package/build/promise/decorateMethod.js +71 -0
  114. package/build/promise/index.d.ts +2 -0
  115. package/build/promise/index.js +2 -0
  116. package/build/promise/types.d.ts +5 -0
  117. package/build/promise/types.js +1 -0
  118. package/build/rx/Api.d.ts +155 -0
  119. package/build/rx/Api.js +169 -0
  120. package/build/rx/decorateMethod.d.ts +3 -0
  121. package/build/rx/decorateMethod.js +3 -0
  122. package/build/rx/index.d.ts +2 -0
  123. package/build/rx/index.js +2 -0
  124. package/build/submittable/Result.d.ts +31 -0
  125. package/build/submittable/Result.js +80 -0
  126. package/build/submittable/createClass.d.ts +12 -0
  127. package/build/submittable/createClass.js +274 -0
  128. package/build/submittable/createSubmittable.d.ts +8 -0
  129. package/build/submittable/createSubmittable.js +5 -0
  130. package/build/submittable/index.d.ts +2 -0
  131. package/build/submittable/index.js +2 -0
  132. package/build/submittable/types.d.ts +1 -0
  133. package/build/submittable/types.js +1 -0
  134. package/build/types/calls.d.ts +1 -0
  135. package/build/types/calls.js +1 -0
  136. package/build/types/consts.d.ts +1 -0
  137. package/build/types/consts.js +1 -0
  138. package/build/types/errors.d.ts +1 -0
  139. package/build/types/errors.js +1 -0
  140. package/build/types/events.d.ts +1 -0
  141. package/build/types/events.js +1 -0
  142. package/build/types/index.d.ts +114 -0
  143. package/build/types/index.js +8 -0
  144. package/build/types/storage.d.ts +1 -0
  145. package/build/types/storage.js +1 -0
  146. package/build/types/submittable.d.ts +1 -0
  147. package/build/types/submittable.js +1 -0
  148. package/build/util/augmentObject.d.ts +9 -0
  149. package/build/util/augmentObject.js +81 -0
  150. package/build/util/decorate.d.ts +16 -0
  151. package/build/util/decorate.js +14 -0
  152. package/build/util/filterEvents.d.ts +6 -0
  153. package/build/util/filterEvents.js +22 -0
  154. package/build/util/index.d.ts +4 -0
  155. package/build/util/index.js +4 -0
  156. package/build/util/isKeyringPair.d.ts +3 -0
  157. package/build/util/isKeyringPair.js +4 -0
  158. package/build/util/logging.d.ts +1 -0
  159. package/build/util/logging.js +2 -0
  160. package/build/util/validate.d.ts +3 -0
  161. package/build/util/validate.js +23 -0
  162. package/build-deno/README.md +95 -0
  163. package/build-deno/augment.ts +2 -0
  164. package/build-deno/base/Decorate.ts +1100 -0
  165. package/build-deno/base/Events.ts +89 -0
  166. package/build-deno/base/Getters.ts +243 -0
  167. package/build-deno/base/Init.ts +523 -0
  168. package/build-deno/base/find.ts +12 -0
  169. package/build-deno/base/index.ts +83 -0
  170. package/build-deno/base/types.ts +17 -0
  171. package/build-deno/bundle.ts +11 -0
  172. package/build-deno/checkTypes.manual.ts +320 -0
  173. package/build-deno/index.ts +4 -0
  174. package/build-deno/mod.ts +2 -0
  175. package/build-deno/packageDetect.ts +12 -0
  176. package/build-deno/packageInfo.ts +3 -0
  177. package/build-deno/promise/Api.ts +212 -0
  178. package/build-deno/promise/Combinator.ts +89 -0
  179. package/build-deno/promise/decorateMethod.ts +111 -0
  180. package/build-deno/promise/index.ts +3 -0
  181. package/build-deno/promise/types.ts +7 -0
  182. package/build-deno/rx/Api.ts +184 -0
  183. package/build-deno/rx/decorateMethod.ts +7 -0
  184. package/build-deno/rx/index.ts +3 -0
  185. package/build-deno/submittable/Result.ts +109 -0
  186. package/build-deno/submittable/createClass.ts +436 -0
  187. package/build-deno/submittable/createSubmittable.ts +17 -0
  188. package/build-deno/submittable/index.ts +3 -0
  189. package/build-deno/submittable/types.ts +2 -0
  190. package/build-deno/test/SingleAccountSigner.ts +51 -0
  191. package/build-deno/test/index.ts +3 -0
  192. package/build-deno/test/logEvents.ts +21 -0
  193. package/build-deno/types/calls.ts +2 -0
  194. package/build-deno/types/consts.ts +2 -0
  195. package/build-deno/types/errors.ts +2 -0
  196. package/build-deno/types/events.ts +2 -0
  197. package/build-deno/types/index.ts +124 -0
  198. package/build-deno/types/storage.ts +2 -0
  199. package/build-deno/types/submittable.ts +2 -0
  200. package/build-deno/util/augmentObject.ts +109 -0
  201. package/build-deno/util/decorate.ts +38 -0
  202. package/build-deno/util/filterEvents.ts +32 -0
  203. package/build-deno/util/index.ts +6 -0
  204. package/build-deno/util/isKeyringPair.ts +9 -0
  205. package/build-deno/util/logging.ts +4 -0
  206. package/build-deno/util/validate.ts +32 -0
  207. package/build-tsc/augment.d.ts +1 -0
  208. package/build-tsc/base/Decorate.d.ts +143 -0
  209. package/build-tsc/base/Events.d.ts +67 -0
  210. package/build-tsc/base/Getters.d.ts +163 -0
  211. package/build-tsc/base/Init.d.ts +44 -0
  212. package/build-tsc/base/find.d.ts +3 -0
  213. package/build-tsc/base/index.d.ts +47 -0
  214. package/build-tsc/base/types.d.ts +15 -0
  215. package/build-tsc/bundle.d.ts +7 -0
  216. package/build-tsc/index.d.ts +2 -0
  217. package/build-tsc/packageDetect.d.ts +1 -0
  218. package/build-tsc/packageInfo.d.ts +6 -0
  219. package/build-tsc/promise/Api.d.ts +158 -0
  220. package/build-tsc/promise/Combinator.d.ts +12 -0
  221. package/build-tsc/promise/decorateMethod.d.ts +14 -0
  222. package/build-tsc/promise/index.d.ts +2 -0
  223. package/build-tsc/promise/types.d.ts +5 -0
  224. package/build-tsc/rx/Api.d.ts +155 -0
  225. package/build-tsc/rx/decorateMethod.d.ts +3 -0
  226. package/build-tsc/rx/index.d.ts +2 -0
  227. package/build-tsc/submittable/Result.d.ts +31 -0
  228. package/build-tsc/submittable/createClass.d.ts +12 -0
  229. package/build-tsc/submittable/createSubmittable.d.ts +8 -0
  230. package/build-tsc/submittable/index.d.ts +2 -0
  231. package/build-tsc/submittable/types.d.ts +1 -0
  232. package/build-tsc/types/calls.d.ts +1 -0
  233. package/build-tsc/types/consts.d.ts +1 -0
  234. package/build-tsc/types/errors.d.ts +1 -0
  235. package/build-tsc/types/events.d.ts +1 -0
  236. package/build-tsc/types/index.d.ts +114 -0
  237. package/build-tsc/types/storage.d.ts +1 -0
  238. package/build-tsc/types/submittable.d.ts +1 -0
  239. package/build-tsc/util/augmentObject.d.ts +9 -0
  240. package/build-tsc/util/decorate.d.ts +16 -0
  241. package/build-tsc/util/filterEvents.d.ts +6 -0
  242. package/build-tsc/util/index.d.ts +4 -0
  243. package/build-tsc/util/isKeyringPair.d.ts +3 -0
  244. package/build-tsc/util/logging.d.ts +1 -0
  245. package/build-tsc/util/validate.d.ts +3 -0
  246. package/build-tsc-cjs/augment.js +3 -0
  247. package/build-tsc-cjs/base/Decorate.js +756 -0
  248. package/build-tsc-cjs/base/Events.js +82 -0
  249. package/build-tsc-cjs/base/Getters.js +211 -0
  250. package/build-tsc-cjs/base/Init.js +404 -0
  251. package/build-tsc-cjs/base/find.js +11 -0
  252. package/build-tsc-cjs/base/index.js +61 -0
  253. package/build-tsc-cjs/base/types.js +2 -0
  254. package/build-tsc-cjs/bundle.js +17 -0
  255. package/build-tsc-cjs/index.js +5 -0
  256. package/build-tsc-cjs/packageDetect.js +10 -0
  257. package/build-tsc-cjs/packageInfo.js +4 -0
  258. package/build-tsc-cjs/promise/Api.js +195 -0
  259. package/build-tsc-cjs/promise/Combinator.js +72 -0
  260. package/build-tsc-cjs/promise/decorateMethod.js +75 -0
  261. package/build-tsc-cjs/promise/index.js +7 -0
  262. package/build-tsc-cjs/promise/types.js +2 -0
  263. package/build-tsc-cjs/rx/Api.js +173 -0
  264. package/build-tsc-cjs/rx/decorateMethod.js +6 -0
  265. package/build-tsc-cjs/rx/index.js +7 -0
  266. package/build-tsc-cjs/submittable/Result.js +84 -0
  267. package/build-tsc-cjs/submittable/createClass.js +277 -0
  268. package/build-tsc-cjs/submittable/createSubmittable.js +8 -0
  269. package/build-tsc-cjs/submittable/index.js +7 -0
  270. package/build-tsc-cjs/submittable/types.js +2 -0
  271. package/build-tsc-cjs/types/calls.js +4 -0
  272. package/build-tsc-cjs/types/consts.js +4 -0
  273. package/build-tsc-cjs/types/errors.js +4 -0
  274. package/build-tsc-cjs/types/events.js +4 -0
  275. package/build-tsc-cjs/types/index.js +13 -0
  276. package/build-tsc-cjs/types/storage.js +4 -0
  277. package/build-tsc-cjs/types/submittable.js +4 -0
  278. package/build-tsc-cjs/util/augmentObject.js +84 -0
  279. package/build-tsc-cjs/util/decorate.js +17 -0
  280. package/build-tsc-cjs/util/filterEvents.js +25 -0
  281. package/build-tsc-cjs/util/index.js +11 -0
  282. package/build-tsc-cjs/util/isKeyringPair.js +7 -0
  283. package/build-tsc-cjs/util/logging.js +5 -0
  284. package/build-tsc-cjs/util/validate.js +26 -0
  285. package/build-tsc-esm/augment.js +1 -0
  286. package/build-tsc-esm/base/Decorate.js +752 -0
  287. package/build-tsc-esm/base/Events.js +78 -0
  288. package/build-tsc-esm/base/Getters.js +207 -0
  289. package/build-tsc-esm/base/Init.js +400 -0
  290. package/build-tsc-esm/base/find.js +7 -0
  291. package/build-tsc-esm/base/index.js +57 -0
  292. package/build-tsc-esm/base/types.js +1 -0
  293. package/build-tsc-esm/bundle.js +7 -0
  294. package/build-tsc-esm/index.js +2 -0
  295. package/build-tsc-esm/packageDetect.js +8 -0
  296. package/build-tsc-esm/packageInfo.js +1 -0
  297. package/build-tsc-esm/promise/Api.js +191 -0
  298. package/build-tsc-esm/promise/Combinator.js +68 -0
  299. package/build-tsc-esm/promise/decorateMethod.js +71 -0
  300. package/build-tsc-esm/promise/index.js +2 -0
  301. package/build-tsc-esm/promise/types.js +1 -0
  302. package/build-tsc-esm/rx/Api.js +169 -0
  303. package/build-tsc-esm/rx/decorateMethod.js +3 -0
  304. package/build-tsc-esm/rx/index.js +2 -0
  305. package/build-tsc-esm/submittable/Result.js +80 -0
  306. package/build-tsc-esm/submittable/createClass.js +274 -0
  307. package/build-tsc-esm/submittable/createSubmittable.js +5 -0
  308. package/build-tsc-esm/submittable/index.js +2 -0
  309. package/build-tsc-esm/submittable/types.js +1 -0
  310. package/build-tsc-esm/types/calls.js +1 -0
  311. package/build-tsc-esm/types/consts.js +1 -0
  312. package/build-tsc-esm/types/errors.js +1 -0
  313. package/build-tsc-esm/types/events.js +1 -0
  314. package/build-tsc-esm/types/index.js +8 -0
  315. package/build-tsc-esm/types/storage.js +1 -0
  316. package/build-tsc-esm/types/submittable.js +1 -0
  317. package/build-tsc-esm/util/augmentObject.js +81 -0
  318. package/build-tsc-esm/util/decorate.js +14 -0
  319. package/build-tsc-esm/util/filterEvents.js +22 -0
  320. package/build-tsc-esm/util/index.js +4 -0
  321. package/build-tsc-esm/util/isKeyringPair.js +4 -0
  322. package/build-tsc-esm/util/logging.js +2 -0
  323. package/build-tsc-esm/util/validate.js +23 -0
  324. package/bundle-pezkuwi-api.js +26240 -26231
  325. package/cjs/packageInfo.js +1 -1
  326. package/package.json +12 -12
  327. package/packageInfo.js +1 -1
  328. package/src/augment.ts +4 -0
  329. package/src/base/Decorate.ts +1103 -0
  330. package/src/base/Events.ts +91 -0
  331. package/src/base/Getters.ts +245 -0
  332. package/src/base/Init.ts +525 -0
  333. package/src/base/find.ts +14 -0
  334. package/src/base/index.ts +85 -0
  335. package/src/base/types.ts +19 -0
  336. package/src/bundle.ts +16 -0
  337. package/src/checkTypes.manual.ts +323 -0
  338. package/src/index.ts +6 -0
  339. package/src/mod.ts +4 -0
  340. package/src/packageDetect.ts +16 -0
  341. package/src/packageInfo.ts +6 -0
  342. package/src/promise/Api.ts +214 -0
  343. package/src/promise/Combinator.ts +91 -0
  344. package/src/promise/Combinators.spec.ts +109 -0
  345. package/src/promise/decorateMethod.ts +118 -0
  346. package/src/promise/index.spec.ts +167 -0
  347. package/src/promise/index.ts +5 -0
  348. package/src/promise/types.ts +9 -0
  349. package/src/rx/Api.ts +186 -0
  350. package/src/rx/decorateMethod.ts +9 -0
  351. package/src/rx/index.ts +5 -0
  352. package/src/submittable/Result.ts +111 -0
  353. package/src/submittable/createClass.ts +438 -0
  354. package/src/submittable/createSubmittable.ts +19 -0
  355. package/src/submittable/index.ts +5 -0
  356. package/src/submittable/types.ts +4 -0
  357. package/src/test/SingleAccountSigner.ts +53 -0
  358. package/src/test/index.ts +5 -0
  359. package/src/test/logEvents.ts +24 -0
  360. package/src/types/calls.ts +4 -0
  361. package/src/types/consts.ts +4 -0
  362. package/src/types/errors.ts +4 -0
  363. package/src/types/events.ts +4 -0
  364. package/src/types/index.ts +137 -0
  365. package/src/types/storage.ts +4 -0
  366. package/src/types/submittable.ts +4 -0
  367. package/src/util/augmentObject.spec.ts +54 -0
  368. package/src/util/augmentObject.ts +112 -0
  369. package/src/util/decorate.ts +43 -0
  370. package/src/util/filterEvents.ts +34 -0
  371. package/src/util/index.ts +10 -0
  372. package/src/util/isKeyringPair.ts +11 -0
  373. package/src/util/logging.ts +6 -0
  374. package/src/util/validate.spec.ts +72 -0
  375. package/src/util/validate.ts +36 -0
  376. package/tsconfig.build.json +25 -0
  377. package/tsconfig.build.tsbuildinfo +1 -0
  378. package/tsconfig.spec.json +26 -0
  379. package/tsconfig.spec.tsbuildinfo +1 -0
@@ -0,0 +1,67 @@
1
+ import type { ApiInterfaceEvents } from '../types/index.js';
2
+ export declare class Events {
3
+ #private;
4
+ protected emit(type: ApiInterfaceEvents, ...args: unknown[]): boolean;
5
+ /**
6
+ * @description Attach an eventemitter handler to listen to a specific event
7
+ *
8
+ * @param type The type of event to listen to. Available events are `connected`, `disconnected`, `ready` and `error`
9
+ * @param handler The callback to be called when the event fires. Depending on the event type, it could fire with additional arguments.
10
+ *
11
+ * @example
12
+ * <BR>
13
+ *
14
+ * ```javascript
15
+ * api.on('connected', (): void => {
16
+ * console.log('API has been connected to the endpoint');
17
+ * });
18
+ *
19
+ * api.on('disconnected', (): void => {
20
+ * console.log('API has been disconnected from the endpoint');
21
+ * });
22
+ * ```
23
+ */
24
+ on(type: ApiInterfaceEvents, handler: (...args: any[]) => any): this;
25
+ /**
26
+ * @description Remove the given eventemitter handler
27
+ *
28
+ * @param type The type of event the callback was attached to. Available events are `connected`, `disconnected`, `ready` and `error`
29
+ * @param handler The callback to unregister.
30
+ *
31
+ * @example
32
+ * <BR>
33
+ *
34
+ * ```javascript
35
+ * const handler = (): void => {
36
+ * console.log('Connected !);
37
+ * };
38
+ *
39
+ * // Start listening
40
+ * api.on('connected', handler);
41
+ *
42
+ * // Stop listening
43
+ * api.off('connected', handler);
44
+ * ```
45
+ */
46
+ off(type: ApiInterfaceEvents, handler: (...args: any[]) => any): this;
47
+ /**
48
+ * @description Attach an one-time eventemitter handler to listen to a specific event
49
+ *
50
+ * @param type The type of event to listen to. Available events are `connected`, `disconnected`, `ready` and `error`
51
+ * @param handler The callback to be called when the event fires. Depending on the event type, it could fire with additional arguments.
52
+ *
53
+ * @example
54
+ * <BR>
55
+ *
56
+ * ```javascript
57
+ * api.once('connected', (): void => {
58
+ * console.log('API has been connected to the endpoint');
59
+ * });
60
+ *
61
+ * api.once('disconnected', (): void => {
62
+ * console.log('API has been disconnected from the endpoint');
63
+ * });
64
+ * ```
65
+ */
66
+ once(type: ApiInterfaceEvents, handler: (...args: any[]) => any): this;
67
+ }
@@ -0,0 +1,78 @@
1
+ import { EventEmitter } from 'eventemitter3';
2
+ export class Events {
3
+ #eventemitter = new EventEmitter();
4
+ emit(type, ...args) {
5
+ return this.#eventemitter.emit(type, ...args);
6
+ }
7
+ /**
8
+ * @description Attach an eventemitter handler to listen to a specific event
9
+ *
10
+ * @param type The type of event to listen to. Available events are `connected`, `disconnected`, `ready` and `error`
11
+ * @param handler The callback to be called when the event fires. Depending on the event type, it could fire with additional arguments.
12
+ *
13
+ * @example
14
+ * <BR>
15
+ *
16
+ * ```javascript
17
+ * api.on('connected', (): void => {
18
+ * console.log('API has been connected to the endpoint');
19
+ * });
20
+ *
21
+ * api.on('disconnected', (): void => {
22
+ * console.log('API has been disconnected from the endpoint');
23
+ * });
24
+ * ```
25
+ */
26
+ on(type, handler) {
27
+ this.#eventemitter.on(type, handler);
28
+ return this;
29
+ }
30
+ /**
31
+ * @description Remove the given eventemitter handler
32
+ *
33
+ * @param type The type of event the callback was attached to. Available events are `connected`, `disconnected`, `ready` and `error`
34
+ * @param handler The callback to unregister.
35
+ *
36
+ * @example
37
+ * <BR>
38
+ *
39
+ * ```javascript
40
+ * const handler = (): void => {
41
+ * console.log('Connected !);
42
+ * };
43
+ *
44
+ * // Start listening
45
+ * api.on('connected', handler);
46
+ *
47
+ * // Stop listening
48
+ * api.off('connected', handler);
49
+ * ```
50
+ */
51
+ off(type, handler) {
52
+ this.#eventemitter.removeListener(type, handler);
53
+ return this;
54
+ }
55
+ /**
56
+ * @description Attach an one-time eventemitter handler to listen to a specific event
57
+ *
58
+ * @param type The type of event to listen to. Available events are `connected`, `disconnected`, `ready` and `error`
59
+ * @param handler The callback to be called when the event fires. Depending on the event type, it could fire with additional arguments.
60
+ *
61
+ * @example
62
+ * <BR>
63
+ *
64
+ * ```javascript
65
+ * api.once('connected', (): void => {
66
+ * console.log('API has been connected to the endpoint');
67
+ * });
68
+ *
69
+ * api.once('disconnected', (): void => {
70
+ * console.log('API has been disconnected from the endpoint');
71
+ * });
72
+ * ```
73
+ */
74
+ once(type, handler) {
75
+ this.#eventemitter.once(type, handler);
76
+ return this;
77
+ }
78
+ }
@@ -0,0 +1,163 @@
1
+ import type { RpcCoreStats, RpcInterface } from '@pezkuwi/rpc-core/types';
2
+ import type { Text } from '@pezkuwi/types';
3
+ import type { Hash, RuntimeVersion } from '@pezkuwi/types/interfaces';
4
+ import type { Metadata } from '@pezkuwi/types/metadata';
5
+ import type { CallFunction, RegistryError } from '@pezkuwi/types/types';
6
+ import type { ApiDecoration, ApiInterfaceRx, ApiTypes, DecoratedErrors, DecoratedEvents, DecoratedRpc, QueryableCalls, QueryableConsts, QueryableStorage, QueryableStorageMulti, SubmittableExtrinsics } from '../types/index.js';
7
+ import { Init } from './Init.js';
8
+ export declare abstract class Getters<ApiType extends ApiTypes> extends Init<ApiType> implements ApiDecoration<ApiType> {
9
+ /**
10
+ * @description Runtime call interfaces (currently untyped, only decorated via API options)
11
+ */
12
+ get call(): QueryableCalls<ApiType>;
13
+ /**
14
+ * @description Contains the parameter types (constants) of all modules.
15
+ *
16
+ * The values are instances of the appropriate type and are accessible using `section`.`constantName`,
17
+ *
18
+ * @example
19
+ * <BR>
20
+ *
21
+ * ```javascript
22
+ * console.log(api.consts.democracy.enactmentPeriod.toString())
23
+ * ```
24
+ */
25
+ get consts(): QueryableConsts<ApiType>;
26
+ /**
27
+ * @description Derived results that are injected into the API, allowing for combinations of various query results.
28
+ *
29
+ * @example
30
+ * <BR>
31
+ *
32
+ * ```javascript
33
+ * api.derive.chain.bestNumber((number) => {
34
+ * console.log('best number', number);
35
+ * });
36
+ * ```
37
+ */
38
+ get derive(): ReturnType<Getters<ApiType>['_decorateDerive']>;
39
+ /**
40
+ * @description Errors from metadata
41
+ */
42
+ get errors(): DecoratedErrors<ApiType>;
43
+ /**
44
+ * @description Events from metadata
45
+ */
46
+ get events(): DecoratedEvents<ApiType>;
47
+ /**
48
+ * @description Returns the version of extrinsics in-use on this chain
49
+ */
50
+ get extrinsicVersion(): number;
51
+ /**
52
+ * @description Contains the genesis Hash of the attached chain. Apart from being useful to determine the actual chain, it can also be used to sign immortal transactions.
53
+ */
54
+ get genesisHash(): Hash;
55
+ /**
56
+ * @description true is the underlying provider is connected
57
+ */
58
+ get isConnected(): boolean;
59
+ /**
60
+ * @description The library information name & version (from package.json)
61
+ */
62
+ get libraryInfo(): string;
63
+ /**
64
+ * @description Contains all the chain state modules and their subsequent methods in the API. These are attached dynamically from the runtime metadata.
65
+ *
66
+ * All calls inside the namespace, is denoted by `section`.`method` and may take an optional query parameter. As an example, `api.query.timestamp.now()` (current block timestamp) does not take parameters, while `api.query.system.account(<accountId>)` (retrieving the associated nonce & balances for an account), takes the `AccountId` as a parameter.
67
+ *
68
+ * @example
69
+ * <BR>
70
+ *
71
+ * ```javascript
72
+ * api.query.system.account(<accountId>, ([nonce, balance]) => {
73
+ * console.log('new free balance', balance.free, 'new nonce', nonce);
74
+ * });
75
+ * ```
76
+ */
77
+ get query(): QueryableStorage<ApiType>;
78
+ /**
79
+ * @description Allows for the querying of multiple storage entries and the combination thereof into a single result. This is a very optimal way to make multiple queries since it only makes a single connection to the node and retrieves the data over one subscription.
80
+ *
81
+ * @example
82
+ * <BR>
83
+ *
84
+ * ```javascript
85
+ * const unsub = await api.queryMulti(
86
+ * [
87
+ * // you can include the storage without any parameters
88
+ * api.query.balances.totalIssuance,
89
+ * // or you can pass parameters to the storage query
90
+ * [api.query.system.account, '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY']
91
+ * ],
92
+ * ([existential, [, { free }]]) => {
93
+ * console.log(`You have ${free.sub(existential)} more than the existential deposit`);
94
+ *
95
+ * unsub();
96
+ * }
97
+ * );
98
+ * ```
99
+ */
100
+ get queryMulti(): QueryableStorageMulti<ApiType>;
101
+ /**
102
+ * @description Contains all the raw rpc sections and their subsequent methods in the API as defined by the jsonrpc interface definitions. Unlike the dynamic `api.query` and `api.tx` sections, these methods are fixed (although extensible with node upgrades) and not determined by the runtime.
103
+ *
104
+ * RPC endpoints available here allow for the query of chain, node and system information, in addition to providing interfaces for the raw queries of state (using known keys) and the submission of transactions.
105
+ *
106
+ * @example
107
+ * <BR>
108
+ *
109
+ * ```javascript
110
+ * api.rpc.chain.subscribeNewHeads((header) => {
111
+ * console.log('new header', header);
112
+ * });
113
+ * ```
114
+ */
115
+ get rpc(): DecoratedRpc<ApiType, RpcInterface>;
116
+ /**
117
+ * @description Contains the chain information for the current node.
118
+ */
119
+ get runtimeChain(): Text;
120
+ /**
121
+ * @description Yields the current attached runtime metadata. Generally this is only used to construct extrinsics & storage, but is useful for current runtime inspection.
122
+ */
123
+ get runtimeMetadata(): Metadata;
124
+ /**
125
+ * @description Contains the version information for the current runtime.
126
+ */
127
+ get runtimeVersion(): RuntimeVersion;
128
+ /**
129
+ * @description The underlying Rx API interface
130
+ */
131
+ get rx(): Pick<ApiInterfaceRx, 'tx' | 'rpc' | 'query' | 'call'>;
132
+ /**
133
+ * @description Returns the underlying provider stats
134
+ */
135
+ get stats(): RpcCoreStats | undefined;
136
+ /**
137
+ * @description The type of this API instance, either 'rxjs' or 'promise'
138
+ */
139
+ get type(): ApiTypes;
140
+ /**
141
+ * @description Contains all the extrinsic modules and their subsequent methods in the API. It allows for the construction of transactions and the submission thereof. These are attached dynamically from the runtime metadata.
142
+ *
143
+ * @example
144
+ * <BR>
145
+ *
146
+ * ```javascript
147
+ * api.tx.balances
148
+ * .transferAllowDeath(<recipientId>, <balance>)
149
+ * .signAndSend(<keyPair>, ({status}) => {
150
+ * console.log('tx status', status.asFinalized.toHex());
151
+ * });
152
+ * ```
153
+ */
154
+ get tx(): SubmittableExtrinsics<ApiType>;
155
+ /**
156
+ * @description Finds the definition for a specific [[CallFunction]] based on the index supplied
157
+ */
158
+ findCall(callIndex: Uint8Array | string): CallFunction;
159
+ /**
160
+ * @description Finds the definition for a specific [[RegistryError]] based on the index supplied
161
+ */
162
+ findError(errorIndex: Uint8Array | string): RegistryError;
163
+ }
@@ -0,0 +1,207 @@
1
+ import { packageInfo } from '../packageInfo.js';
2
+ import { findCall, findError } from './find.js';
3
+ import { Init } from './Init.js';
4
+ function assertResult(value) {
5
+ if (value === undefined) {
6
+ throw new Error("Api interfaces needs to be initialized before using, wait for 'isReady'");
7
+ }
8
+ return value;
9
+ }
10
+ export class Getters extends Init {
11
+ /**
12
+ * @description Runtime call interfaces (currently untyped, only decorated via API options)
13
+ */
14
+ get call() {
15
+ return assertResult(this._call);
16
+ }
17
+ /**
18
+ * @description Contains the parameter types (constants) of all modules.
19
+ *
20
+ * The values are instances of the appropriate type and are accessible using `section`.`constantName`,
21
+ *
22
+ * @example
23
+ * <BR>
24
+ *
25
+ * ```javascript
26
+ * console.log(api.consts.democracy.enactmentPeriod.toString())
27
+ * ```
28
+ */
29
+ get consts() {
30
+ return assertResult(this._consts);
31
+ }
32
+ /**
33
+ * @description Derived results that are injected into the API, allowing for combinations of various query results.
34
+ *
35
+ * @example
36
+ * <BR>
37
+ *
38
+ * ```javascript
39
+ * api.derive.chain.bestNumber((number) => {
40
+ * console.log('best number', number);
41
+ * });
42
+ * ```
43
+ */
44
+ get derive() {
45
+ return assertResult(this._derive);
46
+ }
47
+ /**
48
+ * @description Errors from metadata
49
+ */
50
+ get errors() {
51
+ return assertResult(this._errors);
52
+ }
53
+ /**
54
+ * @description Events from metadata
55
+ */
56
+ get events() {
57
+ return assertResult(this._events);
58
+ }
59
+ /**
60
+ * @description Returns the version of extrinsics in-use on this chain
61
+ */
62
+ get extrinsicVersion() {
63
+ return this._extrinsicType;
64
+ }
65
+ /**
66
+ * @description Contains the genesis Hash of the attached chain. Apart from being useful to determine the actual chain, it can also be used to sign immortal transactions.
67
+ */
68
+ get genesisHash() {
69
+ return assertResult(this._genesisHash);
70
+ }
71
+ /**
72
+ * @description true is the underlying provider is connected
73
+ */
74
+ get isConnected() {
75
+ return this._isConnected.getValue();
76
+ }
77
+ /**
78
+ * @description The library information name & version (from package.json)
79
+ */
80
+ get libraryInfo() {
81
+ return `${packageInfo.name} v${packageInfo.version}`;
82
+ }
83
+ /**
84
+ * @description Contains all the chain state modules and their subsequent methods in the API. These are attached dynamically from the runtime metadata.
85
+ *
86
+ * All calls inside the namespace, is denoted by `section`.`method` and may take an optional query parameter. As an example, `api.query.timestamp.now()` (current block timestamp) does not take parameters, while `api.query.system.account(<accountId>)` (retrieving the associated nonce & balances for an account), takes the `AccountId` as a parameter.
87
+ *
88
+ * @example
89
+ * <BR>
90
+ *
91
+ * ```javascript
92
+ * api.query.system.account(<accountId>, ([nonce, balance]) => {
93
+ * console.log('new free balance', balance.free, 'new nonce', nonce);
94
+ * });
95
+ * ```
96
+ */
97
+ get query() {
98
+ return assertResult(this._query);
99
+ }
100
+ /**
101
+ * @description Allows for the querying of multiple storage entries and the combination thereof into a single result. This is a very optimal way to make multiple queries since it only makes a single connection to the node and retrieves the data over one subscription.
102
+ *
103
+ * @example
104
+ * <BR>
105
+ *
106
+ * ```javascript
107
+ * const unsub = await api.queryMulti(
108
+ * [
109
+ * // you can include the storage without any parameters
110
+ * api.query.balances.totalIssuance,
111
+ * // or you can pass parameters to the storage query
112
+ * [api.query.system.account, '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY']
113
+ * ],
114
+ * ([existential, [, { free }]]) => {
115
+ * console.log(`You have ${free.sub(existential)} more than the existential deposit`);
116
+ *
117
+ * unsub();
118
+ * }
119
+ * );
120
+ * ```
121
+ */
122
+ get queryMulti() {
123
+ return assertResult(this._queryMulti);
124
+ }
125
+ /**
126
+ * @description Contains all the raw rpc sections and their subsequent methods in the API as defined by the jsonrpc interface definitions. Unlike the dynamic `api.query` and `api.tx` sections, these methods are fixed (although extensible with node upgrades) and not determined by the runtime.
127
+ *
128
+ * RPC endpoints available here allow for the query of chain, node and system information, in addition to providing interfaces for the raw queries of state (using known keys) and the submission of transactions.
129
+ *
130
+ * @example
131
+ * <BR>
132
+ *
133
+ * ```javascript
134
+ * api.rpc.chain.subscribeNewHeads((header) => {
135
+ * console.log('new header', header);
136
+ * });
137
+ * ```
138
+ */
139
+ get rpc() {
140
+ return assertResult(this._rpc);
141
+ }
142
+ /**
143
+ * @description Contains the chain information for the current node.
144
+ */
145
+ get runtimeChain() {
146
+ return assertResult(this._runtimeChain);
147
+ }
148
+ /**
149
+ * @description Yields the current attached runtime metadata. Generally this is only used to construct extrinsics & storage, but is useful for current runtime inspection.
150
+ */
151
+ get runtimeMetadata() {
152
+ return assertResult(this._runtimeMetadata);
153
+ }
154
+ /**
155
+ * @description Contains the version information for the current runtime.
156
+ */
157
+ get runtimeVersion() {
158
+ return assertResult(this._runtimeVersion);
159
+ }
160
+ /**
161
+ * @description The underlying Rx API interface
162
+ */
163
+ get rx() {
164
+ return assertResult(this._rx);
165
+ }
166
+ /**
167
+ * @description Returns the underlying provider stats
168
+ */
169
+ get stats() {
170
+ return this._rpcCore.stats;
171
+ }
172
+ /**
173
+ * @description The type of this API instance, either 'rxjs' or 'promise'
174
+ */
175
+ get type() {
176
+ return this._type;
177
+ }
178
+ /**
179
+ * @description Contains all the extrinsic modules and their subsequent methods in the API. It allows for the construction of transactions and the submission thereof. These are attached dynamically from the runtime metadata.
180
+ *
181
+ * @example
182
+ * <BR>
183
+ *
184
+ * ```javascript
185
+ * api.tx.balances
186
+ * .transferAllowDeath(<recipientId>, <balance>)
187
+ * .signAndSend(<keyPair>, ({status}) => {
188
+ * console.log('tx status', status.asFinalized.toHex());
189
+ * });
190
+ * ```
191
+ */
192
+ get tx() {
193
+ return assertResult(this._extrinsics);
194
+ }
195
+ /**
196
+ * @description Finds the definition for a specific [[CallFunction]] based on the index supplied
197
+ */
198
+ findCall(callIndex) {
199
+ return findCall(this.registry, callIndex);
200
+ }
201
+ /**
202
+ * @description Finds the definition for a specific [[RegistryError]] based on the index supplied
203
+ */
204
+ findError(errorIndex) {
205
+ return findError(this.registry, errorIndex);
206
+ }
207
+ }
@@ -0,0 +1,44 @@
1
+ import type { RuntimeVersion } from '@pezkuwi/types/interfaces';
2
+ import type { ApiDecoration, ApiOptions, ApiTypes, DecorateMethod } from '../types/index.js';
3
+ import type { VersionedRegistry } from './types.js';
4
+ import { Decorate } from './Decorate.js';
5
+ export declare abstract class Init<ApiType extends ApiTypes> extends Decorate<ApiType> {
6
+ #private;
7
+ constructor(options: ApiOptions, type: ApiTypes, decorateMethod: DecorateMethod<ApiType>);
8
+ /**
9
+ * @description Decorates a registry based on the runtime version
10
+ */
11
+ private _initRegistry;
12
+ /**
13
+ * @description Returns the default versioned registry
14
+ */
15
+ private _getDefaultRegistry;
16
+ /**
17
+ * @description Returns a decorated API instance at a specific point in time
18
+ */
19
+ at(blockHash: Uint8Array | string, knownVersion?: RuntimeVersion): Promise<ApiDecoration<ApiType>>;
20
+ private _createBlockRegistry;
21
+ private _cacheBlockRegistryProgress;
22
+ private _getBlockRegistryViaVersion;
23
+ private _getBlockRegistryViaHash;
24
+ /**
25
+ * @description Sets up a registry based on the block hash defined
26
+ */
27
+ getBlockRegistry(blockHash: Uint8Array, knownVersion?: RuntimeVersion): Promise<VersionedRegistry<ApiType>>;
28
+ protected _loadMeta(): Promise<boolean>;
29
+ private _metaFromSource;
30
+ private _subscribeUpdates;
31
+ private _metaFromChain;
32
+ private _initFromMeta;
33
+ /**
34
+ * @internal
35
+ *
36
+ * Tries to use runtime api calls to retrieve metadata. This ensures the api initializes with the latest metadata.
37
+ * If the runtime call is not there it will use the rpc method.
38
+ */
39
+ private _retrieveMetadata;
40
+ private _subscribeHealth;
41
+ private _unsubscribeHealth;
42
+ private _unsubscribeUpdates;
43
+ protected _unsubscribe(): void;
44
+ }