@polymeshassociation/polymesh-sdk 31.0.0 → 31.1.0-beta.10
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/.yarn/install-state.gz +0 -0
- package/CHANGELOG.md +6 -132
- package/api/client/AccountManagement.d.ts +48 -0
- package/api/client/AccountManagement.d.ts.map +1 -1
- package/api/client/AccountManagement.js +38 -0
- package/api/client/AccountManagement.js.map +1 -1
- package/api/client/Assets.d.ts.map +1 -1
- package/api/client/Assets.js +4 -5
- package/api/client/Assets.js.map +1 -1
- package/api/client/Claims.d.ts +5 -0
- package/api/client/Claims.d.ts.map +1 -1
- package/api/client/Claims.js +5 -2
- package/api/client/Claims.js.map +1 -1
- package/api/client/Network.d.ts +104 -3
- package/api/client/Network.d.ts.map +1 -1
- package/api/client/Network.js +162 -14
- package/api/client/Network.js.map +1 -1
- package/api/client/Polymesh.d.ts.map +1 -1
- package/api/client/Polymesh.js +5 -6
- package/api/client/Polymesh.js.map +1 -1
- package/api/client/Staking.d.ts +206 -5
- package/api/client/Staking.d.ts.map +1 -1
- package/api/client/Staking.js +443 -1
- package/api/client/Staking.js.map +1 -1
- package/api/client/types.d.ts +281 -5
- package/api/client/types.d.ts.map +1 -1
- package/api/client/types.js +29 -1
- package/api/client/types.js.map +1 -1
- package/api/entities/Account/MultiSig/index.d.ts +6 -0
- package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
- package/api/entities/Account/MultiSig/index.js +6 -2
- package/api/entities/Account/MultiSig/index.js.map +1 -1
- package/api/entities/Account/Staking/index.d.ts +26 -2
- package/api/entities/Account/Staking/index.d.ts.map +1 -1
- package/api/entities/Account/Staking/index.js +36 -3
- package/api/entities/Account/Staking/index.js.map +1 -1
- package/api/entities/Account/index.d.ts +42 -3
- package/api/entities/Account/index.d.ts.map +1 -1
- package/api/entities/Account/index.js +94 -1
- package/api/entities/Account/index.js.map +1 -1
- package/api/entities/Account/types.d.ts +61 -2
- package/api/entities/Account/types.d.ts.map +1 -1
- package/api/entities/Account/types.js +25 -1
- package/api/entities/Account/types.js.map +1 -1
- package/api/entities/Asset/Base/BaseAsset.js +1 -1
- package/api/entities/Asset/Base/BaseAsset.js.map +1 -1
- package/api/entities/Asset/Fungible/index.d.ts +6 -0
- package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
- package/api/entities/Asset/Fungible/index.js +6 -2
- package/api/entities/Asset/Fungible/index.js.map +1 -1
- package/api/entities/Asset/NonFungible/Nft.js +1 -1
- package/api/entities/Asset/NonFungible/Nft.js.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.d.ts +6 -0
- package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.js +8 -4
- package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
- package/api/entities/Asset/types.d.ts +11 -0
- package/api/entities/Asset/types.d.ts.map +1 -1
- package/api/entities/Asset/types.js.map +1 -1
- package/api/entities/AuthorizationRequest.js +1 -1
- package/api/entities/AuthorizationRequest.js.map +1 -1
- package/api/entities/Checkpoint.js +1 -1
- package/api/entities/Checkpoint.js.map +1 -1
- package/api/entities/CheckpointSchedule/index.js +1 -1
- package/api/entities/CheckpointSchedule/index.js.map +1 -1
- package/api/entities/CorporateActionBase/index.js +1 -1
- package/api/entities/CorporateActionBase/index.js.map +1 -1
- package/api/entities/CustomPermissionGroup.js +1 -1
- package/api/entities/CustomPermissionGroup.js.map +1 -1
- package/api/entities/DividendDistribution/index.d.ts +6 -0
- package/api/entities/DividendDistribution/index.d.ts.map +1 -1
- package/api/entities/DividendDistribution/index.js +6 -2
- package/api/entities/DividendDistribution/index.js.map +1 -1
- package/api/entities/Identity/AssetPermissions.d.ts +5 -1
- package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
- package/api/entities/Identity/AssetPermissions.js +5 -2
- package/api/entities/Identity/AssetPermissions.js.map +1 -1
- package/api/entities/Identity/IdentityAuthorizations.d.ts +5 -0
- package/api/entities/Identity/IdentityAuthorizations.d.ts.map +1 -1
- package/api/entities/Identity/IdentityAuthorizations.js +5 -0
- package/api/entities/Identity/IdentityAuthorizations.js.map +1 -1
- package/api/entities/Identity/Portfolios.js +1 -1
- package/api/entities/Identity/Portfolios.js.map +1 -1
- package/api/entities/Identity/index.d.ts +50 -1
- package/api/entities/Identity/index.d.ts.map +1 -1
- package/api/entities/Identity/index.js +76 -9
- package/api/entities/Identity/index.js.map +1 -1
- package/api/entities/Instruction/index.js +1 -1
- package/api/entities/Instruction/index.js.map +1 -1
- package/api/entities/MetadataEntry/index.js +1 -1
- package/api/entities/MetadataEntry/index.js.map +1 -1
- package/api/entities/NumberedPortfolio.d.ts +4 -0
- package/api/entities/NumberedPortfolio.d.ts.map +1 -1
- package/api/entities/NumberedPortfolio.js +1 -1
- package/api/entities/NumberedPortfolio.js.map +1 -1
- package/api/entities/Offering/index.d.ts +5 -0
- package/api/entities/Offering/index.d.ts.map +1 -1
- package/api/entities/Offering/index.js +6 -3
- package/api/entities/Offering/index.js.map +1 -1
- package/api/entities/Portfolio/index.d.ts +22 -0
- package/api/entities/Portfolio/index.d.ts.map +1 -1
- package/api/entities/Portfolio/index.js +99 -21
- package/api/entities/Portfolio/index.js.map +1 -1
- package/api/entities/Venue/index.d.ts +3 -0
- package/api/entities/Venue/index.d.ts.map +1 -1
- package/api/entities/Venue/index.js +4 -1
- package/api/entities/Venue/index.js.map +1 -1
- package/api/entities/common/namespaces/Authorizations.d.ts +16 -2
- package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
- package/api/entities/common/namespaces/Authorizations.js +16 -4
- package/api/entities/common/namespaces/Authorizations.js.map +1 -1
- package/api/procedures/acceptPrimaryKeyRotation.js +1 -1
- package/api/procedures/acceptPrimaryKeyRotation.js.map +1 -1
- package/api/procedures/bondPolyx.d.ts +14 -2
- package/api/procedures/bondPolyx.d.ts.map +1 -1
- package/api/procedures/bondPolyx.js +39 -8
- package/api/procedures/bondPolyx.js.map +1 -1
- package/api/procedures/chillStaking.d.ts +36 -0
- package/api/procedures/chillStaking.d.ts.map +1 -0
- package/api/procedures/chillStaking.js +72 -0
- package/api/procedures/chillStaking.js.map +1 -0
- package/api/procedures/claimDividends.d.ts.map +1 -1
- package/api/procedures/claimDividends.js +11 -1
- package/api/procedures/claimDividends.js.map +1 -1
- package/api/procedures/configureDividendDistribution.js +2 -2
- package/api/procedures/configureDividendDistribution.js.map +1 -1
- package/api/procedures/issueNft.d.ts +1 -0
- package/api/procedures/issueNft.d.ts.map +1 -1
- package/api/procedures/issueNft.js +24 -6
- package/api/procedures/issueNft.js.map +1 -1
- package/api/procedures/modifyAsset.js +1 -1
- package/api/procedures/modifyAsset.js.map +1 -1
- package/api/procedures/moveFunds.js +2 -2
- package/api/procedures/moveFunds.js.map +1 -1
- package/api/procedures/nominateValidators.d.ts +6 -1
- package/api/procedures/nominateValidators.d.ts.map +1 -1
- package/api/procedures/nominateValidators.js +45 -6
- package/api/procedures/nominateValidators.js.map +1 -1
- package/api/procedures/redeemNft.js +1 -1
- package/api/procedures/redeemNft.js.map +1 -1
- package/api/procedures/redeemTokens.js +1 -1
- package/api/procedures/redeemTokens.js.map +1 -1
- package/api/procedures/removeAssetRequirement.js +1 -1
- package/api/procedures/removeAssetRequirement.js.map +1 -1
- package/api/procedures/removeCheckpointSchedule.js +1 -1
- package/api/procedures/removeCheckpointSchedule.js.map +1 -1
- package/api/procedures/removeCorporateAction.js +3 -3
- package/api/procedures/removeCorporateAction.js.map +1 -1
- package/api/procedures/setCustodian.d.ts +5 -1
- package/api/procedures/setCustodian.d.ts.map +1 -1
- package/api/procedures/setCustodian.js +2 -6
- package/api/procedures/setCustodian.js.map +1 -1
- package/api/procedures/setStakingController.d.ts +9 -1
- package/api/procedures/setStakingController.d.ts.map +1 -1
- package/api/procedures/setStakingController.js +10 -6
- package/api/procedures/setStakingController.js.map +1 -1
- package/api/procedures/setStakingPayee.d.ts +9 -1
- package/api/procedures/setStakingPayee.d.ts.map +1 -1
- package/api/procedures/setStakingPayee.js +10 -6
- package/api/procedures/setStakingPayee.js.map +1 -1
- package/api/procedures/toggleEvmAccountMapping.d.ts +18 -0
- package/api/procedures/toggleEvmAccountMapping.d.ts.map +1 -0
- package/api/procedures/toggleEvmAccountMapping.js +80 -0
- package/api/procedures/toggleEvmAccountMapping.js.map +1 -0
- package/api/procedures/types.d.ts +52 -1
- package/api/procedures/types.d.ts.map +1 -1
- package/api/procedures/types.js.map +1 -1
- package/api/procedures/updateBondedPolyx.d.ts +13 -2
- package/api/procedures/updateBondedPolyx.d.ts.map +1 -1
- package/api/procedures/updateBondedPolyx.js +109 -46
- package/api/procedures/updateBondedPolyx.js.map +1 -1
- package/api/procedures/withdrawUnbondedPolyx.d.ts +11 -2
- package/api/procedures/withdrawUnbondedPolyx.d.ts.map +1 -1
- package/api/procedures/withdrawUnbondedPolyx.js +19 -15
- package/api/procedures/withdrawUnbondedPolyx.js.map +1 -1
- package/base/Context.d.ts +37 -1
- package/base/Context.d.ts.map +1 -1
- package/base/Context.js +68 -3
- package/base/Context.js.map +1 -1
- package/base/PolymeshTransactionBase.d.ts +199 -3
- package/base/PolymeshTransactionBase.d.ts.map +1 -1
- package/base/PolymeshTransactionBase.js +595 -137
- package/base/PolymeshTransactionBase.js.map +1 -1
- package/base/Procedure.d.ts.map +1 -1
- package/base/Procedure.js +2 -0
- package/base/Procedure.js.map +1 -1
- package/base/ethTransaction.d.ts +222 -0
- package/base/ethTransaction.d.ts.map +1 -0
- package/base/ethTransaction.js +317 -0
- package/base/ethTransaction.js.map +1 -0
- package/base/types.d.ts +66 -1
- package/base/types.d.ts.map +1 -1
- package/base/types.js.map +1 -1
- package/base/utils.d.ts +60 -11
- package/base/utils.d.ts.map +1 -1
- package/base/utils.js +328 -45
- package/base/utils.js.map +1 -1
- package/internal.d.ts +2 -0
- package/internal.d.ts.map +1 -1
- package/internal.js +6 -2
- package/internal.js.map +1 -1
- package/middleware/queries/assets.d.ts +13 -5
- package/middleware/queries/assets.d.ts.map +1 -1
- package/middleware/queries/assets.js +60 -27
- package/middleware/queries/assets.js.map +1 -1
- package/middleware/queries/authorizations.d.ts +2 -2
- package/middleware/queries/authorizations.d.ts.map +1 -1
- package/middleware/queries/authorizations.js +4 -3
- package/middleware/queries/authorizations.js.map +1 -1
- package/middleware/queries/claims.d.ts +4 -4
- package/middleware/queries/claims.d.ts.map +1 -1
- package/middleware/queries/claims.js +18 -6
- package/middleware/queries/claims.js.map +1 -1
- package/middleware/queries/common.d.ts +41 -1
- package/middleware/queries/common.d.ts.map +1 -1
- package/middleware/queries/common.js +51 -9
- package/middleware/queries/common.js.map +1 -1
- package/middleware/queries/distributions.d.ts +2 -2
- package/middleware/queries/distributions.d.ts.map +1 -1
- package/middleware/queries/distributions.js +10 -3
- package/middleware/queries/distributions.js.map +1 -1
- package/middleware/queries/events.d.ts +2 -2
- package/middleware/queries/events.d.ts.map +1 -1
- package/middleware/queries/events.js +4 -3
- package/middleware/queries/events.js.map +1 -1
- package/middleware/queries/externalAgents.d.ts +2 -2
- package/middleware/queries/externalAgents.d.ts.map +1 -1
- package/middleware/queries/externalAgents.js +4 -3
- package/middleware/queries/externalAgents.js.map +1 -1
- package/middleware/queries/extrinsics.d.ts +1 -1
- package/middleware/queries/extrinsics.d.ts.map +1 -1
- package/middleware/queries/extrinsics.js +14 -8
- package/middleware/queries/extrinsics.js.map +1 -1
- package/middleware/queries/multisigs.d.ts +2 -6
- package/middleware/queries/multisigs.d.ts.map +1 -1
- package/middleware/queries/multisigs.js +10 -4
- package/middleware/queries/multisigs.js.map +1 -1
- package/middleware/queries/polyxTransactions.d.ts +2 -1
- package/middleware/queries/polyxTransactions.d.ts.map +1 -1
- package/middleware/queries/polyxTransactions.js +5 -3
- package/middleware/queries/polyxTransactions.js.map +1 -1
- package/middleware/queries/settlements.d.ts +7 -7
- package/middleware/queries/settlements.d.ts.map +1 -1
- package/middleware/queries/settlements.js +23 -14
- package/middleware/queries/settlements.js.map +1 -1
- package/middleware/queries/stos.d.ts +2 -2
- package/middleware/queries/stos.d.ts.map +1 -1
- package/middleware/queries/stos.js +9 -5
- package/middleware/queries/stos.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-31.1.0-beta.10.tgz +0 -0
- package/package.json +2 -3
- package/types/internal.d.ts +38 -1
- package/types/internal.d.ts.map +1 -1
- package/types/internal.js.map +1 -1
- package/utils/constants.d.ts +23 -0
- package/utils/constants.d.ts.map +1 -1
- package/utils/constants.js +24 -1
- package/utils/constants.js.map +1 -1
- package/utils/eth.d.ts +63 -0
- package/utils/eth.d.ts.map +1 -0
- package/utils/eth.js +209 -0
- package/utils/eth.js.map +1 -0
- package/utils/internal.d.ts +30 -2
- package/utils/internal.d.ts.map +1 -1
- package/utils/internal.js +86 -6
- package/utils/internal.js.map +1 -1
- package/utils/typeguards.d.ts +10 -0
- package/utils/typeguards.d.ts.map +1 -1
- package/utils/typeguards.js +11 -0
- package/utils/typeguards.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-31.0.0.tgz +0 -0
package/api/client/Staking.js
CHANGED
|
@@ -15,8 +15,100 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.Staking = void 0;
|
|
16
16
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
17
17
|
const internal_1 = require("../../internal");
|
|
18
|
+
const types_1 = require("../../types");
|
|
19
|
+
const constants_1 = require("../../utils/constants");
|
|
18
20
|
const conversion_1 = require("../../utils/conversion");
|
|
19
21
|
const internal_2 = require("../../utils/internal");
|
|
22
|
+
/**
|
|
23
|
+
* @hidden
|
|
24
|
+
*
|
|
25
|
+
* Assemble the exact slot-counted progress through a period, plus the time projection a countdown
|
|
26
|
+
* needs. Both are clamped: a period that has run long has not ended, and a progress above 1 or a
|
|
27
|
+
* negative countdown reads as broken
|
|
28
|
+
*/
|
|
29
|
+
function toPeriodProgress(elapsed, total, expectedBlockTime) {
|
|
30
|
+
const capped = bignumber_js_1.default.min(elapsed, total);
|
|
31
|
+
const remaining = total.minus(capped).multipliedBy(expectedBlockTime);
|
|
32
|
+
return {
|
|
33
|
+
elapsed,
|
|
34
|
+
total,
|
|
35
|
+
progress: capped.dividedBy(total),
|
|
36
|
+
remaining,
|
|
37
|
+
end: new Date(new bignumber_js_1.default(Date.now()).plus(remaining).toNumber()),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @hidden
|
|
42
|
+
*
|
|
43
|
+
* The block the current epoch began on
|
|
44
|
+
*
|
|
45
|
+
* @note the chain writes `babe.epochStart` on rotation and treats epoch 0 as opening at block 1,
|
|
46
|
+
* so `(0, 0)` means no rotation has happened yet
|
|
47
|
+
*/
|
|
48
|
+
function epochStartBlock(rawEpochStart) {
|
|
49
|
+
const startBlock = (0, conversion_1.u32ToBigNumber)(rawEpochStart[1]);
|
|
50
|
+
return startBlock.isZero() ? new bignumber_js_1.default(1) : startBlock;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @hidden
|
|
54
|
+
*
|
|
55
|
+
* Assemble the era and session progress from one round of chain reads, the session the era began
|
|
56
|
+
* in, and the slot the current epoch began in
|
|
57
|
+
*/
|
|
58
|
+
function assembleEraProgress([rawActiveEra, rawCurrentEra, rawSession, rawSlot], eraStartSession, epochStartSlot, { slotsPerSession, sessionsPerEra, expectedBlockTime }) {
|
|
59
|
+
const { index: rawEraIndex, start: rawStart } = rawActiveEra.unwrap();
|
|
60
|
+
const era = (0, conversion_1.u32ToBigNumber)(rawEraIndex);
|
|
61
|
+
const session = (0, conversion_1.u32ToBigNumber)(rawSession);
|
|
62
|
+
const sessionElapsed = bignumber_js_1.default.max((0, conversion_1.u64ToBigNumber)(rawSlot).minus(epochStartSlot), 0);
|
|
63
|
+
/* sessions of this era that are already behind the chain */
|
|
64
|
+
const sessionsDone = bignumber_js_1.default.max(session.minus(eraStartSession), 0);
|
|
65
|
+
const eraElapsed = sessionsDone.multipliedBy(slotsPerSession).plus(sessionElapsed);
|
|
66
|
+
return {
|
|
67
|
+
era: {
|
|
68
|
+
index: era,
|
|
69
|
+
planned: rawCurrentEra.isSome ? (0, conversion_1.u32ToBigNumber)(rawCurrentEra.unwrap()) : era,
|
|
70
|
+
start: rawStart.isSome ? new Date((0, conversion_1.u64ToBigNumber)(rawStart.unwrap()).toNumber()) : null,
|
|
71
|
+
progress: toPeriodProgress(eraElapsed, slotsPerSession.multipliedBy(sessionsPerEra), expectedBlockTime),
|
|
72
|
+
},
|
|
73
|
+
session: {
|
|
74
|
+
index: session,
|
|
75
|
+
inEra: bignumber_js_1.default.min(sessionsDone.plus(1), sessionsPerEra),
|
|
76
|
+
perEra: sessionsPerEra,
|
|
77
|
+
progress: toPeriodProgress(sessionElapsed, slotsPerSession, expectedBlockTime),
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @hidden
|
|
83
|
+
*
|
|
84
|
+
* Work out when the next election opens and closes, from the session the era began in and the slot
|
|
85
|
+
* the current epoch began in
|
|
86
|
+
*/
|
|
87
|
+
function assembleElectionSchedule([, rawSession, rawSlot, rawBlock], eraStartSession, epochStartSlot, { slotsPerSession, sessionsPerEra, expectedBlockTime }) {
|
|
88
|
+
const session = (0, conversion_1.u32ToBigNumber)(rawSession);
|
|
89
|
+
const currentSlot = (0, conversion_1.u64ToBigNumber)(rawSlot);
|
|
90
|
+
const currentBlock = (0, conversion_1.u32ToBigNumber)(rawBlock);
|
|
91
|
+
/*
|
|
92
|
+
* the election closes at the rotation into the era's last session, not at the era boundary —
|
|
93
|
+
* measured on chain as exactly one epoch of slots before that session's start. Where that
|
|
94
|
+
* rotation is already behind, the next election is the one an era later
|
|
95
|
+
*/
|
|
96
|
+
const lastSession = eraStartSession.plus(sessionsPerEra).minus(1);
|
|
97
|
+
const sessionsAway = lastSession.minus(session);
|
|
98
|
+
/* `isPositive` is true of zero, and a zero here means the rotation is the one already behind */
|
|
99
|
+
const sessionsUntilClose = sessionsAway.isGreaterThan(0)
|
|
100
|
+
? sessionsAway
|
|
101
|
+
: sessionsAway.plus(sessionsPerEra);
|
|
102
|
+
const closeSlot = epochStartSlot.plus(sessionsUntilClose.multipliedBy(slotsPerSession));
|
|
103
|
+
const openSlot = closeSlot.minus(slotsPerSession.dividedToIntegerBy(constants_1.UNSIGNED_ELECTION_PHASE_EPOCH_FRACTION));
|
|
104
|
+
const toProjection = (slot) => bignumber_js_1.default.max(slot.minus(currentSlot), 0).multipliedBy(expectedBlockTime);
|
|
105
|
+
return {
|
|
106
|
+
opensAt: currentBlock.plus(openSlot.minus(currentSlot)),
|
|
107
|
+
closesAt: currentBlock.plus(closeSlot.minus(currentSlot)),
|
|
108
|
+
opensIn: toProjection(openSlot),
|
|
109
|
+
closesIn: toProjection(closeSlot),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
20
112
|
/**
|
|
21
113
|
* Handles Staking related functionality
|
|
22
114
|
*/
|
|
@@ -35,6 +127,13 @@ class Staking {
|
|
|
35
127
|
this.bondExtra = (0, internal_2.createProcedureMethod)({
|
|
36
128
|
getProcedureAndArgs: args => [internal_1.updateBondedPolyx, Object.assign(Object.assign({}, args), { type: 'bondExtra' })],
|
|
37
129
|
}, context);
|
|
130
|
+
this.rebond = (0, internal_2.createProcedureMethod)({
|
|
131
|
+
getProcedureAndArgs: args => [internal_1.updateBondedPolyx, Object.assign(Object.assign({}, args), { type: 'rebond' })],
|
|
132
|
+
}, context);
|
|
133
|
+
this.chill = (0, internal_2.createProcedureMethod)({
|
|
134
|
+
getProcedureAndArgs: () => [internal_1.chillStaking, undefined],
|
|
135
|
+
voidArgs: true,
|
|
136
|
+
}, context);
|
|
38
137
|
this.withdraw = (0, internal_2.createProcedureMethod)({
|
|
39
138
|
getProcedureAndArgs: () => [internal_1.withdrawUnbondedPolyx, undefined],
|
|
40
139
|
voidArgs: true,
|
|
@@ -77,6 +176,38 @@ class Staking {
|
|
|
77
176
|
};
|
|
78
177
|
});
|
|
79
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Retrieve the validators whose set is actually in force for the active era
|
|
181
|
+
*
|
|
182
|
+
* @returns the elected validators, in the chain's own order
|
|
183
|
+
*
|
|
184
|
+
* @note this is a different question from
|
|
185
|
+
* {@link api/client/Staking!Staking.getValidators | getValidators}, which lists every Account
|
|
186
|
+
* *declaring intent* to validate. Those declaring intent but not elected are the waiting set —
|
|
187
|
+
* subtract this result from `getValidators` to get it
|
|
188
|
+
* @note bounded by {@link api/client/Staking!Staking.getValidatorCount | getValidatorCount}, so
|
|
189
|
+
* unlike the intent list this needs no pagination
|
|
190
|
+
*/
|
|
191
|
+
getActiveValidators() {
|
|
192
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
193
|
+
const { context, context: { polymeshApi: { query }, }, } = this;
|
|
194
|
+
const rawValidators = yield query.session.validators();
|
|
195
|
+
return rawValidators.map(rawAddress => new internal_1.Account({ address: (0, conversion_1.accountIdToString)(rawAddress) }, context));
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Retrieve how many validators the chain aims to elect each era
|
|
200
|
+
*
|
|
201
|
+
* @note this is the target the election is run against, not how many are currently in force —
|
|
202
|
+
* read {@link api/client/Staking!Staking.getActiveValidators | getActiveValidators} for that.
|
|
203
|
+
* The two differ when fewer Accounts declare intent than there are slots
|
|
204
|
+
*/
|
|
205
|
+
getValidatorCount() {
|
|
206
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
207
|
+
const { context: { polymeshApi: { query }, }, } = this;
|
|
208
|
+
return (0, conversion_1.u32ToBigNumber)(yield query.staking.validatorCount());
|
|
209
|
+
});
|
|
210
|
+
}
|
|
80
211
|
// eslint-disable-next-line require-jsdoc
|
|
81
212
|
eraInfo(callback) {
|
|
82
213
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -97,7 +228,8 @@ class Staking {
|
|
|
97
228
|
currentEra = (0, conversion_1.u32ToBigNumber)(rawCurrentEra.unwrap());
|
|
98
229
|
}
|
|
99
230
|
const plannedSession = (0, conversion_1.u32ToBigNumber)(rawPlannedSession);
|
|
100
|
-
|
|
231
|
+
// `erasTotalStake` is a `Balance`, so it needs the POLYX shift rather than a plain u128 read
|
|
232
|
+
const totalStaked = (0, conversion_1.balanceToBigNumber)(rawTotalStaked);
|
|
101
233
|
return {
|
|
102
234
|
activeEra: activeEra.index,
|
|
103
235
|
activeEraStart: activeEra.start,
|
|
@@ -155,6 +287,316 @@ class Staking {
|
|
|
155
287
|
return assembleResult(rawActiveEra, rawCurrentEra, rawPlannedSession, rawTotalStaked);
|
|
156
288
|
});
|
|
157
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* Retrieve the chain constants that govern staking
|
|
292
|
+
*
|
|
293
|
+
* @note these come from the chain's metadata, so this makes no query
|
|
294
|
+
*/
|
|
295
|
+
getConstants() {
|
|
296
|
+
const { context: { polymeshApi: { consts }, }, } = this;
|
|
297
|
+
const sessionsPerEra = (0, conversion_1.u32ToBigNumber)(consts.staking.sessionsPerEra);
|
|
298
|
+
const slotsPerSession = (0, conversion_1.u64ToBigNumber)(consts.babe.epochDuration);
|
|
299
|
+
const expectedBlockTime = (0, conversion_1.u64ToBigNumber)(consts.babe.expectedBlockTime);
|
|
300
|
+
const eraDuration = expectedBlockTime
|
|
301
|
+
.multipliedBy(slotsPerSession)
|
|
302
|
+
.multipliedBy(sessionsPerEra);
|
|
303
|
+
return {
|
|
304
|
+
sessionsPerEra,
|
|
305
|
+
slotsPerSession,
|
|
306
|
+
expectedBlockTime,
|
|
307
|
+
eraDuration,
|
|
308
|
+
erasPerYear: constants_1.MILLISECONDS_PER_YEAR.dividedBy(eraDuration),
|
|
309
|
+
bondingDuration: (0, conversion_1.u32ToBigNumber)(consts.staking.bondingDuration),
|
|
310
|
+
historyDepth: (0, conversion_1.u32ToBigNumber)(consts.staking.historyDepth),
|
|
311
|
+
fixedYearlyReward: (0, conversion_1.balanceToBigNumber)(consts.validators.fixedYearlyReward),
|
|
312
|
+
maxVariableInflationTotalIssuance: (0, conversion_1.balanceToBigNumber)(consts.validators.maxVariableInflationTotalIssuance),
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
// eslint-disable-next-line require-jsdoc
|
|
316
|
+
eraProgress(callback) {
|
|
317
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
318
|
+
const { context, context: { polymeshApi: { query }, }, } = this;
|
|
319
|
+
/* `babe.currentSlot` alone changes every block; the rest ride along on the same notification */
|
|
320
|
+
const queries = [
|
|
321
|
+
[query.staking.activeEra, undefined],
|
|
322
|
+
[query.staking.currentEra, undefined],
|
|
323
|
+
[query.session.currentIndex, undefined],
|
|
324
|
+
[query.babe.currentSlot, undefined],
|
|
325
|
+
[query.babe.epochStart, undefined],
|
|
326
|
+
];
|
|
327
|
+
/*
|
|
328
|
+
* `erasStartSessionIndex` is keyed by the active era, so it cannot join the multi query that
|
|
329
|
+
* reads the era itself. It changes once per era rather than once per block, so it is re-read
|
|
330
|
+
* only when the era does
|
|
331
|
+
*/
|
|
332
|
+
let cachedFor = null;
|
|
333
|
+
let startSession = new bignumber_js_1.default(0);
|
|
334
|
+
const readStartSession = (era) => __awaiter(this, void 0, void 0, function* () {
|
|
335
|
+
if (cachedFor !== era.toString()) {
|
|
336
|
+
const rawStartSession = yield query.staking.erasStartSessionIndex((0, conversion_1.bigNumberToU32)(era, context));
|
|
337
|
+
/* an era whose start the chain has pruned cannot anchor a count, so treat it as session 0 */
|
|
338
|
+
startSession = rawStartSession.isSome
|
|
339
|
+
? (0, conversion_1.u32ToBigNumber)(rawStartSession.unwrap())
|
|
340
|
+
: new bignumber_js_1.default(0);
|
|
341
|
+
cachedFor = era.toString();
|
|
342
|
+
}
|
|
343
|
+
return startSession;
|
|
344
|
+
});
|
|
345
|
+
/*
|
|
346
|
+
* the slot an epoch began in is not stored anywhere — the runtime recomputes it from the
|
|
347
|
+
* genesis slot and the epoch index whenever it needs it, an identity that a chain which has
|
|
348
|
+
* skipped epochs no longer satisfies. What the chain does record is the *block* each epoch
|
|
349
|
+
* began on, and that block's header carries the BABE pre-digest naming the slot it was
|
|
350
|
+
* authored in. Reading it back gives an exact slot anchored inside the epoch itself.
|
|
351
|
+
*
|
|
352
|
+
* It costs two RPC round trips, paid once per rotation rather than once per block, and it
|
|
353
|
+
* reads a header rather than state, so a pruning node answers it as readily as an archive.
|
|
354
|
+
*
|
|
355
|
+
* Where the opening slots of an epoch produced no block the anchor is the first slot that
|
|
356
|
+
* did, so the count is short by however many were skipped at that boundary — a handful at
|
|
357
|
+
* most, and it cannot accumulate, since the next rotation re-anchors
|
|
358
|
+
*/
|
|
359
|
+
let cachedForBlock = null;
|
|
360
|
+
let epochStart = new bignumber_js_1.default(0);
|
|
361
|
+
const readEpochStartSlot = (rawEpochStart) => __awaiter(this, void 0, void 0, function* () {
|
|
362
|
+
const anchorBlock = epochStartBlock(rawEpochStart);
|
|
363
|
+
if (cachedForBlock !== anchorBlock.toString()) {
|
|
364
|
+
epochStart = yield (0, internal_2.getSlotAtBlock)(context, anchorBlock);
|
|
365
|
+
cachedForBlock = anchorBlock.toString();
|
|
366
|
+
}
|
|
367
|
+
return epochStart;
|
|
368
|
+
});
|
|
369
|
+
const assertActiveEra = (raw) => {
|
|
370
|
+
if (raw[0].isNone) {
|
|
371
|
+
throw new internal_1.PolymeshError({
|
|
372
|
+
code: types_1.ErrorCode.DataUnavailable,
|
|
373
|
+
message: 'There is no active staking era',
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
};
|
|
377
|
+
if (callback) {
|
|
378
|
+
context.assertSupportsSubscription();
|
|
379
|
+
return (0, internal_2.requestMulti)(context, queries, (raw) => __awaiter(this, void 0, void 0, function* () {
|
|
380
|
+
assertActiveEra(raw);
|
|
381
|
+
const [eraStartSession, epochStartSlot] = yield Promise.all([
|
|
382
|
+
readStartSession((0, conversion_1.u32ToBigNumber)(raw[0].unwrap().index)),
|
|
383
|
+
readEpochStartSlot(raw[4]),
|
|
384
|
+
]);
|
|
385
|
+
yield callback(assembleEraProgress(raw, eraStartSession, epochStartSlot, this.getConstants()));
|
|
386
|
+
}));
|
|
387
|
+
}
|
|
388
|
+
const raw = yield (0, internal_2.requestMulti)(context, queries);
|
|
389
|
+
assertActiveEra(raw);
|
|
390
|
+
const [eraStartSession, epochStartSlot] = yield Promise.all([
|
|
391
|
+
readStartSession((0, conversion_1.u32ToBigNumber)(raw[0].unwrap().index)),
|
|
392
|
+
readEpochStartSlot(raw[4]),
|
|
393
|
+
]);
|
|
394
|
+
return assembleEraProgress(raw, eraStartSession, epochStartSlot, this.getConstants());
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
// eslint-disable-next-line require-jsdoc
|
|
398
|
+
getEraRewardPoints(eraOrCallback, maybeCallback) {
|
|
399
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
400
|
+
const { context, context: { polymeshApi: { query }, }, } = this;
|
|
401
|
+
const era = bignumber_js_1.default.isBigNumber(eraOrCallback) ? eraOrCallback : undefined;
|
|
402
|
+
const callback = bignumber_js_1.default.isBigNumber(eraOrCallback) ? maybeCallback : eraOrCallback;
|
|
403
|
+
const rawEra = yield this.asRawEra(era);
|
|
404
|
+
const assembleResult = (rawPoints) => {
|
|
405
|
+
const { total, individual } = rawPoints;
|
|
406
|
+
return {
|
|
407
|
+
total: (0, conversion_1.u32ToBigNumber)(total),
|
|
408
|
+
individual: [...individual.entries()].map(([rawAccountId, rawIndividualPoints]) => ({
|
|
409
|
+
account: new internal_1.Account({ address: (0, conversion_1.accountIdToString)(rawAccountId) }, context),
|
|
410
|
+
points: (0, conversion_1.u32ToBigNumber)(rawIndividualPoints),
|
|
411
|
+
})),
|
|
412
|
+
};
|
|
413
|
+
};
|
|
414
|
+
if (callback) {
|
|
415
|
+
context.assertSupportsSubscription();
|
|
416
|
+
return query.staking.erasRewardPoints(rawEra, rawPoints => {
|
|
417
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- callback errors should be handled by the caller
|
|
418
|
+
callback(assembleResult(rawPoints));
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
return assembleResult(yield query.staking.erasRewardPoints(rawEra));
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Retrieve the total POLYX paid out to validators and their nominators for an era
|
|
426
|
+
*
|
|
427
|
+
* @param era - defaults to the active era
|
|
428
|
+
*
|
|
429
|
+
* @returns `null` for an era the chain has not paid out, i.e. one still running or older than the
|
|
430
|
+
* history depth
|
|
431
|
+
*/
|
|
432
|
+
getEraValidatorReward(era) {
|
|
433
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
434
|
+
const { context: { polymeshApi: { query }, }, } = this;
|
|
435
|
+
const rawEra = yield this.asRawEra(era);
|
|
436
|
+
const rawReward = yield query.staking.erasValidatorReward(rawEra);
|
|
437
|
+
return rawReward.isNone ? null : (0, conversion_1.balanceToBigNumber)(rawReward.unwrap());
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Retrieve the session an era started at
|
|
442
|
+
*
|
|
443
|
+
* @param era - defaults to the active era
|
|
444
|
+
*
|
|
445
|
+
* @returns `null` for an era outside the chain's history depth
|
|
446
|
+
*/
|
|
447
|
+
getEraStartSession(era) {
|
|
448
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
449
|
+
const { context: { polymeshApi: { query }, }, } = this;
|
|
450
|
+
const rawEra = yield this.asRawEra(era);
|
|
451
|
+
const rawIndex = yield query.staking.erasStartSessionIndex(rawEra);
|
|
452
|
+
return rawIndex.isNone ? null : (0, conversion_1.u32ToBigNumber)(rawIndex.unwrap());
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Retrieve how much POLYX was backing a validator in an era, and how it was split
|
|
457
|
+
*
|
|
458
|
+
* @param args.validator - the validator's Account or address
|
|
459
|
+
* @param args.era - defaults to the active era
|
|
460
|
+
*
|
|
461
|
+
* @returns `null` if the Account was not in the era's validator set
|
|
462
|
+
*/
|
|
463
|
+
getEraExposure(args) {
|
|
464
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
465
|
+
const { context, context: { polymeshApi: { query }, }, } = this;
|
|
466
|
+
const { validator, era } = args;
|
|
467
|
+
const rawEra = yield this.asRawEra(era);
|
|
468
|
+
const rawAddress = (0, conversion_1.stringToAccountId)((0, internal_2.asAccount)(validator, context).address, context);
|
|
469
|
+
const rawOverview = yield query.staking.erasStakersOverview(rawEra, rawAddress);
|
|
470
|
+
if (rawOverview.isNone) {
|
|
471
|
+
return null;
|
|
472
|
+
}
|
|
473
|
+
const { total, own, nominatorCount, pageCount } = rawOverview.unwrap();
|
|
474
|
+
return {
|
|
475
|
+
total: (0, conversion_1.balanceToBigNumber)(total.unwrap()),
|
|
476
|
+
own: (0, conversion_1.balanceToBigNumber)(own.unwrap()),
|
|
477
|
+
nominatorCount: (0, conversion_1.u32ToBigNumber)(nominatorCount),
|
|
478
|
+
pageCount: (0, conversion_1.u32ToBigNumber)(pageCount),
|
|
479
|
+
};
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Retrieve one page of the nominators backing a validator in an era
|
|
484
|
+
*
|
|
485
|
+
* @param args.validator - the validator's Account or address
|
|
486
|
+
* @param args.page - defaults to the first page. Read `pageCount` from
|
|
487
|
+
* {@link api/client/Staking!Staking.getEraExposure | getEraExposure} for how many there are
|
|
488
|
+
* @param args.era - defaults to the active era
|
|
489
|
+
*
|
|
490
|
+
* @returns `null` if the page does not exist
|
|
491
|
+
*
|
|
492
|
+
* @note nominators are paged by the chain so that a payout fits in a block, which is why this is
|
|
493
|
+
* not returned as part of the exposure
|
|
494
|
+
*/
|
|
495
|
+
getEraNominators(args) {
|
|
496
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
497
|
+
const { context, context: { polymeshApi: { query }, }, } = this;
|
|
498
|
+
const { validator, page = new bignumber_js_1.default(0), era } = args;
|
|
499
|
+
const rawEra = yield this.asRawEra(era);
|
|
500
|
+
const rawAddress = (0, conversion_1.stringToAccountId)((0, internal_2.asAccount)(validator, context).address, context);
|
|
501
|
+
const rawPage = (0, conversion_1.bigNumberToU32)(page, context);
|
|
502
|
+
const rawExposure = yield query.staking.erasStakersPaged(rawEra, rawAddress, rawPage);
|
|
503
|
+
if (rawExposure.isNone) {
|
|
504
|
+
return null;
|
|
505
|
+
}
|
|
506
|
+
const { pageTotal, others } = rawExposure.unwrap();
|
|
507
|
+
return {
|
|
508
|
+
pageTotal: (0, conversion_1.balanceToBigNumber)(pageTotal.unwrap()),
|
|
509
|
+
nominators: others.map(({ who, value }) => ({
|
|
510
|
+
account: new internal_1.Account({ address: (0, conversion_1.accountIdToString)(who) }, context),
|
|
511
|
+
value: (0, conversion_1.balanceToBigNumber)(value.unwrap()),
|
|
512
|
+
})),
|
|
513
|
+
};
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
// eslint-disable-next-line require-jsdoc
|
|
517
|
+
getElectionSchedule(callback) {
|
|
518
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
519
|
+
const { context, context: { polymeshApi: { query }, }, } = this;
|
|
520
|
+
const queries = [
|
|
521
|
+
[query.staking.activeEra, undefined],
|
|
522
|
+
[query.session.currentIndex, undefined],
|
|
523
|
+
[query.babe.currentSlot, undefined],
|
|
524
|
+
[query.system.number, undefined],
|
|
525
|
+
[query.babe.epochStart, undefined],
|
|
526
|
+
];
|
|
527
|
+
const readAnchors = (raw) => __awaiter(this, void 0, void 0, function* () {
|
|
528
|
+
const [rawActiveEra] = raw;
|
|
529
|
+
if (rawActiveEra.isNone) {
|
|
530
|
+
throw new internal_1.PolymeshError({
|
|
531
|
+
code: types_1.ErrorCode.DataUnavailable,
|
|
532
|
+
message: 'There is no active staking era',
|
|
533
|
+
});
|
|
534
|
+
}
|
|
535
|
+
const rawStartSession = yield query.staking.erasStartSessionIndex(rawActiveEra.unwrap().index);
|
|
536
|
+
/*
|
|
537
|
+
* which session the era ends on is what dates the election, so an era whose start the chain
|
|
538
|
+
* has pruned cannot be answered for — where `eraProgress` treats a missing anchor as
|
|
539
|
+
* session 0 and reads as overdue, a schedule built on that would name a block in the past
|
|
540
|
+
*/
|
|
541
|
+
if (rawStartSession.isNone) {
|
|
542
|
+
throw new internal_1.PolymeshError({
|
|
543
|
+
code: types_1.ErrorCode.DataUnavailable,
|
|
544
|
+
message: 'The chain has no start session recorded for the active era',
|
|
545
|
+
});
|
|
546
|
+
}
|
|
547
|
+
return [
|
|
548
|
+
(0, conversion_1.u32ToBigNumber)(rawStartSession.unwrap()),
|
|
549
|
+
yield (0, internal_2.getSlotAtBlock)(context, epochStartBlock(raw[4])),
|
|
550
|
+
];
|
|
551
|
+
});
|
|
552
|
+
if (callback) {
|
|
553
|
+
context.assertSupportsSubscription();
|
|
554
|
+
return (0, internal_2.requestMulti)(context, queries, (raw) => __awaiter(this, void 0, void 0, function* () {
|
|
555
|
+
const [eraStartSession, epochStartSlot] = yield readAnchors(raw);
|
|
556
|
+
yield callback(assembleElectionSchedule(raw, eraStartSession, epochStartSlot, this.getConstants()));
|
|
557
|
+
}));
|
|
558
|
+
}
|
|
559
|
+
const raw = yield (0, internal_2.requestMulti)(context, queries);
|
|
560
|
+
const [eraStartSession, epochStartSlot] = yield readAnchors(raw);
|
|
561
|
+
return assembleElectionSchedule(raw, eraStartSession, epochStartSlot, this.getConstants());
|
|
562
|
+
});
|
|
563
|
+
}
|
|
564
|
+
// eslint-disable-next-line require-jsdoc
|
|
565
|
+
getElectionPhase(callback) {
|
|
566
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
567
|
+
const { context, context: { polymeshApi: { query }, }, } = this;
|
|
568
|
+
if (callback) {
|
|
569
|
+
context.assertSupportsSubscription();
|
|
570
|
+
return query.electionProviderMultiPhase.currentPhase(rawPhase => {
|
|
571
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- callback errors should be handled by the caller
|
|
572
|
+
callback(types_1.ElectionPhase[rawPhase.type]);
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
const rawPhase = yield query.electionProviderMultiPhase.currentPhase();
|
|
576
|
+
return types_1.ElectionPhase[rawPhase.type];
|
|
577
|
+
});
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* @hidden
|
|
581
|
+
*
|
|
582
|
+
* Resolve an optional era argument to the era to query, defaulting to the active one
|
|
583
|
+
*/
|
|
584
|
+
asRawEra(era) {
|
|
585
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
586
|
+
const { context, context: { polymeshApi: { query }, }, } = this;
|
|
587
|
+
if (era) {
|
|
588
|
+
return (0, conversion_1.bigNumberToU32)(era, context);
|
|
589
|
+
}
|
|
590
|
+
const rawActiveEra = yield query.staking.activeEra();
|
|
591
|
+
if (rawActiveEra.isNone) {
|
|
592
|
+
throw new internal_1.PolymeshError({
|
|
593
|
+
code: types_1.ErrorCode.DataUnavailable,
|
|
594
|
+
message: 'There is no active staking era',
|
|
595
|
+
});
|
|
596
|
+
}
|
|
597
|
+
return rawActiveEra.unwrap().index;
|
|
598
|
+
});
|
|
599
|
+
}
|
|
158
600
|
}
|
|
159
601
|
exports.Staking = Staking;
|
|
160
602
|
//# sourceMappingURL=Staking.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Staking.js","sourceRoot":"","sources":["../../../src/api/client/Staking.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Staking.js","sourceRoot":"","sources":["../../../src/api/client/Staking.ts"],"names":[],"mappings":"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"}
|