ICPWatch
Get alerts
Protocol canisters

Upgrade the Engine-controller Canister to Commit 3e64518 (Restore Authorized Caller)

#144570 · Adopted and executed · proposed Oct 26, 2026

Yes 100.0%94.2% of voting power has votedNo 0.0%
tally read NNS governance canister, list_proposals
Action
Install Code
Proposer neuron
77
Created
Decided
Oct 26, 2026

Summary

Upgrade the Engine-controller Canister to Commit 3e64518 (Restore Authorized Caller)

__Proposer__: pietro.di.marco at dfinity.org

__Source code__: [3e645182ac06c7b761040615db4e3d44a8349351][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/3e645182ac06c7b761040615db4e3d44a8349351

Motivation

This proposal re-installs the wasm that the engine controller already runs (commit 3e64518, from proposal 144560). The only change is the upgrade argument. It makes q6cfj-fyaaa-aaaar-qb77q-cai the engine controller's authorized caller again.

The engine controller applies its init arguments again on every post_upgrade ([source][post-upgrade]):

  • Proposal 142884 set the authorized caller to q6cfj-fyaaa-aaaar-qb77q-cai.
  • Proposal 144560 upgraded with an empty argument (). post_upgrade

therefore went back to the hardcoded default authorized caller (bct5z-vccu4-6q4t2-3lb6l-wm43p-ulppt-o5sqq-w6het-rthdz-qp4yn-fqe). Since then, q6cfj-fyaaa-aaaar-qb77q-cai cannot call the engine controller's update methods.

This proposal passes the same argument as proposal 142884. initial_dkg_subnet_id stays null, so it keeps the hardcoded default, as it does today.

[post-upgrade]: https://github.com/dfinity/ic/blob/3e645182ac06c7b761040615db4e3d44a8349351/rs/engine_controller/canister/canister.rs#L82-L107

Features & Fixes

None. The code and the wasm are the same as the version the canister runs now.

Upgrade Arguments

(opt record { authorized_caller = opt principal "q6cfj-fyaaa-aaaar-qb77q-cai"; initial_dkg_subnet_id = null })

Current Version

__Current git hash__: 3e645182ac06c7b761040615db4e3d44a8349351

__Current wasm hash__: aed8c658290498a45d7cd6894fd3a4dacd7f89444ec9eb857d9e8774c24ff2f5

Verification

See the general instructions on [how to verify] proposals like this. A "quick start" guide is provided here.

[how to verify]: https://github.com/dfinity/ic/tree/3e645182ac06c7b761040615db4e3d44a8349351/rs/nervous_system/docs/proposal_verification.md

WASM Verification

See ["Building the code"][prereqs] for prerequisites.

[prereqs]: https://github.com/dfinity/ic/tree/3e645182ac06c7b761040615db4e3d44a8349351/README.adoc#building-the-code

# 1. Get a copy of the code.
git clone git@github.com:dfinity/ic.git
cd ic
# Or, if you already have a copy of the ic repo,
git fetch
git checkout 3e645182ac06c7b761040615db4e3d44a8349351

# 2. Build canisters.
./ci/container/build-ic.sh -c

# 3. Fingerprint the result.
sha256sum ./artifacts/canisters/engine-controller-canister.wasm.gz

This should match wasm_module_hash field of this proposal. It is also the same as the current wasm hash above.

Upgrade Arguments Verification

[didc][latest-didc] is required.

[latest-didc]: https://github.com/dfinity/candid/releases/latest

didc encode '(opt record { authorized_caller = opt principal "q6cfj-fyaaa-aaaar-qb77q-cai"; initial_dkg_subnet_id = null })' | xxd -r -p | sha256sum

This should match the arg_hash field of this proposal. It is also the same as the arg_hash of proposal 142884.

Official view: dashboard.internetcomputer.org/proposal/144570