@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.
- package/LICENSE +201 -0
- package/README.md +2 -2
- package/accounts/accountId.js +29 -0
- package/{build/accounts → accounts}/flags.d.ts +2 -2
- package/accounts/flags.js +55 -0
- package/accounts/idAndIndex.js +34 -0
- package/accounts/idToIndex.js +17 -0
- package/{build/accounts → accounts}/identity.d.ts +3 -3
- package/accounts/identity.js +153 -0
- package/{src/accounts/index.ts → accounts/index.js} +0 -3
- package/accounts/indexToId.js +18 -0
- package/accounts/indexes.js +34 -0
- package/accounts/info.js +33 -0
- package/{src/alliance/index.ts → alliance/index.js} +0 -5
- package/augment.js +1 -0
- package/bagsList/get.js +42 -0
- package/bagsList/getExpanded.js +19 -0
- package/bagsList/index.js +3 -0
- package/bagsList/listNodes.d.ts +9 -0
- package/bagsList/listNodes.js +26 -0
- package/{build/bagsList → bagsList}/types.d.ts +3 -3
- package/bagsList/types.js +1 -0
- package/bagsList/util.js +8 -0
- package/balances/account.js +149 -0
- package/balances/all.js +167 -0
- package/{src/balances/index.ts → balances/index.js} +0 -6
- package/{build/balances → balances}/types.d.ts +7 -7
- package/balances/types.js +1 -0
- package/balances/votingBalances.js +18 -0
- package/bounties/bounties.js +50 -0
- package/bounties/helpers/filterBountyProposals.js +5 -0
- package/bounties/index.js +1 -0
- package/bundle.js +107 -0
- package/{src/chain/bestNumber.ts → chain/bestNumber.js} +1 -10
- package/{src/chain/bestNumberFinalized.ts → chain/bestNumberFinalized.js} +1 -10
- package/chain/bestNumberLag.js +19 -0
- package/chain/getBlock.js +25 -0
- package/chain/getBlockByNumber.js +16 -0
- package/chain/getHeader.js +19 -0
- package/{src/chain/index.ts → chain/index.js} +0 -3
- package/chain/subscribeFinalizedBlocks.js +15 -0
- package/chain/subscribeFinalizedHeads.js +37 -0
- package/chain/subscribeNewBlocks.js +15 -0
- package/chain/subscribeNewHeads.js +21 -0
- package/chain/util.js +57 -0
- package/cjs/accounts/accountId.d.ts +17 -0
- package/cjs/accounts/accountId.js +32 -0
- package/cjs/accounts/flags.d.ts +29 -0
- package/cjs/accounts/flags.js +59 -0
- package/cjs/accounts/idAndIndex.d.ts +15 -0
- package/cjs/accounts/idAndIndex.js +37 -0
- package/cjs/accounts/idToIndex.d.ts +16 -0
- package/cjs/accounts/idToIndex.js +20 -0
- package/cjs/accounts/identity.d.ts +48 -0
- package/cjs/accounts/identity.js +159 -0
- package/cjs/accounts/index.d.ts +8 -0
- package/cjs/accounts/index.js +11 -0
- package/cjs/accounts/indexToId.d.ts +15 -0
- package/cjs/accounts/indexToId.js +21 -0
- package/cjs/accounts/indexes.d.ts +16 -0
- package/cjs/accounts/indexes.js +37 -0
- package/cjs/accounts/info.d.ts +18 -0
- package/cjs/accounts/info.js +36 -0
- package/cjs/accounts/types.d.ts +39 -0
- package/cjs/accounts/types.js +2 -0
- package/cjs/alliance/index.d.ts +70 -0
- package/cjs/alliance/index.js +74 -0
- package/cjs/augment.d.ts +1 -0
- package/cjs/augment.js +3 -0
- package/cjs/bagsList/get.d.ts +12 -0
- package/cjs/bagsList/get.js +47 -0
- package/cjs/bagsList/getExpanded.d.ts +16 -0
- package/cjs/bagsList/getExpanded.js +23 -0
- package/cjs/bagsList/index.d.ts +3 -0
- package/cjs/bagsList/index.js +6 -0
- package/cjs/bagsList/listNodes.d.ts +9 -0
- package/cjs/bagsList/listNodes.js +29 -0
- package/cjs/bagsList/types.d.ts +13 -0
- package/cjs/bagsList/types.js +2 -0
- package/cjs/bagsList/util.d.ts +2 -0
- package/cjs/bagsList/util.js +11 -0
- package/cjs/balances/account.d.ts +17 -0
- package/cjs/balances/account.js +152 -0
- package/cjs/balances/all.d.ts +20 -0
- package/cjs/balances/all.js +170 -0
- package/cjs/balances/index.d.ts +20 -0
- package/cjs/balances/index.js +25 -0
- package/cjs/balances/types.d.ts +69 -0
- package/cjs/balances/types.js +2 -0
- package/cjs/balances/votingBalances.d.ts +15 -0
- package/cjs/balances/votingBalances.js +21 -0
- package/cjs/bounties/bounties.d.ts +12 -0
- package/cjs/bounties/bounties.js +53 -0
- package/cjs/bounties/helpers/filterBountyProposals.d.ts +2 -0
- package/cjs/bounties/helpers/filterBountyProposals.js +8 -0
- package/cjs/bounties/index.d.ts +1 -0
- package/cjs/bounties/index.js +4 -0
- package/cjs/bundle.d.ts +9 -0
- package/cjs/bundle.js +112 -0
- package/cjs/chain/bestNumber.d.ts +11 -0
- package/cjs/chain/bestNumber.js +15 -0
- package/cjs/chain/bestNumberFinalized.d.ts +12 -0
- package/cjs/chain/bestNumberFinalized.js +16 -0
- package/cjs/chain/bestNumberLag.d.ts +15 -0
- package/cjs/chain/bestNumberLag.js +22 -0
- package/cjs/chain/getBlock.d.ts +15 -0
- package/cjs/chain/getBlock.js +28 -0
- package/{src/chain/getBlockByNumber.ts → cjs/chain/getBlockByNumber.d.ts} +1 -15
- package/cjs/chain/getBlockByNumber.js +19 -0
- package/cjs/chain/getHeader.d.ts +16 -0
- package/cjs/chain/getHeader.js +22 -0
- package/cjs/chain/index.d.ts +10 -0
- package/cjs/chain/index.js +13 -0
- package/cjs/chain/subscribeFinalizedBlocks.d.ts +14 -0
- package/cjs/chain/subscribeFinalizedBlocks.js +18 -0
- package/cjs/chain/subscribeFinalizedHeads.d.ts +22 -0
- package/cjs/chain/subscribeFinalizedHeads.js +41 -0
- package/cjs/chain/subscribeNewBlocks.d.ts +14 -0
- package/cjs/chain/subscribeNewBlocks.js +18 -0
- package/cjs/chain/subscribeNewHeads.d.ts +15 -0
- package/cjs/chain/subscribeNewHeads.js +24 -0
- package/cjs/chain/util.d.ts +9 -0
- package/cjs/chain/util.js +61 -0
- package/cjs/collective/helpers.js +23 -0
- package/cjs/collective/index.js +6 -0
- package/cjs/collective/members.js +5 -0
- package/cjs/collective/prime.js +11 -0
- package/cjs/collective/proposals.js +44 -0
- package/cjs/collective/types.js +2 -0
- package/{build → cjs}/contracts/fees.d.ts +1 -1
- package/cjs/contracts/fees.js +48 -0
- package/cjs/contracts/index.js +4 -0
- package/cjs/council/index.js +77 -0
- package/cjs/council/types.js +2 -0
- package/cjs/council/votes.js +59 -0
- package/cjs/council/votesOf.js +21 -0
- package/{build → cjs}/crowdloan/childKey.d.ts +2 -2
- package/cjs/crowdloan/childKey.js +26 -0
- package/{build → cjs}/crowdloan/contributions.d.ts +2 -2
- package/cjs/crowdloan/contributions.js +83 -0
- package/cjs/crowdloan/index.js +6 -0
- package/{build → cjs}/crowdloan/ownContributions.d.ts +2 -2
- package/cjs/crowdloan/ownContributions.js +48 -0
- package/cjs/crowdloan/types.js +2 -0
- package/{build → cjs}/crowdloan/util.d.ts +2 -2
- package/cjs/crowdloan/util.js +20 -0
- package/cjs/democracy/dispatchQueue.js +90 -0
- package/cjs/democracy/index.js +14 -0
- package/cjs/democracy/locks.js +65 -0
- package/cjs/democracy/nextExternal.js +31 -0
- package/{build → cjs}/democracy/preimages.d.ts +5 -5
- package/cjs/democracy/preimages.js +117 -0
- package/cjs/democracy/proposals.js +46 -0
- package/cjs/democracy/referendumIds.js +24 -0
- package/cjs/democracy/referendums.js +22 -0
- package/cjs/democracy/referendumsActive.js +19 -0
- package/{build → cjs}/democracy/referendumsFinished.d.ts +2 -2
- package/cjs/democracy/referendumsFinished.js +20 -0
- package/{build → cjs}/democracy/referendumsInfo.d.ts +2 -2
- package/cjs/democracy/referendumsInfo.js +114 -0
- package/cjs/democracy/sqrtElectorate.js +18 -0
- package/{build → cjs}/democracy/types.d.ts +3 -3
- package/cjs/democracy/types.js +2 -0
- package/{build → cjs}/democracy/util.d.ts +5 -5
- package/cjs/democracy/util.js +137 -0
- package/{build → cjs}/derive.d.ts +2 -2
- package/cjs/derive.js +25 -0
- package/cjs/elections/index.js +4 -0
- package/cjs/elections/info.js +93 -0
- package/cjs/elections/types.js +2 -0
- package/cjs/imOnline/index.js +4 -0
- package/cjs/imOnline/receivedHeartbeats.js +42 -0
- package/cjs/index.js +5 -0
- package/cjs/membership/index.js +74 -0
- package/cjs/package.json +3 -0
- package/cjs/packageDetect.d.ts +1 -0
- package/cjs/packageDetect.js +5 -0
- package/cjs/packageInfo.js +4 -0
- package/cjs/session/index.js +6 -0
- package/cjs/session/indexes.js +68 -0
- package/cjs/session/info.js +28 -0
- package/cjs/session/progress.js +93 -0
- package/cjs/session/types.js +2 -0
- package/cjs/society/candidates.js +42 -0
- package/cjs/society/index.js +7 -0
- package/cjs/society/info.js +36 -0
- package/cjs/society/member.js +18 -0
- package/cjs/society/members.js +70 -0
- package/{build → cjs}/society/types.d.ts +5 -5
- package/cjs/society/types.js +2 -0
- package/{build → cjs}/staking/account.d.ts +1 -1
- package/cjs/staking/account.js +80 -0
- package/cjs/staking/cache.js +39 -0
- package/{build → cjs}/staking/currentPoints.d.ts +2 -2
- package/cjs/staking/currentPoints.js +17 -0
- package/cjs/staking/electedInfo.js +37 -0
- package/cjs/staking/erasExposure.js +76 -0
- package/cjs/staking/erasHistoric.js +31 -0
- package/cjs/staking/erasPoints.js +51 -0
- package/cjs/staking/erasPrefs.js +47 -0
- package/cjs/staking/erasRewards.js +38 -0
- package/cjs/staking/erasSlashes.js +53 -0
- package/cjs/staking/index.js +25 -0
- package/{build → cjs}/staking/keys.d.ts +1 -1
- package/cjs/staking/keys.js +61 -0
- package/cjs/staking/overview.js +31 -0
- package/{build → cjs}/staking/ownExposure.d.ts +1 -1
- package/cjs/staking/ownExposure.js +64 -0
- package/{build → cjs}/staking/ownSlashes.d.ts +1 -1
- package/cjs/staking/ownSlashes.js +51 -0
- package/{build → cjs}/staking/query.d.ts +1 -1
- package/cjs/staking/query.js +176 -0
- package/{build → cjs}/staking/stakerExposure.d.ts +1 -1
- package/cjs/staking/stakerExposure.js +56 -0
- package/cjs/staking/stakerPoints.js +35 -0
- package/cjs/staking/stakerPrefs.js +33 -0
- package/{build → cjs}/staking/stakerRewards.d.ts +1 -1
- package/cjs/staking/stakerRewards.js +222 -0
- package/cjs/staking/stakerSlashes.js +34 -0
- package/cjs/staking/stashes.js +38 -0
- package/{build → cjs}/staking/types.d.ts +15 -15
- package/cjs/staking/types.js +2 -0
- package/cjs/staking/util.js +53 -0
- package/cjs/staking/validators.js +71 -0
- package/cjs/staking/waitingInfo.js +32 -0
- package/cjs/technicalCommittee/index.js +74 -0
- package/cjs/teyrchains/index.js +5 -0
- package/{build/parachains → cjs/teyrchains}/info.d.ts +7 -7
- package/cjs/teyrchains/info.js +75 -0
- package/cjs/teyrchains/overview.d.ts +15 -0
- package/cjs/teyrchains/overview.js +39 -0
- package/{build/parachains → cjs/teyrchains}/types.d.ts +6 -6
- package/cjs/teyrchains/types.js +2 -0
- package/cjs/teyrchains/util.js +8 -0
- package/cjs/treasury/index.js +4 -0
- package/cjs/treasury/proposals.js +71 -0
- package/cjs/tx/constants.js +8 -0
- package/cjs/tx/events.js +24 -0
- package/cjs/tx/extrinsicInfo.js +87 -0
- package/cjs/tx/index.js +6 -0
- package/cjs/tx/signingInfo.js +81 -0
- package/cjs/type/HeaderExtended.js +23 -0
- package/cjs/type/SignedBlockExtended.js +60 -0
- package/cjs/type/index.js +7 -0
- package/cjs/type/types.js +2 -0
- package/cjs/type/util.js +36 -0
- package/{build → cjs}/types.d.ts +4 -4
- package/cjs/types.js +15 -0
- package/cjs/util/approvalFlagsToBools.js +19 -0
- package/cjs/util/blockNumber.js +9 -0
- package/cjs/util/cache.js +45 -0
- package/cjs/util/cacheImpl.js +26 -0
- package/cjs/util/first.js +12 -0
- package/cjs/util/index.js +13 -0
- package/cjs/util/lazy.js +7 -0
- package/cjs/util/types.js +2 -0
- package/collective/helpers.d.ts +6 -0
- package/collective/helpers.js +18 -0
- package/collective/index.d.ts +3 -0
- package/collective/index.js +3 -0
- package/collective/members.d.ts +2 -0
- package/collective/members.js +2 -0
- package/collective/prime.d.ts +2 -0
- package/collective/prime.js +8 -0
- package/collective/proposals.d.ts +6 -0
- package/collective/proposals.js +38 -0
- package/{src/collective/types.ts → collective/types.d.ts} +0 -11
- package/collective/types.js +1 -0
- package/contracts/fees.d.ts +14 -0
- package/contracts/fees.js +45 -0
- package/contracts/index.d.ts +1 -0
- package/contracts/index.js +1 -0
- package/council/index.d.ts +72 -0
- package/{src/council/index.ts → council/index.js} +0 -6
- package/{src/council/types.ts → council/types.d.ts} +2 -7
- package/council/types.js +1 -0
- package/council/votes.d.ts +11 -0
- package/council/votes.js +56 -0
- package/council/votesOf.d.ts +16 -0
- package/council/votesOf.js +18 -0
- package/crowdloan/childKey.d.ts +15 -0
- package/crowdloan/childKey.js +23 -0
- package/crowdloan/contributions.d.ts +14 -0
- package/crowdloan/contributions.js +80 -0
- package/crowdloan/index.d.ts +3 -0
- package/crowdloan/index.js +3 -0
- package/crowdloan/ownContributions.d.ts +15 -0
- package/crowdloan/ownContributions.js +45 -0
- package/{src/crowdloan/types.ts → crowdloan/types.d.ts} +2 -7
- package/crowdloan/types.js +1 -0
- package/crowdloan/util.d.ts +10 -0
- package/crowdloan/util.js +17 -0
- package/democracy/dispatchQueue.d.ts +12 -0
- package/democracy/dispatchQueue.js +87 -0
- package/{src/democracy/index.ts → democracy/index.d.ts} +0 -3
- package/democracy/index.js +11 -0
- package/democracy/locks.d.ts +14 -0
- package/democracy/locks.js +62 -0
- package/democracy/nextExternal.d.ts +12 -0
- package/democracy/nextExternal.js +28 -0
- package/democracy/preimages.d.ts +24 -0
- package/democracy/preimages.js +113 -0
- package/democracy/proposals.d.ts +12 -0
- package/democracy/proposals.js +43 -0
- package/democracy/referendumIds.d.ts +12 -0
- package/democracy/referendumIds.js +21 -0
- package/democracy/referendums.d.ts +11 -0
- package/democracy/referendums.js +19 -0
- package/democracy/referendumsActive.d.ts +12 -0
- package/democracy/referendumsActive.js +16 -0
- package/democracy/referendumsFinished.d.ts +15 -0
- package/democracy/referendumsFinished.js +17 -0
- package/democracy/referendumsInfo.d.ts +23 -0
- package/democracy/referendumsInfo.js +108 -0
- package/democracy/sqrtElectorate.d.ts +13 -0
- package/democracy/sqrtElectorate.js +15 -0
- package/democracy/types.d.ts +70 -0
- package/democracy/types.js +1 -0
- package/democracy/util.d.ts +18 -0
- package/democracy/util.js +129 -0
- package/derive.d.ts +52 -0
- package/{src/derive.ts → derive.js} +2 -22
- package/elections/index.d.ts +1 -0
- package/elections/index.js +1 -0
- package/elections/info.d.ts +14 -0
- package/elections/info.js +90 -0
- package/elections/types.d.ts +18 -0
- package/elections/types.js +1 -0
- package/imOnline/index.d.ts +1 -0
- package/imOnline/index.js +1 -0
- package/imOnline/receivedHeartbeats.d.ts +13 -0
- package/imOnline/receivedHeartbeats.js +39 -0
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/membership/index.d.ts +70 -0
- package/{src/membership/index.ts → membership/index.js} +0 -5
- package/package.json +2066 -19
- package/packageDetect.d.ts +1 -0
- package/packageDetect.js +3 -0
- package/packageInfo.d.ts +6 -0
- package/packageInfo.js +1 -0
- package/session/index.d.ts +3 -0
- package/session/index.js +3 -0
- package/session/indexes.d.ts +15 -0
- package/session/indexes.js +65 -0
- package/session/info.d.ts +13 -0
- package/{src/session/info.ts → session/info.js} +7 -21
- package/session/progress.d.ts +47 -0
- package/session/progress.js +89 -0
- package/session/types.d.ts +19 -0
- package/session/types.js +1 -0
- package/society/candidates.d.ts +12 -0
- package/society/candidates.js +39 -0
- package/{src/society/index.ts → society/index.d.ts} +0 -3
- package/society/index.js +4 -0
- package/society/info.d.ts +12 -0
- package/society/info.js +33 -0
- package/society/member.d.ts +14 -0
- package/society/member.js +15 -0
- package/society/members.d.ts +14 -0
- package/society/members.js +66 -0
- package/society/types.d.ts +27 -0
- package/society/types.js +1 -0
- package/staking/account.d.ts +31 -0
- package/staking/account.js +76 -0
- package/staking/cache.d.ts +12 -0
- package/staking/cache.js +32 -0
- package/staking/currentPoints.d.ts +13 -0
- package/staking/currentPoints.js +14 -0
- package/staking/electedInfo.d.ts +23 -0
- package/staking/electedInfo.js +34 -0
- package/staking/erasExposure.d.ts +30 -0
- package/staking/erasExposure.js +72 -0
- package/staking/erasHistoric.d.ts +8 -0
- package/staking/erasHistoric.js +28 -0
- package/staking/erasPoints.d.ts +18 -0
- package/staking/erasPoints.js +47 -0
- package/staking/erasPrefs.d.ts +27 -0
- package/staking/erasPrefs.js +43 -0
- package/staking/erasRewards.d.ts +14 -0
- package/staking/erasRewards.js +34 -0
- package/staking/erasSlashes.d.ts +26 -0
- package/staking/erasSlashes.js +49 -0
- package/{src/staking/index.ts → staking/index.d.ts} +0 -3
- package/staking/index.js +22 -0
- package/staking/keys.d.ts +35 -0
- package/staking/keys.js +57 -0
- package/staking/overview.d.ts +19 -0
- package/staking/overview.js +28 -0
- package/staking/ownExposure.d.ts +37 -0
- package/staking/ownExposure.js +60 -0
- package/staking/ownSlashes.d.ts +35 -0
- package/staking/ownSlashes.js +47 -0
- package/staking/query.d.ts +31 -0
- package/staking/query.js +172 -0
- package/staking/stakerExposure.d.ts +33 -0
- package/staking/stakerExposure.js +51 -0
- package/staking/stakerPoints.d.ts +22 -0
- package/staking/stakerPoints.js +31 -0
- package/staking/stakerPrefs.d.ts +24 -0
- package/staking/stakerPrefs.js +29 -0
- package/staking/stakerRewards.d.ts +49 -0
- package/staking/stakerRewards.js +215 -0
- package/staking/stakerSlashes.d.ts +22 -0
- package/staking/stakerSlashes.js +30 -0
- package/staking/stashes.d.ts +16 -0
- package/staking/stashes.js +35 -0
- package/staking/types.d.ts +139 -0
- package/staking/types.js +1 -0
- package/staking/util.d.ts +14 -0
- package/staking/util.js +46 -0
- package/staking/validators.d.ts +33 -0
- package/{src/staking/validators.ts → staking/validators.js} +25 -40
- package/staking/waitingInfo.d.ts +16 -0
- package/{src/staking/waitingInfo.ts → staking/waitingInfo.js} +8 -24
- package/technicalCommittee/index.d.ts +70 -0
- package/{src/technicalCommittee/index.ts → technicalCommittee/index.js} +0 -5
- package/teyrchains/index.d.ts +2 -0
- package/teyrchains/index.js +2 -0
- package/teyrchains/info.d.ts +19 -0
- package/teyrchains/info.js +72 -0
- package/teyrchains/overview.d.ts +15 -0
- package/teyrchains/overview.js +36 -0
- package/teyrchains/types.d.ts +38 -0
- package/teyrchains/types.js +1 -0
- package/teyrchains/util.d.ts +3 -0
- package/teyrchains/util.js +5 -0
- package/treasury/index.d.ts +1 -0
- package/treasury/index.js +1 -0
- package/treasury/proposals.d.ts +12 -0
- package/treasury/proposals.js +68 -0
- package/tx/constants.d.ts +5 -0
- package/{src/tx/constants.ts → tx/constants.js} +0 -8
- package/tx/events.d.ts +22 -0
- package/tx/events.js +21 -0
- package/tx/extrinsicInfo.d.ts +61 -0
- package/tx/extrinsicInfo.js +83 -0
- package/tx/index.d.ts +3 -0
- package/tx/index.js +3 -0
- package/tx/signingInfo.d.ts +25 -0
- package/tx/signingInfo.js +78 -0
- package/type/HeaderExtended.d.ts +4 -0
- package/type/HeaderExtended.js +20 -0
- package/type/SignedBlockExtended.d.ts +4 -0
- package/type/SignedBlockExtended.js +57 -0
- package/{src/type/index.ts → type/index.d.ts} +0 -3
- package/type/index.js +2 -0
- package/type/types.d.ts +15 -0
- package/type/types.js +1 -0
- package/type/util.d.ts +2 -0
- package/type/util.js +33 -0
- package/{src/types.ts → types.d.ts} +39 -57
- package/types.js +12 -0
- package/util/approvalFlagsToBools.d.ts +4 -0
- package/util/approvalFlagsToBools.js +16 -0
- package/util/blockNumber.d.ts +7 -0
- package/util/blockNumber.js +6 -0
- package/util/cache.d.ts +4 -0
- package/util/cache.js +42 -0
- package/util/cacheImpl.d.ts +3 -0
- package/util/cacheImpl.js +23 -0
- package/util/first.d.ts +4 -0
- package/util/first.js +8 -0
- package/{src/util/index.ts → util/index.d.ts} +0 -6
- package/util/index.js +7 -0
- package/util/lazy.d.ts +4 -0
- package/util/lazy.js +4 -0
- package/util/types.d.ts +6 -0
- package/util/types.js +1 -0
- package/build/bagsList/listNodes.d.ts +0 -9
- package/build/parachains/overview.d.ts +0 -15
- package/src/accounts/accountId.ts +0 -44
- package/src/accounts/flags.ts +0 -90
- package/src/accounts/idAndIndex.ts +0 -51
- package/src/accounts/idToIndex.ts +0 -31
- package/src/accounts/identity.ts +0 -235
- package/src/accounts/indexToId.ts +0 -33
- package/src/accounts/indexes.ts +0 -56
- package/src/accounts/info.ts +0 -58
- package/src/accounts/types.ts +0 -48
- package/src/augment.ts +0 -4
- package/src/bagsList/get.ts +0 -79
- package/src/bagsList/getExpanded.ts +0 -41
- package/src/bagsList/index.ts +0 -6
- package/src/bagsList/listNodes.ts +0 -50
- package/src/bagsList/types.ts +0 -18
- package/src/bagsList/util.ts +0 -14
- package/src/balances/account.ts +0 -210
- package/src/balances/all.ts +0 -246
- package/src/balances/types.ts +0 -79
- package/src/balances/votingBalances.ts +0 -33
- package/src/bounties/bounties.spec.ts +0 -162
- package/src/bounties/bounties.ts +0 -76
- package/src/bounties/helpers/filterBountyProposals.ts +0 -13
- package/src/bounties/index.ts +0 -4
- package/src/bundle.ts +0 -140
- package/src/chain/bestNumberLag.ts +0 -33
- package/src/chain/getBlock.ts +0 -43
- package/src/chain/getHeader.ts +0 -37
- package/src/chain/subscribeFinalizedBlocks.ts +0 -30
- package/src/chain/subscribeFinalizedHeads.ts +0 -62
- package/src/chain/subscribeNewBlocks.ts +0 -30
- package/src/chain/subscribeNewHeads.ts +0 -38
- package/src/chain/util.ts +0 -112
- package/src/checkTypes.manual.ts +0 -8
- package/src/collective/helpers.ts +0 -36
- package/src/collective/index.ts +0 -6
- package/src/collective/members.ts +0 -8
- package/src/collective/prime.ts +0 -25
- package/src/collective/proposals.ts +0 -73
- package/src/contracts/fees.ts +0 -61
- package/src/contracts/index.ts +0 -4
- package/src/council/votes.ts +0 -97
- package/src/council/votesOf.ts +0 -35
- package/src/crowdloan/childKey.ts +0 -57
- package/src/crowdloan/contributions.ts +0 -142
- package/src/crowdloan/index.ts +0 -6
- package/src/crowdloan/ownContributions.ts +0 -81
- package/src/crowdloan/util.ts +0 -33
- package/src/democracy/dispatchQueue.ts +0 -158
- package/src/democracy/locks.ts +0 -114
- package/src/democracy/nextExternal.ts +0 -49
- package/src/democracy/preimages.ts +0 -171
- package/src/democracy/proposals.ts +0 -81
- package/src/democracy/referendumIds.ts +0 -37
- package/src/democracy/referendums.ts +0 -39
- package/src/democracy/referendumsActive.ts +0 -30
- package/src/democracy/referendumsFinished.ts +0 -37
- package/src/democracy/referendumsInfo.ts +0 -181
- package/src/democracy/sqrtElectorate.ts +0 -29
- package/src/democracy/types.ts +0 -84
- package/src/democracy/util.ts +0 -166
- package/src/elections/index.ts +0 -4
- package/src/elections/info.ts +0 -126
- package/src/elections/types.ts +0 -22
- package/src/imOnline/index.ts +0 -4
- package/src/imOnline/receivedHeartbeats.ts +0 -65
- package/src/index.spec.ts +0 -103
- package/src/index.ts +0 -6
- package/src/mod.ts +0 -4
- package/src/packageDetect.ts +0 -11
- package/src/packageInfo.ts +0 -6
- package/src/parachains/index.ts +0 -5
- package/src/parachains/info.ts +0 -111
- package/src/parachains/overview.ts +0 -63
- package/src/parachains/types.ts +0 -46
- package/src/parachains/util.ts +0 -11
- package/src/session/index.ts +0 -6
- package/src/session/indexes.ts +0 -90
- package/src/session/progress.ts +0 -130
- package/src/session/types.ts +0 -25
- package/src/society/candidates.ts +0 -71
- package/src/society/info.ts +0 -50
- package/src/society/member.ts +0 -28
- package/src/society/members.ts +0 -107
- package/src/society/types.ts +0 -33
- package/src/staking/account.ts +0 -112
- package/src/staking/cache.ts +0 -48
- package/src/staking/currentPoints.ts +0 -28
- package/src/staking/electedInfo.ts +0 -54
- package/src/staking/erasExposure.ts +0 -105
- package/src/staking/erasHistoric.ts +0 -47
- package/src/staking/erasPoints.ts +0 -67
- package/src/staking/erasPrefs.ts +0 -63
- package/src/staking/erasRewards.ts +0 -52
- package/src/staking/erasSlashes.ts +0 -69
- package/src/staking/keys.ts +0 -86
- package/src/staking/overview.ts +0 -42
- package/src/staking/ownExposure.ts +0 -83
- package/src/staking/ownSlashes.ts +0 -68
- package/src/staking/query.ts +0 -230
- package/src/staking/stakerExposure.ts +0 -78
- package/src/staking/stakerPoints.ts +0 -46
- package/src/staking/stakerPrefs.ts +0 -45
- package/src/staking/stakerRewards.ts +0 -298
- package/src/staking/stakerSlashes.ts +0 -45
- package/src/staking/stashes.ts +0 -55
- package/src/staking/types.ts +0 -174
- package/src/staking/util.ts +0 -94
- package/src/test/bountyFactory.ts +0 -39
- package/src/test/bytesFactory.ts +0 -15
- package/src/test/helpers.ts +0 -23
- package/src/test/proposalFactory.ts +0 -25
- package/src/treasury/index.ts +0 -4
- package/src/treasury/proposals.ts +0 -109
- package/src/tx/events.ts +0 -43
- package/src/tx/extrinsicInfo.ts +0 -123
- package/src/tx/index.ts +0 -6
- package/src/tx/signingInfo.ts +0 -129
- package/src/type/HeaderExtended.ts +0 -33
- package/src/type/SignedBlockExtended.ts +0 -75
- package/src/type/types.ts +0 -21
- package/src/type/util.ts +0 -45
- package/src/util/approvalFlagToBools.spec.ts +0 -37
- package/src/util/approvalFlagsToBools.ts +0 -26
- package/src/util/blockNumber.ts +0 -15
- package/src/util/cache.ts +0 -65
- package/src/util/cacheImpl.ts +0 -30
- package/src/util/first.ts +0 -20
- package/src/util/lazy.ts +0 -16
- package/src/util/types.ts +0 -9
- package/tsconfig.build.json +0 -21
- package/tsconfig.build.tsbuildinfo +0 -1
- package/tsconfig.spec.json +0 -27
- /package/{build/accounts → accounts}/accountId.d.ts +0 -0
- /package/{build/accounts → accounts}/idAndIndex.d.ts +0 -0
- /package/{build/accounts → accounts}/idToIndex.d.ts +0 -0
- /package/{build/accounts → accounts}/index.d.ts +0 -0
- /package/{build/accounts → accounts}/indexToId.d.ts +0 -0
- /package/{build/accounts → accounts}/indexes.d.ts +0 -0
- /package/{build/accounts → accounts}/info.d.ts +0 -0
- /package/{build/accounts → accounts}/types.d.ts +0 -0
- /package/{build/packageDetect.d.ts → accounts/types.js} +0 -0
- /package/{build/alliance → alliance}/index.d.ts +0 -0
- /package/{build/augment.d.ts → augment.d.ts} +0 -0
- /package/{build/bagsList → bagsList}/get.d.ts +0 -0
- /package/{build/bagsList → bagsList}/getExpanded.d.ts +0 -0
- /package/{build/bagsList → bagsList}/index.d.ts +0 -0
- /package/{build/bagsList → bagsList}/util.d.ts +0 -0
- /package/{build/balances → balances}/account.d.ts +0 -0
- /package/{build/balances → balances}/all.d.ts +0 -0
- /package/{build/balances → balances}/index.d.ts +0 -0
- /package/{build/balances → balances}/votingBalances.d.ts +0 -0
- /package/{build/bounties → bounties}/bounties.d.ts +0 -0
- /package/{build/bounties → bounties}/helpers/filterBountyProposals.d.ts +0 -0
- /package/{build/bounties → bounties}/index.d.ts +0 -0
- /package/{build/bundle.d.ts → bundle.d.ts} +0 -0
- /package/{build/chain → chain}/bestNumber.d.ts +0 -0
- /package/{build/chain → chain}/bestNumberFinalized.d.ts +0 -0
- /package/{build/chain → chain}/bestNumberLag.d.ts +0 -0
- /package/{build/chain → chain}/getBlock.d.ts +0 -0
- /package/{build/chain → chain}/getBlockByNumber.d.ts +0 -0
- /package/{build/chain → chain}/getHeader.d.ts +0 -0
- /package/{build/chain → chain}/index.d.ts +0 -0
- /package/{build/chain → chain}/subscribeFinalizedBlocks.d.ts +0 -0
- /package/{build/chain → chain}/subscribeFinalizedHeads.d.ts +0 -0
- /package/{build/chain → chain}/subscribeNewBlocks.d.ts +0 -0
- /package/{build/chain → chain}/subscribeNewHeads.d.ts +0 -0
- /package/{build/chain → chain}/util.d.ts +0 -0
- /package/{build → cjs}/collective/helpers.d.ts +0 -0
- /package/{build → cjs}/collective/index.d.ts +0 -0
- /package/{build → cjs}/collective/members.d.ts +0 -0
- /package/{build → cjs}/collective/prime.d.ts +0 -0
- /package/{build → cjs}/collective/proposals.d.ts +0 -0
- /package/{build → cjs}/collective/types.d.ts +0 -0
- /package/{build → cjs}/contracts/index.d.ts +0 -0
- /package/{build → cjs}/council/index.d.ts +0 -0
- /package/{build → cjs}/council/types.d.ts +0 -0
- /package/{build → cjs}/council/votes.d.ts +0 -0
- /package/{build → cjs}/council/votesOf.d.ts +0 -0
- /package/{build → cjs}/crowdloan/index.d.ts +0 -0
- /package/{build → cjs}/crowdloan/types.d.ts +0 -0
- /package/{build → cjs}/democracy/dispatchQueue.d.ts +0 -0
- /package/{build → cjs}/democracy/index.d.ts +0 -0
- /package/{build → cjs}/democracy/locks.d.ts +0 -0
- /package/{build → cjs}/democracy/nextExternal.d.ts +0 -0
- /package/{build → cjs}/democracy/proposals.d.ts +0 -0
- /package/{build → cjs}/democracy/referendumIds.d.ts +0 -0
- /package/{build → cjs}/democracy/referendums.d.ts +0 -0
- /package/{build → cjs}/democracy/referendumsActive.d.ts +0 -0
- /package/{build → cjs}/democracy/sqrtElectorate.d.ts +0 -0
- /package/{build → cjs}/elections/index.d.ts +0 -0
- /package/{build → cjs}/elections/info.d.ts +0 -0
- /package/{build → cjs}/elections/types.d.ts +0 -0
- /package/{build → cjs}/imOnline/index.d.ts +0 -0
- /package/{build → cjs}/imOnline/receivedHeartbeats.d.ts +0 -0
- /package/{build → cjs}/index.d.ts +0 -0
- /package/{build → cjs}/membership/index.d.ts +0 -0
- /package/{build → cjs}/packageInfo.d.ts +0 -0
- /package/{build → cjs}/session/index.d.ts +0 -0
- /package/{build → cjs}/session/indexes.d.ts +0 -0
- /package/{build → cjs}/session/info.d.ts +0 -0
- /package/{build → cjs}/session/progress.d.ts +0 -0
- /package/{build → cjs}/session/types.d.ts +0 -0
- /package/{build → cjs}/society/candidates.d.ts +0 -0
- /package/{build → cjs}/society/index.d.ts +0 -0
- /package/{build → cjs}/society/info.d.ts +0 -0
- /package/{build → cjs}/society/member.d.ts +0 -0
- /package/{build → cjs}/society/members.d.ts +0 -0
- /package/{build → cjs}/staking/cache.d.ts +0 -0
- /package/{build → cjs}/staking/electedInfo.d.ts +0 -0
- /package/{build → cjs}/staking/erasExposure.d.ts +0 -0
- /package/{build → cjs}/staking/erasHistoric.d.ts +0 -0
- /package/{build → cjs}/staking/erasPoints.d.ts +0 -0
- /package/{build → cjs}/staking/erasPrefs.d.ts +0 -0
- /package/{build → cjs}/staking/erasRewards.d.ts +0 -0
- /package/{build → cjs}/staking/erasSlashes.d.ts +0 -0
- /package/{build → cjs}/staking/index.d.ts +0 -0
- /package/{build → cjs}/staking/overview.d.ts +0 -0
- /package/{build → cjs}/staking/stakerPoints.d.ts +0 -0
- /package/{build → cjs}/staking/stakerPrefs.d.ts +0 -0
- /package/{build → cjs}/staking/stakerSlashes.d.ts +0 -0
- /package/{build → cjs}/staking/stashes.d.ts +0 -0
- /package/{build → cjs}/staking/util.d.ts +0 -0
- /package/{build → cjs}/staking/validators.d.ts +0 -0
- /package/{build → cjs}/staking/waitingInfo.d.ts +0 -0
- /package/{build → cjs}/technicalCommittee/index.d.ts +0 -0
- /package/{build/parachains → cjs/teyrchains}/index.d.ts +0 -0
- /package/{build/parachains → cjs/teyrchains}/util.d.ts +0 -0
- /package/{build → cjs}/treasury/index.d.ts +0 -0
- /package/{build → cjs}/treasury/proposals.d.ts +0 -0
- /package/{build → cjs}/tx/constants.d.ts +0 -0
- /package/{build → cjs}/tx/events.d.ts +0 -0
- /package/{build → cjs}/tx/extrinsicInfo.d.ts +0 -0
- /package/{build → cjs}/tx/index.d.ts +0 -0
- /package/{build → cjs}/tx/signingInfo.d.ts +0 -0
- /package/{build → cjs}/type/HeaderExtended.d.ts +0 -0
- /package/{build → cjs}/type/SignedBlockExtended.d.ts +0 -0
- /package/{build → cjs}/type/index.d.ts +0 -0
- /package/{build → cjs}/type/types.d.ts +0 -0
- /package/{build → cjs}/type/util.d.ts +0 -0
- /package/{build → cjs}/util/approvalFlagsToBools.d.ts +0 -0
- /package/{build → cjs}/util/blockNumber.d.ts +0 -0
- /package/{build → cjs}/util/cache.d.ts +0 -0
- /package/{build → cjs}/util/cacheImpl.d.ts +0 -0
- /package/{build → cjs}/util/first.d.ts +0 -0
- /package/{build → cjs}/util/index.d.ts +0 -0
- /package/{build → cjs}/util/lazy.d.ts +0 -0
- /package/{build → cjs}/util/types.d.ts +0 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { BN, bnSqrt, isHex, isString, isU8a, objectSpread, stringToHex, u8aToHex } from '@pezkuwi/util';
|
|
2
|
+
function isOldInfo(info) {
|
|
3
|
+
return !!info.proposalHash;
|
|
4
|
+
}
|
|
5
|
+
function isCurrentStatus(status) {
|
|
6
|
+
return !!status.tally;
|
|
7
|
+
}
|
|
8
|
+
export function compareRationals(n1, d1, n2, d2) {
|
|
9
|
+
while (true) {
|
|
10
|
+
const q1 = n1.div(d1);
|
|
11
|
+
const q2 = n2.div(d2);
|
|
12
|
+
if (q1.lt(q2)) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
else if (q2.lt(q1)) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const r1 = n1.mod(d1);
|
|
19
|
+
const r2 = n2.mod(d2);
|
|
20
|
+
if (r2.isZero()) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
else if (r1.isZero()) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
n1 = d2;
|
|
27
|
+
n2 = d1;
|
|
28
|
+
d1 = r2;
|
|
29
|
+
d2 = r1;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function calcPassingOther(threshold, sqrtElectorate, { votedAye, votedNay, votedTotal }) {
|
|
33
|
+
const sqrtVoters = bnSqrt(votedTotal);
|
|
34
|
+
return sqrtVoters.isZero()
|
|
35
|
+
? false
|
|
36
|
+
: threshold.isSuperMajorityApprove
|
|
37
|
+
? compareRationals(votedNay, sqrtVoters, votedAye, sqrtElectorate)
|
|
38
|
+
: compareRationals(votedNay, sqrtElectorate, votedAye, sqrtVoters);
|
|
39
|
+
}
|
|
40
|
+
export function calcPassing(threshold, sqrtElectorate, state) {
|
|
41
|
+
return threshold.isSimpleMajority
|
|
42
|
+
? state.votedAye.gt(state.votedNay)
|
|
43
|
+
: calcPassingOther(threshold, sqrtElectorate, state);
|
|
44
|
+
}
|
|
45
|
+
function calcVotesPrev(votesFor) {
|
|
46
|
+
return votesFor.reduce((state, derived) => {
|
|
47
|
+
const { balance, vote } = derived;
|
|
48
|
+
const isDefault = vote.conviction.index === 0;
|
|
49
|
+
const counted = balance
|
|
50
|
+
.muln(isDefault ? 1 : vote.conviction.index)
|
|
51
|
+
.divn(isDefault ? 10 : 1);
|
|
52
|
+
if (vote.isAye) {
|
|
53
|
+
state.allAye.push(derived);
|
|
54
|
+
state.voteCountAye++;
|
|
55
|
+
state.votedAye.iadd(counted);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
state.allNay.push(derived);
|
|
59
|
+
state.voteCountNay++;
|
|
60
|
+
state.votedNay.iadd(counted);
|
|
61
|
+
}
|
|
62
|
+
state.voteCount++;
|
|
63
|
+
state.votedTotal.iadd(counted);
|
|
64
|
+
return state;
|
|
65
|
+
}, { allAye: [], allNay: [], voteCount: 0, voteCountAye: 0, voteCountNay: 0, votedAye: new BN(0), votedNay: new BN(0), votedTotal: new BN(0) });
|
|
66
|
+
}
|
|
67
|
+
function calcVotesCurrent(tally, votes) {
|
|
68
|
+
const allAye = [];
|
|
69
|
+
const allNay = [];
|
|
70
|
+
votes.forEach((derived) => {
|
|
71
|
+
if (derived.vote.isAye) {
|
|
72
|
+
allAye.push(derived);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
allNay.push(derived);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
allAye,
|
|
80
|
+
allNay,
|
|
81
|
+
voteCount: allAye.length + allNay.length,
|
|
82
|
+
voteCountAye: allAye.length,
|
|
83
|
+
voteCountNay: allNay.length,
|
|
84
|
+
votedAye: tally.ayes,
|
|
85
|
+
votedNay: tally.nays,
|
|
86
|
+
votedTotal: tally.turnout
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export function calcVotes(sqrtElectorate, referendum, votes) {
|
|
90
|
+
const state = isCurrentStatus(referendum.status)
|
|
91
|
+
? calcVotesCurrent(referendum.status.tally, votes)
|
|
92
|
+
: calcVotesPrev(votes);
|
|
93
|
+
return objectSpread({}, state, {
|
|
94
|
+
isPassing: calcPassing(referendum.status.threshold, sqrtElectorate, state),
|
|
95
|
+
votes
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
export function getStatus(info) {
|
|
99
|
+
if (info.isNone) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
const unwrapped = info.unwrap();
|
|
103
|
+
return isOldInfo(unwrapped)
|
|
104
|
+
? unwrapped
|
|
105
|
+
: unwrapped.isOngoing
|
|
106
|
+
? unwrapped.asOngoing
|
|
107
|
+
// done, we don't include it here... only currently active
|
|
108
|
+
: null;
|
|
109
|
+
}
|
|
110
|
+
export function getImageHashBounded(hash) {
|
|
111
|
+
return hash.isLegacy
|
|
112
|
+
? hash.asLegacy.hash_.toHex()
|
|
113
|
+
: hash.isLookup
|
|
114
|
+
? hash.asLookup.hash_.toHex()
|
|
115
|
+
// for inline, use the actual Bytes hash
|
|
116
|
+
: hash.isInline
|
|
117
|
+
? hash.asInline.hash.toHex()
|
|
118
|
+
: isString(hash)
|
|
119
|
+
? isHex(hash)
|
|
120
|
+
? hash
|
|
121
|
+
: stringToHex(hash)
|
|
122
|
+
: isU8a(hash)
|
|
123
|
+
? u8aToHex(hash)
|
|
124
|
+
: hash.toHex();
|
|
125
|
+
}
|
|
126
|
+
export function getImageHash(status) {
|
|
127
|
+
return getImageHashBounded(status.proposal ||
|
|
128
|
+
status.proposalHash);
|
|
129
|
+
}
|
package/derive.d.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { AnyFunction } from '@pezkuwi/types/types';
|
|
2
|
+
import * as accounts from './accounts/index.js';
|
|
3
|
+
import * as alliance from './alliance/index.js';
|
|
4
|
+
import * as bagsList from './bagsList/index.js';
|
|
5
|
+
import * as balances from './balances/index.js';
|
|
6
|
+
import * as bounties from './bounties/index.js';
|
|
7
|
+
import * as chain from './chain/index.js';
|
|
8
|
+
import * as contracts from './contracts/index.js';
|
|
9
|
+
import * as council from './council/index.js';
|
|
10
|
+
import * as crowdloan from './crowdloan/index.js';
|
|
11
|
+
import * as democracy from './democracy/index.js';
|
|
12
|
+
import * as elections from './elections/index.js';
|
|
13
|
+
import * as imOnline from './imOnline/index.js';
|
|
14
|
+
import * as membership from './membership/index.js';
|
|
15
|
+
import * as teyrchains from './teyrchains/index.js';
|
|
16
|
+
import * as session from './session/index.js';
|
|
17
|
+
import * as society from './society/index.js';
|
|
18
|
+
import * as staking from './staking/index.js';
|
|
19
|
+
import * as technicalCommittee from './technicalCommittee/index.js';
|
|
20
|
+
import * as treasury from './treasury/index.js';
|
|
21
|
+
import * as tx from './tx/index.js';
|
|
22
|
+
export declare const derive: {
|
|
23
|
+
accounts: typeof accounts;
|
|
24
|
+
alliance: typeof alliance;
|
|
25
|
+
bagsList: typeof bagsList;
|
|
26
|
+
balances: typeof balances;
|
|
27
|
+
bounties: typeof bounties;
|
|
28
|
+
chain: typeof chain;
|
|
29
|
+
contracts: typeof contracts;
|
|
30
|
+
council: typeof council;
|
|
31
|
+
crowdloan: typeof crowdloan;
|
|
32
|
+
democracy: typeof democracy;
|
|
33
|
+
elections: typeof elections;
|
|
34
|
+
imOnline: typeof imOnline;
|
|
35
|
+
membership: typeof membership;
|
|
36
|
+
teyrchains: typeof teyrchains;
|
|
37
|
+
session: typeof session;
|
|
38
|
+
society: typeof society;
|
|
39
|
+
staking: typeof staking;
|
|
40
|
+
technicalCommittee: typeof technicalCommittee;
|
|
41
|
+
treasury: typeof treasury;
|
|
42
|
+
tx: typeof tx;
|
|
43
|
+
};
|
|
44
|
+
type DeriveSection<Section> = {
|
|
45
|
+
[M in keyof Section]: Section[M] extends AnyFunction ? ReturnType<Section[M]> : never;
|
|
46
|
+
};
|
|
47
|
+
type DeriveAllSections<AllSections> = {
|
|
48
|
+
[S in keyof AllSections]: DeriveSection<AllSections[S]>;
|
|
49
|
+
};
|
|
50
|
+
export interface ExactDerive extends DeriveAllSections<typeof derive> {
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/api-derive authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import type { AnyFunction } from '@pezkuwi/types/types';
|
|
5
|
-
|
|
6
1
|
import * as accounts from './accounts/index.js';
|
|
7
2
|
import * as alliance from './alliance/index.js';
|
|
8
3
|
import * as bagsList from './bagsList/index.js';
|
|
@@ -16,26 +11,11 @@ import * as democracy from './democracy/index.js';
|
|
|
16
11
|
import * as elections from './elections/index.js';
|
|
17
12
|
import * as imOnline from './imOnline/index.js';
|
|
18
13
|
import * as membership from './membership/index.js';
|
|
19
|
-
import * as
|
|
14
|
+
import * as teyrchains from './teyrchains/index.js';
|
|
20
15
|
import * as session from './session/index.js';
|
|
21
16
|
import * as society from './society/index.js';
|
|
22
17
|
import * as staking from './staking/index.js';
|
|
23
18
|
import * as technicalCommittee from './technicalCommittee/index.js';
|
|
24
19
|
import * as treasury from './treasury/index.js';
|
|
25
20
|
import * as tx from './tx/index.js';
|
|
26
|
-
|
|
27
|
-
export const derive = { accounts, alliance, bagsList, balances, bounties, chain, contracts, council, crowdloan, democracy, elections, imOnline, membership, parachains, session, society, staking, technicalCommittee, treasury, tx };
|
|
28
|
-
|
|
29
|
-
type DeriveSection<Section> = {
|
|
30
|
-
[M in keyof Section]: Section[M] extends AnyFunction
|
|
31
|
-
? ReturnType<Section[M]> // ReturnType<Section[Method]> will be the inner function, i.e. without (api) argument
|
|
32
|
-
: never;
|
|
33
|
-
};
|
|
34
|
-
type DeriveAllSections<AllSections> = {
|
|
35
|
-
[S in keyof AllSections]: DeriveSection<AllSections[S]>
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
39
|
-
export interface ExactDerive extends DeriveAllSections<typeof derive> {
|
|
40
|
-
// keep empty, allows for augmentation
|
|
41
|
-
}
|
|
21
|
+
export const derive = { accounts, alliance, bagsList, balances, bounties, chain, contracts, council, crowdloan, democracy, elections, imOnline, membership, teyrchains, session, society, staking, technicalCommittee, treasury, tx };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './info.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './info.js';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Observable } from 'rxjs';
|
|
2
|
+
import type { DeriveApi } from '../types.js';
|
|
3
|
+
import type { DeriveElectionsInfo } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* @name info
|
|
6
|
+
* @description An object containing the combined results of the storage queries for all relevant election module properties.
|
|
7
|
+
* @example
|
|
8
|
+
* ```javascript
|
|
9
|
+
* api.derive.elections.info(({ members, candidates }) => {
|
|
10
|
+
* console.log(`There are currently ${members.length} council members and ${candidates.length} prospective council candidates.`);
|
|
11
|
+
* });
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function info(instanceId: string, api: DeriveApi): () => Observable<DeriveElectionsInfo>;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { combineLatest, map, of } from 'rxjs';
|
|
2
|
+
import { objectSpread } from '@pezkuwi/util';
|
|
3
|
+
import { memo } from '../util/index.js';
|
|
4
|
+
function isSeatHolder(value) {
|
|
5
|
+
return !Array.isArray(value);
|
|
6
|
+
}
|
|
7
|
+
function isCandidateTuple(value) {
|
|
8
|
+
return Array.isArray(value);
|
|
9
|
+
}
|
|
10
|
+
function getAccountTuple(value) {
|
|
11
|
+
return isSeatHolder(value)
|
|
12
|
+
? [value.who, value.stake]
|
|
13
|
+
: value;
|
|
14
|
+
}
|
|
15
|
+
function getCandidate(value) {
|
|
16
|
+
return isCandidateTuple(value)
|
|
17
|
+
? value[0]
|
|
18
|
+
: value;
|
|
19
|
+
}
|
|
20
|
+
function sortAccounts([, balanceA], [, balanceB]) {
|
|
21
|
+
return balanceB.cmp(balanceA);
|
|
22
|
+
}
|
|
23
|
+
function getConstants(api, elections) {
|
|
24
|
+
return elections
|
|
25
|
+
? {
|
|
26
|
+
candidacyBond: api.consts[elections].candidacyBond,
|
|
27
|
+
desiredRunnersUp: api.consts[elections].desiredRunnersUp,
|
|
28
|
+
desiredSeats: api.consts[elections].desiredMembers,
|
|
29
|
+
termDuration: api.consts[elections].termDuration,
|
|
30
|
+
votingBond: api.consts[elections]['votingBond'],
|
|
31
|
+
votingBondBase: api.consts[elections].votingBondBase,
|
|
32
|
+
votingBondFactor: api.consts[elections].votingBondFactor
|
|
33
|
+
}
|
|
34
|
+
: {};
|
|
35
|
+
}
|
|
36
|
+
function getModules(api) {
|
|
37
|
+
const [council] = api.registry.getModuleInstances(api.runtimeVersion.specName, 'council') || ['council'];
|
|
38
|
+
const elections = api.query['phragmenElection']
|
|
39
|
+
? 'phragmenElection'
|
|
40
|
+
: api.query['electionsPhragmen']
|
|
41
|
+
? 'electionsPhragmen'
|
|
42
|
+
: api.query.elections
|
|
43
|
+
? 'elections'
|
|
44
|
+
: null;
|
|
45
|
+
// In some cases council here can refer to `generalCouncil` depending on what the chain specific override is.
|
|
46
|
+
// Therefore, we check to see if it exists in the query field. If it does not we default to `council`.
|
|
47
|
+
const resolvedCouncil = api.query[council] ? council : 'council';
|
|
48
|
+
return [resolvedCouncil, elections];
|
|
49
|
+
}
|
|
50
|
+
function queryAll(api, council, elections) {
|
|
51
|
+
return api.queryMulti([
|
|
52
|
+
api.query[council].members,
|
|
53
|
+
api.query[elections].candidates,
|
|
54
|
+
api.query[elections].members,
|
|
55
|
+
api.query[elections].runnersUp
|
|
56
|
+
]);
|
|
57
|
+
}
|
|
58
|
+
function queryCouncil(api, council) {
|
|
59
|
+
return combineLatest([
|
|
60
|
+
api.query[council].members(),
|
|
61
|
+
of([]),
|
|
62
|
+
of([]),
|
|
63
|
+
of([])
|
|
64
|
+
]);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @name info
|
|
68
|
+
* @description An object containing the combined results of the storage queries for all relevant election module properties.
|
|
69
|
+
* @example
|
|
70
|
+
* ```javascript
|
|
71
|
+
* api.derive.elections.info(({ members, candidates }) => {
|
|
72
|
+
* console.log(`There are currently ${members.length} council members and ${candidates.length} prospective council candidates.`);
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export function info(instanceId, api) {
|
|
77
|
+
return memo(instanceId, () => {
|
|
78
|
+
const [council, elections] = getModules(api);
|
|
79
|
+
return (elections
|
|
80
|
+
? queryAll(api, council, elections)
|
|
81
|
+
: queryCouncil(api, council)).pipe(map(([councilMembers, candidates, members, runnersUp]) => objectSpread({}, getConstants(api, elections), {
|
|
82
|
+
candidateCount: api.registry.createType('u32', candidates.length),
|
|
83
|
+
candidates: candidates.map(getCandidate),
|
|
84
|
+
members: members.length
|
|
85
|
+
? members.map(getAccountTuple).sort(sortAccounts)
|
|
86
|
+
: councilMembers.map((a) => [a, api.registry.createType('Balance')]),
|
|
87
|
+
runnersUp: runnersUp.map(getAccountTuple).sort(sortAccounts)
|
|
88
|
+
})));
|
|
89
|
+
});
|
|
90
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { u32 } from '@pezkuwi/types';
|
|
2
|
+
import type { AccountId, Balance, BlockNumber, SetIndex, VoteIndex } from '@pezkuwi/types/interfaces';
|
|
3
|
+
export interface DeriveElectionsInfo {
|
|
4
|
+
candidates: AccountId[];
|
|
5
|
+
candidateCount: u32;
|
|
6
|
+
candidacyBond?: Balance;
|
|
7
|
+
desiredRunnersUp?: u32;
|
|
8
|
+
desiredSeats?: u32;
|
|
9
|
+
members: [AccountId, Balance][];
|
|
10
|
+
nextVoterSet?: SetIndex;
|
|
11
|
+
runnersUp: [AccountId, Balance][];
|
|
12
|
+
termDuration?: BlockNumber;
|
|
13
|
+
voteCount?: VoteIndex;
|
|
14
|
+
voterCount?: SetIndex;
|
|
15
|
+
votingBond?: Balance;
|
|
16
|
+
votingBondBase?: Balance;
|
|
17
|
+
votingBondFactor?: Balance;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './receivedHeartbeats.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './receivedHeartbeats.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Observable } from 'rxjs';
|
|
2
|
+
import type { DeriveApi, DeriveHeartbeats } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* @name receivedHeartbeats
|
|
5
|
+
* @description Return a boolean array indicating whether the passed accounts had received heartbeats in the current session.
|
|
6
|
+
* @example
|
|
7
|
+
* ```javascript
|
|
8
|
+
* let unsub = await api.derive.imOnline.receivedHeartbeats((heartbeat) => {
|
|
9
|
+
* console.log(heartbeat);
|
|
10
|
+
* });
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function receivedHeartbeats(instanceId: string, api: DeriveApi): () => Observable<DeriveHeartbeats>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { combineLatest, map, of, switchMap } from 'rxjs';
|
|
2
|
+
import { BN_ZERO } from '@pezkuwi/util';
|
|
3
|
+
import { memo } from '../util/index.js';
|
|
4
|
+
function mapResult([result, validators, heartbeats, numBlocks]) {
|
|
5
|
+
validators.forEach((validator, index) => {
|
|
6
|
+
const validatorId = validator.toString();
|
|
7
|
+
const blockCount = numBlocks[index];
|
|
8
|
+
const hasMessage = !heartbeats[index].isEmpty;
|
|
9
|
+
const prev = result[validatorId];
|
|
10
|
+
if (!prev || prev.hasMessage !== hasMessage || !prev.blockCount.eq(blockCount)) {
|
|
11
|
+
result[validatorId] = {
|
|
12
|
+
blockCount,
|
|
13
|
+
hasMessage,
|
|
14
|
+
isOnline: hasMessage || blockCount.gt(BN_ZERO)
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @name receivedHeartbeats
|
|
22
|
+
* @description Return a boolean array indicating whether the passed accounts had received heartbeats in the current session.
|
|
23
|
+
* @example
|
|
24
|
+
* ```javascript
|
|
25
|
+
* let unsub = await api.derive.imOnline.receivedHeartbeats((heartbeat) => {
|
|
26
|
+
* console.log(heartbeat);
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export function receivedHeartbeats(instanceId, api) {
|
|
31
|
+
return memo(instanceId, () => api.query.imOnline?.receivedHeartbeats
|
|
32
|
+
? api.derive.staking.overview().pipe(switchMap(({ currentIndex, validators }) => combineLatest([
|
|
33
|
+
of({}),
|
|
34
|
+
of(validators),
|
|
35
|
+
api.query.imOnline.receivedHeartbeats.multi(validators.map((_address, index) => [currentIndex, index])),
|
|
36
|
+
api.query.imOnline.authoredBlocks.multi(validators.map((address) => [currentIndex, address]))
|
|
37
|
+
])), map(mapResult))
|
|
38
|
+
: of({}));
|
|
39
|
+
}
|
package/index.d.ts
ADDED
package/index.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name members
|
|
3
|
+
* @description Retrieves the list of members in the "membership" collective.
|
|
4
|
+
* @example
|
|
5
|
+
* ```javascript
|
|
6
|
+
* const members = await api.derive.membership.members();
|
|
7
|
+
* console.log(`Members: ${JSON.stringify(members)});
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export declare const members: import("../collective/types.js").MembersFnRet;
|
|
11
|
+
/**
|
|
12
|
+
* @name hasProposals
|
|
13
|
+
* @description Checks if there are any active proposals in the "membership" collective.
|
|
14
|
+
* @example
|
|
15
|
+
* ```javascript
|
|
16
|
+
* const exists = await api.derive.membership.hasProposals();
|
|
17
|
+
* console.log(exists);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare const hasProposals: import("../collective/types.js").HasProposalsFnRet;
|
|
21
|
+
/**
|
|
22
|
+
* @name proposal
|
|
23
|
+
* @description Retrieves details of a specific proposal in the "membership" collective by its hash.
|
|
24
|
+
* @example
|
|
25
|
+
* ```javascript
|
|
26
|
+
* const proposalDetails = await api.derive.membership.proposal(PROPOSAL_HASH);
|
|
27
|
+
* console.log(proposalDetails);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare const proposal: import("../collective/types.js").ProposalFnRet;
|
|
31
|
+
/**
|
|
32
|
+
* @name proposalCount
|
|
33
|
+
* @description Retrieves the total number of proposals in the "membership" collective.
|
|
34
|
+
* @example
|
|
35
|
+
* ```javascript
|
|
36
|
+
* const count = await api.derive.membership.proposalCount();
|
|
37
|
+
* console.log(`Amount of proposals: ${count}`);
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare const proposalCount: import("../collective/types.js").ProposalCountFnRet;
|
|
41
|
+
/**
|
|
42
|
+
* @name proposalHashes
|
|
43
|
+
* @description Retrieves an array of hashes for all active proposals in the "membership" collective.
|
|
44
|
+
* @example
|
|
45
|
+
* ```javascript
|
|
46
|
+
* const hashes = await api.derive.membership.proposalHashes();
|
|
47
|
+
* console.log(`Proposals ${JSON.stringify(hashes)}`);
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare const proposalHashes: import("../collective/types.js").ProposalHashesFnRet;
|
|
51
|
+
/**
|
|
52
|
+
* @name proposals
|
|
53
|
+
* @description Retrieves a list of all active proposals in the "membership" collective.
|
|
54
|
+
* @example
|
|
55
|
+
* ```javascript
|
|
56
|
+
* const proposals = await api.derive.membership.proposals();
|
|
57
|
+
* console.log(proposals);
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare const proposals: import("../collective/types.js").ProposalsFnRet;
|
|
61
|
+
/**
|
|
62
|
+
* @name prime
|
|
63
|
+
* @description Retrieves the prime member of the "membership" collective, if one exists.
|
|
64
|
+
* @example
|
|
65
|
+
* ```javascript
|
|
66
|
+
* const primeMember = await api.derive.membership.prime();
|
|
67
|
+
* console.log(primeMember);
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare const prime: import("../collective/types.js").PrimeFnRet;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/api-derive authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { hasProposals as collectiveHasProposals, members as collectiveMembers, prime as collectivePrime, proposal as collectiveProposal, proposalCount as collectiveProposalCount, proposalHashes as collectiveProposalHashes, proposals as collectiveProposals } from '../collective/index.js';
|
|
5
|
-
|
|
6
2
|
/**
|
|
7
3
|
* @name members
|
|
8
4
|
* @description Retrieves the list of members in the "membership" collective.
|
|
@@ -13,7 +9,6 @@ import { hasProposals as collectiveHasProposals, members as collectiveMembers, p
|
|
|
13
9
|
* ```
|
|
14
10
|
*/
|
|
15
11
|
export const members = /*#__PURE__*/ collectiveMembers('membership');
|
|
16
|
-
|
|
17
12
|
/**
|
|
18
13
|
* @name hasProposals
|
|
19
14
|
* @description Checks if there are any active proposals in the "membership" collective.
|