anchor.diff:          {error, _} = Err -> Err
       end.
   
  -call_chain(Callback, State) ->
  +cast_chain(Callback, State) ->
       case call_chain1(Callback, State) of
           {ok, ChainState1} ->
               UnitReturn = {ok, <<0:256>>},
               GasSpent   = 0,         %% Already costs lots of gas
               {ok, UnitReturn, GasSpent, ChainState1};
  +        {error, _} = Err -> Err
  +    end.
  +
  +call_chain(Callback, State) ->
  +    case call_chain1(Callback, State) of
           {ok, Retval, ChainState1} ->
               GasSpent   = 0,         %% Already costs lots of gas
               Return     = {ok, aeso_data:to_binary(Retval, 0)},
  
positive.code:     ArgumentTypes = [word, word, oracle_ttl_t()],
      [Oracle, Sign, TTL] = get_args(ArgumentTypes, Data),
      Callback = fun(API, ChainState) -> API:oracle_extend(<<Oracle:256>>, Sign, TTL, ChainState) end,
      call_chain(Callback, State).
  
  
  oracle_call_get_answer(_Value, Data, State) ->
  
negative.code:     RecipientId = aec_id:create(account, <<Recipient:256>>),
      Callback = fun(API, ChainState) ->
                         API:spend(RecipientId, Value, ChainState) end,
      cast_chain(Callback, State).
  
  %% ------------------------------------------------------------------
  %% Oracle operations.
  