code: function validateAddrs (msg, streamHandler, type, cb) {
      try {
        msg.dstPeer.addrs.forEach((addr) => {
          return multiaddr(addr)
        })
      } catch (err) {
        writeResponse(streamHandler, type === proto.CircuitRelay.Type.HOP
          ? proto.CircuitRelay.Status.HOP_DST_MULTIADDR_INVALID
          : proto.CircuitRelay.Status.STOP_DST_MULTIADDR_INVALID)
        return cb(err)
      }
  
      try {
        msg.srcPeer.addrs.forEach((addr) => {
          return multiaddr(addr)
        })
      } catch (err) {
        writeResponse(streamHandler, type === proto.CircuitRelay.Type.HOP
          ? proto.CircuitRelay.Status.HOP_SRC_MULTIADDR_INVALID
          : proto.CircuitRelay.Status.STOP_SRC_MULTIADDR_INVALID)
        return cb(err)
      }
  
      return cb(null)
    }
docs: Validate incomming HOP/STOP message
  
  @param {CircuitRelay} msg
  @param {StreamHandler} streamHandler
  @param {CircuitRelay.Type} type
  @returns {*}
  @param {Function} cb