feat: 🎸 Update types for 8.1.1 chain - #54
Merged
Merged
Conversation
Regenerated from a v8.1.1 node (spec 8001010). - Add 8.1.x types bundle for spec 8001000+, including PolymeshPrimitivesNftNftId used by the NFTApi.token_approval runtime call - Narrow the 8.0.x and 7.3.x spec ranges so bundles no longer overlap - Remove RPC definitions not served by 8.x nodes (staking_getCurve, asset_transferReport, nft_transferReport, compliance_complianceReport) and the unused 6.x RPC definitions - Add the optional blockHash param to settlement getTransferReport and getExecuteInstructionReport - Add EthSetOrigin signed extension - Regenerate types and spec diffs Chain additions covered include NFT approvals, partial token freezing and the asset/nft controller_transfer_to extrinsics.
F-OBrien
force-pushed
the
feat/8.1-types
branch
from
September 11, 2026 22:43
0ed7066 to
01e1125
Compare
prashantasdeveloper
approved these changes
Sep 14, 2026
Collaborator
|
/fast-forward |
|
🎉 This PR is included in version 7.6.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Updates Polymesh types for chain v8.1.1 (spec
8001010).src/types/8.1.x.json, covering spec8001000+ (v8.1.0 and v8.1.1). AddsPolymeshPrimitivesNftNftId: u64, needed for typegen of the newNFTApi.token_approvalruntime call. The metadata registry unwraps theNFTId(u64)newtype, so it has no lookup entry.[8000000, 8000999]and 7.3.x is[7003000, 7003999]. Polkadot.js merges every matchingminmaxentry, and later entries win, so an overlapping older bundle could override the newer one (7.3.x was overriding 7.4.x'sPortfolioKindon 7.4 chains).staking_getCurve,asset_transferReportandnft_transferReport, which are no longer served as of v8.0. The transfer reports are available via theAssetApi/NFTApiruntime calls.compliance_complianceReport, which no node release has ever registered.src/rpc/6.x.ts.blockHashparam tosettlement_getTransferReportandsettlement_getExecuteInstructionReport, matching the node'sat: Option<BlockHash>.EthSetOrigin(pallet_revive, an empty struct). Together with the existingAuthorizeCallandStoreCallMetadata, this removes theUnknown signed extensions ... treating them as no-effectwarning. polkadot.js 16.5.6 doesn't know these yet.nft.approve/setApprovalForAllextrinsics, theNFTApi.tokenApproval/operatorApprovalruntime calls, and theNFTApproval/NFTApprovalForAll/NFTApprovalSpentevents.asset.setFrozenTokens,setHolderFrozen,freezePartialTokensandunfreezePartialTokens, with theFrozenBalanceSetandSetAccountFreezeevents.asset.controllerTransferToandnft.controllerTransferTo, with theControllerTransferToevent.Verified against a local v8.1.1 node with
typesBundle:ApiPromiseinit.yarn lintandyarn build:tspass.The remaining
RPC methods not decoratedinit warning covers standard Substrate methods only: the new JSON-RPC spec (archive_v1_*,chainHead_v1_*, …) plusauthor_rotateKeysWithOwner/mmr_generateAncestryProof. The latter two were added upstream in polkadot-js/api#6263, pending a release.Known chain-side issue, not addressed here:
settlement_getTransferReportandsettlement_getAffirmationCount(with a non-empty holder set) are rejected by the node when called viaapi.rpc. polkadot.js serialises enum params as camelCase JSON (fungible,account), and the node's serde expects PascalCase. The equivalentapi.call.settlementApi.*runtime calls work.Breaking Changes
api.rpc.staking.getCurve,api.rpc.asset.transferReport,api.rpc.nft.transferReportandapi.rpc.compliance.complianceReportare no longer defined. Consumers still connecting to ≤7.x nodes that use these RPCs need to call them directly or pin an earlier version of this package.AllowancesNotSupportedForNFTsis renamedDeprecatedAllowancesNotSupportedForNFTsby the chain.JIRA Link
Checklist