Skip to content

feat: 🎸 Drop v7 support - #1621

Draft
prashantasdeveloper wants to merge 2 commits into
developfrom
feat/drop-v7-support
Draft

feat: 🎸 Drop v7 support#1621
prashantasdeveloper wants to merge 2 commits into
developfrom
feat/drop-v7-support

Conversation

@prashantasdeveloper

Copy link
Copy Markdown
Contributor

Description

Drops all v7 chain support/backward-compatibility code, now that the SDK only targets v8. Removes Context.isV7, all v7/v8 branching, and every feature that only existed for v7 chains.

Removed entities/features (v7-only, no v8 equivalent):

  • ChildIdentity entity and all child-identity APIs: Identity.getChildIdentities, Identity.unlinkChild, Identity.isChild, createChildIdentity/createChildIdentities/unlinkChildIdentity procedures, Context.getChildIdentity.
  • CDD claims: Claims.getCddClaims, Identity.hasValidCdd, CddClaim handling, RoleType.CddProvider / isCddProviderRole (superseded by DidRegistrar role, which is now used unconditionally instead of the v7 cddServiceProviders pallet).
  • Legacy relayer-paying-key authorization flow: consumeAddRelayerPayingKeyAuthorization procedure and AuthorizationType.AddRelayerPayingKey (the OldAddRelayerPayingKey type/flow remains; accepting the removed type now throws NotSupported pointing users at AccountManagement.approveSubsidy).
  • Instruction affirmation withdrawal: InstructionAffirmationOperation.Withdraw/WithdrawAsMediator and Instruction.withdraw/withdrawAsMediator (use reject/rejectAsMediator instead).
  • Nft.controllerTransfer's deprecated destinationPortfolio param (use destination).
  • AcceptPrimaryKeyRotationParams.cddAuth and the associated CDD-authorization validation/consumption in acceptPrimaryKeyRotation.
  • SetStakingControllerParamsStaking.setController is now a no-arg procedure since v8 always makes the stash its own controller; likewise bondPolyx no longer accepts/sends a controller argument.

Simplified now-unconditional behavior (previously branched on context.isV7):

  • Context.getAccountBalance only uses the v8 FrameSystemAccountInfo shape (AccountInfo/legacy assembly removed).
  • transferPolyx always uses balances.transferWithMemo with an optional memo (v7's memo-less balances.transfer path removed).
  • Instruction.generateOffChainAffirmationTransactionRaw: expiresAt is now always mandatory, and the payload always includes the v8 receipt format.
  • Identity.checkRoleForDid/isGcMember always query didRegistrars.activeMembers (the v7 cddServiceProviders.activeMembers fallback is gone).
  • SUPPORTED_SPEC_VERSION_RANGE narrowed from '7.0 || 7.1 || 7.2 || 7.3 || 8.0' to '8.0'.
  • isV7Spec util removed along with Context.isV7.

Docs/typos: CreateMultiSigParams note updated from "Signer must be an Account as of v7" to "Signer must be an Account".

Breaking Changes

JIRA Link

Checklist

  • Updated the Readme.md (if required) ?

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
100.0% Coverage on New Code (required ≥ 100%)
D Reliability Rating on New Code (required ≥ A)
1 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant