Skip to content

Add --cost-schedule flag to forward SubnetSpec::with_cost_schedule to pocket-ic #41

@q-uint

Description

@q-uint

Why

We're developing against a rental subnet with no cycles, so every local test run against pocket-ic currently requires seeding/topping up canisters just to exercise flows that on our target subnet cost nothing. pocket-ic's SubnetSpec::with_cost_schedule(CanisterCyclesCostSchedule::Free) makes a subnet bill zero cycles, which mirrors our rental-subnet reality exactly, but icp-cli spawns icp-cli-network-launcher as a child process and has no way to reach that knob today.

What

Add --cost-schedule={normal,free}, defaulting to normal (no behavior change for existing users), that forwards to SubnetSpec::with_cost_schedule when the launcher builds pocket-ic subnets. Global flag (not per-subnet) keeps the surface small and matches our use case; per-subnet syntax can be added later without breaking it.

Downstream

icp-cli will expose this in icp.yaml under the managed-network config and forward it via launcher_settings_flags. No API contract beyond "launcher accepts the flag."

Happy to open a PR, let me know if you'd prefer a different name (--cycles-cost-schedule?) or per-subnet syntax before I start.


@raymondk @marc0olo

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions