@pezkuwi/api-derive 16.5.5 → 16.5.6

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 (719) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +2 -2
  3. package/accounts/accountId.js +29 -0
  4. package/{build/accounts → accounts}/flags.d.ts +2 -2
  5. package/accounts/flags.js +55 -0
  6. package/accounts/idAndIndex.js +34 -0
  7. package/accounts/idToIndex.js +17 -0
  8. package/{build/accounts → accounts}/identity.d.ts +3 -3
  9. package/accounts/identity.js +153 -0
  10. package/{src/accounts/index.ts → accounts/index.js} +0 -3
  11. package/accounts/indexToId.js +18 -0
  12. package/accounts/indexes.js +34 -0
  13. package/accounts/info.js +33 -0
  14. package/{src/alliance/index.ts → alliance/index.js} +0 -5
  15. package/augment.js +1 -0
  16. package/bagsList/get.js +42 -0
  17. package/bagsList/getExpanded.js +19 -0
  18. package/bagsList/index.js +3 -0
  19. package/bagsList/listNodes.d.ts +9 -0
  20. package/bagsList/listNodes.js +26 -0
  21. package/{build/bagsList → bagsList}/types.d.ts +3 -3
  22. package/bagsList/types.js +1 -0
  23. package/bagsList/util.js +8 -0
  24. package/balances/account.js +149 -0
  25. package/balances/all.js +167 -0
  26. package/{src/balances/index.ts → balances/index.js} +0 -6
  27. package/{build/balances → balances}/types.d.ts +7 -7
  28. package/balances/types.js +1 -0
  29. package/balances/votingBalances.js +18 -0
  30. package/bounties/bounties.js +50 -0
  31. package/bounties/helpers/filterBountyProposals.js +5 -0
  32. package/bounties/index.js +1 -0
  33. package/bundle.js +107 -0
  34. package/{src/chain/bestNumber.ts → chain/bestNumber.js} +1 -10
  35. package/{src/chain/bestNumberFinalized.ts → chain/bestNumberFinalized.js} +1 -10
  36. package/chain/bestNumberLag.js +19 -0
  37. package/chain/getBlock.js +25 -0
  38. package/chain/getBlockByNumber.js +16 -0
  39. package/chain/getHeader.js +19 -0
  40. package/{src/chain/index.ts → chain/index.js} +0 -3
  41. package/chain/subscribeFinalizedBlocks.js +15 -0
  42. package/chain/subscribeFinalizedHeads.js +37 -0
  43. package/chain/subscribeNewBlocks.js +15 -0
  44. package/chain/subscribeNewHeads.js +21 -0
  45. package/chain/util.js +57 -0
  46. package/cjs/accounts/accountId.d.ts +17 -0
  47. package/cjs/accounts/accountId.js +32 -0
  48. package/cjs/accounts/flags.d.ts +29 -0
  49. package/cjs/accounts/flags.js +59 -0
  50. package/cjs/accounts/idAndIndex.d.ts +15 -0
  51. package/cjs/accounts/idAndIndex.js +37 -0
  52. package/cjs/accounts/idToIndex.d.ts +16 -0
  53. package/cjs/accounts/idToIndex.js +20 -0
  54. package/cjs/accounts/identity.d.ts +48 -0
  55. package/cjs/accounts/identity.js +159 -0
  56. package/cjs/accounts/index.d.ts +8 -0
  57. package/cjs/accounts/index.js +11 -0
  58. package/cjs/accounts/indexToId.d.ts +15 -0
  59. package/cjs/accounts/indexToId.js +21 -0
  60. package/cjs/accounts/indexes.d.ts +16 -0
  61. package/cjs/accounts/indexes.js +37 -0
  62. package/cjs/accounts/info.d.ts +18 -0
  63. package/cjs/accounts/info.js +36 -0
  64. package/cjs/accounts/types.d.ts +39 -0
  65. package/cjs/accounts/types.js +2 -0
  66. package/cjs/alliance/index.d.ts +70 -0
  67. package/cjs/alliance/index.js +74 -0
  68. package/cjs/augment.d.ts +1 -0
  69. package/cjs/augment.js +3 -0
  70. package/cjs/bagsList/get.d.ts +12 -0
  71. package/cjs/bagsList/get.js +47 -0
  72. package/cjs/bagsList/getExpanded.d.ts +16 -0
  73. package/cjs/bagsList/getExpanded.js +23 -0
  74. package/cjs/bagsList/index.d.ts +3 -0
  75. package/cjs/bagsList/index.js +6 -0
  76. package/cjs/bagsList/listNodes.d.ts +9 -0
  77. package/cjs/bagsList/listNodes.js +29 -0
  78. package/cjs/bagsList/types.d.ts +13 -0
  79. package/cjs/bagsList/types.js +2 -0
  80. package/cjs/bagsList/util.d.ts +2 -0
  81. package/cjs/bagsList/util.js +11 -0
  82. package/cjs/balances/account.d.ts +17 -0
  83. package/cjs/balances/account.js +152 -0
  84. package/cjs/balances/all.d.ts +20 -0
  85. package/cjs/balances/all.js +170 -0
  86. package/cjs/balances/index.d.ts +20 -0
  87. package/cjs/balances/index.js +25 -0
  88. package/cjs/balances/types.d.ts +69 -0
  89. package/cjs/balances/types.js +2 -0
  90. package/cjs/balances/votingBalances.d.ts +15 -0
  91. package/cjs/balances/votingBalances.js +21 -0
  92. package/cjs/bounties/bounties.d.ts +12 -0
  93. package/cjs/bounties/bounties.js +53 -0
  94. package/cjs/bounties/helpers/filterBountyProposals.d.ts +2 -0
  95. package/cjs/bounties/helpers/filterBountyProposals.js +8 -0
  96. package/cjs/bounties/index.d.ts +1 -0
  97. package/cjs/bounties/index.js +4 -0
  98. package/cjs/bundle.d.ts +9 -0
  99. package/cjs/bundle.js +112 -0
  100. package/cjs/chain/bestNumber.d.ts +11 -0
  101. package/cjs/chain/bestNumber.js +15 -0
  102. package/cjs/chain/bestNumberFinalized.d.ts +12 -0
  103. package/cjs/chain/bestNumberFinalized.js +16 -0
  104. package/cjs/chain/bestNumberLag.d.ts +15 -0
  105. package/cjs/chain/bestNumberLag.js +22 -0
  106. package/cjs/chain/getBlock.d.ts +15 -0
  107. package/cjs/chain/getBlock.js +28 -0
  108. package/{src/chain/getBlockByNumber.ts → cjs/chain/getBlockByNumber.d.ts} +1 -15
  109. package/cjs/chain/getBlockByNumber.js +19 -0
  110. package/cjs/chain/getHeader.d.ts +16 -0
  111. package/cjs/chain/getHeader.js +22 -0
  112. package/cjs/chain/index.d.ts +10 -0
  113. package/cjs/chain/index.js +13 -0
  114. package/cjs/chain/subscribeFinalizedBlocks.d.ts +14 -0
  115. package/cjs/chain/subscribeFinalizedBlocks.js +18 -0
  116. package/cjs/chain/subscribeFinalizedHeads.d.ts +22 -0
  117. package/cjs/chain/subscribeFinalizedHeads.js +41 -0
  118. package/cjs/chain/subscribeNewBlocks.d.ts +14 -0
  119. package/cjs/chain/subscribeNewBlocks.js +18 -0
  120. package/cjs/chain/subscribeNewHeads.d.ts +15 -0
  121. package/cjs/chain/subscribeNewHeads.js +24 -0
  122. package/cjs/chain/util.d.ts +9 -0
  123. package/cjs/chain/util.js +61 -0
  124. package/cjs/collective/helpers.js +23 -0
  125. package/cjs/collective/index.js +6 -0
  126. package/cjs/collective/members.js +5 -0
  127. package/cjs/collective/prime.js +11 -0
  128. package/cjs/collective/proposals.js +44 -0
  129. package/cjs/collective/types.js +2 -0
  130. package/{build → cjs}/contracts/fees.d.ts +1 -1
  131. package/cjs/contracts/fees.js +48 -0
  132. package/cjs/contracts/index.js +4 -0
  133. package/cjs/council/index.js +77 -0
  134. package/cjs/council/types.js +2 -0
  135. package/cjs/council/votes.js +59 -0
  136. package/cjs/council/votesOf.js +21 -0
  137. package/{build → cjs}/crowdloan/childKey.d.ts +2 -2
  138. package/cjs/crowdloan/childKey.js +26 -0
  139. package/{build → cjs}/crowdloan/contributions.d.ts +2 -2
  140. package/cjs/crowdloan/contributions.js +83 -0
  141. package/cjs/crowdloan/index.js +6 -0
  142. package/{build → cjs}/crowdloan/ownContributions.d.ts +2 -2
  143. package/cjs/crowdloan/ownContributions.js +48 -0
  144. package/cjs/crowdloan/types.js +2 -0
  145. package/{build → cjs}/crowdloan/util.d.ts +2 -2
  146. package/cjs/crowdloan/util.js +20 -0
  147. package/cjs/democracy/dispatchQueue.js +90 -0
  148. package/cjs/democracy/index.js +14 -0
  149. package/cjs/democracy/locks.js +65 -0
  150. package/cjs/democracy/nextExternal.js +31 -0
  151. package/{build → cjs}/democracy/preimages.d.ts +5 -5
  152. package/cjs/democracy/preimages.js +117 -0
  153. package/cjs/democracy/proposals.js +46 -0
  154. package/cjs/democracy/referendumIds.js +24 -0
  155. package/cjs/democracy/referendums.js +22 -0
  156. package/cjs/democracy/referendumsActive.js +19 -0
  157. package/{build → cjs}/democracy/referendumsFinished.d.ts +2 -2
  158. package/cjs/democracy/referendumsFinished.js +20 -0
  159. package/{build → cjs}/democracy/referendumsInfo.d.ts +2 -2
  160. package/cjs/democracy/referendumsInfo.js +114 -0
  161. package/cjs/democracy/sqrtElectorate.js +18 -0
  162. package/{build → cjs}/democracy/types.d.ts +3 -3
  163. package/cjs/democracy/types.js +2 -0
  164. package/{build → cjs}/democracy/util.d.ts +5 -5
  165. package/cjs/democracy/util.js +137 -0
  166. package/{build → cjs}/derive.d.ts +2 -2
  167. package/cjs/derive.js +25 -0
  168. package/cjs/elections/index.js +4 -0
  169. package/cjs/elections/info.js +93 -0
  170. package/cjs/elections/types.js +2 -0
  171. package/cjs/imOnline/index.js +4 -0
  172. package/cjs/imOnline/receivedHeartbeats.js +42 -0
  173. package/cjs/index.js +5 -0
  174. package/cjs/membership/index.js +74 -0
  175. package/cjs/package.json +3 -0
  176. package/cjs/packageDetect.d.ts +1 -0
  177. package/cjs/packageDetect.js +5 -0
  178. package/cjs/packageInfo.js +4 -0
  179. package/cjs/session/index.js +6 -0
  180. package/cjs/session/indexes.js +68 -0
  181. package/cjs/session/info.js +28 -0
  182. package/cjs/session/progress.js +93 -0
  183. package/cjs/session/types.js +2 -0
  184. package/cjs/society/candidates.js +42 -0
  185. package/cjs/society/index.js +7 -0
  186. package/cjs/society/info.js +36 -0
  187. package/cjs/society/member.js +18 -0
  188. package/cjs/society/members.js +70 -0
  189. package/{build → cjs}/society/types.d.ts +5 -5
  190. package/cjs/society/types.js +2 -0
  191. package/{build → cjs}/staking/account.d.ts +1 -1
  192. package/cjs/staking/account.js +80 -0
  193. package/cjs/staking/cache.js +39 -0
  194. package/{build → cjs}/staking/currentPoints.d.ts +2 -2
  195. package/cjs/staking/currentPoints.js +17 -0
  196. package/cjs/staking/electedInfo.js +37 -0
  197. package/cjs/staking/erasExposure.js +76 -0
  198. package/cjs/staking/erasHistoric.js +31 -0
  199. package/cjs/staking/erasPoints.js +51 -0
  200. package/cjs/staking/erasPrefs.js +47 -0
  201. package/cjs/staking/erasRewards.js +38 -0
  202. package/cjs/staking/erasSlashes.js +53 -0
  203. package/cjs/staking/index.js +25 -0
  204. package/{build → cjs}/staking/keys.d.ts +1 -1
  205. package/cjs/staking/keys.js +61 -0
  206. package/cjs/staking/overview.js +31 -0
  207. package/{build → cjs}/staking/ownExposure.d.ts +1 -1
  208. package/cjs/staking/ownExposure.js +64 -0
  209. package/{build → cjs}/staking/ownSlashes.d.ts +1 -1
  210. package/cjs/staking/ownSlashes.js +51 -0
  211. package/{build → cjs}/staking/query.d.ts +1 -1
  212. package/cjs/staking/query.js +176 -0
  213. package/{build → cjs}/staking/stakerExposure.d.ts +1 -1
  214. package/cjs/staking/stakerExposure.js +56 -0
  215. package/cjs/staking/stakerPoints.js +35 -0
  216. package/cjs/staking/stakerPrefs.js +33 -0
  217. package/{build → cjs}/staking/stakerRewards.d.ts +1 -1
  218. package/cjs/staking/stakerRewards.js +222 -0
  219. package/cjs/staking/stakerSlashes.js +34 -0
  220. package/cjs/staking/stashes.js +38 -0
  221. package/{build → cjs}/staking/types.d.ts +15 -15
  222. package/cjs/staking/types.js +2 -0
  223. package/cjs/staking/util.js +53 -0
  224. package/cjs/staking/validators.js +71 -0
  225. package/cjs/staking/waitingInfo.js +32 -0
  226. package/cjs/technicalCommittee/index.js +74 -0
  227. package/cjs/teyrchains/index.js +5 -0
  228. package/{build/parachains → cjs/teyrchains}/info.d.ts +7 -7
  229. package/cjs/teyrchains/info.js +75 -0
  230. package/cjs/teyrchains/overview.d.ts +15 -0
  231. package/cjs/teyrchains/overview.js +39 -0
  232. package/{build/parachains → cjs/teyrchains}/types.d.ts +6 -6
  233. package/cjs/teyrchains/types.js +2 -0
  234. package/cjs/teyrchains/util.js +8 -0
  235. package/cjs/treasury/index.js +4 -0
  236. package/cjs/treasury/proposals.js +71 -0
  237. package/cjs/tx/constants.js +8 -0
  238. package/cjs/tx/events.js +24 -0
  239. package/cjs/tx/extrinsicInfo.js +87 -0
  240. package/cjs/tx/index.js +6 -0
  241. package/cjs/tx/signingInfo.js +81 -0
  242. package/cjs/type/HeaderExtended.js +23 -0
  243. package/cjs/type/SignedBlockExtended.js +60 -0
  244. package/cjs/type/index.js +7 -0
  245. package/cjs/type/types.js +2 -0
  246. package/cjs/type/util.js +36 -0
  247. package/{build → cjs}/types.d.ts +4 -4
  248. package/cjs/types.js +15 -0
  249. package/cjs/util/approvalFlagsToBools.js +19 -0
  250. package/cjs/util/blockNumber.js +9 -0
  251. package/cjs/util/cache.js +45 -0
  252. package/cjs/util/cacheImpl.js +26 -0
  253. package/cjs/util/first.js +12 -0
  254. package/cjs/util/index.js +13 -0
  255. package/cjs/util/lazy.js +7 -0
  256. package/cjs/util/types.js +2 -0
  257. package/collective/helpers.d.ts +6 -0
  258. package/collective/helpers.js +18 -0
  259. package/collective/index.d.ts +3 -0
  260. package/collective/index.js +3 -0
  261. package/collective/members.d.ts +2 -0
  262. package/collective/members.js +2 -0
  263. package/collective/prime.d.ts +2 -0
  264. package/collective/prime.js +8 -0
  265. package/collective/proposals.d.ts +6 -0
  266. package/collective/proposals.js +38 -0
  267. package/{src/collective/types.ts → collective/types.d.ts} +0 -11
  268. package/collective/types.js +1 -0
  269. package/contracts/fees.d.ts +14 -0
  270. package/contracts/fees.js +45 -0
  271. package/contracts/index.d.ts +1 -0
  272. package/contracts/index.js +1 -0
  273. package/council/index.d.ts +72 -0
  274. package/{src/council/index.ts → council/index.js} +0 -6
  275. package/{src/council/types.ts → council/types.d.ts} +2 -7
  276. package/council/types.js +1 -0
  277. package/council/votes.d.ts +11 -0
  278. package/council/votes.js +56 -0
  279. package/council/votesOf.d.ts +16 -0
  280. package/council/votesOf.js +18 -0
  281. package/crowdloan/childKey.d.ts +15 -0
  282. package/crowdloan/childKey.js +23 -0
  283. package/crowdloan/contributions.d.ts +14 -0
  284. package/crowdloan/contributions.js +80 -0
  285. package/crowdloan/index.d.ts +3 -0
  286. package/crowdloan/index.js +3 -0
  287. package/crowdloan/ownContributions.d.ts +15 -0
  288. package/crowdloan/ownContributions.js +45 -0
  289. package/{src/crowdloan/types.ts → crowdloan/types.d.ts} +2 -7
  290. package/crowdloan/types.js +1 -0
  291. package/crowdloan/util.d.ts +10 -0
  292. package/crowdloan/util.js +17 -0
  293. package/democracy/dispatchQueue.d.ts +12 -0
  294. package/democracy/dispatchQueue.js +87 -0
  295. package/{src/democracy/index.ts → democracy/index.d.ts} +0 -3
  296. package/democracy/index.js +11 -0
  297. package/democracy/locks.d.ts +14 -0
  298. package/democracy/locks.js +62 -0
  299. package/democracy/nextExternal.d.ts +12 -0
  300. package/democracy/nextExternal.js +28 -0
  301. package/democracy/preimages.d.ts +24 -0
  302. package/democracy/preimages.js +113 -0
  303. package/democracy/proposals.d.ts +12 -0
  304. package/democracy/proposals.js +43 -0
  305. package/democracy/referendumIds.d.ts +12 -0
  306. package/democracy/referendumIds.js +21 -0
  307. package/democracy/referendums.d.ts +11 -0
  308. package/democracy/referendums.js +19 -0
  309. package/democracy/referendumsActive.d.ts +12 -0
  310. package/democracy/referendumsActive.js +16 -0
  311. package/democracy/referendumsFinished.d.ts +15 -0
  312. package/democracy/referendumsFinished.js +17 -0
  313. package/democracy/referendumsInfo.d.ts +23 -0
  314. package/democracy/referendumsInfo.js +108 -0
  315. package/democracy/sqrtElectorate.d.ts +13 -0
  316. package/democracy/sqrtElectorate.js +15 -0
  317. package/democracy/types.d.ts +70 -0
  318. package/democracy/types.js +1 -0
  319. package/democracy/util.d.ts +18 -0
  320. package/democracy/util.js +129 -0
  321. package/derive.d.ts +52 -0
  322. package/{src/derive.ts → derive.js} +2 -22
  323. package/elections/index.d.ts +1 -0
  324. package/elections/index.js +1 -0
  325. package/elections/info.d.ts +14 -0
  326. package/elections/info.js +90 -0
  327. package/elections/types.d.ts +18 -0
  328. package/elections/types.js +1 -0
  329. package/imOnline/index.d.ts +1 -0
  330. package/imOnline/index.js +1 -0
  331. package/imOnline/receivedHeartbeats.d.ts +13 -0
  332. package/imOnline/receivedHeartbeats.js +39 -0
  333. package/index.d.ts +2 -0
  334. package/index.js +2 -0
  335. package/membership/index.d.ts +70 -0
  336. package/{src/membership/index.ts → membership/index.js} +0 -5
  337. package/package.json +2066 -19
  338. package/packageDetect.d.ts +1 -0
  339. package/packageDetect.js +3 -0
  340. package/packageInfo.d.ts +6 -0
  341. package/packageInfo.js +1 -0
  342. package/session/index.d.ts +3 -0
  343. package/session/index.js +3 -0
  344. package/session/indexes.d.ts +15 -0
  345. package/session/indexes.js +65 -0
  346. package/session/info.d.ts +13 -0
  347. package/{src/session/info.ts → session/info.js} +7 -21
  348. package/session/progress.d.ts +47 -0
  349. package/session/progress.js +89 -0
  350. package/session/types.d.ts +19 -0
  351. package/session/types.js +1 -0
  352. package/society/candidates.d.ts +12 -0
  353. package/society/candidates.js +39 -0
  354. package/{src/society/index.ts → society/index.d.ts} +0 -3
  355. package/society/index.js +4 -0
  356. package/society/info.d.ts +12 -0
  357. package/society/info.js +33 -0
  358. package/society/member.d.ts +14 -0
  359. package/society/member.js +15 -0
  360. package/society/members.d.ts +14 -0
  361. package/society/members.js +66 -0
  362. package/society/types.d.ts +27 -0
  363. package/society/types.js +1 -0
  364. package/staking/account.d.ts +31 -0
  365. package/staking/account.js +76 -0
  366. package/staking/cache.d.ts +12 -0
  367. package/staking/cache.js +32 -0
  368. package/staking/currentPoints.d.ts +13 -0
  369. package/staking/currentPoints.js +14 -0
  370. package/staking/electedInfo.d.ts +23 -0
  371. package/staking/electedInfo.js +34 -0
  372. package/staking/erasExposure.d.ts +30 -0
  373. package/staking/erasExposure.js +72 -0
  374. package/staking/erasHistoric.d.ts +8 -0
  375. package/staking/erasHistoric.js +28 -0
  376. package/staking/erasPoints.d.ts +18 -0
  377. package/staking/erasPoints.js +47 -0
  378. package/staking/erasPrefs.d.ts +27 -0
  379. package/staking/erasPrefs.js +43 -0
  380. package/staking/erasRewards.d.ts +14 -0
  381. package/staking/erasRewards.js +34 -0
  382. package/staking/erasSlashes.d.ts +26 -0
  383. package/staking/erasSlashes.js +49 -0
  384. package/{src/staking/index.ts → staking/index.d.ts} +0 -3
  385. package/staking/index.js +22 -0
  386. package/staking/keys.d.ts +35 -0
  387. package/staking/keys.js +57 -0
  388. package/staking/overview.d.ts +19 -0
  389. package/staking/overview.js +28 -0
  390. package/staking/ownExposure.d.ts +37 -0
  391. package/staking/ownExposure.js +60 -0
  392. package/staking/ownSlashes.d.ts +35 -0
  393. package/staking/ownSlashes.js +47 -0
  394. package/staking/query.d.ts +31 -0
  395. package/staking/query.js +172 -0
  396. package/staking/stakerExposure.d.ts +33 -0
  397. package/staking/stakerExposure.js +51 -0
  398. package/staking/stakerPoints.d.ts +22 -0
  399. package/staking/stakerPoints.js +31 -0
  400. package/staking/stakerPrefs.d.ts +24 -0
  401. package/staking/stakerPrefs.js +29 -0
  402. package/staking/stakerRewards.d.ts +49 -0
  403. package/staking/stakerRewards.js +215 -0
  404. package/staking/stakerSlashes.d.ts +22 -0
  405. package/staking/stakerSlashes.js +30 -0
  406. package/staking/stashes.d.ts +16 -0
  407. package/staking/stashes.js +35 -0
  408. package/staking/types.d.ts +139 -0
  409. package/staking/types.js +1 -0
  410. package/staking/util.d.ts +14 -0
  411. package/staking/util.js +46 -0
  412. package/staking/validators.d.ts +33 -0
  413. package/{src/staking/validators.ts → staking/validators.js} +25 -40
  414. package/staking/waitingInfo.d.ts +16 -0
  415. package/{src/staking/waitingInfo.ts → staking/waitingInfo.js} +8 -24
  416. package/technicalCommittee/index.d.ts +70 -0
  417. package/{src/technicalCommittee/index.ts → technicalCommittee/index.js} +0 -5
  418. package/teyrchains/index.d.ts +2 -0
  419. package/teyrchains/index.js +2 -0
  420. package/teyrchains/info.d.ts +19 -0
  421. package/teyrchains/info.js +72 -0
  422. package/teyrchains/overview.d.ts +15 -0
  423. package/teyrchains/overview.js +36 -0
  424. package/teyrchains/types.d.ts +38 -0
  425. package/teyrchains/types.js +1 -0
  426. package/teyrchains/util.d.ts +3 -0
  427. package/teyrchains/util.js +5 -0
  428. package/treasury/index.d.ts +1 -0
  429. package/treasury/index.js +1 -0
  430. package/treasury/proposals.d.ts +12 -0
  431. package/treasury/proposals.js +68 -0
  432. package/tx/constants.d.ts +5 -0
  433. package/{src/tx/constants.ts → tx/constants.js} +0 -8
  434. package/tx/events.d.ts +22 -0
  435. package/tx/events.js +21 -0
  436. package/tx/extrinsicInfo.d.ts +61 -0
  437. package/tx/extrinsicInfo.js +83 -0
  438. package/tx/index.d.ts +3 -0
  439. package/tx/index.js +3 -0
  440. package/tx/signingInfo.d.ts +25 -0
  441. package/tx/signingInfo.js +78 -0
  442. package/type/HeaderExtended.d.ts +4 -0
  443. package/type/HeaderExtended.js +20 -0
  444. package/type/SignedBlockExtended.d.ts +4 -0
  445. package/type/SignedBlockExtended.js +57 -0
  446. package/{src/type/index.ts → type/index.d.ts} +0 -3
  447. package/type/index.js +2 -0
  448. package/type/types.d.ts +15 -0
  449. package/type/types.js +1 -0
  450. package/type/util.d.ts +2 -0
  451. package/type/util.js +33 -0
  452. package/{src/types.ts → types.d.ts} +39 -57
  453. package/types.js +12 -0
  454. package/util/approvalFlagsToBools.d.ts +4 -0
  455. package/util/approvalFlagsToBools.js +16 -0
  456. package/util/blockNumber.d.ts +7 -0
  457. package/util/blockNumber.js +6 -0
  458. package/util/cache.d.ts +4 -0
  459. package/util/cache.js +42 -0
  460. package/util/cacheImpl.d.ts +3 -0
  461. package/util/cacheImpl.js +23 -0
  462. package/util/first.d.ts +4 -0
  463. package/util/first.js +8 -0
  464. package/{src/util/index.ts → util/index.d.ts} +0 -6
  465. package/util/index.js +7 -0
  466. package/util/lazy.d.ts +4 -0
  467. package/util/lazy.js +4 -0
  468. package/util/types.d.ts +6 -0
  469. package/util/types.js +1 -0
  470. package/build/bagsList/listNodes.d.ts +0 -9
  471. package/build/parachains/overview.d.ts +0 -15
  472. package/src/accounts/accountId.ts +0 -44
  473. package/src/accounts/flags.ts +0 -90
  474. package/src/accounts/idAndIndex.ts +0 -51
  475. package/src/accounts/idToIndex.ts +0 -31
  476. package/src/accounts/identity.ts +0 -235
  477. package/src/accounts/indexToId.ts +0 -33
  478. package/src/accounts/indexes.ts +0 -56
  479. package/src/accounts/info.ts +0 -58
  480. package/src/accounts/types.ts +0 -48
  481. package/src/augment.ts +0 -4
  482. package/src/bagsList/get.ts +0 -79
  483. package/src/bagsList/getExpanded.ts +0 -41
  484. package/src/bagsList/index.ts +0 -6
  485. package/src/bagsList/listNodes.ts +0 -50
  486. package/src/bagsList/types.ts +0 -18
  487. package/src/bagsList/util.ts +0 -14
  488. package/src/balances/account.ts +0 -210
  489. package/src/balances/all.ts +0 -246
  490. package/src/balances/types.ts +0 -79
  491. package/src/balances/votingBalances.ts +0 -33
  492. package/src/bounties/bounties.spec.ts +0 -162
  493. package/src/bounties/bounties.ts +0 -76
  494. package/src/bounties/helpers/filterBountyProposals.ts +0 -13
  495. package/src/bounties/index.ts +0 -4
  496. package/src/bundle.ts +0 -140
  497. package/src/chain/bestNumberLag.ts +0 -33
  498. package/src/chain/getBlock.ts +0 -43
  499. package/src/chain/getHeader.ts +0 -37
  500. package/src/chain/subscribeFinalizedBlocks.ts +0 -30
  501. package/src/chain/subscribeFinalizedHeads.ts +0 -62
  502. package/src/chain/subscribeNewBlocks.ts +0 -30
  503. package/src/chain/subscribeNewHeads.ts +0 -38
  504. package/src/chain/util.ts +0 -112
  505. package/src/checkTypes.manual.ts +0 -8
  506. package/src/collective/helpers.ts +0 -36
  507. package/src/collective/index.ts +0 -6
  508. package/src/collective/members.ts +0 -8
  509. package/src/collective/prime.ts +0 -25
  510. package/src/collective/proposals.ts +0 -73
  511. package/src/contracts/fees.ts +0 -61
  512. package/src/contracts/index.ts +0 -4
  513. package/src/council/votes.ts +0 -97
  514. package/src/council/votesOf.ts +0 -35
  515. package/src/crowdloan/childKey.ts +0 -57
  516. package/src/crowdloan/contributions.ts +0 -142
  517. package/src/crowdloan/index.ts +0 -6
  518. package/src/crowdloan/ownContributions.ts +0 -81
  519. package/src/crowdloan/util.ts +0 -33
  520. package/src/democracy/dispatchQueue.ts +0 -158
  521. package/src/democracy/locks.ts +0 -114
  522. package/src/democracy/nextExternal.ts +0 -49
  523. package/src/democracy/preimages.ts +0 -171
  524. package/src/democracy/proposals.ts +0 -81
  525. package/src/democracy/referendumIds.ts +0 -37
  526. package/src/democracy/referendums.ts +0 -39
  527. package/src/democracy/referendumsActive.ts +0 -30
  528. package/src/democracy/referendumsFinished.ts +0 -37
  529. package/src/democracy/referendumsInfo.ts +0 -181
  530. package/src/democracy/sqrtElectorate.ts +0 -29
  531. package/src/democracy/types.ts +0 -84
  532. package/src/democracy/util.ts +0 -166
  533. package/src/elections/index.ts +0 -4
  534. package/src/elections/info.ts +0 -126
  535. package/src/elections/types.ts +0 -22
  536. package/src/imOnline/index.ts +0 -4
  537. package/src/imOnline/receivedHeartbeats.ts +0 -65
  538. package/src/index.spec.ts +0 -103
  539. package/src/index.ts +0 -6
  540. package/src/mod.ts +0 -4
  541. package/src/packageDetect.ts +0 -11
  542. package/src/packageInfo.ts +0 -6
  543. package/src/parachains/index.ts +0 -5
  544. package/src/parachains/info.ts +0 -111
  545. package/src/parachains/overview.ts +0 -63
  546. package/src/parachains/types.ts +0 -46
  547. package/src/parachains/util.ts +0 -11
  548. package/src/session/index.ts +0 -6
  549. package/src/session/indexes.ts +0 -90
  550. package/src/session/progress.ts +0 -130
  551. package/src/session/types.ts +0 -25
  552. package/src/society/candidates.ts +0 -71
  553. package/src/society/info.ts +0 -50
  554. package/src/society/member.ts +0 -28
  555. package/src/society/members.ts +0 -107
  556. package/src/society/types.ts +0 -33
  557. package/src/staking/account.ts +0 -112
  558. package/src/staking/cache.ts +0 -48
  559. package/src/staking/currentPoints.ts +0 -28
  560. package/src/staking/electedInfo.ts +0 -54
  561. package/src/staking/erasExposure.ts +0 -105
  562. package/src/staking/erasHistoric.ts +0 -47
  563. package/src/staking/erasPoints.ts +0 -67
  564. package/src/staking/erasPrefs.ts +0 -63
  565. package/src/staking/erasRewards.ts +0 -52
  566. package/src/staking/erasSlashes.ts +0 -69
  567. package/src/staking/keys.ts +0 -86
  568. package/src/staking/overview.ts +0 -42
  569. package/src/staking/ownExposure.ts +0 -83
  570. package/src/staking/ownSlashes.ts +0 -68
  571. package/src/staking/query.ts +0 -230
  572. package/src/staking/stakerExposure.ts +0 -78
  573. package/src/staking/stakerPoints.ts +0 -46
  574. package/src/staking/stakerPrefs.ts +0 -45
  575. package/src/staking/stakerRewards.ts +0 -298
  576. package/src/staking/stakerSlashes.ts +0 -45
  577. package/src/staking/stashes.ts +0 -55
  578. package/src/staking/types.ts +0 -174
  579. package/src/staking/util.ts +0 -94
  580. package/src/test/bountyFactory.ts +0 -39
  581. package/src/test/bytesFactory.ts +0 -15
  582. package/src/test/helpers.ts +0 -23
  583. package/src/test/proposalFactory.ts +0 -25
  584. package/src/treasury/index.ts +0 -4
  585. package/src/treasury/proposals.ts +0 -109
  586. package/src/tx/events.ts +0 -43
  587. package/src/tx/extrinsicInfo.ts +0 -123
  588. package/src/tx/index.ts +0 -6
  589. package/src/tx/signingInfo.ts +0 -129
  590. package/src/type/HeaderExtended.ts +0 -33
  591. package/src/type/SignedBlockExtended.ts +0 -75
  592. package/src/type/types.ts +0 -21
  593. package/src/type/util.ts +0 -45
  594. package/src/util/approvalFlagToBools.spec.ts +0 -37
  595. package/src/util/approvalFlagsToBools.ts +0 -26
  596. package/src/util/blockNumber.ts +0 -15
  597. package/src/util/cache.ts +0 -65
  598. package/src/util/cacheImpl.ts +0 -30
  599. package/src/util/first.ts +0 -20
  600. package/src/util/lazy.ts +0 -16
  601. package/src/util/types.ts +0 -9
  602. package/tsconfig.build.json +0 -21
  603. package/tsconfig.build.tsbuildinfo +0 -1
  604. package/tsconfig.spec.json +0 -27
  605. /package/{build/accounts → accounts}/accountId.d.ts +0 -0
  606. /package/{build/accounts → accounts}/idAndIndex.d.ts +0 -0
  607. /package/{build/accounts → accounts}/idToIndex.d.ts +0 -0
  608. /package/{build/accounts → accounts}/index.d.ts +0 -0
  609. /package/{build/accounts → accounts}/indexToId.d.ts +0 -0
  610. /package/{build/accounts → accounts}/indexes.d.ts +0 -0
  611. /package/{build/accounts → accounts}/info.d.ts +0 -0
  612. /package/{build/accounts → accounts}/types.d.ts +0 -0
  613. /package/{build/packageDetect.d.ts → accounts/types.js} +0 -0
  614. /package/{build/alliance → alliance}/index.d.ts +0 -0
  615. /package/{build/augment.d.ts → augment.d.ts} +0 -0
  616. /package/{build/bagsList → bagsList}/get.d.ts +0 -0
  617. /package/{build/bagsList → bagsList}/getExpanded.d.ts +0 -0
  618. /package/{build/bagsList → bagsList}/index.d.ts +0 -0
  619. /package/{build/bagsList → bagsList}/util.d.ts +0 -0
  620. /package/{build/balances → balances}/account.d.ts +0 -0
  621. /package/{build/balances → balances}/all.d.ts +0 -0
  622. /package/{build/balances → balances}/index.d.ts +0 -0
  623. /package/{build/balances → balances}/votingBalances.d.ts +0 -0
  624. /package/{build/bounties → bounties}/bounties.d.ts +0 -0
  625. /package/{build/bounties → bounties}/helpers/filterBountyProposals.d.ts +0 -0
  626. /package/{build/bounties → bounties}/index.d.ts +0 -0
  627. /package/{build/bundle.d.ts → bundle.d.ts} +0 -0
  628. /package/{build/chain → chain}/bestNumber.d.ts +0 -0
  629. /package/{build/chain → chain}/bestNumberFinalized.d.ts +0 -0
  630. /package/{build/chain → chain}/bestNumberLag.d.ts +0 -0
  631. /package/{build/chain → chain}/getBlock.d.ts +0 -0
  632. /package/{build/chain → chain}/getBlockByNumber.d.ts +0 -0
  633. /package/{build/chain → chain}/getHeader.d.ts +0 -0
  634. /package/{build/chain → chain}/index.d.ts +0 -0
  635. /package/{build/chain → chain}/subscribeFinalizedBlocks.d.ts +0 -0
  636. /package/{build/chain → chain}/subscribeFinalizedHeads.d.ts +0 -0
  637. /package/{build/chain → chain}/subscribeNewBlocks.d.ts +0 -0
  638. /package/{build/chain → chain}/subscribeNewHeads.d.ts +0 -0
  639. /package/{build/chain → chain}/util.d.ts +0 -0
  640. /package/{build → cjs}/collective/helpers.d.ts +0 -0
  641. /package/{build → cjs}/collective/index.d.ts +0 -0
  642. /package/{build → cjs}/collective/members.d.ts +0 -0
  643. /package/{build → cjs}/collective/prime.d.ts +0 -0
  644. /package/{build → cjs}/collective/proposals.d.ts +0 -0
  645. /package/{build → cjs}/collective/types.d.ts +0 -0
  646. /package/{build → cjs}/contracts/index.d.ts +0 -0
  647. /package/{build → cjs}/council/index.d.ts +0 -0
  648. /package/{build → cjs}/council/types.d.ts +0 -0
  649. /package/{build → cjs}/council/votes.d.ts +0 -0
  650. /package/{build → cjs}/council/votesOf.d.ts +0 -0
  651. /package/{build → cjs}/crowdloan/index.d.ts +0 -0
  652. /package/{build → cjs}/crowdloan/types.d.ts +0 -0
  653. /package/{build → cjs}/democracy/dispatchQueue.d.ts +0 -0
  654. /package/{build → cjs}/democracy/index.d.ts +0 -0
  655. /package/{build → cjs}/democracy/locks.d.ts +0 -0
  656. /package/{build → cjs}/democracy/nextExternal.d.ts +0 -0
  657. /package/{build → cjs}/democracy/proposals.d.ts +0 -0
  658. /package/{build → cjs}/democracy/referendumIds.d.ts +0 -0
  659. /package/{build → cjs}/democracy/referendums.d.ts +0 -0
  660. /package/{build → cjs}/democracy/referendumsActive.d.ts +0 -0
  661. /package/{build → cjs}/democracy/sqrtElectorate.d.ts +0 -0
  662. /package/{build → cjs}/elections/index.d.ts +0 -0
  663. /package/{build → cjs}/elections/info.d.ts +0 -0
  664. /package/{build → cjs}/elections/types.d.ts +0 -0
  665. /package/{build → cjs}/imOnline/index.d.ts +0 -0
  666. /package/{build → cjs}/imOnline/receivedHeartbeats.d.ts +0 -0
  667. /package/{build → cjs}/index.d.ts +0 -0
  668. /package/{build → cjs}/membership/index.d.ts +0 -0
  669. /package/{build → cjs}/packageInfo.d.ts +0 -0
  670. /package/{build → cjs}/session/index.d.ts +0 -0
  671. /package/{build → cjs}/session/indexes.d.ts +0 -0
  672. /package/{build → cjs}/session/info.d.ts +0 -0
  673. /package/{build → cjs}/session/progress.d.ts +0 -0
  674. /package/{build → cjs}/session/types.d.ts +0 -0
  675. /package/{build → cjs}/society/candidates.d.ts +0 -0
  676. /package/{build → cjs}/society/index.d.ts +0 -0
  677. /package/{build → cjs}/society/info.d.ts +0 -0
  678. /package/{build → cjs}/society/member.d.ts +0 -0
  679. /package/{build → cjs}/society/members.d.ts +0 -0
  680. /package/{build → cjs}/staking/cache.d.ts +0 -0
  681. /package/{build → cjs}/staking/electedInfo.d.ts +0 -0
  682. /package/{build → cjs}/staking/erasExposure.d.ts +0 -0
  683. /package/{build → cjs}/staking/erasHistoric.d.ts +0 -0
  684. /package/{build → cjs}/staking/erasPoints.d.ts +0 -0
  685. /package/{build → cjs}/staking/erasPrefs.d.ts +0 -0
  686. /package/{build → cjs}/staking/erasRewards.d.ts +0 -0
  687. /package/{build → cjs}/staking/erasSlashes.d.ts +0 -0
  688. /package/{build → cjs}/staking/index.d.ts +0 -0
  689. /package/{build → cjs}/staking/overview.d.ts +0 -0
  690. /package/{build → cjs}/staking/stakerPoints.d.ts +0 -0
  691. /package/{build → cjs}/staking/stakerPrefs.d.ts +0 -0
  692. /package/{build → cjs}/staking/stakerSlashes.d.ts +0 -0
  693. /package/{build → cjs}/staking/stashes.d.ts +0 -0
  694. /package/{build → cjs}/staking/util.d.ts +0 -0
  695. /package/{build → cjs}/staking/validators.d.ts +0 -0
  696. /package/{build → cjs}/staking/waitingInfo.d.ts +0 -0
  697. /package/{build → cjs}/technicalCommittee/index.d.ts +0 -0
  698. /package/{build/parachains → cjs/teyrchains}/index.d.ts +0 -0
  699. /package/{build/parachains → cjs/teyrchains}/util.d.ts +0 -0
  700. /package/{build → cjs}/treasury/index.d.ts +0 -0
  701. /package/{build → cjs}/treasury/proposals.d.ts +0 -0
  702. /package/{build → cjs}/tx/constants.d.ts +0 -0
  703. /package/{build → cjs}/tx/events.d.ts +0 -0
  704. /package/{build → cjs}/tx/extrinsicInfo.d.ts +0 -0
  705. /package/{build → cjs}/tx/index.d.ts +0 -0
  706. /package/{build → cjs}/tx/signingInfo.d.ts +0 -0
  707. /package/{build → cjs}/type/HeaderExtended.d.ts +0 -0
  708. /package/{build → cjs}/type/SignedBlockExtended.d.ts +0 -0
  709. /package/{build → cjs}/type/index.d.ts +0 -0
  710. /package/{build → cjs}/type/types.d.ts +0 -0
  711. /package/{build → cjs}/type/util.d.ts +0 -0
  712. /package/{build → cjs}/util/approvalFlagsToBools.d.ts +0 -0
  713. /package/{build → cjs}/util/blockNumber.d.ts +0 -0
  714. /package/{build → cjs}/util/cache.d.ts +0 -0
  715. /package/{build → cjs}/util/cacheImpl.d.ts +0 -0
  716. /package/{build → cjs}/util/first.d.ts +0 -0
  717. /package/{build → cjs}/util/index.d.ts +0 -0
  718. /package/{build → cjs}/util/lazy.d.ts +0 -0
  719. /package/{build → cjs}/util/types.d.ts +0 -0
package/bundle.js ADDED
@@ -0,0 +1,107 @@
1
+ import { lazyDeriveSection } from './util/index.js';
2
+ import { derive } from './derive.js';
3
+ export * from './derive.js';
4
+ export * from './type/index.js';
5
+ export { lazyDeriveSection };
6
+ const checks = {
7
+ allianceMotion: {
8
+ instances: ['allianceMotion'],
9
+ methods: []
10
+ },
11
+ bagsList: {
12
+ instances: ['voterBagsList', 'voterList', 'bagsList'],
13
+ methods: [],
14
+ withDetect: true
15
+ },
16
+ contracts: {
17
+ instances: ['contracts'],
18
+ methods: []
19
+ },
20
+ council: {
21
+ instances: ['council'],
22
+ methods: [],
23
+ withDetect: true
24
+ },
25
+ crowdloan: {
26
+ instances: ['crowdloan'],
27
+ methods: []
28
+ },
29
+ democracy: {
30
+ instances: ['democracy'],
31
+ methods: []
32
+ },
33
+ elections: {
34
+ instances: ['phragmenElection', 'electionsPhragmen', 'elections', 'council'],
35
+ methods: [],
36
+ withDetect: true
37
+ },
38
+ imOnline: {
39
+ instances: ['imOnline'],
40
+ methods: []
41
+ },
42
+ membership: {
43
+ instances: ['membership'],
44
+ methods: []
45
+ },
46
+ teyrchains: {
47
+ instances: ['teyrchains', 'registrar'],
48
+ methods: []
49
+ },
50
+ session: {
51
+ instances: ['session'],
52
+ methods: []
53
+ },
54
+ society: {
55
+ instances: ['society'],
56
+ methods: []
57
+ },
58
+ staking: {
59
+ instances: ['staking'],
60
+ methods: ['erasRewardPoints']
61
+ },
62
+ technicalCommittee: {
63
+ instances: ['technicalCommittee'],
64
+ methods: [],
65
+ withDetect: true
66
+ },
67
+ treasury: {
68
+ instances: ['treasury'],
69
+ methods: []
70
+ }
71
+ };
72
+ function getModuleInstances(api, specName, moduleName) {
73
+ return api.registry.getModuleInstances(specName, moduleName) || [];
74
+ }
75
+ /**
76
+ * Returns an object that will inject `api` into all the functions inside
77
+ * `allSections`, and keep the object architecture of `allSections`.
78
+ */
79
+ /** @internal */
80
+ function injectFunctions(instanceId, api, derives) {
81
+ const result = {};
82
+ const names = Object.keys(derives);
83
+ const keys = Object.keys(api.query);
84
+ const specName = api.runtimeVersion.specName;
85
+ const filterKeys = (q) => keys.includes(q);
86
+ const filterInstances = (q) => getModuleInstances(api, specName, q).some(filterKeys);
87
+ const filterMethods = (all) => (m) => all.some((q) => keys.includes(q) && api.query[q][m]);
88
+ const getKeys = (s) => Object.keys(derives[s]);
89
+ const creator = (s, m) => derives[s][m](instanceId, api);
90
+ const isIncluded = (c) => (!checks[c] || ((checks[c].instances.some(filterKeys) && (!checks[c].methods.length ||
91
+ checks[c].methods.every(filterMethods(checks[c].instances)))) ||
92
+ (checks[c].withDetect &&
93
+ checks[c].instances.some(filterInstances))));
94
+ for (let i = 0, count = names.length; i < count; i++) {
95
+ const name = names[i];
96
+ isIncluded(name) &&
97
+ lazyDeriveSection(result, name, getKeys, creator);
98
+ }
99
+ return result;
100
+ }
101
+ /** @internal */
102
+ export function getAvailableDerives(instanceId, api, custom = {}) {
103
+ return {
104
+ ...injectFunctions(instanceId, api, derive),
105
+ ...injectFunctions(instanceId, api, custom)
106
+ };
107
+ }
@@ -1,10 +1,4 @@
1
- // Copyright 2017-2025 @polkadot/api-derive authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { DeriveApi } from '../types.js';
5
-
6
1
  import { createBlockNumberDerive } from './util.js';
7
-
8
2
  /**
9
3
  * @name bestNumber
10
4
  * @descrive Retrieves the latest block number.
@@ -15,7 +9,4 @@ import { createBlockNumberDerive } from './util.js';
15
9
  * });
16
10
  * ```
17
11
  */
18
- export const bestNumber = /*#__PURE__*/ createBlockNumberDerive(
19
- (api: DeriveApi) =>
20
- api.rpc.chain.subscribeNewHeads()
21
- );
12
+ export const bestNumber = /*#__PURE__*/ createBlockNumberDerive((api) => api.rpc.chain.subscribeNewHeads());
@@ -1,10 +1,4 @@
1
- // Copyright 2017-2025 @polkadot/api-derive authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { DeriveApi } from '../types.js';
5
-
6
1
  import { createBlockNumberDerive } from './util.js';
7
-
8
2
  /**
9
3
  * @name bestNumberFinalized
10
4
  * @returns A BlockNumber
@@ -16,7 +10,4 @@ import { createBlockNumberDerive } from './util.js';
16
10
  * });
17
11
  * ```
18
12
  */
19
- export const bestNumberFinalized = /*#__PURE__*/ createBlockNumberDerive(
20
- (api: DeriveApi) =>
21
- api.rpc.chain.subscribeFinalizedHeads()
22
- );
13
+ export const bestNumberFinalized = /*#__PURE__*/ createBlockNumberDerive((api) => api.rpc.chain.subscribeFinalizedHeads());
@@ -0,0 +1,19 @@
1
+ import { combineLatest, map } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ /**
4
+ * @name bestNumberLag
5
+ * @returns A number of blocks
6
+ * @description Calculates the lag between finalized head and best head
7
+ * @examplew
8
+ * ```javascript
9
+ * api.derive.chain.bestNumberLag((lag) => {
10
+ * console.log(`finalized is ${lag} blocks behind head`);
11
+ * });
12
+ * ```
13
+ */
14
+ export function bestNumberLag(instanceId, api) {
15
+ return memo(instanceId, () => combineLatest([
16
+ api.derive.chain.bestNumber(),
17
+ api.derive.chain.bestNumberFinalized()
18
+ ]).pipe(map(([bestNumber, bestNumberFinalized]) => api.registry.createType('BlockNumber', bestNumber.sub(bestNumberFinalized)))));
19
+ }
@@ -0,0 +1,25 @@
1
+ import { combineLatest, map, of, switchMap } from 'rxjs';
2
+ import { createSignedBlockExtended } from '../type/index.js';
3
+ import { memo } from '../util/index.js';
4
+ import { getAuthorDetails } from './util.js';
5
+ /**
6
+ * @name getBlock
7
+ * @param {( Uint8Array | string )} hash A block hash as U8 array or string.
8
+ * @description Get a specific block (e.g. rpc.chain.getBlock) and extend it with the author
9
+ * @example
10
+ * ```javascript
11
+ * const { author, block } = await api.derive.chain.getBlock('0x123...456');
12
+ *
13
+ * console.log(`block #${block.header.number} was authored by ${author}`);
14
+ * ```
15
+ */
16
+ export function getBlock(instanceId, api) {
17
+ return memo(instanceId, (blockHash) => combineLatest([
18
+ api.rpc.chain.getBlock(blockHash),
19
+ api.queryAt(blockHash)
20
+ ]).pipe(switchMap(([signedBlock, queryAt]) => combineLatest([
21
+ of(signedBlock),
22
+ queryAt.system.events(),
23
+ getAuthorDetails(api, signedBlock.block.header, blockHash)
24
+ ])), map(([signedBlock, events, [, validators, author]]) => createSignedBlockExtended(events.registry, signedBlock, events, validators, author))));
25
+ }
@@ -0,0 +1,16 @@
1
+ import { switchMap } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ /**
4
+ * @name getBlockByNumber
5
+ * @param {( BN | bigint | Uint8Array | number | string )} blockNumber
6
+ * @description Get a specific block (e.g. rpc.chain.getBlock) and extend it with the author by block number
7
+ * @example
8
+ * ```javascript
9
+ * const { author, block } = await api.derive.chain.getBlockByNumber(123);
10
+ *
11
+ * console.log(`block #${block.header.number} was authored by ${author}`);
12
+ * ```
13
+ */
14
+ export function getBlockByNumber(instanceId, api) {
15
+ return memo(instanceId, (blockNumber) => api.rpc.chain.getBlockHash(blockNumber).pipe(switchMap((h) => api.derive.chain.getBlock(h))));
16
+ }
@@ -0,0 +1,19 @@
1
+ import { map, switchMap } from 'rxjs';
2
+ import { createHeaderExtended } from '../type/index.js';
3
+ import { memo } from '../util/index.js';
4
+ import { getAuthorDetails } from './util.js';
5
+ /**
6
+ * @name getHeader
7
+ * @param {( Uint8Array | string )} hash - A block hash as U8 array or string.
8
+ * @returns An array containing the block header and the block author
9
+ * @description Get a specific block header and extend it with the author
10
+ * @example
11
+ * ```javascript
12
+ * const { author, number } = await api.derive.chain.getHeader('0x123...456');
13
+ *
14
+ * console.log(`block #${number} was authored by ${author}`);
15
+ * ```
16
+ */
17
+ export function getHeader(instanceId, api) {
18
+ return memo(instanceId, (blockHash) => api.rpc.chain.getHeader(blockHash).pipe(switchMap((header) => getAuthorDetails(api, header, blockHash)), map(([header, validators, author]) => createHeaderExtended((validators || header).registry, header, validators, author))));
19
+ }
@@ -1,6 +1,3 @@
1
- // Copyright 2017-2025 @polkadot/api-derive authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  export * from './bestNumber.js';
5
2
  export * from './bestNumberFinalized.js';
6
3
  export * from './bestNumberLag.js';
@@ -0,0 +1,15 @@
1
+ import { switchMap } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ /**
4
+ * @name subscribeFinalizedBlocks
5
+ * @description Retrieves the finalized block & events for that block
6
+ * @example
7
+ * ```javascript
8
+ * const unsub = await api.derive.chain.subscribeFinalizedBlocks((finalizedBlock) => {
9
+ * console.log(`# Finalized block ${finalizedBlock.block.hash}`);
10
+ * });
11
+ * ```
12
+ */
13
+ export function subscribeFinalizedBlocks(instanceId, api) {
14
+ return memo(instanceId, () => api.derive.chain.subscribeFinalizedHeads().pipe(switchMap((header) => api.derive.chain.getBlock(header.createdAtHash || header.hash))));
15
+ }
@@ -0,0 +1,37 @@
1
+ import { from, of, switchMap } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ /**
4
+ * Returns a header range from startHash to to (not including) endHash, i.e. lastBlock.parentHash === endHash
5
+ */
6
+ export function _getHeaderRange(instanceId, api) {
7
+ return memo(instanceId, (startHash, endHash, prev = []) => api.rpc.chain.getHeader(startHash).pipe(switchMap((header) => header.parentHash.eq(endHash)
8
+ ? of([header, ...prev])
9
+ : api.derive.chain._getHeaderRange(header.parentHash, endHash, [header, ...prev]))));
10
+ }
11
+ /**
12
+ * @name subscribeFinalizedHeads
13
+ * @description An observable of the finalized block headers. Unlike the base
14
+ * chain.subscribeFinalizedHeads this does not skip any headers. Since finalization
15
+ * may skip specific blocks (finalization happens in terms of chains), this version
16
+ * of the derive tracks missing headers (since last retrieved) and provides them
17
+ * to the caller.
18
+ * @example
19
+ * ```javascript
20
+ * const unsub = await api.derive.chain.subscribeFinalizedHeads((finalizedHead) => {
21
+ * console.log(`${finalizedHead.hash}`);
22
+ * });
23
+ * ```
24
+ */
25
+ export function subscribeFinalizedHeads(instanceId, api) {
26
+ return memo(instanceId, () => {
27
+ let prevHash = null;
28
+ return api.rpc.chain.subscribeFinalizedHeads().pipe(switchMap((header) => {
29
+ const endHash = prevHash;
30
+ const startHash = header.parentHash;
31
+ prevHash = header.createdAtHash = header.hash;
32
+ return endHash === null || startHash.eq(endHash)
33
+ ? of(header)
34
+ : api.derive.chain._getHeaderRange(startHash, endHash, [header]).pipe(switchMap((headers) => from(headers)));
35
+ }));
36
+ });
37
+ }
@@ -0,0 +1,15 @@
1
+ import { switchMap } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ /**
4
+ * @name subscribeNewBlocks
5
+ * @returns The latest block & events for that block
6
+ * @example
7
+ * ```javascript
8
+ * const unsub = await api.derive.chain.subscribeNewBlocks((newBlock) => {
9
+ * console.log(`Block Hash: ${newBlock.hash}`);
10
+ * });
11
+ * ```
12
+ */
13
+ export function subscribeNewBlocks(instanceId, api) {
14
+ return memo(instanceId, () => api.derive.chain.subscribeNewHeads().pipe(switchMap((header) => api.derive.chain.getBlock(header.createdAtHash || header.hash))));
15
+ }
@@ -0,0 +1,21 @@
1
+ import { map, switchMap } from 'rxjs';
2
+ import { createHeaderExtended } from '../type/index.js';
3
+ import { memo } from '../util/index.js';
4
+ import { getAuthorDetails } from './util.js';
5
+ /**
6
+ * @name subscribeNewHeads
7
+ * @returns A header with the current header (including extracted author).
8
+ * @description An observable of the current block header and it's author.
9
+ * @example
10
+ * ```javascript
11
+ * api.derive.chain.subscribeNewHeads((header) => {
12
+ * console.log(`block #${header.number} was authored by ${header.author}`);
13
+ * });
14
+ * ```
15
+ */
16
+ export function subscribeNewHeads(instanceId, api) {
17
+ return memo(instanceId, () => api.rpc.chain.subscribeNewHeads().pipe(switchMap((header) => getAuthorDetails(api, header)), map(([header, validators, author]) => {
18
+ header.createdAtHash = header.hash;
19
+ return createHeaderExtended(header.registry, header, validators, author);
20
+ })));
21
+ }
package/chain/util.js ADDED
@@ -0,0 +1,57 @@
1
+ import { combineLatest, map, mergeMap, of, switchMap } from 'rxjs';
2
+ import { memo, unwrapBlockNumber } from '../util/index.js';
3
+ export function createBlockNumberDerive(fn) {
4
+ return (instanceId, api) => memo(instanceId, () => fn(api).pipe(map(unwrapBlockNumber)));
5
+ }
6
+ /** @internal */
7
+ function getAuthorDetailsWithAt(header, queryAt) {
8
+ const validators = queryAt.session?.validators
9
+ ? queryAt.session.validators()
10
+ : of(null);
11
+ // nimbus consensus stores the session key of the block author in header logs
12
+ const { logs: [log] } = header.digest;
13
+ const loggedAuthor = (log && ((log.isConsensus && log.asConsensus[0].isNimbus && log.asConsensus[1]) ||
14
+ (log.isPreRuntime && log.asPreRuntime[0].isNimbus && log.asPreRuntime[1])));
15
+ if (loggedAuthor) {
16
+ // use the author mapping pallet, if available (ie: moonbeam, moonriver), to map session (nimbus) key to author (collator/validator) key
17
+ if (queryAt['authorMapping']?.['mappingWithDeposit']) {
18
+ return combineLatest([
19
+ of(header),
20
+ validators,
21
+ queryAt['authorMapping']['mappingWithDeposit'](loggedAuthor).pipe(map((o) => o.unwrapOr({ account: null }).account))
22
+ ]);
23
+ }
24
+ // fall back to session and teyrchain staking pallets, if available (ie: manta, calamari), to map session (nimbus) key to author (collator) key
25
+ if (queryAt['teyrchainStaking']?.['selectedCandidates'] && queryAt.session?.nextKeys) {
26
+ const loggedHex = loggedAuthor.toHex();
27
+ return combineLatest([
28
+ of(header),
29
+ validators,
30
+ queryAt['teyrchainStaking']['selectedCandidates']().pipe(mergeMap((selectedCandidates) => combineLatest([
31
+ of(selectedCandidates),
32
+ queryAt.session.nextKeys.multi(selectedCandidates).pipe(map((nextKeys) => nextKeys.findIndex((o) => o.unwrapOrDefault().nimbus.toHex() === loggedHex)))
33
+ ])), map(([selectedCandidates, index]) => index === -1
34
+ ? null
35
+ : selectedCandidates[index]))
36
+ ]);
37
+ }
38
+ }
39
+ // normal operation, non-mapping
40
+ return combineLatest([
41
+ of(header),
42
+ validators,
43
+ of(null)
44
+ ]);
45
+ }
46
+ export function getAuthorDetails(api, header, blockHash) {
47
+ // For on-chain state, we need to retrieve it as per the start
48
+ // of the block being constructed, i.e. session validators would
49
+ // be at the point of the block construction, not when all operations
50
+ // has been supplied.
51
+ //
52
+ // However for the first block (no parentHash available), we would
53
+ // just use the as-is
54
+ return api.queryAt(header.parentHash.isEmpty
55
+ ? blockHash || header.hash
56
+ : header.parentHash).pipe(switchMap((queryAt) => getAuthorDetailsWithAt(header, queryAt)));
57
+ }
@@ -0,0 +1,17 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { AccountId, AccountIndex, Address } from '@pezkuwi/types/interfaces';
3
+ import type { DeriveApi } from '../types.js';
4
+ /**
5
+ * @name accountId
6
+ * @param {(Address | AccountId | AccountIndex | string | null)} address An accounts address in various formats.
7
+ * @description Resolves an address (in different formats) to its corresponding `AccountId`.
8
+ * @example
9
+ * ```javascript
10
+ * const ALICE = "F7Hs";
11
+ *
12
+ * api.derive.accounts.accountId(ALICE, (accountId) => {
13
+ * console.log(`Resolved AccountId: ${accountId}`);
14
+ * });
15
+ * ```
16
+ */
17
+ export declare function accountId(instanceId: string, api: DeriveApi): (address?: Address | AccountId | AccountIndex | string | null) => Observable<AccountId>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.accountId = accountId;
4
+ const rxjs_1 = require("rxjs");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const util_crypto_1 = require("@pezkuwi/util-crypto");
7
+ const index_js_1 = require("../util/index.js");
8
+ /**
9
+ * @name accountId
10
+ * @param {(Address | AccountId | AccountIndex | string | null)} address An accounts address in various formats.
11
+ * @description Resolves an address (in different formats) to its corresponding `AccountId`.
12
+ * @example
13
+ * ```javascript
14
+ * const ALICE = "F7Hs";
15
+ *
16
+ * api.derive.accounts.accountId(ALICE, (accountId) => {
17
+ * console.log(`Resolved AccountId: ${accountId}`);
18
+ * });
19
+ * ```
20
+ */
21
+ function accountId(instanceId, api) {
22
+ return (0, index_js_1.memo)(instanceId, (address) => {
23
+ const decoded = (0, util_1.isU8a)(address)
24
+ ? address
25
+ : (0, util_crypto_1.decodeAddress)((address || '').toString());
26
+ if (decoded.length > 8) {
27
+ return (0, rxjs_1.of)(api.registry.createType(decoded.length === 20 ? 'AccountId20' : 'AccountId', decoded));
28
+ }
29
+ const accountIndex = api.registry.createType('AccountIndex', decoded);
30
+ return api.derive.accounts.indexToId(accountIndex.toString()).pipe((0, rxjs_1.map)((a) => (0, util_1.assertReturn)(a, 'Unable to retrieve accountId')));
31
+ });
32
+ }
@@ -0,0 +1,29 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { AccountId, Address, Balance } from '@pezkuwi/types/interfaces';
3
+ import type { PezpalletElectionsPhragmenSeatHolder } from '@pezkuwi/types/lookup';
4
+ import type { Option } from '@pezkuwi/types-codec';
5
+ import type { DeriveAccountFlags, DeriveApi } from '../types.js';
6
+ type FlagsIntermediate = [
7
+ PezpalletElectionsPhragmenSeatHolder[] | [AccountId, Balance][] | undefined,
8
+ AccountId[],
9
+ AccountId[],
10
+ AccountId[],
11
+ Option<AccountId> | AccountId | undefined
12
+ ];
13
+ export declare function _flags(instanceId: string, api: DeriveApi): () => Observable<FlagsIntermediate>;
14
+ /**
15
+ * @name flags
16
+ * @param {(AccountId | Address | string | null)} address The account identifier.
17
+ * @description Retrieves the membership flags for a given account.
18
+ * @example
19
+ * const ALICE = "F7Hs";
20
+ *
21
+ * api.derive.accounts.flags(ALICE, (flags) => {
22
+ * console.log(
23
+ * `Account Flags:`,
24
+ * Object.keys(flags).map((flag) => `${flag}: ${flags[flag]}`)
25
+ * );
26
+ * });
27
+ */
28
+ export declare function flags(instanceId: string, api: DeriveApi): (address?: AccountId | Address | string | null) => Observable<DeriveAccountFlags>;
29
+ export {};
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._flags = _flags;
4
+ exports.flags = flags;
5
+ const rxjs_1 = require("rxjs");
6
+ const util_1 = require("@pezkuwi/util");
7
+ const index_js_1 = require("../util/index.js");
8
+ function parseFlags(address, [electionsMembers, councilMembers, technicalCommitteeMembers, societyMembers, sudoKey]) {
9
+ const addrStr = address?.toString();
10
+ const isIncluded = (id) => id.toString() === addrStr;
11
+ return {
12
+ isCouncil: (electionsMembers?.map((r) => Array.isArray(r) ? r[0] : r.who) || councilMembers || []).some(isIncluded),
13
+ isSociety: (societyMembers || []).some(isIncluded),
14
+ isSudo: sudoKey?.toString() === addrStr,
15
+ isTechCommittee: (technicalCommitteeMembers || []).some(isIncluded)
16
+ };
17
+ }
18
+ function _flags(instanceId, api) {
19
+ return (0, index_js_1.memo)(instanceId, () => {
20
+ const results = [undefined, [], [], [], undefined];
21
+ const calls = [
22
+ (api.query.elections || api.query['phragmenElection'] || api.query['electionsPhragmen'])?.members,
23
+ api.query.council?.members,
24
+ api.query.technicalCommittee?.members,
25
+ api.query.society?.members,
26
+ api.query.sudo?.key
27
+ ];
28
+ const filtered = calls.filter((c) => c);
29
+ if (!filtered.length) {
30
+ return (0, rxjs_1.of)(results);
31
+ }
32
+ return api.queryMulti(filtered).pipe((0, rxjs_1.map)((values) => {
33
+ let resultIndex = -1;
34
+ for (let i = 0, count = calls.length; i < count; i++) {
35
+ if ((0, util_1.isFunction)(calls[i])) {
36
+ results[i] = values[++resultIndex];
37
+ }
38
+ }
39
+ return results;
40
+ }));
41
+ });
42
+ }
43
+ /**
44
+ * @name flags
45
+ * @param {(AccountId | Address | string | null)} address The account identifier.
46
+ * @description Retrieves the membership flags for a given account.
47
+ * @example
48
+ * const ALICE = "F7Hs";
49
+ *
50
+ * api.derive.accounts.flags(ALICE, (flags) => {
51
+ * console.log(
52
+ * `Account Flags:`,
53
+ * Object.keys(flags).map((flag) => `${flag}: ${flags[flag]}`)
54
+ * );
55
+ * });
56
+ */
57
+ function flags(instanceId, api) {
58
+ return (0, index_js_1.memo)(instanceId, (address) => api.derive.accounts._flags().pipe((0, rxjs_1.map)((r) => parseFlags(address, r))));
59
+ }
@@ -0,0 +1,15 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { AccountId, AccountIndex, Address } from '@pezkuwi/types/interfaces';
3
+ import type { AccountIdAndIndex, DeriveApi } from '../types.js';
4
+ /**
5
+ * @name idAndIndex
6
+ * @param {(Address | AccountId | AccountIndex | Uint8Array | string | null)} address An accounts address in various formats.
7
+ * @description An array containing the [[AccountId]] and [[AccountIndex]] as optional values.
8
+ * @example
9
+ * ```javascript
10
+ * api.derive.accounts.idAndIndex('F7Hs', ([id, ix]) => {
11
+ * console.log(`AccountId #${id} with corresponding AccountIndex ${ix}`);
12
+ * });
13
+ * ```
14
+ */
15
+ export declare function idAndIndex(instanceId: string, api: DeriveApi): (address?: Address | AccountId | AccountIndex | Uint8Array | string | null) => Observable<AccountIdAndIndex>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.idAndIndex = idAndIndex;
4
+ const rxjs_1 = require("rxjs");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const util_crypto_1 = require("@pezkuwi/util-crypto");
7
+ const index_js_1 = require("../util/index.js");
8
+ /**
9
+ * @name idAndIndex
10
+ * @param {(Address | AccountId | AccountIndex | Uint8Array | string | null)} address An accounts address in various formats.
11
+ * @description An array containing the [[AccountId]] and [[AccountIndex]] as optional values.
12
+ * @example
13
+ * ```javascript
14
+ * api.derive.accounts.idAndIndex('F7Hs', ([id, ix]) => {
15
+ * console.log(`AccountId #${id} with corresponding AccountIndex ${ix}`);
16
+ * });
17
+ * ```
18
+ */
19
+ function idAndIndex(instanceId, api) {
20
+ return (0, index_js_1.memo)(instanceId, (address) => {
21
+ try {
22
+ // yes, this can fail, don't care too much, catch will catch it
23
+ const decoded = (0, util_1.isU8a)(address)
24
+ ? address
25
+ : (0, util_crypto_1.decodeAddress)((address || '').toString());
26
+ if (decoded.length > 8) {
27
+ const accountId = api.registry.createType(decoded.length === 20 ? 'AccountId20' : 'AccountId', decoded);
28
+ return api.derive.accounts.idToIndex(accountId).pipe((0, rxjs_1.map)((accountIndex) => [accountId, accountIndex]));
29
+ }
30
+ const accountIndex = api.registry.createType('AccountIndex', decoded);
31
+ return api.derive.accounts.indexToId(accountIndex.toString()).pipe((0, rxjs_1.map)((accountId) => [accountId, accountIndex]));
32
+ }
33
+ catch {
34
+ return (0, rxjs_1.of)([undefined, undefined]);
35
+ }
36
+ });
37
+ }
@@ -0,0 +1,16 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { AccountId, AccountIndex } from '@pezkuwi/types/interfaces';
3
+ import type { DeriveApi } from '../types.js';
4
+ /**
5
+ * @name idToIndex
6
+ * @description Retrieves the corresponding AccountIndex.
7
+ * @param {( AccountId | string )} accountId An accounts Id in different formats.
8
+ * @example
9
+ * ```javascript
10
+ * const ALICE = '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY';
11
+ * api.derive.accounts.idToIndex(ALICE, (accountIndex) => {
12
+ * console.log(`The AccountIndex of ${ALICE} is ${accountIndex}`);
13
+ * });
14
+ * ```
15
+ */
16
+ export declare function idToIndex(instanceId: string, api: DeriveApi): (accountId: AccountId | string) => Observable<AccountIndex | undefined>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.idToIndex = idToIndex;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ /**
7
+ * @name idToIndex
8
+ * @description Retrieves the corresponding AccountIndex.
9
+ * @param {( AccountId | string )} accountId An accounts Id in different formats.
10
+ * @example
11
+ * ```javascript
12
+ * const ALICE = '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY';
13
+ * api.derive.accounts.idToIndex(ALICE, (accountIndex) => {
14
+ * console.log(`The AccountIndex of ${ALICE} is ${accountIndex}`);
15
+ * });
16
+ * ```
17
+ */
18
+ function idToIndex(instanceId, api) {
19
+ return (0, index_js_1.memo)(instanceId, (accountId) => api.derive.accounts.indexes().pipe((0, rxjs_1.map)((indexes) => indexes[accountId.toString()])));
20
+ }