package util

import (
	

	
	pbv2 

	ma 
)

func ( *pbv2.Peer) (peer.AddrInfo, error) {
	if  == nil {
		return peer.AddrInfo{}, errors.New("nil peer")
	}

	,  := peer.IDFromBytes(.Id)
	if  != nil {
		return peer.AddrInfo{}, 
	}

	 := make([]ma.Multiaddr, 0, len(.Addrs))

	for ,  := range .Addrs {
		,  := ma.NewMultiaddrBytes()
		if  == nil {
			 = append(, )
		}
	}

	return peer.AddrInfo{ID: , Addrs: }, nil
}

func ( peer.AddrInfo) *pbv2.Peer {
	 := make([][]byte, 0, len(.Addrs))
	for ,  := range .Addrs {
		 = append(, .Bytes())
	}

	return &pbv2.Peer{
		Id:    []byte(.ID),
		Addrs: ,
	}
}