@@ -25,6 +25,7 @@ import (
2525
2626 "github.com/google/sam/api"
2727 log "github.com/ipfs/go-log/v2"
28+ "github.com/libp2p/go-libp2p/core/peer"
2829
2930 // Register PG and SQLite drivers
3031 _ "github.com/jackc/pgx/v5/stdlib"
@@ -519,6 +520,14 @@ func (s *SQLStore) rebind(query string) string {
519520 return result .String ()
520521}
521522
523+ func canonicalPeerID (raw string ) (string , error ) {
524+ p , err := peer .Decode (raw )
525+ if err != nil {
526+ return "" , err
527+ }
528+ return p .String (), nil
529+ }
530+
522531func migrateCanonicalPeerIDs (ctx context.Context , s * SQLStore , tx * sql.Tx ) error {
523532 if err := canonicalizeNodePeerIDs (ctx , s , tx ); err != nil {
524533 return err
@@ -548,7 +557,7 @@ func canonicalizeNodePeerIDs(ctx context.Context, s *SQLStore, tx *sql.Tx) error
548557 if err := rows .Scan (& r .rawPeerID , & r .banned ); err != nil {
549558 return fmt .Errorf ("failed to scan node: %w" , err )
550559 }
551- canonical , err := api . CanonicalPeerID (r .rawPeerID )
560+ canonical , err := canonicalPeerID (r .rawPeerID )
552561 if err != nil {
553562 logger .Warnw ("Ignoring node with undecodable peer ID" , "peer_id" , r .rawPeerID )
554563 continue
@@ -607,7 +616,7 @@ func canonicalizeEnrollmentRequestPeerIDs(ctx context.Context, s *SQLStore, tx *
607616 if err := rows .Scan (& r .id , & r .rawPeerID , & r .createdAt ); err != nil {
608617 return fmt .Errorf ("failed to scan enrollment request: %w" , err )
609618 }
610- canonical , err := api . CanonicalPeerID (r .rawPeerID )
619+ canonical , err := canonicalPeerID (r .rawPeerID )
611620 if err != nil {
612621 logger .Warnw ("Ignoring enrollment request with undecodable peer ID" , "peer_id" , r .rawPeerID )
613622 continue
@@ -668,7 +677,7 @@ func canonicalizeRouterPeerIDs(ctx context.Context, s *SQLStore, tx *sql.Tx) err
668677 if err := rows .Scan (& r .rawPeerID , & r .lastRenewal ); err != nil {
669678 return fmt .Errorf ("failed to scan router: %w" , err )
670679 }
671- canonical , err := api . CanonicalPeerID (r .rawPeerID )
680+ canonical , err := canonicalPeerID (r .rawPeerID )
672681 if err != nil {
673682 logger .Warnw ("Ignoring router with undecodable peer ID" , "peer_id" , r .rawPeerID )
674683 continue
0 commit comments