anchor.diff:              "{Cs, _} = {aeu_mtrees:to_list(CT), get_contract_list},~n"
               "length(Cs).",
               [TopHash])),
  -    run_erl_cmd_on_node(new_node3, ErlCmd, "0", 30000, Cfg),
  +    0 = run_erl_cmd_on_node(new_node3, ErlCmd, 30000, Cfg),
       {save_config,
        [{old_node_left_running_with_old_chain, old_node1},
         {new_node_left_running_with_synced_old_chain, new_node3}]}.
  
positive.code:     ok = mock_pow_on_node(new_node3, Cfg), %% TODO Make configurable.
      ok = mock_pow_on_node(new_node4, Cfg), %% TODO Make configurable.
      ok = mock_pow_on_node(old_node1, Cfg), %% TODO Make configurable.
      run_erl_cmd_on_node(new_node3, "aec_conductor:start_mining().", "ok", 10000, Cfg), %% It would be better to: stop container, reinstantiate config template, start container.
      wait_for_height_syncing(HeightToBeMinedWithOldProtocol, [new_node3], {{10000, ms}, {1000, blocks}}, Cfg),
      #{version := OldProtocolVersion, %% TODO Check mining capability with all protocols - not only the last one.
        hash := HashMined} = get_block_by_height(new_node3, HeightToBeMinedWithOldProtocol, Cfg),
  
negative.code:     lists:map(fun(Ts) -> {ok, F} = erl_parse:parse_form(Ts), F end,
                DotEndingTokenLists).
  
  run_erl_cmd_on_node(NodeName, ErlCmd, Timeout, Cfg) ->
      ct:log("Running Erlang command on node ~s:~n~s", [NodeName, ErlCmd]),
      Cmd = ["bin/epoch", "eval", ErlCmd],
      {0, Output} = aest_nodes:run_cmd_in_node_dir(NodeName, Cmd, Timeout, Cfg),
      Result = eval_expression(Output),
      ct:log("Run Erlang command on node ~s with result: ~p", [NodeName, Result]),
      Result.
  
  eval_expression(Expr) ->
      {ok, Tokens, _} = erl_scan:string(lists:concat([Expr, "."])),
      {ok, Parsed} = erl_parse:parse_exprs(Tokens),
      {value, Result, _} = erl_eval:exprs(Parsed, []),
      Result.
  
  get_version(NodeName, Cfg) ->
      {ok, 200, B} = aest_nodes:http_get(NodeName, ext_http, [v2, version], #{}, Cfg),
  