Skip to content

build!: update ic-canister-runtime to prevent inter-canister calls when stopping#555

Merged
gregorydemay merged 4 commits intomainfrom
gdemay/DEFI-2566-prevent-calls-when-stopping
Feb 18, 2026
Merged

build!: update ic-canister-runtime to prevent inter-canister calls when stopping#555
gregorydemay merged 4 commits intomainfrom
gdemay/DEFI-2566-prevent-calls-when-stopping

Conversation

@gregorydemay
Copy link
Copy Markdown
Contributor

@gregorydemay gregorydemay commented Feb 11, 2026

Update the ic-canister-runtime, ic-pocket-canister-runtime and canhttp dependencies.

BREAKING: The upgrade from ic-canister-runtime v0.1.2 to v0.2.0 is breaking for the evm_rpc_client crate since it changes the default client behaviour to not contact the EVM RPC canister when the canister wanted to issue the calls is stopping. This version of evm_rpc_client also requires to use ic-canister-runtime 0.2.0 (and not 0.1).

gregorydemay added a commit to dfinity/canhttp that referenced this pull request Feb 17, 2026
Follow-up on #76 to ensure that by default the `IcRuntime` used in
production does not make inter-canister calls when the canister is in
the `Stopping` state to ensure that it can be stopped promptly. While
adding this feature to this crate is easy, deploying it to ensure its
correctness takes a few PRs:

1. Use new version of the `ic-canister-runtime` library in the EVM RPC
client, see dfinity/evm-rpc-canister#555
2. Fix the ckETH/ckERC20 minter to avoid panicking in case of client
error, see dfinity/ic#8821
3. Use new version of the EVM RPC client in the ckETH/ckERC20 minter,
see dfinity/ic#8785
@lpahlavi
Copy link
Copy Markdown
Contributor

@gregorydemay I would mark this change as breaking once you update to using the new release.

@gregorydemay gregorydemay changed the title chore: update ic-canister-runtime build!: update ic-canister-runtime Feb 18, 2026
@gregorydemay gregorydemay changed the title build!: update ic-canister-runtime build!: update ic-canister-runtime to prevent inter-canister calls when stopping Feb 18, 2026
@gregorydemay gregorydemay marked this pull request as ready for review February 18, 2026 07:09
@gregorydemay gregorydemay requested a review from a team as a code owner February 18, 2026 07:09
Copy link
Copy Markdown
Contributor

@lpahlavi lpahlavi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @gregorydemay, LGTM!

I would maybe just mention in the PR description that this is also breaking for some methods since the Runtime trait is part of e.g. the EvmRpcBuilder::builder method signature.

@gregorydemay gregorydemay merged commit 527f7f6 into main Feb 18, 2026
12 checks passed
@gregorydemay gregorydemay deleted the gdemay/DEFI-2566-prevent-calls-when-stopping branch February 18, 2026 09:54
@gregorydemay gregorydemay mentioned this pull request Feb 18, 2026
gregorydemay added a commit that referenced this pull request Feb 18, 2026
## 🤖 New release

* `evm_rpc_types`: 3.1.0 -> 3.1.1 (✓ API compatible changes)
* `evm_rpc_client`: 0.3.0 -> 0.4.0 (✓ API compatible changes)
* `evm_rpc`: 2.8.0

<details><summary><i><b>Changelog</b></i></summary><p>

## `evm_rpc_types`

<blockquote>

## [3.1.1] - 2026-02-18

### Changed

- Bump alloy-* from 1.1.2 to 1.5.2
([#551](#551))

[3.1.1]:
https://github.com/dfinity/evm-rpc-canister/compare/3.1.0..3.1.1
</blockquote>

## `evm_rpc_client`

<blockquote>

## [0.4.0] - 2026-02-18

### Changed

- **BREAKING:** Bump `ic-canister-runtime` to v0.2.0. See PR description
for more details on the breaking changes.
Notably, clients instances created with `EvmRpcClient::builder_for_ic()`
now by default do **not** perform
inter-canister calls if the canister performing the calls is stopping.
To enable calls while the canister is stopping, the client can be
initialized with a custom

[`ic_canister_runtime::IcRuntime`](https://docs.rs/ic-canister-runtime/0.2.0/ic_canister_runtime/struct.IcRuntime.html)
instance configured to allow such calls with the
[`allow_calls_when_stopping`](https://docs.rs/ic-canister-runtime/0.2.0/ic_canister_runtime/struct.IcRuntime.html#method.allow_calls_when_stopping)
method. ([#555](#555))


[0.4.0]:
https://github.com/dfinity/evm-rpc-canister/compare/evm_rpc_client-v0.3.0..evm_rpc_client-v0.4.0
</blockquote>

## `evm_rpc`

<blockquote>

## [2.8.0] - 2025-11-17

### Changed

- Bump `ic-cdk` to v0.19.0
([#518](#518))
- Bump Rust to v1.91.0 and upgrade dependencies
([#529](#529))

[2.8.0]:
evm_rpc-v2.7.1...evm_rpc-v2.8.0
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: gregorydemay <gregory.demay@dfinity.org>
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.

2 participants