Skip to content

Commit b824e50

Browse files
Jorropoaschmahmann
authored andcommitted
chore: migrate to boxo
This migrates everything except the `go-car` librairy: ipfs/boxo#218 (comment) I didn't migrated everything in the previous release because all the boxo code wasn't compatible with the go-ipld-prime one due to a an in flight (/ aftermath) revert of github.com/ipfs/go-block-format. go-block-format has been unmigrated since slight bellow absolutely everything depends on it that would have required everything to be moved on boxo or everything to optin into using boxo which were all deal breakers for different groups. This worked fine because lotus's codebase could live hapely on the first multirepo setup however boost is now trying to use boxo's code with lotus's (still on multirepo) setup: https://filecoinproject.slack.com/archives/C03AQ3QAUG1/p1685022344779649 The alternative would be for boost to write shim types which just forward calls and return with the different interface definitions. Btw why is that an issue in the first place is because unlike what go's duck typing model suggest interfaces are not transparent golang/go#58112, interfaces are strongly typed but they have implicit narrowing. The issue is if you return an interface from an interface Go does not have a function definition to insert the implicit conversion thus instead the type checker complains you are not returning the right type. Stubbing types were reverted ipfs/boxo#218 (comment) Last time I only migrated `go-bitswap` to `boxo/bitswap` because of the security issues and because we never had the interface return an interface problem (we had concrete wrappers where the implicit conversion took place).
1 parent 6e7dc95 commit b824e50

File tree

32 files changed

+214
-230
lines changed

32 files changed

+214
-230
lines changed

blockstore/badger/blockstore_test_suite.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99
"strings"
1010
"testing"
1111

12+
u "github.com/ipfs/boxo/util"
1213
blocks "github.com/ipfs/go-block-format"
1314
"github.com/ipfs/go-cid"
14-
u "github.com/ipfs/go-ipfs-util"
1515
ipld "github.com/ipfs/go-ipld-format"
1616
"github.com/stretchr/testify/require"
1717

blockstore/blockstore.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import (
44
"context"
55
"time"
66

7+
blockstore "github.com/ipfs/boxo/blockstore"
78
"github.com/ipfs/go-cid"
89
ds "github.com/ipfs/go-datastore"
9-
blockstore "github.com/ipfs/go-ipfs-blockstore"
1010
logging "github.com/ipfs/go-log/v2"
1111
)
1212

blockstore/ipfs.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import (
55
"context"
66
"io"
77

8+
iface "github.com/ipfs/boxo/coreiface"
9+
"github.com/ipfs/boxo/coreiface/options"
10+
"github.com/ipfs/boxo/coreiface/path"
811
blocks "github.com/ipfs/go-block-format"
912
"github.com/ipfs/go-cid"
1013
httpapi "github.com/ipfs/go-ipfs-http-client"
11-
iface "github.com/ipfs/interface-go-ipfs-core"
12-
"github.com/ipfs/interface-go-ipfs-core/options"
13-
"github.com/ipfs/interface-go-ipfs-core/path"
1414
"github.com/multiformats/go-multiaddr"
1515
"github.com/multiformats/go-multihash"
1616
"golang.org/x/xerrors"

chain/gen/gen.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ import (
1010
"time"
1111

1212
"github.com/google/uuid"
13-
"github.com/ipfs/go-blockservice"
13+
"github.com/ipfs/boxo/blockservice"
14+
offline "github.com/ipfs/boxo/exchange/offline"
15+
"github.com/ipfs/boxo/ipld/merkledag"
1416
"github.com/ipfs/go-cid"
15-
offline "github.com/ipfs/go-ipfs-exchange-offline"
1617
format "github.com/ipfs/go-ipld-format"
1718
logging "github.com/ipfs/go-log/v2"
18-
"github.com/ipfs/go-merkledag"
1919
"github.com/ipld/go-car"
2020
"golang.org/x/xerrors"
2121

chain/sub/incoming.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import (
88
"time"
99

1010
lru "github.com/hashicorp/golang-lru/v2"
11+
bserv "github.com/ipfs/boxo/blockservice"
1112
blocks "github.com/ipfs/go-block-format"
12-
bserv "github.com/ipfs/go-blockservice"
1313
"github.com/ipfs/go-cid"
1414
logging "github.com/ipfs/go-log/v2"
1515
"github.com/ipni/go-libipni/announce/message"

cli/client_retr.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import (
1010
"strings"
1111
"time"
1212

13-
"github.com/ipfs/go-blockservice"
13+
"github.com/ipfs/boxo/blockservice"
14+
offline "github.com/ipfs/boxo/exchange/offline"
15+
"github.com/ipfs/boxo/ipld/merkledag"
1416
"github.com/ipfs/go-cid"
15-
offline "github.com/ipfs/go-ipfs-exchange-offline"
16-
"github.com/ipfs/go-merkledag"
1717
carv2 "github.com/ipld/go-car/v2"
1818
"github.com/ipld/go-car/v2/blockstore"
1919
"github.com/ipld/go-ipld-prime"

cmd/lotus-shed/export-car.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import (
55
"io"
66
"os"
77

8-
"github.com/ipfs/go-blockservice"
8+
"github.com/ipfs/boxo/blockservice"
9+
offline "github.com/ipfs/boxo/exchange/offline"
10+
"github.com/ipfs/boxo/ipld/merkledag"
911
"github.com/ipfs/go-cid"
10-
offline "github.com/ipfs/go-ipfs-exchange-offline"
1112
format "github.com/ipfs/go-ipld-format"
12-
"github.com/ipfs/go-merkledag"
1313
"github.com/ipld/go-car"
1414
"github.com/urfave/cli/v2"
1515
"golang.org/x/xerrors"

cmd/lotus-shed/export.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ import (
1515
"github.com/dgraph-io/badger/v2"
1616
"github.com/dgraph-io/badger/v2/pb"
1717
"github.com/dustin/go-humanize"
18+
"github.com/ipfs/boxo/blockservice"
19+
offline "github.com/ipfs/boxo/exchange/offline"
20+
"github.com/ipfs/boxo/ipld/merkledag"
1821
block "github.com/ipfs/go-block-format"
19-
"github.com/ipfs/go-blockservice"
2022
"github.com/ipfs/go-cid"
21-
offline "github.com/ipfs/go-ipfs-exchange-offline"
2223
ipld "github.com/ipfs/go-ipld-format"
23-
"github.com/ipfs/go-merkledag"
2424
"github.com/ipld/go-car"
2525
"github.com/multiformats/go-base32"
2626
mh "github.com/multiformats/go-multihash"

cmd/lotus-shed/state-stats.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ import (
1010

1111
"github.com/docker/go-units"
1212
lru "github.com/hashicorp/golang-lru/v2"
13-
"github.com/ipfs/go-blockservice"
13+
"github.com/ipfs/boxo/blockservice"
14+
offline "github.com/ipfs/boxo/exchange/offline"
15+
"github.com/ipfs/boxo/ipld/merkledag"
1416
"github.com/ipfs/go-cid"
15-
offline "github.com/ipfs/go-ipfs-exchange-offline"
1617
format "github.com/ipfs/go-ipld-format"
17-
"github.com/ipfs/go-merkledag"
1818
"github.com/urfave/cli/v2"
1919
"golang.org/x/sync/errgroup"
2020
"golang.org/x/xerrors"

cmd/tvx/stores.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ import (
66
"sync"
77

88
"github.com/fatih/color"
9+
"github.com/ipfs/boxo/blockservice"
10+
exchange "github.com/ipfs/boxo/exchange"
11+
offline "github.com/ipfs/boxo/exchange/offline"
12+
"github.com/ipfs/boxo/ipld/merkledag"
913
blocks "github.com/ipfs/go-block-format"
10-
"github.com/ipfs/go-blockservice"
1114
"github.com/ipfs/go-cid"
1215
ds "github.com/ipfs/go-datastore"
1316
dssync "github.com/ipfs/go-datastore/sync"
14-
exchange "github.com/ipfs/go-ipfs-exchange-interface"
15-
offline "github.com/ipfs/go-ipfs-exchange-offline"
1617
cbor "github.com/ipfs/go-ipld-cbor"
1718
format "github.com/ipfs/go-ipld-format"
18-
"github.com/ipfs/go-merkledag"
1919
"golang.org/x/xerrors"
2020

2121
"github.com/filecoin-project/lotus/api/v0api"

conformance/runner.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import (
1313

1414
"github.com/fatih/color"
1515
"github.com/hashicorp/go-multierror"
16+
"github.com/ipfs/boxo/blockservice"
17+
offline "github.com/ipfs/boxo/exchange/offline"
18+
"github.com/ipfs/boxo/ipld/merkledag"
1619
blocks "github.com/ipfs/go-block-format"
17-
"github.com/ipfs/go-blockservice"
1820
"github.com/ipfs/go-cid"
1921
ds "github.com/ipfs/go-datastore"
20-
offline "github.com/ipfs/go-ipfs-exchange-offline"
2122
format "github.com/ipfs/go-ipld-format"
22-
"github.com/ipfs/go-merkledag"
2323
"github.com/ipld/go-car"
2424

2525
"github.com/filecoin-project/go-state-types/abi"

go.mod

+35-42
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ module github.com/filecoin-project/lotus
22

33
go 1.19
44

5+
replace github.com/filecoin-project/go-fil-markets => github.com/Jorropo/go-fil-markets v1.20.3-0.20230601173540-5e8a152f9466 // https://github.com/filecoin-project/go-fil-markets/pull/792
6+
57
retract v1.14.0 // Accidentally force-pushed tag, use v1.14.1+ instead.
68

79
retract v1.20.2 // Wrongfully cherry picked PR, use v1.20.2+ instead.
810

911
require (
10-
contrib.go.opencensus.io/exporter/prometheus v0.4.0
12+
contrib.go.opencensus.io/exporter/prometheus v0.4.2
1113
github.com/BurntSushi/toml v1.2.1
1214
github.com/DataDog/zstd v1.4.5
1315
github.com/GeertJohan/go.rice v1.0.3
@@ -24,14 +26,14 @@ require (
2426
github.com/docker/go-units v0.5.0
2527
github.com/drand/drand v1.4.9
2628
github.com/drand/kyber v1.1.15
27-
github.com/dustin/go-humanize v1.0.0
29+
github.com/dustin/go-humanize v1.0.1
2830
github.com/elastic/go-elasticsearch/v7 v7.14.0
2931
github.com/elastic/go-sysinfo v1.7.0
3032
github.com/elastic/gosigar v0.14.2
3133
github.com/etclabscore/go-openrpc-reflect v0.0.36
3234
github.com/fatih/color v1.13.0
3335
github.com/filecoin-project/dagstore v0.5.2
34-
github.com/filecoin-project/filecoin-ffi v0.30.4-0.20200910194244-f640612a1a1f
36+
github.com/filecoin-project/filecoin-ffi v0.30.4-0.20220519234331-bfd1f5f9fe38
3537
github.com/filecoin-project/go-address v1.1.0
3638
github.com/filecoin-project/go-amt-ipld/v4 v4.0.0
3739
github.com/filecoin-project/go-bitfield v0.2.4
@@ -77,9 +79,8 @@ require (
7779
github.com/icza/backscanner v0.0.0-20210726202459-ac2ffc679f94
7880
github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab
7981
github.com/ipfs/bbloom v0.0.4
80-
github.com/ipfs/boxo v0.8.0
82+
github.com/ipfs/boxo v0.8.2-0.20230602131956-922a186d9cef
8183
github.com/ipfs/go-block-format v0.1.2
82-
github.com/ipfs/go-blockservice v0.5.0
8384
github.com/ipfs/go-cid v0.4.1
8485
github.com/ipfs/go-cidutil v0.1.0
8586
github.com/ipfs/go-datastore v0.6.0
@@ -88,24 +89,15 @@ require (
8889
github.com/ipfs/go-ds-measure v0.2.0
8990
github.com/ipfs/go-fs-lock v0.0.7
9091
github.com/ipfs/go-graphsync v0.14.6
91-
github.com/ipfs/go-ipfs-blockstore v1.3.0
9292
github.com/ipfs/go-ipfs-blocksutil v0.0.1
93-
github.com/ipfs/go-ipfs-chunker v0.0.5
94-
github.com/ipfs/go-ipfs-ds-help v1.1.0
95-
github.com/ipfs/go-ipfs-exchange-interface v0.2.0
96-
github.com/ipfs/go-ipfs-exchange-offline v0.3.0
97-
github.com/ipfs/go-ipfs-http-client v0.5.0
98-
github.com/ipfs/go-ipfs-routing v0.3.0
99-
github.com/ipfs/go-ipfs-util v0.0.2
93+
github.com/ipfs/go-ipfs-http-client v0.6.1-0.20230531132410-118998577f11
10094
github.com/ipfs/go-ipld-cbor v0.0.6
101-
github.com/ipfs/go-ipld-format v0.4.0
95+
github.com/ipfs/go-ipld-format v0.4.1-0.20230530195241-c3da01c74a06
96+
github.com/ipfs/go-ipld-legacy v0.1.2-0.20230530145437-25f06f837f87
10297
github.com/ipfs/go-log/v2 v2.5.1
103-
github.com/ipfs/go-merkledag v0.10.0
10498
github.com/ipfs/go-metrics-interface v0.0.1
10599
github.com/ipfs/go-metrics-prometheus v0.0.2
106-
github.com/ipfs/go-unixfs v0.4.5
107100
github.com/ipfs/go-unixfsnode v1.6.0
108-
github.com/ipfs/interface-go-ipfs-core v0.11.1
109101
github.com/ipld/go-car v0.5.0
110102
github.com/ipld/go-car/v2 v2.10.0
111103
github.com/ipld/go-codec-dagpb v1.6.0
@@ -119,11 +111,11 @@ require (
119111
github.com/libp2p/go-libp2p v0.27.4
120112
github.com/libp2p/go-libp2p-consensus v0.0.1
121113
github.com/libp2p/go-libp2p-gorpc v0.5.0
122-
github.com/libp2p/go-libp2p-kad-dht v0.21.1
114+
github.com/libp2p/go-libp2p-kad-dht v0.23.0
123115
github.com/libp2p/go-libp2p-pubsub v0.9.3
124116
github.com/libp2p/go-libp2p-raft v0.4.0
125117
github.com/libp2p/go-libp2p-record v0.2.0
126-
github.com/libp2p/go-libp2p-routing-helpers v0.4.0
118+
github.com/libp2p/go-libp2p-routing-helpers v0.6.2
127119
github.com/libp2p/go-maddr-filter v0.1.0
128120
github.com/libp2p/go-msgio v0.3.0
129121
github.com/mattn/go-isatty v0.0.18
@@ -154,18 +146,18 @@ require (
154146
github.com/zyedidia/generic v1.2.1
155147
go.opencensus.io v0.24.0
156148
go.opentelemetry.io/otel v1.14.0
157-
go.opentelemetry.io/otel/bridge/opencensus v0.33.0
158-
go.opentelemetry.io/otel/exporters/jaeger v1.2.0
159-
go.opentelemetry.io/otel/sdk v1.11.1
149+
go.opentelemetry.io/otel/bridge/opencensus v0.37.0
150+
go.opentelemetry.io/otel/exporters/jaeger v1.14.0
151+
go.opentelemetry.io/otel/sdk v1.14.0
160152
go.uber.org/atomic v1.10.0
161153
go.uber.org/fx v1.19.2
162154
go.uber.org/multierr v1.11.0
163155
go.uber.org/zap v1.24.0
164-
golang.org/x/crypto v0.7.0
156+
golang.org/x/crypto v0.9.0
165157
golang.org/x/exp v0.0.0-20230321023759-10a507213a29
166-
golang.org/x/net v0.8.0
158+
golang.org/x/net v0.10.0
167159
golang.org/x/sync v0.1.0
168-
golang.org/x/sys v0.7.0
160+
golang.org/x/sys v0.8.0
169161
golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9
170162
golang.org/x/tools v0.7.0
171163
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2
@@ -236,19 +228,19 @@ require (
236228
github.com/huin/goupnp v1.1.0 // indirect
237229
github.com/iancoleman/orderedmap v0.1.0 // indirect
238230
github.com/ipfs/go-bitfield v1.1.0 // indirect
239-
github.com/ipfs/go-filestore v1.2.0 // indirect
240-
github.com/ipfs/go-ipfs-cmds v0.8.2 // indirect
231+
github.com/ipfs/go-blockservice v0.5.1 // indirect
232+
github.com/ipfs/go-ipfs-blockstore v1.3.0 // indirect
233+
github.com/ipfs/go-ipfs-cmds v0.9.0 // indirect
241234
github.com/ipfs/go-ipfs-delay v0.0.1 // indirect
242-
github.com/ipfs/go-ipfs-files v0.3.0 // indirect
243-
github.com/ipfs/go-ipfs-posinfo v0.0.1 // indirect
235+
github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect
236+
github.com/ipfs/go-ipfs-exchange-interface v0.2.0 // indirect
244237
github.com/ipfs/go-ipfs-pq v0.0.3 // indirect
245-
github.com/ipfs/go-ipld-legacy v0.1.1 // indirect
246-
github.com/ipfs/go-ipns v0.3.0 // indirect
247-
github.com/ipfs/go-libipfs v0.7.0 // indirect
238+
github.com/ipfs/go-ipfs-util v0.0.2 // indirect
248239
github.com/ipfs/go-log v1.0.5 // indirect
249-
github.com/ipfs/go-path v0.3.1 // indirect
240+
github.com/ipfs/go-merkledag v0.10.1-0.20230601163447-eceea556e7d4 // indirect
250241
github.com/ipfs/go-peertaskqueue v0.8.1 // indirect
251242
github.com/ipfs/go-verifcid v0.0.2 // indirect
243+
github.com/ipfs/kubo v0.20.1-0.20230602143531-422d0e4f640c // indirect
252244
github.com/ipld/go-ipld-adl-hamt v0.0.0-20220616142416-9004dbd839e0 // indirect
253245
github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52 // indirect
254246
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
@@ -300,7 +292,7 @@ require (
300292
github.com/prometheus/client_model v0.3.0 // indirect
301293
github.com/prometheus/common v0.42.0 // indirect
302294
github.com/prometheus/procfs v0.9.0 // indirect
303-
github.com/prometheus/statsd_exporter v0.21.0 // indirect
295+
github.com/prometheus/statsd_exporter v0.22.7 // indirect
304296
github.com/quic-go/qpack v0.4.0 // indirect
305297
github.com/quic-go/qtls-go1-19 v0.3.2 // indirect
306298
github.com/quic-go/qtls-go1-20 v0.2.2 // indirect
@@ -324,16 +316,17 @@ require (
324316
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
325317
github.com/zondax/hid v0.9.1 // indirect
326318
github.com/zondax/ledger-go v0.12.1 // indirect
327-
go.opentelemetry.io/otel/metric v0.33.0 // indirect
328-
go.opentelemetry.io/otel/sdk/metric v0.33.0 // indirect
319+
go.opentelemetry.io/otel/metric v0.37.0 // indirect
320+
go.opentelemetry.io/otel/sdk/metric v0.37.0 // indirect
329321
go.opentelemetry.io/otel/trace v1.14.0 // indirect
330-
go.uber.org/dig v1.16.1 // indirect
331-
go4.org v0.0.0-20200411211856-f5505b9728dd // indirect
322+
go.uber.org/dig v1.17.0 // indirect
323+
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
332324
golang.org/x/mod v0.10.0 // indirect
333-
golang.org/x/term v0.6.0 // indirect
334-
golang.org/x/text v0.8.0 // indirect
335-
google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4 // indirect
336-
google.golang.org/grpc v1.45.0 // indirect
325+
golang.org/x/term v0.8.0 // indirect
326+
golang.org/x/text v0.9.0 // indirect
327+
gonum.org/v1/gonum v0.11.0 // indirect
328+
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect
329+
google.golang.org/grpc v1.53.0 // indirect
337330
google.golang.org/protobuf v1.30.0 // indirect
338331
gopkg.in/yaml.v2 v2.4.0 // indirect
339332
gopkg.in/yaml.v3 v3.0.1 // indirect

0 commit comments

Comments
 (0)