@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polymeshassociation/polymesh-sdk",
3
- "version": "31.0.0",
3
+ "version": "31.1.0-beta.10",
4
4
  "description": "High-level API to interact with the Polymesh blockchain",
5
5
  "types": "./index.d.ts",
6
6
  "engines": {
@@ -54,7 +54,7 @@
54
54
  "@polkadot/dev-ts": "^0.83.3",
55
55
  "@polkadot/typegen": "16.5.2",
56
56
  "@polymeshassociation/local-signing-manager": "^4.1.1",
57
- "@polymeshassociation/signing-manager-types": "^3.7.1",
57
+ "@polymeshassociation/signing-manager-types": "3.8.0",
58
58
  "@semantic-release/changelog": "^6.0.3",
59
59
  "@types/jest": "^29.5.14",
60
60
  "@types/jest-when": "^3.5.2",
@@ -122,7 +122,6 @@
122
122
  "@polkadot/util-crypto": "13.5.9",
123
123
  "@polymeshassociation/polymesh-types": "^7.5.0",
124
124
  "bignumber.js": "9.0.1",
125
- "cross-fetch": "^4.0.0",
126
125
  "dayjs": "1.11.9",
127
126
  "graphql": "^16.8.0",
128
127
  "graphql-tag": "2.12.6",
@@ -4,9 +4,10 @@ import { Bytes, u32 } from '@polkadot/types';
4
4
  import { PolymeshPrimitivesAssetAssetId, PolymeshPrimitivesStatisticsStatOpType, PolymeshPrimitivesTicker } from '../../node_modules/@polymeshassociation/polymesh-types/polkadot/types-lookup';
5
5
  import { ISubmittableResult, Signer as PolkadotSigner } from '@polkadot/types/types';
6
6
  import BigNumber from 'bignumber.js';
7
+ import { ExtrinsicMatcher } from '../base/utils';
7
8
  import { Identity, Procedure } from '../internal';
8
9
  import { CallIdEnum, ModuleIdEnum } from '../middleware/types';
9
- import { ClaimType, FungibleAsset, InputStatClaim, KnownAssetType, KnownNftType, MortalityProcedureOpt, MultiSig, MultiSigProcedureOpt, PermissionGroupType, Role, SignerValue, SimplePermissions, TxData } from '../types';
10
+ import { ClaimType, FungibleAsset, InputStatClaim, KnownAssetType, KnownNftType, MortalityProcedureOpt, MultiSig, MultiSigProcedureOpt, PermissionGroupType, Role, SignerValue, SimplePermissions, SubmissionOpts, TxData, UnsubCallback } from '../types';
10
11
  /**
11
12
  * Polkadot's `tx` submodule
12
13
  */
@@ -183,6 +184,42 @@ export interface TransactionConstructionData {
183
184
  * options that specify details for MultiSig proposals
184
185
  */
185
186
  multiSigOpts?: MultiSigProcedureOpt | undefined;
187
+ /**
188
+ * bounds on how long to wait when submitting and tracking the transaction
189
+ */
190
+ submission?: SubmissionOpts | undefined;
191
+ }
192
+ /**
193
+ * How a transaction is delivered to the chain when the connection supports subscriptions.
194
+ *
195
+ * `PolymeshTransactionBase` owns all of the lifecycle bookkeeping (status transitions, block
196
+ * data, on-chain failure handling); a submission only describes *how* the transaction reaches
197
+ * the node
198
+ */
199
+ export interface SubscriptionSubmission {
200
+ /**
201
+ * submit the transaction, invoking `callback` on every status update. Resolves to the
202
+ * unsubscribe function once the transaction has been accepted
203
+ */
204
+ subscribe: (callback: (receipt: ISubmittableResult) => void) => Promise<UnsubCallback>;
205
+ /**
206
+ * the hash to report via `transaction.txHash` once the transaction has been accepted
207
+ */
208
+ getTxHash: () => string;
209
+ }
210
+ /**
211
+ * How a transaction is delivered to the chain when the connection does not support
212
+ * subscriptions and the result has to be located by polling
213
+ */
214
+ export interface PollingSubmission {
215
+ /**
216
+ * submit the transaction. Resolves once it has been accepted, yielding the hash to report via
217
+ * `transaction.txHash` and a predicate that recognizes the extrinsic in a block's body
218
+ */
219
+ send: () => Promise<{
220
+ txHash: string;
221
+ matcher: ExtrinsicMatcher;
222
+ }>;
186
223
  }
187
224
  export interface AuthTarget {
188
225
  target: SignerValue;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/types/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/types/internal.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,8BAA8B,EAC9B,sCAAsC,EACtC,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,SAAS,EACT,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,IAAI,EACJ,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,MAAM,EACN,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,eAAe,CACzB,UAAU,SAAS,MAAM,UAAU,EACnC,eAAe,SAAS,MAAM,UAAU,CAAC,UAAU,CAAC,IAClD,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,IAC3E,oBAAoB,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;AAE3E,UAAU,MAAM,CAAC,IAAI,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE;IACjD;;OAEG;IACH,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B;;OAEG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC;;;OAGG;IACH,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,GACvE,CAAC,IAAI,SAAS,EAAE,GACZ;IACE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,GACD;IACE,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC,CAAC;AAET,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,GAC3E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,OAAO,EAAE,EAAE,IAAI;KACxD,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC1F,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,OAAO,EAAE,EAAE,IAAI;KACxD,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC1F,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,SAAS,SAAS,OAAO,EAAE,EAAE,IAAI;KAC5D,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC9F,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,MAAM,SAAS,OAAO,EAAE,IAAI;KAC3D,CAAC,IAAI,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;CACrF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,WAAW,IAAI,CAC1C,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,CAAC,WAAW,IAAI,gBAAgB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AAE7F;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAC5C,KAAK,EAAE,qBAAqB,CAAC,WAAW,CAAC,GACxC,KAAK,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAExC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,WAAW,EAAE,sBAAsB,GAAG,WAAW;IACpF;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IAEvC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IAElF;;OAEG;IACH,QAAQ,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC7C;;OAEG;IACH,WAAW,CAAC,EACR,CAAC,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,sBAAsB,CAAC,GAAG,sBAAsB,CAAC,GACnF,SAAS,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB,CACnC,WAAW,EACX,SAAS,SAAS,OAAO,EAAE,EAAE,EAC7B,sBAAsB,GAAG,WAAW,CACpC,SAAQ,mBAAmB,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAChE;;OAEG;IACH,YAAY,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,CACzB,WAAW,EACX,IAAI,SAAS,OAAO,EAAE,EACtB,sBAAsB,GAAG,WAAW,IAClC,mBAAmB,CAAC,WAAW,EAAE,sBAAsB,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,WAAW,IAC1C,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,GAC9C,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACpC;;OAEG;IACH,SAAS,EAAE,qBAAqB,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChD;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACzC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACvF;;OAEG;IACH,SAAS,EAAE,MAAM,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,oBAAY,2BAA2B;IACrC,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,MAAM,CAAC;IACtD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;IACzE,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB,OAAO,GACP;IACE,KAAK,EAAE,CAAC,CAAC;CACV,GACD;IACE,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,GAAG,CACjC,MAAM,EACN;IACE,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;CACvC,CACF,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,kBAAkB,uBAAuB;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAEpG;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,iBAAiB,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,IACnF,UAAU,CAAC,iBAAiB,CAAC,SAAS,SAAS,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,sCAAsC,CAAC;IAC3C,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,8BAA8B,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;AAElF,MAAM,MAAM,mBAAmB,GAC3B;IACE,MAAM,EAAE,wBAAwB,CAAC;CAClC,GACD;IACE,OAAO,EAAE,8BAA8B,CAAC;CACzC,CAAC;AAEN,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,KAAK,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC,MAAM,EACN;IACE,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC7C,EAAE,CACJ,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB;IACE,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE;QACT,KAAK,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,UAAU,EAAE,cAAc,CAAC;aAC5B,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/types/internal.ts"],"names":[],"mappings":";;;AAmKA,gDAIC;AAPD;;GAEG;AACH,SAAgB,kBAAkB,CAChC,KAAyC;IAEzC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAwGD,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,gDAAiB,CAAA;IACjB,0CAAW,CAAA;IACX,0CAAW,CAAA;AACb,CAAC,EAJW,2BAA2B,2CAA3B,2BAA2B,QAItC;AAsDD,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,8DAAyC,CAAA;AAC3C,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/types/internal.ts"],"names":[],"mappings":";;;AAsKA,gDAIC;AAPD;;GAEG;AACH,SAAgB,kBAAkB,CAChC,KAAyC;IAEzC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AA2ID,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,gDAAiB,CAAA;IACjB,0CAAW,CAAA;IACX,0CAAW,CAAA;AACb,CAAC,EAJW,2BAA2B,2CAA3B,2BAA2B,QAItC;AAsDD,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,8DAAyC,CAAA;AAC3C,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B"}
@@ -98,4 +98,27 @@ export declare const GLOBAL_BASE_TOKEN_URI_NAME = "baseTokenUri";
98
98
  export declare const ASSET_ID_PREFIX = "modlpy/pallet_asset";
99
99
  export declare const TX_TAG_VALUES: string[];
100
100
  export declare const MODULE_NAMES: string[];
101
+ /**
102
+ * Milliseconds in a year, as the chain counts one: the Julian year of 365.25 days
103
+ *
104
+ * @note the reward calculation in `pallets/validators/src/inflation.rs` uses
105
+ * `1000 * 3600 * 24 * 36525 / 100`, so anything annualised against a 365 day year overstates the
106
+ * result by 0.0685%
107
+ */
108
+ export declare const MILLISECONDS_PER_YEAR: BigNumber;
109
+ /**
110
+ * The consensus engine id BABE stamps on the pre-runtime digest of every block it authors
111
+ *
112
+ * @note the slot a block was produced in is only recorded there — it is not in state
113
+ */
114
+ export declare const BABE_ENGINE_ID = "BABE";
115
+ /**
116
+ * How much of an epoch the chain's unsigned election phase runs for
117
+ *
118
+ * @note the runtimes set `UnsignedPhase = EPOCH_DURATION_IN_BLOCKS / 4` and it is not a
119
+ * `#[pallet::constant]`, so it never reaches metadata and has to be carried here. The mainnet,
120
+ * testnet and develop runtimes all agree on it, and `SignedPhase` is `0`, so the unsigned phase
121
+ * is the whole election window
122
+ */
123
+ export declare const UNSIGNED_ELECTION_PHASE_EPOCH_FRACTION: BigNumber;
101
124
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAc,uBAAuB,EAAU,MAAM,SAAS,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC;;GAEG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC;;GAEG;AACH,eAAO,MAAM,WAAW,WAAkC,CAAC;AAC3D;;GAEG;AACH,eAAO,MAAM,gBAAgB,qDAAqD,CAAC;AACnF;;GAEG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC;;GAEG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AACtD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC;;GAEG;AACH,eAAO,MAAM,aAAa,WAAsB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AA4D1C;;GAEG;AACH,eAAO,MAAM,UAAU,kPAAY,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,oCAAoC,sBAAsB,CAAC;AAGxE,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAGnF,eAAO,MAAM,6BAA6B,QAAwD,CAAC;AAEnG,eAAO,MAAM,0BAA0B;;;;;CAKtC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;CAK9C,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,cAAc,uEAAuE,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AAEzD,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAErD,eAAO,MAAM,aAAa,EAAE,MAAM,EAAyD,CAAC;AAE5F,eAAO,MAAM,YAAY,EAAE,MAAM,EAA8B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAc,uBAAuB,EAAU,MAAM,SAAS,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC;;GAEG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC;;GAEG;AACH,eAAO,MAAM,WAAW,WAAkC,CAAC;AAC3D;;GAEG;AACH,eAAO,MAAM,gBAAgB,qDAAqD,CAAC;AACnF;;GAEG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC;;GAEG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AACtD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC;;GAEG;AACH,eAAO,MAAM,aAAa,WAAsB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AA4D1C;;GAEG;AACH,eAAO,MAAM,UAAU,kPAAY,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,oCAAoC,sBAAsB,CAAC;AAGxE,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAGnF,eAAO,MAAM,6BAA6B,QAAwD,CAAC;AAEnG,eAAO,MAAM,0BAA0B;;;;;CAKtC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;CAK9C,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,cAAc,uEAAuE,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AAEzD,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAErD,eAAO,MAAM,aAAa,EAAE,MAAM,EAAyD,CAAC;AAE5F,eAAO,MAAM,YAAY,EAAE,MAAM,EAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,WAAyD,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,sCAAsC,WAAmB,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MODULE_NAMES = exports.TX_TAG_VALUES = exports.ASSET_ID_PREFIX = exports.GLOBAL_BASE_TOKEN_URI_NAME = exports.GLOBAL_TOKEN_URI_NAME = exports.GLOBAL_BASE_IMAGE_URI_NAME = exports.GLOBAL_IMAGE_URI_NAME = exports.MINIMUM_SQ_VERSION = exports.DEFAULT_CDD_ID = exports.MAX_LEGS_LENGTH = exports.CONFIDENTIAL_ASSETS_SUPPORTED_CALL = exports.STATE_RUNTIME_VERSION_CALL = exports.PRIVATE_SUPPORTED_SPEC_SEMVER = exports.SUPPORTED_SPEC_SEMVER = exports.PRIVATE_SUPPORTED_SPEC_VERSION_RANGE = exports.SUPPORTED_SPEC_VERSION_RANGE = exports.ROOT_TYPES = exports.DEFAULT_LIFETIME_PERIOD = exports.MAX_PAGE_SIZE = exports.DEFAULT_GQL_PAGE_SIZE = exports.TREASURY_MODULE_ADDRESS = exports.MAX_CONCURRENT_REQUESTS = exports.DEFAULT_SS58_FORMAT = exports.IGNORE_CHECKSUM = exports.DUMMY_ACCOUNT_ID = exports.MAX_BALANCE = exports.MAX_ASSET_MEDIATORS = exports.MAX_META_LENGTH = exports.MAX_BATCH_SIZE_SUPPORTING_SUBSIDY = exports.MAX_OFF_CHAIN_METADATA_LENGTH = exports.MAX_MEMO_LENGTH = exports.MAX_MODULE_LENGTH = exports.MAX_TICKER_LENGTH = exports.MAX_DECIMALS = void 0;
6
+ exports.UNSIGNED_ELECTION_PHASE_EPOCH_FRACTION = exports.BABE_ENGINE_ID = exports.MILLISECONDS_PER_YEAR = exports.MODULE_NAMES = exports.TX_TAG_VALUES = exports.ASSET_ID_PREFIX = exports.GLOBAL_BASE_TOKEN_URI_NAME = exports.GLOBAL_TOKEN_URI_NAME = exports.GLOBAL_BASE_IMAGE_URI_NAME = exports.GLOBAL_IMAGE_URI_NAME = exports.MINIMUM_SQ_VERSION = exports.DEFAULT_CDD_ID = exports.MAX_LEGS_LENGTH = exports.CONFIDENTIAL_ASSETS_SUPPORTED_CALL = exports.STATE_RUNTIME_VERSION_CALL = exports.PRIVATE_SUPPORTED_SPEC_SEMVER = exports.SUPPORTED_SPEC_SEMVER = exports.PRIVATE_SUPPORTED_SPEC_VERSION_RANGE = exports.SUPPORTED_SPEC_VERSION_RANGE = exports.ROOT_TYPES = exports.DEFAULT_LIFETIME_PERIOD = exports.MAX_PAGE_SIZE = exports.DEFAULT_GQL_PAGE_SIZE = exports.TREASURY_MODULE_ADDRESS = exports.MAX_CONCURRENT_REQUESTS = exports.DEFAULT_SS58_FORMAT = exports.IGNORE_CHECKSUM = exports.DUMMY_ACCOUNT_ID = exports.MAX_BALANCE = exports.MAX_ASSET_MEDIATORS = exports.MAX_META_LENGTH = exports.MAX_BATCH_SIZE_SUPPORTING_SUBSIDY = exports.MAX_OFF_CHAIN_METADATA_LENGTH = exports.MAX_MEMO_LENGTH = exports.MAX_MODULE_LENGTH = exports.MAX_TICKER_LENGTH = exports.MAX_DECIMALS = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const semver_1 = require("semver");
9
9
  const types_1 = require("../types");
@@ -147,4 +147,27 @@ exports.GLOBAL_BASE_TOKEN_URI_NAME = 'baseTokenUri';
147
147
  exports.ASSET_ID_PREFIX = 'modlpy/pallet_asset';
148
148
  exports.TX_TAG_VALUES = Object.values(types_1.TxTags).flatMap(v => Object.values(v));
149
149
  exports.MODULE_NAMES = Object.values(types_1.ModuleName);
150
+ /**
151
+ * Milliseconds in a year, as the chain counts one: the Julian year of 365.25 days
152
+ *
153
+ * @note the reward calculation in `pallets/validators/src/inflation.rs` uses
154
+ * `1000 * 3600 * 24 * 36525 / 100`, so anything annualised against a 365 day year overstates the
155
+ * result by 0.0685%
156
+ */
157
+ exports.MILLISECONDS_PER_YEAR = new bignumber_js_1.default(1000 * 3600 * 24 * 36525).dividedBy(100);
158
+ /**
159
+ * The consensus engine id BABE stamps on the pre-runtime digest of every block it authors
160
+ *
161
+ * @note the slot a block was produced in is only recorded there — it is not in state
162
+ */
163
+ exports.BABE_ENGINE_ID = 'BABE';
164
+ /**
165
+ * How much of an epoch the chain's unsigned election phase runs for
166
+ *
167
+ * @note the runtimes set `UnsignedPhase = EPOCH_DURATION_IN_BLOCKS / 4` and it is not a
168
+ * `#[pallet::constant]`, so it never reaches metadata and has to be carried here. The mainnet,
169
+ * testnet and develop runtimes all agree on it, and `SignedPhase` is `0`, so the unsigned phase
170
+ * is the whole election window
171
+ */
172
+ exports.UNSIGNED_ELECTION_PHASE_EPOCH_FRACTION = new bignumber_js_1.default(4);
150
173
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"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"}
package/utils/eth.d.ts ADDED
@@ -0,0 +1,63 @@
1
+ import { HexString } from '@polkadot/util/types';
2
+ import { PalletRevivePrimitivesEthTransactError } from '@polymeshassociation/polymesh-types/polkadot/types-lookup';
3
+ import BigNumber from 'bignumber.js';
4
+ import { Context, PolymeshError } from '../internal';
5
+ /**
6
+ * Return whether the given SS58 address was derived from an Ethereum key, i.e. whether the last
7
+ * 12 bytes of the decoded `AccountId32` are `0xEE`
8
+ *
9
+ * @note `@polymeshassociation/eth-signing-manager` implements this, {@link ethAddressFromSs58}
10
+ * and {@link ss58FromEthAddress} separately in its `src/utils/index.ts`, since
11
+ * `signing-manager-types` is a types-only devDependency here. Its `DEV_ACCOUNTS` vectors are
12
+ * mirrored in `utils/__tests__/eth.ts`, so drift fails a test. Its `ss58Format` is
13
+ * optional by design: a standalone manager does not know the chain's format, the SDK always does
14
+ *
15
+ * @note tolerant of a malformed address: returns `false` rather than throwing, since this runs on
16
+ * every transaction submission
17
+ */
18
+ export declare function isEthDerivedAddress(address: string, ss58Format: BigNumber): boolean;
19
+ /**
20
+ * Convert the SS58 address of an Ethereum-derived Account into its controlling, checksummed
21
+ * (EIP-55) `0x`-prefixed Ethereum address
22
+ *
23
+ * @throws if the address is not a validly encoded, Ethereum-derived address
24
+ */
25
+ export declare function ethAddressFromSs58(address: string, ss58Format: BigNumber): HexString;
26
+ /**
27
+ * Convert an Ethereum address into the SS58 address of the Account it controls:
28
+ * `ss58(<h160> ++ [0xEE; 12])`
29
+ *
30
+ * @throws if `h160` is not a 20 byte hex encoded address
31
+ */
32
+ export declare function ss58FromEthAddress(h160: string, ss58Format: BigNumber): string;
33
+ /**
34
+ * Compute the Ethereum (H160) address the chain associates with an Account, mirroring revive's
35
+ * `AccountId32Mapper::to_address`:
36
+ *
37
+ * - an Ethereum-derived Account (`<h160> ++ [0xEE; 12]`) yields the Ethereum key it is padded
38
+ * from. The chain can always invert this, so no on-chain mapping is involved
39
+ * - any other Account yields `keccak256(<32-byte AccountId32>)[12..]`. This direction is a one-way
40
+ * hash, so the chain can only invert it if the Account has called `revive.mapAccount`
41
+ *
42
+ * @returns the checksummed (EIP-55) `0x`-prefixed address
43
+ *
44
+ * @throws if the address is not a validly encoded 32 byte `AccountId32`
45
+ */
46
+ export declare function evmAddressFromSs58(address: string, ss58Format: BigNumber): HexString;
47
+ /**
48
+ * @hidden
49
+ *
50
+ * Parse the `Err` variant returned by `reviveApi.ethTransactWithConfig`'s dry run into the same
51
+ * `PolymeshError` shape a failed native dispatch would produce
52
+ *
53
+ * - `Message` matching the module error pattern is resolved through chain metadata, so the
54
+ * message is identical to what `handleExtrinsicFailure` would produce for the same error
55
+ * - `Message` not matching the pattern (e.g. gas/balance related failures, "Failed to
56
+ * instantiate") falls back to `ErrorCode.UnexpectedError`, carrying the raw string. It is never
57
+ * swallowed
58
+ * - `Data` is EVM revert data. It is unreachable on the sentinel path (the sentinel is not a
59
+ * contract), so it is mapped to `ErrorCode.UnexpectedError` with the raw hex attached. No ABI
60
+ * decoding is attempted
61
+ */
62
+ export declare function parseEthTransactError(error: PalletRevivePrimitivesEthTransactError, context: Context): PolymeshError;
63
+ //# sourceMappingURL=eth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eth.d.ts","sourceRoot":"","sources":["../../src/utils/eth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,sCAAsC,EAAE,MAAM,2DAA2D,CAAC;AACnH,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA4BpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CAgBnF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,CAYpF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,MAAM,CA6B9E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,CA8BpF;AAcD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,sCAAsC,EAC7C,OAAO,EAAE,OAAO,GACf,aAAa,CAoCf"}
package/utils/eth.js ADDED
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isEthDerivedAddress = isEthDerivedAddress;
4
+ exports.ethAddressFromSs58 = ethAddressFromSs58;
5
+ exports.ss58FromEthAddress = ss58FromEthAddress;
6
+ exports.evmAddressFromSs58 = evmAddressFromSs58;
7
+ exports.parseEthTransactError = parseEthTransactError;
8
+ const util_1 = require("@polkadot/util");
9
+ const util_crypto_1 = require("@polkadot/util-crypto");
10
+ const internal_1 = require("../internal");
11
+ const types_1 = require("../types");
12
+ /**
13
+ * @hidden
14
+ *
15
+ * The last 12 bytes of an `AccountId32` derived from an Ethereum key. Mirrors revive's
16
+ * `is_eth_derived`/`to_fallback_account_id`: `AccountId32 = <20-byte H160> ++ [0xEE; 12]`
17
+ */
18
+ const ETH_SUFFIX_LENGTH = 12;
19
+ const ETH_SUFFIX_BYTE = 0xee;
20
+ /**
21
+ * @hidden
22
+ *
23
+ * Length of an `AccountId32`, and the offset at which its Ethereum suffix begins
24
+ */
25
+ const ACCOUNT_ID_LENGTH = 32;
26
+ const H160_LENGTH = 20;
27
+ /**
28
+ * @hidden
29
+ *
30
+ * Offset into a 32 byte Keccak-256 digest at which revive's derived address begins, i.e. the
31
+ * digest's last 20 bytes
32
+ */
33
+ const KECCAK_ADDRESS_OFFSET = 12;
34
+ /**
35
+ * Return whether the given SS58 address was derived from an Ethereum key, i.e. whether the last
36
+ * 12 bytes of the decoded `AccountId32` are `0xEE`
37
+ *
38
+ * @note `@polymeshassociation/eth-signing-manager` implements this, {@link ethAddressFromSs58}
39
+ * and {@link ss58FromEthAddress} separately in its `src/utils/index.ts`, since
40
+ * `signing-manager-types` is a types-only devDependency here. Its `DEV_ACCOUNTS` vectors are
41
+ * mirrored in `utils/__tests__/eth.ts`, so drift fails a test. Its `ss58Format` is
42
+ * optional by design: a standalone manager does not know the chain's format, the SDK always does
43
+ *
44
+ * @note tolerant of a malformed address: returns `false` rather than throwing, since this runs on
45
+ * every transaction submission
46
+ */
47
+ function isEthDerivedAddress(address, ss58Format) {
48
+ try {
49
+ const decoded = (0, util_crypto_1.decodeAddress)(address, false, ss58Format.toNumber());
50
+ /*
51
+ * SS58 also encodes shorter keys (1, 2, 4, 8 and 33 bytes), so the length must be checked
52
+ * before the suffix — this guarantees the slice below is exactly `ETH_SUFFIX_LENGTH` long
53
+ */
54
+ if (decoded.length !== ACCOUNT_ID_LENGTH) {
55
+ return false;
56
+ }
57
+ return decoded.subarray(H160_LENGTH).every(byte => byte === ETH_SUFFIX_BYTE);
58
+ }
59
+ catch (_a) {
60
+ return false;
61
+ }
62
+ }
63
+ /**
64
+ * Convert the SS58 address of an Ethereum-derived Account into its controlling, checksummed
65
+ * (EIP-55) `0x`-prefixed Ethereum address
66
+ *
67
+ * @throws if the address is not a validly encoded, Ethereum-derived address
68
+ */
69
+ function ethAddressFromSs58(address, ss58Format) {
70
+ if (!isEthDerivedAddress(address, ss58Format)) {
71
+ throw new internal_1.PolymeshError({
72
+ code: types_1.ErrorCode.ValidationError,
73
+ message: 'The supplied address is not an Ethereum-derived Account',
74
+ data: { address },
75
+ });
76
+ }
77
+ const decoded = (0, util_crypto_1.decodeAddress)(address, false, ss58Format.toNumber());
78
+ return (0, util_crypto_1.ethereumEncode)(decoded.subarray(0, H160_LENGTH));
79
+ }
80
+ /**
81
+ * Convert an Ethereum address into the SS58 address of the Account it controls:
82
+ * `ss58(<h160> ++ [0xEE; 12])`
83
+ *
84
+ * @throws if `h160` is not a 20 byte hex encoded address
85
+ */
86
+ function ss58FromEthAddress(h160, ss58Format) {
87
+ /*
88
+ * `hexToU8a` is lenient — it decodes non-hex input to garbage bytes rather than throwing — so
89
+ * the input must be validated up front, otherwise malformed input is reported as a length
90
+ * problem rather than as the hex problem it actually is
91
+ */
92
+ if (!(0, util_1.isHex)(h160)) {
93
+ throw new internal_1.PolymeshError({
94
+ code: types_1.ErrorCode.ValidationError,
95
+ message: 'The supplied Ethereum address is not valid hex',
96
+ data: { h160 },
97
+ });
98
+ }
99
+ const addressBytes = (0, util_1.hexToU8a)(h160);
100
+ if (addressBytes.length !== H160_LENGTH) {
101
+ throw new internal_1.PolymeshError({
102
+ code: types_1.ErrorCode.ValidationError,
103
+ message: 'The supplied Ethereum address must be 20 bytes long',
104
+ data: { h160 },
105
+ });
106
+ }
107
+ const accountId = new Uint8Array(ACCOUNT_ID_LENGTH);
108
+ accountId.set(addressBytes, 0);
109
+ accountId.set(new Uint8Array(ETH_SUFFIX_LENGTH).fill(ETH_SUFFIX_BYTE), H160_LENGTH);
110
+ return (0, util_crypto_1.encodeAddress)(accountId, ss58Format.toNumber());
111
+ }
112
+ /**
113
+ * Compute the Ethereum (H160) address the chain associates with an Account, mirroring revive's
114
+ * `AccountId32Mapper::to_address`:
115
+ *
116
+ * - an Ethereum-derived Account (`<h160> ++ [0xEE; 12]`) yields the Ethereum key it is padded
117
+ * from. The chain can always invert this, so no on-chain mapping is involved
118
+ * - any other Account yields `keccak256(<32-byte AccountId32>)[12..]`. This direction is a one-way
119
+ * hash, so the chain can only invert it if the Account has called `revive.mapAccount`
120
+ *
121
+ * @returns the checksummed (EIP-55) `0x`-prefixed address
122
+ *
123
+ * @throws if the address is not a validly encoded 32 byte `AccountId32`
124
+ */
125
+ function evmAddressFromSs58(address, ss58Format) {
126
+ let decoded;
127
+ try {
128
+ decoded = (0, util_crypto_1.decodeAddress)(address, false, ss58Format.toNumber());
129
+ }
130
+ catch (err) {
131
+ throw new internal_1.PolymeshError({
132
+ code: types_1.ErrorCode.ValidationError,
133
+ message: 'The supplied address is not a valid SS58 address',
134
+ data: { address },
135
+ });
136
+ }
137
+ /*
138
+ * SS58 also encodes shorter keys (1, 2, 4, 8 and 33 bytes), which the chain has no `AccountId32`
139
+ * to derive an address from
140
+ */
141
+ if (decoded.length !== ACCOUNT_ID_LENGTH) {
142
+ throw new internal_1.PolymeshError({
143
+ code: types_1.ErrorCode.ValidationError,
144
+ message: 'The supplied address does not encode a 32 byte Account ID',
145
+ data: { address },
146
+ });
147
+ }
148
+ if (decoded.subarray(H160_LENGTH).every(byte => byte === ETH_SUFFIX_BYTE)) {
149
+ return (0, util_crypto_1.ethereumEncode)(decoded.subarray(0, H160_LENGTH));
150
+ }
151
+ return (0, util_crypto_1.ethereumEncode)((0, util_crypto_1.keccakAsU8a)(decoded).subarray(KECCAK_ADDRESS_OFFSET));
152
+ }
153
+ /**
154
+ * @hidden
155
+ *
156
+ * Format of the `Message` variant the chain produces for a failed runtime dispatch on the
157
+ * `revive.ethTransact` dry-run path:
158
+ *
159
+ * ```text
160
+ * Failed to dispatch call: Module(ModuleError { index: 7, error: [0, 0, 0, 0], message: Some("AlreadyLinked") })
161
+ * ```
162
+ */
163
+ const MODULE_ERROR_PATTERN = /Module\(ModuleError \{ index: (\d+), error: \[([\d,\s]+)\]/;
164
+ /**
165
+ * @hidden
166
+ *
167
+ * Parse the `Err` variant returned by `reviveApi.ethTransactWithConfig`'s dry run into the same
168
+ * `PolymeshError` shape a failed native dispatch would produce
169
+ *
170
+ * - `Message` matching the module error pattern is resolved through chain metadata, so the
171
+ * message is identical to what `handleExtrinsicFailure` would produce for the same error
172
+ * - `Message` not matching the pattern (e.g. gas/balance related failures, "Failed to
173
+ * instantiate") falls back to `ErrorCode.UnexpectedError`, carrying the raw string. It is never
174
+ * swallowed
175
+ * - `Data` is EVM revert data. It is unreachable on the sentinel path (the sentinel is not a
176
+ * contract), so it is mapped to `ErrorCode.UnexpectedError` with the raw hex attached. No ABI
177
+ * decoding is attempted
178
+ */
179
+ function parseEthTransactError(error, context) {
180
+ if (error.isData) {
181
+ return new internal_1.PolymeshError({
182
+ code: types_1.ErrorCode.UnexpectedError,
183
+ message: 'The Ethereum transaction dry run failed with EVM revert data',
184
+ data: { data: error.asData.toHex() },
185
+ });
186
+ }
187
+ const rawMessage = error.asMessage.toString();
188
+ const match = rawMessage.match(MODULE_ERROR_PATTERN);
189
+ if (match) {
190
+ const [, indexString, errorBytesString] = match;
191
+ const index = new util_1.BN(indexString);
192
+ const errorBytes = Uint8Array.from(errorBytesString.split(',').map(byte => Number.parseInt(byte.trim(), 10)));
193
+ try {
194
+ const meta = context.polymeshApi.registry.findMetaError({ index, error: errorBytes });
195
+ return new internal_1.PolymeshError({
196
+ code: types_1.ErrorCode.TransactionReverted,
197
+ message: `${meta.section}.${meta.name}: ${meta.docs.join(' ')}`,
198
+ });
199
+ }
200
+ catch (_a) {
201
+ // fall through to the generic branch below if metadata lookup itself fails
202
+ }
203
+ }
204
+ return new internal_1.PolymeshError({
205
+ code: types_1.ErrorCode.UnexpectedError,
206
+ message: rawMessage,
207
+ });
208
+ }
209
+ //# sourceMappingURL=eth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eth.js","sourceRoot":"","sources":["../../src/utils/eth.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import type { Callback, Observable } from '@polkadot/types/types';
7
7
  import { AnyFunction, AnyTuple, IEvent, ISubmittableResult } from '@polkadot/types/types';
8
8
  import BigNumber from 'bignumber.js';
9
9
  import { CorporateBallotDetails } from '../api/entities/CorporateBallot/types';
10
- import { Account, BaseAsset, Checkpoint, CheckpointSchedule, Context, FungibleAsset, Identity, MultiSig, Nft } from '../internal';
10
+ import { Account, BaseAsset, Checkpoint, CheckpointSchedule, Context, FungibleAsset, Identity, MultiSig, Nft, PolymeshError } from '../internal';
11
11
  import { Claim as MiddlewareClaim } from '../middleware/types';
12
12
  import { MiddlewareScope } from '../middleware/typesV1';
13
13
  import { Asset, AssetStat, Authorization, AuthorizationRequest, Claim, Condition, InputCaCheckpoint, InputCondition, ModuleName, NextKey, NoArgsProcedureMethod, OptionalArgsProcedureMethod, PaginationOptions, PermissionedAccount, ProcedureMethod, StatClaimIssuer, StatType, SubCallback, TransferRestriction, TransferRestrictionType, TxTag, UnsubCallback } from '../types';
@@ -21,6 +21,24 @@ export * from '../generated/utils';
21
21
  * @param amount - time to wait
22
22
  */
23
23
  export declare function delay(amount: number): Promise<void>;
24
+ /**
25
+ * @hidden
26
+ * Reject with `buildError()` if `promise` has not settled within `timeout` milliseconds. Passing
27
+ * `undefined` as the timeout returns the promise untouched, so callers can hand a caller-supplied
28
+ * optional value straight through without branching
29
+ *
30
+ * @note this only stops the *waiting*. The underlying work is not cancelled — there is no way to
31
+ * recall a transaction handed to a wallet, or to abort an in-flight chain scan from here — so it
32
+ * keeps running in the background until it settles or reaches its own internal cap. Its rejection
33
+ * is swallowed for that reason: it may well reject long after this one has, and that must not
34
+ * surface as an unhandled rejection
35
+ *
36
+ * @param promise - the work to bound
37
+ * @param timeout - milliseconds to wait, or `undefined` to wait indefinitely
38
+ * @param buildError - builds the error to reject with. A function rather than a value so the
39
+ * message can describe state that is only known once the timeout has actually fired
40
+ */
41
+ export declare function withTimeout<T>(promise: Promise<T>, timeout: number | undefined, buildError: () => PolymeshError): Promise<T>;
24
42
  /**
25
43
  * @hidden
26
44
  * Convert an entity type and its unique Identifiers to a base64 string
@@ -156,7 +174,7 @@ export declare function requestPaginated<F extends AnyFunction, T extends AnyTup
156
174
  * Gets Polymesh API instance at a particular block
157
175
  */
158
176
  export declare function getApiAtBlock(context: Context, blockHash: string | BlockHash): Promise<ApiDecoration<'promise'>>;
159
- type QueryMultiParam<T extends AugmentedQuery<'promise', AnyFunction>[]> = {
177
+ export type QueryMultiParam<T extends AugmentedQuery<'promise', AnyFunction>[]> = {
160
178
  [index in keyof T]: T[index] extends AugmentedQuery<'promise', infer Fun> ? Fun extends (firstArg: infer First, ...restArg: infer Rest) => ReturnType<Fun> ? Rest extends never[] ? [T[index], First] : [T[index], Parameters<Fun>] : never : never;
161
179
  };
162
180
  type QueryMultiReturnType<T extends AugmentedQuery<'promise', AnyFunction>[]> = {
@@ -579,4 +597,14 @@ export declare function getCorporateActionWithDescription(asset: FungibleAsset,
579
597
  corporateAction: PalletCorporateActionsCorporateAction;
580
598
  description: Bytes;
581
599
  }>;
600
+ /**
601
+ * @hidden
602
+ *
603
+ * Read the BABE slot a block was authored in, from its header's pre-runtime digest
604
+ *
605
+ * @note the slot is not in state, so it cannot be read back with a storage query — but every
606
+ * authored block names it in its header, and headers survive state pruning. That makes this the
607
+ * only way to anchor a slot count inside a period rather than deriving it from the genesis slot
608
+ */
609
+ export declare function getSlotAtBlock(context: Context, blockNumber: BigNumber): Promise<BigNumber>;
582
610
  //# sourceMappingURL=internal.d.ts.map