anchor.diff:          {ok, ChainState1} ->
               UnitReturn = {ok, <<0:256>>},
               GasSpent   = 0,         %% Already costs lots of gas
  -            {ok, UnitReturn, GasSpent,
  -             aevm_eeevm_state:set_chain_state(ChainState1, State)};
  +            {ok, UnitReturn, GasSpent, ChainState1};
           {ok, Retval, ChainState1} ->
               GasSpent   = 0,         %% Already costs lots of gas
               Return     = {ok, aeso_data:to_binary(Retval, 0)},
  -            {ok, Return, GasSpent,
  -             aevm_eeevm_state:set_chain_state(ChainState1, State)};
  +            {ok, Return, GasSpent, ChainState1};
           {error, _} = Err -> Err
       end.
   
  
positive.code: -export([call/3]).
  
  -include_lib("aebytecode/include/aeb_opcodes.hrl").
  
  -define(BASE_ADDRESS, 32). %% Byte offset for data
  
  
negative.code:       StateOut :: State,
        State :: aevm_eeevm_state:state(),
        ReturnValue :: {ok, binary()} | {error, any()}.
  call(Value, Data, StateIn) ->
      ChainIn = #chain{api = aevm_eeevm_state:chain_api(StateIn),
                       state = aevm_eeevm_state:chain_state(StateIn)},
      case call_(Value, Data, ChainIn) of
          {ok, ReturnValue, GasSpent, ChainStateOut} ->
              StateOut = aevm_eeevm_state:set_chain_state(ChainStateOut, StateIn),
              {ok, ReturnValue, GasSpent, StateOut};
          {error, _} = Err ->
              ?TEST_LOG("Primop call error ~p~n~p:~p(~p, ~p, State)",
                        [Err, ?MODULE, ?FUNCTION_NAME, Value, Data]),
  