Upgrade the Engine-controller Canister to Commit 3e64518 (Restore Authorized Caller)
#144570 · Adopted and executed · proposed 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.
# 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