@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,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stakerPoints = void 0;
4
+ exports._stakerPoints = _stakerPoints;
5
+ const rxjs_1 = require("rxjs");
6
+ const index_js_1 = require("../util/index.js");
7
+ const util_js_1 = require("./util.js");
8
+ function _stakerPoints(instanceId, api) {
9
+ return (0, index_js_1.memo)(instanceId, (accountId, eras, withActive) => {
10
+ const stakerId = api.registry.createType('AccountId', accountId).toString();
11
+ return api.derive.staking._erasPoints(eras, withActive).pipe((0, rxjs_1.map)((points) => points.map(({ era, eraPoints, validators }) => ({
12
+ era,
13
+ eraPoints,
14
+ points: validators[stakerId] || api.registry.createType('RewardPoint')
15
+ }))));
16
+ });
17
+ }
18
+ /**
19
+ * @name stakerPoints
20
+ * @param { Uint8Array | string } accountId The stakers AccountId.
21
+ * @param { boolean } withActive Whether to include the active era.
22
+ * @description Retrieves the era reward points earned by a given staker across all eras.
23
+ * @example
24
+ * ```javascript
25
+ * const points = await api.derive.staking.stakerPoints(
26
+ * ALICE, //Alice accountId
27
+ * false
28
+ * );
29
+ * console.log(
30
+ * 'Validator Era Points:',
31
+ * points.map(({ era, points }) => `Era ${era}: ${points.toString()} points`)
32
+ * );
33
+ * ```
34
+ */
35
+ exports.stakerPoints = (0, util_js_1.erasHistoricApplyAccount)('_stakerPoints');
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stakerPrefs = void 0;
4
+ exports._stakerPrefs = _stakerPrefs;
5
+ const rxjs_1 = require("rxjs");
6
+ const index_js_1 = require("../util/index.js");
7
+ const util_js_1 = require("./util.js");
8
+ function _stakerPrefs(instanceId, api) {
9
+ return (0, index_js_1.memo)(instanceId, (accountId, eras, _withActive) => api.query.staking.erasValidatorPrefs.multi(eras.map((e) => [e, accountId])).pipe((0, rxjs_1.map)((all) => all.map((validatorPrefs, index) => ({
10
+ era: eras[index],
11
+ validatorPrefs
12
+ })))));
13
+ }
14
+ /**
15
+ * @name stakerPrefs
16
+ * @param { Uint8Array | string } accountId The stakers AccountId.
17
+ * @param { boolean } withActive Whether to include the active era.
18
+ * @description Retrieves the validator preferences for a given staker across historical eras.
19
+ * @example
20
+ * ```javascript
21
+ * const prefs = await api.derive.staking.stakerPrefs(
22
+ * ALICE, //Alice accountId
23
+ * false
24
+ * );
25
+ * console.log(
26
+ * 'Validator Preferences:',
27
+ * prefs.map(
28
+ * ({ era, validatorPrefs }) => `Era ${era}: Commission ${validatorPrefs.commission.toString()}`
29
+ * )
30
+ * );
31
+ * ```
32
+ */
33
+ exports.stakerPrefs = (0, util_js_1.erasHistoricApplyAccount)('_stakerPrefs');
@@ -17,7 +17,7 @@ export declare function _stakerRewards(instanceId: string, api: DeriveApi): (acc
17
17
  * );
18
18
  * ```
19
19
  */
20
- export declare const stakerRewards: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array<ArrayBufferLike>, withActive?: boolean) => Observable<DeriveStakerReward[]>;
20
+ export declare const stakerRewards: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array, withActive?: boolean | undefined) => Observable<DeriveStakerReward[]>;
21
21
  /**
22
22
  * @name stakerRewardsMultiEras
23
23
  * @description Staking rewards for multiple stakers over specific eras.
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stakerRewards = void 0;
4
+ exports._stakerRewardsEras = _stakerRewardsEras;
5
+ exports._stakerRewards = _stakerRewards;
6
+ exports.stakerRewardsMultiEras = stakerRewardsMultiEras;
7
+ exports.stakerRewardsMulti = stakerRewardsMulti;
8
+ const rxjs_1 = require("rxjs");
9
+ const util_1 = require("@pezkuwi/util");
10
+ const index_js_1 = require("../util/index.js");
11
+ function extractCompatRewards(claimedRewardsEras, ledger) {
12
+ const l = ledger
13
+ ? (ledger.legacyClaimedRewards ||
14
+ ledger.claimedRewards)?.toArray()
15
+ : [];
16
+ return (claimedRewardsEras.toArray() || []).concat(l);
17
+ }
18
+ function parseRewards(api, stashId, [erasPoints, erasPrefs, erasRewards], exposures, claimedRewardsEras) {
19
+ return exposures.map(({ era, isEmpty, isValidator, nominating, validators: eraValidators }) => {
20
+ const { eraPoints, validators: allValPoints } = erasPoints.find((p) => p.era.eq(era)) || { eraPoints: util_1.BN_ZERO, validators: {} };
21
+ const { eraReward } = erasRewards.find((r) => r.era.eq(era)) || { eraReward: api.registry.createType('Balance') };
22
+ const { validators: allValPrefs } = erasPrefs.find((p) => p.era.eq(era)) || { validators: {} };
23
+ const validators = {};
24
+ const stakerId = stashId.toString();
25
+ Object.entries(eraValidators).forEach(([validatorId, exposure]) => {
26
+ const valPoints = allValPoints[validatorId] || util_1.BN_ZERO;
27
+ const valComm = allValPrefs[validatorId]?.commission.unwrap() || util_1.BN_ZERO;
28
+ const expTotal = exposure.total
29
+ ? exposure.total?.unwrap()
30
+ : exposure.pageTotal
31
+ ? exposure.pageTotal?.unwrap()
32
+ : util_1.BN_ZERO;
33
+ let avail = util_1.BN_ZERO;
34
+ let value;
35
+ if (!(expTotal.isZero() || valPoints.isZero() || eraPoints.isZero())) {
36
+ avail = eraReward.mul(valPoints).div(eraPoints);
37
+ const valCut = valComm.mul(avail).div(util_1.BN_BILLION);
38
+ let staked;
39
+ if (validatorId === stakerId) {
40
+ if (exposure.own) {
41
+ staked = exposure.own.unwrap();
42
+ }
43
+ else {
44
+ const expAccount = exposure.others.find(({ who }) => who.eq(validatorId));
45
+ staked = expAccount
46
+ ? expAccount.value.unwrap()
47
+ : util_1.BN_ZERO;
48
+ }
49
+ }
50
+ else {
51
+ const stakerExp = exposure.others.find(({ who }) => who.eq(stakerId));
52
+ staked = stakerExp
53
+ ? stakerExp.value.unwrap()
54
+ : util_1.BN_ZERO;
55
+ }
56
+ value = avail.sub(valCut).imul(staked).div(expTotal).iadd(validatorId === stakerId ? valCut : util_1.BN_ZERO);
57
+ }
58
+ validators[validatorId] = {
59
+ total: api.registry.createType('Balance', avail),
60
+ value: api.registry.createType('Balance', value)
61
+ };
62
+ });
63
+ return {
64
+ era,
65
+ eraReward,
66
+ // This might not always be accurate as you need validator account information in order to see if the rewards have been claimed.
67
+ // This is possibly adjusted in `filterRewards` when need be.
68
+ isClaimed: claimedRewardsEras.some((c) => c.eq(era)),
69
+ isEmpty,
70
+ isValidator,
71
+ nominating,
72
+ validators
73
+ };
74
+ });
75
+ }
76
+ function allUniqValidators(rewards) {
77
+ return rewards.reduce(([all, perStash], rewards) => {
78
+ const uniq = [];
79
+ perStash.push(uniq);
80
+ rewards.forEach(({ validators }) => Object.keys(validators).forEach((validatorId) => {
81
+ if (!uniq.includes(validatorId)) {
82
+ uniq.push(validatorId);
83
+ if (!all.includes(validatorId)) {
84
+ all.push(validatorId);
85
+ }
86
+ }
87
+ }));
88
+ return [all, perStash];
89
+ }, [[], []]);
90
+ }
91
+ function removeClaimed(validators, queryValidators, reward, claimedRewardsEras) {
92
+ const rm = [];
93
+ Object.keys(reward.validators).forEach((validatorId) => {
94
+ const index = validators.indexOf(validatorId);
95
+ if (index !== -1) {
96
+ const valLedger = queryValidators[index].stakingLedger;
97
+ if (extractCompatRewards(claimedRewardsEras, valLedger).some((e) => reward.era?.eq(e))) {
98
+ rm.push(validatorId);
99
+ }
100
+ }
101
+ });
102
+ rm.forEach((validatorId) => {
103
+ delete reward.validators[validatorId];
104
+ });
105
+ }
106
+ function filterRewards(eras, valInfo, { claimedRewardsEras, rewards, stakingLedger }) {
107
+ const filter = eras.filter((e) => !extractCompatRewards(claimedRewardsEras, stakingLedger).some((s) => s?.eq(e)));
108
+ const validators = valInfo.map(([v]) => v);
109
+ const queryValidators = valInfo.map(([, q]) => q);
110
+ return rewards
111
+ .filter(({ isEmpty }) => !isEmpty)
112
+ .filter((reward) => {
113
+ if (!filter.some((e) => reward.era.eq(e))) {
114
+ return false;
115
+ }
116
+ removeClaimed(validators, queryValidators, reward, claimedRewardsEras);
117
+ return true;
118
+ })
119
+ .filter(({ validators }) => Object.keys(validators).length !== 0)
120
+ .map((reward) => {
121
+ let isClaimed = reward.isClaimed;
122
+ const valKeys = Object.keys(reward.validators);
123
+ if (!reward.isClaimed && valKeys.length) {
124
+ for (const key of valKeys) {
125
+ const info = queryValidators.find((i) => i.accountId.toString() === key);
126
+ if (info) {
127
+ isClaimed = info.claimedRewardsEras?.toArray().some((era) => era.eq(reward.era));
128
+ break;
129
+ }
130
+ }
131
+ }
132
+ return (0, util_1.objectSpread)({}, reward, {
133
+ isClaimed,
134
+ nominators: reward.nominating.filter((n) => reward.validators[n.validatorId])
135
+ });
136
+ });
137
+ }
138
+ function _stakerRewardsEras(instanceId, api) {
139
+ return (0, index_js_1.memo)(instanceId, (eras, withActive = false) => (0, rxjs_1.combineLatest)([
140
+ api.derive.staking._erasPoints(eras, withActive),
141
+ api.derive.staking._erasPrefs(eras, withActive),
142
+ api.derive.staking._erasRewards(eras, withActive)
143
+ ]));
144
+ }
145
+ function _stakerRewards(instanceId, api) {
146
+ return (0, index_js_1.memo)(instanceId, (accountIds, eras, withActive = false) => {
147
+ // Ensures that when number or string types are passed in they are sanitized
148
+ // Ref: https://github.com/pezkuwichain/pezkuwi-api/issues/5910
149
+ const sanitizedEras = eras.map((e) => typeof e === 'number' || typeof e === 'string' ? api.registry.createType('u32', e) : e);
150
+ return (0, rxjs_1.combineLatest)([
151
+ api.derive.staking.queryMulti(accountIds, { withClaimedRewardsEras: true, withLedger: true }),
152
+ api.derive.staking._stakerExposures(accountIds, sanitizedEras, withActive),
153
+ api.derive.staking._stakerRewardsEras(sanitizedEras, withActive)
154
+ ]).pipe((0, rxjs_1.switchMap)(([queries, exposures, erasResult]) => {
155
+ const allRewards = queries.map(({ claimedRewardsEras, stakingLedger, stashId }, index) => (!stashId || (!stakingLedger && !claimedRewardsEras))
156
+ ? []
157
+ : parseRewards(api, stashId, erasResult, exposures[index], claimedRewardsEras));
158
+ if (withActive) {
159
+ return (0, rxjs_1.of)(allRewards);
160
+ }
161
+ const [allValidators, stashValidators] = allUniqValidators(allRewards);
162
+ return api.derive.staking.queryMulti(allValidators, { withClaimedRewardsEras: true, withLedger: true }).pipe((0, rxjs_1.map)((queriedVals) => queries.map(({ claimedRewardsEras, stakingLedger }, index) => filterRewards(eras, stashValidators[index]
163
+ .map((validatorId) => [
164
+ validatorId,
165
+ queriedVals.find((q) => q.accountId.eq(validatorId))
166
+ ])
167
+ .filter((v) => !!v[1]), {
168
+ claimedRewardsEras,
169
+ rewards: allRewards[index],
170
+ stakingLedger
171
+ }))));
172
+ }));
173
+ });
174
+ }
175
+ /**
176
+ * @name stakerRewards
177
+ * @description Staking rewards history for a given staker.
178
+ * @param { Uint8Array | string } accountId The stakers AccountId.
179
+ * @param { boolean } withActive Whether to include the active era.
180
+ * @example
181
+ * ```javascript
182
+ * const rewards = await api.derive.staking.stakerRewards(
183
+ * ALICE, //Alice accountId
184
+ * false
185
+ * );
186
+ * ```
187
+ */
188
+ exports.stakerRewards = (0, index_js_1.firstMemo)((api, accountId, withActive) => api.derive.staking.erasHistoric(withActive).pipe((0, rxjs_1.switchMap)((eras) => api.derive.staking._stakerRewards([accountId], eras, withActive))));
189
+ /**
190
+ * @name stakerRewardsMultiEras
191
+ * @description Staking rewards for multiple stakers over specific eras.
192
+ * @param { Uint8Array | string } accountIds List of stakers identified by their AccountId.
193
+ * @param { EraIndex[] } eras Eras for which to retrieve the data.
194
+ * @example
195
+ * ```javascript
196
+ * const rewards = await api.derive.staking.stakerRewardsMultiEras(
197
+ * [ALICE, BOB, CHARLIER], //accountIds
198
+ * [100,101] //eras
199
+ * );
200
+ * ```
201
+ */
202
+ function stakerRewardsMultiEras(instanceId, api) {
203
+ return (0, index_js_1.memo)(instanceId, (accountIds, eras) => accountIds.length && eras.length
204
+ ? api.derive.staking._stakerRewards(accountIds, eras, false)
205
+ : (0, rxjs_1.of)([]));
206
+ }
207
+ /**
208
+ * @name stakerRewardsMulti
209
+ * @description Staking rewards for multiple stakers.
210
+ * @param { Uint8Array | string } accountIds List of stakers identified by their AccountId.
211
+ * @param { boolean } withActive Whether to include the active era.
212
+ * @example
213
+ * ```javascript
214
+ * const rewards = await api.derive.staking.stakerRewardsMulti(
215
+ * [ALICE, BOB, CHARLIER], //accountIds
216
+ * true
217
+ * );
218
+ * ```
219
+ */
220
+ function stakerRewardsMulti(instanceId, api) {
221
+ return (0, index_js_1.memo)(instanceId, (accountIds, withActive = false) => api.derive.staking.erasHistoric(withActive).pipe((0, rxjs_1.switchMap)((eras) => api.derive.staking.stakerRewardsMultiEras(accountIds, eras))));
222
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stakerSlashes = void 0;
4
+ exports._stakerSlashes = _stakerSlashes;
5
+ const rxjs_1 = require("rxjs");
6
+ const index_js_1 = require("../util/index.js");
7
+ const util_js_1 = require("./util.js");
8
+ function _stakerSlashes(instanceId, api) {
9
+ return (0, index_js_1.memo)(instanceId, (accountId, eras, withActive) => {
10
+ const stakerId = api.registry.createType('AccountId', accountId).toString();
11
+ return api.derive.staking._erasSlashes(eras, withActive).pipe((0, rxjs_1.map)((slashes) => slashes.map(({ era, nominators, validators }) => ({
12
+ era,
13
+ total: nominators[stakerId] || validators[stakerId] || api.registry.createType('Balance')
14
+ }))));
15
+ });
16
+ }
17
+ /**
18
+ * @name stakerSlashes
19
+ * @param { Uint8Array | string } accountId The stakers AccountId.
20
+ * @param { boolean } withActive Whether to include the active era.
21
+ * @description Retrieve the historical slashes (penalties) for a given staker.
22
+ * @example
23
+ * ```javascript
24
+ * const stakerSlashes = await api.derive.staking.stakerSlashes(
25
+ * ALICE, //Alice accountId
26
+ * true
27
+ * );
28
+ * console.log(
29
+ * 'Staker Slashes:',
30
+ * stakerSlashes.map(({ era, total }) => `Era ${era}: Slashed ${total.toString()}`)
31
+ * );
32
+ * ```
33
+ */
34
+ exports.stakerSlashes = (0, util_js_1.erasHistoricApplyAccount)('_stakerSlashes');
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stashes = stashes;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ function onBondedEvent(api) {
7
+ let current = Date.now();
8
+ return api.query.system.events().pipe((0, rxjs_1.map)((events) => {
9
+ current = events.filter(({ event, phase }) => {
10
+ try {
11
+ return phase.isApplyExtrinsic &&
12
+ event.section === 'staking' &&
13
+ event.method === 'Bonded';
14
+ }
15
+ catch {
16
+ return false;
17
+ }
18
+ })
19
+ ? Date.now()
20
+ : current;
21
+ return current;
22
+ }), (0, rxjs_1.startWith)(current), (0, index_js_1.drr)({ skipTimeout: true }));
23
+ }
24
+ /**
25
+ * @name stashes
26
+ * @description Retrieve the list of all validator stashes.
27
+ * @example
28
+ * ```javascript
29
+ * const stashes = await api.derive.staking.stashes();
30
+ * console.log(
31
+ * "Validator Stashes:",
32
+ * stashes.map((s) => s.toString())
33
+ * );
34
+ * ```
35
+ */
36
+ function stashes(instanceId, api) {
37
+ return (0, index_js_1.memo)(instanceId, () => onBondedEvent(api).pipe((0, rxjs_1.switchMap)(() => api.query.staking.validators.keys()), (0, rxjs_1.map)((keys) => keys.map(({ args: [v] }) => v).filter((a) => a))));
38
+ }
@@ -1,10 +1,10 @@
1
1
  import type { Option, u32, Vec } from '@pezkuwi/types';
2
2
  import type { AccountId, Balance, EraIndex, RewardPoint } from '@pezkuwi/types/interfaces';
3
- import type { PalletStakingRewardDestination, PalletStakingStakingLedger, PalletStakingValidatorPrefs, SpStakingExposure, SpStakingExposurePage, SpStakingPagedExposureMetadata } from '@pezkuwi/types/lookup';
3
+ import type { PezpalletStakingRewardDestination, PezpalletStakingStakingLedger, PezpalletStakingValidatorPrefs, PezspStakingExposure, PezspStakingExposurePage, PezspStakingPagedExposureMetadata } from '@pezkuwi/types/lookup';
4
4
  import type { BN } from '@pezkuwi/util';
5
5
  import type { DeriveSessionIndexes } from '../session/types.js';
6
6
  export type DeriveEraValPoints = Record<string, RewardPoint>;
7
- export type DeriveEraValPrefs = Record<string, PalletStakingValidatorPrefs>;
7
+ export type DeriveEraValPrefs = Record<string, PezpalletStakingValidatorPrefs>;
8
8
  export type DeriveEraValSlash = Record<string, Balance>;
9
9
  export interface DeriveEraPoints {
10
10
  era: EraIndex;
@@ -30,19 +30,19 @@ export interface DeriveStakerPoints {
30
30
  points: RewardPoint;
31
31
  }
32
32
  export interface DeriveOwnExposure {
33
- clipped: SpStakingExposure;
34
- exposurePaged: Option<SpStakingExposurePage>;
33
+ clipped: PezspStakingExposure;
34
+ exposurePaged: Option<PezspStakingExposurePage>;
35
35
  era: EraIndex;
36
- exposure: SpStakingExposure;
37
- exposureMeta: Option<SpStakingPagedExposureMetadata>;
36
+ exposure: PezspStakingExposure;
37
+ exposureMeta: Option<PezspStakingPagedExposureMetadata>;
38
38
  }
39
39
  export interface DeriveEraExposureNominating {
40
40
  validatorId: string;
41
41
  validatorIndex: number;
42
42
  }
43
43
  export type DeriveEraNominatorExposure = Record<string, DeriveEraExposureNominating[]>;
44
- export type DeriveEraValidatorExposure = Record<string, SpStakingExposure>;
45
- export type DeriveEraValidatorExposurePaged = Record<string, SpStakingExposurePage | SpStakingExposure>;
44
+ export type DeriveEraValidatorExposure = Record<string, PezspStakingExposure>;
45
+ export type DeriveEraValidatorExposurePaged = Record<string, PezspStakingExposurePage | PezspStakingExposure>;
46
46
  export interface DeriveEraExposure {
47
47
  era: EraIndex;
48
48
  nominators: DeriveEraNominatorExposure;
@@ -62,7 +62,7 @@ export interface DeriveStakerExposure {
62
62
  }
63
63
  export interface DeriveStakerPrefs {
64
64
  era: EraIndex;
65
- validatorPrefs: PalletStakingValidatorPrefs;
65
+ validatorPrefs: PezpalletStakingValidatorPrefs;
66
66
  }
67
67
  export interface DeriveStakerRewardValidator {
68
68
  total: Balance;
@@ -92,18 +92,18 @@ export interface DeriveStakingValidators {
92
92
  }
93
93
  export interface DeriveStakingStash {
94
94
  controllerId: AccountId | null;
95
- exposureEraStakers: SpStakingExposure;
96
- exposurePaged: Option<SpStakingExposurePage>;
97
- exposureMeta: Option<SpStakingPagedExposureMetadata>;
95
+ exposureEraStakers: PezspStakingExposure;
96
+ exposurePaged: Option<PezspStakingExposurePage>;
97
+ exposureMeta: Option<PezspStakingPagedExposureMetadata>;
98
98
  nominators: AccountId[];
99
- rewardDestination: PalletStakingRewardDestination | null;
99
+ rewardDestination: PezpalletStakingRewardDestination | null;
100
100
  stashId: AccountId;
101
- validatorPrefs: PalletStakingValidatorPrefs;
101
+ validatorPrefs: PezpalletStakingValidatorPrefs;
102
102
  claimedRewardsEras: Vec<u32>;
103
103
  }
104
104
  export interface DeriveStakingQuery extends DeriveStakingStash {
105
105
  accountId: AccountId;
106
- stakingLedger: PalletStakingStakingLedger;
106
+ stakingLedger: PezpalletStakingStakingLedger;
107
107
  }
108
108
  export interface DeriveStakingElected {
109
109
  info: DeriveStakingQuery[];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterEras = filterEras;
4
+ exports.erasHistoricApply = erasHistoricApply;
5
+ exports.erasHistoricApplyAccount = erasHistoricApplyAccount;
6
+ exports.singleEra = singleEra;
7
+ exports.combineEras = combineEras;
8
+ const rxjs_1 = require("rxjs");
9
+ const util_1 = require("@pezkuwi/util");
10
+ const index_js_1 = require("../util/index.js");
11
+ const ERA_CHUNK_SIZE = 14;
12
+ function chunkEras(eras, fn) {
13
+ const chunked = (0, util_1.arrayChunk)(eras, ERA_CHUNK_SIZE);
14
+ let index = 0;
15
+ const subject = new rxjs_1.BehaviorSubject(chunked[index]);
16
+ return subject.pipe((0, rxjs_1.switchMap)(fn), (0, rxjs_1.tap)(() => {
17
+ (0, util_1.nextTick)(() => {
18
+ index++;
19
+ index === chunked.length
20
+ ? subject.complete()
21
+ : subject.next(chunked[index]);
22
+ });
23
+ }), (0, rxjs_1.toArray)(), (0, rxjs_1.map)(util_1.arrayFlatten));
24
+ }
25
+ function filterEras(eras, list) {
26
+ return eras.filter((e) => !list.some(({ era }) => e.eq(era)));
27
+ }
28
+ function erasHistoricApply(fn) {
29
+ return (instanceId, api) =>
30
+ // Cannot quite get the typing right, but it is right in the code
31
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
32
+ (0, index_js_1.memo)(instanceId, (withActive = false) => api.derive.staking.erasHistoric(withActive).pipe((0, rxjs_1.switchMap)((e) => api.derive.staking[fn](e, withActive))));
33
+ }
34
+ function erasHistoricApplyAccount(fn) {
35
+ return (instanceId, api) =>
36
+ // Cannot quite get the typing right, but it is right in the code
37
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
38
+ (0, index_js_1.memo)(instanceId, (accountId, withActive = false, page) => api.derive.staking.erasHistoric(withActive).pipe((0, rxjs_1.switchMap)((e) => api.derive.staking[fn](accountId, e, withActive, page || 0))));
39
+ }
40
+ function singleEra(fn) {
41
+ return (instanceId, api) =>
42
+ // Cannot quite get the typing right, but it is right in the code
43
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
44
+ (0, index_js_1.memo)(instanceId, (era) => api.derive.staking[fn](era, true));
45
+ }
46
+ function combineEras(fn) {
47
+ return (instanceId, api) =>
48
+ // Cannot quite get the typing right, but it is right in the code
49
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
50
+ (0, index_js_1.memo)(instanceId, (eras, withActive) => !eras.length
51
+ ? (0, rxjs_1.of)([])
52
+ : chunkEras(eras, (eras) => (0, rxjs_1.combineLatest)(eras.map((e) => api.derive.staking[fn](e, withActive)))));
53
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nextElected = nextElected;
4
+ exports.validators = validators;
5
+ const rxjs_1 = require("rxjs");
6
+ const index_js_1 = require("../util/index.js");
7
+ /**
8
+ * @name nextElected
9
+ * @description Retrieves the list of accounts that are set to be the next elected validators in the staking system. It provides a preview of who will be validators in the next staking era.
10
+ * @example
11
+ * ```javascript
12
+ * const nextElected = await api.derive.staking.nextElected();
13
+ * console.log(
14
+ * "Next Elected Validators:",
15
+ * nextElected.map((acc) => acc.toString())
16
+ * );
17
+ * ```
18
+ */
19
+ function nextElected(instanceId, api) {
20
+ return (0, index_js_1.memo)(instanceId, () =>
21
+ // Compatibility for future generation changes in staking.
22
+ api.query.staking.erasStakersOverview
23
+ ? api.derive.session.indexes().pipe(
24
+ // only populate for next era in the last session, so track both here - entries are not
25
+ // subscriptions, so we need a trigger - currentIndex acts as that trigger to refresh
26
+ (0, rxjs_1.switchMap)(({ currentEra }) => api.query.staking.erasStakersOverview.keys(currentEra)),
27
+ // Dedupe any duplicates
28
+ (0, rxjs_1.map)((keys) => [...new Set(keys.map(({ args: [, accountId] }) => accountId.toString()))].map((a) => api.registry.createType('AccountId', a))))
29
+ : api.query.staking.erasStakers
30
+ ? api.derive.session.indexes().pipe(
31
+ // only populate for next era in the last session, so track both here - entries are not
32
+ // subscriptions, so we need a trigger - currentIndex acts as that trigger to refresh
33
+ (0, rxjs_1.switchMap)(({ currentEra }) => api.query.staking.erasStakers.keys(currentEra)),
34
+ // Dedupe any duplicates
35
+ (0, rxjs_1.map)((keys) => [...new Set(keys.map(({ args: [, accountId] }) => accountId.toString()))].map((a) => api.registry.createType('AccountId', a))))
36
+ : api.query.staking['currentElected']());
37
+ }
38
+ /**
39
+ * @name validators
40
+ * @description Retrieve latest list of validators.
41
+ * @example
42
+ * ```javascript
43
+ * const { validators, nextElected } = await api.derive.staking.validators();
44
+ * console.log(
45
+ * "Current Validators:",
46
+ * validators.map((v) => v.toString())
47
+ * );
48
+ * console.log(
49
+ * "Next Elected Validators:",
50
+ * nextElected.map((v) => v.toString())
51
+ * );
52
+ * ```
53
+ */
54
+ function validators(instanceId, api) {
55
+ return (0, index_js_1.memo)(instanceId, () =>
56
+ // Sadly the node-template is (for some obscure reason) not comprehensive, so while the derive works
57
+ // in all actual real-world deployed chains, it does create some confusion for limited template chains
58
+ (0, rxjs_1.combineLatest)([
59
+ api.query.session
60
+ ? api.query.session.validators()
61
+ : (0, rxjs_1.of)([]),
62
+ api.query.staking
63
+ ? api.derive.staking.nextElected()
64
+ : (0, rxjs_1.of)([])
65
+ ]).pipe((0, rxjs_1.map)(([validators, nextElected]) => ({
66
+ nextElected: nextElected.length
67
+ ? nextElected
68
+ : validators,
69
+ validators
70
+ }))));
71
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.waitingInfo = waitingInfo;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ const DEFAULT_FLAGS = { withController: true, withPrefs: true };
7
+ /**
8
+ * @name waitingInfo
9
+ * @param {StakingQueryFlags} flags? (Optional) Query flags to filter the staking data.
10
+ * @description Staking candidates who are waiting to become validators.
11
+ * @example
12
+ * ```javascript
13
+ * const { waiting, info } = await api.derive.staking.waitingInfo();
14
+ * console.log(
15
+ * "Waiting Candidates:",
16
+ * waiting.map((acc) => acc.toString())
17
+ * );
18
+ * ```
19
+ */
20
+ function waitingInfo(instanceId, api) {
21
+ return (0, index_js_1.memo)(instanceId, (flags = DEFAULT_FLAGS) => (0, rxjs_1.combineLatest)([
22
+ api.derive.staking.validators(),
23
+ api.derive.staking.stashes()
24
+ ]).pipe((0, rxjs_1.switchMap)(([{ nextElected }, stashes]) => {
25
+ const elected = nextElected.map((a) => a.toString());
26
+ const waiting = stashes.filter((v) => !elected.includes(v.toString()));
27
+ return api.derive.staking.queryMulti(waiting, flags).pipe((0, rxjs_1.map)((info) => ({
28
+ info,
29
+ waiting
30
+ })));
31
+ })));
32
+ }