anchor.diff:  -define(MAX_PING_INTERVAL, 120000).
   
   -define(DEFAULT_UNBLOCK_INTERVAL, 15 * 60 * 1000).
  +-define(PEER_ERROR_EXPIRY, 60 * 60 * 1000).
  +
   
   %% We parse the uri's with http_uri, therefore we use types from that module.
   -record(peer, {
  
positive.code:           port              :: http_uri:port(),
            path              :: http_uri:path(),
            last_seen = 0     :: integer(), % Erlang system time (POSIX time)
            last_pings = []   :: [integer()], % Erlang system time
            ping_tref         :: reference() | undefined,
            trusted = false   :: boolean() % Is it a pre-configured peer
  
negative.code:                     [A]     -> [T,A];
                      [A,B|_] -> [T,A,B]
                  end,
      {LastSeen, Expire} = 
          case Res of
              ok    -> {T, T + application:get_env(aecore, peer_error_expiry, ?PEER_ERROR_EXPIRY)};
              error -> {Peer#peer.last_seen, 
                        if Peer#peer.expire == undefined -> T;
                           true -> Peer#peer.expire
                        end}
          end,
      Peer#peer{last_seen = LastSeen, last_pings = LastPings, expire = Expire}.
  
  save_ping_timer(TRef, #peer{ping_tref = Prev} = Peer) ->
      case Prev of
  