@polymeshassociation/polymesh-sdk 31.0.0-beta.8 โ†’ 31.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- # [31.0.0-beta.8](https://github.com/PolymeshAssociation/polymesh-sdk/compare/v31.0.0-beta.7...v31.0.0-beta.8) (2026-08-14)
1
+ # [31.0.0](https://github.com/PolymeshAssociation/polymesh-sdk/compare/v30.2.0...v31.0.0) (2026-08-14)
2
2
 
3
3
 
4
4
  * fix!: ๐Ÿ› require expiresAt on off-chain settlement and STO receipts ([1473bc3](https://github.com/PolymeshAssociation/polymesh-sdk/commit/1473bc3749248826a69330d9fc1dbaf67202c736))
@@ -6,7 +6,36 @@
6
6
 
7
7
  ### Bug Fixes
8
8
 
9
+ * ๐Ÿ› authorise ballot voting as a holder action ([aa36fc0](https://github.com/PolymeshAssociation/polymesh-sdk/commit/aa36fc0a3177e2926397a01d2cc601b283a83518)), closes [#1643](https://github.com/PolymeshAssociation/polymesh-sdk/issues/1643)
10
+ * ๐Ÿ› base transferFunds authorization on signing key, add NFT checks ([64adfd9](https://github.com/PolymeshAssociation/polymesh-sdk/commit/64adfd91710c0843e87bf902c3c73bdcda68d5d1))
11
+ * ๐Ÿ› check agent permissions for the accept-side transaction ([394fb58](https://github.com/PolymeshAssociation/polymesh-sdk/commit/394fb588fb1d71ff1c4f5290572d470361ae9e08))
12
+ * ๐Ÿ› compare NFT ownership by address for MultiSig Account holders in transferFunds ([816a5f7](https://github.com/PolymeshAssociation/polymesh-sdk/commit/816a5f799d9e6fb15e4e62b84410a5dfad019a9d))
13
+ * ๐Ÿ› correct protocol fee mapping against v8 runtime ([69ec025](https://github.com/PolymeshAssociation/polymesh-sdk/commit/69ec025da27bc62d5ffb7476487b26296390ff49))
14
+ * ๐Ÿ› correct transaction tags against chain v8 metadata ([e77224d](https://github.com/PolymeshAssociation/polymesh-sdk/commit/e77224dce8ab3bb3a4c2edd19d8ac2a43b10d204))
15
+ * ๐Ÿ› declare the transaction revokeIdentityToCreatePortfolios submits ([debc1d0](https://github.com/PolymeshAssociation/polymesh-sdk/commit/debc1d065da6a8e6a36f102e0ac5b26c020ab9ed))
16
+ * ๐Ÿ› declare the transactions procedures actually submit ([672fcfd](https://github.com/PolymeshAssociation/polymesh-sdk/commit/672fcfd3d1a7c3f4b4fb8756d65c789f6ad3a2f3))
17
+ * ๐Ÿ› distinguish immediate execution from a pending instruction ([9c40cf9](https://github.com/PolymeshAssociation/polymesh-sdk/commit/9c40cf91ca1772812a03a0aa3fb530294b82298d))
18
+ * ๐Ÿ› drop permission declarations the chain never checks ([ec0ddbb](https://github.com/PolymeshAssociation/polymesh-sdk/commit/ec0ddbbb395d0393119bf99b29079cafa8650fe2))
19
+ * ๐Ÿ› drop remaining permission declarations the chain never checks ([fdb8f75](https://github.com/PolymeshAssociation/polymesh-sdk/commit/fdb8f75f968f607fd8c9b9654bd59c75564ada65))
20
+ * ๐Ÿ› make generate:consts idempotent ([1c9b080](https://github.com/PolymeshAssociation/polymesh-sdk/commit/1c9b08096a2aba5c8ea98cbc561c4230245c7058))
21
+ * ๐Ÿ› only require the DID Registrar role to issue a CDD claim ([78abd14](https://github.com/PolymeshAssociation/polymesh-sdk/commit/78abd14d912d85e61bdcaeda6fe5a0ed668d5f0c))
22
+ * ๐Ÿ› protocol fees no longer silently reported as zero ([e30e51d](https://github.com/PolymeshAssociation/polymesh-sdk/commit/e30e51dcd3703258060ad2a22f4bd34ad13b397f))
23
+ * ๐Ÿ› report transfer failures instead of throwing ([50fb337](https://github.com/PolymeshAssociation/polymesh-sdk/commit/50fb337d25beee873d779484b6fb25ec67aa37c4))
9
24
  * ๐Ÿ› return null from getNextCheckpoint after every Schedule is removed ([75d0b0e](https://github.com/PolymeshAssociation/polymesh-sdk/commit/75d0b0ed22f7819905b0804d25b65357d7d9488e))
25
+ * ๐Ÿ› staking.getPayee returns null for an Account with no payee ([4a8effc](https://github.com/PolymeshAssociation/polymesh-sdk/commit/4a8effcabb8140fa01d812c11c5ab693778735be))
26
+
27
+
28
+ ### Features
29
+
30
+ * ๐ŸŽธ add Checkpoint.Schedules.getNextCheckpoint getter ([31db08c](https://github.com/PolymeshAssociation/polymesh-sdk/commit/31db08ccc433dde93355f5f90f0d2c7e36766259))
31
+ * ๐ŸŽธ add CorporateActionBase.getDocuments getter ([edef2cb](https://github.com/PolymeshAssociation/polymesh-sdk/commit/edef2cb4567aa85f0b100d80cf38b6464e8e07e8))
32
+ * ๐ŸŽธ align TransferError with the chain's transfer errors ([52f1364](https://github.com/PolymeshAssociation/polymesh-sdk/commit/52f13642eeec5397818afe09e1734be70ba2075a))
33
+ * ๐ŸŽธ allow transferFunds between asset holders on different DIDs ([458bfd5](https://github.com/PolymeshAssociation/polymesh-sdk/commit/458bfd5d28d156e1633ffd5970df41afd1d9374e))
34
+ * ๐ŸŽธ Drop v7 support ([4292be3](https://github.com/PolymeshAssociation/polymesh-sdk/commit/4292be303bb5bd161b83ce92ed9ea7b1993e82e7))
35
+ * ๐ŸŽธ make nft.createNftCollection grantable to External Agents ([32753ef](https://github.com/PolymeshAssociation/polymesh-sdk/commit/32753ef90ff9e1bc010e344e66155fd89a44ffe7))
36
+ * ๐ŸŽธ rebuild transaction groups from the chain's permission model ([b6cb8e5](https://github.com/PolymeshAssociation/polymesh-sdk/commit/b6cb8e5ee0b13903cf8f0e92050272800a260372))
37
+ * ๐ŸŽธ remove CDD transfer errors that cannot occur on v8 ([10114e3](https://github.com/PolymeshAssociation/polymesh-sdk/commit/10114e300392e9bb9f05406ce0f85bdcdda7774d))
38
+ * ๐ŸŽธ remove types and a procedure for extrinsics that no longer exist ([2fb7fec](https://github.com/PolymeshAssociation/polymesh-sdk/commit/2fb7fecbcc64eff17682a8e9c0c15732d433255c))
10
39
 
11
40
 
12
41
  ### BREAKING CHANGES
@@ -15,3 +44,97 @@
15
44
  `Instruction.generateOffChainAffirmationReceipt` and
16
45
  `Offering.generateOffChainFundingReceipt`, and on
17
46
  `OffChainAffirmationReceipt` and `OffChainFundingReceipt`.
47
+ * ๐Ÿงจ `Assets.transferFunds` return type changed from
48
+ `void` to `Instruction | undefined`. It resolves to the pending
49
+ `Instruction` when a cross-DID transfer is left awaiting the
50
+ receiver's affirmation, and `undefined` when the transfer settles
51
+ immediately (same-DID, or the receiver auto-affirmed).
52
+ * ๐Ÿงจ The following exported types are removed, along with the
53
+ `modifyCorporateActionsAgent` procedure:
54
+
55
+ - `ScopeClaimProof` and `AddInvestorUniquenessClaimParams` โ€” described
56
+ `identity.add_investor_uniqueness_claim`, which does not exist on chain v8
57
+ - `ModifyPrimaryIssuanceAgentParams` โ€” the Primary Issuance Agent concept was
58
+ superseded by External Agents
59
+ - `ModifyCorporateActionsAgentParams` โ€” its procedure's only caller,
60
+ `CorporateActions.setAgent`, was removed in v22.0.0 in favour of
61
+ `Permissions.inviteAgent`, but the procedure was left behind
62
+
63
+ None had any reference in the SDK and no procedure accepted or returned them.
64
+ There is no replacement because there is no longer an operation to describe.
65
+
66
+ `testUtils` Asset entity mocks no longer default a `primaryIssuanceAgents`
67
+ field, which `AssetDetails` has not had since v22.0.0.
68
+ * ๐Ÿงจ - Removed the `TransferStatus` enum and its sole
69
+ producer `u8ToTransferStatus`. `TransferError` โ€” the enum actually
70
+ populated, by `Settlements.canTransfer` โ€” keeps its role, and its members'
71
+ doc comments no longer refer to `TransferStatus` equivalents.
72
+ - Removed `TransferError.InvalidReceiverPortfolio`. Its sole producer was
73
+ the `granularCanTransferResultToTransferBreakdown` cascade deleted with v7
74
+ support, and it cannot be re-mapped: the `portfolio` pallet has a single
75
+ `PortfolioDoesNotExist` variant, already mapped to `InvalidSenderPortfolio`.
76
+ - Added `TransferError.InvalidReceiverIdentity` for a receiving Identity
77
+ that is not active. Both transfer-validation paths report this condition
78
+ (`nft.InvalidNFTTransferInvalidReceiverDID` and
79
+ `asset.InvalidTransferInvalidReceiverDID`) and neither was mapped, so it
80
+ previously surfaced as a raw chain error name.
81
+ - Removed the `transfersCanTransfer` mock option in `testUtils`, typed
82
+ against a return type `canTransfer` no longer has.
83
+ - See [`changelogs/v30.2.0-next.md`](changelogs/v30.2.0-next.md) for full
84
+ migration guidance.
85
+ * ๐Ÿงจ - Removed `TransferError.InvalidReceiverCdd`,
86
+ `TransferError.InvalidSenderCdd` and `TransferError.ScopeClaimMissing`.
87
+ The first two cannot be produced because transfers are no longer CDD
88
+ gated; `ScopeClaimMissing` relates to Investor Uniqueness, removed from
89
+ the chain some time ago.
90
+ - See [`changelogs/v30.2.0-next.md`](changelogs/v30.2.0-next.md) for full
91
+ migration guidance.
92
+ * ๐Ÿงจ - Removed `TxGroup.RelayerManagement` and
93
+ `RELAYER_MANAGEMENT_TX_TAGS`. Every call in the `relayer` pallet is
94
+ `ensure_signed` only, so the group never gated anything and no replacement
95
+ grant is needed.
96
+ - `TxGroup.MultiSigManagement` / `MULTISIG_MANAGEMENT_TX_TAGS` reduced to
97
+ `multiSig.CreateMultisig`, the only permission-checked call in the pallet.
98
+ The rest are executed under the MultiSig's own origin via a proposal, are
99
+ `ensure_signed` only, or are primary-key only. What a MultiSig may do via
100
+ proposal is constrained by the permissions held by the **MultiSig Account
101
+ itself**, not by its signers'.
102
+ - Added `TxGroup.InstructionMediation` / `INSTRUCTION_MEDIATION_TX_TAGS`
103
+ (`AffirmInstructionAsMediator`, `RejectInstructionAsMediator`,
104
+ `LockInstruction`, `UnlockInstruction`). These are **newly grantable, not
105
+ relocated** โ€” no group previously covered them, so existing
106
+ `SettlementManagement` grantees do not already have them.
107
+ - Added `TxGroup.DidRegistration` / `DID_REGISTRATION_TX_TAGS`
108
+ (`identity.RegisterDid`); `TxGroup.CddRegistration` is deprecated but
109
+ retained.
110
+ - Removed tags for extrinsics no longer on chain:
111
+ `settlement.AddInstructionWithMemo`, `settlement.AddAndAffirmInstructionWithMemo`,
112
+ `portfolio.MovePortfolioFundsV2`.
113
+ - Added tags for permission-checked v8 extrinsics no group previously
114
+ covered, across `SettlementManagement`, `PortfolioManagement`,
115
+ `StoManagement` and `CorporateActionsManagement`.
116
+ - Consumers building permission UIs from `TX_GROUP_TO_TAGS_MAP`,
117
+ `AGENT_TX_GROUP_VALUES` or the individual `*_TX_TAGS` constants should
118
+ re-check their output.
119
+ - See [`changelogs/v30.2.0-next.md`](changelogs/v30.2.0-next.md) for full
120
+ migration guidance.
121
+ * ๐Ÿงจ - SDK now only supports **chain v8** โ€” connecting to a v7 chain throws on
122
+ initialization (`SUPPORTED_SPEC_VERSION_RANGE` narrowed to `'8.0'`).
123
+ - Removed: `ChildIdentity` entity and all child-identity APIs (`Identities.createChild`/
124
+ `createChildren`/`getChildIdentity`, `Identity.*` equivalents), `Claims.getCddClaims`,
125
+ `Identity.hasValidCdd`, `RoleType.CddProvider`/`isCddProviderRole`/`CddProviderRole`,
126
+ `AccountManagement.subsidizeAccount`, `consumeAddRelayerPayingKeyAuthorization`/
127
+ `AuthorizationType.AddRelayerPayingKey`, `Instruction.withdraw`/`withdrawAsMediator`/
128
+ `InstructionAffirmationOperation.Withdraw`/`WithdrawAsMediator`, `Nft.controllerTransfer`'s
129
+ `destinationPortfolio` param, `AcceptPrimaryKeyRotationParams.cddAuth`,
130
+ `SetStakingControllerParams`/`BondPolyxParams.controller`.
131
+ - Renamed: `Identity.isCddProvider()` โ†’ `Identity.isDidRegistrar()`.
132
+ - Deprecated: `Identities.registerIdentity` (`createCdd`/`expiry` are now no-ops) โ€”
133
+ use `registerDid`/`selfRegisterDid`.
134
+ - Error message changes (update any string-matching code):
135
+ `'Beneficiary/Subsidizer Account does not have a valid CDD Claim'` โ†’
136
+ `'...does not have an associated Identity'`;
137
+ `'Issuing Identity does not have a valid CDD claim'` โ†’ `'Issuing Identity does not exist'`;
138
+ `'Issuer must be a CDD provider'` โ†’ `'Issuer must be a DID Registrar'`;
139
+ `'MultiSig signers must be accounts as of v7'` โ†’ `'MultiSig signers must be accounts'`.
140
+ - See [`changelogs/v30.2.0-next.md`](changelogs/v30.2.0-next.md) for full migration guidance.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polymeshassociation/polymesh-sdk",
3
- "version": "31.0.0-beta.8",
3
+ "version": "31.0.0",
4
4
  "description": "High-level API to interact with the Polymesh blockchain",
5
5
  "types": "./index.d.ts",
6
6
  "engines": {