@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,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dispatchQueue = dispatchQueue;
4
+ const rxjs_1 = require("rxjs");
5
+ const types_1 = require("@pezkuwi/types");
6
+ const util_1 = require("@pezkuwi/util");
7
+ const index_js_1 = require("../util/index.js");
8
+ const util_js_1 = require("./util.js");
9
+ const DEMOCRACY_ID = (0, util_1.stringToHex)('democrac');
10
+ function isMaybeHashedOrBounded(call) {
11
+ // check for enum
12
+ return call instanceof types_1.Enum;
13
+ }
14
+ function isBounded(call) {
15
+ // check for type
16
+ return call.isInline || call.isLegacy || call.isLookup;
17
+ }
18
+ function queryQueue(api) {
19
+ return api.query.democracy['dispatchQueue']().pipe((0, rxjs_1.switchMap)((dispatches) => (0, rxjs_1.combineLatest)([
20
+ (0, rxjs_1.of)(dispatches),
21
+ api.derive.democracy.preimages(dispatches.map(([, hash]) => hash))
22
+ ])), (0, rxjs_1.map)(([dispatches, images]) => dispatches.map(([at, imageHash, index], dispatchIndex) => ({
23
+ at,
24
+ image: images[dispatchIndex],
25
+ imageHash: (0, util_js_1.getImageHashBounded)(imageHash),
26
+ index
27
+ }))));
28
+ }
29
+ function schedulerEntries(api) {
30
+ // We don't get entries, but rather we get the keys (triggered via finished referendums) and
31
+ // the subscribe to those keys - this means we pickup when the schedulers actually executes
32
+ // at a block, the entry for that block will become empty
33
+ return api.derive.democracy.referendumsFinished().pipe((0, rxjs_1.switchMap)(() => api.query.scheduler.agenda.keys()), (0, rxjs_1.switchMap)((keys) => {
34
+ const blockNumbers = keys.map(({ args: [blockNumber] }) => blockNumber);
35
+ return blockNumbers.length
36
+ ? (0, rxjs_1.combineLatest)([
37
+ (0, rxjs_1.of)(blockNumbers),
38
+ // this should simply be api.query.scheduler.agenda.multi,
39
+ // however we have had cases on Darwinia where the indices have moved around after an
40
+ // upgrade, which results in invalid on-chain data
41
+ api.query.scheduler.agenda.multi(blockNumbers).pipe((0, rxjs_1.catchError)(() => (0, rxjs_1.of)(blockNumbers.map(() => []))))
42
+ ])
43
+ : (0, rxjs_1.of)([[], []]);
44
+ }));
45
+ }
46
+ function queryScheduler(api) {
47
+ return schedulerEntries(api).pipe((0, rxjs_1.switchMap)(([blockNumbers, agendas]) => {
48
+ const result = [];
49
+ blockNumbers.forEach((at, index) => {
50
+ (agendas[index] || []).filter((o) => o.isSome).forEach((o) => {
51
+ const scheduled = o.unwrap();
52
+ if (scheduled.maybeId.isSome) {
53
+ const id = scheduled.maybeId.unwrap().toHex();
54
+ if (id.startsWith(DEMOCRACY_ID)) {
55
+ const imageHash = isMaybeHashedOrBounded(scheduled.call)
56
+ ? isBounded(scheduled.call)
57
+ ? (0, util_js_1.getImageHashBounded)(scheduled.call)
58
+ : scheduled.call.isHash
59
+ ? scheduled.call.asHash.toHex()
60
+ : scheduled.call.asValue.args[0].toHex()
61
+ : scheduled.call.args[0].toHex();
62
+ result.push({ at, imageHash, index: api.registry.createType('(u64, ReferendumIndex)', id)[1] });
63
+ }
64
+ }
65
+ });
66
+ });
67
+ return (0, rxjs_1.combineLatest)([
68
+ (0, rxjs_1.of)(result),
69
+ result.length
70
+ ? api.derive.democracy.preimages(result.map(({ imageHash }) => imageHash))
71
+ : (0, rxjs_1.of)([])
72
+ ]);
73
+ }), (0, rxjs_1.map)(([infos, images]) => infos.map((info, index) => (0, util_1.objectSpread)({ image: images[index] }, info))));
74
+ }
75
+ /**
76
+ * @name dispatchQueue
77
+ * @description Retrieves the list of scheduled or pending dispatches in the governance system.
78
+ * @example
79
+ * ```javascript
80
+ * const queue = await api.derive.democracy.dispatchQueue();
81
+ * console.log("Dispatch Queue:", queue);
82
+ * ```
83
+ */
84
+ function dispatchQueue(instanceId, api) {
85
+ return (0, index_js_1.memo)(instanceId, () => (0, util_1.isFunction)(api.query.scheduler?.agenda)
86
+ ? queryScheduler(api)
87
+ : api.query.democracy['dispatchQueue']
88
+ ? queryQueue(api)
89
+ : (0, rxjs_1.of)([]));
90
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./dispatchQueue.js"), exports);
5
+ tslib_1.__exportStar(require("./locks.js"), exports);
6
+ tslib_1.__exportStar(require("./nextExternal.js"), exports);
7
+ tslib_1.__exportStar(require("./preimages.js"), exports);
8
+ tslib_1.__exportStar(require("./proposals.js"), exports);
9
+ tslib_1.__exportStar(require("./referendumIds.js"), exports);
10
+ tslib_1.__exportStar(require("./referendums.js"), exports);
11
+ tslib_1.__exportStar(require("./referendumsActive.js"), exports);
12
+ tslib_1.__exportStar(require("./referendumsFinished.js"), exports);
13
+ tslib_1.__exportStar(require("./referendumsInfo.js"), exports);
14
+ tslib_1.__exportStar(require("./sqrtElectorate.js"), exports);
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.locks = locks;
4
+ const rxjs_1 = require("rxjs");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const index_js_1 = require("../util/index.js");
7
+ const LOCKUPS = [0, 1, 2, 4, 8, 16, 32];
8
+ function parseEnd(api, vote, { approved, end }) {
9
+ return [
10
+ end,
11
+ (approved.isTrue && vote.isAye) || (approved.isFalse && vote.isNay)
12
+ ? end.add((api.consts.democracy.voteLockingPeriod ||
13
+ api.consts.democracy.enactmentPeriod).muln(LOCKUPS[vote.conviction.index]))
14
+ : util_1.BN_ZERO
15
+ ];
16
+ }
17
+ function parseLock(api, [referendumId, accountVote], referendum) {
18
+ const { balance, vote } = accountVote.asStandard;
19
+ const [referendumEnd, unlockAt] = referendum.isFinished
20
+ ? parseEnd(api, vote, referendum.asFinished)
21
+ : [util_1.BN_ZERO, util_1.BN_ZERO];
22
+ return { balance, isDelegated: false, isFinished: referendum.isFinished, referendumEnd, referendumId, unlockAt, vote };
23
+ }
24
+ function delegateLocks(api, { balance, conviction, target }) {
25
+ return api.derive.democracy.locks(target).pipe((0, rxjs_1.map)((available) => available.map(({ isFinished, referendumEnd, referendumId, unlockAt, vote }) => ({
26
+ balance,
27
+ isDelegated: true,
28
+ isFinished,
29
+ referendumEnd,
30
+ referendumId,
31
+ unlockAt: unlockAt.isZero()
32
+ ? unlockAt
33
+ : referendumEnd.add((api.consts.democracy.voteLockingPeriod ||
34
+ api.consts.democracy.enactmentPeriod).muln(LOCKUPS[conviction.index])),
35
+ vote: api.registry.createType('Vote', { aye: vote.isAye, conviction })
36
+ }))));
37
+ }
38
+ function directLocks(api, { votes }) {
39
+ if (!votes.length) {
40
+ return (0, rxjs_1.of)([]);
41
+ }
42
+ return api.query.democracy.referendumInfoOf.multi(votes.map(([referendumId]) => referendumId)).pipe((0, rxjs_1.map)((referendums) => votes
43
+ .map((vote, index) => [vote, referendums[index].unwrapOr(null)])
44
+ .filter((item) => !!item[1] && (0, util_1.isUndefined)(item[1].end) && item[0][1].isStandard)
45
+ .map(([directVote, referendum]) => parseLock(api, directVote, referendum))));
46
+ }
47
+ /**
48
+ * @name locks
49
+ * @description Retrieves the democracy voting locks for a given account.
50
+ * @param { string | AccountId } accountId The accountId for which to retrieve democracy voting locks.
51
+ * @example
52
+ * ```javascript
53
+ * const locks = await api.derive.democracy.locks('5FfFjX...'); // Replace with an actual accountId
54
+ * console.log("Democracy Locks:", locks);
55
+ * ```
56
+ */
57
+ function locks(instanceId, api) {
58
+ return (0, index_js_1.memo)(instanceId, (accountId) => api.query.democracy.votingOf
59
+ ? api.query.democracy.votingOf(accountId).pipe((0, rxjs_1.switchMap)((voting) => voting.isDirect
60
+ ? directLocks(api, voting.asDirect)
61
+ : voting.isDelegating
62
+ ? delegateLocks(api, voting.asDelegating)
63
+ : (0, rxjs_1.of)([])))
64
+ : (0, rxjs_1.of)([]));
65
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nextExternal = nextExternal;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ const util_js_1 = require("./util.js");
7
+ function withImage(api, nextOpt) {
8
+ if (nextOpt.isNone) {
9
+ return (0, rxjs_1.of)(null);
10
+ }
11
+ const [hash, threshold] = nextOpt.unwrap();
12
+ return api.derive.democracy.preimage(hash).pipe((0, rxjs_1.map)((image) => ({
13
+ image,
14
+ imageHash: (0, util_js_1.getImageHashBounded)(hash),
15
+ threshold
16
+ })));
17
+ }
18
+ /**
19
+ * @name nextExternal
20
+ * @description Retrieves the next external proposal that is scheduled for a referendum.
21
+ * @example
22
+ * ```javascript
23
+ * const nextExternal = await api.derive.democracy.nextExternal();
24
+ * console.log("Next external proposal:", nextExternal);
25
+ * ```
26
+ */
27
+ function nextExternal(instanceId, api) {
28
+ return (0, index_js_1.memo)(instanceId, () => api.query.democracy?.nextExternal
29
+ ? api.query.democracy.nextExternal().pipe((0, rxjs_1.switchMap)((nextOpt) => withImage(api, nextOpt)))
30
+ : (0, rxjs_1.of)(null));
31
+ }
@@ -1,24 +1,24 @@
1
1
  import type { Observable } from 'rxjs';
2
2
  import type { Hash } from '@pezkuwi/types/interfaces';
3
- import type { FrameSupportPreimagesBounded } from '@pezkuwi/types/lookup';
3
+ import type { PezframeSupportPreimagesBounded } from '@pezkuwi/types/lookup';
4
4
  import type { DeriveApi, DeriveProposalImage } from '../types.js';
5
5
  /**
6
6
  * @name preimages
7
7
  * @description Retrieves the full details (preimages) of governance proposals using their on-chain hashes.
8
- * @param { (Hash | Uint8Array | string | FrameSupportPreimagesBounded)[] } hashes An array of hashes representing governance proposals.
8
+ * @param { (Hash | Uint8Array | string | PezframeSupportPreimagesBounded)[] } hashes An array of hashes representing governance proposals.
9
9
  * @example
10
10
  * ```javascript
11
11
  * const preimages = await api.derive.democracy.preimages([HASH1, HASH2]);
12
12
  * ```
13
13
  */
14
- export declare function preimages(instanceId: string, api: DeriveApi): (hashes: (Hash | Uint8Array | string | FrameSupportPreimagesBounded)[]) => Observable<(DeriveProposalImage | undefined)[]>;
14
+ export declare function preimages(instanceId: string, api: DeriveApi): (hashes: (Hash | Uint8Array | string | PezframeSupportPreimagesBounded)[]) => Observable<(DeriveProposalImage | undefined)[]>;
15
15
  /**
16
16
  * @name preimage
17
17
  * @description Retrieves the full details (preimage) of a governance proposal using its on-chain hash.
18
- * @param { Hash | Uint8Array | string | FrameSupportPreimagesBounded } hash Hash that represents governance proposals.
18
+ * @param { Hash | Uint8Array | string | PezframeSupportPreimagesBounded } hash Hash that represents governance proposals.
19
19
  * * @example
20
20
  * ```javascript
21
21
  * const preimage = await api.derive.democracy.preimage(HASH);
22
22
  * ```
23
23
  */
24
- export declare const preimage: (instanceId: string, api: DeriveApi) => (hash: any) => Observable<DeriveProposalImage>;
24
+ export declare const preimage: (instanceId: string, api: DeriveApi) => (hash: string | Uint8Array | Hash | PezframeSupportPreimagesBounded) => Observable<DeriveProposalImage | undefined>;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.preimage = void 0;
4
+ exports.preimages = preimages;
5
+ const rxjs_1 = require("rxjs");
6
+ const util_1 = require("@pezkuwi/util");
7
+ const index_js_1 = require("../util/index.js");
8
+ const util_js_1 = require("./util.js");
9
+ function getUnrequestedTicket(status) {
10
+ return status.ticket || status.deposit;
11
+ }
12
+ function getRequestedTicket(status) {
13
+ return (status.maybeTicket || status.deposit).unwrapOrDefault();
14
+ }
15
+ function isDemocracyPreimage(api, imageOpt) {
16
+ return !!imageOpt && !api.query.democracy['dispatchQueue'];
17
+ }
18
+ function constructProposal(api, [bytes, proposer, balance, at]) {
19
+ let proposal;
20
+ try {
21
+ proposal = api.registry.createType('Call', bytes.toU8a(true));
22
+ }
23
+ catch (error) {
24
+ console.error(error);
25
+ }
26
+ return { at, balance, proposal, proposer };
27
+ }
28
+ function parseDemocracy(api, imageOpt) {
29
+ if (imageOpt.isNone) {
30
+ return;
31
+ }
32
+ if (isDemocracyPreimage(api, imageOpt)) {
33
+ const status = imageOpt.unwrap();
34
+ if (status.isMissing) {
35
+ return;
36
+ }
37
+ const { data, deposit, provider, since } = status.asAvailable;
38
+ return constructProposal(api, [data, provider, deposit, since]);
39
+ }
40
+ return constructProposal(api, imageOpt.unwrap());
41
+ }
42
+ function parseImage(api, [proposalHash, status, bytes]) {
43
+ if (!status) {
44
+ return undefined;
45
+ }
46
+ const [proposer, balance] = status.isUnrequested
47
+ ? getUnrequestedTicket(status.asUnrequested)
48
+ : getRequestedTicket(status.asRequested);
49
+ let proposal;
50
+ if (bytes) {
51
+ try {
52
+ proposal = api.registry.createType('Call', bytes.toU8a(true));
53
+ }
54
+ catch (error) {
55
+ console.error(error);
56
+ }
57
+ }
58
+ return { at: util_1.BN_ZERO, balance, proposal, proposalHash, proposer };
59
+ }
60
+ function getDemocracyImages(api, bounded) {
61
+ const hashes = bounded.map((b) => (0, util_js_1.getImageHashBounded)(b));
62
+ return api.query.democracy['preimages'].multi(hashes).pipe((0, rxjs_1.map)((images) => images.map((imageOpt) => parseDemocracy(api, imageOpt))));
63
+ }
64
+ function getImages(api, bounded) {
65
+ const hashes = bounded.map((b) => (0, util_js_1.getImageHashBounded)(b));
66
+ const bytesType = api.registry.lookup.getTypeDef(api.query.preimage.preimageFor.creator.meta.type.asMap.key).type;
67
+ return api.query.preimage.statusFor.multi(hashes).pipe((0, rxjs_1.switchMap)((optStatus) => {
68
+ const statuses = optStatus.map((o) => o.unwrapOr(null));
69
+ const keys = statuses
70
+ .map((s, i) => s
71
+ ? bytesType === 'H256'
72
+ // first generation
73
+ ? hashes[i]
74
+ // current generation (H256,u32)
75
+ : s.isRequested
76
+ ? [hashes[i], s.asRequested.len.unwrapOr(0)]
77
+ : [hashes[i], s.asUnrequested.len]
78
+ : null)
79
+ .filter((p) => !!p);
80
+ return api.query.preimage.preimageFor.multi(keys).pipe((0, rxjs_1.map)((optBytes) => {
81
+ let ptr = -1;
82
+ return statuses
83
+ .map((s, i) => s
84
+ ? [hashes[i], s, optBytes[++ptr].unwrapOr(null)]
85
+ : [hashes[i], null, null])
86
+ .map((v) => parseImage(api, v));
87
+ }));
88
+ }));
89
+ }
90
+ /**
91
+ * @name preimages
92
+ * @description Retrieves the full details (preimages) of governance proposals using their on-chain hashes.
93
+ * @param { (Hash | Uint8Array | string | PezframeSupportPreimagesBounded)[] } hashes An array of hashes representing governance proposals.
94
+ * @example
95
+ * ```javascript
96
+ * const preimages = await api.derive.democracy.preimages([HASH1, HASH2]);
97
+ * ```
98
+ */
99
+ function preimages(instanceId, api) {
100
+ return (0, index_js_1.memo)(instanceId, (hashes) => hashes.length
101
+ ? (0, util_1.isFunction)(api.query.democracy['preimages'])
102
+ ? getDemocracyImages(api, hashes)
103
+ : (0, util_1.isFunction)(api.query.preimage.preimageFor)
104
+ ? getImages(api, hashes)
105
+ : (0, rxjs_1.of)([])
106
+ : (0, rxjs_1.of)([]));
107
+ }
108
+ /**
109
+ * @name preimage
110
+ * @description Retrieves the full details (preimage) of a governance proposal using its on-chain hash.
111
+ * @param { Hash | Uint8Array | string | PezframeSupportPreimagesBounded } hash Hash that represents governance proposals.
112
+ * * @example
113
+ * ```javascript
114
+ * const preimage = await api.derive.democracy.preimage(HASH);
115
+ * ```
116
+ */
117
+ exports.preimage = (0, index_js_1.firstMemo)((api, hash) => api.derive.democracy.preimages([hash]));
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.proposals = proposals;
4
+ const rxjs_1 = require("rxjs");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const index_js_1 = require("../util/index.js");
7
+ const util_js_1 = require("./util.js");
8
+ function isNewDepositors(depositors) {
9
+ // Detect balance...
10
+ return (0, util_1.isFunction)(depositors[1].mul);
11
+ }
12
+ function parse([proposals, images, optDepositors]) {
13
+ return proposals
14
+ .filter(([, , proposer], index) => !!(optDepositors[index]?.isSome) && !proposer.isEmpty)
15
+ .map(([index, hash, proposer], proposalIndex) => {
16
+ const depositors = optDepositors[proposalIndex].unwrap();
17
+ return (0, util_1.objectSpread)({
18
+ image: images[proposalIndex],
19
+ imageHash: (0, util_js_1.getImageHashBounded)(hash),
20
+ index,
21
+ proposer
22
+ }, isNewDepositors(depositors)
23
+ ? { balance: depositors[1], seconds: depositors[0] }
24
+ : { balance: depositors[0], seconds: depositors[1] });
25
+ });
26
+ }
27
+ /**
28
+ * @name proposals
29
+ * @description Retrieves the list of active public proposals in the democracy module, along with their associated preimage data and deposit information.
30
+ * @example
31
+ * ```javascript
32
+ * const proposals = await api.derive.democracy.proposals();
33
+ * console.log("proposals:", proposals);
34
+ * ```
35
+ */
36
+ function proposals(instanceId, api) {
37
+ return (0, index_js_1.memo)(instanceId, () => (0, util_1.isFunction)(api.query.democracy?.publicProps)
38
+ ? api.query.democracy.publicProps().pipe((0, rxjs_1.switchMap)((proposals) => proposals.length
39
+ ? (0, rxjs_1.combineLatest)([
40
+ (0, rxjs_1.of)(proposals),
41
+ api.derive.democracy.preimages(proposals.map(([, hash]) => hash)),
42
+ api.query.democracy.depositOf.multi(proposals.map(([index]) => index))
43
+ ])
44
+ : (0, rxjs_1.of)([[], [], []])), (0, rxjs_1.map)(parse))
45
+ : (0, rxjs_1.of)([]));
46
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.referendumIds = referendumIds;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ /**
7
+ * @name referendumIds
8
+ * @description Retrieves an array of active referendum IDs.
9
+ * @example
10
+ * ```javascript
11
+ * const referendums = await api.derive.democracy.referendumIds();
12
+ * ```
13
+ */
14
+ function referendumIds(instanceId, api) {
15
+ return (0, index_js_1.memo)(instanceId, () => api.query.democracy?.lowestUnbaked
16
+ ? api.queryMulti([
17
+ api.query.democracy.lowestUnbaked,
18
+ api.query.democracy.referendumCount
19
+ ]).pipe((0, rxjs_1.map)(([first, total]) => total.gt(first)
20
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
21
+ ? [...Array(total.sub(first).toNumber())].map((_, i) => first.addn(i))
22
+ : []))
23
+ : (0, rxjs_1.of)([]));
24
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.referendums = referendums;
4
+ const rxjs_1 = require("rxjs");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const index_js_1 = require("../util/index.js");
7
+ /**
8
+ * @name referendums
9
+ * @description Retrieves information about all active referendums, including their details and associated votes.
10
+ * @example
11
+ * ```javascript
12
+ * const referendums = await api.derive.democracy.referendums();
13
+ * ```
14
+ */
15
+ function referendums(instanceId, api) {
16
+ return (0, index_js_1.memo)(instanceId, () => api.derive.democracy.referendumsActive().pipe((0, rxjs_1.switchMap)((referendums) => referendums.length
17
+ ? (0, rxjs_1.combineLatest)([
18
+ (0, rxjs_1.of)(referendums),
19
+ api.derive.democracy._referendumsVotes(referendums)
20
+ ])
21
+ : (0, rxjs_1.of)([[], []])), (0, rxjs_1.map)(([referendums, votes]) => referendums.map((referendum, index) => (0, util_1.objectSpread)({}, referendum, votes[index])))));
22
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.referendumsActive = referendumsActive;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ /**
7
+ * @name referendumsActive
8
+ * @description Retrieves information about active referendums.
9
+ * @example
10
+ * ```javascript
11
+ * const referendums = await api.derive.democracy.referendumsActive();
12
+ * console.log("Active Referendums:", referendums);
13
+ * ```
14
+ */
15
+ function referendumsActive(instanceId, api) {
16
+ return (0, index_js_1.memo)(instanceId, () => api.derive.democracy.referendumIds().pipe((0, rxjs_1.switchMap)((ids) => ids.length
17
+ ? api.derive.democracy.referendumsInfo(ids)
18
+ : (0, rxjs_1.of)([]))));
19
+ }
@@ -1,7 +1,7 @@
1
1
  import type { Observable } from 'rxjs';
2
- import type { PalletDemocracyReferendumInfo } from '@pezkuwi/types/lookup';
2
+ import type { PezpalletDemocracyReferendumInfo } from '@pezkuwi/types/lookup';
3
3
  import type { DeriveApi } from '../types.js';
4
- type ReferendumInfoFinished = PalletDemocracyReferendumInfo['asFinished'];
4
+ type ReferendumInfoFinished = PezpalletDemocracyReferendumInfo['asFinished'];
5
5
  /**
6
6
  * @name referendumsFinished
7
7
  * @description Retrieves information about finished referendums.
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.referendumsFinished = referendumsFinished;
4
+ const rxjs_1 = require("rxjs");
5
+ const index_js_1 = require("../util/index.js");
6
+ /**
7
+ * @name referendumsFinished
8
+ * @description Retrieves information about finished referendums.
9
+ * @example
10
+ * ```javascript
11
+ * const referendums = await api.derive.democracy.referendumsFinished();
12
+ * console.log("Finished Referendums:", referendums);
13
+ * ```
14
+ */
15
+ function referendumsFinished(instanceId, api) {
16
+ return (0, index_js_1.memo)(instanceId, () => api.derive.democracy.referendumIds().pipe((0, rxjs_1.switchMap)((ids) => api.query.democracy.referendumInfoOf.multi(ids)), (0, rxjs_1.map)((infos) => infos
17
+ .map((o) => o.unwrapOr(null))
18
+ .filter((info) => !!info && info.isFinished)
19
+ .map((info) => info.asFinished))));
20
+ }
@@ -1,12 +1,12 @@
1
1
  import type { Observable } from 'rxjs';
2
2
  import type { Option } from '@pezkuwi/types';
3
3
  import type { ReferendumInfoTo239 } from '@pezkuwi/types/interfaces';
4
- import type { PalletDemocracyReferendumInfo } from '@pezkuwi/types/lookup';
4
+ import type { PezpalletDemocracyReferendumInfo } from '@pezkuwi/types/lookup';
5
5
  import type { BN } from '@pezkuwi/util';
6
6
  import type { DeriveApi, DeriveReferendum, DeriveReferendumVotes } from '../types.js';
7
7
  export declare function _referendumVotes(instanceId: string, api: DeriveApi): (referendum: DeriveReferendum) => Observable<DeriveReferendumVotes>;
8
8
  export declare function _referendumsVotes(instanceId: string, api: DeriveApi): (referendums: DeriveReferendum[]) => Observable<DeriveReferendumVotes[]>;
9
- export declare function _referendumInfo(instanceId: string, api: DeriveApi): (index: BN, info: Option<PalletDemocracyReferendumInfo | ReferendumInfoTo239>) => Observable<DeriveReferendum | null>;
9
+ export declare function _referendumInfo(instanceId: string, api: DeriveApi): (index: BN, info: Option<PezpalletDemocracyReferendumInfo | ReferendumInfoTo239>) => Observable<DeriveReferendum | null>;
10
10
  /**
11
11
  * @name referendumsInfo
12
12
  * @description Retrieves information about multiple referendums by their IDs.
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._referendumVotes = _referendumVotes;
4
+ exports._referendumsVotes = _referendumsVotes;
5
+ exports._referendumInfo = _referendumInfo;
6
+ exports.referendumsInfo = referendumsInfo;
7
+ const rxjs_1 = require("rxjs");
8
+ const util_1 = require("@pezkuwi/util");
9
+ const index_js_1 = require("../util/index.js");
10
+ const util_js_1 = require("./util.js");
11
+ function votesPrev(api, referendumId) {
12
+ return api.query.democracy['votersFor'](referendumId).pipe((0, rxjs_1.switchMap)((votersFor) => (0, rxjs_1.combineLatest)([
13
+ (0, rxjs_1.of)(votersFor),
14
+ votersFor.length
15
+ ? api.query.democracy['voteOf'].multi(votersFor.map((accountId) => [referendumId, accountId]))
16
+ : (0, rxjs_1.of)([]),
17
+ api.derive.balances.votingBalances(votersFor)
18
+ ])), (0, rxjs_1.map)(([votersFor, votes, balances]) => votersFor.map((accountId, index) => ({
19
+ accountId,
20
+ balance: balances[index].votingBalance || api.registry.createType('Balance'),
21
+ isDelegating: false,
22
+ vote: votes[index] || api.registry.createType('Vote')
23
+ }))));
24
+ }
25
+ function extractVotes(mapped, referendumId) {
26
+ return mapped
27
+ .filter(([, voting]) => voting.isDirect)
28
+ .map(([accountId, voting]) => [
29
+ accountId,
30
+ voting.asDirect.votes.filter(([idx]) => idx.eq(referendumId))
31
+ ])
32
+ .filter(([, directVotes]) => !!directVotes.length)
33
+ .reduce((result, [accountId, votes]) =>
34
+ // FIXME We are ignoring split votes
35
+ votes.reduce((result, [, vote]) => {
36
+ if (vote.isStandard) {
37
+ result.push((0, util_1.objectSpread)({
38
+ accountId,
39
+ isDelegating: false
40
+ }, vote.asStandard));
41
+ }
42
+ return result;
43
+ }, result), []);
44
+ }
45
+ function votesCurr(api, referendumId) {
46
+ return api.query.democracy.votingOf.entries().pipe((0, rxjs_1.map)((allVoting) => {
47
+ const mapped = allVoting.map(([{ args: [accountId] }, voting]) => [accountId, voting]);
48
+ const votes = extractVotes(mapped, referendumId);
49
+ const delegations = mapped
50
+ .filter(([, voting]) => voting.isDelegating)
51
+ .map(([accountId, voting]) => [accountId, voting.asDelegating]);
52
+ // add delegations
53
+ delegations.forEach(([accountId, { balance, conviction, target }]) => {
54
+ // Are we delegating to a delegator
55
+ const toDelegator = delegations.find(([accountId]) => accountId.eq(target));
56
+ const to = votes.find(({ accountId }) => accountId.eq(toDelegator ? toDelegator[0] : target));
57
+ // this delegation has a target
58
+ if (to) {
59
+ votes.push({
60
+ accountId,
61
+ balance,
62
+ isDelegating: true,
63
+ vote: api.registry.createType('Vote', { aye: to.vote.isAye, conviction })
64
+ });
65
+ }
66
+ });
67
+ return votes;
68
+ }));
69
+ }
70
+ function _referendumVotes(instanceId, api) {
71
+ return (0, index_js_1.memo)(instanceId, (referendum) => (0, rxjs_1.combineLatest)([
72
+ api.derive.democracy.sqrtElectorate(),
73
+ (0, util_1.isFunction)(api.query.democracy.votingOf)
74
+ ? votesCurr(api, referendum.index)
75
+ : votesPrev(api, referendum.index)
76
+ ]).pipe((0, rxjs_1.map)(([sqrtElectorate, votes]) => (0, util_js_1.calcVotes)(sqrtElectorate, referendum, votes))));
77
+ }
78
+ function _referendumsVotes(instanceId, api) {
79
+ return (0, index_js_1.memo)(instanceId, (referendums) => referendums.length
80
+ ? (0, rxjs_1.combineLatest)(referendums.map((referendum) => api.derive.democracy._referendumVotes(referendum)))
81
+ : (0, rxjs_1.of)([]));
82
+ }
83
+ function _referendumInfo(instanceId, api) {
84
+ return (0, index_js_1.memo)(instanceId, (index, info) => {
85
+ const status = (0, util_js_1.getStatus)(info);
86
+ return status
87
+ ? api.derive.democracy.preimage(status.proposal ||
88
+ status.proposalHash).pipe((0, rxjs_1.map)((image) => ({
89
+ image,
90
+ imageHash: (0, util_js_1.getImageHash)(status),
91
+ index: api.registry.createType('ReferendumIndex', index),
92
+ status
93
+ })))
94
+ : (0, rxjs_1.of)(null);
95
+ });
96
+ }
97
+ /**
98
+ * @name referendumsInfo
99
+ * @description Retrieves information about multiple referendums by their IDs.
100
+ * @param {BN[]} ids An array of referendum IDs to query.
101
+ * @example
102
+ * ```javascript
103
+ * import { BN } from "@pezkuwi/util";
104
+ *
105
+ * const referendumIds = [new BN(1)];
106
+ * const referendums = await api.derive.democracy.referendumsInfo(referendumIds);
107
+ * console.log("Referendums Info:", referendums);
108
+ * ```
109
+ */
110
+ function referendumsInfo(instanceId, api) {
111
+ return (0, index_js_1.memo)(instanceId, (ids) => ids.length
112
+ ? api.query.democracy.referendumInfoOf.multi(ids).pipe((0, rxjs_1.switchMap)((infos) => (0, rxjs_1.combineLatest)(ids.map((id, index) => api.derive.democracy._referendumInfo(id, infos[index])))), (0, rxjs_1.map)((infos) => infos.filter((r) => !!r)))
113
+ : (0, rxjs_1.of)([]));
114
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sqrtElectorate = sqrtElectorate;
4
+ const rxjs_1 = require("rxjs");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const index_js_1 = require("../util/index.js");
7
+ /**
8
+ * @name sqrtElectorate
9
+ * @description Computes the square root of the total token issuance in the network.
10
+ * @example
11
+ * ```javascript
12
+ * let sqrtElectorate = await api.derive.democracy.sqrtElectorate();
13
+ * console.log("Square root of token issuance:", sqrtElectorate);
14
+ * ```
15
+ */
16
+ function sqrtElectorate(instanceId, api) {
17
+ return (0, index_js_1.memo)(instanceId, () => api.query.balances.totalIssuance().pipe((0, rxjs_1.map)(util_1.bnSqrt)));
18
+ }