Skip to content

v3: remove the legacy pic-ic client and enforce a supported pocket-ic range #653

Description

@Kamirus

#642 deprecates [toolchain] pocket-ic pins below 9.0.0 but keeps them working through the legacy pic-ic client. v3 removes that path. Work involved:

  • Delete the pic-ic dependency and the < 9.0.0 branch in cli/helpers/pocket-ic-client.ts, which also removes the AnyPocketIcServer / AnyPocketIc / AnySetupCanister union types and the addCycles wrapper that only exists because pic-ic takes a number where upstream takes a bigint.
  • Turn the warning in cli/helpers/deprecate-legacy-pocket-ic.ts into a hard error at pin time in cli/commands/toolchain/pocket-ic.ts, so old pins fail with an actionable message instead of confusing HTTP errors.
  • Enforce a supported server range (floor 9.0.0, ceiling from the bundled client) so mops toolchain use pocket-ic latest cannot resolve to a version the client does not support. Keep the range next to the default-version constant so both move together.

The real blast radius is smaller than the warning suggests: pic-ic@0.5.4 only speaks the 4.0.0 server protocol, so 5.x–8.x pins already fail with BinTimeoutError today. Only 4.0.0 and 9.x+ ever worked, matching the range in #412.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions