@cryptotaxi247 / kubo / commits / 20d9660a6

chore: use go-log/v2 (#10801)

* chore: update to go-log/v2 go-log v2 has been out for quite a while now and it is time to deprecate v1. Replace all use of go-log with go-log/v2 Makes /api/v0/log/tail useful over HTTP Updates dependencies that have moved to go-lov/v2 Removes support for ContextWithLoggable as this is not needed for tracing-like functionality - Replaces: PR #8765 - Closes issue #8753 - Closes issue #9245 - Closes issue #10809 Other fixes: * update go-ipfs-cmds * update http logs test * fix test * Read/send one line of log data at a time * Update -log-level docs

Andrew Gillis committed May 19, 2025 at 13:04 UTC 20d9660a64f3e02bbed858edac83b25f51098b5a
39 files changed +302 -237
cmd/ipfs/kubo/pinmfs.go
+2 -4
@@ -6,16 +6,14 @@ import (
6 "os"
7 "time"
8
9 - "github.com/libp2p/go-libp2p/core/host"
10 - peer "github.com/libp2p/go-libp2p/core/peer"
11 -
9 pinclient "github.com/ipfs/boxo/pinning/remote/client"
10 cid "github.com/ipfs/go-cid"
11 ipld "github.com/ipfs/go-ipld-format"
12 logging "github.com/ipfs/go-log/v2"
16 -
13 config "github.com/ipfs/kubo/config"
14 "github.com/ipfs/kubo/core"
15 + "github.com/libp2p/go-libp2p/core/host"
16 + peer "github.com/libp2p/go-libp2p/core/peer"
17 )
18
19 // mfslog is the logger for remote mfs pinning.
cmd/ipfs/kubo/start.go
+2 -14
@@ -16,12 +16,11 @@ import (
16 "time"
17
18 "github.com/blang/semver/v4"
19 - "github.com/google/uuid"
19 u "github.com/ipfs/boxo/util"
20 cmds "github.com/ipfs/go-ipfs-cmds"
21 "github.com/ipfs/go-ipfs-cmds/cli"
22 cmdhttp "github.com/ipfs/go-ipfs-cmds/http"
24 - logging "github.com/ipfs/go-log"
23 + logging "github.com/ipfs/go-log/v2"
24 ipfs "github.com/ipfs/kubo"
25 "github.com/ipfs/kubo/client/rpc/auth"
26 "github.com/ipfs/kubo/cmd/ipfs/util"
@@ -89,16 +88,6 @@ func printErr(err error) int {
88 return 1
89 }
90
92 -func newUUID(key string) logging.Metadata {
93 - ids := "#UUID-ERROR#"
94 - if id, err := uuid.NewRandom(); err == nil {
95 - ids = id.String()
96 - }
97 - return logging.Metadata{
98 - key: ids,
99 - }
100 -}
101 -
91 func BuildDefaultEnv(ctx context.Context, req *cmds.Request) (cmds.Environment, error) {
92 return BuildEnv(nil)(ctx, req)
93 }
@@ -157,8 +146,7 @@ func BuildEnv(pl PluginPreloader) func(ctx context.Context, req *cmds.Request) (
146 // - output the response
147 // - if anything fails, print error, maybe with help.
148 func Start(buildEnv func(ctx context.Context, req *cmds.Request) (cmds.Environment, error)) (exitCode int) {
160 - ctx := logging.ContextWithLoggable(context.Background(), newUUID("session"))
161 -
149 + ctx := context.Background()
150 tp, err := tracing.NewTracerProvider(ctx)
151 if err != nil {
152 return printErr(err)
cmd/ipfs/util/ulimit.go
+1 -1
@@ -6,7 +6,7 @@ import (
6 "strconv"
7 "syscall"
8
9 - logging "github.com/ipfs/go-log"
9 + logging "github.com/ipfs/go-log/v2"
10 )
11
12 var log = logging.Logger("ulimit")
commands/context.go
+1 -1
@@ -11,7 +11,7 @@ import (
11 loader "github.com/ipfs/kubo/plugin/loader"
12
13 cmds "github.com/ipfs/go-ipfs-cmds"
14 - logging "github.com/ipfs/go-log"
14 + logging "github.com/ipfs/go-log/v2"
15 config "github.com/ipfs/kubo/config"
16 coreiface "github.com/ipfs/kubo/core/coreiface"
17 options "github.com/ipfs/kubo/core/coreiface/options"
core/commands/cmdenv/env.go
+1 -1
@@ -9,7 +9,7 @@ import (
9 "github.com/ipfs/kubo/core"
10
11 cmds "github.com/ipfs/go-ipfs-cmds"
12 - logging "github.com/ipfs/go-log"
12 + logging "github.com/ipfs/go-log/v2"
13 coreiface "github.com/ipfs/kubo/core/coreiface"
14 options "github.com/ipfs/kubo/core/coreiface/options"
15 )
core/commands/files.go
+1 -1
@@ -28,7 +28,7 @@ import (
28 cidenc "github.com/ipfs/go-cidutil/cidenc"
29 cmds "github.com/ipfs/go-ipfs-cmds"
30 ipld "github.com/ipfs/go-ipld-format"
31 - logging "github.com/ipfs/go-log"
31 + logging "github.com/ipfs/go-log/v2"
32 iface "github.com/ipfs/kubo/core/coreiface"
33 mh "github.com/multiformats/go-multihash"
34 )
core/commands/log.go
+31 -11
@@ -5,8 +5,7 @@ import (
5 "io"
6
7 cmds "github.com/ipfs/go-ipfs-cmds"
8 - logging "github.com/ipfs/go-log"
9 - lwriter "github.com/ipfs/go-log/writer"
8 + logging "github.com/ipfs/go-log/v2"
9 )
10
11 // Golang os.Args overrides * and replaces the character argument with
@@ -104,25 +103,46 @@ subsystems of a running daemon.
103 Type: stringList{},
104 }
105
106 +const logLevelOption = "log-level"
107 +
108 var logTailCmd = &cmds.Command{
109 Status: cmds.Experimental,
110 Helptext: cmds.HelpText{
110 - Tagline: "Read the event log.",
111 + Tagline: "Read and outpt log messages.",
112 ShortDescription: `
112 -Outputs event log messages (not other log messages) as they are generated.
113 +Outputs log messages as they are generated.
114 +
115 +NOTE: --log-level requires the server to be logging at least at this level
116 +
117 +Example:
118 +
119 + GOLOG_LOG_LEVEL="error,bitswap=debug" ipfs daemon
120 + ipfs log tail --log-level info
121
114 -Currently broken. Follow https://github.com/ipfs/kubo/issues/9245 for updates.
122 +This will only return 'info' logs from bitswap and skip 'debug'.
123 `,
124 },
125
126 + Options: []cmds.Option{
127 + cmds.StringOption(logLevelOption, "Log level to listen to.").WithDefault(""),
128 + },
129 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
119 - ctx := req.Context
120 - r, w := io.Pipe()
130 + var pipeReader *logging.PipeReader
131 + logLevelString, _ := req.Options[logLevelOption].(string)
132 + if logLevelString != "" {
133 + logLevel, err := logging.LevelFromString(logLevelString)
134 + if err != nil {
135 + return fmt.Errorf("setting log level %s: %w", logLevelString, err)
136 + }
137 + pipeReader = logging.NewPipeReader(logging.PipeLevel(logLevel))
138 + } else {
139 + pipeReader = logging.NewPipeReader()
140 + }
141 +
142 go func() {
122 - defer w.Close()
123 - <-ctx.Done()
143 + <-req.Context.Done()
144 + pipeReader.Close()
145 }()
125 - lwriter.WriterGroup.AddWriter(w)
126 - return res.Emit(r)
146 + return res.Emit(pipeReader)
147 },
148 }
core/commands/name/ipns.go
+1 -1
@@ -10,7 +10,7 @@ import (
10 "github.com/ipfs/boxo/namesys"
11 "github.com/ipfs/boxo/path"
12 cmds "github.com/ipfs/go-ipfs-cmds"
13 - logging "github.com/ipfs/go-log"
13 + logging "github.com/ipfs/go-log/v2"
14 cmdenv "github.com/ipfs/kubo/core/commands/cmdenv"
15 options "github.com/ipfs/kubo/core/coreiface/options"
16 )
core/commands/pin/remotepin.go
+1 -1
@@ -18,7 +18,7 @@ import (
18 pinclient "github.com/ipfs/boxo/pinning/remote/client"
19 cid "github.com/ipfs/go-cid"
20 cmds "github.com/ipfs/go-ipfs-cmds"
21 - logging "github.com/ipfs/go-log"
21 + logging "github.com/ipfs/go-log/v2"
22 config "github.com/ipfs/kubo/config"
23 "github.com/ipfs/kubo/core/commands/cmdenv"
24 "github.com/ipfs/kubo/core/commands/cmdutils"
core/commands/root.go
+1 -1
@@ -10,7 +10,7 @@ import (
10 "github.com/ipfs/kubo/core/commands/pin"
11
12 cmds "github.com/ipfs/go-ipfs-cmds"
13 - logging "github.com/ipfs/go-log"
13 + logging "github.com/ipfs/go-log/v2"
14 )
15
16 var log = logging.Logger("core/commands")
core/core.go
+1 -1
@@ -28,7 +28,7 @@ import (
28 pathresolver "github.com/ipfs/boxo/path/resolver"
29 provider "github.com/ipfs/boxo/provider"
30 ipld "github.com/ipfs/go-ipld-format"
31 - logging "github.com/ipfs/go-log"
31 + logging "github.com/ipfs/go-log/v2"
32 goprocess "github.com/jbenet/goprocess"
33 ddht "github.com/libp2p/go-libp2p-kad-dht/dual"
34 pubsub "github.com/libp2p/go-libp2p-pubsub"
core/corehttp/corehttp.go
+1 -1
@@ -11,7 +11,7 @@ import (
11 "net/http"
12 "time"
13
14 - logging "github.com/ipfs/go-log"
14 + logging "github.com/ipfs/go-log/v2"
15 core "github.com/ipfs/kubo/core"
16 "github.com/jbenet/goprocess"
17 periodicproc "github.com/jbenet/goprocess/periodic"
core/corehttp/logs.go
+52 -41
@@ -1,57 +1,68 @@
1 package corehttp
2
3 import (
4 - "io"
4 + "bufio"
5 + "fmt"
6 "net"
7 "net/http"
8
8 - lwriter "github.com/ipfs/go-log/writer"
9 + logging "github.com/ipfs/go-log/v2"
10 core "github.com/ipfs/kubo/core"
11 )
12
12 -type writeErrNotifier struct {
13 - w io.Writer
14 - errs chan error
15 -}
13 +func LogOption() ServeOption {
14 + return func(n *core.IpfsNode, _ net.Listener, mux *http.ServeMux) (*http.ServeMux, error) {
15 + mux.HandleFunc("/logs", func(w http.ResponseWriter, r *http.Request) {
16 + // The log data comes from an io.Reader, and we need to constantly
17 + // read from it and then write to the HTTP response.
18 + pipeReader := logging.NewPipeReader()
19 + done := make(chan struct{})
20
17 -func newWriteErrNotifier(w io.Writer) (io.WriteCloser, <-chan error) {
18 - ch := make(chan error, 1)
19 - return &writeErrNotifier{
20 - w: w,
21 - errs: ch,
22 - }, ch
23 -}
21 + // Close the pipe reader if the request context is canceled. This
22 + // is necessary to avoiding blocking on reading from the pipe
23 + // reader when the client terminates the request.
24 + go func() {
25 + select {
26 + case <-r.Context().Done(): // Client canceled request
27 + case <-n.Context().Done(): // Node shutdown
28 + case <-done: // log reader goroutine exitex
29 + }
30 + pipeReader.Close()
31 + }()
32
25 -func (w *writeErrNotifier) Write(b []byte) (int, error) {
26 - n, err := w.w.Write(b)
27 - if err != nil {
28 - select {
29 - case w.errs <- err:
30 - default:
31 - }
32 - }
33 - if f, ok := w.w.(http.Flusher); ok {
34 - f.Flush()
35 - }
36 - return n, err
37 -}
33 + errs := make(chan error, 1)
34
39 -func (w *writeErrNotifier) Close() error {
40 - select {
41 - case w.errs <- io.EOF:
42 - default:
43 - }
44 - return nil
45 -}
35 + go func() {
36 + defer close(errs)
37 + defer close(done)
38
47 -func LogOption() ServeOption {
48 - return func(n *core.IpfsNode, _ net.Listener, mux *http.ServeMux) (*http.ServeMux, error) {
49 - mux.HandleFunc("/logs", func(w http.ResponseWriter, r *http.Request) {
50 - w.WriteHeader(200)
51 - wnf, errs := newWriteErrNotifier(w)
52 - lwriter.WriterGroup.AddWriter(wnf)
53 - log.Event(n.Context(), "log API client connected") //nolint deprecated
54 - <-errs
39 + rdr := bufio.NewReader(pipeReader)
40 + for {
41 + // Read a line of log data and send it to the client.
42 + line, err := rdr.ReadString('\n')
43 + if err != nil {
44 + errs <- fmt.Errorf("error reading log message: %s", err)
45 + return
46 + }
47 + _, err = w.Write([]byte(line))
48 + if err != nil {
49 + // Failed to write to client, probably disconnected.
50 + return
51 + }
52 + if f, ok := w.(http.Flusher); ok {
53 + f.Flush()
54 + }
55 + if r.Context().Err() != nil {
56 + return
57 + }
58 + }
59 + }()
60 + log.Info("log API client connected")
61 + err := <-errs
62 + if err != nil {
63 + http.Error(w, err.Error(), http.StatusInternalServerError)
64 + return
65 + }
66 })
67 return mux, nil
68 }
core/corerepo/gc.go
+1 -1
@@ -13,7 +13,7 @@ import (
13 "github.com/dustin/go-humanize"
14 "github.com/ipfs/boxo/mfs"
15 "github.com/ipfs/go-cid"
16 - logging "github.com/ipfs/go-log"
16 + logging "github.com/ipfs/go-log/v2"
17 )
18
19 var log = logging.Logger("corerepo")
core/coreunix/add.go
+1 -1
@@ -25,7 +25,7 @@ import (
25 pin "github.com/ipfs/boxo/pinning/pinner"
26 "github.com/ipfs/go-cid"
27 ipld "github.com/ipfs/go-ipld-format"
28 - logging "github.com/ipfs/go-log"
28 + logging "github.com/ipfs/go-log/v2"
29 coreiface "github.com/ipfs/kubo/core/coreiface"
30
31 "github.com/ipfs/kubo/tracing"
core/node/groups.go
+1 -1
@@ -13,7 +13,7 @@ import (
13 offline "github.com/ipfs/boxo/exchange/offline"
14 uio "github.com/ipfs/boxo/ipld/unixfs/io"
15 util "github.com/ipfs/boxo/util"
16 - "github.com/ipfs/go-log"
16 + "github.com/ipfs/go-log/v2"
17 "github.com/ipfs/kubo/config"
18 "github.com/ipfs/kubo/core/node/libp2p"
19 "github.com/ipfs/kubo/p2p"
core/node/libp2p/addrs.go
+1 -1
@@ -7,7 +7,7 @@ import (
7 "path/filepath"
8 "time"
9
10 - logging "github.com/ipfs/go-log"
10 + logging "github.com/ipfs/go-log/v2"
11 version "github.com/ipfs/kubo"
12 "github.com/ipfs/kubo/config"
13 p2pforge "github.com/ipshipyard/p2p-forge/client"
core/node/libp2p/libp2p.go
+1 -1
@@ -8,7 +8,7 @@ import (
8 version "github.com/ipfs/kubo"
9 config "github.com/ipfs/kubo/config"
10
11 - logging "github.com/ipfs/go-log"
11 + logging "github.com/ipfs/go-log/v2"
12 "github.com/libp2p/go-libp2p"
13 "github.com/libp2p/go-libp2p/core/crypto"
14 "github.com/libp2p/go-libp2p/core/peer"
docs/changelogs/v0.36.md new
+34
@@ -0,0 +1,34 @@
1 +# Kubo changelog v0.36
2 +
3 +<a href="http://ipshipyard.com/"><img align="right" src="https://github.com/user-attachments/assets/39ed3504-bb71-47f6-9bf8-cb9a1698f272" /></a>
4 +
5 +This release was brought to you by the [Shipyard](http://ipshipyard.com/) team.
6 +
7 +- [v0.36.0](#v0340)
8 +
9 +## v0.36.0
10 +
11 +- [Overview](#overview)
12 +- [🔦 Highlights](#-highlights)
13 + - [Update go-log to v2](#update-go-log-to-v2)
14 + - [📦️ Important dependency updates](#-important-dependency-updates)
15 +- [📝 Changelog](#-changelog)
16 +- [👨‍👩‍👧‍👦 Contributors](#-contributors)
17 +
18 +### Overview
19 +
20 +### 🔦 Highlights
21 +
22 +#### Update go-log to v2
23 +
24 +go-log v2 has been out for quite a while now and it is time to deprecate v1.
25 +
26 +- Replace all use of `go-log` with `go-log/v2`
27 +- Makes `/api/v0/log/tail` useful over HTTP
28 +- Fixes `ipfs log tail`
29 +- Removes support for `ContextWithLoggable` as this is not needed for tracing-like functionality
30 +
31 +#### 📦️ Important dependency updates
32 +
33 +### 📝 Changelog
34 +### 👨‍👩‍👧‍👦 Contributors
docs/examples/kubo-as-a-library/go.mod
+10 -10
@@ -97,7 +97,7 @@ require (
97 github.com/ipfs/go-ipfs-redirects-file v0.1.2 // indirect
98 github.com/ipfs/go-ipfs-util v0.0.3 // indirect
99 github.com/ipfs/go-ipld-cbor v0.2.0 // indirect
100 - github.com/ipfs/go-ipld-format v0.6.0 // indirect
100 + github.com/ipfs/go-ipld-format v0.6.1 // indirect
101 github.com/ipfs/go-ipld-git v0.1.1 // indirect
102 github.com/ipfs/go-ipld-legacy v0.2.1 // indirect
103 github.com/ipfs/go-log v1.0.5 // indirect
@@ -108,8 +108,8 @@ require (
108 github.com/ipfs/go-unixfsnode v1.10.0 // indirect
109 github.com/ipfs/go-verifcid v0.0.3 // indirect
110 github.com/ipld/go-car v0.6.2 // indirect
111 - github.com/ipld/go-car/v2 v2.14.2 // indirect
112 - github.com/ipld/go-codec-dagpb v1.6.0 // indirect
111 + github.com/ipld/go-car/v2 v2.14.3 // indirect
112 + github.com/ipld/go-codec-dagpb v1.7.0 // indirect
113 github.com/ipld/go-ipld-prime v0.21.0 // indirect
114 github.com/ipshipyard/p2p-forge v0.4.0 // indirect
115 github.com/jackpal/go-nat-pmp v1.0.2 // indirect
@@ -225,14 +225,14 @@ require (
225 go.uber.org/zap v1.27.0 // indirect
226 go.uber.org/zap/exp v0.3.0 // indirect
227 go4.org v0.0.0-20230225012048-214862532bf5 // indirect
228 - golang.org/x/crypto v0.37.0 // indirect
229 - golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
228 + golang.org/x/crypto v0.38.0 // indirect
229 + golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
230 golang.org/x/mod v0.24.0 // indirect
231 - golang.org/x/net v0.39.0 // indirect
232 - golang.org/x/sync v0.13.0 // indirect
231 + golang.org/x/net v0.40.0 // indirect
232 + golang.org/x/sync v0.14.0 // indirect
233 golang.org/x/sys v0.33.0 // indirect
234 - golang.org/x/text v0.24.0 // indirect
235 - golang.org/x/tools v0.32.0 // indirect
234 + golang.org/x/text v0.25.0 // indirect
235 + golang.org/x/tools v0.33.0 // indirect
236 golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
237 gonum.org/v1/gonum v0.16.0 // indirect
238 google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect
@@ -240,5 +240,5 @@ require (
240 google.golang.org/grpc v1.67.1 // indirect
241 google.golang.org/protobuf v1.36.6 // indirect
242 gopkg.in/yaml.v3 v3.0.1 // indirect
243 - lukechampine.com/blake3 v1.4.0 // indirect
243 + lukechampine.com/blake3 v1.4.1 // indirect
244 )
docs/examples/kubo-as-a-library/go.sum
+22 -22
@@ -371,8 +371,8 @@ github.com/ipfs/go-ipfs-util v0.0.3 h1:2RFdGez6bu2ZlZdI+rWfIdbQb1KudQp3VGwPtdNCm
371 github.com/ipfs/go-ipfs-util v0.0.3/go.mod h1:LHzG1a0Ig4G+iZ26UUOMjHd+lfM84LZCrn17xAKWBvs=
372 github.com/ipfs/go-ipld-cbor v0.2.0 h1:VHIW3HVIjcMd8m4ZLZbrYpwjzqlVUfjLM7oK4T5/YF0=
373 github.com/ipfs/go-ipld-cbor v0.2.0/go.mod h1:Cp8T7w1NKcu4AQJLqK0tWpd1nkgTxEVB5C6kVpLW6/0=
374 -github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U=
375 -github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg=
374 +github.com/ipfs/go-ipld-format v0.6.1 h1:lQLmBM/HHbrXvjIkrydRXkn+gc0DE5xO5fqelsCKYOQ=
375 +github.com/ipfs/go-ipld-format v0.6.1/go.mod h1:8TOH1Hj+LFyqM2PjSqI2/ZnyO0KlfhHbJLkbxFa61hs=
376 github.com/ipfs/go-ipld-git v0.1.1 h1:TWGnZjS0htmEmlMFEkA3ogrNCqWjIxwr16x1OsdhG+Y=
377 github.com/ipfs/go-ipld-git v0.1.1/go.mod h1:+VyMqF5lMcJh4rwEppV0e6g4nCCHXThLYYDpKUkJubI=
378 github.com/ipfs/go-ipld-legacy v0.2.1 h1:mDFtrBpmU7b//LzLSypVrXsD8QxkEWxu5qVxN99/+tk=
@@ -389,18 +389,18 @@ github.com/ipfs/go-metrics-interface v0.3.0 h1:YwG7/Cy4R94mYDUuwsBfeziJCVm9pBMJ6
389 github.com/ipfs/go-metrics-interface v0.3.0/go.mod h1:OxxQjZDGocXVdyTPocns6cOLwHieqej/jos7H4POwoY=
390 github.com/ipfs/go-peertaskqueue v0.8.2 h1:PaHFRaVFdxQk1Qo3OKiHPYjmmusQy7gKQUaL8JDszAU=
391 github.com/ipfs/go-peertaskqueue v0.8.2/go.mod h1:L6QPvou0346c2qPJNiJa6BvOibxDfaiPlqHInmzg0FA=
392 -github.com/ipfs/go-test v0.2.1 h1:/D/a8xZ2JzkYqcVcV/7HYlCnc7bv/pKHQiX5TdClkPE=
393 -github.com/ipfs/go-test v0.2.1/go.mod h1:dzu+KB9cmWjuJnXFDYJwC25T3j1GcN57byN+ixmK39M=
392 +github.com/ipfs/go-test v0.2.2 h1:1yjYyfbdt1w93lVzde6JZ2einh3DIV40at4rVoyEcE8=
393 +github.com/ipfs/go-test v0.2.2/go.mod h1:cmLisgVwkdRCnKu/CFZOk2DdhOcwghr5GsHeqwexoRA=
394 github.com/ipfs/go-unixfsnode v1.10.0 h1:cZPUUcYjXw2kMOgx4THw2uouw/8TBpmzZpWtPINdLvk=
395 github.com/ipfs/go-unixfsnode v1.10.0/go.mod h1:hVbWqN38WOk7FHao2y0mQAwUHDq58m7plGd+W6GSq2M=
396 github.com/ipfs/go-verifcid v0.0.3 h1:gmRKccqhWDocCRkC+a59g5QW7uJw5bpX9HWBevXa0zs=
397 github.com/ipfs/go-verifcid v0.0.3/go.mod h1:gcCtGniVzelKrbk9ooUSX/pM3xlH73fZZJDzQJRvOUw=
398 github.com/ipld/go-car v0.6.2 h1:Hlnl3Awgnq8icK+ze3iRghk805lu8YNq3wlREDTF2qc=
399 github.com/ipld/go-car v0.6.2/go.mod h1:oEGXdwp6bmxJCZ+rARSkDliTeYnVzv3++eXajZ+Bmr8=
400 -github.com/ipld/go-car/v2 v2.14.2 h1:9ERr7KXpCC7If0rChZLhYDlyr6Bes6yRKPJnCO3hdHY=
401 -github.com/ipld/go-car/v2 v2.14.2/go.mod h1:0iPB/825lTZLU2zPK5bVTk/R3V2612E1VI279OGSXWA=
402 -github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc=
403 -github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s=
400 +github.com/ipld/go-car/v2 v2.14.3 h1:1Mhl82/ny8MVP+w1M4LXbj4j99oK3gnuZG2GmG1IhC8=
401 +github.com/ipld/go-car/v2 v2.14.3/go.mod h1:/vpSvPngOX8UnvmdFJ3o/mDgXa9LuyXsn7wxOzHDYQE=
402 +github.com/ipld/go-codec-dagpb v1.7.0 h1:hpuvQjCSVSLnTnHXn+QAMR0mLmb1gA6wl10LExo2Ts0=
403 +github.com/ipld/go-codec-dagpb v1.7.0/go.mod h1:rD3Zg+zub9ZnxcLwfol/OTQRVjaLzXypgy4UqHQvilM=
404 github.com/ipld/go-ipld-prime v0.11.0/go.mod h1:+WIAkokurHmZ/KwzDOMUuoeJgaRQktHtEaLglS3ZeV8=
405 github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E=
406 github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ=
@@ -892,8 +892,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
892 golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
893 golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
894 golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
895 -golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
896 -golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
895 +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
896 +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
897 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
898 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
899 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -902,8 +902,8 @@ golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE
902 golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
903 golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
904 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
905 -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
906 -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
905 +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
906 +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
907 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
908 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
909 golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -963,8 +963,8 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
963 golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
964 golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
965 golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
966 -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
967 -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
966 +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
967 +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
968 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
969 golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
970 golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -983,8 +983,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
983 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
984 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
985 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
986 -golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
987 -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
986 +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
987 +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
988 golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
989 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
990 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1054,8 +1054,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
1054 golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
1055 golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1056 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
1057 -golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
1058 -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
1057 +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
1058 +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
1059 golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1060 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1061 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1098,8 +1098,8 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f
1098 golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
1099 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
1100 golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
1101 -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
1102 -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
1101 +golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
1102 +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
1103 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1104 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1105 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1204,8 +1204,8 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh
1204 honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
1205 honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
1206 honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
1207 -lukechampine.com/blake3 v1.4.0 h1:xDbKOZCVbnZsfzM6mHSYcGRHZ3YrLDzqz8XnV4uaD5w=
1208 -lukechampine.com/blake3 v1.4.0/go.mod h1:MQJNQCTnR+kwOP/JEZSxj3MaQjp80FOFSNMMHXcSeX0=
1207 +lukechampine.com/blake3 v1.4.1 h1:I3Smz7gso8w4/TunLKec6K2fn+kyKtDxr/xcQEN84Wg=
1208 +lukechampine.com/blake3 v1.4.1/go.mod h1:QFosUxmjB8mnrWFSNwKmvxHpfY72bmD2tQ0kBMM3kwo=
1209 pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
1210 pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
1211 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
fuse/ipns/ipns_unix.go
+1 -1
@@ -23,7 +23,7 @@ import (
23 fs "bazil.org/fuse/fs"
24 mfs "github.com/ipfs/boxo/mfs"
25 cid "github.com/ipfs/go-cid"
26 - logging "github.com/ipfs/go-log"
26 + logging "github.com/ipfs/go-log/v2"
27 iface "github.com/ipfs/kubo/core/coreiface"
28 options "github.com/ipfs/kubo/core/coreiface/options"
29 )
fuse/mount/mount.go
+1 -1
@@ -8,7 +8,7 @@ import (
8 "runtime"
9 "time"
10
11 - logging "github.com/ipfs/go-log"
11 + logging "github.com/ipfs/go-log/v2"
12 goprocess "github.com/jbenet/goprocess"
13 )
14
fuse/node/mount_unix.go
+1 -1
@@ -15,7 +15,7 @@ import (
15 mount "github.com/ipfs/kubo/fuse/mount"
16 rofs "github.com/ipfs/kubo/fuse/readonly"
17
18 - logging "github.com/ipfs/go-log"
18 + logging "github.com/ipfs/go-log/v2"
19 )
20
21 var log = logging.Logger("node")
fuse/readonly/readonly_unix.go
+1 -1
@@ -19,7 +19,7 @@ import (
19 "github.com/ipfs/boxo/path"
20 "github.com/ipfs/go-cid"
21 ipld "github.com/ipfs/go-ipld-format"
22 - logging "github.com/ipfs/go-log"
22 + logging "github.com/ipfs/go-log/v2"
23 core "github.com/ipfs/kubo/core"
24 ipldprime "github.com/ipld/go-ipld-prime"
25 cidlink "github.com/ipld/go-ipld-prime/linking/cid"
gc/gc.go
+1 -1
@@ -16,7 +16,7 @@ import (
16 cid "github.com/ipfs/go-cid"
17 dstore "github.com/ipfs/go-datastore"
18 ipld "github.com/ipfs/go-ipld-format"
19 - logging "github.com/ipfs/go-log"
19 + logging "github.com/ipfs/go-log/v2"
20 )
21
22 var log = logging.Logger("gc")
go.mod
+15 -15
@@ -33,20 +33,19 @@ require (
33 github.com/ipfs/go-ds-measure v0.2.2
34 github.com/ipfs/go-ds-pebble v0.5.0
35 github.com/ipfs/go-fs-lock v0.1.1
36 - github.com/ipfs/go-ipfs-cmds v0.14.1
36 + github.com/ipfs/go-ipfs-cmds v0.15.0
37 github.com/ipfs/go-ipld-cbor v0.2.0
38 - github.com/ipfs/go-ipld-format v0.6.0
38 + github.com/ipfs/go-ipld-format v0.6.1
39 github.com/ipfs/go-ipld-git v0.1.1
40 github.com/ipfs/go-ipld-legacy v0.2.1
41 - github.com/ipfs/go-log v1.0.5
41 github.com/ipfs/go-log/v2 v2.6.0
42 github.com/ipfs/go-metrics-interface v0.3.0
43 github.com/ipfs/go-metrics-prometheus v0.1.0
45 - github.com/ipfs/go-test v0.2.1
44 + github.com/ipfs/go-test v0.2.2
45 github.com/ipfs/go-unixfsnode v1.10.0
46 github.com/ipld/go-car v0.6.2
48 - github.com/ipld/go-car/v2 v2.14.2
49 - github.com/ipld/go-codec-dagpb v1.6.0
47 + github.com/ipld/go-car/v2 v2.14.3
48 + github.com/ipld/go-codec-dagpb v1.7.0
49 github.com/ipld/go-ipld-prime v0.21.0
50 github.com/ipshipyard/p2p-forge v0.4.0
51 github.com/jbenet/go-temp-err-catcher v0.1.0
@@ -62,7 +61,7 @@ require (
61 github.com/libp2p/go-libp2p-record v0.3.1
62 github.com/libp2p/go-libp2p-routing-helpers v0.7.5
63 github.com/libp2p/go-libp2p-testing v0.12.0
65 - github.com/libp2p/go-socket-activation v0.1.0
64 + github.com/libp2p/go-socket-activation v0.1.1
65 github.com/multiformats/go-multiaddr v0.15.0
66 github.com/multiformats/go-multiaddr-dns v0.4.1
67 github.com/multiformats/go-multibase v0.2.0
@@ -87,10 +86,10 @@ require (
86 go.uber.org/fx v1.23.0
87 go.uber.org/multierr v1.11.0
88 go.uber.org/zap v1.27.0
90 - golang.org/x/crypto v0.37.0
91 - golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0
89 + golang.org/x/crypto v0.38.0
90 + golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6
91 golang.org/x/mod v0.24.0
93 - golang.org/x/sync v0.13.0
92 + golang.org/x/sync v0.14.0
93 golang.org/x/sys v0.33.0
94 google.golang.org/protobuf v1.36.6
95 )
@@ -160,6 +159,7 @@ require (
159 github.com/ipfs/go-ipfs-pq v0.0.3 // indirect
160 github.com/ipfs/go-ipfs-redirects-file v0.1.2 // indirect
161 github.com/ipfs/go-ipfs-util v0.0.3 // indirect
162 + github.com/ipfs/go-log v1.0.5 // indirect
163 github.com/ipfs/go-merkledag v0.11.0 // indirect
164 github.com/ipfs/go-peertaskqueue v0.8.2 // indirect
165 github.com/ipfs/go-verifcid v0.0.3 // indirect
@@ -265,11 +265,11 @@ require (
265 go.uber.org/mock v0.5.0 // indirect
266 go.uber.org/zap/exp v0.3.0 // indirect
267 go4.org v0.0.0-20230225012048-214862532bf5 // indirect
268 - golang.org/x/net v0.39.0 // indirect
268 + golang.org/x/net v0.40.0 // indirect
269 golang.org/x/oauth2 v0.25.0 // indirect
270 - golang.org/x/term v0.31.0 // indirect
271 - golang.org/x/text v0.24.0 // indirect
272 - golang.org/x/tools v0.32.0 // indirect
270 + golang.org/x/term v0.32.0 // indirect
271 + golang.org/x/text v0.25.0 // indirect
272 + golang.org/x/tools v0.33.0 // indirect
273 golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
274 gonum.org/v1/gonum v0.16.0 // indirect
275 google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect
@@ -277,5 +277,5 @@ require (
277 google.golang.org/grpc v1.67.1 // indirect
278 gopkg.in/yaml.v2 v2.4.0 // indirect
279 gopkg.in/yaml.v3 v3.0.1 // indirect
280 - lukechampine.com/blake3 v1.4.0 // indirect
280 + lukechampine.com/blake3 v1.4.1 // indirect
281 )
go.sum
+28 -36
@@ -137,7 +137,6 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz
137 github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
138 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
139 github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
140 -github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
140 github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
141 github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
142 github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
@@ -414,8 +413,8 @@ github.com/ipfs/go-ipfs-blockstore v1.3.1 h1:cEI9ci7V0sRNivqaOr0elDsamxXFxJMMMy7
413 github.com/ipfs/go-ipfs-blockstore v1.3.1/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE=
414 github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ=
415 github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk=
417 -github.com/ipfs/go-ipfs-cmds v0.14.1 h1:TA8vBixPwXL3k7VtcbX3r4FQgw2m+jMOWlslUOlM9Rs=
418 -github.com/ipfs/go-ipfs-cmds v0.14.1/go.mod h1:SCYxNUVPeVR05cE8DJ6wyH2+aQ8vPgjxxkxQWOXobzo=
416 +github.com/ipfs/go-ipfs-cmds v0.15.0 h1:nQDgKadrzyiFyYoZMARMIoVoSwe3gGTAfGvrWLeAQbQ=
417 +github.com/ipfs/go-ipfs-cmds v0.15.0/go.mod h1:VABf/mv/wqvYX6hLG6Z+40eNAEw3FQO0bSm370Or3Wk=
418 github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
419 github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1IeRQ=
420 github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
@@ -437,17 +436,15 @@ github.com/ipfs/go-ipfs-util v0.0.3 h1:2RFdGez6bu2ZlZdI+rWfIdbQb1KudQp3VGwPtdNCm
436 github.com/ipfs/go-ipfs-util v0.0.3/go.mod h1:LHzG1a0Ig4G+iZ26UUOMjHd+lfM84LZCrn17xAKWBvs=
437 github.com/ipfs/go-ipld-cbor v0.2.0 h1:VHIW3HVIjcMd8m4ZLZbrYpwjzqlVUfjLM7oK4T5/YF0=
438 github.com/ipfs/go-ipld-cbor v0.2.0/go.mod h1:Cp8T7w1NKcu4AQJLqK0tWpd1nkgTxEVB5C6kVpLW6/0=
440 -github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U=
441 -github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg=
439 +github.com/ipfs/go-ipld-format v0.6.1 h1:lQLmBM/HHbrXvjIkrydRXkn+gc0DE5xO5fqelsCKYOQ=
440 +github.com/ipfs/go-ipld-format v0.6.1/go.mod h1:8TOH1Hj+LFyqM2PjSqI2/ZnyO0KlfhHbJLkbxFa61hs=
441 github.com/ipfs/go-ipld-git v0.1.1 h1:TWGnZjS0htmEmlMFEkA3ogrNCqWjIxwr16x1OsdhG+Y=
442 github.com/ipfs/go-ipld-git v0.1.1/go.mod h1:+VyMqF5lMcJh4rwEppV0e6g4nCCHXThLYYDpKUkJubI=
443 github.com/ipfs/go-ipld-legacy v0.2.1 h1:mDFtrBpmU7b//LzLSypVrXsD8QxkEWxu5qVxN99/+tk=
444 github.com/ipfs/go-ipld-legacy v0.2.1/go.mod h1:782MOUghNzMO2DER0FlBR94mllfdCJCkTtDtPM51otM=
445 github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM=
447 -github.com/ipfs/go-log v1.0.3/go.mod h1:OsLySYkwIbiSUR/yBTdv1qPtcE4FW3WPWk/ewz9Ru+A=
446 github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8=
447 github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo=
450 -github.com/ipfs/go-log/v2 v2.0.3/go.mod h1:O7P1lJt27vWHhOwQmcFEvlmo49ry2VY2+JfBWFaa9+0=
448 github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Axpmri6g=
449 github.com/ipfs/go-log/v2 v2.6.0 h1:2Nu1KKQQ2ayonKp4MPo6pXCjqw1ULc9iohRqWV5EYqg=
450 github.com/ipfs/go-log/v2 v2.6.0/go.mod h1:p+Efr3qaY5YXpx9TX7MoLCSEZX5boSWj9wh86P5HJa8=
@@ -459,18 +456,18 @@ github.com/ipfs/go-metrics-prometheus v0.1.0 h1:bApWOHkrH3VTBHzTHrZSfq4n4weOZDzZ
456 github.com/ipfs/go-metrics-prometheus v0.1.0/go.mod h1:2GtL525C/4yxtvSXpRJ4dnE45mCX9AS0XRa03vHx7G0=
457 github.com/ipfs/go-peertaskqueue v0.8.2 h1:PaHFRaVFdxQk1Qo3OKiHPYjmmusQy7gKQUaL8JDszAU=
458 github.com/ipfs/go-peertaskqueue v0.8.2/go.mod h1:L6QPvou0346c2qPJNiJa6BvOibxDfaiPlqHInmzg0FA=
462 -github.com/ipfs/go-test v0.2.1 h1:/D/a8xZ2JzkYqcVcV/7HYlCnc7bv/pKHQiX5TdClkPE=
463 -github.com/ipfs/go-test v0.2.1/go.mod h1:dzu+KB9cmWjuJnXFDYJwC25T3j1GcN57byN+ixmK39M=
459 +github.com/ipfs/go-test v0.2.2 h1:1yjYyfbdt1w93lVzde6JZ2einh3DIV40at4rVoyEcE8=
460 +github.com/ipfs/go-test v0.2.2/go.mod h1:cmLisgVwkdRCnKu/CFZOk2DdhOcwghr5GsHeqwexoRA=
461 github.com/ipfs/go-unixfsnode v1.10.0 h1:cZPUUcYjXw2kMOgx4THw2uouw/8TBpmzZpWtPINdLvk=
462 github.com/ipfs/go-unixfsnode v1.10.0/go.mod h1:hVbWqN38WOk7FHao2y0mQAwUHDq58m7plGd+W6GSq2M=
463 github.com/ipfs/go-verifcid v0.0.3 h1:gmRKccqhWDocCRkC+a59g5QW7uJw5bpX9HWBevXa0zs=
464 github.com/ipfs/go-verifcid v0.0.3/go.mod h1:gcCtGniVzelKrbk9ooUSX/pM3xlH73fZZJDzQJRvOUw=
465 github.com/ipld/go-car v0.6.2 h1:Hlnl3Awgnq8icK+ze3iRghk805lu8YNq3wlREDTF2qc=
466 github.com/ipld/go-car v0.6.2/go.mod h1:oEGXdwp6bmxJCZ+rARSkDliTeYnVzv3++eXajZ+Bmr8=
470 -github.com/ipld/go-car/v2 v2.14.2 h1:9ERr7KXpCC7If0rChZLhYDlyr6Bes6yRKPJnCO3hdHY=
471 -github.com/ipld/go-car/v2 v2.14.2/go.mod h1:0iPB/825lTZLU2zPK5bVTk/R3V2612E1VI279OGSXWA=
472 -github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc=
473 -github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s=
467 +github.com/ipld/go-car/v2 v2.14.3 h1:1Mhl82/ny8MVP+w1M4LXbj4j99oK3gnuZG2GmG1IhC8=
468 +github.com/ipld/go-car/v2 v2.14.3/go.mod h1:/vpSvPngOX8UnvmdFJ3o/mDgXa9LuyXsn7wxOzHDYQE=
469 +github.com/ipld/go-codec-dagpb v1.7.0 h1:hpuvQjCSVSLnTnHXn+QAMR0mLmb1gA6wl10LExo2Ts0=
470 +github.com/ipld/go-codec-dagpb v1.7.0/go.mod h1:rD3Zg+zub9ZnxcLwfol/OTQRVjaLzXypgy4UqHQvilM=
471 github.com/ipld/go-ipld-prime v0.11.0/go.mod h1:+WIAkokurHmZ/KwzDOMUuoeJgaRQktHtEaLglS3ZeV8=
472 github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E=
473 github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ=
@@ -583,8 +580,8 @@ github.com/libp2p/go-openssl v0.0.3/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO
580 github.com/libp2p/go-openssl v0.0.4/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc=
581 github.com/libp2p/go-reuseport v0.4.0 h1:nR5KU7hD0WxXCJbmw7r2rhRYruNRl2koHw8fQscQm2s=
582 github.com/libp2p/go-reuseport v0.4.0/go.mod h1:ZtI03j/wO5hZVDFo2jKywN6bYKWLOy8Se6DrI2E1cLU=
586 -github.com/libp2p/go-socket-activation v0.1.0 h1:OImQPhtbGlCNaF/KSTl6pBBy+chA5eBt5i9uMJNtEdY=
587 -github.com/libp2p/go-socket-activation v0.1.0/go.mod h1:gzda2dNkMG5Ti2OfWNNwW0FDIbj0g/aJJU320FcLfhk=
583 +github.com/libp2p/go-socket-activation v0.1.1 h1:wkLBj6RqKffjt7BI794ewoSt241UV52NKYvIbpzhn4Q=
584 +github.com/libp2p/go-socket-activation v0.1.1/go.mod h1:NBfVUPXTRL/FU6UmSOM+1O7/vJkpS523sQiriw0Qln8=
585 github.com/libp2p/go-yamux/v5 v5.0.0 h1:2djUh96d3Jiac/JpGkKs4TO49YhsfLopAoryfPmf+Po=
586 github.com/libp2p/go-yamux/v5 v5.0.0/go.mod h1:en+3cdX51U0ZslwRdRLrvQsdayFt3TSUKvBGErzpWbU=
587 github.com/libp2p/zeroconf/v2 v2.2.0 h1:Cup06Jv6u81HLhIj1KasuNM/RHHrJ8T7wOTS4+Tv53Q=
@@ -653,7 +650,6 @@ github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a
650 github.com/multiformats/go-multiaddr v0.1.0/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44=
651 github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo=
652 github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4=
656 -github.com/multiformats/go-multiaddr v0.4.0/go.mod h1:YcpyLH8ZPudLxQlemYBPhSm0/oCXAT8Z4mzFpyoPyRc=
653 github.com/multiformats/go-multiaddr v0.15.0 h1:zB/HeaI/apcZiTDwhY5YqMvNVl/oQYvs3XySU+qeAVo=
654 github.com/multiformats/go-multiaddr v0.15.0/go.mod h1:JSVUmXDjsVFiW7RjIFMP7+Ev+h1DTbiJgVeTV/tcmP0=
655 github.com/multiformats/go-multiaddr-dns v0.4.1 h1:whi/uCLbDS3mSEUMb1MsoT4uzUeZB0N32yzufqS0i5M=
@@ -712,7 +708,6 @@ github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/
708 github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE7dzrbT927iTk=
709 github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
710 github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
715 -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
711 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
712 github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
713 github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8=
@@ -1014,7 +1009,6 @@ go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt
1009 go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
1010 go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
1011 go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
1017 -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
1012 go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
1013 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
1014 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
@@ -1027,13 +1021,11 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
1021 go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
1022 go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU=
1023 go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM=
1030 -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
1024 go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
1025 go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
1026 go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
1027 go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
1028 go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
1036 -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
1029 go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
1030 go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
1031 go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
@@ -1062,8 +1054,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
1054 golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
1055 golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
1056 golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
1065 -golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
1066 -golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
1057 +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
1058 +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
1059 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
1060 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
1061 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -1074,8 +1066,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
1066 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
1067 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
1068 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
1077 -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
1078 -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
1069 +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
1070 +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
1071 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
1072 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
1073 golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -1152,8 +1144,8 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
1144 golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
1145 golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
1146 golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
1155 -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
1156 -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
1147 +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
1148 +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
1149 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
1150 golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
1151 golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1180,8 +1172,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ
1172 golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1173 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1174 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1183 -golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
1184 -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
1175 +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
1176 +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
1177 golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1178 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1179 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1262,8 +1254,8 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
1254 golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
1255 golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
1256 golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
1265 -golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
1266 -golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
1257 +golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
1258 +golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
1259 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
1260 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
1261 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1275,8 +1267,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
1267 golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
1268 golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1269 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
1278 -golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
1279 -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
1270 +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
1271 +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
1272 golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1273 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1274 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1336,8 +1328,8 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f
1328 golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
1329 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
1330 golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
1339 -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
1340 -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
1331 +golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
1332 +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
1333 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1334 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1335 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1477,8 +1469,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
1469 honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
1470 honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
1471 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
1480 -lukechampine.com/blake3 v1.4.0 h1:xDbKOZCVbnZsfzM6mHSYcGRHZ3YrLDzqz8XnV4uaD5w=
1481 -lukechampine.com/blake3 v1.4.0/go.mod h1:MQJNQCTnR+kwOP/JEZSxj3MaQjp80FOFSNMMHXcSeX0=
1472 +lukechampine.com/blake3 v1.4.1 h1:I3Smz7gso8w4/TunLKec6K2fn+kyKtDxr/xcQEN84Wg=
1473 +lukechampine.com/blake3 v1.4.1/go.mod h1:QFosUxmjB8mnrWFSNwKmvxHpfY72bmD2tQ0kBMM3kwo=
1474 pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
1475 pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
1476 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
p2p/p2p.go
+1 -1
@@ -1,7 +1,7 @@
1 package p2p
2
3 import (
4 - logging "github.com/ipfs/go-log"
4 + logging "github.com/ipfs/go-log/v2"
5 p2phost "github.com/libp2p/go-libp2p/core/host"
6 "github.com/libp2p/go-libp2p/core/peer"
7 pstore "github.com/libp2p/go-libp2p/core/peerstore"
plugin/loader/loader.go
+1 -1
@@ -18,7 +18,7 @@ import (
18 plugin "github.com/ipfs/kubo/plugin"
19 fsrepo "github.com/ipfs/kubo/repo/fsrepo"
20
21 - logging "github.com/ipfs/go-log"
21 + logging "github.com/ipfs/go-log/v2"
22 opentracing "github.com/opentracing/opentracing-go"
23 )
24
plugin/plugins/fxtest/fxtest.go
+1 -1
@@ -3,7 +3,7 @@ package fxtest
3 import (
4 "os"
5
6 - logging "github.com/ipfs/go-log"
6 + logging "github.com/ipfs/go-log/v2"
7 "github.com/ipfs/kubo/core"
8 "github.com/ipfs/kubo/plugin"
9 "go.uber.org/fx"
plugin/plugins/peerlog/peerlog.go
+1 -1
@@ -5,7 +5,7 @@ import (
5 "sync/atomic"
6 "time"
7
8 - logging "github.com/ipfs/go-log"
8 + logging "github.com/ipfs/go-log/v2"
9 core "github.com/ipfs/kubo/core"
10 plugin "github.com/ipfs/kubo/plugin"
11 event "github.com/libp2p/go-libp2p/core/event"
profile/profile.go
+1 -1
@@ -14,7 +14,7 @@ import (
14 "sync"
15 "time"
16
17 - "github.com/ipfs/go-log"
17 + "github.com/ipfs/go-log/v2"
18 version "github.com/ipfs/kubo"
19 )
20
repo/fsrepo/fsrepo.go
+1 -1
@@ -22,7 +22,7 @@ import (
22 ds "github.com/ipfs/go-datastore"
23 measure "github.com/ipfs/go-ds-measure"
24 lockfile "github.com/ipfs/go-fs-lock"
25 - logging "github.com/ipfs/go-log"
25 + logging "github.com/ipfs/go-log/v2"
26 config "github.com/ipfs/kubo/config"
27 serialize "github.com/ipfs/kubo/config/serialize"
28 "github.com/ipfs/kubo/misc/fsutil"
routing/delegated.go
+1 -1
@@ -10,7 +10,7 @@ import (
10 drclient "github.com/ipfs/boxo/routing/http/client"
11 "github.com/ipfs/boxo/routing/http/contentrouter"
12 "github.com/ipfs/go-datastore"
13 - logging "github.com/ipfs/go-log"
13 + logging "github.com/ipfs/go-log/v2"
14 version "github.com/ipfs/kubo"
15 "github.com/ipfs/kubo/config"
16 dht "github.com/libp2p/go-libp2p-kad-dht"
test/cli/gateway_test.go
+46 -24
@@ -1,6 +1,7 @@
1 package cli
2
3 import (
4 + "bufio"
5 "context"
6 "encoding/json"
7 "fmt"
@@ -11,6 +12,7 @@ import (
12 "strconv"
13 "strings"
14 "testing"
15 + "time"
16
17 "github.com/ipfs/kubo/config"
18 "github.com/ipfs/kubo/test/cli/harness"
@@ -238,30 +240,6 @@ func TestGateway(t *testing.T) {
240 assert.Contains(t, []int{302, 301}, resp.StatusCode)
241 })
242
241 - t.Run("GET /logs returns logs", func(t *testing.T) {
242 - t.Parallel()
243 - apiClient := node.APIClient()
244 - reqURL := apiClient.BuildURL("/logs")
245 -
246 - ctx, cancel := context.WithCancel(context.Background())
247 - defer cancel()
248 -
249 - req, err := http.NewRequestWithContext(ctx, http.MethodGet, reqURL, nil)
250 - require.NoError(t, err)
251 -
252 - resp, err := apiClient.Client.Do(req)
253 - require.NoError(t, err)
254 - defer resp.Body.Close()
255 -
256 - // read the first line of the output and parse its JSON
257 - dec := json.NewDecoder(resp.Body)
258 - event := struct{ Event string }{}
259 - err = dec.Decode(&event)
260 - require.NoError(t, err)
261 -
262 - assert.Equal(t, "log API client connected", event.Event)
263 - })
264 -
243 t.Run("POST /api/v0/version succeeds", func(t *testing.T) {
244 t.Parallel()
245 resp := node.APIClient().Post("/api/v0/version", nil)
@@ -558,3 +536,47 @@ func TestGateway(t *testing.T) {
536 })
537 })
538 }
539 +
540 +// TestLogs tests that GET /logs returns log messages. This test is separate
541 +// because it requires setting the server's log level to "info" which may
542 +// change the output expected by other tests.
543 +func TestLogs(t *testing.T) {
544 + h := harness.NewT(t)
545 +
546 + t.Setenv("GOLOG_LOG_LEVEL", "info")
547 +
548 + node := h.NewNode().Init().StartDaemon("--offline")
549 + cid := node.IPFSAddStr("Hello Worlds!")
550 +
551 + peerID, err := peer.ToCid(node.PeerID()).StringOfBase(multibase.Base36)
552 + assert.NoError(t, err)
553 +
554 + client := node.GatewayClient()
555 + client.TemplateData = map[string]string{
556 + "CID": cid,
557 + "PeerID": peerID,
558 + }
559 +
560 + apiClient := node.APIClient()
561 + reqURL := apiClient.BuildURL("/logs")
562 +
563 + ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
564 + defer cancel()
565 +
566 + req, err := http.NewRequestWithContext(ctx, http.MethodGet, reqURL, nil)
567 + require.NoError(t, err)
568 +
569 + resp, err := apiClient.Client.Do(req)
570 + require.NoError(t, err)
571 + defer resp.Body.Close()
572 +
573 + var found bool
574 + scanner := bufio.NewScanner(resp.Body)
575 + for scanner.Scan() {
576 + if strings.Contains(scanner.Text(), "log API client connected") {
577 + found = true
578 + break
579 + }
580 + }
581 + assert.True(t, found)
582 +}
test/dependencies/go.mod
+11 -11
@@ -9,7 +9,7 @@ require (
9 github.com/golangci/golangci-lint v1.60.2
10 github.com/ipfs/go-cidutil v0.1.0
11 github.com/ipfs/go-log/v2 v2.6.0
12 - github.com/ipfs/go-test v0.2.1
12 + github.com/ipfs/go-test v0.2.2
13 github.com/ipfs/hang-fds v0.1.0
14 github.com/ipfs/iptb v1.4.1
15 github.com/ipfs/iptb-plugins v0.5.1
@@ -134,11 +134,11 @@ require (
134 github.com/ipfs/go-block-format v0.2.1 // indirect
135 github.com/ipfs/go-cid v0.5.0 // indirect
136 github.com/ipfs/go-datastore v0.8.2 // indirect
137 - github.com/ipfs/go-ipld-format v0.6.0 // indirect
137 + github.com/ipfs/go-ipld-format v0.6.1 // indirect
138 github.com/ipfs/go-ipld-legacy v0.2.1 // indirect
139 github.com/ipfs/go-metrics-interface v0.3.0 // indirect
140 github.com/ipfs/kubo v0.31.0 // indirect
141 - github.com/ipld/go-codec-dagpb v1.6.0 // indirect
141 + github.com/ipld/go-codec-dagpb v1.7.0 // indirect
142 github.com/ipld/go-ipld-prime v0.21.0 // indirect
143 github.com/ipshipyard/p2p-forge v0.4.0 // indirect
144 github.com/jackpal/go-nat-pmp v1.0.2 // indirect
@@ -310,23 +310,23 @@ require (
310 go.uber.org/multierr v1.11.0 // indirect
311 go.uber.org/zap v1.27.0 // indirect
312 go.uber.org/zap/exp v0.3.0 // indirect
313 - golang.org/x/crypto v0.37.0 // indirect
314 - golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
313 + golang.org/x/crypto v0.38.0 // indirect
314 + golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
315 golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
316 golang.org/x/mod v0.24.0 // indirect
317 - golang.org/x/net v0.39.0 // indirect
318 - golang.org/x/sync v0.13.0 // indirect
317 + golang.org/x/net v0.40.0 // indirect
318 + golang.org/x/sync v0.14.0 // indirect
319 golang.org/x/sys v0.33.0 // indirect
320 - golang.org/x/term v0.31.0 // indirect
321 - golang.org/x/text v0.24.0 // indirect
322 - golang.org/x/tools v0.32.0 // indirect
320 + golang.org/x/term v0.32.0 // indirect
321 + golang.org/x/text v0.25.0 // indirect
322 + golang.org/x/tools v0.33.0 // indirect
323 gonum.org/v1/gonum v0.16.0 // indirect
324 google.golang.org/protobuf v1.36.6 // indirect
325 gopkg.in/ini.v1 v1.67.0 // indirect
326 gopkg.in/yaml.v2 v2.4.0 // indirect
327 gopkg.in/yaml.v3 v3.0.1 // indirect
328 honnef.co/go/tools v0.5.1 // indirect
329 - lukechampine.com/blake3 v1.4.0 // indirect
329 + lukechampine.com/blake3 v1.4.1 // indirect
330 mvdan.cc/gofumpt v0.7.0 // indirect
331 mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f // indirect
332 )
test/dependencies/go.sum
+22 -22
@@ -348,8 +348,8 @@ github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1I
348 github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
349 github.com/ipfs/go-ipfs-pq v0.0.3 h1:YpoHVJB+jzK15mr/xsWC574tyDLkezVrDNeaalQBsTE=
350 github.com/ipfs/go-ipfs-pq v0.0.3/go.mod h1:btNw5hsHBpRcSSgZtiNm/SLj5gYIZ18AKtv3kERkRb4=
351 -github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U=
352 -github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg=
351 +github.com/ipfs/go-ipld-format v0.6.1 h1:lQLmBM/HHbrXvjIkrydRXkn+gc0DE5xO5fqelsCKYOQ=
352 +github.com/ipfs/go-ipld-format v0.6.1/go.mod h1:8TOH1Hj+LFyqM2PjSqI2/ZnyO0KlfhHbJLkbxFa61hs=
353 github.com/ipfs/go-ipld-legacy v0.2.1 h1:mDFtrBpmU7b//LzLSypVrXsD8QxkEWxu5qVxN99/+tk=
354 github.com/ipfs/go-ipld-legacy v0.2.1/go.mod h1:782MOUghNzMO2DER0FlBR94mllfdCJCkTtDtPM51otM=
355 github.com/ipfs/go-log/v2 v2.6.0 h1:2Nu1KKQQ2ayonKp4MPo6pXCjqw1ULc9iohRqWV5EYqg=
@@ -358,16 +358,16 @@ github.com/ipfs/go-metrics-interface v0.3.0 h1:YwG7/Cy4R94mYDUuwsBfeziJCVm9pBMJ6
358 github.com/ipfs/go-metrics-interface v0.3.0/go.mod h1:OxxQjZDGocXVdyTPocns6cOLwHieqej/jos7H4POwoY=
359 github.com/ipfs/go-peertaskqueue v0.8.2 h1:PaHFRaVFdxQk1Qo3OKiHPYjmmusQy7gKQUaL8JDszAU=
360 github.com/ipfs/go-peertaskqueue v0.8.2/go.mod h1:L6QPvou0346c2qPJNiJa6BvOibxDfaiPlqHInmzg0FA=
361 -github.com/ipfs/go-test v0.2.1 h1:/D/a8xZ2JzkYqcVcV/7HYlCnc7bv/pKHQiX5TdClkPE=
362 -github.com/ipfs/go-test v0.2.1/go.mod h1:dzu+KB9cmWjuJnXFDYJwC25T3j1GcN57byN+ixmK39M=
361 +github.com/ipfs/go-test v0.2.2 h1:1yjYyfbdt1w93lVzde6JZ2einh3DIV40at4rVoyEcE8=
362 +github.com/ipfs/go-test v0.2.2/go.mod h1:cmLisgVwkdRCnKu/CFZOk2DdhOcwghr5GsHeqwexoRA=
363 github.com/ipfs/hang-fds v0.1.0 h1:deBiFlWHsVGzJ0ZMaqscEqRM1r2O1rFZ59UiQXb1Xko=
364 github.com/ipfs/hang-fds v0.1.0/go.mod h1:29VLWOn3ftAgNNgXg/al7b11UzuQ+w7AwtCGcTaWkbM=
365 github.com/ipfs/iptb v1.4.1 h1:faXd3TKGPswbHyZecqqg6UfbES7RDjTKQb+6VFPKDUo=
366 github.com/ipfs/iptb v1.4.1/go.mod h1:nTsBMtVYFEu0FjC5DgrErnABm3OG9ruXkFXGJoTV5OA=
367 github.com/ipfs/iptb-plugins v0.5.1 h1:11PNTNEt2+SFxjUcO5qpyCTXqDj6T8Tx9pU/G4ytCIQ=
368 github.com/ipfs/iptb-plugins v0.5.1/go.mod h1:mscJAjRnu4g16QK6oUBn9RGpcp8ueJmLfmPxIG/At78=
369 -github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc=
370 -github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s=
369 +github.com/ipld/go-codec-dagpb v1.7.0 h1:hpuvQjCSVSLnTnHXn+QAMR0mLmb1gA6wl10LExo2Ts0=
370 +github.com/ipld/go-codec-dagpb v1.7.0/go.mod h1:rD3Zg+zub9ZnxcLwfol/OTQRVjaLzXypgy4UqHQvilM=
371 github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E=
372 github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ=
373 github.com/ipshipyard/p2p-forge v0.4.0 h1:A40PW027nCZn0d/pw5ufMoxnAo9wZwrG+iuz18A8P5I=
@@ -881,11 +881,11 @@ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf
881 golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
882 golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
883 golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
884 -golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
885 -golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
884 +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
885 +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
886 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
887 -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
888 -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
887 +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
888 +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
889 golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
890 golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
891 golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f h1:phY1HzDcf18Aq9A8KkmRtY9WvOFIxN8wgfvy6Zm1DV8=
@@ -943,8 +943,8 @@ golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
943 golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
944 golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
945 golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
946 -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
947 -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
946 +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
947 +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
948 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
949 golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
950 golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -964,8 +964,8 @@ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
964 golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
965 golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
966 golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
967 -golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
968 -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
967 +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
968 +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
969 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
970 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
971 golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1021,8 +1021,8 @@ golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
1021 golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
1022 golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
1023 golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
1024 -golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
1025 -golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
1024 +golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
1025 +golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
1026 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
1027 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
1028 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
@@ -1037,8 +1037,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1037 golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1038 golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1039 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
1040 -golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
1041 -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
1040 +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
1041 +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
1042 golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1043 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1044 golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
@@ -1076,8 +1076,8 @@ golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8
1076 golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
1077 golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
1078 golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
1079 -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
1080 -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
1079 +golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
1080 +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
1081 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1082 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1083 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1125,8 +1125,8 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh
1125 honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
1126 honnef.co/go/tools v0.5.1 h1:4bH5o3b5ZULQ4UrBmP+63W9r7qIkqJClEA9ko5YKx+I=
1127 honnef.co/go/tools v0.5.1/go.mod h1:e9irvo83WDG9/irijV44wr3tbhcFeRnfpVlRqVwpzMs=
1128 -lukechampine.com/blake3 v1.4.0 h1:xDbKOZCVbnZsfzM6mHSYcGRHZ3YrLDzqz8XnV4uaD5w=
1129 -lukechampine.com/blake3 v1.4.0/go.mod h1:MQJNQCTnR+kwOP/JEZSxj3MaQjp80FOFSNMMHXcSeX0=
1128 +lukechampine.com/blake3 v1.4.1 h1:I3Smz7gso8w4/TunLKec6K2fn+kyKtDxr/xcQEN84Wg=
1129 +lukechampine.com/blake3 v1.4.1/go.mod h1:QFosUxmjB8mnrWFSNwKmvxHpfY72bmD2tQ0kBMM3kwo=
1130 mvdan.cc/gofumpt v0.7.0 h1:bg91ttqXmi9y2xawvkuMXyvAA/1ZGJqYAEGjXuP0JXU=
1131 mvdan.cc/gofumpt v0.7.0/go.mod h1:txVFJy/Sc/mvaycET54pV8SW8gWxTlUuGHVEcncmNUo=
1132 mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f h1:lMpcwN6GxNbWtbpI1+xzFLSW8XzX0u72NttUGVFjO3U=
test/integration/addcat_test.go
+1 -1
@@ -13,7 +13,7 @@ import (
13
14 "github.com/ipfs/boxo/bootstrap"
15 "github.com/ipfs/boxo/files"
16 - logging "github.com/ipfs/go-log"
16 + logging "github.com/ipfs/go-log/v2"
17 "github.com/ipfs/go-test/random"
18 "github.com/ipfs/kubo/core"
19 "github.com/ipfs/kubo/core/coreapi"