@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
+ import type { Observable } from 'rxjs';
2
+ import type { DeriveApi } from '../types.js';
3
+ import type { DeriveStakingKeys } from './types.js';
4
+ /**
5
+ * @name keys
6
+ * @param { Uint8Array | string } stashId The stash account ID whose session keys are to be retrieved.
7
+ * @description Retrieves the session keys associated with a given stash account.
8
+ * @example
9
+ * ```javascript
10
+ * const keys = await api.derive.staking.keys(
11
+ * ALICE
12
+ * );
13
+ * console.log(
14
+ * "Session keys:",
15
+ * keys.sessionIds.map((key) => `Key: ${key}`)
16
+ * );
17
+ * ```
18
+ */
19
+ export declare const keys: (instanceId: string, api: DeriveApi) => (stashId: string | Uint8Array) => Observable<DeriveStakingKeys>;
20
+ /**
21
+ * @name keysMulti
22
+ * @description Retrieves session keys for multiple stash accounts.
23
+ * @param { (Uint8Array | string)[] } stashIds Array of stash account IDs.
24
+ * @example
25
+ * ```javascript
26
+ * const keysMulti = await api.derive.staking.keysMulti([ ALICE, BOB ]);
27
+ * keysMulti.forEach((keys) => {
28
+ * console.log(
29
+ * "Session keys:",
30
+ * keys.sessionIds.map((key) => `Key: ${key}`)
31
+ * );
32
+ * });
33
+ * ```
34
+ */
35
+ export declare function keysMulti(instanceId: string, api: DeriveApi): (stashIds: (Uint8Array | string)[]) => Observable<DeriveStakingKeys[]>;
@@ -0,0 +1,57 @@
1
+ import { combineLatest, map, of, switchMap } from 'rxjs';
2
+ import { firstMemo, memo } from '../util/index.js';
3
+ function extractsIds(stashId, queuedKeys, nextKeys) {
4
+ const sessionIds = (queuedKeys.find(([currentId]) => currentId.eq(stashId)) || [undefined, []])[1];
5
+ const nextSessionIds = nextKeys.unwrapOr([]);
6
+ return {
7
+ nextSessionIds: Array.isArray(nextSessionIds)
8
+ ? nextSessionIds
9
+ : [...nextSessionIds.values()],
10
+ sessionIds: Array.isArray(sessionIds)
11
+ ? sessionIds
12
+ : [...sessionIds.values()]
13
+ };
14
+ }
15
+ /**
16
+ * @name keys
17
+ * @param { Uint8Array | string } stashId The stash account ID whose session keys are to be retrieved.
18
+ * @description Retrieves the session keys associated with a given stash account.
19
+ * @example
20
+ * ```javascript
21
+ * const keys = await api.derive.staking.keys(
22
+ * ALICE
23
+ * );
24
+ * console.log(
25
+ * "Session keys:",
26
+ * keys.sessionIds.map((key) => `Key: ${key}`)
27
+ * );
28
+ * ```
29
+ */
30
+ export const keys = /*#__PURE__*/ firstMemo((api, stashId) => api.derive.staking.keysMulti([stashId]));
31
+ /**
32
+ * @name keysMulti
33
+ * @description Retrieves session keys for multiple stash accounts.
34
+ * @param { (Uint8Array | string)[] } stashIds Array of stash account IDs.
35
+ * @example
36
+ * ```javascript
37
+ * const keysMulti = await api.derive.staking.keysMulti([ ALICE, BOB ]);
38
+ * keysMulti.forEach((keys) => {
39
+ * console.log(
40
+ * "Session keys:",
41
+ * keys.sessionIds.map((key) => `Key: ${key}`)
42
+ * );
43
+ * });
44
+ * ```
45
+ */
46
+ export function keysMulti(instanceId, api) {
47
+ return memo(instanceId, (stashIds) => stashIds.length
48
+ ? api.query.session.queuedKeys().pipe(switchMap((queuedKeys) => combineLatest([
49
+ of(queuedKeys),
50
+ // eslint-disable-next-line @typescript-eslint/dot-notation
51
+ api.consts['session']?.['dedupKeyPrefix']
52
+ // eslint-disable-next-line @typescript-eslint/dot-notation
53
+ ? api.query.session.nextKeys.multi(stashIds.map((s) => [api.consts['session']['dedupKeyPrefix'], s]))
54
+ : combineLatest(stashIds.map((s) => api.query.session.nextKeys(s)))
55
+ ])), map(([queuedKeys, nextKeys]) => stashIds.map((stashId, index) => extractsIds(stashId, queuedKeys, nextKeys[index]))))
56
+ : of([]));
57
+ }
@@ -0,0 +1,19 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { DeriveApi, DeriveStakingOverview } from '../types.js';
3
+ /**
4
+ * @name overview
5
+ * @description Retrieve the staking overview, including elected validators and points earned.
6
+ * @example
7
+ * ```javascript
8
+ * const {
9
+ * activeEra,
10
+ * activeEraStart,
11
+ * currentEra,
12
+ * currentIndex,
13
+ * nextElected,
14
+ * validatorCount,
15
+ * validators,
16
+ * } = await api.derive.staking.overview();
17
+ * ```
18
+ */
19
+ export declare function overview(instanceId: string, api: DeriveApi): () => Observable<DeriveStakingOverview>;
@@ -0,0 +1,28 @@
1
+ import { combineLatest, map } from 'rxjs';
2
+ import { objectSpread } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ /**
5
+ * @name overview
6
+ * @description Retrieve the staking overview, including elected validators and points earned.
7
+ * @example
8
+ * ```javascript
9
+ * const {
10
+ * activeEra,
11
+ * activeEraStart,
12
+ * currentEra,
13
+ * currentIndex,
14
+ * nextElected,
15
+ * validatorCount,
16
+ * validators,
17
+ * } = await api.derive.staking.overview();
18
+ * ```
19
+ */
20
+ export function overview(instanceId, api) {
21
+ return memo(instanceId, () => combineLatest([
22
+ api.derive.session.indexes(),
23
+ api.derive.staking.validators()
24
+ ]).pipe(map(([indexes, { nextElected, validators }]) => objectSpread({}, indexes, {
25
+ nextElected,
26
+ validators
27
+ }))));
28
+ }
@@ -0,0 +1,37 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { u32 } from '@pezkuwi/types';
3
+ import type { EraIndex } from '@pezkuwi/types/interfaces';
4
+ import type { AnyNumber } from '@pezkuwi/types-codec/types';
5
+ import type { DeriveApi, DeriveOwnExposure } from '../types.js';
6
+ export declare function _ownExposures(instanceId: string, api: DeriveApi): (accountId: Uint8Array | string, eras: EraIndex[], withActive: boolean, page: u32 | AnyNumber) => Observable<DeriveOwnExposure[]>;
7
+ /**
8
+ * @name ownExposure
9
+ * @description Retrieves the staking exposure of a validator for a specific era, including their own stake.
10
+ * @param { Uint8Array | string } accountId The validator stash account.
11
+ * @param {EraIndex} era The staking era to query.
12
+ * @param { u32 | AnyNumber } page? (Optional) The pagination index.
13
+ * @example
14
+ * ```javascript
15
+ * const era = api.createType("EraIndex", 1000);
16
+ * const exposure = await api.derive.staking.ownExposure(
17
+ * "11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ",
18
+ * era
19
+ * );
20
+ * console.log(JSON.stringify(exposure));
21
+ * ```
22
+ */
23
+ export declare const ownExposure: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array, era: EraIndex, page?: u32 | AnyNumber | undefined) => Observable<DeriveOwnExposure>;
24
+ /**
25
+ * @name ownExposures
26
+ * @description Retrieves staking exposures for a validator across multiple historical eras.
27
+ * @param { Uint8Array | string } accountId The validator stash account.
28
+ * @param { boolean } withActive Whether to include the active era.
29
+ * @example
30
+ * ```javascript
31
+ * const exposures = await api.derive.staking.ownExposures(
32
+ * ALICE,
33
+ * true
34
+ * );
35
+ * ```
36
+ */
37
+ export declare const ownExposures: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array, withActive?: boolean) => Observable<DeriveOwnExposure[]>;
@@ -0,0 +1,60 @@
1
+ import { combineLatest, map, of } from 'rxjs';
2
+ import { firstMemo, memo } from '../util/index.js';
3
+ import { erasHistoricApplyAccount } from './util.js';
4
+ export function _ownExposures(instanceId, api) {
5
+ return memo(instanceId, (accountId, eras, _withActive, page) => {
6
+ const emptyStakingExposure = api.registry.createType('Exposure');
7
+ // The reason we don't explicitly make the actual types is for compatibility. If the chain doesn't have the noted type it will fail
8
+ // on construction. Therefore we just make an empty option.
9
+ const emptyOptionPage = api.registry.createType('Option<Null>');
10
+ const emptyOptionMeta = api.registry.createType('Option<Null>');
11
+ return eras.length
12
+ ? combineLatest([
13
+ // Backwards and forward compat for historical integrity when using `erasHistoricApplyAccount`
14
+ api.query.staking.erasStakersClipped
15
+ ? combineLatest(eras.map((e) => api.query.staking.erasStakersClipped(e, accountId)))
16
+ : of(eras.map((_) => emptyStakingExposure)),
17
+ api.query.staking.erasStakers
18
+ ? combineLatest(eras.map((e) => api.query.staking.erasStakers(e, accountId)))
19
+ : of(eras.map((_) => emptyStakingExposure)),
20
+ api.query.staking.erasStakersPaged
21
+ ? combineLatest(eras.map((e) => api.query.staking.erasStakersPaged(e, accountId, page)))
22
+ : of(eras.map((_) => emptyOptionPage)),
23
+ api.query.staking.erasStakersOverview
24
+ ? combineLatest(eras.map((e) => api.query.staking.erasStakersOverview(e, accountId)))
25
+ : of(eras.map((_) => emptyOptionMeta))
26
+ ]).pipe(map(([clp, exp, paged, expMeta]) => eras.map((era, index) => ({ clipped: clp[index], era, exposure: exp[index], exposureMeta: expMeta[index], exposurePaged: paged[index] }))))
27
+ : of([]);
28
+ });
29
+ }
30
+ /**
31
+ * @name ownExposure
32
+ * @description Retrieves the staking exposure of a validator for a specific era, including their own stake.
33
+ * @param { Uint8Array | string } accountId The validator stash account.
34
+ * @param {EraIndex} era The staking era to query.
35
+ * @param { u32 | AnyNumber } page? (Optional) The pagination index.
36
+ * @example
37
+ * ```javascript
38
+ * const era = api.createType("EraIndex", 1000);
39
+ * const exposure = await api.derive.staking.ownExposure(
40
+ * "11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ",
41
+ * era
42
+ * );
43
+ * console.log(JSON.stringify(exposure));
44
+ * ```
45
+ */
46
+ export const ownExposure = /*#__PURE__*/ firstMemo((api, accountId, era, page) => api.derive.staking._ownExposures(accountId, [era], true, page || 0));
47
+ /**
48
+ * @name ownExposures
49
+ * @description Retrieves staking exposures for a validator across multiple historical eras.
50
+ * @param { Uint8Array | string } accountId The validator stash account.
51
+ * @param { boolean } withActive Whether to include the active era.
52
+ * @example
53
+ * ```javascript
54
+ * const exposures = await api.derive.staking.ownExposures(
55
+ * ALICE,
56
+ * true
57
+ * );
58
+ * ```
59
+ */
60
+ export const ownExposures = /*#__PURE__*/ erasHistoricApplyAccount('_ownExposures');
@@ -0,0 +1,35 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { EraIndex } from '@pezkuwi/types/interfaces';
3
+ import type { DeriveApi, DeriveStakerSlashes } from '../types.js';
4
+ export declare function _ownSlashes(instanceId: string, api: DeriveApi): (accountId: Uint8Array | string, eras: EraIndex[], withActive: boolean) => Observable<DeriveStakerSlashes[]>;
5
+ /**
6
+ * @name ownSlash
7
+ * @description Retrieves the slashes applied to a specific account in a given era.
8
+ * @param { Uint8Array | string } accountId The validator stash account.
9
+ * @param {EraIndex} era The staking era to query.
10
+ * @example
11
+ * ```javascript
12
+ * const era = api.createType("EraIndex", 1000);
13
+ * const slashedAmount = await api.derive.staking.ownSlash(
14
+ * ALICE,
15
+ * era
16
+ * );
17
+ * console.log(`Era: ${slashedAmount.era}, total ${slashedAmount.total}`);
18
+ * ```
19
+ */
20
+ export declare const ownSlash: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array, era: EraIndex) => Observable<DeriveStakerSlashes>;
21
+ /**
22
+ * @name ownSlashes
23
+ * @description Retrieves the slashes for a specific account across all historic eras.
24
+ * @param { Uint8Array | string } accountId The validator stash account.
25
+ * @param { boolean } withActive Whether to include the active era.
26
+ * @example
27
+ * ```javascript
28
+ * const slashes = await api.derive.staking.ownSlashes(
29
+ * ALICE,
30
+ * true
31
+ * );
32
+ * console.log(slashes);
33
+ * ```
34
+ */
35
+ export declare const ownSlashes: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array, withActive?: boolean) => Observable<DeriveStakerSlashes[]>;
@@ -0,0 +1,47 @@
1
+ import { combineLatest, map, of } from 'rxjs';
2
+ import { firstMemo, memo } from '../util/index.js';
3
+ import { erasHistoricApplyAccount } from './util.js';
4
+ export function _ownSlashes(instanceId, api) {
5
+ return memo(instanceId, (accountId, eras, _withActive) => eras.length
6
+ ? combineLatest([
7
+ combineLatest(eras.map((e) => api.query.staking.validatorSlashInEra(e, accountId))),
8
+ combineLatest(eras.map((e) => api.query.staking.nominatorSlashInEra(e, accountId)))
9
+ ]).pipe(map(([vals, noms]) => eras.map((era, index) => ({
10
+ era,
11
+ total: vals[index].isSome
12
+ ? vals[index].unwrap()[1]
13
+ : noms[index].unwrapOrDefault()
14
+ }))))
15
+ : of([]));
16
+ }
17
+ /**
18
+ * @name ownSlash
19
+ * @description Retrieves the slashes applied to a specific account in a given era.
20
+ * @param { Uint8Array | string } accountId The validator stash account.
21
+ * @param {EraIndex} era The staking era to query.
22
+ * @example
23
+ * ```javascript
24
+ * const era = api.createType("EraIndex", 1000);
25
+ * const slashedAmount = await api.derive.staking.ownSlash(
26
+ * ALICE,
27
+ * era
28
+ * );
29
+ * console.log(`Era: ${slashedAmount.era}, total ${slashedAmount.total}`);
30
+ * ```
31
+ */
32
+ export const ownSlash = /*#__PURE__*/ firstMemo((api, accountId, era) => api.derive.staking._ownSlashes(accountId, [era], true));
33
+ /**
34
+ * @name ownSlashes
35
+ * @description Retrieves the slashes for a specific account across all historic eras.
36
+ * @param { Uint8Array | string } accountId The validator stash account.
37
+ * @param { boolean } withActive Whether to include the active era.
38
+ * @example
39
+ * ```javascript
40
+ * const slashes = await api.derive.staking.ownSlashes(
41
+ * ALICE,
42
+ * true
43
+ * );
44
+ * console.log(slashes);
45
+ * ```
46
+ */
47
+ export const ownSlashes = /*#__PURE__*/ erasHistoricApplyAccount('_ownSlashes');
@@ -0,0 +1,31 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { u32 } from '@pezkuwi/types';
3
+ import type { AnyNumber } from '@pezkuwi/types-codec/types';
4
+ import type { DeriveApi, DeriveStakingQuery, StakingQueryFlags } from '../types.js';
5
+ /**
6
+ * @name query
7
+ * @param { Uint8Array | string } accountId The stash account to query.
8
+ * @param { StakingQueryFlags } flags Flags to customize the query.
9
+ * @param { u32 } page (Optional) pagination parameter.
10
+ * @description Retrieves staking details for a given stash account.
11
+ * @example
12
+ * ```javascript
13
+ * const stakingInfo = await api.derive.staking.query(
14
+ * ALICE,
15
+ * {}
16
+ * );
17
+ * ```
18
+ */
19
+ export declare const query: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array, flags: StakingQueryFlags, page?: u32 | undefined) => Observable<DeriveStakingQuery>;
20
+ /**
21
+ * @name queryMulti
22
+ * @param { (Uint8Array | string)[] } accountIds List of stash accounts to query.
23
+ * @param { StakingQueryFlags } flags Flags to customize the query.
24
+ * @param { u32 } page (Optional) pagination parameter.
25
+ * @description Retrieves staking details for multiple stash accounts.
26
+ * @example
27
+ * ```javascript
28
+ * const stakingInfos = await api.derive.staking.queryMulti([stashId1, stashId2], {});
29
+ * ```
30
+ */
31
+ export declare function queryMulti(instanceId: string, api: DeriveApi): (accountIds: (Uint8Array | string)[], flags: StakingQueryFlags, page?: u32 | AnyNumber) => Observable<DeriveStakingQuery[]>;
@@ -0,0 +1,172 @@
1
+ import { combineLatest, map, of, switchMap } from 'rxjs';
2
+ import { firstMemo, memo } from '../util/index.js';
3
+ function rewardDestinationCompat(rewardDestination) {
4
+ // We ensure the type is an Option by checking if isSome is a boolean. When isSome doesn't exist it will always return undefined.
5
+ return typeof rewardDestination.isSome === 'boolean'
6
+ ? rewardDestination.unwrapOr(null)
7
+ : rewardDestination;
8
+ }
9
+ function filterClaimedRewards(api, cl) {
10
+ return api.registry.createType('Vec<u32>', cl.filter((c) => c !== -1));
11
+ }
12
+ function filterRewards(stashIds, eras, claimedRewards, stakersOverview) {
13
+ const claimedData = {};
14
+ const overviewData = {};
15
+ const ids = stashIds.map((i) => i.toString());
16
+ claimedRewards.forEach(([keys, rewards]) => {
17
+ const id = keys.args[1].toString();
18
+ const era = keys.args[0].toNumber();
19
+ if (ids.includes(id)) {
20
+ if (claimedData[id]) {
21
+ claimedData[id].set(era, rewards.toArray());
22
+ }
23
+ else {
24
+ claimedData[id] = new Map();
25
+ claimedData[id].set(era, rewards.toArray());
26
+ }
27
+ }
28
+ });
29
+ stakersOverview.forEach(([keys, overview]) => {
30
+ const id = keys.args[1].toString();
31
+ const era = keys.args[0].toNumber();
32
+ if (ids.includes(id) && overview.isSome) {
33
+ if (overviewData[id]) {
34
+ overviewData[id].set(era, overview.unwrap().pageCount);
35
+ }
36
+ else {
37
+ overviewData[id] = new Map();
38
+ overviewData[id].set(era, overview.unwrap().pageCount);
39
+ }
40
+ }
41
+ });
42
+ return stashIds.map((id) => {
43
+ const rewardsPerEra = claimedData[id.toString()];
44
+ const overviewPerEra = overviewData[id.toString()];
45
+ return eras.map((era) => {
46
+ if (rewardsPerEra && rewardsPerEra.has(era) && overviewPerEra && overviewPerEra.has(era)) {
47
+ const rewards = rewardsPerEra.get(era);
48
+ const pageCount = overviewPerEra.get(era);
49
+ return rewards.length === pageCount.toNumber()
50
+ ? era
51
+ : -1;
52
+ }
53
+ return -1;
54
+ });
55
+ });
56
+ }
57
+ function parseDetails(api, stashId, controllerIdOpt, nominatorsOpt, rewardDestinationOpts, validatorPrefs, exposure, stakingLedgerOpt, exposureMeta, claimedRewards, exposureEraStakers) {
58
+ return {
59
+ accountId: stashId,
60
+ claimedRewardsEras: filterClaimedRewards(api, claimedRewards),
61
+ controllerId: controllerIdOpt?.unwrapOr(null) || null,
62
+ exposureEraStakers,
63
+ exposureMeta,
64
+ exposurePaged: exposure,
65
+ nominators: nominatorsOpt.isSome
66
+ ? nominatorsOpt.unwrap().targets
67
+ : [],
68
+ rewardDestination: rewardDestinationCompat(rewardDestinationOpts),
69
+ stakingLedger: stakingLedgerOpt.unwrapOrDefault(),
70
+ stashId,
71
+ validatorPrefs
72
+ };
73
+ }
74
+ function getLedgers(api, optIds, { withLedger = false }) {
75
+ const ids = optIds
76
+ .filter((o) => withLedger && !!o && o.isSome)
77
+ .map((o) => o.unwrap());
78
+ const emptyLed = api.registry.createType('Option<StakingLedger>');
79
+ return (ids.length
80
+ ? combineLatest(ids.map((s) => api.query.staking.ledger(s)))
81
+ : of([])).pipe(map((optLedgers) => {
82
+ let offset = -1;
83
+ return optIds.map((o) => o && o.isSome
84
+ ? optLedgers[++offset] || emptyLed
85
+ : emptyLed);
86
+ }));
87
+ }
88
+ function getStashInfo(api, stashIds, activeEra, { withClaimedRewardsEras, withController, withDestination, withExposure, withExposureErasStakersLegacy, withExposureMeta, withLedger, withNominations, withPrefs }, page) {
89
+ const emptyNoms = api.registry.createType('Option<Nominations>');
90
+ const emptyRewa = api.registry.createType('RewardDestination');
91
+ const emptyExpoEraStakers = api.registry.createType('Exposure');
92
+ const emptyPrefs = api.registry.createType('ValidatorPrefs');
93
+ // The reason we don't explicitly make the actual types is for compatibility. If the chain doesn't have the noted type it will fail
94
+ // on construction. Therefore we just make an empty option.
95
+ const emptyExpo = api.registry.createType('Option<Null>');
96
+ const emptyExpoMeta = api.registry.createType('Option<Null>');
97
+ const emptyClaimedRewards = [-1];
98
+ const depth = Number(api.consts.staking.historyDepth.toNumber());
99
+ const eras = new Array(depth).fill(0).map((_, idx) => {
100
+ if (idx === 0) {
101
+ return activeEra.toNumber() - 1;
102
+ }
103
+ return activeEra.toNumber() - idx - 1;
104
+ });
105
+ return combineLatest([
106
+ withController || withLedger
107
+ ? combineLatest(stashIds.map((s) => api.query.staking.bonded(s)))
108
+ : of(stashIds.map(() => null)),
109
+ withNominations
110
+ ? combineLatest(stashIds.map((s) => api.query.staking.nominators(s)))
111
+ : of(stashIds.map(() => emptyNoms)),
112
+ withDestination
113
+ ? combineLatest(stashIds.map((s) => api.query.staking.payee(s)))
114
+ : of(stashIds.map(() => emptyRewa)),
115
+ withPrefs
116
+ ? combineLatest(stashIds.map((s) => api.query.staking.validators(s)))
117
+ : of(stashIds.map(() => emptyPrefs)),
118
+ withExposure && api.query.staking.erasStakersPaged
119
+ ? combineLatest(stashIds.map((s) => api.query.staking.erasStakersPaged(activeEra, s, page)))
120
+ : of(stashIds.map(() => emptyExpo)),
121
+ withExposureMeta && api.query.staking.erasStakersOverview
122
+ ? combineLatest(stashIds.map((s) => api.query.staking.erasStakersOverview(activeEra, s)))
123
+ : of(stashIds.map(() => emptyExpoMeta)),
124
+ withClaimedRewardsEras && api.query.staking.claimedRewards
125
+ ? combineLatest([
126
+ api.query.staking.claimedRewards.entries(),
127
+ api.query.staking.erasStakersOverview.entries()
128
+ ]).pipe(map(([rewardsStorageVec, overviewStorageVec]) => filterRewards(stashIds, eras, rewardsStorageVec, overviewStorageVec)))
129
+ : of(stashIds.map(() => emptyClaimedRewards)),
130
+ withExposureErasStakersLegacy && api.query.staking.erasStakers
131
+ ? combineLatest(stashIds.map((s) => api.query.staking.erasStakers(activeEra, s)))
132
+ : of(stashIds.map(() => emptyExpoEraStakers))
133
+ ]);
134
+ }
135
+ function getBatch(api, activeEra, stashIds, flags, page) {
136
+ return getStashInfo(api, stashIds, activeEra, flags, page).pipe(switchMap(([controllerIdOpt, nominatorsOpt, rewardDestination, validatorPrefs, exposure, exposureMeta, claimedRewardsEras, exposureEraStakers]) => getLedgers(api, controllerIdOpt, flags).pipe(map((stakingLedgerOpts) => stashIds.map((stashId, index) => parseDetails(api, stashId, controllerIdOpt[index], nominatorsOpt[index], rewardDestination[index], validatorPrefs[index], exposure[index], stakingLedgerOpts[index], exposureMeta[index], claimedRewardsEras[index], exposureEraStakers[index]))))));
137
+ }
138
+ /**
139
+ * @name query
140
+ * @param { Uint8Array | string } accountId The stash account to query.
141
+ * @param { StakingQueryFlags } flags Flags to customize the query.
142
+ * @param { u32 } page (Optional) pagination parameter.
143
+ * @description Retrieves staking details for a given stash account.
144
+ * @example
145
+ * ```javascript
146
+ * const stakingInfo = await api.derive.staking.query(
147
+ * ALICE,
148
+ * {}
149
+ * );
150
+ * ```
151
+ */
152
+ export const query = /*#__PURE__*/ firstMemo((api, accountId, flags, page) => api.derive.staking.queryMulti([accountId], flags, page));
153
+ /**
154
+ * @name queryMulti
155
+ * @param { (Uint8Array | string)[] } accountIds List of stash accounts to query.
156
+ * @param { StakingQueryFlags } flags Flags to customize the query.
157
+ * @param { u32 } page (Optional) pagination parameter.
158
+ * @description Retrieves staking details for multiple stash accounts.
159
+ * @example
160
+ * ```javascript
161
+ * const stakingInfos = await api.derive.staking.queryMulti([stashId1, stashId2], {});
162
+ * ```
163
+ */
164
+ export function queryMulti(instanceId, api) {
165
+ return memo(instanceId, (accountIds, flags, page) => api.derive.session.indexes().pipe(switchMap(({ activeEra }) => {
166
+ const stashIds = accountIds.map((a) => api.registry.createType('AccountId', a));
167
+ const p = page || 0;
168
+ return stashIds.length
169
+ ? getBatch(api, activeEra, stashIds, flags, p)
170
+ : of([]);
171
+ })));
172
+ }
@@ -0,0 +1,33 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { EraIndex } from '@pezkuwi/types/interfaces';
3
+ import type { DeriveApi } from '../types.js';
4
+ import type { DeriveStakerExposure } from './types.js';
5
+ export declare function _stakerExposures(instanceId: string, api: DeriveApi): (accountIds: (Uint8Array | string)[], eras: EraIndex[], withActive?: boolean) => Observable<DeriveStakerExposure[][]>;
6
+ /**
7
+ * @name stakerExposures
8
+ * @param { (Uint8Array | string)[] } accountIds List of validator stash accounts.
9
+ * @param { boolean } withActive Whether to include the active era.
10
+ * @description Retrieves staking exposure for multiple accounts across historical eras.
11
+ * @example
12
+ * ```javascript
13
+ * const exposure = await api.derive.staking.stakerExposures(
14
+ * [ALICE, BOB],
15
+ * true
16
+ * );
17
+ * ```
18
+ */
19
+ export declare function stakerExposures(instanceId: string, api: DeriveApi): (accountIds: (Uint8Array | string)[], withActive?: boolean) => Observable<DeriveStakerExposure[][]>;
20
+ /**
21
+ * @name stakerExposure
22
+ * @param { Uint8Array | string } accountId The validator stash account.
23
+ * @param { boolean } withActive Whether to include the active era.
24
+ * @description Retrieves staking exposure for a single account across historical eras. Exposure refers to the total stake associated with a validator.
25
+ * @example
26
+ * ```javascript
27
+ * const exposure = await api.derive.staking.stakerExposure(
28
+ * ALICE,
29
+ * true
30
+ * );
31
+ * ```
32
+ */
33
+ export declare const stakerExposure: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array, withActive?: boolean | undefined) => Observable<DeriveStakerExposure[]>;
@@ -0,0 +1,51 @@
1
+ import { map, switchMap } from 'rxjs';
2
+ import { firstMemo, memo } from '../util/index.js';
3
+ export function _stakerExposures(instanceId, api) {
4
+ return memo(instanceId, (accountIds, eras, withActive = false) => {
5
+ const stakerIds = accountIds.map((a) => api.registry.createType('AccountId', a).toString());
6
+ return api.derive.staking._erasExposure(eras, withActive).pipe(map((exposures) => stakerIds.map((stakerId) => exposures.map(({ era, nominators: allNominators, validators: allValidators }) => {
7
+ const isValidator = !!allValidators[stakerId];
8
+ const validators = {};
9
+ const nominating = allNominators[stakerId] || [];
10
+ if (isValidator) {
11
+ validators[stakerId] = allValidators[stakerId];
12
+ }
13
+ else if (nominating) {
14
+ nominating.forEach(({ validatorId }) => {
15
+ validators[validatorId] = allValidators[validatorId];
16
+ });
17
+ }
18
+ return { era, isEmpty: !Object.keys(validators).length, isValidator, nominating, validators };
19
+ }))));
20
+ });
21
+ }
22
+ /**
23
+ * @name stakerExposures
24
+ * @param { (Uint8Array | string)[] } accountIds List of validator stash accounts.
25
+ * @param { boolean } withActive Whether to include the active era.
26
+ * @description Retrieves staking exposure for multiple accounts across historical eras.
27
+ * @example
28
+ * ```javascript
29
+ * const exposure = await api.derive.staking.stakerExposures(
30
+ * [ALICE, BOB],
31
+ * true
32
+ * );
33
+ * ```
34
+ */
35
+ export function stakerExposures(instanceId, api) {
36
+ return memo(instanceId, (accountIds, withActive = false) => api.derive.staking.erasHistoric(withActive).pipe(switchMap((eras) => api.derive.staking._stakerExposures(accountIds, eras, withActive))));
37
+ }
38
+ /**
39
+ * @name stakerExposure
40
+ * @param { Uint8Array | string } accountId The validator stash account.
41
+ * @param { boolean } withActive Whether to include the active era.
42
+ * @description Retrieves staking exposure for a single account across historical eras. Exposure refers to the total stake associated with a validator.
43
+ * @example
44
+ * ```javascript
45
+ * const exposure = await api.derive.staking.stakerExposure(
46
+ * ALICE,
47
+ * true
48
+ * );
49
+ * ```
50
+ */
51
+ export const stakerExposure = /*#__PURE__*/ firstMemo((api, accountId, withActive) => api.derive.staking.stakerExposures([accountId], withActive));
@@ -0,0 +1,22 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { EraIndex } from '@pezkuwi/types/interfaces';
3
+ import type { DeriveApi, DeriveStakerPoints } from '../types.js';
4
+ export declare function _stakerPoints(instanceId: string, api: DeriveApi): (accountId: Uint8Array | string, eras: EraIndex[], withActive: boolean) => Observable<DeriveStakerPoints[]>;
5
+ /**
6
+ * @name stakerPoints
7
+ * @param { Uint8Array | string } accountId The stakers AccountId.
8
+ * @param { boolean } withActive Whether to include the active era.
9
+ * @description Retrieves the era reward points earned by a given staker across all eras.
10
+ * @example
11
+ * ```javascript
12
+ * const points = await api.derive.staking.stakerPoints(
13
+ * ALICE, //Alice accountId
14
+ * false
15
+ * );
16
+ * console.log(
17
+ * 'Validator Era Points:',
18
+ * points.map(({ era, points }) => `Era ${era}: ${points.toString()} points`)
19
+ * );
20
+ * ```
21
+ */
22
+ export declare const stakerPoints: (instanceId: string, api: DeriveApi) => (accountId: string | Uint8Array, withActive?: boolean) => Observable<DeriveStakerPoints[]>;
@@ -0,0 +1,31 @@
1
+ import { map } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ import { erasHistoricApplyAccount } from './util.js';
4
+ export function _stakerPoints(instanceId, api) {
5
+ return memo(instanceId, (accountId, eras, withActive) => {
6
+ const stakerId = api.registry.createType('AccountId', accountId).toString();
7
+ return api.derive.staking._erasPoints(eras, withActive).pipe(map((points) => points.map(({ era, eraPoints, validators }) => ({
8
+ era,
9
+ eraPoints,
10
+ points: validators[stakerId] || api.registry.createType('RewardPoint')
11
+ }))));
12
+ });
13
+ }
14
+ /**
15
+ * @name stakerPoints
16
+ * @param { Uint8Array | string } accountId The stakers AccountId.
17
+ * @param { boolean } withActive Whether to include the active era.
18
+ * @description Retrieves the era reward points earned by a given staker across all eras.
19
+ * @example
20
+ * ```javascript
21
+ * const points = await api.derive.staking.stakerPoints(
22
+ * ALICE, //Alice accountId
23
+ * false
24
+ * );
25
+ * console.log(
26
+ * 'Validator Era Points:',
27
+ * points.map(({ era, points }) => `Era ${era}: ${points.toString()} points`)
28
+ * );
29
+ * ```
30
+ */
31
+ export const stakerPoints = /*#__PURE__*/ erasHistoricApplyAccount('_stakerPoints');