@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,42 @@
1
+ import { map, of, switchMap } from 'rxjs';
2
+ import { BN_ZERO, bnToBn, objectSpread } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ import { getQueryInterface } from './util.js';
5
+ function orderBags(ids, bags) {
6
+ const sorted = ids
7
+ .map((id, index) => ({
8
+ bag: bags[index].unwrapOr(null),
9
+ id,
10
+ key: id.toString()
11
+ }))
12
+ .sort((a, b) => b.id.cmp(a.id));
13
+ const max = sorted.length - 1;
14
+ return sorted.map((entry, index) => objectSpread(entry, {
15
+ bagLower: index === max
16
+ ? BN_ZERO
17
+ : sorted[index + 1].id,
18
+ bagUpper: entry.id,
19
+ index
20
+ }));
21
+ }
22
+ export function _getIds(instanceId, api) {
23
+ const query = getQueryInterface(api);
24
+ return memo(instanceId, (_ids) => {
25
+ const ids = _ids.map((id) => bnToBn(id));
26
+ return ids.length
27
+ ? query.listBags.multi(ids).pipe(map((bags) => orderBags(ids, bags)))
28
+ : of([]);
29
+ });
30
+ }
31
+ export function all(instanceId, api) {
32
+ const query = getQueryInterface(api);
33
+ return memo(instanceId, () => query.listBags.keys().pipe(switchMap((keys) => api.derive.bagsList._getIds(keys.map(({ args: [id] }) => id))), map((list) => list.filter(({ bag }) => bag))));
34
+ }
35
+ /**
36
+ * @name get
37
+ * @param {(BN | number)} id The id of the bag to retrieve.
38
+ * @description Retrieves a specific bag from the BagsList pallet by its id.
39
+ */
40
+ export function get(instanceId, api) {
41
+ return memo(instanceId, (id) => api.derive.bagsList._getIds([bnToBn(id)]).pipe(map((bags) => bags[0])));
42
+ }
@@ -0,0 +1,19 @@
1
+ import { map, switchMap } from 'rxjs';
2
+ import { objectSpread } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ /**
5
+ * @name expand
6
+ * @description Expands a given bag by retrieving all its nodes (accounts contained within the bag).
7
+ * @param {Bag} bag The bag to be expanded.
8
+ */
9
+ export function expand(instanceId, api) {
10
+ return memo(instanceId, (bag) => api.derive.bagsList.listNodes(bag.bag).pipe(map((nodes) => objectSpread({ nodes }, bag))));
11
+ }
12
+ /**
13
+ * @name getExpanded
14
+ * @description Retrieves and expands a specific bag from the BagsList pallet.
15
+ * @param {BN | number} id The id of the bag to expand.
16
+ */
17
+ export function getExpanded(instanceId, api) {
18
+ return memo(instanceId, (id) => api.derive.bagsList.get(id).pipe(switchMap((bag) => api.derive.bagsList.expand(bag))));
19
+ }
@@ -0,0 +1,3 @@
1
+ export * from './get.js';
2
+ export * from './getExpanded.js';
3
+ export * from './listNodes.js';
@@ -0,0 +1,9 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { PezpalletBagsListListBag, PezpalletBagsListListNode } from '@pezkuwi/types/lookup';
3
+ import type { DeriveApi } from '../types.js';
4
+ /**
5
+ * @name listNodes
6
+ * @param {(PezpalletBagsListListBag | null)} bag A reference to a specific bag in the BagsList pallet.
7
+ * @description Retrieves the list of nodes (accounts) contained in a specific bag within the BagsList pallet.
8
+ */
9
+ export declare function listNodes(instanceId: string, api: DeriveApi): (bag: PezpalletBagsListListBag | null) => Observable<PezpalletBagsListListNode[]>;
@@ -0,0 +1,26 @@
1
+ import { BehaviorSubject, map, of, switchMap, tap, toArray } from 'rxjs';
2
+ import { nextTick } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ import { getQueryInterface } from './util.js';
5
+ function traverseLinks(api, head) {
6
+ const subject = new BehaviorSubject(head);
7
+ const query = getQueryInterface(api);
8
+ return subject.pipe(switchMap((account) => query.listNodes(account)), tap((node) => {
9
+ nextTick(() => {
10
+ node.isSome && node.value.next.isSome
11
+ ? subject.next(node.unwrap().next.unwrap())
12
+ : subject.complete();
13
+ });
14
+ }), toArray(), // toArray since we want to startSubject to be completed
15
+ map((all) => all.map((o) => o.unwrap())));
16
+ }
17
+ /**
18
+ * @name listNodes
19
+ * @param {(PezpalletBagsListListBag | null)} bag A reference to a specific bag in the BagsList pallet.
20
+ * @description Retrieves the list of nodes (accounts) contained in a specific bag within the BagsList pallet.
21
+ */
22
+ export function listNodes(instanceId, api) {
23
+ return memo(instanceId, (bag) => bag && bag.head.isSome
24
+ ? traverseLinks(api, bag.head.unwrap())
25
+ : of([]));
26
+ }
@@ -1,7 +1,7 @@
1
- import type { PalletBagsListListBag, PalletBagsListListNode } from '@pezkuwi/types/lookup';
1
+ import type { PezpalletBagsListListBag, PezpalletBagsListListNode } from '@pezkuwi/types/lookup';
2
2
  import type { BN } from '@pezkuwi/util';
3
3
  export interface Bag {
4
- bag: PalletBagsListListBag | null;
4
+ bag: PezpalletBagsListListBag | null;
5
5
  bagUpper: BN;
6
6
  bagLower: BN;
7
7
  id: BN;
@@ -9,5 +9,5 @@ export interface Bag {
9
9
  key: string;
10
10
  }
11
11
  export interface BagExpanded extends Bag {
12
- nodes: PalletBagsListListNode[];
12
+ nodes: PezpalletBagsListListNode[];
13
13
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export function getQueryInterface(api) {
2
+ return (
3
+ // latest bizinikiwi & pezkuwi
4
+ api.query.voterList ||
5
+ // previous bizinikiwi
6
+ api.query['voterBagsList'] ||
7
+ api.query['bagsList']);
8
+ }
@@ -0,0 +1,149 @@
1
+ import { combineLatest, map, of, switchMap } from 'rxjs';
2
+ import { isFunction, objectSpread } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ function zeroBalance(api) {
5
+ return api.registry.createType('Balance');
6
+ }
7
+ function getBalance(api, [freeBalance, reservedBalance, frozenFeeOrFrozen, frozenMiscOrFlags], accType) {
8
+ const votingBalance = api.registry.createType('Balance', freeBalance.toBn());
9
+ if (accType.isFrameAccountData) {
10
+ return {
11
+ frameSystemAccountInfo: {
12
+ flags: frozenMiscOrFlags,
13
+ frozen: frozenFeeOrFrozen
14
+ },
15
+ freeBalance,
16
+ frozenFee: api.registry.createType('Balance', 0),
17
+ frozenMisc: api.registry.createType('Balance', 0),
18
+ reservedBalance,
19
+ votingBalance
20
+ };
21
+ }
22
+ return {
23
+ freeBalance,
24
+ frozenFee: frozenFeeOrFrozen,
25
+ frozenMisc: frozenMiscOrFlags,
26
+ reservedBalance,
27
+ votingBalance
28
+ };
29
+ }
30
+ function calcBalances(api, [accountId, [accountNonce, [primary, ...additional], accType]]) {
31
+ return objectSpread({
32
+ accountId,
33
+ accountNonce,
34
+ additional: additional.map((b) => getBalance(api, b, accType))
35
+ }, getBalance(api, primary, accType));
36
+ }
37
+ function queryBalancesFree(api, accountId) {
38
+ return combineLatest([
39
+ api.query.balances['freeBalance'](accountId),
40
+ api.query.balances['reservedBalance'](accountId),
41
+ api.query.system['accountNonce'](accountId)
42
+ ]).pipe(map(([freeBalance, reservedBalance, accountNonce]) => [
43
+ accountNonce,
44
+ [[freeBalance, reservedBalance, zeroBalance(api), zeroBalance(api)]],
45
+ { isFrameAccountData: false }
46
+ ]));
47
+ }
48
+ function queryNonceOnly(api, accountId) {
49
+ const fill = (nonce) => [
50
+ nonce,
51
+ [[zeroBalance(api), zeroBalance(api), zeroBalance(api), zeroBalance(api)]],
52
+ { isFrameAccountData: false }
53
+ ];
54
+ return isFunction(api.query.system.account)
55
+ ? api.query.system.account(accountId).pipe(map(({ nonce }) => fill(nonce)))
56
+ : isFunction(api.query.system['accountNonce'])
57
+ ? api.query.system['accountNonce'](accountId).pipe(map((nonce) => fill(nonce)))
58
+ : of(fill(api.registry.createType('Index')));
59
+ }
60
+ function queryBalancesAccount(api, accountId, modules = ['balances']) {
61
+ const balances = modules
62
+ .map((m) => api.derive[m]?.customAccount || api.query[m]?.account)
63
+ .filter((q) => isFunction(q));
64
+ const extract = (nonce, data) => [
65
+ nonce,
66
+ data.map(({ feeFrozen, free, miscFrozen, reserved }) => [free, reserved, feeFrozen, miscFrozen]),
67
+ { isFrameAccountData: false }
68
+ ];
69
+ // NOTE this is for the first case where we do have instances specified
70
+ return balances.length
71
+ ? isFunction(api.query.system.account)
72
+ ? combineLatest([
73
+ api.query.system.account(accountId),
74
+ ...balances.map((c) => c(accountId))
75
+ ]).pipe(map(([{ nonce }, ...balances]) => extract(nonce, balances)))
76
+ : combineLatest([
77
+ api.query.system['accountNonce'](accountId),
78
+ ...balances.map((c) => c(accountId))
79
+ ]).pipe(map(([nonce, ...balances]) => extract(nonce, balances)))
80
+ : queryNonceOnly(api, accountId);
81
+ }
82
+ function querySystemAccount(api, accountId) {
83
+ // AccountInfo is current, support old, eg. Edgeware
84
+ return api.query.system.account(accountId).pipe(map((infoOrTuple) => {
85
+ const data = infoOrTuple.nonce
86
+ ? infoOrTuple.data
87
+ : infoOrTuple[1];
88
+ const nonce = infoOrTuple.nonce || infoOrTuple[0];
89
+ if (!data || data.isEmpty) {
90
+ return [
91
+ nonce,
92
+ [[zeroBalance(api), zeroBalance(api), zeroBalance(api), zeroBalance(api)]],
93
+ { isFrameAccountData: false }
94
+ ];
95
+ }
96
+ const isFrameType = !!infoOrTuple.data.frozen;
97
+ if (isFrameType) {
98
+ const { flags, free, frozen, reserved } = data;
99
+ return [
100
+ nonce,
101
+ [[free, reserved, frozen, flags]],
102
+ { isFrameAccountData: true }
103
+ ];
104
+ }
105
+ else {
106
+ const { feeFrozen, free, miscFrozen, reserved } = data;
107
+ return [
108
+ nonce,
109
+ [[free, reserved, feeFrozen, miscFrozen]],
110
+ { isFrameAccountData: false }
111
+ ];
112
+ }
113
+ }));
114
+ }
115
+ /**
116
+ * @name account
117
+ * @description Retrieves the essential balance details for an account, such as free balance and account nonce.
118
+ * @param {( AccountIndex | AccountId | Address | string )} address An accountsId in different formats.
119
+ * @example
120
+ * ```javascript
121
+ * const ALICE = 'F7Hs';
122
+ *
123
+ * api.derive.balances.all(ALICE, ({ accountId, lockedBalance }) => {
124
+ * console.log(`The account ${accountId} has a locked balance ${lockedBalance} units.`);
125
+ * });
126
+ * ```
127
+ */
128
+ export function account(instanceId, api) {
129
+ const balanceInstances = api.registry.getModuleInstances(api.runtimeVersion.specName, 'balances');
130
+ const nonDefaultBalances = balanceInstances && balanceInstances[0] !== 'balances';
131
+ return memo(instanceId, (address) => api.derive.accounts.accountId(address).pipe(switchMap((accountId) => (accountId
132
+ ? combineLatest([
133
+ of(accountId),
134
+ nonDefaultBalances
135
+ ? queryBalancesAccount(api, accountId, balanceInstances)
136
+ : isFunction(api.query.system?.account)
137
+ ? querySystemAccount(api, accountId)
138
+ : isFunction(api.query.balances?.account)
139
+ ? queryBalancesAccount(api, accountId)
140
+ : isFunction(api.query.balances?.['freeBalance'])
141
+ ? queryBalancesFree(api, accountId)
142
+ : queryNonceOnly(api, accountId)
143
+ ])
144
+ : of([api.registry.createType('AccountId'), [
145
+ api.registry.createType('Index'),
146
+ [[zeroBalance(api), zeroBalance(api), zeroBalance(api), zeroBalance(api)]],
147
+ { isFrameAccountData: false }
148
+ ]]))), map((result) => calcBalances(api, result))));
149
+ }
@@ -0,0 +1,167 @@
1
+ import { combineLatest, map, of, switchMap } from 'rxjs';
2
+ import { BN, BN_ZERO, bnMax, bnMin, isFunction, objectSpread } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ const VESTING_ID = '0x76657374696e6720';
5
+ function calcLocked(api, bestNumber, locks) {
6
+ let lockedBalance = api.registry.createType('Balance');
7
+ let lockedBreakdown = [];
8
+ let vestingLocked = api.registry.createType('Balance');
9
+ let allLocked = false;
10
+ if (Array.isArray(locks)) {
11
+ // only get the locks that are valid until passed the current block
12
+ lockedBreakdown = locks.filter(({ until }) => !until || (bestNumber && until.gt(bestNumber)));
13
+ allLocked = lockedBreakdown.some(({ amount }) => amount && amount.isMax());
14
+ vestingLocked = api.registry.createType('Balance', lockedBreakdown.filter(({ id }) => id.eq(VESTING_ID)).reduce((result, { amount }) => result.iadd(amount), new BN(0)));
15
+ // get the maximum of the locks according to https://github.com/pezkuwichain/bizinikiwi/blob/master/srml/balances/src/lib.rs#L699
16
+ const notAll = lockedBreakdown.filter(({ amount }) => amount && !amount.isMax());
17
+ if (notAll.length) {
18
+ lockedBalance = api.registry.createType('Balance', bnMax(...notAll.map(({ amount }) => amount)));
19
+ }
20
+ }
21
+ return { allLocked, lockedBalance, lockedBreakdown, vestingLocked };
22
+ }
23
+ function calcShared(api, bestNumber, data, locks) {
24
+ const { allLocked, lockedBalance, lockedBreakdown, vestingLocked } = calcLocked(api, bestNumber, locks);
25
+ let transferable = null;
26
+ if (data?.frameSystemAccountInfo?.frozen) {
27
+ const { frameSystemAccountInfo, freeBalance, reservedBalance } = data;
28
+ const noFrozenReserved = frameSystemAccountInfo.frozen.isZero() && reservedBalance.isZero();
29
+ const ED = api.consts.balances.existentialDeposit;
30
+ const maybeED = noFrozenReserved ? new BN(0) : ED;
31
+ const frozenReserveDif = frameSystemAccountInfo.frozen.sub(reservedBalance);
32
+ transferable = api.registry.createType('Balance', allLocked
33
+ ? 0
34
+ : bnMax(new BN(0), freeBalance.sub(bnMax(maybeED, frozenReserveDif))));
35
+ }
36
+ return objectSpread({}, data, {
37
+ availableBalance: api.registry.createType('Balance', allLocked ? 0 : bnMax(new BN(0), data?.freeBalance ? data.freeBalance.sub(lockedBalance) : new BN(0))),
38
+ lockedBalance,
39
+ lockedBreakdown,
40
+ transferable,
41
+ vestingLocked
42
+ });
43
+ }
44
+ function calcVesting(bestNumber, shared, _vesting) {
45
+ // Calculate the vesting balances,
46
+ // - offset = balance locked at startingBlock
47
+ // - perBlock is the unlock amount
48
+ const vesting = _vesting || [];
49
+ const isVesting = !shared.vestingLocked.isZero();
50
+ const vestedBalances = vesting.map(({ locked, perBlock, startingBlock }) => bestNumber.gt(startingBlock)
51
+ ? bnMin(locked, perBlock.mul(bestNumber.sub(startingBlock)))
52
+ : BN_ZERO);
53
+ const vestedBalance = vestedBalances.reduce((all, value) => all.iadd(value), new BN(0));
54
+ const vestingTotal = vesting.reduce((all, { locked }) => all.iadd(locked), new BN(0));
55
+ return {
56
+ isVesting,
57
+ vestedBalance,
58
+ vestedClaimable: isVesting
59
+ ? shared.vestingLocked.sub(vestingTotal.sub(vestedBalance))
60
+ : BN_ZERO,
61
+ vesting: vesting
62
+ .map(({ locked, perBlock, startingBlock }, index) => ({
63
+ endBlock: locked.div(perBlock).iadd(startingBlock),
64
+ locked,
65
+ perBlock,
66
+ startingBlock,
67
+ vested: vestedBalances[index]
68
+ }))
69
+ .filter(({ locked }) => !locked.isZero()),
70
+ vestingTotal
71
+ };
72
+ }
73
+ function calcBalances(api, result) {
74
+ const [data, [vesting, allLocks, namedReserves], bestNumber] = result;
75
+ const shared = calcShared(api, bestNumber, data, allLocks[0]);
76
+ return objectSpread(shared, calcVesting(bestNumber, shared, vesting), {
77
+ accountId: data.accountId,
78
+ accountNonce: data.accountNonce,
79
+ additional: allLocks
80
+ .slice(1)
81
+ .map((l, index) => calcShared(api, bestNumber, data.additional[index], l)),
82
+ namedReserves
83
+ });
84
+ }
85
+ function queryOld(api, accountId) {
86
+ return combineLatest([
87
+ api.query.balances.locks(accountId),
88
+ api.query.balances['vesting'](accountId)
89
+ ]).pipe(map(([locks, optVesting]) => {
90
+ let vestingNew = null;
91
+ if (optVesting.isSome) {
92
+ const { offset: locked, perBlock, startingBlock } = optVesting.unwrap();
93
+ vestingNew = api.registry.createType('VestingInfo', { locked, perBlock, startingBlock });
94
+ }
95
+ return [
96
+ vestingNew
97
+ ? [vestingNew]
98
+ : null,
99
+ [locks],
100
+ []
101
+ ];
102
+ }));
103
+ }
104
+ const isNonNullable = (nullable) => !!nullable;
105
+ function createCalls(calls) {
106
+ return [
107
+ calls.map((c) => !c),
108
+ calls.filter(isNonNullable)
109
+ ];
110
+ }
111
+ function queryCurrent(api, accountId, balanceInstances = ['balances']) {
112
+ const [lockEmpty, lockQueries] = createCalls(balanceInstances.map((m) => api.derive[m]?.customLocks || api.query[m]?.locks));
113
+ const [reserveEmpty, reserveQueries] = createCalls(balanceInstances.map((m) => api.query[m]?.reserves));
114
+ return combineLatest([
115
+ api.query.vesting?.vesting
116
+ ? api.query.vesting.vesting(accountId)
117
+ : of(api.registry.createType('Option<VestingInfo>')),
118
+ lockQueries.length
119
+ ? combineLatest(lockQueries.map((c) => c(accountId)))
120
+ : of([]),
121
+ reserveQueries.length
122
+ ? combineLatest(reserveQueries.map((c) => c(accountId)))
123
+ : of([])
124
+ ]).pipe(map(([opt, locks, reserves]) => {
125
+ let offsetLock = -1;
126
+ let offsetReserve = -1;
127
+ const vesting = opt.unwrapOr(null);
128
+ return [
129
+ vesting
130
+ ? Array.isArray(vesting)
131
+ ? vesting
132
+ : [vesting]
133
+ : null,
134
+ lockEmpty.map((e) => e ? api.registry.createType('Vec<BalanceLock>') : locks[++offsetLock]),
135
+ reserveEmpty.map((e) => e ? api.registry.createType('Vec<PezpalletBalancesReserveData>') : reserves[++offsetReserve])
136
+ ];
137
+ }));
138
+ }
139
+ /**
140
+ * @name all
141
+ * @description Retrieves the complete balance information for an account, including free balance, locked balance, reserved balance, and more.
142
+ * @param {( AccountId | string )} address An accountsId in different formats.
143
+ * @example
144
+ * ```javascript
145
+ * const ALICE = 'F7Hs';
146
+ *
147
+ * api.derive.balances.account(ALICE, (accountInfo) => {
148
+ * console.log(
149
+ * `${accountInfo.accountId} info:`,
150
+ * Object.keys(accountInfo).map((key) => `${key}: ${accountInfo[key]}`)
151
+ * );
152
+ * });
153
+ * ```
154
+ */
155
+ export function all(instanceId, api) {
156
+ const balanceInstances = api.registry.getModuleInstances(api.runtimeVersion.specName, 'balances');
157
+ return memo(instanceId, (address) => combineLatest([
158
+ api.derive.balances.account(address),
159
+ isFunction(api.query.system?.account) || isFunction(api.query.balances?.account)
160
+ ? queryCurrent(api, address, balanceInstances)
161
+ : queryOld(api, address)
162
+ ]).pipe(switchMap(([account, locks]) => combineLatest([
163
+ of(account),
164
+ of(locks),
165
+ api.derive.chain.bestNumber()
166
+ ])), map((result) => calcBalances(api, result))));
167
+ }
@@ -1,11 +1,6 @@
1
- // Copyright 2017-2025 @polkadot/api-derive authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { all } from './all.js';
5
-
6
2
  export * from './account.js';
7
3
  export * from './votingBalances.js';
8
-
9
4
  /**
10
5
  * @name votingBalance
11
6
  * @param {( AccountId | string )} address An accounts Id in different formats.
@@ -22,5 +17,4 @@ export * from './votingBalances.js';
22
17
  * ```
23
18
  */
24
19
  const votingBalance = all;
25
-
26
20
  export { all, votingBalance };
@@ -1,5 +1,5 @@
1
1
  import type { AccountId, Balance, BalanceLockTo212, Index } from '@pezkuwi/types/interfaces';
2
- import type { PalletBalancesBalanceLock, PalletBalancesReserveData } from '@pezkuwi/types/lookup';
2
+ import type { PezpalletBalancesBalanceLock, PezpalletBalancesReserveData } from '@pezkuwi/types/lookup';
3
3
  import type { BN } from '@pezkuwi/util';
4
4
  export interface DeriveBalancesAccountData {
5
5
  frameSystemAccountInfo?: {
@@ -20,10 +20,10 @@ export interface DeriveBalancesAccount extends DeriveBalancesAccountData {
20
20
  export interface DeriveBalancesAllAccountData extends DeriveBalancesAccountData {
21
21
  /**
22
22
  * Calculated available balance. This uses the formula: max(0, free - locked)
23
- * This is only correct when the return type of `api.query.system.account` is `AccountInfo` which was replaced by `FrameSystemAccountInfo`.
23
+ * This is only correct when the return type of `api.query.system.account` is `AccountInfo` which was replaced by `PezframeSystemAccountInfo`.
24
24
  * See `transferable` for the correct balance calculation.
25
25
  *
26
- * ref: https://github.com/paritytech/substrate/pull/12951
26
+ * ref: https://github.com/pezkuwichain/bizinikiwi/pull/12951
27
27
  */
28
28
  availableBalance: Balance;
29
29
  /**
@@ -33,14 +33,14 @@ export interface DeriveBalancesAllAccountData extends DeriveBalancesAccountData
33
33
  /**
34
34
  * The breakdown of locked balances.
35
35
  */
36
- lockedBreakdown: (PalletBalancesBalanceLock | BalanceLockTo212)[];
36
+ lockedBreakdown: (PezpalletBalancesBalanceLock | BalanceLockTo212)[];
37
37
  /**
38
38
  * Calculated transferable balance. This uses the formula: free - max(maybeEd, frozen - reserve)
39
39
  * Where `maybeEd` means if there is no frozen and reserves it will be zero, else it will be the existential deposit.
40
- * This is only correct when the return type of `api.query.system.account` is `FrameSystemAccountInfo`.
40
+ * This is only correct when the return type of `api.query.system.account` is `PezframeSystemAccountInfo`.
41
41
  * Which is the most up to date calulcation for transferrable balances.
42
42
  *
43
- * ref: https://github.com/paritytech/polkadot-sdk/issues/1833
43
+ * ref: https://github.com/pezkuwichain/pezkuwi-sdk/issues/1833
44
44
  */
45
45
  transferable: Balance | null;
46
46
  /**
@@ -64,6 +64,6 @@ export interface DeriveBalancesAllVesting {
64
64
  }
65
65
  export interface DeriveBalancesAll extends DeriveBalancesAccount, DeriveBalancesAllAccountData, DeriveBalancesAllVesting {
66
66
  additional: DeriveBalancesAllAccountData[];
67
- namedReserves: PalletBalancesReserveData[][];
67
+ namedReserves: PezpalletBalancesReserveData[][];
68
68
  }
69
69
  export type DeriveBalancesMap = Record<string, DeriveBalancesAll>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { combineLatest, of } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ /**
4
+ * @name votingBalances
5
+ * @description Retrieves the balance information for multiple accounts, typically used in governance-related contexts to check voting power.
6
+ * @param {(AccountId | AccountIndex | Address | string)[]} addresses An array of account identifiers.
7
+ * @example
8
+ * ```javascript
9
+ * const addresses = ["5D4b...Zf1", "5HGj...yrV"];
10
+ * const balances = await api.derive.balances.votingBalances(addresses);
11
+ * console.log("Voting Balances:", balances);
12
+ * ```
13
+ */
14
+ export function votingBalances(instanceId, api) {
15
+ return memo(instanceId, (addresses) => !addresses?.length
16
+ ? of([])
17
+ : combineLatest(addresses.map((accountId) => api.derive.balances.account(accountId))));
18
+ }
@@ -0,0 +1,50 @@
1
+ import { combineLatest, map, of, switchMap } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ import { filterBountiesProposals } from './helpers/filterBountyProposals.js';
4
+ function parseResult([maybeBounties, maybeDescriptions, ids, bountyProposals]) {
5
+ const bounties = [];
6
+ maybeBounties.forEach((bounty, index) => {
7
+ if (bounty.isSome) {
8
+ bounties.push({
9
+ bounty: bounty.unwrap(),
10
+ description: maybeDescriptions[index].unwrapOrDefault().toUtf8(),
11
+ index: ids[index],
12
+ proposals: bountyProposals.filter((bountyProposal) => bountyProposal.proposal && ids[index].eq(bountyProposal.proposal.args[0]))
13
+ });
14
+ }
15
+ });
16
+ return bounties;
17
+ }
18
+ /**
19
+ * @name bounties
20
+ * @descrive Retrieves all active bounties, their descriptions, and associated proposals.
21
+ * @example
22
+ * ```javascript
23
+ * const bounties = await api.derive.bounties();
24
+ * console.log("Active bounties:", bounties);
25
+ * ```
26
+ */
27
+ export function bounties(instanceId, api) {
28
+ const bountyBase = api.query.bounties || api.query.treasury;
29
+ return memo(instanceId, () => bountyBase.bounties
30
+ ? combineLatest([
31
+ bountyBase.bountyCount(),
32
+ api.query.council
33
+ ? api.query.council.proposalCount()
34
+ : of(0)
35
+ ]).pipe(switchMap(() => combineLatest([
36
+ bountyBase.bounties.keys(),
37
+ api.derive.council
38
+ ? api.derive.council.proposals()
39
+ : of([])
40
+ ])), switchMap(([keys, proposals]) => {
41
+ const ids = keys.map(({ args: [id] }) => id);
42
+ return combineLatest([
43
+ bountyBase.bounties.multi(ids),
44
+ bountyBase.bountyDescriptions.multi(ids),
45
+ of(ids),
46
+ of(filterBountiesProposals(api, proposals))
47
+ ]);
48
+ }), map(parseResult))
49
+ : of(parseResult([[], [], [], []])));
50
+ }
@@ -0,0 +1,5 @@
1
+ export function filterBountiesProposals(api, allProposals) {
2
+ const bountyTxBase = api.tx.bounties ? api.tx.bounties : api.tx.treasury;
3
+ const bountyProposalCalls = [bountyTxBase.approveBounty, bountyTxBase.closeBounty, bountyTxBase.proposeCurator, bountyTxBase.unassignCurator];
4
+ return allProposals.filter((proposal) => bountyProposalCalls.find((bountyCall) => proposal.proposal && bountyCall.is(proposal.proposal)));
5
+ }
@@ -0,0 +1 @@
1
+ export * from './bounties.js';