@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,113 @@
1
+ import { map, of, switchMap } from 'rxjs';
2
+ import { BN_ZERO, isFunction } from '@pezkuwi/util';
3
+ import { firstMemo, memo } from '../util/index.js';
4
+ import { getImageHashBounded } from './util.js';
5
+ function getUnrequestedTicket(status) {
6
+ return status.ticket || status.deposit;
7
+ }
8
+ function getRequestedTicket(status) {
9
+ return (status.maybeTicket || status.deposit).unwrapOrDefault();
10
+ }
11
+ function isDemocracyPreimage(api, imageOpt) {
12
+ return !!imageOpt && !api.query.democracy['dispatchQueue'];
13
+ }
14
+ function constructProposal(api, [bytes, proposer, balance, at]) {
15
+ let proposal;
16
+ try {
17
+ proposal = api.registry.createType('Call', bytes.toU8a(true));
18
+ }
19
+ catch (error) {
20
+ console.error(error);
21
+ }
22
+ return { at, balance, proposal, proposer };
23
+ }
24
+ function parseDemocracy(api, imageOpt) {
25
+ if (imageOpt.isNone) {
26
+ return;
27
+ }
28
+ if (isDemocracyPreimage(api, imageOpt)) {
29
+ const status = imageOpt.unwrap();
30
+ if (status.isMissing) {
31
+ return;
32
+ }
33
+ const { data, deposit, provider, since } = status.asAvailable;
34
+ return constructProposal(api, [data, provider, deposit, since]);
35
+ }
36
+ return constructProposal(api, imageOpt.unwrap());
37
+ }
38
+ function parseImage(api, [proposalHash, status, bytes]) {
39
+ if (!status) {
40
+ return undefined;
41
+ }
42
+ const [proposer, balance] = status.isUnrequested
43
+ ? getUnrequestedTicket(status.asUnrequested)
44
+ : getRequestedTicket(status.asRequested);
45
+ let proposal;
46
+ if (bytes) {
47
+ try {
48
+ proposal = api.registry.createType('Call', bytes.toU8a(true));
49
+ }
50
+ catch (error) {
51
+ console.error(error);
52
+ }
53
+ }
54
+ return { at: BN_ZERO, balance, proposal, proposalHash, proposer };
55
+ }
56
+ function getDemocracyImages(api, bounded) {
57
+ const hashes = bounded.map((b) => getImageHashBounded(b));
58
+ return api.query.democracy['preimages'].multi(hashes).pipe(map((images) => images.map((imageOpt) => parseDemocracy(api, imageOpt))));
59
+ }
60
+ function getImages(api, bounded) {
61
+ const hashes = bounded.map((b) => getImageHashBounded(b));
62
+ const bytesType = api.registry.lookup.getTypeDef(api.query.preimage.preimageFor.creator.meta.type.asMap.key).type;
63
+ return api.query.preimage.statusFor.multi(hashes).pipe(switchMap((optStatus) => {
64
+ const statuses = optStatus.map((o) => o.unwrapOr(null));
65
+ const keys = statuses
66
+ .map((s, i) => s
67
+ ? bytesType === 'H256'
68
+ // first generation
69
+ ? hashes[i]
70
+ // current generation (H256,u32)
71
+ : s.isRequested
72
+ ? [hashes[i], s.asRequested.len.unwrapOr(0)]
73
+ : [hashes[i], s.asUnrequested.len]
74
+ : null)
75
+ .filter((p) => !!p);
76
+ return api.query.preimage.preimageFor.multi(keys).pipe(map((optBytes) => {
77
+ let ptr = -1;
78
+ return statuses
79
+ .map((s, i) => s
80
+ ? [hashes[i], s, optBytes[++ptr].unwrapOr(null)]
81
+ : [hashes[i], null, null])
82
+ .map((v) => parseImage(api, v));
83
+ }));
84
+ }));
85
+ }
86
+ /**
87
+ * @name preimages
88
+ * @description Retrieves the full details (preimages) of governance proposals using their on-chain hashes.
89
+ * @param { (Hash | Uint8Array | string | PezframeSupportPreimagesBounded)[] } hashes An array of hashes representing governance proposals.
90
+ * @example
91
+ * ```javascript
92
+ * const preimages = await api.derive.democracy.preimages([HASH1, HASH2]);
93
+ * ```
94
+ */
95
+ export function preimages(instanceId, api) {
96
+ return memo(instanceId, (hashes) => hashes.length
97
+ ? isFunction(api.query.democracy['preimages'])
98
+ ? getDemocracyImages(api, hashes)
99
+ : isFunction(api.query.preimage.preimageFor)
100
+ ? getImages(api, hashes)
101
+ : of([])
102
+ : of([]));
103
+ }
104
+ /**
105
+ * @name preimage
106
+ * @description Retrieves the full details (preimage) of a governance proposal using its on-chain hash.
107
+ * @param { Hash | Uint8Array | string | PezframeSupportPreimagesBounded } hash Hash that represents governance proposals.
108
+ * * @example
109
+ * ```javascript
110
+ * const preimage = await api.derive.democracy.preimage(HASH);
111
+ * ```
112
+ */
113
+ export const preimage = /*#__PURE__*/ firstMemo((api, hash) => api.derive.democracy.preimages([hash]));
@@ -0,0 +1,12 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { DeriveApi, DeriveProposal } from '../types.js';
3
+ /**
4
+ * @name proposals
5
+ * @description Retrieves the list of active public proposals in the democracy module, along with their associated preimage data and deposit information.
6
+ * @example
7
+ * ```javascript
8
+ * const proposals = await api.derive.democracy.proposals();
9
+ * console.log("proposals:", proposals);
10
+ * ```
11
+ */
12
+ export declare function proposals(instanceId: string, api: DeriveApi): () => Observable<DeriveProposal[]>;
@@ -0,0 +1,43 @@
1
+ import { combineLatest, map, of, switchMap } from 'rxjs';
2
+ import { isFunction, objectSpread } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ import { getImageHashBounded } from './util.js';
5
+ function isNewDepositors(depositors) {
6
+ // Detect balance...
7
+ return isFunction(depositors[1].mul);
8
+ }
9
+ function parse([proposals, images, optDepositors]) {
10
+ return proposals
11
+ .filter(([, , proposer], index) => !!(optDepositors[index]?.isSome) && !proposer.isEmpty)
12
+ .map(([index, hash, proposer], proposalIndex) => {
13
+ const depositors = optDepositors[proposalIndex].unwrap();
14
+ return objectSpread({
15
+ image: images[proposalIndex],
16
+ imageHash: getImageHashBounded(hash),
17
+ index,
18
+ proposer
19
+ }, isNewDepositors(depositors)
20
+ ? { balance: depositors[1], seconds: depositors[0] }
21
+ : { balance: depositors[0], seconds: depositors[1] });
22
+ });
23
+ }
24
+ /**
25
+ * @name proposals
26
+ * @description Retrieves the list of active public proposals in the democracy module, along with their associated preimage data and deposit information.
27
+ * @example
28
+ * ```javascript
29
+ * const proposals = await api.derive.democracy.proposals();
30
+ * console.log("proposals:", proposals);
31
+ * ```
32
+ */
33
+ export function proposals(instanceId, api) {
34
+ return memo(instanceId, () => isFunction(api.query.democracy?.publicProps)
35
+ ? api.query.democracy.publicProps().pipe(switchMap((proposals) => proposals.length
36
+ ? combineLatest([
37
+ of(proposals),
38
+ api.derive.democracy.preimages(proposals.map(([, hash]) => hash)),
39
+ api.query.democracy.depositOf.multi(proposals.map(([index]) => index))
40
+ ])
41
+ : of([[], [], []])), map(parse))
42
+ : of([]));
43
+ }
@@ -0,0 +1,12 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { BN } from '@pezkuwi/util';
3
+ import type { DeriveApi } from '../types.js';
4
+ /**
5
+ * @name referendumIds
6
+ * @description Retrieves an array of active referendum IDs.
7
+ * @example
8
+ * ```javascript
9
+ * const referendums = await api.derive.democracy.referendumIds();
10
+ * ```
11
+ */
12
+ export declare function referendumIds(instanceId: string, api: DeriveApi): () => Observable<BN[]>;
@@ -0,0 +1,21 @@
1
+ import { map, of } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ /**
4
+ * @name referendumIds
5
+ * @description Retrieves an array of active referendum IDs.
6
+ * @example
7
+ * ```javascript
8
+ * const referendums = await api.derive.democracy.referendumIds();
9
+ * ```
10
+ */
11
+ export function referendumIds(instanceId, api) {
12
+ return memo(instanceId, () => api.query.democracy?.lowestUnbaked
13
+ ? api.queryMulti([
14
+ api.query.democracy.lowestUnbaked,
15
+ api.query.democracy.referendumCount
16
+ ]).pipe(map(([first, total]) => total.gt(first)
17
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
18
+ ? [...Array(total.sub(first).toNumber())].map((_, i) => first.addn(i))
19
+ : []))
20
+ : of([]));
21
+ }
@@ -0,0 +1,11 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { DeriveApi, DeriveReferendumExt } from '../types.js';
3
+ /**
4
+ * @name referendums
5
+ * @description Retrieves information about all active referendums, including their details and associated votes.
6
+ * @example
7
+ * ```javascript
8
+ * const referendums = await api.derive.democracy.referendums();
9
+ * ```
10
+ */
11
+ export declare function referendums(instanceId: string, api: DeriveApi): () => Observable<DeriveReferendumExt[]>;
@@ -0,0 +1,19 @@
1
+ import { combineLatest, map, of, switchMap } from 'rxjs';
2
+ import { objectSpread } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ /**
5
+ * @name referendums
6
+ * @description Retrieves information about all active referendums, including their details and associated votes.
7
+ * @example
8
+ * ```javascript
9
+ * const referendums = await api.derive.democracy.referendums();
10
+ * ```
11
+ */
12
+ export function referendums(instanceId, api) {
13
+ return memo(instanceId, () => api.derive.democracy.referendumsActive().pipe(switchMap((referendums) => referendums.length
14
+ ? combineLatest([
15
+ of(referendums),
16
+ api.derive.democracy._referendumsVotes(referendums)
17
+ ])
18
+ : of([[], []])), map(([referendums, votes]) => referendums.map((referendum, index) => objectSpread({}, referendum, votes[index])))));
19
+ }
@@ -0,0 +1,12 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { DeriveApi, DeriveReferendum } from '../types.js';
3
+ /**
4
+ * @name referendumsActive
5
+ * @description Retrieves information about active referendums.
6
+ * @example
7
+ * ```javascript
8
+ * const referendums = await api.derive.democracy.referendumsActive();
9
+ * console.log("Active Referendums:", referendums);
10
+ * ```
11
+ */
12
+ export declare function referendumsActive(instanceId: string, api: DeriveApi): () => Observable<DeriveReferendum[]>;
@@ -0,0 +1,16 @@
1
+ import { of, switchMap } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ /**
4
+ * @name referendumsActive
5
+ * @description Retrieves information about active referendums.
6
+ * @example
7
+ * ```javascript
8
+ * const referendums = await api.derive.democracy.referendumsActive();
9
+ * console.log("Active Referendums:", referendums);
10
+ * ```
11
+ */
12
+ export function referendumsActive(instanceId, api) {
13
+ return memo(instanceId, () => api.derive.democracy.referendumIds().pipe(switchMap((ids) => ids.length
14
+ ? api.derive.democracy.referendumsInfo(ids)
15
+ : of([]))));
16
+ }
@@ -0,0 +1,15 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { PezpalletDemocracyReferendumInfo } from '@pezkuwi/types/lookup';
3
+ import type { DeriveApi } from '../types.js';
4
+ type ReferendumInfoFinished = PezpalletDemocracyReferendumInfo['asFinished'];
5
+ /**
6
+ * @name referendumsFinished
7
+ * @description Retrieves information about finished referendums.
8
+ * @example
9
+ * ```javascript
10
+ * const referendums = await api.derive.democracy.referendumsFinished();
11
+ * console.log("Finished Referendums:", referendums);
12
+ * ```
13
+ */
14
+ export declare function referendumsFinished(instanceId: string, api: DeriveApi): () => Observable<ReferendumInfoFinished[]>;
15
+ export {};
@@ -0,0 +1,17 @@
1
+ import { map, switchMap } from 'rxjs';
2
+ import { memo } from '../util/index.js';
3
+ /**
4
+ * @name referendumsFinished
5
+ * @description Retrieves information about finished referendums.
6
+ * @example
7
+ * ```javascript
8
+ * const referendums = await api.derive.democracy.referendumsFinished();
9
+ * console.log("Finished Referendums:", referendums);
10
+ * ```
11
+ */
12
+ export function referendumsFinished(instanceId, api) {
13
+ return memo(instanceId, () => api.derive.democracy.referendumIds().pipe(switchMap((ids) => api.query.democracy.referendumInfoOf.multi(ids)), map((infos) => infos
14
+ .map((o) => o.unwrapOr(null))
15
+ .filter((info) => !!info && info.isFinished)
16
+ .map((info) => info.asFinished))));
17
+ }
@@ -0,0 +1,23 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { Option } from '@pezkuwi/types';
3
+ import type { ReferendumInfoTo239 } from '@pezkuwi/types/interfaces';
4
+ import type { PezpalletDemocracyReferendumInfo } from '@pezkuwi/types/lookup';
5
+ import type { BN } from '@pezkuwi/util';
6
+ import type { DeriveApi, DeriveReferendum, DeriveReferendumVotes } from '../types.js';
7
+ export declare function _referendumVotes(instanceId: string, api: DeriveApi): (referendum: DeriveReferendum) => Observable<DeriveReferendumVotes>;
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<PezpalletDemocracyReferendumInfo | ReferendumInfoTo239>) => Observable<DeriveReferendum | null>;
10
+ /**
11
+ * @name referendumsInfo
12
+ * @description Retrieves information about multiple referendums by their IDs.
13
+ * @param {BN[]} ids An array of referendum IDs to query.
14
+ * @example
15
+ * ```javascript
16
+ * import { BN } from "@pezkuwi/util";
17
+ *
18
+ * const referendumIds = [new BN(1)];
19
+ * const referendums = await api.derive.democracy.referendumsInfo(referendumIds);
20
+ * console.log("Referendums Info:", referendums);
21
+ * ```
22
+ */
23
+ export declare function referendumsInfo(instanceId: string, api: DeriveApi): (ids: BN[]) => Observable<DeriveReferendum[]>;
@@ -0,0 +1,108 @@
1
+ import { combineLatest, map, of, switchMap } from 'rxjs';
2
+ import { isFunction, objectSpread } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ import { calcVotes, getImageHash, getStatus } from './util.js';
5
+ function votesPrev(api, referendumId) {
6
+ return api.query.democracy['votersFor'](referendumId).pipe(switchMap((votersFor) => combineLatest([
7
+ of(votersFor),
8
+ votersFor.length
9
+ ? api.query.democracy['voteOf'].multi(votersFor.map((accountId) => [referendumId, accountId]))
10
+ : of([]),
11
+ api.derive.balances.votingBalances(votersFor)
12
+ ])), map(([votersFor, votes, balances]) => votersFor.map((accountId, index) => ({
13
+ accountId,
14
+ balance: balances[index].votingBalance || api.registry.createType('Balance'),
15
+ isDelegating: false,
16
+ vote: votes[index] || api.registry.createType('Vote')
17
+ }))));
18
+ }
19
+ function extractVotes(mapped, referendumId) {
20
+ return mapped
21
+ .filter(([, voting]) => voting.isDirect)
22
+ .map(([accountId, voting]) => [
23
+ accountId,
24
+ voting.asDirect.votes.filter(([idx]) => idx.eq(referendumId))
25
+ ])
26
+ .filter(([, directVotes]) => !!directVotes.length)
27
+ .reduce((result, [accountId, votes]) =>
28
+ // FIXME We are ignoring split votes
29
+ votes.reduce((result, [, vote]) => {
30
+ if (vote.isStandard) {
31
+ result.push(objectSpread({
32
+ accountId,
33
+ isDelegating: false
34
+ }, vote.asStandard));
35
+ }
36
+ return result;
37
+ }, result), []);
38
+ }
39
+ function votesCurr(api, referendumId) {
40
+ return api.query.democracy.votingOf.entries().pipe(map((allVoting) => {
41
+ const mapped = allVoting.map(([{ args: [accountId] }, voting]) => [accountId, voting]);
42
+ const votes = extractVotes(mapped, referendumId);
43
+ const delegations = mapped
44
+ .filter(([, voting]) => voting.isDelegating)
45
+ .map(([accountId, voting]) => [accountId, voting.asDelegating]);
46
+ // add delegations
47
+ delegations.forEach(([accountId, { balance, conviction, target }]) => {
48
+ // Are we delegating to a delegator
49
+ const toDelegator = delegations.find(([accountId]) => accountId.eq(target));
50
+ const to = votes.find(({ accountId }) => accountId.eq(toDelegator ? toDelegator[0] : target));
51
+ // this delegation has a target
52
+ if (to) {
53
+ votes.push({
54
+ accountId,
55
+ balance,
56
+ isDelegating: true,
57
+ vote: api.registry.createType('Vote', { aye: to.vote.isAye, conviction })
58
+ });
59
+ }
60
+ });
61
+ return votes;
62
+ }));
63
+ }
64
+ export function _referendumVotes(instanceId, api) {
65
+ return memo(instanceId, (referendum) => combineLatest([
66
+ api.derive.democracy.sqrtElectorate(),
67
+ isFunction(api.query.democracy.votingOf)
68
+ ? votesCurr(api, referendum.index)
69
+ : votesPrev(api, referendum.index)
70
+ ]).pipe(map(([sqrtElectorate, votes]) => calcVotes(sqrtElectorate, referendum, votes))));
71
+ }
72
+ export function _referendumsVotes(instanceId, api) {
73
+ return memo(instanceId, (referendums) => referendums.length
74
+ ? combineLatest(referendums.map((referendum) => api.derive.democracy._referendumVotes(referendum)))
75
+ : of([]));
76
+ }
77
+ export function _referendumInfo(instanceId, api) {
78
+ return memo(instanceId, (index, info) => {
79
+ const status = getStatus(info);
80
+ return status
81
+ ? api.derive.democracy.preimage(status.proposal ||
82
+ status.proposalHash).pipe(map((image) => ({
83
+ image,
84
+ imageHash: getImageHash(status),
85
+ index: api.registry.createType('ReferendumIndex', index),
86
+ status
87
+ })))
88
+ : of(null);
89
+ });
90
+ }
91
+ /**
92
+ * @name referendumsInfo
93
+ * @description Retrieves information about multiple referendums by their IDs.
94
+ * @param {BN[]} ids An array of referendum IDs to query.
95
+ * @example
96
+ * ```javascript
97
+ * import { BN } from "@pezkuwi/util";
98
+ *
99
+ * const referendumIds = [new BN(1)];
100
+ * const referendums = await api.derive.democracy.referendumsInfo(referendumIds);
101
+ * console.log("Referendums Info:", referendums);
102
+ * ```
103
+ */
104
+ export function referendumsInfo(instanceId, api) {
105
+ return memo(instanceId, (ids) => ids.length
106
+ ? api.query.democracy.referendumInfoOf.multi(ids).pipe(switchMap((infos) => combineLatest(ids.map((id, index) => api.derive.democracy._referendumInfo(id, infos[index])))), map((infos) => infos.filter((r) => !!r)))
107
+ : of([]));
108
+ }
@@ -0,0 +1,13 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { BN } from '@pezkuwi/util';
3
+ import type { DeriveApi } from '../types.js';
4
+ /**
5
+ * @name sqrtElectorate
6
+ * @description Computes the square root of the total token issuance in the network.
7
+ * @example
8
+ * ```javascript
9
+ * let sqrtElectorate = await api.derive.democracy.sqrtElectorate();
10
+ * console.log("Square root of token issuance:", sqrtElectorate);
11
+ * ```
12
+ */
13
+ export declare function sqrtElectorate(instanceId: string, api: DeriveApi): () => Observable<BN>;
@@ -0,0 +1,15 @@
1
+ import { map } from 'rxjs';
2
+ import { bnSqrt } from '@pezkuwi/util';
3
+ import { memo } from '../util/index.js';
4
+ /**
5
+ * @name sqrtElectorate
6
+ * @description Computes the square root of the total token issuance in the network.
7
+ * @example
8
+ * ```javascript
9
+ * let sqrtElectorate = await api.derive.democracy.sqrtElectorate();
10
+ * console.log("Square root of token issuance:", sqrtElectorate);
11
+ * ```
12
+ */
13
+ export function sqrtElectorate(instanceId, api) {
14
+ return memo(instanceId, () => api.query.balances.totalIssuance().pipe(map(bnSqrt)));
15
+ }
@@ -0,0 +1,70 @@
1
+ import type { Vec } from '@pezkuwi/types';
2
+ import type { AccountId, Balance, Call, Hash, PropIndex, ReferendumIndex, ReferendumInfoTo239, Vote } from '@pezkuwi/types/interfaces';
3
+ import type { PezpalletDemocracyReferendumStatus, PezpalletDemocracyVoteThreshold } from '@pezkuwi/types/lookup';
4
+ import type { BN } from '@pezkuwi/util';
5
+ import type { HexString } from '@pezkuwi/util/types';
6
+ export interface AtBlock {
7
+ at: BN;
8
+ }
9
+ export interface DeriveDemocracyLock {
10
+ balance: Balance;
11
+ isDelegated: boolean;
12
+ isFinished: boolean;
13
+ referendumEnd: BN;
14
+ referendumId: ReferendumIndex;
15
+ unlockAt: BN;
16
+ vote: Vote;
17
+ }
18
+ export interface DeriveProposalImage extends AtBlock {
19
+ balance: Balance;
20
+ proposal?: Call | undefined;
21
+ proposalHash?: HexString;
22
+ proposalLen?: number;
23
+ proposer: AccountId;
24
+ }
25
+ export interface DeriveDispatch extends AtBlock {
26
+ index: ReferendumIndex;
27
+ imageHash: HexString;
28
+ image?: DeriveProposalImage | undefined;
29
+ }
30
+ export interface DeriveProposal {
31
+ balance?: Balance;
32
+ index: PropIndex;
33
+ image?: DeriveProposalImage | undefined;
34
+ imageHash: Hash;
35
+ proposer: AccountId;
36
+ seconds: Vec<AccountId>;
37
+ }
38
+ export interface DeriveProposalExternal {
39
+ image?: DeriveProposalImage | undefined;
40
+ imageHash: HexString;
41
+ threshold: PezpalletDemocracyVoteThreshold;
42
+ }
43
+ export interface DeriveReferendum {
44
+ index: ReferendumIndex;
45
+ image?: DeriveProposalImage | undefined;
46
+ imageHash: HexString;
47
+ status: PezpalletDemocracyReferendumStatus | ReferendumInfoTo239;
48
+ }
49
+ export interface DeriveReferendumVote {
50
+ accountId: AccountId;
51
+ balance: Balance;
52
+ isDelegating: boolean;
53
+ vote: Vote;
54
+ }
55
+ export interface DeriveReferendumVoteState {
56
+ allAye: DeriveReferendumVote[];
57
+ allNay: DeriveReferendumVote[];
58
+ voteCount: number;
59
+ voteCountAye: number;
60
+ voteCountNay: number;
61
+ votedAye: BN;
62
+ votedNay: BN;
63
+ votedTotal: BN;
64
+ }
65
+ export interface DeriveReferendumVotes extends DeriveReferendumVoteState {
66
+ isPassing: boolean;
67
+ votes: DeriveReferendumVote[];
68
+ }
69
+ export interface DeriveReferendumExt extends DeriveReferendum, DeriveReferendumVotes {
70
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { Hash, ReferendumInfoTo239 } from '@pezkuwi/types/interfaces';
2
+ import type { PezframeSupportPreimagesBounded, PezpalletDemocracyReferendumInfo, PezpalletDemocracyReferendumStatus, PezpalletDemocracyVoteThreshold } from '@pezkuwi/types/lookup';
3
+ import type { Option } from '@pezkuwi/types-codec';
4
+ import type { HexString } from '@pezkuwi/util/types';
5
+ import type { DeriveReferendum, DeriveReferendumVote, DeriveReferendumVotes } from '../types.js';
6
+ import { BN } from '@pezkuwi/util';
7
+ interface ApproxState {
8
+ votedAye: BN;
9
+ votedNay: BN;
10
+ votedTotal: BN;
11
+ }
12
+ export declare function compareRationals(n1: BN, d1: BN, n2: BN, d2: BN): boolean;
13
+ export declare function calcPassing(threshold: PezpalletDemocracyVoteThreshold, sqrtElectorate: BN, state: ApproxState): boolean;
14
+ export declare function calcVotes(sqrtElectorate: BN, referendum: DeriveReferendum, votes: DeriveReferendumVote[]): DeriveReferendumVotes;
15
+ export declare function getStatus(info: Option<PezpalletDemocracyReferendumInfo | ReferendumInfoTo239>): PezpalletDemocracyReferendumStatus | ReferendumInfoTo239 | null;
16
+ export declare function getImageHashBounded(hash: Uint8Array | string | Hash | PezframeSupportPreimagesBounded): HexString;
17
+ export declare function getImageHash(status: PezpalletDemocracyReferendumStatus | ReferendumInfoTo239): HexString;
18
+ export {};