code: func (c *Conn) RemoteMultiaddr() ma.Multiaddr {
  	proto := ma.ProtocolWithCode(ma.P_P2P).Name
  	peerid := c.Conn().RemotePeer().Pretty()
  	p2paddr := ma.StringCast(fmt.Sprintf("/%s/%s", proto, peerid))
  
  	circaddr := ma.Cast(ma.CodeToVarint(P_CIRCUIT))
  	return p2paddr.Encapsulate(circaddr)
  }
docs: // TODO: is it okay to cast c.Conn().RemotePeer() into a multiaddr? might be "user input"