Skip to content

WIP: Shell: add missing error registration: Economic_protocol_error

Romain requested to merge nomadic-labs/tezos:romain@register-error into master

This error was not registered, causing a "consequence of bad union" error in some cases.

To reproduce:

git checkout mainnet-staging
# import a secret key which is not the genesis one
./tezos-client import secret key activator <use a different key than the expected one here> --force
# generate sandbox parameters for Athens
# (maybe you can activate Babylon directly though but I did it with Athens)
dune exec src/proto_004_Pt24m4xi/lib_parameters/gen.exe -- --sandbox
# start sandbox node
./tezos-node run --sandbox=scripts/sandbox.json --data-dir ~/tezos-sandbox --rpc-addr localhost:8732
# in another terminal, use client to activate Athens
./tezos-client \
  activate protocol Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd \
  with fitness 1 \
  and key activator \
  and parameters sandbox-parameters.json

Result:

Error:
  (Invalid_argument "Json_encoding.construct: consequence of bad union")

After this patch, result becomes:

Error:
  Invalid block BMVqKSj3eYgc
    Failed to validate the economic-protocol content of the block: Error:
                                                                    Invalid signature

If you have a better solution that the call to mu, please do tell.

Merge request reports