Follow-up: move skills to @icp-sdk/core v6 once the dependency chain supports it
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 35
- Forks
- 13
- Avg merge
- 19h 10m
- Merged PRs (30d)
- 22
Description
Follow-up to #364, which pins every skill to @icp-sdk/core@^5. This issue tracks flipping them to ^6 — do not action until the chain below is green.
Why we are on ^5
@icp-sdk/core 6.1.0 is published (6.0.0 on 2026-07-06, 6.1.0 on 2026-08-03), but nothing downstream accepts it:
| Package | Latest | Requires core |
|---|---|---|
@icp-sdk/signer |
5.6.3 | ^5 (peer) |
@icp-sdk/auth |
8.0.3 | ^5 (peer) |
@icp-sdk/vetkeys |
0.5.0 | ^5.4.0 (dep) |
@dfinity/oisy-wallet-signer |
6.0.0 | ^4 (peer — see #364) |
@icp-sdk/bindgen |
0.4.0 | no core dependency |
Installing core 6 alongside @icp-sdk/auth is a hard failure:
npm error code ERESOLVE
npm error Found: @icp-sdk/core@6.1.0
npm error Could not resolve dependency:
npm error peer @icp-sdk/core@"^5" from @icp-sdk/auth@8.0.3
Forcing it with --legacy-peer-deps is worse — it installs two copies of core (5.4.0 nested for vetKeys, 6.1.0 at root), so Principal/HttpAgent class identities no longer match across the boundary vetKeys passes them over.
What core 6 actually broke
Not documented in the changelog (it lists only feats). From icp-js-signer#39, which fixed them:
Agent.readState— first parameter is nowInputTargetPrincipal({ canisterId } | { subnetId }), wasPrincipal | stringDerEncodedPublicKeynarrowed toUint8Array<ArrayBuffer>Delegationgains an optional 4th constructor arg (permissions) — additive, not breaking
The documented API surface our skills use is unaffected: core 6.1.0 still exports ./agent/canister-env, ./principal, safeGetCanisterEnv, HttpAgent.create/createSync. This is purely a dependency-resolution blocker.
Upstream chain (in order)
- dfinity/icp-js-signer#39 — "feat!: require @icp-sdk/core v6". APPROVED by a member on 2026-07-30, currently
CONFLICTINGonpackage-lock.jsononly, untouched since. Two signer releases have shipped past it (5.6.2 on 2026-08-03, 5.6.3 later) without including it. This is the blocker. @icp-sdk/auth— bump signer to^6, peer core to^6. Code search finds 0 uses ofreadStateand 0 ofDerEncodedPublicKey; the 6new Delegationsites are unaffected (4th arg optional). Likely a version bump plus CI.@icp-sdk/vetkeys— bump dep core^5.4.0→^6. No open PR; nobody has started. Same 0/0 result on the breaking symbols.@dfinity/oisy-wallet-signer— currently on^4, so it needs^5first (see #364) and then^6. Furthest behind.@icp-sdk/bindgen— nothing to do. No core dependency, and its generated output type-checks clean understrictagainst both 5.4.0 and 6.1.0.
What changes here when it is green
Three files, version strings only:
skills/icp-cli/references/binding-generation.md— install line + the version noteskills/icp-cli/references/dfx-migration.md— install lineskills/icp-cli/SKILL.md:115— the core wordingskills/vetkeys/SKILL.md:25— core^5.4→^6, and@icp-sdk/vetkeys>=0.5→>=0.6skills/wallet-integration/SKILL.md— unpin oisy once it supports the target major
Definition of done
npm i '@icp-sdk/core@^6' @icp-sdk/auth @icp-sdk/vetkeys @icp-sdk/canisters \
@dfinity/oisy-wallet-signer @dfinity/utils zod
resolves with one copy of @icp-sdk/core at 6.x and no ERESOLVE. Until that command is clean, ^5 stays.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
First check the upstream signer, auth, vetkeys, and wallet-signer dependency chain, especially icp-js-signer#39, and wait until it supports core 6. Then update the listed skill files' version strings and run the provided npm install command. Done means resolution succeeds with one @icp-sdk/core 6.x copy and no ERESOLVE.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 38/100