@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
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sessionProgress = exports.eraProgress = exports.eraLength = void 0;
4
+ exports.progress = progress;
5
+ const rxjs_1 = require("rxjs");
6
+ const util_1 = require("@pezkuwi/util");
7
+ const index_js_1 = require("../util/index.js");
8
+ function withProgressField(field) {
9
+ return (instanceId, api) => (0, index_js_1.memo)(instanceId, () => api.derive.session.progress().pipe((0, rxjs_1.map)((info) => info[field])));
10
+ }
11
+ function createDerive(api, info, [currentSlot, epochIndex, epochOrGenesisStartSlot, activeEraStartSessionIndex]) {
12
+ const epochStartSlot = epochIndex.mul(info.sessionLength).iadd(epochOrGenesisStartSlot);
13
+ const sessionProgress = currentSlot.sub(epochStartSlot);
14
+ const eraProgress = info.currentIndex.sub(activeEraStartSessionIndex).imul(info.sessionLength).iadd(sessionProgress);
15
+ return (0, util_1.objectSpread)({
16
+ eraProgress: api.registry.createType('BlockNumber', eraProgress),
17
+ sessionProgress: api.registry.createType('BlockNumber', sessionProgress)
18
+ }, info);
19
+ }
20
+ function queryAura(api) {
21
+ return api.derive.session.info().pipe((0, rxjs_1.map)((info) => (0, util_1.objectSpread)({
22
+ eraProgress: api.registry.createType('BlockNumber'),
23
+ sessionProgress: api.registry.createType('BlockNumber')
24
+ }, info)));
25
+ }
26
+ function queryBabe(api) {
27
+ return api.derive.session.info().pipe((0, rxjs_1.switchMap)((info) => (0, rxjs_1.combineLatest)([
28
+ (0, rxjs_1.of)(info),
29
+ // we may have no staking, but have babe (permissioned)
30
+ api.query.staking?.erasStartSessionIndex
31
+ ? api.queryMulti([
32
+ api.query.babe.currentSlot,
33
+ api.query.babe.epochIndex,
34
+ api.query.babe.genesisSlot,
35
+ [api.query.staking.erasStartSessionIndex, info.activeEra]
36
+ ])
37
+ : api.queryMulti([
38
+ api.query.babe.currentSlot,
39
+ api.query.babe.epochIndex,
40
+ api.query.babe.genesisSlot
41
+ ])
42
+ ])), (0, rxjs_1.map)(([info, [currentSlot, epochIndex, genesisSlot, optStartIndex]]) => [
43
+ info, [currentSlot, epochIndex, genesisSlot, optStartIndex && optStartIndex.isSome ? optStartIndex.unwrap() : api.registry.createType('SessionIndex', 1)]
44
+ ]));
45
+ }
46
+ /**
47
+ * @name progress
48
+ * @description Retrieves session information and progress.
49
+ * @example
50
+ * ```javascript
51
+ * api.derive.session.progress((progress) => {
52
+ * console.log(`Session progress ${JSON.stringify(progress)}`);
53
+ * });
54
+ * ```
55
+ */
56
+ function progress(instanceId, api) {
57
+ return (0, index_js_1.memo)(instanceId, () => api.query.babe
58
+ ? queryBabe(api).pipe((0, rxjs_1.map)(([info, slots]) => createDerive(api, info, slots)))
59
+ : queryAura(api));
60
+ }
61
+ /**
62
+ * @name eraLenght
63
+ * @description Retrieves the total length of the current era.
64
+ * @example
65
+ * ```javascript
66
+ * api.derive.session.eraLength((length) => {
67
+ * console.log(`Current era length: ${length} sessions`);
68
+ * });
69
+ * ```
70
+ */
71
+ exports.eraLength = withProgressField('eraLength');
72
+ /**
73
+ * @name eraProgress
74
+ * @description Retrieves the progress of the current era.
75
+ * @example
76
+ * ```javascript
77
+ * api.derive.session.eraProgress((progress) => {
78
+ * console.log(`Current era progress: ${progress} sessions`);
79
+ * });
80
+ * ```
81
+ */
82
+ exports.eraProgress = withProgressField('eraProgress');
83
+ /**
84
+ * @name sessionProgress
85
+ * @description Retrieves the progress of the current session.
86
+ * @example
87
+ * ```javascript
88
+ * api.derive.session.sessionProgress((progress) => {
89
+ * console.log(`Current session progress: ${progress} slots`);
90
+ * });
91
+ * ```
92
+ */
93
+ exports.sessionProgress = withProgressField('sessionProgress');
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.candidates = candidates;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ function getPrev(api) {
7
+ return api.query.society.candidates().pipe((0, rxjs_1.switchMap)((candidates) => (0, rxjs_1.combineLatest)([
8
+ (0, rxjs_1.of)(candidates),
9
+ api.query.society['suspendedCandidates'].multi(candidates.map(({ who }) => who))
10
+ ])), (0, rxjs_1.map)(([candidates, suspended]) => candidates.map(({ kind, value, who }, index) => ({
11
+ accountId: who,
12
+ isSuspended: suspended[index].isSome,
13
+ kind,
14
+ value
15
+ }))));
16
+ }
17
+ function getCurr(api) {
18
+ return api.query.society.candidates.entries().pipe((0, rxjs_1.map)((entries) => entries
19
+ .filter(([, opt]) => opt.isSome)
20
+ .map(([{ args: [accountId] }, opt]) => [accountId, opt.unwrap()])
21
+ // FIXME We are missing the new fields from the candidate record
22
+ .map(([accountId, { bid, kind }]) => ({
23
+ accountId,
24
+ isSuspended: false,
25
+ kind,
26
+ value: bid
27
+ }))));
28
+ }
29
+ /**
30
+ * @name candidate
31
+ * @description Retrieves the list of candidates for the society module.
32
+ * @example
33
+ * ```javascript
34
+ * const societyCandidates = await api.derive.society.candidates();
35
+ * console.log(societyCandidates);
36
+ * ```
37
+ */
38
+ function candidates(instanceId, api) {
39
+ return (0, index_js_1.memo)(instanceId, () => api.query.society['suspendedCandidates'] && api.query.society.candidates.creator.meta.type.isPlain
40
+ ? getPrev(api)
41
+ : getCurr(api));
42
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./candidates.js"), exports);
5
+ tslib_1.__exportStar(require("./info.js"), exports);
6
+ tslib_1.__exportStar(require("./member.js"), exports);
7
+ tslib_1.__exportStar(require("./members.js"), exports);
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.info = info;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ /**
7
+ * @name info
8
+ * @description Get the overall info for a society.
9
+ * @example
10
+ * ```javascript
11
+ * const societyInfo = await api.derive.society.candidates();
12
+ * console.log(societyInfo);
13
+ * ```
14
+ */
15
+ function info(instanceId, api) {
16
+ return (0, index_js_1.memo)(instanceId, () => (0, rxjs_1.combineLatest)([
17
+ api.query.society.bids(),
18
+ api.query.society['defender']
19
+ ? api.query.society['defender']()
20
+ : (0, rxjs_1.of)(undefined),
21
+ api.query.society.founder(),
22
+ api.query.society.head(),
23
+ api.query.society['maxMembers']
24
+ ? api.query.society['maxMembers']()
25
+ : (0, rxjs_1.of)(undefined),
26
+ api.query.society.pot()
27
+ ]).pipe((0, rxjs_1.map)(([bids, defender, founder, head, maxMembers, pot]) => ({
28
+ bids,
29
+ defender: defender?.unwrapOr(undefined),
30
+ founder: founder.unwrapOr(undefined),
31
+ hasDefender: (defender?.isSome && head.isSome && !head.eq(defender)) || false,
32
+ head: head.unwrapOr(undefined),
33
+ maxMembers,
34
+ pot
35
+ }))));
36
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.member = member;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ /**
7
+ * @name member
8
+ * @description Get the member info for a society.
9
+ * @param { AccountId } accountId
10
+ * @example
11
+ * ```javascript
12
+ * const member = await api.derive.society.member(ALICE);
13
+ * console.log(member);
14
+ * ```
15
+ */
16
+ function member(instanceId, api) {
17
+ return (0, index_js_1.memo)(instanceId, (accountId) => api.derive.society._members([accountId]).pipe((0, rxjs_1.map)(([result]) => result)));
18
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._members = _members;
4
+ exports.members = members;
5
+ const rxjs_1 = require("rxjs");
6
+ const index_js_1 = require("../util/index.js");
7
+ function _membersPrev(api, accountIds) {
8
+ return (0, rxjs_1.combineLatest)([
9
+ (0, rxjs_1.of)(accountIds),
10
+ api.query.society.payouts.multi(accountIds),
11
+ api.query.society['strikes'].multi(accountIds),
12
+ api.query.society.defenderVotes.multi(accountIds),
13
+ api.query.society.suspendedMembers.multi(accountIds),
14
+ api.query.society['vouching'].multi(accountIds)
15
+ ]).pipe((0, rxjs_1.map)(([accountIds, payouts, strikes, defenderVotes, suspended, vouching]) => accountIds.map((accountId, index) => ({
16
+ accountId,
17
+ isDefenderVoter: defenderVotes[index].isSome,
18
+ isSuspended: suspended[index].isTrue,
19
+ payouts: payouts[index],
20
+ strikes: strikes[index],
21
+ vote: defenderVotes[index].unwrapOr(undefined),
22
+ vouching: vouching[index].unwrapOr(undefined)
23
+ }))));
24
+ }
25
+ function _membersCurr(api, accountIds) {
26
+ return (0, rxjs_1.combineLatest)([
27
+ (0, rxjs_1.of)(accountIds),
28
+ api.query.society.members.multi(accountIds),
29
+ api.query.society.payouts.multi(accountIds),
30
+ api.query.society.challengeRoundCount().pipe((0, rxjs_1.switchMap)((round) => api.query.society.defenderVotes.multi(accountIds.map((accountId) => [round, accountId])))),
31
+ api.query.society.suspendedMembers.multi(accountIds)
32
+ ]).pipe((0, rxjs_1.map)(([accountIds, members, payouts, defenderVotes, suspendedMembers]) => accountIds
33
+ .map((accountId, index) => members[index].isSome
34
+ ? {
35
+ accountId,
36
+ isDefenderVoter: defenderVotes[index].isSome,
37
+ isSuspended: suspendedMembers[index].isSome,
38
+ member: members[index].unwrap(),
39
+ payouts: payouts[index].payouts
40
+ }
41
+ : null)
42
+ .filter((m) => !!m)
43
+ .map(({ accountId, isDefenderVoter, isSuspended, member, payouts }) => ({
44
+ accountId,
45
+ isDefenderVoter,
46
+ isSuspended,
47
+ payouts,
48
+ strikes: member.strikes,
49
+ vouching: member.vouching.unwrapOr(undefined)
50
+ }))));
51
+ }
52
+ function _members(instanceId, api) {
53
+ return (0, index_js_1.memo)(instanceId, (accountIds) => api.query.society.members.creator.meta.type.isMap
54
+ ? _membersCurr(api, accountIds)
55
+ : _membersPrev(api, accountIds));
56
+ }
57
+ /**
58
+ * @name members
59
+ * @description Get the society members.
60
+ * @example
61
+ * ```javascript
62
+ * const members = await api.derive.society.members();
63
+ * console.log(members);
64
+ * ```
65
+ */
66
+ function members(instanceId, api) {
67
+ return (0, index_js_1.memo)(instanceId, () => api.query.society.members.creator.meta.type.isMap
68
+ ? api.query.society.members.keys().pipe((0, rxjs_1.switchMap)((keys) => api.derive.society._members(keys.map(({ args: [accountId] }) => accountId))))
69
+ : api.query.society.members().pipe((0, rxjs_1.switchMap)((members) => api.derive.society._members(members))));
70
+ }
@@ -1,8 +1,8 @@
1
1
  import type { u32 } from '@pezkuwi/types';
2
2
  import type { AccountId, Balance, BalanceOf, BlockNumber, StrikeCount } from '@pezkuwi/types/interfaces';
3
- import type { PalletSocietyBid, PalletSocietyBidKind, PalletSocietyVote, PalletSocietyVouchingStatus } from '@pezkuwi/types/lookup';
3
+ import type { PezpalletSocietyBid, PezpalletSocietyBidKind, PezpalletSocietyVote, PezpalletSocietyVouchingStatus } from '@pezkuwi/types/lookup';
4
4
  export interface DeriveSociety {
5
- bids: PalletSocietyBid[];
5
+ bids: PezpalletSocietyBid[];
6
6
  defender?: AccountId | undefined;
7
7
  hasDefender: boolean;
8
8
  head?: AccountId | undefined;
@@ -12,7 +12,7 @@ export interface DeriveSociety {
12
12
  }
13
13
  export interface DeriveSocietyCandidate {
14
14
  accountId: AccountId;
15
- kind: PalletSocietyBidKind;
15
+ kind: PezpalletSocietyBidKind;
16
16
  value: Balance;
17
17
  isSuspended: boolean;
18
18
  }
@@ -22,6 +22,6 @@ export interface DeriveSocietyMember {
22
22
  isSuspended: boolean;
23
23
  payouts: [BlockNumber, Balance][];
24
24
  strikes: StrikeCount;
25
- vote?: PalletSocietyVote | undefined;
26
- vouching?: PalletSocietyVouchingStatus | undefined;
25
+ vote?: PezpalletSocietyVote | undefined;
26
+ vouching?: PezpalletSocietyVouchingStatus | undefined;
27
27
  }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -28,4 +28,4 @@ export declare function accounts(instanceId: string, api: DeriveApi): (accountId
28
28
  * console.log(accountStakingData);
29
29
  * ```
30
30
  */
31
- export declare const account: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array<ArrayBufferLike>, opts?: StakingQueryFlags) => Observable<DeriveStakingAccount>;
31
+ export declare const account: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array, opts?: StakingQueryFlags | undefined) => Observable<DeriveStakingAccount>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.account = void 0;
4
+ exports.accounts = accounts;
5
+ const rxjs_1 = require("rxjs");
6
+ const util_1 = require("@pezkuwi/util");
7
+ const index_js_1 = require("../util/index.js");
8
+ const QUERY_OPTS = {
9
+ withDestination: true,
10
+ withLedger: true,
11
+ withNominations: true,
12
+ withPrefs: true
13
+ };
14
+ function groupByEra(list) {
15
+ return list.reduce((map, { era, value }) => {
16
+ const key = era.toString();
17
+ map[key] = (map[key] || util_1.BN_ZERO).add(value.unwrap());
18
+ return map;
19
+ }, {});
20
+ }
21
+ function calculateUnlocking(api, stakingLedger, sessionInfo) {
22
+ const results = Object
23
+ .entries(groupByEra((stakingLedger?.unlocking || []).filter(({ era }) => era.unwrap().gt(sessionInfo.activeEra))))
24
+ .map(([eraString, value]) => ({
25
+ remainingEras: new util_1.BN(eraString).isub(sessionInfo.activeEra),
26
+ value: api.registry.createType('Balance', value)
27
+ }));
28
+ return results.length
29
+ ? results
30
+ : undefined;
31
+ }
32
+ function redeemableSum(api, stakingLedger, sessionInfo) {
33
+ return api.registry.createType('Balance', (stakingLedger?.unlocking || []).reduce((total, { era, value }) => {
34
+ // aligns with https://github.com/pezkuwichain/bizinikiwi/blob/fdfdc73f9e64dc47934b72eb9af3e1989e4ba699/frame/staking/src/pallet/mod.rs#L973-L975
35
+ // (ensure currentEra >= era passed, as per https://github.com/pezkuwichain/bizinikiwi/blob/fdfdc73f9e64dc47934b72eb9af3e1989e4ba699/frame/staking/src/lib.rs#L477-L494)
36
+ // NOTE: Previously we used activeEra >= era, which is incorrect for the last session
37
+ return era.unwrap().gt(sessionInfo.currentEra)
38
+ ? total
39
+ : total.iadd(value.unwrap());
40
+ }, new util_1.BN(0)));
41
+ }
42
+ function parseResult(api, sessionInfo, keys, query) {
43
+ return (0, util_1.objectSpread)({}, keys, query, {
44
+ redeemable: redeemableSum(api, query.stakingLedger, sessionInfo),
45
+ unlocking: calculateUnlocking(api, query.stakingLedger, sessionInfo)
46
+ });
47
+ }
48
+ /**
49
+ * @name accounts
50
+ * @param {(Uint8Array | string)[]} accountIds List of account stashes
51
+ * @param {StakingQueryFlags} opts optional filtering flag
52
+ * @description From a list of stashes, fill in all the relevant staking details
53
+ * @example
54
+ * ```javascript
55
+ * const accounts = await api.derive.staking.accounts([
56
+ * "149B17nn7zVL4SkLSNmANupEkGexUBAxVrdk4bbWFZYibkFc",
57
+ * ]);
58
+ * console.log("First account staking info:", accounts[0]);
59
+ * ```
60
+ */
61
+ function accounts(instanceId, api) {
62
+ return (0, index_js_1.memo)(instanceId, (accountIds, opts = QUERY_OPTS) => api.derive.session.info().pipe((0, rxjs_1.switchMap)((sessionInfo) => (0, rxjs_1.combineLatest)([
63
+ api.derive.staking.keysMulti(accountIds),
64
+ api.derive.staking.queryMulti(accountIds, opts)
65
+ ]).pipe((0, rxjs_1.map)(([keys, queries]) => queries.map((q, index) => parseResult(api, sessionInfo, keys[index], q)))))));
66
+ }
67
+ /**
68
+ * @name account
69
+ * @param {(Uint8Array | string)} accountId AccountId of the stash.
70
+ * @param {StakingQueryFlags} opts (Optional) filtering flag.
71
+ * @description From a stash, retrieve the controllerId and fill in all the relevant staking details.
72
+ * @example
73
+ * ```javascript
74
+ * const accountStakingData = await api.derive.staking.account(
75
+ * "149B17nn7zVL4SkLSNmANupEkGexUBAxVrdk4bbWFZYibkFc"
76
+ * );
77
+ * console.log(accountStakingData);
78
+ * ```
79
+ */
80
+ exports.account = (0, index_js_1.firstMemo)((api, accountId, opts) => api.derive.staking.accounts([accountId], opts));
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEraCache = getEraCache;
4
+ exports.getEraMultiCache = getEraMultiCache;
5
+ exports.setEraCache = setEraCache;
6
+ exports.setEraMultiCache = setEraMultiCache;
7
+ exports.filterCachedEras = filterCachedEras;
8
+ const index_js_1 = require("../util/index.js");
9
+ function getEraCache(CACHE_KEY, era, withActive) {
10
+ const cacheKey = `${CACHE_KEY}-${era.toString()}`;
11
+ return [
12
+ cacheKey,
13
+ withActive
14
+ ? undefined
15
+ : index_js_1.deriveCache.get(cacheKey)
16
+ ];
17
+ }
18
+ function getEraMultiCache(CACHE_KEY, eras, withActive) {
19
+ const cached = withActive
20
+ ? []
21
+ : eras
22
+ .map((e) => index_js_1.deriveCache.get(`${CACHE_KEY}-${e.toString()}`))
23
+ .filter((v) => !!v);
24
+ return cached;
25
+ }
26
+ function setEraCache(cacheKey, withActive, value) {
27
+ !withActive && index_js_1.deriveCache.set(cacheKey, value);
28
+ return value;
29
+ }
30
+ function setEraMultiCache(CACHE_KEY, withActive, values) {
31
+ !withActive && values.forEach((v) => index_js_1.deriveCache.set(`${CACHE_KEY}-${v.era.toString()}`, v));
32
+ return values;
33
+ }
34
+ function filterCachedEras(eras, cached, query) {
35
+ return eras
36
+ .map((e) => cached.find(({ era }) => e.eq(era)) ||
37
+ query.find(({ era }) => e.eq(era)))
38
+ .filter((e) => !!e);
39
+ }
@@ -1,5 +1,5 @@
1
1
  import type { Observable } from 'rxjs';
2
- import type { PalletStakingEraRewardPoints } from '@pezkuwi/types/lookup';
2
+ import type { PezpalletStakingEraRewardPoints } from '@pezkuwi/types/lookup';
3
3
  import type { DeriveApi } from '../types.js';
4
4
  /**
5
5
  * @name currentPoints
@@ -10,4 +10,4 @@ import type { DeriveApi } from '../types.js';
10
10
  * console.log(currentPoints.toHuman());
11
11
  * ```
12
12
  */
13
- export declare function currentPoints(instanceId: string, api: DeriveApi): () => Observable<PalletStakingEraRewardPoints>;
13
+ export declare function currentPoints(instanceId: string, api: DeriveApi): () => Observable<PezpalletStakingEraRewardPoints>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.currentPoints = currentPoints;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ /**
7
+ * @name currentPoints
8
+ * @description Retrieve the staking overview, including elected and points earned.
9
+ * @example
10
+ * ```javascript
11
+ * const currentPoints = await api.derive.staking.currentPoints();
12
+ * console.log(currentPoints.toHuman());
13
+ * ```
14
+ */
15
+ function currentPoints(instanceId, api) {
16
+ return (0, index_js_1.memo)(instanceId, () => api.derive.session.indexes().pipe((0, rxjs_1.switchMap)(({ activeEra }) => api.query.staking.erasRewardPoints(activeEra))));
17
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.electedInfo = electedInfo;
4
+ const rxjs_1 = require("rxjs");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const index_js_1 = require("../util/index.js");
7
+ const DEFAULT_FLAGS = { withController: true, withExposure: true, withPrefs: true };
8
+ function combineAccounts(nextElected, validators) {
9
+ return (0, util_1.arrayFlatten)([nextElected, validators.filter((v) => !nextElected.find((n) => n.eq(v)))]);
10
+ }
11
+ /**
12
+ * @name electedInfo
13
+ * @param {StakingQueryFlags} flags? (Optional) Query flags to filter the staking data.
14
+ * @param {number} page? (Optional) The page index for paginated results.
15
+ * @description Retrieves detailed staking information about the next elected validators and their associated staking data.
16
+ * @example
17
+ * ```javascript
18
+ * const { nextElected, validators, info } =
19
+ * await api.derive.staking.electedInfo();
20
+ * console.log(
21
+ * "Next Elected Validators:",
22
+ * nextElected.map((acc) => acc.toString())
23
+ * );
24
+ * console.log(
25
+ * "Current Validators:",
26
+ * validators.map((acc) => acc.toString())
27
+ * );
28
+ * console.log("Validator Staking Info:", info);
29
+ * ```
30
+ */
31
+ function electedInfo(instanceId, api) {
32
+ return (0, index_js_1.memo)(instanceId, (flags = DEFAULT_FLAGS, page = 0) => api.derive.staking.validators().pipe((0, rxjs_1.switchMap)(({ nextElected, validators }) => api.derive.staking.queryMulti(combineAccounts(nextElected, validators), flags, page).pipe((0, rxjs_1.map)((info) => ({
33
+ info,
34
+ nextElected,
35
+ validators
36
+ }))))));
37
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.erasExposure = exports._erasExposure = exports.eraExposure = void 0;
4
+ exports._eraExposure = _eraExposure;
5
+ const rxjs_1 = require("rxjs");
6
+ const index_js_1 = require("../util/index.js");
7
+ const cache_js_1 = require("./cache.js");
8
+ const util_js_1 = require("./util.js");
9
+ const CACHE_KEY = 'eraExposure';
10
+ function mapStakersClipped(era, stakers) {
11
+ const nominators = {};
12
+ const validators = {};
13
+ stakers.forEach(([key, exposure]) => {
14
+ const validatorId = key.args[1].toString();
15
+ validators[validatorId] = exposure;
16
+ exposure.others.forEach(({ who }, validatorIndex) => {
17
+ const nominatorId = who.toString();
18
+ nominators[nominatorId] = nominators[nominatorId] || [];
19
+ nominators[nominatorId].push({ validatorId, validatorIndex });
20
+ });
21
+ });
22
+ return { era, nominators, validators };
23
+ }
24
+ function mapStakersPaged(era, stakers) {
25
+ const nominators = {};
26
+ const validators = {};
27
+ stakers.forEach(([key, exposureOpt]) => {
28
+ if (exposureOpt.isSome) {
29
+ const validatorId = key.args[1].toString();
30
+ const exposure = exposureOpt.unwrap();
31
+ validators[validatorId] = exposure;
32
+ exposure.others.forEach(({ who }, validatorIndex) => {
33
+ const nominatorId = who.toString();
34
+ nominators[nominatorId] = nominators[nominatorId] || [];
35
+ nominators[nominatorId].push({ validatorId, validatorIndex });
36
+ });
37
+ }
38
+ });
39
+ return { era, nominators, validators };
40
+ }
41
+ /**
42
+ * erasStakersClipped will be deprecated and replaced with erasStakersPaged. Therefore support is given for both
43
+ * storage queries until erasStakersClipped has been completely out of use.
44
+ */
45
+ function _eraExposure(instanceId, api) {
46
+ return (0, index_js_1.memo)(instanceId, (era, withActive = false) => {
47
+ const [cacheKey, cached] = (0, cache_js_1.getEraCache)(CACHE_KEY, era, withActive);
48
+ return cached
49
+ ? (0, rxjs_1.of)(cached)
50
+ : api.query.staking.erasStakersPaged
51
+ ? api.query.staking.erasStakersPaged.entries(era).pipe((0, rxjs_1.map)((r) => (0, cache_js_1.setEraCache)(cacheKey, withActive, mapStakersPaged(era, r))))
52
+ : api.query.staking.erasStakersClipped.entries(era).pipe((0, rxjs_1.map)((r) => (0, cache_js_1.setEraCache)(cacheKey, withActive, mapStakersClipped(era, r))));
53
+ });
54
+ }
55
+ /**
56
+ * @name eraExposure
57
+ * @description Retrieves the staking exposure (nominators and total stake) for a specific era.
58
+ * @param {EraIndex} eras The staking era to query.
59
+ * @example
60
+ * ```javascript
61
+ * const era = api.createType("EraIndex", 1000);
62
+ * const exposure = await api.derive.staking.eraExposure(era);
63
+ * ```
64
+ */
65
+ exports.eraExposure = (0, util_js_1.singleEra)('_eraExposure');
66
+ exports._erasExposure = (0, util_js_1.combineEras)('_eraExposure');
67
+ /**
68
+ * @name erasExposure
69
+ * @description Retrieves staking exposure details for multiple past eras.
70
+ * @param {boolean} withActive? (Optional) Whether to include the active era in the result.
71
+ * @example
72
+ * ```javascript
73
+ * const exposure = await api.derive.staking.erasExposure(true);
74
+ * ```
75
+ */
76
+ exports.erasExposure = (0, util_js_1.erasHistoricApply)('_erasExposure');
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.erasHistoric = erasHistoric;
4
+ const rxjs_1 = require("rxjs");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const index_js_1 = require("../util/index.js");
7
+ /**
8
+ * @name erasHistoric
9
+ * @param {boolean} withActive? (Optional) Whether to include the active era in the result.
10
+ */
11
+ function erasHistoric(instanceId, api) {
12
+ return (0, index_js_1.memo)(instanceId, (withActive) => (0, rxjs_1.combineLatest)([
13
+ api.query.staking.activeEra(),
14
+ api.consts.staking.historyDepth
15
+ ? (0, rxjs_1.of)(api.consts.staking.historyDepth)
16
+ : api.query.staking['historyDepth']()
17
+ ]).pipe((0, rxjs_1.map)(([activeEraOpt, historyDepth]) => {
18
+ const result = [];
19
+ const max = historyDepth.toNumber();
20
+ const activeEra = activeEraOpt.unwrapOrDefault().index;
21
+ let lastEra = activeEra;
22
+ while (lastEra.gte(util_1.BN_ZERO) && (result.length < max)) {
23
+ if ((lastEra !== activeEra) || (withActive === true)) {
24
+ result.push(api.registry.createType('EraIndex', lastEra));
25
+ }
26
+ lastEra = lastEra.sub(util_1.BN_ONE);
27
+ }
28
+ // go from oldest to newest
29
+ return result.reverse();
30
+ })));
31
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.erasPoints = void 0;
4
+ exports._erasPoints = _erasPoints;
5
+ const rxjs_1 = require("rxjs");
6
+ const util_1 = require("@pezkuwi/util");
7
+ const index_js_1 = require("../util/index.js");
8
+ const cache_js_1 = require("./cache.js");
9
+ const util_js_1 = require("./util.js");
10
+ const CACHE_KEY = 'eraPoints';
11
+ function mapValidators({ individual }) {
12
+ return [...individual.entries()]
13
+ .filter(([, points]) => points.gt(util_1.BN_ZERO))
14
+ .reduce((result, [validatorId, points]) => {
15
+ result[validatorId.toString()] = points;
16
+ return result;
17
+ }, {});
18
+ }
19
+ function mapPoints(eras, points) {
20
+ return eras.map((era, index) => ({
21
+ era,
22
+ eraPoints: points[index].total,
23
+ validators: mapValidators(points[index])
24
+ }));
25
+ }
26
+ function _erasPoints(instanceId, api) {
27
+ return (0, index_js_1.memo)(instanceId, (eras, withActive) => {
28
+ if (!eras.length) {
29
+ return (0, rxjs_1.of)([]);
30
+ }
31
+ const cached = (0, cache_js_1.getEraMultiCache)(CACHE_KEY, eras, withActive);
32
+ const remaining = (0, util_js_1.filterEras)(eras, cached);
33
+ return !remaining.length
34
+ ? (0, rxjs_1.of)(cached)
35
+ : api.query.staking.erasRewardPoints.multi(remaining).pipe((0, rxjs_1.map)((p) => (0, cache_js_1.filterCachedEras)(eras, cached, (0, cache_js_1.setEraMultiCache)(CACHE_KEY, withActive, mapPoints(remaining, p)))));
36
+ });
37
+ }
38
+ /**
39
+ * @name erasPoints
40
+ * @description Retrieves historical era points with its validators.
41
+ * @param {boolean} withActive? (Optional) Whether to include the active era in the result.
42
+ * @example
43
+ * ```javascript
44
+ * const points = await api.derive.staking.erasPoints(true);
45
+ * console.log(
46
+ * "Validator points:",
47
+ * points.map(({ era, eraPoints }) => `Era: ${era}, points ${eraPoints}`)
48
+ * );
49
+ * ```
50
+ */
51
+ exports.erasPoints = (0, util_js_1.erasHistoricApply)('_erasPoints');