| 910 | } |
| 911 | } |
| 912 | async fn get_peers(&self) -> Result<PeersGetResponse, ErrorResponse> { |
| 913 | let peers = |
| 914 | self.p2p.peers().await.map_err(|err| { |
| 915 | ErrorResponse::new(format!("failed to get peer information: {err}")) |
| 916 | })?; |
| 917 | Ok(PeersGetResponse::Success(Peers { |
| 918 | peers: peers |
| 919 | .into_iter() |
| 920 | .map(|peer| { |
| 921 | let peer_id = peer.id.peer_id(); |
| 922 | Peer { |
| 923 | id: peer.id.did_key(), |
| 924 | addresses: peer |
| 925 | .addresses |
| 926 | .into_iter() |
| 927 | .map(|addr| ensure_multiaddr_has_p2p(addr, peer_id).to_string()) |
| 928 | .collect(), |
| 929 | } |
| 930 | }) |
| 931 | .collect(), |
| 932 | })) |
| 933 | } |
| 934 | async fn peer_connect( |
| 935 | &self, |
| 936 | addrs: Vec<Multiaddr>, |