code: function ({ feedId, live = false, reverse = false }, cb) {
        var stream = PullPushAbort()
  
        var result = {}
        var sync = null
  
        // stream reverse states if option specified
        var queryStream = reverse ? ssb.backlinks.read({
          query: [{ $filter: {
            dest: feedId,
            value: {
              content: {
                type: 'contact',
                contact: feedId
              }
            }
          } }],
          live
        }) : ssb.query.read({
          query: [{ $filter: {
            value: {
              author: feedId,
              content: {
                type: 'contact'
              }
            }
          } }],
          live
        })
  
        pull(
          queryStream,
          stream.aborter,
          pull.filter(msg => (msg.value && msg.value.content && msg.value.content.type) || msg.sync),
          pull.drain((msg) => {
            if (msg.sync) {
              // send first reduced result when running in live mode
              sync = true
              if (live) stream.push(result)
              return
            }
  
            var isPrivate = msg.value && msg.value.meta && msg.value.meta.private && msg.value.author === ssb.id
  
            if (!isPrivate) {
              var content = msg.value.content
              var contact = reverse ? msg.value.author : content.contact
              var value = getContactState(msg.value.content)
  
              if (sync) {
                // send updated state in live mode
                stream.push({ [contact]: value })
              } else {
                result[contact] = value
              }
            }
          }, (err) => {
            if (err) return stream.end(err)
            if (stream.ended || sync) return
  
            // send final result when not live
            if (!live) stream.push(result)
            stream.end()
          })
        )
  
        return stream
      }
docs: return who a given contact publicly follows and blocks (or reverse)