@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
|
+
import type { Observable } from 'rxjs';
|
|
2
|
+
import type { GenericExtrinsic } from '@pezkuwi/types';
|
|
3
|
+
import type { EventRecord, Hash } from '@pezkuwi/types/interfaces';
|
|
4
|
+
import type { DeriveApi } from '../types.js';
|
|
5
|
+
interface ExtrinsicInfo {
|
|
6
|
+
blockHash: Hash | string;
|
|
7
|
+
blockNumber: number;
|
|
8
|
+
extrinsic: GenericExtrinsic;
|
|
9
|
+
events: EventRecord[];
|
|
10
|
+
success: boolean;
|
|
11
|
+
}
|
|
12
|
+
interface ExtrinsicsInfo {
|
|
13
|
+
blockHash: Hash | string;
|
|
14
|
+
blockNumber: number;
|
|
15
|
+
extrinsics: {
|
|
16
|
+
events: EventRecord[];
|
|
17
|
+
extrinsic: GenericExtrinsic;
|
|
18
|
+
success: boolean;
|
|
19
|
+
}[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @name extrinsicInfo
|
|
23
|
+
* @param { Hash } at The block hash to query at.
|
|
24
|
+
* @param { Uint8Array | string } transactionHash A transaction hash as U8 array or string.
|
|
25
|
+
* @description Retrieves the extrinsic information and its events.
|
|
26
|
+
* @example
|
|
27
|
+
* ```javascript
|
|
28
|
+
* const blockHash = api.registry.createType(
|
|
29
|
+
* 'Hash',
|
|
30
|
+
* '0xb772e4949d2f3eb5ba356aa43f885cc4f9097ee9812c5436543f3846a0491729'
|
|
31
|
+
* );
|
|
32
|
+
* const extrinsicInfo = await api.derive.tx.extrinsicInfo(
|
|
33
|
+
* blockHash,
|
|
34
|
+
* '0xcd96520b05e0c4648ea365f3f063f27c5cdd8be10d41a1c44566428c91f37dcb'
|
|
35
|
+
* );
|
|
36
|
+
*
|
|
37
|
+
* console.log(extrinsicInfo.extrinsic.toHuman());
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function extrinsicInfo(instanceId: string, api: DeriveApi): (at: Hash, transactionHash: Uint8Array | string) => Observable<ExtrinsicInfo | null>;
|
|
41
|
+
/**
|
|
42
|
+
* @name accountExtrinsics
|
|
43
|
+
* @description Retrieves information about every extrinsic submitted by an account at a given block.
|
|
44
|
+
* @param { Hash } at The block hash to query at.
|
|
45
|
+
* @param { Uint8Array | strings } accountId The account identifier to query.
|
|
46
|
+
* @example
|
|
47
|
+
* ```javascript
|
|
48
|
+
const blockHash = api.registry.createType(
|
|
49
|
+
'Hash',
|
|
50
|
+
'0xb772e4949d2f3eb5ba356aa43f885cc4f9097ee9812c5436543f3846a0491729'
|
|
51
|
+
);
|
|
52
|
+
const extrinsicsInfo = await api.derive.tx.accountExtrinsics(
|
|
53
|
+
blockHash,
|
|
54
|
+
'0x21895DdfD4640b4e0aDCa2865b907f2CE6e6B777'
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
console.log(extrinsicsInfo.extrinsics[0]).extrinsic.toHuman();
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function accountExtrinsics(instanceId: string, api: DeriveApi): (at: Hash, accountId: Uint8Array | string) => Observable<ExtrinsicsInfo>;
|
|
61
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { map } from 'rxjs';
|
|
2
|
+
import { memo } from '../util/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* @name extrinsicInfo
|
|
5
|
+
* @param { Hash } at The block hash to query at.
|
|
6
|
+
* @param { Uint8Array | string } transactionHash A transaction hash as U8 array or string.
|
|
7
|
+
* @description Retrieves the extrinsic information and its events.
|
|
8
|
+
* @example
|
|
9
|
+
* ```javascript
|
|
10
|
+
* const blockHash = api.registry.createType(
|
|
11
|
+
* 'Hash',
|
|
12
|
+
* '0xb772e4949d2f3eb5ba356aa43f885cc4f9097ee9812c5436543f3846a0491729'
|
|
13
|
+
* );
|
|
14
|
+
* const extrinsicInfo = await api.derive.tx.extrinsicInfo(
|
|
15
|
+
* blockHash,
|
|
16
|
+
* '0xcd96520b05e0c4648ea365f3f063f27c5cdd8be10d41a1c44566428c91f37dcb'
|
|
17
|
+
* );
|
|
18
|
+
*
|
|
19
|
+
* console.log(extrinsicInfo.extrinsic.toHuman());
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export function extrinsicInfo(instanceId, api) {
|
|
23
|
+
return memo(instanceId, (at, transactionHash) => {
|
|
24
|
+
return api.derive.tx.events(at).pipe(map(({ block, events }) => {
|
|
25
|
+
const index = block.block.extrinsics.findIndex((ext) => ext.hash.toString() === transactionHash);
|
|
26
|
+
if (index === -1) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const extEvents = events.filter(({ phase }) => phase.isApplyExtrinsic && phase.asApplyExtrinsic.eq(index));
|
|
30
|
+
return {
|
|
31
|
+
blockHash: block.hash.toHex(),
|
|
32
|
+
blockNumber: block.block.header.number.toNumber(),
|
|
33
|
+
events: extEvents,
|
|
34
|
+
extrinsic: block.block.extrinsics[index],
|
|
35
|
+
success: (extEvents.findIndex((ev) => ev.event.method === 'ExtrinsicSuccess') !== -1)
|
|
36
|
+
};
|
|
37
|
+
}));
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @name accountExtrinsics
|
|
42
|
+
* @description Retrieves information about every extrinsic submitted by an account at a given block.
|
|
43
|
+
* @param { Hash } at The block hash to query at.
|
|
44
|
+
* @param { Uint8Array | strings } accountId The account identifier to query.
|
|
45
|
+
* @example
|
|
46
|
+
* ```javascript
|
|
47
|
+
const blockHash = api.registry.createType(
|
|
48
|
+
'Hash',
|
|
49
|
+
'0xb772e4949d2f3eb5ba356aa43f885cc4f9097ee9812c5436543f3846a0491729'
|
|
50
|
+
);
|
|
51
|
+
const extrinsicsInfo = await api.derive.tx.accountExtrinsics(
|
|
52
|
+
blockHash,
|
|
53
|
+
'0x21895DdfD4640b4e0aDCa2865b907f2CE6e6B777'
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
console.log(extrinsicsInfo.extrinsics[0]).extrinsic.toHuman();
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export function accountExtrinsics(instanceId, api) {
|
|
60
|
+
return memo(instanceId, (at, accountId) => {
|
|
61
|
+
return api.derive.tx.events(at).pipe(map(({ block, events }) => {
|
|
62
|
+
const indexes = [];
|
|
63
|
+
return {
|
|
64
|
+
blockHash: block.hash.toHex(),
|
|
65
|
+
blockNumber: block.block.header.number.toNumber(),
|
|
66
|
+
extrinsics: block.block.extrinsics.filter((ext, index) => {
|
|
67
|
+
if (ext.signer.toString() === accountId) {
|
|
68
|
+
indexes.push(index);
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
72
|
+
}).map((ext, i) => {
|
|
73
|
+
const extEvents = events.filter(({ phase }) => phase.isApplyExtrinsic && phase.asApplyExtrinsic.eq(indexes[i]));
|
|
74
|
+
return {
|
|
75
|
+
events: extEvents,
|
|
76
|
+
extrinsic: ext,
|
|
77
|
+
success: (extEvents.findIndex((ev) => ev.event.method === 'ExtrinsicSuccess') !== -1)
|
|
78
|
+
};
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
}));
|
|
82
|
+
});
|
|
83
|
+
}
|
package/tx/index.d.ts
ADDED
package/tx/index.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Observable } from 'rxjs';
|
|
2
|
+
import type { Header, Index } from '@pezkuwi/types/interfaces';
|
|
3
|
+
import type { AnyNumber, Codec, IExtrinsicEra } from '@pezkuwi/types/types';
|
|
4
|
+
import type { DeriveApi } from '../types.js';
|
|
5
|
+
interface Result {
|
|
6
|
+
header: Header | null;
|
|
7
|
+
mortalLength: number;
|
|
8
|
+
nonce: Index;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @name signingInfo
|
|
12
|
+
* @description Retrieves signing-related information for an account, including the nonce, block header, and mortal length.
|
|
13
|
+
* @param {string} address The account address for which signing information is needed.
|
|
14
|
+
* @param { BN | bigint | Uint8Array | number | string } nonce? (Optional) The nonce to use. If `undefined`, the latest nonce is retrieved.
|
|
15
|
+
* @param { IExtrinsicEra | number } era? (Optional) The transaction era.
|
|
16
|
+
* @example
|
|
17
|
+
* ```javascript
|
|
18
|
+
* const info = await api.derive.tx.signingInfo(
|
|
19
|
+
* "14mM9FRDDtwSYicjNxSvMfQkap8o4m9zHq7hNW4JpbSL4PPU"
|
|
20
|
+
* );
|
|
21
|
+
* console.log(info);
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function signingInfo(_instanceId: string, api: DeriveApi): (address: string, nonce?: AnyNumber | Codec, era?: IExtrinsicEra | number) => Observable<Result>;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { catchError, combineLatest, map, of, switchMap } from 'rxjs';
|
|
2
|
+
import { isNumber, isUndefined } from '@pezkuwi/util';
|
|
3
|
+
import { unwrapBlockNumber } from '../util/index.js';
|
|
4
|
+
import { FALLBACK_MAX_HASH_COUNT, FALLBACK_PERIOD, MAX_FINALITY_LAG, MORTAL_PERIOD } from './constants.js';
|
|
5
|
+
function latestNonce(api, address) {
|
|
6
|
+
return api.derive.balances.account(address).pipe(map(({ accountNonce }) => accountNonce));
|
|
7
|
+
}
|
|
8
|
+
function nextNonce(api, address) {
|
|
9
|
+
if (api.call.accountNonceApi) {
|
|
10
|
+
return api.call.accountNonceApi.accountNonce(address);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
return api.rpc.system?.accountNextIndex
|
|
14
|
+
? api.rpc.system.accountNextIndex(address)
|
|
15
|
+
: latestNonce(api, address);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function signingHeader(api) {
|
|
19
|
+
return combineLatest([
|
|
20
|
+
api.rpc.chain.getHeader().pipe(switchMap((header) =>
|
|
21
|
+
// check for chains at genesis (until block 1 is produced, e.g. 6s), since
|
|
22
|
+
// we do need to allow transactions at chain start (also dev/seal chains)
|
|
23
|
+
header.parentHash.isEmpty
|
|
24
|
+
? of(header)
|
|
25
|
+
// in the case of the current block, we use the parent to minimize the
|
|
26
|
+
// impact of forks on the system, but not completely remove it
|
|
27
|
+
: api.rpc.chain.getHeader(header.parentHash).pipe(catchError(() => of(header))))),
|
|
28
|
+
api.rpc.chain.getFinalizedHead().pipe(switchMap((hash) => api.rpc.chain.getHeader(hash).pipe(catchError(() => of(null)))))
|
|
29
|
+
]).pipe(map(([current, finalized]) =>
|
|
30
|
+
// determine the hash to use, current when lag > max, else finalized
|
|
31
|
+
!finalized || unwrapBlockNumber(current).sub(unwrapBlockNumber(finalized)).gt(MAX_FINALITY_LAG)
|
|
32
|
+
? current
|
|
33
|
+
: finalized));
|
|
34
|
+
}
|
|
35
|
+
function babeOrAuraPeriod(api) {
|
|
36
|
+
const period = api.consts.babe?.expectedBlockTime ||
|
|
37
|
+
// this will be present ones https://github.com/pezkuwichain/pezkuwi-sdk/pull/3732 is merged
|
|
38
|
+
// eslint-disable-next-line
|
|
39
|
+
api.consts['aura']?.['slotDuration'] ||
|
|
40
|
+
api.consts.timestamp?.minimumPeriod.muln(2);
|
|
41
|
+
return period && period.isZero && !period.isZero() ? period : undefined;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @name signingInfo
|
|
45
|
+
* @description Retrieves signing-related information for an account, including the nonce, block header, and mortal length.
|
|
46
|
+
* @param {string} address The account address for which signing information is needed.
|
|
47
|
+
* @param { BN | bigint | Uint8Array | number | string } nonce? (Optional) The nonce to use. If `undefined`, the latest nonce is retrieved.
|
|
48
|
+
* @param { IExtrinsicEra | number } era? (Optional) The transaction era.
|
|
49
|
+
* @example
|
|
50
|
+
* ```javascript
|
|
51
|
+
* const info = await api.derive.tx.signingInfo(
|
|
52
|
+
* "14mM9FRDDtwSYicjNxSvMfQkap8o4m9zHq7hNW4JpbSL4PPU"
|
|
53
|
+
* );
|
|
54
|
+
* console.log(info);
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export function signingInfo(_instanceId, api) {
|
|
58
|
+
// no memo, we want to do this fresh on each run
|
|
59
|
+
return (address, nonce, era) => combineLatest([
|
|
60
|
+
// retrieve nonce if none was specified
|
|
61
|
+
isUndefined(nonce)
|
|
62
|
+
? latestNonce(api, address)
|
|
63
|
+
: nonce === -1
|
|
64
|
+
? nextNonce(api, address)
|
|
65
|
+
: of(api.registry.createType('Index', nonce)),
|
|
66
|
+
// if no era (create) or era > 0 (mortal), do block retrieval
|
|
67
|
+
(isUndefined(era) || (isNumber(era) && era > 0))
|
|
68
|
+
? signingHeader(api)
|
|
69
|
+
: of(null)
|
|
70
|
+
]).pipe(map(([nonce, header]) => ({
|
|
71
|
+
header,
|
|
72
|
+
mortalLength: Math.min(api.consts.system?.blockHashCount?.toNumber() || FALLBACK_MAX_HASH_COUNT, MORTAL_PERIOD
|
|
73
|
+
.div(babeOrAuraPeriod(api) || FALLBACK_PERIOD)
|
|
74
|
+
.iadd(MAX_FINALITY_LAG)
|
|
75
|
+
.toNumber()),
|
|
76
|
+
nonce
|
|
77
|
+
})));
|
|
78
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AccountId, Header } from '@pezkuwi/types/interfaces';
|
|
2
|
+
import type { Registry } from '@pezkuwi/types/types';
|
|
3
|
+
import type { HeaderExtended } from './types.js';
|
|
4
|
+
export declare function createHeaderExtended(registry: Registry, header?: Header, validators?: AccountId[] | null, author?: AccountId | null): HeaderExtended;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { extractAuthor } from './util.js';
|
|
2
|
+
export function createHeaderExtended(registry, header, validators, author) {
|
|
3
|
+
// an instance of the base extrinsic for us to extend
|
|
4
|
+
const HeaderBase = registry.createClass('Header');
|
|
5
|
+
class Implementation extends HeaderBase {
|
|
6
|
+
#author;
|
|
7
|
+
constructor(registry, header, validators, author) {
|
|
8
|
+
super(registry, header);
|
|
9
|
+
this.#author = author || extractAuthor(this.digest, validators || []);
|
|
10
|
+
this.createdAtHash = header?.createdAtHash;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @description Convenience method, returns the author for the block
|
|
14
|
+
*/
|
|
15
|
+
get author() {
|
|
16
|
+
return this.#author;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return new Implementation(registry, header, validators, author);
|
|
20
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AccountId, EventRecord, SignedBlock } from '@pezkuwi/types/interfaces';
|
|
2
|
+
import type { Registry } from '@pezkuwi/types/types';
|
|
3
|
+
import type { SignedBlockExtended } from './types.js';
|
|
4
|
+
export declare function createSignedBlockExtended(registry: Registry, block?: SignedBlock, events?: EventRecord[], validators?: AccountId[] | null, author?: AccountId | null): SignedBlockExtended;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { extractAuthor } from './util.js';
|
|
2
|
+
function mapExtrinsics(extrinsics, records) {
|
|
3
|
+
return extrinsics.map((extrinsic, index) => {
|
|
4
|
+
let dispatchError;
|
|
5
|
+
let dispatchInfo;
|
|
6
|
+
const events = records
|
|
7
|
+
.filter(({ phase }) => phase.isApplyExtrinsic && phase.asApplyExtrinsic.eq(index))
|
|
8
|
+
.map(({ event }) => {
|
|
9
|
+
if (event.section === 'system') {
|
|
10
|
+
if (event.method === 'ExtrinsicSuccess') {
|
|
11
|
+
dispatchInfo = event.data[0];
|
|
12
|
+
}
|
|
13
|
+
else if (event.method === 'ExtrinsicFailed') {
|
|
14
|
+
dispatchError = event.data[0];
|
|
15
|
+
dispatchInfo = event.data[1];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return event;
|
|
19
|
+
});
|
|
20
|
+
return { dispatchError, dispatchInfo, events, extrinsic };
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export function createSignedBlockExtended(registry, block, events, validators, author) {
|
|
24
|
+
// an instance of the base extrinsic for us to extend
|
|
25
|
+
const SignedBlockBase = registry.createClass('SignedBlock');
|
|
26
|
+
class Implementation extends SignedBlockBase {
|
|
27
|
+
#author;
|
|
28
|
+
#events;
|
|
29
|
+
#extrinsics;
|
|
30
|
+
constructor(registry, block, events, validators, author) {
|
|
31
|
+
super(registry, block);
|
|
32
|
+
this.#author = author || extractAuthor(this.block.header.digest, validators || []);
|
|
33
|
+
this.#events = events || [];
|
|
34
|
+
this.#extrinsics = mapExtrinsics(this.block.extrinsics, this.#events);
|
|
35
|
+
this.createdAtHash = block?.createdAtHash;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @description Convenience method, returns the author for the block
|
|
39
|
+
*/
|
|
40
|
+
get author() {
|
|
41
|
+
return this.#author;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @description Convenience method, returns the events associated with the block
|
|
45
|
+
*/
|
|
46
|
+
get events() {
|
|
47
|
+
return this.#events;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @description Returns the extrinsics and their events, mapped
|
|
51
|
+
*/
|
|
52
|
+
get extrinsics() {
|
|
53
|
+
return this.#extrinsics;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return new Implementation(registry, block, events, validators, author);
|
|
57
|
+
}
|
package/type/index.js
ADDED
package/type/types.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AccountId, DispatchError, DispatchInfo, Event, EventRecord, Extrinsic, Header, SignedBlock } from '@pezkuwi/types/interfaces';
|
|
2
|
+
export interface HeaderExtended extends Header {
|
|
3
|
+
readonly author: AccountId | undefined;
|
|
4
|
+
}
|
|
5
|
+
export interface SignedBlockExtended extends SignedBlock {
|
|
6
|
+
readonly author: AccountId | undefined;
|
|
7
|
+
readonly events: EventRecord[];
|
|
8
|
+
readonly extrinsics: TxWithEvent[];
|
|
9
|
+
}
|
|
10
|
+
export interface TxWithEvent {
|
|
11
|
+
dispatchError?: DispatchError | undefined;
|
|
12
|
+
dispatchInfo?: DispatchInfo | undefined;
|
|
13
|
+
events: Event[];
|
|
14
|
+
extrinsic: Extrinsic;
|
|
15
|
+
}
|
package/type/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/type/util.d.ts
ADDED
package/type/util.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export function extractAuthor(digest, sessionValidators) {
|
|
2
|
+
const [citem] = digest.logs.filter((e) => e.isConsensus);
|
|
3
|
+
const preRuntimeItems = digest.logs.filter((e) => e.isPreRuntime);
|
|
4
|
+
const [sitem] = digest.logs.filter((e) => e.isSeal);
|
|
5
|
+
let accountId;
|
|
6
|
+
try {
|
|
7
|
+
// This is critical to be first for BABE (before Consensus)
|
|
8
|
+
// If not first, we end up dropping the author at session-end
|
|
9
|
+
// Iterate through ALL preRuntime logs to find a recognized engine
|
|
10
|
+
// (teyrchains may have multiple preRuntime logs, e.g., CMLS + aura)
|
|
11
|
+
for (const pitem of preRuntimeItems) {
|
|
12
|
+
const [engine, data] = pitem.asPreRuntime;
|
|
13
|
+
accountId = engine.extractAuthor(data, sessionValidators);
|
|
14
|
+
// Stop at first recognized engine that returns an author
|
|
15
|
+
if (accountId) {
|
|
16
|
+
return accountId;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (!accountId && citem) {
|
|
20
|
+
const [engine, data] = citem.asConsensus;
|
|
21
|
+
accountId = engine.extractAuthor(data, sessionValidators);
|
|
22
|
+
}
|
|
23
|
+
// SEAL, still used in e.g. Kulupu for pow
|
|
24
|
+
if (!accountId && sitem) {
|
|
25
|
+
const [engine, data] = sitem.asSeal;
|
|
26
|
+
accountId = engine.extractAuthor(data, sessionValidators);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// ignore
|
|
31
|
+
}
|
|
32
|
+
return accountId;
|
|
33
|
+
}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/api-derive authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import type { ApiInterfaceRx } from '@pezkuwi/api-base/types';
|
|
5
2
|
import type { u32 } from '@pezkuwi/types';
|
|
6
3
|
import type { Balance, BlockNumber, BountyIndex, Hash, Proposal, ProposalIndex, SetIndex, Votes } from '@pezkuwi/types/interfaces';
|
|
7
|
-
import type {
|
|
4
|
+
import type { PezpalletBountiesBounty, PezpalletTreasuryProposal } from '@pezkuwi/types/lookup';
|
|
8
5
|
import type { BN } from '@pezkuwi/util';
|
|
9
6
|
import type { ExactDerive } from './derive.js';
|
|
10
|
-
|
|
11
7
|
export * from './accounts/types.js';
|
|
12
8
|
export * from './bagsList/types.js';
|
|
13
9
|
export * from './balances/types.js';
|
|
@@ -15,83 +11,69 @@ export * from './council/types.js';
|
|
|
15
11
|
export * from './crowdloan/types.js';
|
|
16
12
|
export * from './democracy/types.js';
|
|
17
13
|
export * from './elections/types.js';
|
|
18
|
-
export * from './
|
|
14
|
+
export * from './teyrchains/types.js';
|
|
19
15
|
export * from './session/types.js';
|
|
20
16
|
export * from './society/types.js';
|
|
21
17
|
export * from './staking/types.js';
|
|
22
18
|
export * from './type/types.js';
|
|
23
|
-
|
|
24
19
|
export interface DeriveApi extends ApiInterfaceRx {
|
|
25
|
-
|
|
20
|
+
derive: ExactDerive;
|
|
26
21
|
}
|
|
27
|
-
|
|
28
22
|
export interface DeriveContractFees {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
23
|
+
callBaseFee: BN;
|
|
24
|
+
contractFee: BN;
|
|
25
|
+
creationFee: BN;
|
|
26
|
+
rentByteFee: BN;
|
|
27
|
+
rentDepositOffset: BN;
|
|
28
|
+
surchargeReward: BN;
|
|
29
|
+
tombstoneDeposit: BN;
|
|
30
|
+
transactionBaseFee: BN;
|
|
31
|
+
transactionByteFee: BN;
|
|
32
|
+
transferFee: BN;
|
|
39
33
|
}
|
|
40
|
-
|
|
41
34
|
export interface DeriveCollectiveProposal {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
hash: Hash;
|
|
36
|
+
proposal: Proposal | null;
|
|
37
|
+
votes: Votes | null;
|
|
45
38
|
}
|
|
46
|
-
|
|
47
39
|
export interface DeriveFees {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
40
|
+
creationFee: Balance;
|
|
41
|
+
existentialDeposit: Balance;
|
|
42
|
+
transactionBaseFee: Balance;
|
|
43
|
+
transactionByteFee: Balance;
|
|
44
|
+
transferFee: Balance;
|
|
53
45
|
}
|
|
54
|
-
|
|
55
46
|
export interface DeriveHeartbeatAuthor {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
blockCount: u32;
|
|
48
|
+
hasMessage: boolean;
|
|
49
|
+
isOnline: boolean;
|
|
59
50
|
}
|
|
60
|
-
|
|
61
51
|
export type DeriveHeartbeats = Record<string, DeriveHeartbeatAuthor>;
|
|
62
|
-
|
|
63
52
|
export interface RecentlyOffline {
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
blockNumber: BlockNumber;
|
|
54
|
+
count: BN;
|
|
66
55
|
}
|
|
67
|
-
|
|
68
56
|
export type DeriveRecentlyOffline = Record<string, RecentlyOffline[]>;
|
|
69
|
-
|
|
70
57
|
export interface DeriveTreasuryProposal {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
58
|
+
council: DeriveCollectiveProposal[];
|
|
59
|
+
id: ProposalIndex;
|
|
60
|
+
proposal: PezpalletTreasuryProposal;
|
|
74
61
|
}
|
|
75
|
-
|
|
76
62
|
export interface DeriveTreasuryProposals {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
63
|
+
approvals: DeriveTreasuryProposal[];
|
|
64
|
+
proposalCount: ProposalIndex;
|
|
65
|
+
proposals: DeriveTreasuryProposal[];
|
|
80
66
|
}
|
|
81
|
-
|
|
82
67
|
export interface VoterPosition {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
68
|
+
globalIndex: BN;
|
|
69
|
+
index: BN;
|
|
70
|
+
setIndex: SetIndex;
|
|
86
71
|
}
|
|
87
|
-
|
|
88
72
|
export type DeriveVoterPositions = Record<string, VoterPosition>;
|
|
89
|
-
|
|
90
73
|
export interface DeriveBounty {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
74
|
+
bounty: PezpalletBountiesBounty;
|
|
75
|
+
description: string;
|
|
76
|
+
index: BountyIndex;
|
|
77
|
+
proposals: DeriveCollectiveProposal[];
|
|
95
78
|
}
|
|
96
|
-
|
|
97
79
|
export type DeriveBounties = DeriveBounty[];
|
package/types.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './accounts/types.js';
|
|
2
|
+
export * from './bagsList/types.js';
|
|
3
|
+
export * from './balances/types.js';
|
|
4
|
+
export * from './council/types.js';
|
|
5
|
+
export * from './crowdloan/types.js';
|
|
6
|
+
export * from './democracy/types.js';
|
|
7
|
+
export * from './elections/types.js';
|
|
8
|
+
export * from './teyrchains/types.js';
|
|
9
|
+
export * from './session/types.js';
|
|
10
|
+
export * from './society/types.js';
|
|
11
|
+
export * from './staking/types.js';
|
|
12
|
+
export * from './type/types.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
export function approvalFlagsToBools(flags) {
|
|
3
|
+
const bools = [];
|
|
4
|
+
for (let i = 0, count = flags.length; i < count; i++) {
|
|
5
|
+
const str = flags[i].toString(2);
|
|
6
|
+
// read from lowest bit to highest
|
|
7
|
+
for (const bit of str.split('').reverse()) {
|
|
8
|
+
bools.push(!!parseInt(bit, 10));
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
// slice off trailing "false" values, as in bizinikiwi
|
|
12
|
+
const lastApproval = bools.lastIndexOf(true);
|
|
13
|
+
return lastApproval >= 0
|
|
14
|
+
? bools.slice(0, lastApproval + 1)
|
|
15
|
+
: [];
|
|
16
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Compact } from '@pezkuwi/types';
|
|
2
|
+
import type { BlockNumber } from '@pezkuwi/types/interfaces';
|
|
3
|
+
interface CompatHeader {
|
|
4
|
+
number: Compact<BlockNumber> | BlockNumber;
|
|
5
|
+
}
|
|
6
|
+
export declare function unwrapBlockNumber(hdr: CompatHeader): BlockNumber;
|
|
7
|
+
export {};
|
package/util/cache.d.ts
ADDED
package/util/cache.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { deriveNoopCache } from './cacheImpl.js';
|
|
2
|
+
const CACHE_EXPIRY = 7 * (24 * 60) * (60 * 1000);
|
|
3
|
+
let deriveCache;
|
|
4
|
+
function wrapCache(keyStart, cache) {
|
|
5
|
+
return {
|
|
6
|
+
del: (partial) => cache.del(`${keyStart}${partial}`),
|
|
7
|
+
forEach: cache.forEach,
|
|
8
|
+
get: (partial) => {
|
|
9
|
+
const key = `${keyStart}${partial}`;
|
|
10
|
+
const cached = cache.get(key);
|
|
11
|
+
if (cached) {
|
|
12
|
+
cached.x = Date.now();
|
|
13
|
+
cache.set(key, cached);
|
|
14
|
+
return cached.v;
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
},
|
|
18
|
+
set: (partial, v) => {
|
|
19
|
+
cache.set(`${keyStart}${partial}`, { v, x: Date.now() });
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function clearCache(cache) {
|
|
24
|
+
// clear all expired values
|
|
25
|
+
const now = Date.now();
|
|
26
|
+
const all = [];
|
|
27
|
+
cache.forEach((key, { x }) => {
|
|
28
|
+
((now - x) > CACHE_EXPIRY) && all.push(key);
|
|
29
|
+
});
|
|
30
|
+
// don't do delete inside loop, just in-case
|
|
31
|
+
all.forEach((key) => cache.del(key));
|
|
32
|
+
}
|
|
33
|
+
export function setDeriveCache(prefix = '', cache) {
|
|
34
|
+
deriveCache = cache
|
|
35
|
+
? wrapCache(`derive:${prefix}:`, cache)
|
|
36
|
+
: deriveNoopCache;
|
|
37
|
+
if (cache) {
|
|
38
|
+
clearCache(cache);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
setDeriveCache();
|
|
42
|
+
export { deriveCache };
|