fix(protocol_feature): register on_activation handler for ASSERT_RECOVER_KEY_ACCOUNT

Previous commit declared template specialization but missed
set_activation_handler<>() call in controller_impl ctor — so the handler
was never inserted into protocol_feature_activation_handlers map and
trigger_activation_handler() returned silently on feature activation.

Result: feature got marked activated in state, but assert_recover_key_account
was not added to whitelisted_intrinsics. Existing chains with the old build
must re-init from a pre-activation snapshot to get the handler to run during
replay.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
coopops
2026-05-11 14:13:17 +00:00
parent ed23103d79
commit 2c23b81082
+1
View File
@@ -347,6 +347,7 @@ struct controller_impl {
set_activation_handler<builtin_protocol_feature_t::crypto_primitives>();
set_activation_handler<builtin_protocol_feature_t::bls_primitives>();
set_activation_handler<builtin_protocol_feature_t::disable_deferred_trxs_stage_2>();
set_activation_handler<builtin_protocol_feature_t::assert_recover_key_account>();
self.irreversible_block.connect([this](const block_signal_params& t) {
const auto& [ block, id] = t;