Repository navigation
ic402 v2.17.7
Patch — dependency refresh, from an audit of every dependency and toolchain pin. No library
(Motoko) change, no API, type, PaymentResult or example.did change.
Security
@modelcontextprotocol/sdk1.29.0 → 1.32.1 in@ic402/mcp. Clears the high advisory
GHSA-6qxp-vccf-f47h (the SDK's OAuth client), whichnpm auditreported against@ic402/mcpfor
every consumer. ic402's MCP server is stdio-only and never used that client.vitest4.1.10 → 4.1.11 (dev only): GHSA-82fw-gwwq-j7x9.
Changed
- Published runtime dependencies:
@icp-sdk/core6.0.0 → 6.1.0 (@ic402/client,@ic402/mcp),
viem2.55.2 → 2.57.3,cborg5.1.7 → 6.1.3,zod4.4.3 → 4.6.5.cborg6 changed how some CBOR map keys are ordered. Voucher payloads are arrays of text and
unsigned integers, so their bytes are unchanged. New golden vectors with 4- and 8-byte integers,
asserted on both the client and the canister side, now pin that.
@ic402/clientno longer declares@icp-sdk/coreas a peer dependency. The>=5.1.0peer
range had no effect alongside the exact runtime dependency: npm always installed 6.0.0 for the
client, and a nested second copy if the app used a different version. It is now a plain
dependency. Use the same version in your app (6.1.0) to get a single copy.engines.node:@ic402/client>=20.19.0(was>=19.0.0; the real floor of
@icp-sdk/core's@noble/*dependencies),@ic402/mcp>=20.19.0(was undeclared), and the
repo>=22.22.1(lint-staged 17; eslint 10 needs 22.13+).- Dev tooling:
@x402/core2.28.0 (its v2 wire schemas are byte-identical, so the conformance
suite validates against the same schemas),eslint10.12.0,typescript-eslint8.71.1,
prettier3.9.9,tsx4.23.15,lint-staged17.6.0,@noble/curvesand@noble/hashes2.4.0,
@types/node26.6.4.
Fixed (tests)
- Nine assertions in
test/evmutils.test.mochecked nothing. Expected arrays written as
[0xde : Nat8, 0xad]type only the first element, so moc inferred[Any]and==was always
true. They covered hex decoding and RLP encoding, on the EVM transaction-signing path; the code
was correct.[moc] args = ["-E", "M0074"]now makesmops testreject the pattern.
CI
actions/checkoutandactions/setup-nodev7,pnpm/action-setupv5 (Node 24 runtimes).setup-mopspoints at its new ownercaffeinelabs, with the mops CLI pinned at 3.4.2. It used to
installlateston every run.- No package-manager cache in the publishing job.
- Dependabot:
@icp-sdk/*packages arrive as their own PR, and@icp-sdk/icp-cliis bumped by hand
together with its CI pin.