@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,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createBlockNumberDerive = createBlockNumberDerive;
|
|
4
|
+
exports.getAuthorDetails = getAuthorDetails;
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
const index_js_1 = require("../util/index.js");
|
|
7
|
+
function createBlockNumberDerive(fn) {
|
|
8
|
+
return (instanceId, api) => (0, index_js_1.memo)(instanceId, () => fn(api).pipe((0, rxjs_1.map)(index_js_1.unwrapBlockNumber)));
|
|
9
|
+
}
|
|
10
|
+
/** @internal */
|
|
11
|
+
function getAuthorDetailsWithAt(header, queryAt) {
|
|
12
|
+
const validators = queryAt.session?.validators
|
|
13
|
+
? queryAt.session.validators()
|
|
14
|
+
: (0, rxjs_1.of)(null);
|
|
15
|
+
// nimbus consensus stores the session key of the block author in header logs
|
|
16
|
+
const { logs: [log] } = header.digest;
|
|
17
|
+
const loggedAuthor = (log && ((log.isConsensus && log.asConsensus[0].isNimbus && log.asConsensus[1]) ||
|
|
18
|
+
(log.isPreRuntime && log.asPreRuntime[0].isNimbus && log.asPreRuntime[1])));
|
|
19
|
+
if (loggedAuthor) {
|
|
20
|
+
// use the author mapping pallet, if available (ie: moonbeam, moonriver), to map session (nimbus) key to author (collator/validator) key
|
|
21
|
+
if (queryAt['authorMapping']?.['mappingWithDeposit']) {
|
|
22
|
+
return (0, rxjs_1.combineLatest)([
|
|
23
|
+
(0, rxjs_1.of)(header),
|
|
24
|
+
validators,
|
|
25
|
+
queryAt['authorMapping']['mappingWithDeposit'](loggedAuthor).pipe((0, rxjs_1.map)((o) => o.unwrapOr({ account: null }).account))
|
|
26
|
+
]);
|
|
27
|
+
}
|
|
28
|
+
// fall back to session and teyrchain staking pallets, if available (ie: manta, calamari), to map session (nimbus) key to author (collator) key
|
|
29
|
+
if (queryAt['teyrchainStaking']?.['selectedCandidates'] && queryAt.session?.nextKeys) {
|
|
30
|
+
const loggedHex = loggedAuthor.toHex();
|
|
31
|
+
return (0, rxjs_1.combineLatest)([
|
|
32
|
+
(0, rxjs_1.of)(header),
|
|
33
|
+
validators,
|
|
34
|
+
queryAt['teyrchainStaking']['selectedCandidates']().pipe((0, rxjs_1.mergeMap)((selectedCandidates) => (0, rxjs_1.combineLatest)([
|
|
35
|
+
(0, rxjs_1.of)(selectedCandidates),
|
|
36
|
+
queryAt.session.nextKeys.multi(selectedCandidates).pipe((0, rxjs_1.map)((nextKeys) => nextKeys.findIndex((o) => o.unwrapOrDefault().nimbus.toHex() === loggedHex)))
|
|
37
|
+
])), (0, rxjs_1.map)(([selectedCandidates, index]) => index === -1
|
|
38
|
+
? null
|
|
39
|
+
: selectedCandidates[index]))
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// normal operation, non-mapping
|
|
44
|
+
return (0, rxjs_1.combineLatest)([
|
|
45
|
+
(0, rxjs_1.of)(header),
|
|
46
|
+
validators,
|
|
47
|
+
(0, rxjs_1.of)(null)
|
|
48
|
+
]);
|
|
49
|
+
}
|
|
50
|
+
function getAuthorDetails(api, header, blockHash) {
|
|
51
|
+
// For on-chain state, we need to retrieve it as per the start
|
|
52
|
+
// of the block being constructed, i.e. session validators would
|
|
53
|
+
// be at the point of the block construction, not when all operations
|
|
54
|
+
// has been supplied.
|
|
55
|
+
//
|
|
56
|
+
// However for the first block (no parentHash available), we would
|
|
57
|
+
// just use the as-is
|
|
58
|
+
return api.queryAt(header.parentHash.isEmpty
|
|
59
|
+
? blockHash || header.hash
|
|
60
|
+
: header.parentHash).pipe((0, rxjs_1.switchMap)((queryAt) => getAuthorDetailsWithAt(header, queryAt)));
|
|
61
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getInstance = getInstance;
|
|
4
|
+
exports.withSection = withSection;
|
|
5
|
+
exports.callMethod = callMethod;
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const util_1 = require("@pezkuwi/util");
|
|
8
|
+
const index_js_1 = require("../util/index.js");
|
|
9
|
+
function getInstance(api, section) {
|
|
10
|
+
const instances = api.registry.getModuleInstances(api.runtimeVersion.specName, section);
|
|
11
|
+
const name = instances?.length
|
|
12
|
+
? instances[0]
|
|
13
|
+
: section;
|
|
14
|
+
return api.query[name];
|
|
15
|
+
}
|
|
16
|
+
function withSection(section, fn) {
|
|
17
|
+
return (instanceId, api) => (0, index_js_1.memo)(instanceId, fn(getInstance(api, section), api, instanceId));
|
|
18
|
+
}
|
|
19
|
+
function callMethod(method, empty) {
|
|
20
|
+
return (section) => withSection(section, (query) => () => (0, util_1.isFunction)(query?.[method])
|
|
21
|
+
? query[method]()
|
|
22
|
+
: (0, rxjs_1.of)(empty));
|
|
23
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./members.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./prime.js"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./proposals.js"), exports);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prime = prime;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const util_1 = require("@pezkuwi/util");
|
|
6
|
+
const helpers_js_1 = require("./helpers.js");
|
|
7
|
+
function prime(section) {
|
|
8
|
+
return (0, helpers_js_1.withSection)(section, (query) => () => (0, util_1.isFunction)(query?.prime)
|
|
9
|
+
? query.prime().pipe((0, rxjs_1.map)((o) => o.unwrapOr(null)))
|
|
10
|
+
: (0, rxjs_1.of)(null));
|
|
11
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.proposalHashes = exports.proposalCount = void 0;
|
|
4
|
+
exports.hasProposals = hasProposals;
|
|
5
|
+
exports.proposals = proposals;
|
|
6
|
+
exports.proposal = proposal;
|
|
7
|
+
const rxjs_1 = require("rxjs");
|
|
8
|
+
const util_1 = require("@pezkuwi/util");
|
|
9
|
+
const index_js_1 = require("../util/index.js");
|
|
10
|
+
const helpers_js_1 = require("./helpers.js");
|
|
11
|
+
function parse(api, [hashes, proposals, votes]) {
|
|
12
|
+
return proposals.map((o, index) => ({
|
|
13
|
+
hash: api.registry.createType('Hash', hashes[index]),
|
|
14
|
+
proposal: o && o.isSome
|
|
15
|
+
? o.unwrap()
|
|
16
|
+
: null,
|
|
17
|
+
votes: votes[index].unwrapOr(null)
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
function _proposalsFrom(api, query, hashes) {
|
|
21
|
+
return ((0, util_1.isFunction)(query?.proposals) && hashes.length
|
|
22
|
+
? (0, rxjs_1.combineLatest)([
|
|
23
|
+
(0, rxjs_1.of)(hashes),
|
|
24
|
+
// this should simply be api.query[section].proposalOf.multi<Option<Proposal>>(hashes),
|
|
25
|
+
// however we have had cases on Edgeware where the indices have moved around after an
|
|
26
|
+
// upgrade, which results in invalid on-chain data
|
|
27
|
+
query.proposalOf.multi(hashes).pipe((0, rxjs_1.catchError)(() => (0, rxjs_1.of)(hashes.map(() => null)))),
|
|
28
|
+
query.voting.multi(hashes)
|
|
29
|
+
])
|
|
30
|
+
: (0, rxjs_1.of)([[], [], []])).pipe((0, rxjs_1.map)((r) => parse(api, r)));
|
|
31
|
+
}
|
|
32
|
+
function hasProposals(section) {
|
|
33
|
+
return (0, helpers_js_1.withSection)(section, (query) => () => (0, rxjs_1.of)((0, util_1.isFunction)(query?.proposals)));
|
|
34
|
+
}
|
|
35
|
+
function proposals(section) {
|
|
36
|
+
return (0, helpers_js_1.withSection)(section, (query, api) => () => api.derive[section].proposalHashes().pipe((0, rxjs_1.switchMap)((all) => _proposalsFrom(api, query, all))));
|
|
37
|
+
}
|
|
38
|
+
function proposal(section) {
|
|
39
|
+
return (0, helpers_js_1.withSection)(section, (query, api) => (hash) => (0, util_1.isFunction)(query?.proposals)
|
|
40
|
+
? (0, index_js_1.firstObservable)(_proposalsFrom(api, query, [hash]))
|
|
41
|
+
: (0, rxjs_1.of)(null));
|
|
42
|
+
}
|
|
43
|
+
exports.proposalCount = (0, helpers_js_1.callMethod)('proposalCount', null);
|
|
44
|
+
exports.proposalHashes = (0, helpers_js_1.callMethod)('proposals', []);
|
|
@@ -3,7 +3,7 @@ import type { DeriveApi, DeriveContractFees } from '../types.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* @name fees
|
|
5
5
|
* @returns An object containing the combined results of the queries for
|
|
6
|
-
* all relevant contract fees as declared in the
|
|
6
|
+
* all relevant contract fees as declared in the bizinikiwi chain spec.
|
|
7
7
|
* @example
|
|
8
8
|
* ```javascript
|
|
9
9
|
* api.derive.contracts.fees(([creationFee, transferFee]) => {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fees = fees;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const index_js_1 = require("../util/index.js");
|
|
6
|
+
function queryConstants(api) {
|
|
7
|
+
return (0, rxjs_1.of)([
|
|
8
|
+
// deprecated
|
|
9
|
+
api.consts.contracts['callBaseFee'] || api.registry.createType('Balance'),
|
|
10
|
+
api.consts.contracts['contractFee'] || api.registry.createType('Balance'),
|
|
11
|
+
api.consts.contracts['creationFee'] || api.registry.createType('Balance'),
|
|
12
|
+
api.consts.contracts['transactionBaseFee'] || api.registry.createType('Balance'),
|
|
13
|
+
api.consts.contracts['transactionByteFee'] || api.registry.createType('Balance'),
|
|
14
|
+
api.consts.contracts['transferFee'] || api.registry.createType('Balance'),
|
|
15
|
+
// current
|
|
16
|
+
api.consts.contracts['rentByteFee'] || api.registry.createType('Balance'),
|
|
17
|
+
api.consts.contracts['rentDepositOffset'] || api.registry.createType('Balance'),
|
|
18
|
+
api.consts.contracts['surchargeReward'] || api.registry.createType('Balance'),
|
|
19
|
+
api.consts.contracts['tombstoneDeposit'] || api.registry.createType('Balance')
|
|
20
|
+
]);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @name fees
|
|
24
|
+
* @returns An object containing the combined results of the queries for
|
|
25
|
+
* all relevant contract fees as declared in the bizinikiwi chain spec.
|
|
26
|
+
* @example
|
|
27
|
+
* ```javascript
|
|
28
|
+
* api.derive.contracts.fees(([creationFee, transferFee]) => {
|
|
29
|
+
* console.log(`The fee for creating a new contract on this chain is ${creationFee} units. The fee required to call this contract is ${transferFee} units.`);
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
function fees(instanceId, api) {
|
|
34
|
+
return (0, index_js_1.memo)(instanceId, () => {
|
|
35
|
+
return queryConstants(api).pipe((0, rxjs_1.map)(([callBaseFee, contractFee, creationFee, transactionBaseFee, transactionByteFee, transferFee, rentByteFee, rentDepositOffset, surchargeReward, tombstoneDeposit]) => ({
|
|
36
|
+
callBaseFee,
|
|
37
|
+
contractFee,
|
|
38
|
+
creationFee,
|
|
39
|
+
rentByteFee,
|
|
40
|
+
rentDepositOffset,
|
|
41
|
+
surchargeReward,
|
|
42
|
+
tombstoneDeposit,
|
|
43
|
+
transactionBaseFee,
|
|
44
|
+
transactionByteFee,
|
|
45
|
+
transferFee
|
|
46
|
+
})));
|
|
47
|
+
});
|
|
48
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prime = exports.proposals = exports.proposalHashes = exports.proposalCount = exports.proposal = exports.hasProposals = exports.members = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const index_js_1 = require("../collective/index.js");
|
|
6
|
+
tslib_1.__exportStar(require("./votes.js"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./votesOf.js"), exports);
|
|
8
|
+
/**
|
|
9
|
+
* @name members
|
|
10
|
+
* @description Retrieves the list of members in the "council" collective.
|
|
11
|
+
* @example
|
|
12
|
+
* ```javascript
|
|
13
|
+
* const members = await api.derive.council.members();
|
|
14
|
+
* console.log(`Members: ${JSON.stringify(members)});
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
exports.members = (0, index_js_1.members)('council');
|
|
18
|
+
/**
|
|
19
|
+
* @name hasProposals
|
|
20
|
+
* @description Checks if there are any active proposals in the "council" collective.
|
|
21
|
+
* @example
|
|
22
|
+
* ```javascript
|
|
23
|
+
* const exists = await api.derive.council.hasProposals();
|
|
24
|
+
* console.log(exists);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
exports.hasProposals = (0, index_js_1.hasProposals)('council');
|
|
28
|
+
/**
|
|
29
|
+
* @name proposal
|
|
30
|
+
* @description Retrieves details of a specific proposal in the "councilMotion" collective by its hash.
|
|
31
|
+
* @example
|
|
32
|
+
* ```javascript
|
|
33
|
+
* const proposalDetails = await api.derive.council.proposal(PROPOSAL_HASH);
|
|
34
|
+
* console.log(proposalDetails);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
exports.proposal = (0, index_js_1.proposal)('council');
|
|
38
|
+
/**
|
|
39
|
+
* @name proposalCount
|
|
40
|
+
* @description Retrieves the total number of proposals in the "council" collective.
|
|
41
|
+
* @example
|
|
42
|
+
* ```javascript
|
|
43
|
+
* const count = await api.derive.council.proposalCount();
|
|
44
|
+
* console.log(`Amount of proposals: ${count}`);
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
exports.proposalCount = (0, index_js_1.proposalCount)('council');
|
|
48
|
+
/**
|
|
49
|
+
* @name proposalHashes
|
|
50
|
+
* @description Retrieves an array of hashes for all active proposals in the "council" collective.
|
|
51
|
+
* @example
|
|
52
|
+
* ```javascript
|
|
53
|
+
* const hashes = await api.derive.council.proposalHashes();
|
|
54
|
+
* console.log(`Proposals ${JSON.stringify(hashes)}`);
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
exports.proposalHashes = (0, index_js_1.proposalHashes)('council');
|
|
58
|
+
/**
|
|
59
|
+
* @name proposals
|
|
60
|
+
* @description Retrieves a list of all active proposals in the "council" collective.
|
|
61
|
+
* @example
|
|
62
|
+
* ```javascript
|
|
63
|
+
* const proposals = await api.derive.council.proposals();
|
|
64
|
+
* console.log(proposals);
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
exports.proposals = (0, index_js_1.proposals)('council');
|
|
68
|
+
/**
|
|
69
|
+
* @name prime
|
|
70
|
+
* @description Retrieves the prime member of the "council" collective, if one exists.
|
|
71
|
+
* @example
|
|
72
|
+
* ```javascript
|
|
73
|
+
* const primeMember = await api.derive.council.prime();
|
|
74
|
+
* console.log(primeMember);
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
exports.prime = (0, index_js_1.prime)('council');
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.votes = votes;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const index_js_1 = require("../util/index.js");
|
|
6
|
+
function isVoter(value) {
|
|
7
|
+
return !Array.isArray(value);
|
|
8
|
+
}
|
|
9
|
+
function retrieveStakeOf(elections) {
|
|
10
|
+
return elections['stakeOf'].entries().pipe((0, rxjs_1.map)((entries) => entries.map(([{ args: [accountId] }, stake]) => [accountId, stake])));
|
|
11
|
+
}
|
|
12
|
+
function retrieveVoteOf(elections) {
|
|
13
|
+
return elections['votesOf'].entries().pipe((0, rxjs_1.map)((entries) => entries.map(([{ args: [accountId] }, votes]) => [accountId, votes])));
|
|
14
|
+
}
|
|
15
|
+
function retrievePrev(api, elections) {
|
|
16
|
+
return (0, rxjs_1.combineLatest)([
|
|
17
|
+
retrieveStakeOf(elections),
|
|
18
|
+
retrieveVoteOf(elections)
|
|
19
|
+
]).pipe((0, rxjs_1.map)(([stakes, votes]) => {
|
|
20
|
+
const result = [];
|
|
21
|
+
votes.forEach(([voter, votes]) => {
|
|
22
|
+
result.push([voter, { stake: api.registry.createType('Balance'), votes }]);
|
|
23
|
+
});
|
|
24
|
+
stakes.forEach(([staker, stake]) => {
|
|
25
|
+
const entry = result.find(([voter]) => voter.eq(staker));
|
|
26
|
+
if (entry) {
|
|
27
|
+
entry[1].stake = stake;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
result.push([staker, { stake, votes: [] }]);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return result;
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
function retrieveCurrent(elections) {
|
|
37
|
+
return elections.voting.entries().pipe((0, rxjs_1.map)((entries) => entries.map(([{ args: [accountId] }, value]) => [
|
|
38
|
+
accountId,
|
|
39
|
+
isVoter(value)
|
|
40
|
+
? { stake: value.stake, votes: value.votes }
|
|
41
|
+
: { stake: value[0], votes: value[1] }
|
|
42
|
+
])));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @name votes
|
|
46
|
+
* @description Retrieves the council election votes for all participants.
|
|
47
|
+
* @example
|
|
48
|
+
* ```javascript
|
|
49
|
+
* const votes = await api.derive.council.votes();
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
function votes(instanceId, api) {
|
|
53
|
+
const elections = api.query.elections || api.query['phragmenElection'] || api.query['electionsPhragmen'];
|
|
54
|
+
return (0, index_js_1.memo)(instanceId, () => elections
|
|
55
|
+
? elections['stakeOf']
|
|
56
|
+
? retrievePrev(api, elections)
|
|
57
|
+
: retrieveCurrent(elections)
|
|
58
|
+
: (0, rxjs_1.of)([]));
|
|
59
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.votesOf = votesOf;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const index_js_1 = require("../util/index.js");
|
|
6
|
+
/**
|
|
7
|
+
* @name votesOf
|
|
8
|
+
* @description Retrieves the council votes associated with a given account.
|
|
9
|
+
* @returns The stake and the list of candidates the account has voted for.
|
|
10
|
+
* @param {string | Uint8Array | AccountId} accountId The accountId to retrieve votes for.
|
|
11
|
+
* @example
|
|
12
|
+
* ```javascript
|
|
13
|
+
* const accountId = "5Gw3s7qQ9Z..."; // Replace with a valid account ID
|
|
14
|
+
* const votes = await api.derive.council.votesOf(accountId);
|
|
15
|
+
* console.log("Account votes:", votes);
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
function votesOf(instanceId, api) {
|
|
19
|
+
return (0, index_js_1.memo)(instanceId, (accountId) => api.derive.council.votes().pipe((0, rxjs_1.map)((votes) => (votes.find(([from]) => from.eq(accountId)) ||
|
|
20
|
+
[null, { stake: api.registry.createType('Balance'), votes: [] }])[1])));
|
|
21
|
+
}
|
|
@@ -3,9 +3,9 @@ import type { BN } from '@pezkuwi/util';
|
|
|
3
3
|
import type { DeriveApi } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* @name childKey
|
|
6
|
-
* @description Retrieves the child storage key for a given
|
|
6
|
+
* @description Retrieves the child storage key for a given teyrchain’s crowdloan contributions.
|
|
7
7
|
* This key is used to access contribution data stored in a separate child trie of the blockchain’s state.
|
|
8
|
-
* @param {string | number | BN} paraId The
|
|
8
|
+
* @param {string | number | BN} paraId The teyrchain ID for which contributions are being queried.
|
|
9
9
|
* @example
|
|
10
10
|
* ```javascript
|
|
11
11
|
* const childKey = await api.derive.crowdloan.childKey(3369);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.childKey = childKey;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const util_1 = require("@pezkuwi/util");
|
|
6
|
+
const util_crypto_1 = require("@pezkuwi/util-crypto");
|
|
7
|
+
const index_js_1 = require("../util/index.js");
|
|
8
|
+
function createChildKey(info) {
|
|
9
|
+
return (0, util_1.u8aToHex)((0, util_1.u8aConcat)(':child_storage:default:', (0, util_crypto_1.blake2AsU8a)((0, util_1.u8aConcat)('crowdloan', (info.fundIndex || info.trieIndex).toU8a()))));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @name childKey
|
|
13
|
+
* @description Retrieves the child storage key for a given teyrchain’s crowdloan contributions.
|
|
14
|
+
* This key is used to access contribution data stored in a separate child trie of the blockchain’s state.
|
|
15
|
+
* @param {string | number | BN} paraId The teyrchain ID for which contributions are being queried.
|
|
16
|
+
* @example
|
|
17
|
+
* ```javascript
|
|
18
|
+
* const childKey = await api.derive.crowdloan.childKey(3369);
|
|
19
|
+
* console.log("Child Key:", childKey);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
function childKey(instanceId, api) {
|
|
23
|
+
return (0, index_js_1.memo)(instanceId, (paraId) => api.query['crowdloan']['funds'](paraId).pipe((0, rxjs_1.map)((optInfo) => optInfo.isSome
|
|
24
|
+
? createChildKey(optInfo.unwrap())
|
|
25
|
+
: null)));
|
|
26
|
+
}
|
|
@@ -3,8 +3,8 @@ import type { BN } from '@pezkuwi/util';
|
|
|
3
3
|
import type { DeriveApi, DeriveContributions } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* @name contributions
|
|
6
|
-
* @description Retrieves all contributions for a given
|
|
7
|
-
* @param {string | number | BN} paraId The
|
|
6
|
+
* @description Retrieves all contributions for a given teyrchain crowdloan.
|
|
7
|
+
* @param {string | number | BN} paraId The teyrchain ID for which contributions are being queried.
|
|
8
8
|
* @example
|
|
9
9
|
* ```javascript
|
|
10
10
|
* const contributions = await api.derive.crowdloan.contributions(3369);
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.contributions = contributions;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const util_1 = require("@pezkuwi/util");
|
|
6
|
+
const index_js_1 = require("../util/index.js");
|
|
7
|
+
const util_js_1 = require("./util.js");
|
|
8
|
+
const PAGE_SIZE_K = 1000; // limit aligned with the 1k on the node (trie lookups are heavy)
|
|
9
|
+
function _getUpdates(api, paraId) {
|
|
10
|
+
let added = [];
|
|
11
|
+
let removed = [];
|
|
12
|
+
return api.query.system.events().pipe((0, rxjs_1.switchMap)((events) => {
|
|
13
|
+
const changes = (0, util_js_1.extractContributed)(paraId, events);
|
|
14
|
+
if (changes.added.length || changes.removed.length) {
|
|
15
|
+
added = added.concat(...changes.added);
|
|
16
|
+
removed = removed.concat(...changes.removed);
|
|
17
|
+
return (0, rxjs_1.of)({ added, addedDelta: changes.added, blockHash: events.createdAtHash?.toHex() || '-', removed, removedDelta: changes.removed });
|
|
18
|
+
}
|
|
19
|
+
return rxjs_1.EMPTY;
|
|
20
|
+
}), (0, rxjs_1.startWith)({ added, addedDelta: [], blockHash: '-', removed, removedDelta: [] }));
|
|
21
|
+
}
|
|
22
|
+
function _eventTriggerAll(api, paraId) {
|
|
23
|
+
return api.query.system.events().pipe((0, rxjs_1.switchMap)((events) => {
|
|
24
|
+
const items = events.filter(({ event: { data: [eventParaId], method, section } }) => section === 'crowdloan' &&
|
|
25
|
+
['AllRefunded', 'Dissolved', 'PartiallyRefunded'].includes(method) &&
|
|
26
|
+
eventParaId.eq(paraId));
|
|
27
|
+
return items.length
|
|
28
|
+
? (0, rxjs_1.of)(events.createdAtHash?.toHex() || '-')
|
|
29
|
+
: rxjs_1.EMPTY;
|
|
30
|
+
}), (0, rxjs_1.startWith)('-'));
|
|
31
|
+
}
|
|
32
|
+
function _getKeysPaged(api, childKey) {
|
|
33
|
+
const subject = new rxjs_1.BehaviorSubject(undefined);
|
|
34
|
+
return subject.pipe((0, rxjs_1.switchMap)((startKey) => api.rpc.childstate.getKeysPaged(childKey, '0x', PAGE_SIZE_K, startKey)), (0, rxjs_1.tap)((keys) => {
|
|
35
|
+
(0, util_1.nextTick)(() => {
|
|
36
|
+
keys.length === PAGE_SIZE_K
|
|
37
|
+
? subject.next(keys[PAGE_SIZE_K - 1].toHex())
|
|
38
|
+
: subject.complete();
|
|
39
|
+
});
|
|
40
|
+
}), (0, rxjs_1.toArray)(), // toArray since we want to startSubject to be completed
|
|
41
|
+
(0, rxjs_1.map)((keyArr) => (0, util_1.arrayFlatten)(keyArr)));
|
|
42
|
+
}
|
|
43
|
+
function _getAll(api, paraId, childKey) {
|
|
44
|
+
return _eventTriggerAll(api, paraId).pipe((0, rxjs_1.switchMap)(() => (0, util_1.isFunction)(api.rpc.childstate.getKeysPaged)
|
|
45
|
+
? _getKeysPaged(api, childKey)
|
|
46
|
+
: api.rpc.childstate.getKeys(childKey, '0x')), (0, rxjs_1.map)((keys) => keys.map((k) => k.toHex())));
|
|
47
|
+
}
|
|
48
|
+
function _contributions(api, paraId, childKey) {
|
|
49
|
+
return (0, rxjs_1.combineLatest)([
|
|
50
|
+
_getAll(api, paraId, childKey),
|
|
51
|
+
_getUpdates(api, paraId)
|
|
52
|
+
]).pipe((0, rxjs_1.map)(([keys, { added, blockHash, removed }]) => {
|
|
53
|
+
const contributorsMap = {};
|
|
54
|
+
keys.forEach((k) => {
|
|
55
|
+
contributorsMap[k] = true;
|
|
56
|
+
});
|
|
57
|
+
added.forEach((k) => {
|
|
58
|
+
contributorsMap[k] = true;
|
|
59
|
+
});
|
|
60
|
+
removed.forEach((k) => {
|
|
61
|
+
delete contributorsMap[k];
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
blockHash,
|
|
65
|
+
contributorsHex: Object.keys(contributorsMap)
|
|
66
|
+
};
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @name contributions
|
|
71
|
+
* @description Retrieves all contributions for a given teyrchain crowdloan.
|
|
72
|
+
* @param {string | number | BN} paraId The teyrchain ID for which contributions are being queried.
|
|
73
|
+
* @example
|
|
74
|
+
* ```javascript
|
|
75
|
+
* const contributions = await api.derive.crowdloan.contributions(3369);
|
|
76
|
+
* console.log("Contributions:", contributions);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
function contributions(instanceId, api) {
|
|
80
|
+
return (0, index_js_1.memo)(instanceId, (paraId) => api.derive.crowdloan.childKey(paraId).pipe((0, rxjs_1.switchMap)((childKey) => childKey
|
|
81
|
+
? _contributions(api, paraId, childKey)
|
|
82
|
+
: (0, rxjs_1.of)({ blockHash: '-', contributorsHex: [] }))));
|
|
83
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./childKey.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./contributions.js"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./ownContributions.js"), exports);
|
|
@@ -3,8 +3,8 @@ import type { BN } from '@pezkuwi/util';
|
|
|
3
3
|
import type { DeriveApi, DeriveOwnContributions } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* @name ownContributions
|
|
6
|
-
* @description Retrieves the contribution amounts made by specific accounts (`keys`) to a given
|
|
7
|
-
* @param {string | number | BN} paraId The
|
|
6
|
+
* @description Retrieves the contribution amounts made by specific accounts (`keys`) to a given teyrchain crowdloan (`paraId`).
|
|
7
|
+
* @param {string | number | BN} paraId The teyrchain ID for which contributions are being queried.
|
|
8
8
|
* @param {string[]} keys An array of account addresses whose contributions are to be fetched.
|
|
9
9
|
* @example
|
|
10
10
|
* ```javascript
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ownContributions = ownContributions;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const util_1 = require("@pezkuwi/util");
|
|
6
|
+
const index_js_1 = require("../util/index.js");
|
|
7
|
+
const util_js_1 = require("./util.js");
|
|
8
|
+
function _getValues(api, childKey, keys) {
|
|
9
|
+
// We actually would love to use multi-keys https://github.com/pezkuwichain/bizinikiwi/issues/9203
|
|
10
|
+
return (0, rxjs_1.combineLatest)(keys.map((k) => api.rpc.childstate.getStorage(childKey, k))).pipe((0, rxjs_1.map)((values) => values
|
|
11
|
+
.map((v) => api.registry.createType('Option<StorageData>', v))
|
|
12
|
+
.map((o) => o.isSome
|
|
13
|
+
? api.registry.createType('Balance', o.unwrap())
|
|
14
|
+
: api.registry.createType('Balance'))
|
|
15
|
+
.reduce((all, b, index) => (0, util_1.objectSpread)(all, { [keys[index]]: b }), {})));
|
|
16
|
+
}
|
|
17
|
+
function _watchOwnChanges(api, paraId, childkey, keys) {
|
|
18
|
+
return api.query.system.events().pipe((0, rxjs_1.switchMap)((events) => {
|
|
19
|
+
const changes = (0, util_js_1.extractContributed)(paraId, events);
|
|
20
|
+
const filtered = keys.filter((k) => changes.added.includes(k) ||
|
|
21
|
+
changes.removed.includes(k));
|
|
22
|
+
return filtered.length
|
|
23
|
+
? _getValues(api, childkey, filtered)
|
|
24
|
+
: rxjs_1.EMPTY;
|
|
25
|
+
}), (0, rxjs_1.startWith)({}));
|
|
26
|
+
}
|
|
27
|
+
function _contributions(api, paraId, childKey, keys) {
|
|
28
|
+
return (0, rxjs_1.combineLatest)([
|
|
29
|
+
_getValues(api, childKey, keys),
|
|
30
|
+
_watchOwnChanges(api, paraId, childKey, keys)
|
|
31
|
+
]).pipe((0, rxjs_1.map)(([all, latest]) => (0, util_1.objectSpread)({}, all, latest)));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @name ownContributions
|
|
35
|
+
* @description Retrieves the contribution amounts made by specific accounts (`keys`) to a given teyrchain crowdloan (`paraId`).
|
|
36
|
+
* @param {string | number | BN} paraId The teyrchain ID for which contributions are being queried.
|
|
37
|
+
* @param {string[]} keys An array of account addresses whose contributions are to be fetched.
|
|
38
|
+
* @example
|
|
39
|
+
* ```javascript
|
|
40
|
+
* const contributions = await api.derive.crowdloan.ownContributions(2000, ['5Ff...PqV', '5Gg...XyZ']);
|
|
41
|
+
* console.log("Own Contributions:", contributions);
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
function ownContributions(instanceId, api) {
|
|
45
|
+
return (0, index_js_1.memo)(instanceId, (paraId, keys) => api.derive.crowdloan.childKey(paraId).pipe((0, rxjs_1.switchMap)((childKey) => childKey && keys.length
|
|
46
|
+
? _contributions(api, paraId, childKey, keys)
|
|
47
|
+
: (0, rxjs_1.of)({}))));
|
|
48
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PezframeSystemEventRecord } from '@pezkuwi/types/lookup';
|
|
2
2
|
import type { Vec } from '@pezkuwi/types-codec';
|
|
3
3
|
import type { BN } from '@pezkuwi/util';
|
|
4
4
|
interface Changes {
|
|
@@ -6,5 +6,5 @@ interface Changes {
|
|
|
6
6
|
blockHash: string;
|
|
7
7
|
removed: string[];
|
|
8
8
|
}
|
|
9
|
-
export declare function extractContributed(paraId: string | number | BN, events: Vec<
|
|
9
|
+
export declare function extractContributed(paraId: string | number | BN, events: Vec<PezframeSystemEventRecord>): Changes;
|
|
10
10
|
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractContributed = extractContributed;
|
|
4
|
+
function extractContributed(paraId, events) {
|
|
5
|
+
const added = [];
|
|
6
|
+
const removed = [];
|
|
7
|
+
return events
|
|
8
|
+
.filter(({ event: { data: [, eventParaId], method, section } }) => section === 'crowdloan' &&
|
|
9
|
+
['Contributed', 'Withdrew'].includes(method) &&
|
|
10
|
+
eventParaId.eq(paraId))
|
|
11
|
+
.reduce((result, { event: { data: [accountId], method } }) => {
|
|
12
|
+
if (method === 'Contributed') {
|
|
13
|
+
result.added.push(accountId.toHex());
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
result.removed.push(accountId.toHex());
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
}, { added, blockHash: events.createdAtHash?.toHex() || '-', removed });
|
|
20
|
+
}
|