anchor.diff:                                   sophia_events,
                                    sophia_crypto,
                                    sophia_safe_math,
  -                                 sophia_heap_to_heap_bug]}
  +                                 sophia_heap_to_heap_bug,
  +                                 sophia_too_little_gas_for_mem
  +                               ]}
       , {sophia_oracles_ttl, [],
             %% Test Oracle TTL handling
           [ sophia_oracles_ttl__extend_after_expiry
  
positive.code:     SophiaVersion = ?config(sophia_version, Config),
      ProtocolVersion = case ?config(protocol, Config) of
                            roma    -> ?ROMA_PROTOCOL_VSN;
                            minerva -> ?MINERVA_PROTOCOL_VSN
                        end,
      put('$vm_version', VmVersion),
      put('$sophia_version', SophiaVersion),
      put('$protocol_version', ProtocolVersion),
      Config.
  
  -define(assertMatchVM(Res, ExpVm1, ExpVm2),
      case vm_version() of
          ?VM_AEVM_SOPHIA_1 -> ?assertMatch(ExpVm1, Res);
          ?VM_AEVM_SOPHIA_2 -> ?assertMatch(ExpVm2, Res)
      end).
  
  -define(assertMatchProtocol(Res, ExpRoma, ExpMinerva),
      case protocol_version() of
          ?ROMA_PROTOCOL_VSN -> ?assertMatch(ExpRoma, Res);
          ?MINERVA_PROTOCOL_VSN -> ?assertMatch(ExpMinerva, Res)
      end).
  
  -define(skipRest(Res, Reason),
  
negative.code:     ?assertMatchVM(
          ?call(call_contract, Acc, Ct, queryFee, word, BogusOracle),
          32,          %% On ROMA this is broken, returns 32.
          {error, _}, {error, _}), %% Fixed in MINERVA
      none              = ?call(call_contract, Acc, Ct, getAnswer, {option, word}, {CtId, QId}),
      {}                = ?call(call_contract, Acc, Ct, respond, {tuple, []}, {CtId, QId, 4001}),
      NonceAfterRespond = aec_accounts:nonce(aect_test_utils:get_account(Ct, state())),
  