Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ require (
github.com/google/uuid v1.6.0
github.com/lib/pq v1.12.3
github.com/libp2p/go-libp2p/core v0.43.0-rc2
github.com/mr-tron/base58 v1.3.0
github.com/multiformats/go-multiaddr v0.16.1
github.com/prometheus/client_golang v1.24.1
github.com/prometheus/client_model v0.6.2
Expand Down Expand Up @@ -363,6 +362,7 @@ require (
github.com/moby/term v0.5.2 // indirect
github.com/modelcontextprotocol/registry v1.4.0 // indirect
github.com/moricho/tparallel v0.3.2 // indirect
github.com/mr-tron/base58 v1.3.0 // indirect
github.com/muesli/cancelreader v0.2.2 // indirect
github.com/muesli/mango v0.2.0 // indirect
github.com/muesli/mango-cobra v1.3.0 // indirect
Expand Down
5 changes: 2 additions & 3 deletions pkg/net/multiaddrutil.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
stdnet "net"

"github.com/libp2p/go-libp2p/core/peer"
b58 "github.com/mr-tron/base58/base58"
"github.com/multiformats/go-multiaddr"
)

Expand Down Expand Up @@ -59,12 +58,12 @@ func AddressInfoFromString(s string) (peer.AddrInfo, error) {
if err := json.Unmarshal([]byte(s), &res); err != nil {
return peer.AddrInfo{}, err
}
pID, err := b58.Decode(res.ID)
pID, err := peer.Decode(res.ID)
if err != nil {
return peer.AddrInfo{}, fmt.Errorf("failed to parse peer ID %q: %w", res.ID, err)
}
return peer.AddrInfo{
ID: peer.ID(pID),
ID: pID,
Addrs: res.Addrs,
}, nil
}
12 changes: 11 additions & 1 deletion pkg/net/multiaddrutil_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,11 @@ func TestAddressInfoToStringAndBack(t *testing.T) {
maList = append(maList, m)
}

peerID, err := peer.Decode("16Uiu2HAkxohm96jeTn18K7iKVdNDd5A2jgY1pFoj6SkegPFq6Tzb")
require.NoError(t, err)

original := peer.AddrInfo{
ID: "16Uiu2HAkxohm96jeTn18K7iKVdNDd5A2jgY1pFoj6SkegPFq6Tzb",
ID: peerID,
Addrs: maList,
}
encoded := netpkg.AddressInfoToString(original)
Expand All @@ -68,6 +71,13 @@ func TestAddressInfoFromString_InvalidID(t *testing.T) {
require.Contains(t, err.Error(), "failed to parse peer ID")
}

func TestAddressInfoFromString_RejectsEmptyPeerID(t *testing.T) {
jsonStr := `{"peerID": "", "addrs": []}`
_, err := netpkg.AddressInfoFromString(jsonStr)
require.Error(t, err)
require.Contains(t, err.Error(), "failed to parse peer ID")
}

func TestAddressInfoFromString_InvalidJSON(t *testing.T) {
_, err := netpkg.AddressInfoFromString(`{invalid json}`)
require.Error(t, err)
Expand Down
Loading