@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.
Files changed (271) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/CHANGELOG.md +6 -132
  3. package/api/client/AccountManagement.d.ts +48 -0
  4. package/api/client/AccountManagement.d.ts.map +1 -1
  5. package/api/client/AccountManagement.js +38 -0
  6. package/api/client/AccountManagement.js.map +1 -1
  7. package/api/client/Assets.d.ts.map +1 -1
  8. package/api/client/Assets.js +4 -5
  9. package/api/client/Assets.js.map +1 -1
  10. package/api/client/Claims.d.ts +5 -0
  11. package/api/client/Claims.d.ts.map +1 -1
  12. package/api/client/Claims.js +5 -2
  13. package/api/client/Claims.js.map +1 -1
  14. package/api/client/Network.d.ts +104 -3
  15. package/api/client/Network.d.ts.map +1 -1
  16. package/api/client/Network.js +162 -14
  17. package/api/client/Network.js.map +1 -1
  18. package/api/client/Polymesh.d.ts.map +1 -1
  19. package/api/client/Polymesh.js +5 -6
  20. package/api/client/Polymesh.js.map +1 -1
  21. package/api/client/Staking.d.ts +206 -5
  22. package/api/client/Staking.d.ts.map +1 -1
  23. package/api/client/Staking.js +443 -1
  24. package/api/client/Staking.js.map +1 -1
  25. package/api/client/types.d.ts +281 -5
  26. package/api/client/types.d.ts.map +1 -1
  27. package/api/client/types.js +29 -1
  28. package/api/client/types.js.map +1 -1
  29. package/api/entities/Account/MultiSig/index.d.ts +6 -0
  30. package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
  31. package/api/entities/Account/MultiSig/index.js +6 -2
  32. package/api/entities/Account/MultiSig/index.js.map +1 -1
  33. package/api/entities/Account/Staking/index.d.ts +26 -2
  34. package/api/entities/Account/Staking/index.d.ts.map +1 -1
  35. package/api/entities/Account/Staking/index.js +36 -3
  36. package/api/entities/Account/Staking/index.js.map +1 -1
  37. package/api/entities/Account/index.d.ts +42 -3
  38. package/api/entities/Account/index.d.ts.map +1 -1
  39. package/api/entities/Account/index.js +94 -1
  40. package/api/entities/Account/index.js.map +1 -1
  41. package/api/entities/Account/types.d.ts +61 -2
  42. package/api/entities/Account/types.d.ts.map +1 -1
  43. package/api/entities/Account/types.js +25 -1
  44. package/api/entities/Account/types.js.map +1 -1
  45. package/api/entities/Asset/Base/BaseAsset.js +1 -1
  46. package/api/entities/Asset/Base/BaseAsset.js.map +1 -1
  47. package/api/entities/Asset/Fungible/index.d.ts +6 -0
  48. package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
  49. package/api/entities/Asset/Fungible/index.js +6 -2
  50. package/api/entities/Asset/Fungible/index.js.map +1 -1
  51. package/api/entities/Asset/NonFungible/Nft.js +1 -1
  52. package/api/entities/Asset/NonFungible/Nft.js.map +1 -1
  53. package/api/entities/Asset/NonFungible/NftCollection.d.ts +6 -0
  54. package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
  55. package/api/entities/Asset/NonFungible/NftCollection.js +8 -4
  56. package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
  57. package/api/entities/Asset/types.d.ts +11 -0
  58. package/api/entities/Asset/types.d.ts.map +1 -1
  59. package/api/entities/Asset/types.js.map +1 -1
  60. package/api/entities/AuthorizationRequest.js +1 -1
  61. package/api/entities/AuthorizationRequest.js.map +1 -1
  62. package/api/entities/Checkpoint.js +1 -1
  63. package/api/entities/Checkpoint.js.map +1 -1
  64. package/api/entities/CheckpointSchedule/index.js +1 -1
  65. package/api/entities/CheckpointSchedule/index.js.map +1 -1
  66. package/api/entities/CorporateActionBase/index.js +1 -1
  67. package/api/entities/CorporateActionBase/index.js.map +1 -1
  68. package/api/entities/CustomPermissionGroup.js +1 -1
  69. package/api/entities/CustomPermissionGroup.js.map +1 -1
  70. package/api/entities/DividendDistribution/index.d.ts +6 -0
  71. package/api/entities/DividendDistribution/index.d.ts.map +1 -1
  72. package/api/entities/DividendDistribution/index.js +6 -2
  73. package/api/entities/DividendDistribution/index.js.map +1 -1
  74. package/api/entities/Identity/AssetPermissions.d.ts +5 -1
  75. package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
  76. package/api/entities/Identity/AssetPermissions.js +5 -2
  77. package/api/entities/Identity/AssetPermissions.js.map +1 -1
  78. package/api/entities/Identity/IdentityAuthorizations.d.ts +5 -0
  79. package/api/entities/Identity/IdentityAuthorizations.d.ts.map +1 -1
  80. package/api/entities/Identity/IdentityAuthorizations.js +5 -0
  81. package/api/entities/Identity/IdentityAuthorizations.js.map +1 -1
  82. package/api/entities/Identity/Portfolios.js +1 -1
  83. package/api/entities/Identity/Portfolios.js.map +1 -1
  84. package/api/entities/Identity/index.d.ts +50 -1
  85. package/api/entities/Identity/index.d.ts.map +1 -1
  86. package/api/entities/Identity/index.js +76 -9
  87. package/api/entities/Identity/index.js.map +1 -1
  88. package/api/entities/Instruction/index.js +1 -1
  89. package/api/entities/Instruction/index.js.map +1 -1
  90. package/api/entities/MetadataEntry/index.js +1 -1
  91. package/api/entities/MetadataEntry/index.js.map +1 -1
  92. package/api/entities/NumberedPortfolio.d.ts +4 -0
  93. package/api/entities/NumberedPortfolio.d.ts.map +1 -1
  94. package/api/entities/NumberedPortfolio.js +1 -1
  95. package/api/entities/NumberedPortfolio.js.map +1 -1
  96. package/api/entities/Offering/index.d.ts +5 -0
  97. package/api/entities/Offering/index.d.ts.map +1 -1
  98. package/api/entities/Offering/index.js +6 -3
  99. package/api/entities/Offering/index.js.map +1 -1
  100. package/api/entities/Portfolio/index.d.ts +22 -0
  101. package/api/entities/Portfolio/index.d.ts.map +1 -1
  102. package/api/entities/Portfolio/index.js +99 -21
  103. package/api/entities/Portfolio/index.js.map +1 -1
  104. package/api/entities/Venue/index.d.ts +3 -0
  105. package/api/entities/Venue/index.d.ts.map +1 -1
  106. package/api/entities/Venue/index.js +4 -1
  107. package/api/entities/Venue/index.js.map +1 -1
  108. package/api/entities/common/namespaces/Authorizations.d.ts +16 -2
  109. package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
  110. package/api/entities/common/namespaces/Authorizations.js +16 -4
  111. package/api/entities/common/namespaces/Authorizations.js.map +1 -1
  112. package/api/procedures/acceptPrimaryKeyRotation.js +1 -1
  113. package/api/procedures/acceptPrimaryKeyRotation.js.map +1 -1
  114. package/api/procedures/bondPolyx.d.ts +14 -2
  115. package/api/procedures/bondPolyx.d.ts.map +1 -1
  116. package/api/procedures/bondPolyx.js +39 -8
  117. package/api/procedures/bondPolyx.js.map +1 -1
  118. package/api/procedures/chillStaking.d.ts +36 -0
  119. package/api/procedures/chillStaking.d.ts.map +1 -0
  120. package/api/procedures/chillStaking.js +72 -0
  121. package/api/procedures/chillStaking.js.map +1 -0
  122. package/api/procedures/claimDividends.d.ts.map +1 -1
  123. package/api/procedures/claimDividends.js +11 -1
  124. package/api/procedures/claimDividends.js.map +1 -1
  125. package/api/procedures/configureDividendDistribution.js +2 -2
  126. package/api/procedures/configureDividendDistribution.js.map +1 -1
  127. package/api/procedures/issueNft.d.ts +1 -0
  128. package/api/procedures/issueNft.d.ts.map +1 -1
  129. package/api/procedures/issueNft.js +24 -6
  130. package/api/procedures/issueNft.js.map +1 -1
  131. package/api/procedures/modifyAsset.js +1 -1
  132. package/api/procedures/modifyAsset.js.map +1 -1
  133. package/api/procedures/moveFunds.js +2 -2
  134. package/api/procedures/moveFunds.js.map +1 -1
  135. package/api/procedures/nominateValidators.d.ts +6 -1
  136. package/api/procedures/nominateValidators.d.ts.map +1 -1
  137. package/api/procedures/nominateValidators.js +45 -6
  138. package/api/procedures/nominateValidators.js.map +1 -1
  139. package/api/procedures/redeemNft.js +1 -1
  140. package/api/procedures/redeemNft.js.map +1 -1
  141. package/api/procedures/redeemTokens.js +1 -1
  142. package/api/procedures/redeemTokens.js.map +1 -1
  143. package/api/procedures/removeAssetRequirement.js +1 -1
  144. package/api/procedures/removeAssetRequirement.js.map +1 -1
  145. package/api/procedures/removeCheckpointSchedule.js +1 -1
  146. package/api/procedures/removeCheckpointSchedule.js.map +1 -1
  147. package/api/procedures/removeCorporateAction.js +3 -3
  148. package/api/procedures/removeCorporateAction.js.map +1 -1
  149. package/api/procedures/setCustodian.d.ts +5 -1
  150. package/api/procedures/setCustodian.d.ts.map +1 -1
  151. package/api/procedures/setCustodian.js +2 -6
  152. package/api/procedures/setCustodian.js.map +1 -1
  153. package/api/procedures/setStakingController.d.ts +9 -1
  154. package/api/procedures/setStakingController.d.ts.map +1 -1
  155. package/api/procedures/setStakingController.js +10 -6
  156. package/api/procedures/setStakingController.js.map +1 -1
  157. package/api/procedures/setStakingPayee.d.ts +9 -1
  158. package/api/procedures/setStakingPayee.d.ts.map +1 -1
  159. package/api/procedures/setStakingPayee.js +10 -6
  160. package/api/procedures/setStakingPayee.js.map +1 -1
  161. package/api/procedures/toggleEvmAccountMapping.d.ts +18 -0
  162. package/api/procedures/toggleEvmAccountMapping.d.ts.map +1 -0
  163. package/api/procedures/toggleEvmAccountMapping.js +80 -0
  164. package/api/procedures/toggleEvmAccountMapping.js.map +1 -0
  165. package/api/procedures/types.d.ts +52 -1
  166. package/api/procedures/types.d.ts.map +1 -1
  167. package/api/procedures/types.js.map +1 -1
  168. package/api/procedures/updateBondedPolyx.d.ts +13 -2
  169. package/api/procedures/updateBondedPolyx.d.ts.map +1 -1
  170. package/api/procedures/updateBondedPolyx.js +109 -46
  171. package/api/procedures/updateBondedPolyx.js.map +1 -1
  172. package/api/procedures/withdrawUnbondedPolyx.d.ts +11 -2
  173. package/api/procedures/withdrawUnbondedPolyx.d.ts.map +1 -1
  174. package/api/procedures/withdrawUnbondedPolyx.js +19 -15
  175. package/api/procedures/withdrawUnbondedPolyx.js.map +1 -1
  176. package/base/Context.d.ts +37 -1
  177. package/base/Context.d.ts.map +1 -1
  178. package/base/Context.js +68 -3
  179. package/base/Context.js.map +1 -1
  180. package/base/PolymeshTransactionBase.d.ts +199 -3
  181. package/base/PolymeshTransactionBase.d.ts.map +1 -1
  182. package/base/PolymeshTransactionBase.js +595 -137
  183. package/base/PolymeshTransactionBase.js.map +1 -1
  184. package/base/Procedure.d.ts.map +1 -1
  185. package/base/Procedure.js +2 -0
  186. package/base/Procedure.js.map +1 -1
  187. package/base/ethTransaction.d.ts +222 -0
  188. package/base/ethTransaction.d.ts.map +1 -0
  189. package/base/ethTransaction.js +317 -0
  190. package/base/ethTransaction.js.map +1 -0
  191. package/base/types.d.ts +66 -1
  192. package/base/types.d.ts.map +1 -1
  193. package/base/types.js.map +1 -1
  194. package/base/utils.d.ts +60 -11
  195. package/base/utils.d.ts.map +1 -1
  196. package/base/utils.js +328 -45
  197. package/base/utils.js.map +1 -1
  198. package/internal.d.ts +2 -0
  199. package/internal.d.ts.map +1 -1
  200. package/internal.js +6 -2
  201. package/internal.js.map +1 -1
  202. package/middleware/queries/assets.d.ts +13 -5
  203. package/middleware/queries/assets.d.ts.map +1 -1
  204. package/middleware/queries/assets.js +60 -27
  205. package/middleware/queries/assets.js.map +1 -1
  206. package/middleware/queries/authorizations.d.ts +2 -2
  207. package/middleware/queries/authorizations.d.ts.map +1 -1
  208. package/middleware/queries/authorizations.js +4 -3
  209. package/middleware/queries/authorizations.js.map +1 -1
  210. package/middleware/queries/claims.d.ts +4 -4
  211. package/middleware/queries/claims.d.ts.map +1 -1
  212. package/middleware/queries/claims.js +18 -6
  213. package/middleware/queries/claims.js.map +1 -1
  214. package/middleware/queries/common.d.ts +41 -1
  215. package/middleware/queries/common.d.ts.map +1 -1
  216. package/middleware/queries/common.js +51 -9
  217. package/middleware/queries/common.js.map +1 -1
  218. package/middleware/queries/distributions.d.ts +2 -2
  219. package/middleware/queries/distributions.d.ts.map +1 -1
  220. package/middleware/queries/distributions.js +10 -3
  221. package/middleware/queries/distributions.js.map +1 -1
  222. package/middleware/queries/events.d.ts +2 -2
  223. package/middleware/queries/events.d.ts.map +1 -1
  224. package/middleware/queries/events.js +4 -3
  225. package/middleware/queries/events.js.map +1 -1
  226. package/middleware/queries/externalAgents.d.ts +2 -2
  227. package/middleware/queries/externalAgents.d.ts.map +1 -1
  228. package/middleware/queries/externalAgents.js +4 -3
  229. package/middleware/queries/externalAgents.js.map +1 -1
  230. package/middleware/queries/extrinsics.d.ts +1 -1
  231. package/middleware/queries/extrinsics.d.ts.map +1 -1
  232. package/middleware/queries/extrinsics.js +14 -8
  233. package/middleware/queries/extrinsics.js.map +1 -1
  234. package/middleware/queries/multisigs.d.ts +2 -6
  235. package/middleware/queries/multisigs.d.ts.map +1 -1
  236. package/middleware/queries/multisigs.js +10 -4
  237. package/middleware/queries/multisigs.js.map +1 -1
  238. package/middleware/queries/polyxTransactions.d.ts +2 -1
  239. package/middleware/queries/polyxTransactions.d.ts.map +1 -1
  240. package/middleware/queries/polyxTransactions.js +5 -3
  241. package/middleware/queries/polyxTransactions.js.map +1 -1
  242. package/middleware/queries/settlements.d.ts +7 -7
  243. package/middleware/queries/settlements.d.ts.map +1 -1
  244. package/middleware/queries/settlements.js +23 -14
  245. package/middleware/queries/settlements.js.map +1 -1
  246. package/middleware/queries/stos.d.ts +2 -2
  247. package/middleware/queries/stos.d.ts.map +1 -1
  248. package/middleware/queries/stos.js +9 -5
  249. package/middleware/queries/stos.js.map +1 -1
  250. package/npm-package/polymeshassociation-polymesh-sdk-31.1.0-beta.10.tgz +0 -0
  251. package/package.json +2 -3
  252. package/types/internal.d.ts +38 -1
  253. package/types/internal.d.ts.map +1 -1
  254. package/types/internal.js.map +1 -1
  255. package/utils/constants.d.ts +23 -0
  256. package/utils/constants.d.ts.map +1 -1
  257. package/utils/constants.js +24 -1
  258. package/utils/constants.js.map +1 -1
  259. package/utils/eth.d.ts +63 -0
  260. package/utils/eth.d.ts.map +1 -0
  261. package/utils/eth.js +209 -0
  262. package/utils/eth.js.map +1 -0
  263. package/utils/internal.d.ts +30 -2
  264. package/utils/internal.d.ts.map +1 -1
  265. package/utils/internal.js +86 -6
  266. package/utils/internal.js.map +1 -1
  267. package/utils/typeguards.d.ts +10 -0
  268. package/utils/typeguards.d.ts.map +1 -1
  269. package/utils/typeguards.js +11 -0
  270. package/utils/typeguards.js.map +1 -1
  271. package/npm-package/polymeshassociation-polymesh-sdk-31.0.0.tgz +0 -0
@@ -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
- const totalStaked = (0, conversion_1.u128ToBigNumber)(rawTotalStaked);
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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"}