diff --git a/.circleci/config.yml b/.circleci/config.yml
index bc7737860..acda4b9e4 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,12 +1,11 @@
version: 2.1
orbs:
- go: gotest/tools@0.0.13
aws-cli: circleci/aws-cli@1.3.2
executors:
golang:
docker:
- - image: circleci/golang:1.16.4
+ - image: cimg/go:1.17.9
resource_class: 2xlarge
ubuntu:
docker:
@@ -25,8 +24,9 @@ executors:
commands:
install-deps:
steps:
- - go/install-ssh
- - go/install: {package: git}
+ - run: |
+ sudo apt update
+ sudo apt install python-is-python3
prepare:
parameters:
linux:
@@ -67,14 +67,14 @@ commands:
- run: |
apt update
apt install -y wget
- wget https://github.com/ipfs/go-ipfs/releases/download/v0.4.22/go-ipfs_v0.4.22_linux-amd64.tar.gz
- wget https://github.com/ipfs/go-ipfs/releases/download/v0.4.22/go-ipfs_v0.4.22_linux-amd64.tar.gz.sha512
- if [ "$(sha512sum go-ipfs_v0.4.22_linux-amd64.tar.gz)" != "$(cat go-ipfs_v0.4.22_linux-amd64.tar.gz.sha512)" ]
+ wget https://github.com/ipfs/go-ipfs/releases/download/v0.12.2/go-ipfs_v0.12.2_linux-amd64.tar.gz
+ wget https://github.com/ipfs/go-ipfs/releases/download/v0.12.2/go-ipfs_v0.12.2_linux-amd64.tar.gz.sha512
+ if [ "$(sha512sum go-ipfs_v0.12.2_linux-amd64.tar.gz)" != "$(cat go-ipfs_v0.12.2_linux-amd64.tar.gz.sha512)" ]
then
echo "ipfs failed checksum check"
exit 1
fi
- tar -xf go-ipfs_v0.4.22_linux-amd64.tar.gz
+ tar -xf go-ipfs_v0.12.2_linux-amd64.tar.gz
mv go-ipfs/ipfs /usr/local/bin/ipfs
chmod +x /usr/local/bin/ipfs
git_fetch_all_tags:
@@ -110,8 +110,12 @@ jobs:
steps:
- install-deps
- prepare
- - go/mod-tidy-check
-
+ - run: go mod tidy -v
+ - run:
+ name: Check git diff
+ command: |
+ git --no-pager diff go.mod go.sum
+ git --no-pager diff --quiet go.mod go.sum
build-all:
executor: golang
steps:
@@ -188,9 +192,6 @@ jobs:
command: make deps lotus
no_output_timeout: 30m
- download-params
- - go/install-gotestsum:
- gobin: $HOME/.local/bin
- version: 0.5.2
- run:
name: go test
environment:
@@ -215,8 +216,6 @@ jobs:
- when:
condition: << parameters.codecov-upload >>
steps:
- - go/install: {package: bash}
- - go/install: {package: curl}
- run:
shell: /bin/bash -eo pipefail
command: |
@@ -255,9 +254,6 @@ jobs:
cd extern/test-vectors
git fetch
git checkout origin/<< parameters.vectors-branch >>
- - go/install-gotestsum:
- gobin: $HOME/.local/bin
- version: 0.5.2
- run:
name: install statediff globally
command: |
@@ -370,8 +366,8 @@ jobs:
- run:
name: Install go
command: |
- curl -O https://dl.google.com/go/go1.16.4.darwin-amd64.pkg && \
- sudo installer -pkg go1.16.4.darwin-amd64.pkg -target /
+ curl -O https://dl.google.com/go/go1.17.9.darwin-amd64.pkg && \
+ sudo installer -pkg go1.17.9.darwin-amd64.pkg -target /
- run:
name: Install pkg-config
command: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config
@@ -512,9 +508,6 @@ jobs:
executor:
type: executor
default: golang
- golangci-lint-version:
- type: string
- default: 1.27.0
concurrency:
type: string
default: '2'
@@ -533,13 +526,10 @@ jobs:
- run:
command: make deps
no_output_timeout: 30m
- - go/install-golangci-lint:
- gobin: $HOME/.local/bin
- version: << parameters.golangci-lint-version >>
- run:
name: Lint
command: |
- $HOME/.local/bin/golangci-lint run -v --timeout 2m \
+ golangci-lint run -v --timeout 2m \
--concurrency << parameters.concurrency >> << parameters.args >>
lint-all:
<<: *lint
@@ -1112,4 +1102,4 @@ workflows:
only:
- master
jobs:
- - publish-packer-snap
\ No newline at end of file
+ - publish-packer-snap
diff --git a/.circleci/template.yml b/.circleci/template.yml
index 82e5bb8f6..2033d2169 100644
--- a/.circleci/template.yml
+++ b/.circleci/template.yml
@@ -1,12 +1,11 @@
version: 2.1
orbs:
- go: gotest/tools@0.0.13
aws-cli: circleci/aws-cli@1.3.2
executors:
golang:
docker:
- - image: circleci/golang:1.16.4
+ - image: cimg/go:1.17.9
resource_class: 2xlarge
ubuntu:
docker:
@@ -25,8 +24,9 @@ executors:
commands:
install-deps:
steps:
- - go/install-ssh
- - go/install: {package: git}
+ - run: |
+ sudo apt update
+ sudo apt install python-is-python3
prepare:
parameters:
linux:
@@ -67,14 +67,14 @@ commands:
- run: |
apt update
apt install -y wget
- wget https://github.com/ipfs/go-ipfs/releases/download/v0.4.22/go-ipfs_v0.4.22_linux-amd64.tar.gz
- wget https://github.com/ipfs/go-ipfs/releases/download/v0.4.22/go-ipfs_v0.4.22_linux-amd64.tar.gz.sha512
- if [ "$(sha512sum go-ipfs_v0.4.22_linux-amd64.tar.gz)" != "$(cat go-ipfs_v0.4.22_linux-amd64.tar.gz.sha512)" ]
+ wget https://github.com/ipfs/go-ipfs/releases/download/v0.12.2/go-ipfs_v0.12.2_linux-amd64.tar.gz
+ wget https://github.com/ipfs/go-ipfs/releases/download/v0.12.2/go-ipfs_v0.12.2_linux-amd64.tar.gz.sha512
+ if [ "$(sha512sum go-ipfs_v0.12.2_linux-amd64.tar.gz)" != "$(cat go-ipfs_v0.12.2_linux-amd64.tar.gz.sha512)" ]
then
echo "ipfs failed checksum check"
exit 1
fi
- tar -xf go-ipfs_v0.4.22_linux-amd64.tar.gz
+ tar -xf go-ipfs_v0.12.2_linux-amd64.tar.gz
mv go-ipfs/ipfs /usr/local/bin/ipfs
chmod +x /usr/local/bin/ipfs
git_fetch_all_tags:
@@ -110,8 +110,12 @@ jobs:
steps:
- install-deps
- prepare
- - go/mod-tidy-check
-
+ - run: go mod tidy -v
+ - run:
+ name: Check git diff
+ command: |
+ git --no-pager diff go.mod go.sum
+ git --no-pager diff --quiet go.mod go.sum
build-all:
executor: golang
steps:
@@ -188,9 +192,6 @@ jobs:
command: make deps lotus
no_output_timeout: 30m
- download-params
- - go/install-gotestsum:
- gobin: $HOME/.local/bin
- version: 0.5.2
- run:
name: go test
environment:
@@ -215,8 +216,6 @@ jobs:
- when:
condition: << parameters.codecov-upload >>
steps:
- - go/install: {package: bash}
- - go/install: {package: curl}
- run:
shell: /bin/bash -eo pipefail
command: |
@@ -255,9 +254,6 @@ jobs:
cd extern/test-vectors
git fetch
git checkout origin/<< parameters.vectors-branch >>
- - go/install-gotestsum:
- gobin: $HOME/.local/bin
- version: 0.5.2
- run:
name: install statediff globally
command: |
@@ -370,8 +366,8 @@ jobs:
- run:
name: Install go
command: |
- curl -O https://dl.google.com/go/go1.16.4.darwin-amd64.pkg && \
- sudo installer -pkg go1.16.4.darwin-amd64.pkg -target /
+ curl -O https://dl.google.com/go/go1.17.9.darwin-amd64.pkg && \
+ sudo installer -pkg go1.17.9.darwin-amd64.pkg -target /
- run:
name: Install pkg-config
command: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config
@@ -512,9 +508,6 @@ jobs:
executor:
type: executor
default: golang
- golangci-lint-version:
- type: string
- default: 1.27.0
concurrency:
type: string
default: '2'
@@ -533,13 +526,10 @@ jobs:
- run:
command: make deps
no_output_timeout: 30m
- - go/install-golangci-lint:
- gobin: $HOME/.local/bin
- version: << parameters.golangci-lint-version >>
- run:
name: Lint
command: |
- $HOME/.local/bin/golangci-lint run -v --timeout 2m \
+ golangci-lint run -v --timeout 2m \
--concurrency << parameters.concurrency >> << parameters.args >>
lint-all:
<<: *lint
@@ -912,4 +902,4 @@ workflows:
only:
- master
jobs:
- - publish-packer-snap
\ No newline at end of file
+ - publish-packer-snap
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 33725d70d..a86b077b8 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -37,7 +37,7 @@ jobs:
- uses: actions/setup-go@v1
with:
- go-version: '1.16.4'
+ go-version: '1.17.9'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
diff --git a/.golangci.yml b/.golangci.yml
index 87db745e4..f73241217 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -25,7 +25,7 @@ skip-dirs:
issues:
exclude:
- - "func name will be used as test\\.Test.* by other packages, and that stutters; consider calling this"
+ - "by other packages, and that stutters; consider calling this"
- "Potential file inclusion via variable"
- "should have( a package)? comment"
- "Error return value of `logging.SetLogLevel` is not checked"
@@ -37,6 +37,9 @@ issues:
- "string .* has .* occurrences, make it a constant"
- "a blank import should be only in a main or test package, or have a comment justifying it"
- "package comment should be of the form"
+ - "Potential hardcoded credentials"
+ - "Use of weak random number generator"
+ - "xerrors.* is deprecated"
exclude-use-default: false
exclude-rules:
@@ -51,7 +54,7 @@ issues:
- path: build/params_.*\.go
linters:
- golint
-
+
- path: api/apistruct/struct.go
linters:
- golint
diff --git a/Dockerfile.lotus b/Dockerfile.lotus
index 4a7001178..3e35f1c0c 100644
--- a/Dockerfile.lotus
+++ b/Dockerfile.lotus
@@ -1,4 +1,4 @@
-FROM golang:1.16.4 AS builder-deps
+FROM golang:1.17.9-buster AS builder-deps
MAINTAINER Lotus Development Team
RUN apt-get update && apt-get install -y ca-certificates build-essential clang ocl-icd-opencl-dev ocl-icd-libopencl1 jq libhwloc-dev
diff --git a/Makefile b/Makefile
index 12f67ca3e..73e7dda40 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ GOCC?=go
GOVERSION:=$(shell $(GOCC) version | tr ' ' '\n' | grep go1 | sed 's/^go//' | awk -F. '{printf "%d%03d%03d", $$1, $$2, $$3}')
ifeq ($(shell expr $(GOVERSION) \< 1016000), 1)
$(warning Your Golang version is go$(shell expr $(GOVERSION) / 1000000).$(shell expr $(GOVERSION) % 1000000 / 1000).$(shell expr $(GOVERSION) % 1000))
-$(error Update Golang to version to at least 1.16.0)
+$(error Update Golang to version to at least 1.17.9)
endif
# git modules that need to be loaded
@@ -362,4 +362,4 @@ print-%:
@echo $*=$($*)
circleci:
- go generate -x ./.circleci
\ No newline at end of file
+ go generate -x ./.circleci
diff --git a/README.md b/README.md
index 055937398..f4bb6ecc3 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
-
+
@@ -71,10 +71,10 @@ For other distributions you can find the required dependencies [here.](https://d
#### Go
-To build Lotus, you need a working installation of [Go 1.16.4 or higher](https://golang.org/dl/):
+To build Lotus, you need a working installation of [Go 1.17.9 or higher](https://golang.org/dl/):
```bash
-wget -c https://golang.org/dl/go1.16.4.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
+wget -c https://golang.org/dl/go1.17.9.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
```
**TIP:**
diff --git a/api/api_storage.go b/api/api_storage.go
index 0411af537..5785ede1f 100644
--- a/api/api_storage.go
+++ b/api/api_storage.go
@@ -54,6 +54,8 @@ type StorageMiner interface {
ComputeWindowPoSt(ctx context.Context, dlIdx uint64, tsk types.TipSetKey) ([]miner.SubmitWindowedPoStParams, error) //perm:admin
+ ComputeDataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (abi.PieceInfo, error) //perm:admin
+
// Temp api for testing
PledgeSector(context.Context) (abi.SectorID, error) //perm:write
@@ -124,6 +126,7 @@ type StorageMiner interface {
WorkerJobs(context.Context) (map[uuid.UUID][]storiface.WorkerJob, error) //perm:admin
//storiface.WorkerReturn
+ ReturnDataCid(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error //perm:admin retry:true
ReturnAddPiece(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error //perm:admin retry:true
ReturnSealPreCommit1(ctx context.Context, callID storiface.CallID, p1o storage.PreCommit1Out, err *storiface.CallError) error //perm:admin retry:true
ReturnSealPreCommit2(ctx context.Context, callID storiface.CallID, sealed storage.SectorCids, err *storiface.CallError) error //perm:admin retry:true
diff --git a/api/api_worker.go b/api/api_worker.go
index 0c4fb3d14..cd4cde151 100644
--- a/api/api_worker.go
+++ b/api/api_worker.go
@@ -34,6 +34,7 @@ type Worker interface {
Info(context.Context) (storiface.WorkerInfo, error) //perm:admin
// storiface.WorkerCalls
+ DataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) //perm:admin
AddPiece(ctx context.Context, sector storage.SectorRef, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) //perm:admin
SealPreCommit1(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, pieces []abi.PieceInfo) (storiface.CallID, error) //perm:admin
SealPreCommit2(ctx context.Context, sector storage.SectorRef, pc1o storage.PreCommit1Out) (storiface.CallID, error) //perm:admin
diff --git a/api/proxy_gen.go b/api/proxy_gen.go
index b5bc36ade..300e67555 100644
--- a/api/proxy_gen.go
+++ b/api/proxy_gen.go
@@ -641,6 +641,8 @@ type StorageMinerStruct struct {
CheckProvable func(p0 context.Context, p1 abi.RegisteredPoStProof, p2 []storage.SectorRef, p3 bool) (map[abi.SectorNumber]string, error) `perm:"admin"`
+ ComputeDataCid func(p0 context.Context, p1 abi.UnpaddedPieceSize, p2 storage.Data) (abi.PieceInfo, error) `perm:"admin"`
+
ComputeProof func(p0 context.Context, p1 []builtin.ExtendedSectorInfo, p2 abi.PoStRandomness, p3 abi.ChainEpoch, p4 abinetwork.Version) ([]builtin.PoStProof, error) `perm:"read"`
ComputeWindowPoSt func(p0 context.Context, p1 uint64, p2 types.TipSetKey) ([]miner.SubmitWindowedPoStParams, error) `perm:"admin"`
@@ -743,6 +745,8 @@ type StorageMinerStruct struct {
ReturnAddPiece func(p0 context.Context, p1 storiface.CallID, p2 abi.PieceInfo, p3 *storiface.CallError) error `perm:"admin"`
+ ReturnDataCid func(p0 context.Context, p1 storiface.CallID, p2 abi.PieceInfo, p3 *storiface.CallError) error `perm:"admin"`
+
ReturnFetch func(p0 context.Context, p1 storiface.CallID, p2 *storiface.CallError) error `perm:"admin"`
ReturnFinalizeReplicaUpdate func(p0 context.Context, p1 storiface.CallID, p2 *storiface.CallError) error `perm:"admin"`
@@ -894,6 +898,8 @@ type WorkerStruct struct {
Internal struct {
AddPiece func(p0 context.Context, p1 storage.SectorRef, p2 []abi.UnpaddedPieceSize, p3 abi.UnpaddedPieceSize, p4 storage.Data) (storiface.CallID, error) `perm:"admin"`
+ DataCid func(p0 context.Context, p1 abi.UnpaddedPieceSize, p2 storage.Data) (storiface.CallID, error) `perm:"admin"`
+
Enabled func(p0 context.Context) (bool, error) `perm:"admin"`
Fetch func(p0 context.Context, p1 storage.SectorRef, p2 storiface.SectorFileType, p3 storiface.PathType, p4 storiface.AcquireMode) (storiface.CallID, error) `perm:"admin"`
@@ -3861,6 +3867,17 @@ func (s *StorageMinerStub) CheckProvable(p0 context.Context, p1 abi.RegisteredPo
return *new(map[abi.SectorNumber]string), ErrNotSupported
}
+func (s *StorageMinerStruct) ComputeDataCid(p0 context.Context, p1 abi.UnpaddedPieceSize, p2 storage.Data) (abi.PieceInfo, error) {
+ if s.Internal.ComputeDataCid == nil {
+ return *new(abi.PieceInfo), ErrNotSupported
+ }
+ return s.Internal.ComputeDataCid(p0, p1, p2)
+}
+
+func (s *StorageMinerStub) ComputeDataCid(p0 context.Context, p1 abi.UnpaddedPieceSize, p2 storage.Data) (abi.PieceInfo, error) {
+ return *new(abi.PieceInfo), ErrNotSupported
+}
+
func (s *StorageMinerStruct) ComputeProof(p0 context.Context, p1 []builtin.ExtendedSectorInfo, p2 abi.PoStRandomness, p3 abi.ChainEpoch, p4 abinetwork.Version) ([]builtin.PoStProof, error) {
if s.Internal.ComputeProof == nil {
return *new([]builtin.PoStProof), ErrNotSupported
@@ -4422,6 +4439,17 @@ func (s *StorageMinerStub) ReturnAddPiece(p0 context.Context, p1 storiface.CallI
return ErrNotSupported
}
+func (s *StorageMinerStruct) ReturnDataCid(p0 context.Context, p1 storiface.CallID, p2 abi.PieceInfo, p3 *storiface.CallError) error {
+ if s.Internal.ReturnDataCid == nil {
+ return ErrNotSupported
+ }
+ return s.Internal.ReturnDataCid(p0, p1, p2, p3)
+}
+
+func (s *StorageMinerStub) ReturnDataCid(p0 context.Context, p1 storiface.CallID, p2 abi.PieceInfo, p3 *storiface.CallError) error {
+ return ErrNotSupported
+}
+
func (s *StorageMinerStruct) ReturnFetch(p0 context.Context, p1 storiface.CallID, p2 *storiface.CallError) error {
if s.Internal.ReturnFetch == nil {
return ErrNotSupported
@@ -5159,6 +5187,17 @@ func (s *WorkerStub) AddPiece(p0 context.Context, p1 storage.SectorRef, p2 []abi
return *new(storiface.CallID), ErrNotSupported
}
+func (s *WorkerStruct) DataCid(p0 context.Context, p1 abi.UnpaddedPieceSize, p2 storage.Data) (storiface.CallID, error) {
+ if s.Internal.DataCid == nil {
+ return *new(storiface.CallID), ErrNotSupported
+ }
+ return s.Internal.DataCid(p0, p1, p2)
+}
+
+func (s *WorkerStub) DataCid(p0 context.Context, p1 abi.UnpaddedPieceSize, p2 storage.Data) (storiface.CallID, error) {
+ return *new(storiface.CallID), ErrNotSupported
+}
+
func (s *WorkerStruct) Enabled(p0 context.Context) (bool, error) {
if s.Internal.Enabled == nil {
return false, ErrNotSupported
diff --git a/build/builtin-actors/builtin-actors-v7.car b/build/builtin-actors/builtin-actors-v7.car
new file mode 100644
index 000000000..e69de29bb
diff --git a/build/builtin-actors/builtin-actors-v8.car b/build/builtin-actors/builtin-actors-v8.car
new file mode 100644
index 000000000..1193b93b3
Binary files /dev/null and b/build/builtin-actors/builtin-actors-v8.car differ
diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz
index 1eaaf6a84..c27a0fc28 100644
Binary files a/build/openrpc/full.json.gz and b/build/openrpc/full.json.gz differ
diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz
index 7b1191138..952c771ca 100644
Binary files a/build/openrpc/miner.json.gz and b/build/openrpc/miner.json.gz differ
diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz
index 554082fd6..f1372a660 100644
Binary files a/build/openrpc/worker.json.gz and b/build/openrpc/worker.json.gz differ
diff --git a/chain/vm/cbor_gen.go b/chain/vm/cbor_gen.go
new file mode 100644
index 000000000..76d8e9d48
--- /dev/null
+++ b/chain/vm/cbor_gen.go
@@ -0,0 +1,169 @@
+// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT.
+
+package vm
+
+import (
+ "fmt"
+ "io"
+ "math"
+ "sort"
+
+ types "github.com/filecoin-project/lotus/chain/types"
+ cid "github.com/ipfs/go-cid"
+ cbg "github.com/whyrusleeping/cbor-gen"
+ xerrors "golang.org/x/xerrors"
+)
+
+var _ = xerrors.Errorf
+var _ = cid.Undef
+var _ = math.E
+var _ = sort.Sort
+
+var lengthBufFvmExecutionTrace = []byte{132}
+
+func (t *FvmExecutionTrace) MarshalCBOR(w io.Writer) error {
+ if t == nil {
+ _, err := w.Write(cbg.CborNull)
+ return err
+ }
+ if _, err := w.Write(lengthBufFvmExecutionTrace); err != nil {
+ return err
+ }
+
+ scratch := make([]byte, 9)
+
+ // t.Msg (types.Message) (struct)
+ if err := t.Msg.MarshalCBOR(w); err != nil {
+ return err
+ }
+
+ // t.MsgRct (types.MessageReceipt) (struct)
+ if err := t.MsgRct.MarshalCBOR(w); err != nil {
+ return err
+ }
+
+ // t.Error (string) (string)
+ if len(t.Error) > cbg.MaxLength {
+ return xerrors.Errorf("Value in field t.Error was too long")
+ }
+
+ if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len(t.Error))); err != nil {
+ return err
+ }
+ if _, err := io.WriteString(w, string(t.Error)); err != nil {
+ return err
+ }
+
+ // t.Subcalls ([]vm.FvmExecutionTrace) (slice)
+ if len(t.Subcalls) > cbg.MaxLength {
+ return xerrors.Errorf("Slice value in field t.Subcalls was too long")
+ }
+
+ if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajArray, uint64(len(t.Subcalls))); err != nil {
+ return err
+ }
+ for _, v := range t.Subcalls {
+ if err := v.MarshalCBOR(w); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func (t *FvmExecutionTrace) UnmarshalCBOR(r io.Reader) error {
+ *t = FvmExecutionTrace{}
+
+ br := cbg.GetPeeker(r)
+ scratch := make([]byte, 8)
+
+ maj, extra, err := cbg.CborReadHeaderBuf(br, scratch)
+ if err != nil {
+ return err
+ }
+ if maj != cbg.MajArray {
+ return fmt.Errorf("cbor input should be of type array")
+ }
+
+ if extra != 4 {
+ return fmt.Errorf("cbor input had wrong number of fields")
+ }
+
+ // t.Msg (types.Message) (struct)
+
+ {
+
+ b, err := br.ReadByte()
+ if err != nil {
+ return err
+ }
+ if b != cbg.CborNull[0] {
+ if err := br.UnreadByte(); err != nil {
+ return err
+ }
+ t.Msg = new(types.Message)
+ if err := t.Msg.UnmarshalCBOR(br); err != nil {
+ return xerrors.Errorf("unmarshaling t.Msg pointer: %w", err)
+ }
+ }
+
+ }
+ // t.MsgRct (types.MessageReceipt) (struct)
+
+ {
+
+ b, err := br.ReadByte()
+ if err != nil {
+ return err
+ }
+ if b != cbg.CborNull[0] {
+ if err := br.UnreadByte(); err != nil {
+ return err
+ }
+ t.MsgRct = new(types.MessageReceipt)
+ if err := t.MsgRct.UnmarshalCBOR(br); err != nil {
+ return xerrors.Errorf("unmarshaling t.MsgRct pointer: %w", err)
+ }
+ }
+
+ }
+ // t.Error (string) (string)
+
+ {
+ sval, err := cbg.ReadStringBuf(br, scratch)
+ if err != nil {
+ return err
+ }
+
+ t.Error = string(sval)
+ }
+ // t.Subcalls ([]vm.FvmExecutionTrace) (slice)
+
+ maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
+ if err != nil {
+ return err
+ }
+
+ if extra > cbg.MaxLength {
+ return fmt.Errorf("t.Subcalls: array too large (%d)", extra)
+ }
+
+ if maj != cbg.MajArray {
+ return fmt.Errorf("expected cbor array")
+ }
+
+ if extra > 0 {
+ t.Subcalls = make([]FvmExecutionTrace, extra)
+ }
+
+ for i := 0; i < int(extra); i++ {
+
+ var v FvmExecutionTrace
+ if err := v.UnmarshalCBOR(br); err != nil {
+ return err
+ }
+
+ t.Subcalls[i] = v
+ }
+
+ return nil
+}
diff --git a/chain/vm/fvm.go b/chain/vm/fvm.go
index 7c2c340d0..b3190be9d 100644
--- a/chain/vm/fvm.go
+++ b/chain/vm/fvm.go
@@ -8,6 +8,7 @@ import (
"github.com/ipfs/go-cid"
"github.com/filecoin-project/go-address"
+ "github.com/filecoin-project/lotus/chain/actors/aerrors"
"github.com/filecoin-project/lotus/chain/actors/policy"
"github.com/filecoin-project/go-state-types/network"
@@ -46,7 +47,37 @@ type FvmExtern struct {
base cid.Cid
}
-// VerifyConsensusFault is similar to the one in syscalls.go used by the LegacyVM, except it never errors
+// This may eventually become identical to ExecutionTrace, but we can make incremental progress towards that
+type FvmExecutionTrace struct {
+ Msg *types.Message
+ MsgRct *types.MessageReceipt
+ Error string
+
+ Subcalls []FvmExecutionTrace
+}
+
+func (t *FvmExecutionTrace) ToExecutionTrace() types.ExecutionTrace {
+ if t == nil {
+ return types.ExecutionTrace{}
+ }
+
+ ret := types.ExecutionTrace{
+ Msg: t.Msg,
+ MsgRct: t.MsgRct,
+ Error: t.Error,
+ Duration: 0,
+ GasCharges: nil,
+ Subcalls: make([]types.ExecutionTrace, len(t.Subcalls)),
+ }
+
+ for i, v := range t.Subcalls {
+ ret.Subcalls[i] = v.ToExecutionTrace()
+ }
+
+ return ret
+}
+
+// VerifyConsensusFault is similar to the one in syscalls.go used by the Lotus VM, except it never errors
// Errors are logged and "no fault" is returned, which is functionally what go-actors does anyway
func (x *FvmExtern) VerifyConsensusFault(ctx context.Context, a, b, extra []byte) (*ffi_cgo.ConsensusFault, int64) {
totalGas := int64(0)
@@ -249,6 +280,7 @@ func NewFVM(ctx context.Context, opts *VMOpts) (*FVM, error) {
BaseCircSupply: circToReport,
NetworkVersion: opts.NetworkVersion,
StateBase: opts.StateBase,
+ Tracing: EnableDetailedTracing,
}
fvm, err := ffi.CreateFVM(&fvmOpts)
@@ -273,6 +305,22 @@ func (vm *FVM) ApplyMessage(ctx context.Context, cmsg types.ChainMsg) (*ApplyRet
return nil, xerrors.Errorf("applying msg: %w", err)
}
+ var et FvmExecutionTrace
+ if len(ret.ExecTraceBytes) != 0 {
+ if err = et.UnmarshalCBOR(bytes.NewReader(ret.ExecTraceBytes)); err != nil {
+ return nil, xerrors.Errorf("failed to unmarshal exectrace: %w", err)
+ }
+ }
+
+ var aerr aerrors.ActorError
+ if ret.ExitCode != 0 {
+ amsg := ret.FailureInfo
+ if amsg == "" {
+ amsg = "unknown error"
+ }
+ aerr = aerrors.New(exitcode.ExitCode(ret.ExitCode), amsg)
+ }
+
return &ApplyRet{
MessageReceipt: types.MessageReceipt{
Return: ret.Return,
@@ -289,10 +337,8 @@ func (vm *FVM) ApplyMessage(ctx context.Context, cmsg types.ChainMsg) (*ApplyRet
GasRefund: 0,
GasBurned: 0,
},
- // TODO: do these eventually, not consensus critical
- // https://github.com/filecoin-project/ref-fvm/issues/318
- ActorErr: nil,
- ExecutionTrace: types.ExecutionTrace{},
+ ActorErr: aerr,
+ ExecutionTrace: et.ToExecutionTrace(),
Duration: time.Since(start),
}, nil
}
@@ -308,17 +354,30 @@ func (vm *FVM) ApplyImplicitMessage(ctx context.Context, cmsg *types.Message) (*
return nil, xerrors.Errorf("applying msg: %w", err)
}
+ var et FvmExecutionTrace
+ if len(ret.ExecTraceBytes) != 0 {
+ if err = et.UnmarshalCBOR(bytes.NewReader(ret.ExecTraceBytes)); err != nil {
+ return nil, xerrors.Errorf("failed to unmarshal exectrace: %w", err)
+ }
+ }
+
+ var aerr aerrors.ActorError
+ if ret.ExitCode != 0 {
+ amsg := ret.FailureInfo
+ if amsg == "" {
+ amsg = "unknown error"
+ }
+ aerr = aerrors.New(exitcode.ExitCode(ret.ExitCode), amsg)
+ }
+
return &ApplyRet{
MessageReceipt: types.MessageReceipt{
Return: ret.Return,
ExitCode: exitcode.ExitCode(ret.ExitCode),
GasUsed: ret.GasUsed,
},
- GasCosts: nil,
- // TODO: do these eventually, not consensus critical
- // https://github.com/filecoin-project/ref-fvm/issues/318
- ActorErr: nil,
- ExecutionTrace: types.ExecutionTrace{},
+ ActorErr: aerr,
+ ExecutionTrace: et.ToExecutionTrace(),
Duration: time.Since(start),
}, nil
}
diff --git a/chain/vm/runtime.go b/chain/vm/runtime.go
index c27c45371..858c69885 100644
--- a/chain/vm/runtime.go
+++ b/chain/vm/runtime.go
@@ -56,8 +56,8 @@ func (m *Message) ValueReceived() abi.TokenAmount {
return m.msg.Value
}
-// EnableGasTracing, if true, outputs gas tracing in execution traces.
-var EnableGasTracing = os.Getenv("LOTUS_VM_ENABLE_GAS_TRACING_VERY_SLOW") == "1"
+// EnableDetailedTracing, if true, outputs gas tracing in execution traces.
+var EnableDetailedTracing = os.Getenv("LOTUS_VM_ENABLE_GAS_TRACING_VERY_SLOW") == "1"
type Runtime struct {
rt7.Message
@@ -516,7 +516,7 @@ func (rt *Runtime) stateCommit(oldh, newh cid.Cid) aerrors.ActorError {
}
func (rt *Runtime) finilizeGasTracing() {
- if EnableGasTracing {
+ if EnableDetailedTracing {
if rt.lastGasCharge != nil {
rt.lastGasCharge.TimeTaken = time.Since(rt.lastGasChargeTime)
}
@@ -550,7 +550,7 @@ func (rt *Runtime) chargeGasFunc(skip int) func(GasCharge) {
func (rt *Runtime) chargeGasInternal(gas GasCharge, skip int) aerrors.ActorError {
toUse := gas.Total()
- if EnableGasTracing {
+ if EnableDetailedTracing {
var callers [10]uintptr
cout := gruntime.Callers(2+skip, callers[:])
diff --git a/chain/vm/runtime_test.go b/chain/vm/runtime_test.go
index 816835cb9..0c75cb1dd 100644
--- a/chain/vm/runtime_test.go
+++ b/chain/vm/runtime_test.go
@@ -56,14 +56,14 @@ func BenchmarkRuntime_CreateRuntimeChargeGas_TracingDisabled(b *testing.B) {
b.ResetTimer()
- EnableGasTracing = false
- noop := func() bool { return EnableGasTracing }
+ EnableDetailedTracing = false
+ noop := func() bool { return EnableDetailedTracing }
for n := 0; n < b.N; n++ {
// flip the value and access it to make sure
// the compiler doesn't optimize away
- EnableGasTracing = true
+ EnableDetailedTracing = true
_ = noop()
- EnableGasTracing = false
+ EnableDetailedTracing = false
_ = (&Runtime{cst: cst}).chargeGasInternal(gch, 0)
}
}
diff --git a/chain/vm/vm.go b/chain/vm/vm.go
index 7b9d6ba8a..4b3fd2105 100644
--- a/chain/vm/vm.go
+++ b/chain/vm/vm.go
@@ -283,7 +283,7 @@ func (vm *LegacyVM) send(ctx context.Context, msg *types.Message, parent *Runtim
st := vm.cstate
rt := vm.makeRuntime(ctx, msg, parent)
- if EnableGasTracing {
+ if EnableDetailedTracing {
rt.lastGasChargeTime = start
if parent != nil {
rt.lastGasChargeTime = parent.lastGasChargeTime
diff --git a/cmd/lotus-wallet/main.go b/cmd/lotus-wallet/main.go
index 045e55327..8b7c82450 100644
--- a/cmd/lotus-wallet/main.go
+++ b/cmd/lotus-wallet/main.go
@@ -144,7 +144,7 @@ var runCmd = &cli.Command{
Hidden: true,
},
},
- Description: "For setup instructions see 'lotus-wallet --help'",
+ Description: "Needs FULLNODE_API_INFO env-var to be set before running (see lotus-wallet --help for setup instructions)",
Action: func(cctx *cli.Context) error {
log.Info("Starting lotus wallet")
diff --git a/cmd/lotus-worker/main.go b/cmd/lotus-worker/main.go
index 12c5f8dc8..c341f52c2 100644
--- a/cmd/lotus-worker/main.go
+++ b/cmd/lotus-worker/main.go
@@ -313,7 +313,7 @@ var runCmd = &cli.Command{
}
if (workerType == sealtasks.WorkerSealing || cctx.IsSet("addpiece")) && cctx.Bool("addpiece") {
- taskTypes = append(taskTypes, sealtasks.TTAddPiece)
+ taskTypes = append(taskTypes, sealtasks.TTAddPiece, sealtasks.TTDataCid)
}
if (workerType == sealtasks.WorkerSealing || cctx.IsSet("precommit1")) && cctx.Bool("precommit1") {
taskTypes = append(taskTypes, sealtasks.TTPreCommit1)
diff --git a/cmd/lotus-worker/tasks.go b/cmd/lotus-worker/tasks.go
index 52133d09d..880381fd2 100644
--- a/cmd/lotus-worker/tasks.go
+++ b/cmd/lotus-worker/tasks.go
@@ -23,6 +23,7 @@ var tasksCmd = &cli.Command{
var allowSetting = map[sealtasks.TaskType]struct{}{
sealtasks.TTAddPiece: {},
+ sealtasks.TTDataCid: {},
sealtasks.TTPreCommit1: {},
sealtasks.TTPreCommit2: {},
sealtasks.TTCommit2: {},
diff --git a/documentation/en/api-v0-methods-miner.md b/documentation/en/api-v0-methods-miner.md
index 64d09971b..7642efbee 100644
--- a/documentation/en/api-v0-methods-miner.md
+++ b/documentation/en/api-v0-methods-miner.md
@@ -15,6 +15,7 @@
* [Check](#Check)
* [CheckProvable](#CheckProvable)
* [Compute](#Compute)
+ * [ComputeDataCid](#ComputeDataCid)
* [ComputeProof](#ComputeProof)
* [ComputeWindowPoSt](#ComputeWindowPoSt)
* [Create](#Create)
@@ -105,6 +106,7 @@
* [PledgeSector](#PledgeSector)
* [Return](#Return)
* [ReturnAddPiece](#ReturnAddPiece)
+ * [ReturnDataCid](#ReturnDataCid)
* [ReturnFetch](#ReturnFetch)
* [ReturnFinalizeReplicaUpdate](#ReturnFinalizeReplicaUpdate)
* [ReturnFinalizeSector](#ReturnFinalizeSector)
@@ -361,6 +363,29 @@ Response:
## Compute
+### ComputeDataCid
+
+
+Perms: admin
+
+Inputs:
+```json
+[
+ 1024,
+ {}
+]
+```
+
+Response:
+```json
+{
+ "Size": 1032,
+ "PieceCID": {
+ "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
+ }
+}
+```
+
### ComputeProof
@@ -2195,6 +2220,36 @@ Response:
### ReturnAddPiece
+
+
+Perms: admin
+
+Inputs:
+```json
+[
+ {
+ "Sector": {
+ "Miner": 1000,
+ "Number": 9
+ },
+ "ID": "07070707-0707-0707-0707-070707070707"
+ },
+ {
+ "Size": 1032,
+ "PieceCID": {
+ "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
+ }
+ },
+ {
+ "Code": 0,
+ "Message": "string value"
+ }
+]
+```
+
+Response: `{}`
+
+### ReturnDataCid
storiface.WorkerReturn
@@ -4020,6 +4075,88 @@ Response:
"BaseMinMemory": 68719476736
}
},
+ "seal/v0/datacid": {
+ "0": {
+ "MinMemory": 2048,
+ "MaxMemory": 2048,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 2048
+ },
+ "1": {
+ "MinMemory": 8388608,
+ "MaxMemory": 8388608,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 8388608
+ },
+ "2": {
+ "MinMemory": 1073741824,
+ "MaxMemory": 1073741824,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "3": {
+ "MinMemory": 4294967296,
+ "MaxMemory": 4294967296,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "4": {
+ "MinMemory": 8589934592,
+ "MaxMemory": 8589934592,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "5": {
+ "MinMemory": 2048,
+ "MaxMemory": 2048,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 2048
+ },
+ "6": {
+ "MinMemory": 8388608,
+ "MaxMemory": 8388608,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 8388608
+ },
+ "7": {
+ "MinMemory": 1073741824,
+ "MaxMemory": 1073741824,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "8": {
+ "MinMemory": 4294967296,
+ "MaxMemory": 4294967296,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "9": {
+ "MinMemory": 8589934592,
+ "MaxMemory": 8589934592,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ }
+ },
"seal/v0/fetch": {
"0": {
"MinMemory": 1048576,
diff --git a/documentation/en/api-v0-methods-worker.md b/documentation/en/api-v0-methods-worker.md
index 4a09e5301..57a371008 100644
--- a/documentation/en/api-v0-methods-worker.md
+++ b/documentation/en/api-v0-methods-worker.md
@@ -9,6 +9,8 @@
* [Version](#Version)
* [Add](#Add)
* [AddPiece](#AddPiece)
+* [Data](#Data)
+ * [DataCid](#DataCid)
* [Finalize](#Finalize)
* [FinalizeReplicaUpdate](#FinalizeReplicaUpdate)
* [FinalizeSector](#FinalizeSector)
@@ -520,6 +522,88 @@ Response:
"BaseMinMemory": 68719476736
}
},
+ "seal/v0/datacid": {
+ "0": {
+ "MinMemory": 2048,
+ "MaxMemory": 2048,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 2048
+ },
+ "1": {
+ "MinMemory": 8388608,
+ "MaxMemory": 8388608,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 8388608
+ },
+ "2": {
+ "MinMemory": 1073741824,
+ "MaxMemory": 1073741824,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "3": {
+ "MinMemory": 4294967296,
+ "MaxMemory": 4294967296,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "4": {
+ "MinMemory": 8589934592,
+ "MaxMemory": 8589934592,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "5": {
+ "MinMemory": 2048,
+ "MaxMemory": 2048,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 2048
+ },
+ "6": {
+ "MinMemory": 8388608,
+ "MaxMemory": 8388608,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 8388608
+ },
+ "7": {
+ "MinMemory": 1073741824,
+ "MaxMemory": 1073741824,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "8": {
+ "MinMemory": 4294967296,
+ "MaxMemory": 4294967296,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ },
+ "9": {
+ "MinMemory": 8589934592,
+ "MaxMemory": 8589934592,
+ "GPUUtilization": 0,
+ "MaxParallelism": 1,
+ "MaxParallelismGPU": 0,
+ "BaseMinMemory": 1073741824
+ }
+ },
"seal/v0/fetch": {
"0": {
"MinMemory": 1048576,
@@ -1242,7 +1326,6 @@ Response: `131584`
### AddPiece
-storiface.WorkerCalls
Perms: admin
@@ -1276,6 +1359,34 @@ Response:
}
```
+## Data
+
+
+### DataCid
+storiface.WorkerCalls
+
+
+Perms: admin
+
+Inputs:
+```json
+[
+ 1024,
+ {}
+]
+```
+
+Response:
+```json
+{
+ "Sector": {
+ "Miner": 1000,
+ "Number": 9
+ },
+ "ID": "07070707-0707-0707-0707-070707070707"
+}
+```
+
## Finalize
diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md
index 9212d59cf..68d0d45c2 100644
--- a/documentation/en/cli-lotus-worker.md
+++ b/documentation/en/cli-lotus-worker.md
@@ -173,7 +173,7 @@ NAME:
lotus-worker tasks enable - Enable a task type
USAGE:
- lotus-worker tasks enable [command options] [UNS|C2|PC2|PC1|PR2|RU|AP|GSK]
+ lotus-worker tasks enable [command options] [UNS|C2|PC2|PC1|PR2|RU|AP|DC|GSK]
OPTIONS:
--help, -h show help (default: false)
@@ -186,7 +186,7 @@ NAME:
lotus-worker tasks disable - Disable a task type
USAGE:
- lotus-worker tasks disable [command options] [UNS|C2|PC2|PC1|PR2|RU|AP|GSK]
+ lotus-worker tasks disable [command options] [UNS|C2|PC2|PC1|PR2|RU|AP|DC|GSK]
OPTIONS:
--help, -h show help (default: false)
diff --git a/documentation/en/default-lotus-miner-config.toml b/documentation/en/default-lotus-miner-config.toml
index ef2c4f343..1e1b0369d 100644
--- a/documentation/en/default-lotus-miner-config.toml
+++ b/documentation/en/default-lotus-miner-config.toml
@@ -291,11 +291,13 @@
#EntriesChunkSize = 16384
# TopicName sets the topic name on which the changes to the advertised content are announced.
- # Defaults to '/indexer/ingest/mainnet' if not specified.
+ # If not explicitly specified, the topic name is automatically inferred from the network name
+ # in following format: '/indexer/ingest/'
+ # Defaults to empty, which implies the topic name is inferred from network name.
#
# type: string
# env var: LOTUS_INDEXPROVIDER_TOPICNAME
- #TopicName = "/indexer/ingest/mainnet"
+ #TopicName = ""
# PurgeCacheOnStart sets whether to clear any cached entries chunks when the provider engine
# starts. By default, the cache is rehydrated from previously cached entries stored in
diff --git a/documentation/misc/gas_balancing.md b/documentation/misc/gas_balancing.md
index 64d9fcf0e..213c9681e 100644
--- a/documentation/misc/gas_balancing.md
+++ b/documentation/misc/gas_balancing.md
@@ -15,7 +15,7 @@ may be subject to change.
Complete gas balancing is performed using `lotus-bench` the process is based on importing a chain export
and collecting gas traces which are later aggregated.
-Before building `lotus-bench` make sure `EnableGasTracing` in `chain/vm/runtime.go` is set to `true`.
+Before building `lotus-bench` make sure `EnableDetailedTracing` in `chain/vm/runtime.go` is set to `true`.
The process can be started using `./lotus-bench import` with `--car` flag set to the location of
CAR chain export. `--start-epoch` and `--end-epoch` can be used to to limit the range of epochs to run
diff --git a/extern/filecoin-ffi b/extern/filecoin-ffi
index 38f10cf6f..791b68203 160000
--- a/extern/filecoin-ffi
+++ b/extern/filecoin-ffi
@@ -1 +1 @@
-Subproject commit 38f10cf6fa078b989fc774081cd65ba5c53636d8
+Subproject commit 791b68203d33ac494b9904f04b7239674b068df4
diff --git a/extern/sector-storage/ffiwrapper/sealer_cgo.go b/extern/sector-storage/ffiwrapper/sealer_cgo.go
index 3f596d250..400b67211 100644
--- a/extern/sector-storage/ffiwrapper/sealer_cgo.go
+++ b/extern/sector-storage/ffiwrapper/sealer_cgo.go
@@ -51,6 +51,120 @@ func (sb *Sealer) NewSector(ctx context.Context, sector storage.SectorRef) error
return nil
}
+func (sb *Sealer) DataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (abi.PieceInfo, error) {
+ // TODO: allow tuning those:
+ chunk := abi.PaddedPieceSize(4 << 20)
+ parallel := runtime.NumCPU()
+
+ maxSizeSpt := abi.RegisteredSealProof_StackedDrg64GiBV1_1
+
+ throttle := make(chan []byte, parallel)
+ piecePromises := make([]func() (abi.PieceInfo, error), 0)
+
+ buf := make([]byte, chunk.Unpadded())
+ for i := 0; i < parallel; i++ {
+ if abi.UnpaddedPieceSize(i)*chunk.Unpadded() >= pieceSize {
+ break // won't use this many buffers
+ }
+ throttle <- make([]byte, chunk.Unpadded())
+ }
+
+ for {
+ var read int
+ for rbuf := buf; len(rbuf) > 0; {
+ n, err := pieceData.Read(rbuf)
+ if err != nil && err != io.EOF {
+ return abi.PieceInfo{}, xerrors.Errorf("pr read error: %w", err)
+ }
+
+ rbuf = rbuf[n:]
+ read += n
+
+ if err == io.EOF {
+ break
+ }
+ }
+ if read == 0 {
+ break
+ }
+
+ done := make(chan struct {
+ cid.Cid
+ error
+ }, 1)
+ pbuf := <-throttle
+ copy(pbuf, buf[:read])
+
+ go func(read int) {
+ defer func() {
+ throttle <- pbuf
+ }()
+
+ c, err := sb.pieceCid(maxSizeSpt, pbuf[:read])
+ done <- struct {
+ cid.Cid
+ error
+ }{c, err}
+ }(read)
+
+ piecePromises = append(piecePromises, func() (abi.PieceInfo, error) {
+ select {
+ case e := <-done:
+ if e.error != nil {
+ return abi.PieceInfo{}, e.error
+ }
+
+ return abi.PieceInfo{
+ Size: abi.UnpaddedPieceSize(read).Padded(),
+ PieceCID: e.Cid,
+ }, nil
+ case <-ctx.Done():
+ return abi.PieceInfo{}, ctx.Err()
+ }
+ })
+ }
+
+ if len(piecePromises) == 1 {
+ return piecePromises[0]()
+ }
+
+ var payloadRoundedBytes abi.PaddedPieceSize
+ pieceCids := make([]abi.PieceInfo, len(piecePromises))
+ for i, promise := range piecePromises {
+ pinfo, err := promise()
+ if err != nil {
+ return abi.PieceInfo{}, err
+ }
+
+ pieceCids[i] = pinfo
+ payloadRoundedBytes += pinfo.Size
+ }
+
+ pieceCID, err := ffi.GenerateUnsealedCID(maxSizeSpt, pieceCids)
+ if err != nil {
+ return abi.PieceInfo{}, xerrors.Errorf("generate unsealed CID: %w", err)
+ }
+
+ // validate that the pieceCID was properly formed
+ if _, err := commcid.CIDToPieceCommitmentV1(pieceCID); err != nil {
+ return abi.PieceInfo{}, err
+ }
+
+ if payloadRoundedBytes < pieceSize.Padded() {
+ paddedCid, err := commpffi.ZeroPadPieceCommitment(pieceCID, payloadRoundedBytes.Unpadded(), pieceSize)
+ if err != nil {
+ return abi.PieceInfo{}, xerrors.Errorf("failed to pad data: %w", err)
+ }
+
+ pieceCID = paddedCid
+ }
+
+ return abi.PieceInfo{
+ Size: pieceSize.Padded(),
+ PieceCID: pieceCID,
+ }, nil
+}
+
func (sb *Sealer) AddPiece(ctx context.Context, sector storage.SectorRef, existingPieceSizes []abi.UnpaddedPieceSize, pieceSize abi.UnpaddedPieceSize, file storage.Data) (abi.PieceInfo, error) {
// TODO: allow tuning those:
chunk := abi.PaddedPieceSize(4 << 20)
diff --git a/extern/sector-storage/ffiwrapper/sealer_test.go b/extern/sector-storage/ffiwrapper/sealer_test.go
index e8848e735..97102e50e 100644
--- a/extern/sector-storage/ffiwrapper/sealer_test.go
+++ b/extern/sector-storage/ffiwrapper/sealer_test.go
@@ -71,18 +71,21 @@ func (s *seal) precommit(t *testing.T, sb *Sealer, id storage.SectorRef, done fu
r := data(id.ID.Number, dlen)
s.pi, err = sb.AddPiece(context.TODO(), id, []abi.UnpaddedPieceSize{}, dlen, r)
if err != nil {
- t.Fatalf("%+v", err)
+ t.Errorf("%+v", err)
+ return
}
s.ticket = sealRand
p1, err := sb.SealPreCommit1(context.TODO(), id, s.ticket, []abi.PieceInfo{s.pi})
if err != nil {
- t.Fatalf("%+v", err)
+ t.Errorf("%+v", err)
+ return
}
cids, err := sb.SealPreCommit2(context.TODO(), id, p1)
if err != nil {
- t.Fatalf("%+v", err)
+ t.Errorf("%+v", err)
+ return
}
s.cids = cids
}
@@ -94,11 +97,13 @@ func (s *seal) commit(t *testing.T, sb *Sealer, done func()) storage.Proof {
pc1, err := sb.SealCommit1(context.TODO(), s.ref, s.ticket, seed, []abi.PieceInfo{s.pi}, s.cids)
if err != nil {
- t.Fatalf("%+v", err)
+ t.Errorf("%+v", err)
+ return nil
}
proof, err := sb.SealCommit2(context.TODO(), s.ref, pc1)
if err != nil {
- t.Fatalf("%+v", err)
+ t.Errorf("%+v", err)
+ return nil
}
ok, err := ProofVerifier.VerifySeal(proof2.SealVerifyInfo{
@@ -111,11 +116,13 @@ func (s *seal) commit(t *testing.T, sb *Sealer, done func()) storage.Proof {
UnsealedCID: s.cids.Unsealed,
})
if err != nil {
- t.Fatalf("%+v", err)
+ t.Errorf("%+v", err)
+ return nil
}
if !ok {
- t.Fatal("proof failed to validate")
+ t.Errorf("proof failed to validate")
+ return nil
}
return proof
@@ -458,17 +465,17 @@ func TestSealAndVerify3(t *testing.T) {
s3 := seal{ref: si3}
wg.Add(3)
- go s1.precommit(t, sb, si1, wg.Done) //nolint: staticcheck
+ go s1.precommit(t, sb, si1, wg.Done)
time.Sleep(100 * time.Millisecond)
- go s2.precommit(t, sb, si2, wg.Done) //nolint: staticcheck
+ go s2.precommit(t, sb, si2, wg.Done)
time.Sleep(100 * time.Millisecond)
- go s3.precommit(t, sb, si3, wg.Done) //nolint: staticcheck
+ go s3.precommit(t, sb, si3, wg.Done)
wg.Wait()
wg.Add(3)
- go s1.commit(t, sb, wg.Done) //nolint: staticcheck
- go s2.commit(t, sb, wg.Done) //nolint: staticcheck
- go s3.commit(t, sb, wg.Done) //nolint: staticcheck
+ go s1.commit(t, sb, wg.Done)
+ go s2.commit(t, sb, wg.Done)
+ go s3.commit(t, sb, wg.Done)
wg.Wait()
post(t, sb, nil, s1, s2, s3)
diff --git a/extern/sector-storage/manager.go b/extern/sector-storage/manager.go
index 8bea96cca..4b52f9a1d 100644
--- a/extern/sector-storage/manager.go
+++ b/extern/sector-storage/manager.go
@@ -165,7 +165,7 @@ func New(ctx context.Context, lstor *stores.Local, stor stores.Store, ls stores.
sealtasks.TTCommit1, sealtasks.TTProveReplicaUpdate1, sealtasks.TTFinalize, sealtasks.TTFetch, sealtasks.TTFinalizeReplicaUpdate,
}
if sc.AllowAddPiece {
- localTasks = append(localTasks, sealtasks.TTAddPiece)
+ localTasks = append(localTasks, sealtasks.TTAddPiece, sealtasks.TTDataCid)
}
if sc.AllowPreCommit1 {
localTasks = append(localTasks, sealtasks.TTPreCommit1)
@@ -327,6 +327,27 @@ func (m *Manager) NewSector(ctx context.Context, sector storage.SectorRef) error
return nil
}
+func (m *Manager) DataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (abi.PieceInfo, error) {
+ ctx, cancel := context.WithCancel(ctx)
+ defer cancel()
+
+ selector := newTaskSelector()
+
+ var out abi.PieceInfo
+ err := m.sched.Schedule(ctx, storage.NoSectorRef, sealtasks.TTDataCid, selector, schedNop, func(ctx context.Context, w Worker) error {
+ p, err := m.waitSimpleCall(ctx)(w.DataCid(ctx, pieceSize, pieceData))
+ if err != nil {
+ return err
+ }
+ if p != nil {
+ out = p.(abi.PieceInfo)
+ }
+ return nil
+ })
+
+ return out, err
+}
+
func (m *Manager) AddPiece(ctx context.Context, sector storage.SectorRef, existingPieces []abi.UnpaddedPieceSize, sz abi.UnpaddedPieceSize, r io.Reader) (abi.PieceInfo, error) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
@@ -975,6 +996,10 @@ func (m *Manager) ProveReplicaUpdate2(ctx context.Context, sector storage.Sector
return out, waitErr
}
+func (m *Manager) ReturnDataCid(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error {
+ return m.returnResult(ctx, callID, pi, err)
+}
+
func (m *Manager) ReturnAddPiece(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error {
return m.returnResult(ctx, callID, pi, err)
}
diff --git a/extern/sector-storage/mock/mock.go b/extern/sector-storage/mock/mock.go
index 37d8af00e..ecb06da0b 100644
--- a/extern/sector-storage/mock/mock.go
+++ b/extern/sector-storage/mock/mock.go
@@ -80,6 +80,10 @@ func (mgr *SectorMgr) SectorsUnsealPiece(ctx context.Context, sector storage.Sec
panic("SectorMgr: unsealing piece: implement me")
}
+func (mgr *SectorMgr) DataCid(ctx context.Context, size abi.UnpaddedPieceSize, r io.Reader) (abi.PieceInfo, error) {
+ panic("todo")
+}
+
func (mgr *SectorMgr) AddPiece(ctx context.Context, sectorID storage.SectorRef, existingPieces []abi.UnpaddedPieceSize, size abi.UnpaddedPieceSize, r io.Reader) (abi.PieceInfo, error) {
log.Warn("Add piece: ", sectorID, size, sectorID.ProofType)
@@ -537,6 +541,10 @@ func (mgr *SectorMgr) CheckProvable(ctx context.Context, pp abi.RegisteredPoStPr
var _ storiface.WorkerReturn = &SectorMgr{}
+func (mgr *SectorMgr) ReturnDataCid(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error {
+ panic("not supported")
+}
+
func (mgr *SectorMgr) ReturnAddPiece(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error {
panic("not supported")
}
diff --git a/extern/sector-storage/sched_test.go b/extern/sector-storage/sched_test.go
index 2245c8a3f..77e674793 100644
--- a/extern/sector-storage/sched_test.go
+++ b/extern/sector-storage/sched_test.go
@@ -68,6 +68,10 @@ type schedTestWorker struct {
ignoreResources bool
}
+func (s *schedTestWorker) DataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) {
+ panic("implement me")
+}
+
func (s *schedTestWorker) SealPreCommit1(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, pieces []abi.PieceInfo) (storiface.CallID, error) {
panic("implement me")
}
diff --git a/extern/sector-storage/sealtasks/task.go b/extern/sector-storage/sealtasks/task.go
index 1d3d3c1b5..e8a156291 100644
--- a/extern/sector-storage/sealtasks/task.go
+++ b/extern/sector-storage/sealtasks/task.go
@@ -3,6 +3,7 @@ package sealtasks
type TaskType string
const (
+ TTDataCid TaskType = "seal/v0/datacid"
TTAddPiece TaskType = "seal/v0/addpiece"
TTPreCommit1 TaskType = "seal/v0/precommit/1"
TTPreCommit2 TaskType = "seal/v0/precommit/2"
@@ -25,7 +26,8 @@ const (
)
var order = map[TaskType]int{
- TTRegenSectorKey: 10, // least priority
+ TTRegenSectorKey: 11, // least priority
+ TTDataCid: 10,
TTAddPiece: 9,
TTReplicaUpdate: 8,
TTProveReplicaUpdate2: 7,
@@ -44,6 +46,7 @@ var order = map[TaskType]int{
}
var shortNames = map[TaskType]string{
+ TTDataCid: "DC",
TTAddPiece: "AP",
TTPreCommit1: "PC1",
diff --git a/extern/sector-storage/storiface/resources.go b/extern/sector-storage/storiface/resources.go
index ce533e2c0..71fd9e30c 100644
--- a/extern/sector-storage/storiface/resources.go
+++ b/extern/sector-storage/storiface/resources.go
@@ -569,6 +569,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredSealProof]Resources
func init() {
ResourceTable[sealtasks.TTUnseal] = ResourceTable[sealtasks.TTPreCommit1] // TODO: measure accurately
ResourceTable[sealtasks.TTRegenSectorKey] = ResourceTable[sealtasks.TTReplicaUpdate]
+ ResourceTable[sealtasks.TTDataCid] = ResourceTable[sealtasks.TTAddPiece]
// V1_1 is the same as V1
for _, m := range ResourceTable {
diff --git a/extern/sector-storage/storiface/worker.go b/extern/sector-storage/storiface/worker.go
index e37df31b5..5b4fabf02 100644
--- a/extern/sector-storage/storiface/worker.go
+++ b/extern/sector-storage/storiface/worker.go
@@ -117,6 +117,7 @@ var UndefCall CallID
type WorkerCalls interface {
// async
+ DataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (CallID, error)
AddPiece(ctx context.Context, sector storage.SectorRef, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (CallID, error)
SealPreCommit1(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, pieces []abi.PieceInfo) (CallID, error)
SealPreCommit2(ctx context.Context, sector storage.SectorRef, pc1o storage.PreCommit1Out) (CallID, error)
@@ -197,6 +198,7 @@ func Err(code ErrorCode, sub error) *CallError {
}
type WorkerReturn interface {
+ ReturnDataCid(ctx context.Context, callID CallID, pi abi.PieceInfo, err *CallError) error
ReturnAddPiece(ctx context.Context, callID CallID, pi abi.PieceInfo, err *CallError) error
ReturnSealPreCommit1(ctx context.Context, callID CallID, p1o storage.PreCommit1Out, err *CallError) error
ReturnSealPreCommit2(ctx context.Context, callID CallID, sealed storage.SectorCids, err *CallError) error
diff --git a/extern/sector-storage/tarutil/systar.go b/extern/sector-storage/tarutil/systar.go
index eb958fa02..f67cc44fa 100644
--- a/extern/sector-storage/tarutil/systar.go
+++ b/extern/sector-storage/tarutil/systar.go
@@ -31,8 +31,10 @@ func ExtractTar(body io.Reader, dir string, buf []byte) error {
case nil:
}
+ //nolint:gosec
f, err := os.Create(filepath.Join(dir, header.Name))
if err != nil {
+ //nolint:gosec
return xerrors.Errorf("creating file %s: %w", filepath.Join(dir, header.Name), err)
}
diff --git a/extern/sector-storage/teststorage_test.go b/extern/sector-storage/teststorage_test.go
index c825542ea..0c15fbf7b 100644
--- a/extern/sector-storage/teststorage_test.go
+++ b/extern/sector-storage/teststorage_test.go
@@ -23,6 +23,10 @@ type testExec struct {
apch chan chan apres
}
+func (t *testExec) DataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (abi.PieceInfo, error) {
+ panic("implement me")
+}
+
func (t *testExec) GenerateWinningPoSt(ctx context.Context, minerID abi.ActorID, sectorInfo []proof.ExtendedSectorInfo, randomness abi.PoStRandomness) ([]proof.PoStProof, error) {
panic("implement me")
}
diff --git a/extern/sector-storage/worker_local.go b/extern/sector-storage/worker_local.go
index 46464caf6..9a14e42b5 100644
--- a/extern/sector-storage/worker_local.go
+++ b/extern/sector-storage/worker_local.go
@@ -180,6 +180,7 @@ func (l *LocalWorker) ffiExec() (ffiwrapper.Storage, error) {
type ReturnType string
const (
+ DataCid ReturnType = "DataCid"
AddPiece ReturnType = "AddPiece"
SealPreCommit1 ReturnType = "SealPreCommit1"
SealPreCommit2 ReturnType = "SealPreCommit2"
@@ -232,6 +233,7 @@ func rfunc(in interface{}) func(context.Context, storiface.CallID, storiface.Wor
}
var returnFunc = map[ReturnType]func(context.Context, storiface.CallID, storiface.WorkerReturn, interface{}, *storiface.CallError) error{
+ DataCid: rfunc(storiface.WorkerReturn.ReturnDataCid),
AddPiece: rfunc(storiface.WorkerReturn.ReturnAddPiece),
SealPreCommit1: rfunc(storiface.WorkerReturn.ReturnSealPreCommit1),
SealPreCommit2: rfunc(storiface.WorkerReturn.ReturnSealPreCommit2),
@@ -341,6 +343,17 @@ func (l *LocalWorker) NewSector(ctx context.Context, sector storage.SectorRef) e
return sb.NewSector(ctx, sector)
}
+func (l *LocalWorker) DataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) {
+ sb, err := l.executor()
+ if err != nil {
+ return storiface.UndefCall, err
+ }
+
+ return l.asyncCall(ctx, storage.NoSectorRef, DataCid, func(ctx context.Context, ci storiface.CallID) (interface{}, error) {
+ return sb.DataCid(ctx, pieceSize, pieceData)
+ })
+}
+
func (l *LocalWorker) AddPiece(ctx context.Context, sector storage.SectorRef, epcs []abi.UnpaddedPieceSize, sz abi.UnpaddedPieceSize, r io.Reader) (storiface.CallID, error) {
sb, err := l.executor()
if err != nil {
diff --git a/extern/sector-storage/worker_tracked.go b/extern/sector-storage/worker_tracked.go
index 1d92579a5..e3ce0a46a 100644
--- a/extern/sector-storage/worker_tracked.go
+++ b/extern/sector-storage/worker_tracked.go
@@ -186,6 +186,12 @@ func (t *trackedWorker) FinalizeSector(ctx context.Context, sector storage.Secto
return t.tracker.track(ctx, t.execute, t.wid, t.workerInfo, sector, sealtasks.TTFinalize, func() (storiface.CallID, error) { return t.Worker.FinalizeSector(ctx, sector, keepUnsealed) })
}
+func (t *trackedWorker) DataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) {
+ return t.tracker.track(ctx, t.execute, t.wid, t.workerInfo, storage.NoSectorRef, sealtasks.TTDataCid, func() (storiface.CallID, error) {
+ return t.Worker.DataCid(ctx, pieceSize, pieceData)
+ })
+}
+
func (t *trackedWorker) AddPiece(ctx context.Context, sector storage.SectorRef, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) {
return t.tracker.track(ctx, t.execute, t.wid, t.workerInfo, sector, sealtasks.TTAddPiece, func() (storiface.CallID, error) {
return t.Worker.AddPiece(ctx, sector, pieceSizes, newPieceSize, pieceData)
diff --git a/gen/main.go b/gen/main.go
index f7b96c537..1118f9716 100644
--- a/gen/main.go
+++ b/gen/main.go
@@ -4,6 +4,8 @@ import (
"fmt"
"os"
+ "github.com/filecoin-project/lotus/chain/vm"
+
gen "github.com/whyrusleeping/cbor-gen"
"github.com/filecoin-project/lotus/api"
@@ -38,6 +40,14 @@ func main() {
os.Exit(1)
}
+ err = gen.WriteTupleEncodersToFile("./chain/vm/cbor_gen.go", "vm",
+ vm.FvmExecutionTrace{},
+ )
+ if err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
+
err = gen.WriteMapEncodersToFile("./paychmgr/cbor_gen.go", "paychmgr",
paychmgr.VoucherInfo{},
paychmgr.ChannelInfo{},
diff --git a/go.mod b/go.mod
index 618178f2f..e3add1727 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module github.com/filecoin-project/lotus
-go 1.16
+go 1.17
retract v1.14.0 // Accidentally force-pushed tag, use v1.14.1+ instead.
@@ -10,22 +10,20 @@ require (
github.com/GeertJohan/go.rice v1.0.2
github.com/Gurpartap/async v0.0.0-20180927173644-4f7f499dd9ee
github.com/Kubuxu/imtui v0.0.0-20210401140320-41663d68d0fa
- github.com/StackExchange/wmi v1.2.1 // indirect
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d
github.com/alecthomas/jsonschema v0.0.0-20200530073317-71f438968921
github.com/buger/goterm v1.0.3
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e
- github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327
+ github.com/containerd/cgroups v1.0.3
github.com/coreos/go-systemd/v22 v22.3.2
github.com/detailyang/go-fallocate v0.0.0-20180908115635-432fa640bd2e
github.com/dgraph-io/badger/v2 v2.2007.3
- github.com/dgraph-io/ristretto v0.1.0 // indirect
github.com/docker/go-units v0.4.0
github.com/drand/drand v1.3.0
github.com/drand/kyber v1.1.7
github.com/dustin/go-humanize v1.0.0
github.com/elastic/go-sysinfo v1.7.0
- github.com/elastic/gosigar v0.14.1
+ github.com/elastic/gosigar v0.14.2
github.com/etclabscore/go-openrpc-reflect v0.0.36
github.com/fatih/color v1.13.0
github.com/filecoin-project/dagstore v0.5.2
@@ -55,16 +53,15 @@ require (
github.com/filecoin-project/specs-actors/v5 v5.0.4
github.com/filecoin-project/specs-actors/v6 v6.0.1
github.com/filecoin-project/specs-actors/v7 v7.0.0
- github.com/filecoin-project/specs-storage v0.2.2
+ github.com/filecoin-project/specs-storage v0.2.3-0.20220426183226-1a0a63c5990f
github.com/filecoin-project/test-vectors/schema v0.0.5
github.com/gbrlsnchs/jwt/v3 v3.0.1
github.com/gdamore/tcell/v2 v2.2.0
github.com/go-kit/kit v0.12.0
- github.com/golang/glog v1.0.0 // indirect
github.com/golang/mock v1.6.0
github.com/google/uuid v1.3.0
github.com/gorilla/mux v1.7.4
- github.com/gorilla/websocket v1.4.2
+ github.com/gorilla/websocket v1.5.0
github.com/hako/durafmt v0.0.0-20200710122514-c0fb7b4da026
github.com/hannahhoward/go-pubsub v0.0.0-20200423002714-8d62886cc36e
github.com/hashicorp/go-multierror v1.1.1
@@ -95,7 +92,6 @@ require (
github.com/ipfs/go-ipfs-util v0.0.2
github.com/ipfs/go-ipld-cbor v0.0.6
github.com/ipfs/go-ipld-format v0.2.0
- github.com/ipfs/go-ipld-legacy v0.1.1 // indirect
github.com/ipfs/go-log/v2 v2.5.1
github.com/ipfs/go-merkledag v0.5.1
github.com/ipfs/go-metrics-interface v0.0.1
@@ -108,26 +104,26 @@ require (
github.com/ipld/go-codec-dagpb v1.3.2
github.com/ipld/go-ipld-prime v0.16.0
github.com/ipld/go-ipld-selector-text-lite v0.0.1
- github.com/jonboulle/clockwork v0.2.2 // indirect
github.com/kelseyhightower/envconfig v1.4.0
github.com/koalacxr/quantile v0.0.1
github.com/libp2p/go-buffer-pool v0.0.2
github.com/libp2p/go-eventbus v0.2.1
- github.com/libp2p/go-libp2p v0.18.1
+ github.com/libp2p/go-libp2p v0.19.0
github.com/libp2p/go-libp2p-connmgr v0.3.1
- github.com/libp2p/go-libp2p-core v0.14.0
+ github.com/libp2p/go-libp2p-core v0.15.1
github.com/libp2p/go-libp2p-discovery v0.6.0
github.com/libp2p/go-libp2p-kad-dht v0.15.0
- github.com/libp2p/go-libp2p-noise v0.3.0
+ github.com/libp2p/go-libp2p-mplex v0.6.0 // indirect
+ github.com/libp2p/go-libp2p-noise v0.4.0
github.com/libp2p/go-libp2p-peerstore v0.6.0
github.com/libp2p/go-libp2p-pubsub v0.6.1
- github.com/libp2p/go-libp2p-quic-transport v0.16.1
+ github.com/libp2p/go-libp2p-quic-transport v0.17.0
github.com/libp2p/go-libp2p-record v0.1.3
- github.com/libp2p/go-libp2p-resource-manager v0.2.0
+ github.com/libp2p/go-libp2p-resource-manager v0.2.1
github.com/libp2p/go-libp2p-routing-helpers v0.2.3
github.com/libp2p/go-libp2p-swarm v0.10.2
- github.com/libp2p/go-libp2p-tls v0.3.1
- github.com/libp2p/go-libp2p-yamux v0.9.0
+ github.com/libp2p/go-libp2p-tls v0.4.1
+ github.com/libp2p/go-libp2p-yamux v0.9.1
github.com/libp2p/go-maddr-filter v0.1.0
github.com/mattn/go-isatty v0.0.14
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1
@@ -141,12 +137,11 @@ require (
github.com/open-rpc/meta-schema v0.0.0-20201029221707-1b72ef2ea333
github.com/opentracing/opentracing-go v1.2.0
github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e
- github.com/prometheus/client_golang v1.11.0
+ github.com/prometheus/client_golang v1.12.1
github.com/raulk/clock v1.1.0
github.com/raulk/go-watchdog v1.2.0
github.com/stretchr/testify v1.7.0
github.com/syndtr/goleveldb v1.0.0
- github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect
github.com/urfave/cli/v2 v2.3.0
github.com/whyrusleeping/bencher v0.0.0-20190829221104-bb6607aa8bba
github.com/whyrusleeping/cbor-gen v0.0.0-20220302191723-37c43cae8e14
@@ -160,18 +155,208 @@ require (
go.opentelemetry.io/otel/exporters/jaeger v1.2.0
go.opentelemetry.io/otel/sdk v1.2.0
go.uber.org/fx v1.15.0
- go.uber.org/multierr v1.7.0
- go.uber.org/zap v1.19.1
- golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2
+ go.uber.org/multierr v1.8.0
+ go.uber.org/zap v1.21.0
+ golang.org/x/net v0.0.0-20220418201149-a630d4f3e7a2
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
- golang.org/x/sys v0.0.0-20211209171907-798191bca915
+ golang.org/x/sys v0.0.0-20220412211240-33da011f77ad
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac
golang.org/x/tools v0.1.10
- golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
+ golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f
gopkg.in/cheggaaa/pb.v1 v1.0.28
gotest.tools v2.2.0+incompatible
)
+require (
+ github.com/DataDog/zstd v1.4.1 // indirect
+ github.com/GeertJohan/go.incremental v1.0.0 // indirect
+ github.com/PuerkitoBio/purell v1.1.1 // indirect
+ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
+ github.com/StackExchange/wmi v1.2.1 // indirect
+ github.com/Stebalien/go-bitfield v0.0.1 // indirect
+ github.com/akavel/rsrc v0.8.0 // indirect
+ github.com/alecthomas/units v0.0.0-20210927113745-59d0afb8317a // indirect
+ github.com/benbjohnson/clock v1.3.0 // indirect
+ github.com/beorn7/perks v1.0.1 // indirect
+ github.com/bep/debounce v1.2.0 // indirect
+ github.com/btcsuite/btcd v0.22.0-beta // indirect
+ github.com/cespare/xxhash v1.1.0 // indirect
+ github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/cheekybits/genny v1.0.0 // indirect
+ github.com/cilium/ebpf v0.4.0 // indirect
+ github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
+ github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 // indirect
+ github.com/cskr/pubsub v1.0.2 // indirect
+ github.com/daaku/go.zipexe v1.0.0 // indirect
+ github.com/davecgh/go-spew v1.1.1 // indirect
+ github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
+ github.com/dgraph-io/ristretto v0.1.0 // indirect
+ github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 // indirect
+ github.com/drand/kyber-bls12381 v0.2.1 // indirect
+ github.com/elastic/go-windows v1.0.0 // indirect
+ github.com/etclabscore/go-jsonschema-walk v0.0.6 // indirect
+ github.com/filecoin-project/go-amt-ipld/v2 v2.1.0 // indirect
+ github.com/filecoin-project/go-amt-ipld/v3 v3.1.0 // indirect
+ github.com/filecoin-project/go-amt-ipld/v4 v4.0.0 // indirect
+ github.com/filecoin-project/go-ds-versioning v0.1.1 // indirect
+ github.com/filecoin-project/go-hamt-ipld v0.1.5 // indirect
+ github.com/filecoin-project/go-hamt-ipld/v2 v2.0.0 // indirect
+ github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0 // indirect
+ github.com/filecoin-project/storetheindex v0.3.5 // indirect
+ github.com/flynn/noise v1.0.0 // indirect
+ github.com/francoispqt/gojay v1.2.13 // indirect
+ github.com/fsnotify/fsnotify v1.5.1 // indirect
+ github.com/gdamore/encoding v1.0.0 // indirect
+ github.com/go-kit/log v0.2.0 // indirect
+ github.com/go-logfmt/logfmt v0.5.1 // indirect
+ github.com/go-logr/logr v1.2.1 // indirect
+ github.com/go-logr/stdr v1.2.0 // indirect
+ github.com/go-ole/go-ole v1.2.5 // indirect
+ github.com/go-openapi/jsonpointer v0.19.3 // indirect
+ github.com/go-openapi/jsonreference v0.19.4 // indirect
+ github.com/go-openapi/spec v0.19.11 // indirect
+ github.com/go-openapi/swag v0.19.11 // indirect
+ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
+ github.com/godbus/dbus/v5 v5.1.0 // indirect
+ github.com/gogo/protobuf v1.3.2 // indirect
+ github.com/golang/glog v1.0.0 // indirect
+ github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
+ github.com/golang/protobuf v1.5.2 // indirect
+ github.com/golang/snappy v0.0.3 // indirect
+ github.com/google/go-cmp v0.5.7 // indirect
+ github.com/google/gopacket v1.1.19 // indirect
+ github.com/hannahhoward/cbor-gen-for v0.0.0-20200817222906-ea96cece81f1 // indirect
+ github.com/hashicorp/errwrap v1.0.0 // indirect
+ github.com/huin/goupnp v1.0.3 // indirect
+ github.com/iancoleman/orderedmap v0.1.0 // indirect
+ github.com/ipfs/go-bitfield v1.0.0 // indirect
+ github.com/ipfs/go-filestore v1.1.0 // indirect
+ github.com/ipfs/go-ipfs-cmds v0.6.0 // indirect
+ github.com/ipfs/go-ipfs-delay v0.0.1 // indirect
+ github.com/ipfs/go-ipfs-posinfo v0.0.1 // indirect
+ github.com/ipfs/go-ipfs-pq v0.0.2 // indirect
+ github.com/ipfs/go-ipld-legacy v0.1.1 // indirect
+ github.com/ipfs/go-ipns v0.1.2 // indirect
+ github.com/ipfs/go-log v1.0.5 // indirect
+ github.com/ipfs/go-path v0.2.1 // indirect
+ github.com/ipfs/go-peertaskqueue v0.7.1 // indirect
+ github.com/ipfs/go-verifcid v0.0.1 // indirect
+ github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52 // indirect
+ github.com/jackpal/go-nat-pmp v1.0.2 // indirect
+ github.com/jbenet/go-random v0.0.0-20190219211222-123a90aedc0c // indirect
+ github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
+ github.com/jbenet/goprocess v0.1.4 // indirect
+ github.com/jessevdk/go-flags v1.4.0 // indirect
+ github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect
+ github.com/jonboulle/clockwork v0.2.2 // indirect
+ github.com/josharian/intern v1.0.0 // indirect
+ github.com/jpillora/backoff v1.0.0 // indirect
+ github.com/kilic/bls12-381 v0.0.0-20200820230200-6b2c19996391 // indirect
+ github.com/klauspost/compress v1.15.1 // indirect
+ github.com/klauspost/cpuid/v2 v2.0.12 // indirect
+ github.com/koron/go-ssdp v0.0.2 // indirect
+ github.com/libp2p/go-cidranger v1.1.0 // indirect
+ github.com/libp2p/go-conn-security-multistream v0.3.0 // indirect
+ github.com/libp2p/go-flow-metrics v0.0.3 // indirect
+ github.com/libp2p/go-libp2p-asn-util v0.1.0 // indirect
+ github.com/libp2p/go-libp2p-blankhost v0.3.0 // indirect
+ github.com/libp2p/go-libp2p-gostream v0.3.1 // indirect
+ github.com/libp2p/go-libp2p-kbucket v0.4.7 // indirect
+ github.com/libp2p/go-libp2p-loggables v0.1.0 // indirect
+ github.com/libp2p/go-libp2p-nat v0.1.0 // indirect
+ github.com/libp2p/go-libp2p-pnet v0.2.0 // indirect
+ github.com/libp2p/go-libp2p-testing v0.9.2 // indirect
+ github.com/libp2p/go-libp2p-transport-upgrader v0.7.1 // indirect
+ github.com/libp2p/go-msgio v0.2.0 // indirect
+ github.com/libp2p/go-nat v0.1.0 // indirect
+ github.com/libp2p/go-netroute v0.2.0 // indirect
+ github.com/libp2p/go-openssl v0.0.7 // indirect
+ github.com/libp2p/go-reuseport v0.1.0 // indirect
+ github.com/libp2p/go-reuseport-transport v0.1.0 // indirect
+ github.com/libp2p/go-stream-muxer-multistream v0.4.0 // indirect
+ github.com/libp2p/go-tcp-transport v0.5.1 // indirect
+ github.com/libp2p/go-ws-transport v0.6.0 // indirect
+ github.com/libp2p/go-yamux/v3 v3.1.1 // indirect
+ github.com/lucas-clemente/quic-go v0.27.0 // indirect
+ github.com/lucasb-eyer/go-colorful v1.0.3 // indirect
+ github.com/magefile/mage v1.9.0 // indirect
+ github.com/mailru/easyjson v0.7.6 // indirect
+ github.com/marten-seemann/qtls-go1-16 v0.1.5 // indirect
+ github.com/marten-seemann/qtls-go1-17 v0.1.1 // indirect
+ github.com/marten-seemann/qtls-go1-18 v0.1.1 // indirect
+ github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
+ github.com/mattn/go-colorable v0.1.9 // indirect
+ github.com/mattn/go-runewidth v0.0.10 // indirect
+ github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
+ github.com/miekg/dns v1.1.48 // indirect
+ github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
+ github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
+ github.com/minio/sha256-simd v1.0.0 // indirect
+ github.com/mr-tron/base58 v1.2.0 // indirect
+ github.com/multiformats/go-base36 v0.1.0 // indirect
+ github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
+ github.com/multiformats/go-multicodec v0.4.1 // indirect
+ github.com/multiformats/go-multistream v0.3.0 // indirect
+ github.com/nikkolasg/hexjson v0.0.0-20181101101858-78e39397e00c // indirect
+ github.com/nkovacs/streamquote v1.0.0 // indirect
+ github.com/nxadm/tail v1.4.8 // indirect
+ github.com/onsi/ginkgo v1.16.5 // indirect
+ github.com/opencontainers/runtime-spec v1.0.2 // indirect
+ github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
+ github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9 // indirect
+ github.com/pkg/errors v0.9.1 // indirect
+ github.com/pmezard/go-difflib v1.0.0 // indirect
+ github.com/prometheus/client_model v0.2.0 // indirect
+ github.com/prometheus/common v0.33.0 // indirect
+ github.com/prometheus/procfs v0.7.3 // indirect
+ github.com/prometheus/statsd_exporter v0.21.0 // indirect
+ github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
+ github.com/rivo/uniseg v0.1.0 // indirect
+ github.com/rs/cors v1.7.0 // indirect
+ github.com/russross/blackfriday/v2 v2.0.1 // indirect
+ github.com/shirou/gopsutil v2.18.12+incompatible // indirect
+ github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
+ github.com/sirupsen/logrus v1.8.1 // indirect
+ github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
+ github.com/spaolacci/murmur3 v1.1.0 // indirect
+ github.com/tj/go-spin v1.1.0 // indirect
+ github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect
+ github.com/valyala/bytebufferpool v1.0.0 // indirect
+ github.com/valyala/fasttemplate v1.0.1 // indirect
+ github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11 // indirect
+ github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f // indirect
+ github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
+ github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee // indirect
+ github.com/xlab/c-for-go v0.0.0-20201112171043-ea6dce5809cb // indirect
+ github.com/xlab/pkgconfig v0.0.0-20170226114623-cea12a0fd245 // indirect
+ github.com/zondax/hid v0.9.0 // indirect
+ github.com/zondax/ledger-go v0.12.1 // indirect
+ go.opentelemetry.io/otel/metric v0.25.0 // indirect
+ go.opentelemetry.io/otel/sdk/export/metric v0.25.0 // indirect
+ go.opentelemetry.io/otel/trace v1.3.0 // indirect
+ go.uber.org/atomic v1.9.0 // indirect
+ go.uber.org/dig v1.12.0 // indirect
+ go4.org v0.0.0-20200411211856-f5505b9728dd // indirect
+ golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect
+ golang.org/x/exp v0.0.0-20210715201039-d37aa40e8013 // indirect
+ golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect
+ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
+ golang.org/x/text v0.3.7 // indirect
+ google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4 // indirect
+ google.golang.org/grpc v1.45.0 // indirect
+ google.golang.org/protobuf v1.28.0 // indirect
+ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
+ gopkg.in/yaml.v2 v2.4.0 // indirect
+ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
+ howett.net/plist v0.0.0-20181124034731-591f970eefbb // indirect
+ lukechampine.com/blake3 v1.1.7 // indirect
+ modernc.org/cc v1.0.0 // indirect
+ modernc.org/golex v1.0.1 // indirect
+ modernc.org/mathutil v1.1.1 // indirect
+ modernc.org/strutil v1.1.0 // indirect
+ modernc.org/xc v1.0.0 // indirect
+)
+
replace github.com/filecoin-project/filecoin-ffi => ./extern/filecoin-ffi
replace github.com/filecoin-project/test-vectors => ./extern/test-vectors
diff --git a/go.sum b/go.sum
index 5cc8b4693..6f3f4d5ec 100644
--- a/go.sum
+++ b/go.sum
@@ -123,8 +123,9 @@ github.com/beevik/ntp v0.2.0/go.mod h1:hIHWr+l3+/clUnF44zdK+CWW7fO8dR5cIylAQ76NR
github.com/benbjohnson/clock v1.0.2/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
-github.com/benbjohnson/clock v1.2.0 h1:9Re3G2TWxkE06LdMWMpcY6KV81GLXMGiYpPYUPkFAws=
github.com/benbjohnson/clock v1.2.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
+github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
+github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -178,8 +179,9 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5O
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
-github.com/cilium/ebpf v0.2.0 h1:Fv93L3KKckEcEHR3oApXVzyBTDA8WAm6VXhPE00N3f8=
github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs=
+github.com/cilium/ebpf v0.4.0 h1:QlHdikaxALkqWasW8hAC1mfR0jdmvbfaBdBPFmRSglA=
+github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
@@ -187,12 +189,17 @@ github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/codegangsta/cli v1.20.0/go.mod h1:/qJNoX69yVSKu5o4jLyXAENLRyk1uhi7zkbQ3slBdOA=
-github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327 h1:7grrpcfCtbZLsjtB0DgMuzs1umsJmpzaHMZ6cO6iAWw=
github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE=
+github.com/containerd/cgroups v1.0.3 h1:ADZftAkglvCiD44c77s5YmMqaP2pzVCFZvBmAlBdAP4=
+github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
@@ -274,8 +281,8 @@ github.com/elastic/go-sysinfo v1.7.0/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6
github.com/elastic/go-windows v1.0.0 h1:qLURgZFkkrYyTTkvYpsZIgf83AUsdIHfvlJaqaZ7aSY=
github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU=
github.com/elastic/gosigar v0.12.0/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs=
-github.com/elastic/gosigar v0.14.1 h1:T0aQ7n/n2ZA9W7DmAnj60v+qzqKERdBgJBO1CG2W6rc=
-github.com/elastic/gosigar v0.14.1/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs=
+github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4=
+github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs=
github.com/elgris/jsondiff v0.0.0-20160530203242-765b5c24c302/go.mod h1:qBlWZqWeVx9BjvqBsnC/8RUlAYpIFmPvgROcw0n1scE=
github.com/ema/qdisc v0.0.0-20190904071900-b82c76788043/go.mod h1:ix4kG2zvdUd8kEKSW0ZTr1XLks0epFpI4j745DXxlNE=
github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g=
@@ -285,6 +292,7 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
+github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/etclabscore/go-jsonschema-walk v0.0.6 h1:DrNzoKWKd8f8XB5nFGBY00IcjakRE22OTI12k+2LkyY=
github.com/etclabscore/go-jsonschema-walk v0.0.6/go.mod h1:VdfDY72AFAiUhy0ZXEaWSpveGjMT5JcDIm903NGqFwQ=
@@ -394,8 +402,8 @@ github.com/filecoin-project/specs-actors/v6 v6.0.1/go.mod h1:V1AYfi5GkHXipx1mnVi
github.com/filecoin-project/specs-actors/v7 v7.0.0-rc1.0.20220118005651-2470cb39827e/go.mod h1:TA5FwCna+Yi36POaT7SLKXsgEDvJwc0V/L6ZsO19B9M=
github.com/filecoin-project/specs-actors/v7 v7.0.0 h1:FQN7tjt3o68hfb3qLFSJBoLMuOFY0REkFVLO/zXj8RU=
github.com/filecoin-project/specs-actors/v7 v7.0.0/go.mod h1:TA5FwCna+Yi36POaT7SLKXsgEDvJwc0V/L6ZsO19B9M=
-github.com/filecoin-project/specs-storage v0.2.2 h1:6ugbtKQ6LTcTEnEIX9HkeCtTp1PCYO497P/bokF5tF4=
-github.com/filecoin-project/specs-storage v0.2.2/go.mod h1:6cc/lncmAxMUocPi0z1EPCX63beIX7F7UnlmUZ3hLQo=
+github.com/filecoin-project/specs-storage v0.2.3-0.20220426183226-1a0a63c5990f h1:+suJFu4RJt7aZRXvE+Innrpacap+Z8N87y6a1Cgkuqc=
+github.com/filecoin-project/specs-storage v0.2.3-0.20220426183226-1a0a63c5990f/go.mod h1:6cc/lncmAxMUocPi0z1EPCX63beIX7F7UnlmUZ3hLQo=
github.com/filecoin-project/storetheindex v0.3.5 h1:KoS9TvjPm6zIZfUH8atAHJbVHOO7GTP1MdTG+v0eE+Q=
github.com/filecoin-project/storetheindex v0.3.5/go.mod h1:0r3d0kSpK63O6AvLr1CjAINLi+nWD49clzcnKV+GLpI=
github.com/filecoin-project/test-vectors/schema v0.0.5 h1:w3zHQhzM4pYxJDl21avXjOKBLF8egrvwUwjpT8TquDg=
@@ -480,8 +488,9 @@ github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL
github.com/godbus/dbus v0.0.0-20190402143921-271e53dc4968 h1:s+PDl6lozQ+dEUtUtQnO7+A2iPG3sK1pI4liU+jxn90=
github.com/godbus/dbus v0.0.0-20190402143921-271e53dc4968/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
-github.com/godbus/dbus/v5 v5.0.4 h1:9349emZab16e7zQvpmsbtjc18ykshndd8y2PG3sgJbA=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
+github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
github.com/gogo/googleapis v1.4.0 h1:zgVt4UpGxcqVOw97aRGxT4svlcmdK35fynLNctY32zI=
@@ -595,8 +604,9 @@ github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB7
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
-github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
+github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-middleware v1.1.0/go.mod h1:f5nM7jw/oeRSadq3xCzHAvxcr8HZnzsqU6ILg/0NiiE=
@@ -663,8 +673,9 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO
github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo=
github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc=
-github.com/huin/goupnp v1.0.2 h1:RfGLP+h3mvisuWEyybxNq5Eft3NWhHLPeUN72kpKZoI=
github.com/huin/goupnp v1.0.2/go.mod h1:0dxJBVBHqTMjIUMkESDTNgOOx/Mw5wYIfyFmdzSamkM=
+github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ=
+github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y=
github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o=
github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA=
github.com/iancoleman/orderedmap v0.1.0 h1:2orAxZBJsvimgEBmMWfXaFlzSG2fbQil5qzP3F6cCkg=
@@ -1004,12 +1015,14 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
-github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
+github.com/klauspost/compress v1.15.1 h1:y9FcTHGyrebwfP0ZZqFiaxTaiDnUrGkJkI+f583BL1A=
+github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
-github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
+github.com/klauspost/cpuid/v2 v2.0.12 h1:p9dKCg8i4gmOxtv35DvrYoWqYzQrvEVdjQ762Y0OqZE=
+github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
github.com/koalacxr/quantile v0.0.1 h1:wAW+SQ286Erny9wOjVww96t8ws+x5Zj6AKHDULUK+o0=
github.com/koalacxr/quantile v0.0.1/go.mod h1:bGN/mCZLZ4lrSDHRQ6Lglj9chowGux8sGUIND+DQeD0=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -1071,8 +1084,8 @@ github.com/libp2p/go-libp2p v0.16.0/go.mod h1:ump42BsirwAWxKzsCiFnTtN1Yc+DuPu76f
github.com/libp2p/go-libp2p v0.17.0/go.mod h1:Fkin50rsGdv5mm5BshBUtPRZknt9esfmYXBOYcwOTgw=
github.com/libp2p/go-libp2p v0.18.0-rc1/go.mod h1:RgYlH7IIWHXREimC92bw5Lg1V2R5XmSzuLHb5fTnr+8=
github.com/libp2p/go-libp2p v0.18.0-rc3/go.mod h1:WYL+Xw1iuwi6rdfzw5VIEpD+HqzYucHZ6fcUuumbI3M=
-github.com/libp2p/go-libp2p v0.18.1 h1:IK9EOGNO2ZghU4F+dx9c4xfhMNZr45x06CijJaZE/ms=
-github.com/libp2p/go-libp2p v0.18.1/go.mod h1:ll44MqmrIFKpL3BwCexxzm+7RZ8exEtN96V1rRdMG7Y=
+github.com/libp2p/go-libp2p v0.19.0 h1:zosskMbaobL7UDCVLEe1m5CGs1TaFNFoN/M5XLiKg0U=
+github.com/libp2p/go-libp2p v0.19.0/go.mod h1:Ki9jJXLO2YqrTIFxofV7Twyd3INWPT97+r8hGt7XPjI=
github.com/libp2p/go-libp2p-asn-util v0.0.0-20200825225859-85005c6cf052/go.mod h1:nRMRTab+kZuk0LnKZpxhOVH/ndsdr2Nr//Zltc/vwgo=
github.com/libp2p/go-libp2p-asn-util v0.1.0 h1:rABPCO77SjdbJ/eJ/ynIo8vWICy1VEnL5JAxJbQLo1E=
github.com/libp2p/go-libp2p-asn-util v0.1.0/go.mod h1:wu+AnM9Ii2KgO5jMmS1rz9dvzTdj8BXqsPR9HR0XB7I=
@@ -1142,8 +1155,9 @@ github.com/libp2p/go-libp2p-core v0.10.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQR
github.com/libp2p/go-libp2p-core v0.11.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQRAMf0sX9mf2sbGg=
github.com/libp2p/go-libp2p-core v0.12.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQRAMf0sX9mf2sbGg=
github.com/libp2p/go-libp2p-core v0.13.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQRAMf0sX9mf2sbGg=
-github.com/libp2p/go-libp2p-core v0.14.0 h1:0kYSgiK/D7Eo28GTuRXo5YHsWwAisVpFCqCVPUd/vJs=
github.com/libp2p/go-libp2p-core v0.14.0/go.mod h1:tLasfcVdTXnixsLB0QYaT1syJOhsbrhG7q6pGrHtBg8=
+github.com/libp2p/go-libp2p-core v0.15.1 h1:0RY+Mi/ARK9DgG1g9xVQLb8dDaaU8tCePMtGALEfBnM=
+github.com/libp2p/go-libp2p-core v0.15.1/go.mod h1:agSaboYM4hzB1cWekgVReqV5M4g5M+2eNNejV+1EEhs=
github.com/libp2p/go-libp2p-crypto v0.0.1/go.mod h1:yJkNyDmO341d5wwXxDUGO0LykUVT72ImHNUqh5D/dBE=
github.com/libp2p/go-libp2p-crypto v0.0.2/go.mod h1:eETI5OUfBnvARGOHrJz2eWNyTUxEGZnBxMcbUjfIj4I=
github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI=
@@ -1199,8 +1213,9 @@ github.com/libp2p/go-libp2p-netutil v0.1.0 h1:zscYDNVEcGxyUpMd0JReUZTrpMfia8PmLK
github.com/libp2p/go-libp2p-netutil v0.1.0/go.mod h1:3Qv/aDqtMLTUyQeundkKsA+YCThNdbQD54k3TqjpbFU=
github.com/libp2p/go-libp2p-noise v0.1.1/go.mod h1:QDFLdKX7nluB7DEnlVPbz7xlLHdwHFA9HiohJRr3vwM=
github.com/libp2p/go-libp2p-noise v0.2.0/go.mod h1:IEbYhBBzGyvdLBoxxULL/SGbJARhUeqlO8lVSREYu2Q=
-github.com/libp2p/go-libp2p-noise v0.3.0 h1:NCVH7evhVt9njbTQshzT7N1S3Q6fjj9M11FCgfH5+cA=
github.com/libp2p/go-libp2p-noise v0.3.0/go.mod h1:JNjHbociDJKHD64KTkzGnzqJ0FEV5gHJa6AB00kbCNQ=
+github.com/libp2p/go-libp2p-noise v0.4.0 h1:khcMsGhHNdGqKE5LDLrnHwZvdGVMsrnD4GTkTWkwmLU=
+github.com/libp2p/go-libp2p-noise v0.4.0/go.mod h1:BzzY5pyzCYSyJbQy9oD8z5oP2idsafjt4/X42h9DjZU=
github.com/libp2p/go-libp2p-peer v0.0.1/go.mod h1:nXQvOBbwVqoP+T5Y5nCjeH4sP9IX/J0AMzcDUVruVoo=
github.com/libp2p/go-libp2p-peer v0.1.1/go.mod h1:jkF12jGB4Gk/IOo+yomm+7oLWxF278F7UnrYUQ1Q8es=
github.com/libp2p/go-libp2p-peer v0.2.0/go.mod h1:RCffaCvUyW2CJmG2gAWVqwePwW7JMgxjsHm7+J5kjWY=
@@ -1234,8 +1249,8 @@ github.com/libp2p/go-libp2p-quic-transport v0.13.0/go.mod h1:39/ZWJ1TW/jx1iFkKzz
github.com/libp2p/go-libp2p-quic-transport v0.15.0/go.mod h1:wv4uGwjcqe8Mhjj7N/Ic0aKjA+/10UnMlSzLO0yRpYQ=
github.com/libp2p/go-libp2p-quic-transport v0.15.2/go.mod h1:wv4uGwjcqe8Mhjj7N/Ic0aKjA+/10UnMlSzLO0yRpYQ=
github.com/libp2p/go-libp2p-quic-transport v0.16.0/go.mod h1:1BXjVMzr+w7EkPfiHkKnwsWjPjtfaNT0q8RS3tGDvEQ=
-github.com/libp2p/go-libp2p-quic-transport v0.16.1 h1:N/XqYXHurphPLDfXYhll8NyqzdZYQqAF4GIr7+SmLV8=
-github.com/libp2p/go-libp2p-quic-transport v0.16.1/go.mod h1:1BXjVMzr+w7EkPfiHkKnwsWjPjtfaNT0q8RS3tGDvEQ=
+github.com/libp2p/go-libp2p-quic-transport v0.17.0 h1:yFh4Gf5MlToAYLuw/dRvuzYd1EnE2pX3Lq1N6KDiWRQ=
+github.com/libp2p/go-libp2p-quic-transport v0.17.0/go.mod h1:x4pw61P3/GRCcSLypcQJE/Q2+E9f4X+5aRcZLXf20LM=
github.com/libp2p/go-libp2p-record v0.0.1/go.mod h1:grzqg263Rug/sRex85QrDOLntdFAymLDLm7lxMgU79Q=
github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q=
github.com/libp2p/go-libp2p-record v0.1.1/go.mod h1:VRgKajOyMVgP/F0L5g3kH7SVskp17vFi2xheb5uMJtg=
@@ -1244,8 +1259,8 @@ github.com/libp2p/go-libp2p-record v0.1.3 h1:R27hoScIhQf/A8XJZ8lYpnqh9LatJ5YbHs2
github.com/libp2p/go-libp2p-record v0.1.3/go.mod h1:yNUff/adKIfPnYQXgp6FQmNu3gLJ6EMg7+/vv2+9pY4=
github.com/libp2p/go-libp2p-resource-manager v0.1.0/go.mod h1:wJPNjeE4XQlxeidwqVY5G6DLOKqFK33u2n8blpl0I6Y=
github.com/libp2p/go-libp2p-resource-manager v0.1.3/go.mod h1:wJPNjeE4XQlxeidwqVY5G6DLOKqFK33u2n8blpl0I6Y=
-github.com/libp2p/go-libp2p-resource-manager v0.2.0 h1:Ul/k5d5StIpAtq7IapAEGh/2+0rwsJGXYJ6Kbzeedtc=
-github.com/libp2p/go-libp2p-resource-manager v0.2.0/go.mod h1:K+eCkiapf+ey/LADO4TaMpMTP9/Qde/uLlrnRqV4PLQ=
+github.com/libp2p/go-libp2p-resource-manager v0.2.1 h1:/0yqQQ4oT+3fEhUGGP2PhuIhdv10+pu5jLhvFNfUx/w=
+github.com/libp2p/go-libp2p-resource-manager v0.2.1/go.mod h1:K+eCkiapf+ey/LADO4TaMpMTP9/Qde/uLlrnRqV4PLQ=
github.com/libp2p/go-libp2p-routing v0.0.1/go.mod h1:N51q3yTr4Zdr7V8Jt2JIktVU+3xBBylx1MZeVA6t1Ys=
github.com/libp2p/go-libp2p-routing v0.1.0/go.mod h1:zfLhI1RI8RLEzmEaaPwzonRvXeeSHddONWkcTcB54nE=
github.com/libp2p/go-libp2p-routing-helpers v0.2.3 h1:xY61alxJ6PurSi+MXbywZpelvuU4U4p/gPTxjqCqTzY=
@@ -1286,12 +1301,14 @@ github.com/libp2p/go-libp2p-testing v0.5.0/go.mod h1:QBk8fqIL1XNcno/l3/hhaIEn4aL
github.com/libp2p/go-libp2p-testing v0.6.0/go.mod h1:QBk8fqIL1XNcno/l3/hhaIEn4aLRijpYOR+zVjjlh+A=
github.com/libp2p/go-libp2p-testing v0.7.0/go.mod h1:OLbdn9DbgdMwv00v+tlp1l3oe2Cl+FAjoWIA2pa0X6E=
github.com/libp2p/go-libp2p-testing v0.8.0/go.mod h1:gRdsNxQSxAZowTgcLY7CC33xPmleZzoBpqSYbWenqPc=
+github.com/libp2p/go-libp2p-testing v0.9.0/go.mod h1:Td7kbdkWqYTJYQGTwzlgXwaqldraIanyjuRiAbK/XQU=
github.com/libp2p/go-libp2p-testing v0.9.2 h1:dCpODRtRaDZKF8HXT9qqqgON+OMEB423Knrgeod8j84=
github.com/libp2p/go-libp2p-testing v0.9.2/go.mod h1:Td7kbdkWqYTJYQGTwzlgXwaqldraIanyjuRiAbK/XQU=
github.com/libp2p/go-libp2p-tls v0.1.3/go.mod h1:wZfuewxOndz5RTnCAxFliGjvYSDA40sKitV4c50uI1M=
github.com/libp2p/go-libp2p-tls v0.3.0/go.mod h1:fwF5X6PWGxm6IDRwF3V8AVCCj/hOd5oFlg+wo2FxJDY=
-github.com/libp2p/go-libp2p-tls v0.3.1 h1:lsE2zYte+rZCEOHF72J1Fg3XK3dGQyKvI6i5ehJfEp0=
github.com/libp2p/go-libp2p-tls v0.3.1/go.mod h1:fwF5X6PWGxm6IDRwF3V8AVCCj/hOd5oFlg+wo2FxJDY=
+github.com/libp2p/go-libp2p-tls v0.4.1 h1:1ByJUbyoMXvYXDoW6lLsMxqMViQNXmt+CfQqlnCpY+M=
+github.com/libp2p/go-libp2p-tls v0.4.1/go.mod h1:EKCixHEysLNDlLUoKxv+3f/Lp90O2EXNjTr0UQDnrIw=
github.com/libp2p/go-libp2p-transport v0.0.1/go.mod h1:UzbUs9X+PHOSw7S3ZmeOxfnwaQY5vGDzZmKPod3N3tk=
github.com/libp2p/go-libp2p-transport v0.0.5/go.mod h1:StoY3sx6IqsP6XKoabsPnHCwqKXWUMWU7Rfcsubee/A=
github.com/libp2p/go-libp2p-transport-upgrader v0.0.4/go.mod h1:RGq+tupk+oj7PzL2kn/m1w6YXxcIAYJYeI90h6BGgUc=
@@ -1325,8 +1342,8 @@ github.com/libp2p/go-libp2p-yamux v0.6.0/go.mod h1:MRhd6mAYnFRnSISp4M8i0ClV/j+mW
github.com/libp2p/go-libp2p-yamux v0.7.0/go.mod h1:fMyA0CsPfHkIuBU0wjRGrCjTBFiXTXxG0k5M4ETv+08=
github.com/libp2p/go-libp2p-yamux v0.8.0/go.mod h1:yTkPgN2ib8FHyU1ZcVD7aelzyAqXXwEPbyx+aSKm9h8=
github.com/libp2p/go-libp2p-yamux v0.8.1/go.mod h1:rUozF8Jah2dL9LLGyBaBeTQeARdwhefMCTQVQt6QobE=
-github.com/libp2p/go-libp2p-yamux v0.9.0 h1:j+gnKykADCI/3cZlacOYBjQXDsncxgcwzJ1zw6Z6pts=
-github.com/libp2p/go-libp2p-yamux v0.9.0/go.mod h1:tpJKkRH9LlHj0VQh9Y9RP1pmF7yCS9ixxY/oSv+hhhQ=
+github.com/libp2p/go-libp2p-yamux v0.9.1 h1:oplewiRix8s45SOrI30rCPZG5mM087YZp+VYhXAh4+c=
+github.com/libp2p/go-libp2p-yamux v0.9.1/go.mod h1:wRc6wvyxQINFcKe7daL4BeQ02Iyp+wxyC8WCNfngBrA=
github.com/libp2p/go-maddr-filter v0.0.1/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q=
github.com/libp2p/go-maddr-filter v0.0.4/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q=
github.com/libp2p/go-maddr-filter v0.0.5/go.mod h1:Jk+36PMfIqCJhAnaASRH83bdAvfDRp/w6ENFaC9bG+M=
@@ -1346,8 +1363,9 @@ github.com/libp2p/go-msgio v0.0.2/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+
github.com/libp2p/go-msgio v0.0.3/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ=
github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ=
github.com/libp2p/go-msgio v0.0.6/go.mod h1:4ecVB6d9f4BDSL5fqvPiC4A3KivjWn+Venn/1ALLMWA=
-github.com/libp2p/go-msgio v0.1.0 h1:8Q7g/528ivAlfXTFWvWhVjTE8XG8sDTkRUKPYh9+5Q8=
github.com/libp2p/go-msgio v0.1.0/go.mod h1:eNlv2vy9V2X/kNldcZ+SShFE++o2Yjxwx6RAYsmgJnE=
+github.com/libp2p/go-msgio v0.2.0 h1:W6shmB+FeynDrUVl2dgFQvzfBZcXiyqY4VmpQLu9FqU=
+github.com/libp2p/go-msgio v0.2.0/go.mod h1:dBVM1gW3Jk9XqHkU4eKdGvVHdLa51hoGfll6jMJMSlY=
github.com/libp2p/go-nat v0.0.3/go.mod h1:88nUEt0k0JD45Bk93NIwDqjlhiOwOoV36GchpcVc1yI=
github.com/libp2p/go-nat v0.0.4/go.mod h1:Nmw50VAvKuk38jUBcmNh6p9lUJLoODbJRvYAa/+KSDo=
github.com/libp2p/go-nat v0.0.5/go.mod h1:B7NxsVNPZmRLvMOwiEO1scOSyjA56zxYAGv1yQgRkEU=
@@ -1426,8 +1444,8 @@ github.com/libp2p/go-yamux/v2 v2.2.0/go.mod h1:3So6P6TV6r75R9jiBpiIKgU/66lOarCZj
github.com/libp2p/go-yamux/v2 v2.3.0/go.mod h1:iTU+lOIn/2h0AgKcL49clNTwfEw+WSfDYrXe05EyKIs=
github.com/libp2p/go-yamux/v3 v3.0.1/go.mod h1:s2LsDhHbh+RfCsQoICSYt58U2f8ijtPANFD8BmE74Bo=
github.com/libp2p/go-yamux/v3 v3.0.2/go.mod h1:s2LsDhHbh+RfCsQoICSYt58U2f8ijtPANFD8BmE74Bo=
-github.com/libp2p/go-yamux/v3 v3.1.0 h1:2johPiST4xsXsqQ/38C2MAERw0hJ+t8oehHWA8F2R3Q=
-github.com/libp2p/go-yamux/v3 v3.1.0/go.mod h1:jeLEQgLXqE2YqX1ilAClIfCMDY+0uXQUKmmb/qp0gT4=
+github.com/libp2p/go-yamux/v3 v3.1.1 h1:X0qSVodCZciOu/f4KTp9V+O0LAqcqP2tdaUGB0+0lng=
+github.com/libp2p/go-yamux/v3 v3.1.1/go.mod h1:jeLEQgLXqE2YqX1ilAClIfCMDY+0uXQUKmmb/qp0gT4=
github.com/libp2p/zeroconf/v2 v2.1.1/go.mod h1:fuJqLnUwZTshS3U/bMRJ3+ow/v9oid1n0DmyYyNO1Xs=
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
@@ -1436,8 +1454,9 @@ github.com/lucas-clemente/quic-go v0.19.3/go.mod h1:ADXpNbTQjq1hIzCpB+y/k5iz4n4z
github.com/lucas-clemente/quic-go v0.21.2/go.mod h1:vF5M1XqhBAHgbjKcJOXY3JZz3GP0T3FQhz/uyOUS38Q=
github.com/lucas-clemente/quic-go v0.23.0/go.mod h1:paZuzjXCE5mj6sikVLMvqXk8lJV2AsqtJ6bDhjEfxx0=
github.com/lucas-clemente/quic-go v0.24.0/go.mod h1:paZuzjXCE5mj6sikVLMvqXk8lJV2AsqtJ6bDhjEfxx0=
-github.com/lucas-clemente/quic-go v0.25.0 h1:K+X9Gvd7JXsOHtU0N2icZ2Nw3rx82uBej3mP4CLgibc=
github.com/lucas-clemente/quic-go v0.25.0/go.mod h1:YtzP8bxRVCBlO77yRanE264+fY/T2U9ZlW1AaHOsMOg=
+github.com/lucas-clemente/quic-go v0.27.0 h1:v6WY87q9zD4dKASbG8hy/LpzAVNzEQzw8sEIeloJsc4=
+github.com/lucas-clemente/quic-go v0.27.0/go.mod h1:AzgQoPda7N+3IqMMMkywBKggIFo2KT6pfnlrQ2QieeI=
github.com/lucasb-eyer/go-colorful v1.0.3 h1:QIbQXiugsb+q10B+MI+7DI1oQLdmnep86tWFlaaUAac=
github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/lufia/iostat v1.1.0/go.mod h1:rEPNA0xXgjHQjuI5Cy05sLlS2oRcSlWHRLrvh/AQ+Pg=
@@ -1459,13 +1478,16 @@ github.com/marten-seemann/qtls v0.10.0/go.mod h1:UvMd1oaYDACI99/oZUYLzMCkBXQVT0a
github.com/marten-seemann/qtls-go1-15 v0.1.1/go.mod h1:GyFwywLKkRt+6mfU99csTEY1joMZz5vmB1WNZH3P81I=
github.com/marten-seemann/qtls-go1-15 v0.1.4/go.mod h1:GyFwywLKkRt+6mfU99csTEY1joMZz5vmB1WNZH3P81I=
github.com/marten-seemann/qtls-go1-15 v0.1.5/go.mod h1:GyFwywLKkRt+6mfU99csTEY1joMZz5vmB1WNZH3P81I=
-github.com/marten-seemann/qtls-go1-16 v0.1.4 h1:xbHbOGGhrenVtII6Co8akhLEdrawwB2iHl5yhJRpnco=
github.com/marten-seemann/qtls-go1-16 v0.1.4/go.mod h1:gNpI2Ol+lRS3WwSOtIUUtRwZEQMXjYK+dQSBFbethAk=
+github.com/marten-seemann/qtls-go1-16 v0.1.5 h1:o9JrYPPco/Nukd/HpOHMHZoBDXQqoNtUCmny98/1uqQ=
+github.com/marten-seemann/qtls-go1-16 v0.1.5/go.mod h1:gNpI2Ol+lRS3WwSOtIUUtRwZEQMXjYK+dQSBFbethAk=
github.com/marten-seemann/qtls-go1-17 v0.1.0-rc.1/go.mod h1:fz4HIxByo+LlWcreM4CZOYNuz3taBQ8rN2X6FqvaWo8=
-github.com/marten-seemann/qtls-go1-17 v0.1.0 h1:P9ggrs5xtwiqXv/FHNwntmuLMNq3KaSIG93AtAZ48xk=
github.com/marten-seemann/qtls-go1-17 v0.1.0/go.mod h1:fz4HIxByo+LlWcreM4CZOYNuz3taBQ8rN2X6FqvaWo8=
-github.com/marten-seemann/qtls-go1-18 v0.1.0-beta.1 h1:EnzzN9fPUkUck/1CuY1FlzBaIYMoiBsdwTNmNGkwUUM=
+github.com/marten-seemann/qtls-go1-17 v0.1.1 h1:DQjHPq+aOzUeh9/lixAGunn6rIOQyWChPSI4+hgW7jc=
+github.com/marten-seemann/qtls-go1-17 v0.1.1/go.mod h1:C2ekUKcDdz9SDWxec1N/MvcXBpaX9l3Nx67XaR84L5s=
github.com/marten-seemann/qtls-go1-18 v0.1.0-beta.1/go.mod h1:PUhIQk19LoFt2174H4+an8TYvWOGjb/hHwphBeaDHwI=
+github.com/marten-seemann/qtls-go1-18 v0.1.1 h1:qp7p7XXUFL7fpBvSS1sWD+uSqPvzNQK43DH+/qEkj0Y=
+github.com/marten-seemann/qtls-go1-18 v0.1.1/go.mod h1:mJttiymBAByA49mhlNZZGrH5u1uXYZJ+RW28Py7f4m4=
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk=
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
@@ -1508,8 +1530,9 @@ github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKju
github.com/miekg/dns v1.1.28/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
-github.com/miekg/dns v1.1.43 h1:JKfpVSCB84vrAmHzyrsxB5NAr5kLoMXZArPSw7Qlgyg=
github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4=
+github.com/miekg/dns v1.1.48 h1:Ucfr7IIVyMBz4lRE8qmGUuZ4Wt3/ZGu9hmcMT3Uu4tQ=
+github.com/miekg/dns v1.1.48/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME=
github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c h1:bzE/A84HN25pxAuk9Eej1Kz9OUelF97nAc82bDquQI8=
github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c/go.mod h1:0SQS9kMwD2VsyFEB++InYyBJroV/FRmBgcydeSUcJms=
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc=
@@ -1615,8 +1638,9 @@ github.com/multiformats/go-multistream v0.1.0/go.mod h1:fJTiDfXJVmItycydCnNx4+wS
github.com/multiformats/go-multistream v0.1.1/go.mod h1:KmHZ40hzVxiaiwlj3MEbYgK9JFk2/9UktWZAF54Du38=
github.com/multiformats/go-multistream v0.2.0/go.mod h1:5GZPQZbkWOLOn3J2y4Y99vVW7vOfsAflxARk3x14o6k=
github.com/multiformats/go-multistream v0.2.1/go.mod h1:5GZPQZbkWOLOn3J2y4Y99vVW7vOfsAflxARk3x14o6k=
-github.com/multiformats/go-multistream v0.2.2 h1:TCYu1BHTDr1F/Qm75qwYISQdzGcRdC21nFgQW7l7GBo=
github.com/multiformats/go-multistream v0.2.2/go.mod h1:UIcnm7Zuo8HKG+HkWgfQsGL+/MIEhyTqbODbIUwSXKs=
+github.com/multiformats/go-multistream v0.3.0 h1:yX1v4IWseLPmr0rmnDo148wWJbNx40JxBZGmQb5fUP4=
+github.com/multiformats/go-multistream v0.3.0/go.mod h1:ODRoqamLUsETKS9BNcII4gcRsJBU5VAwRIv7O39cEXg=
github.com/multiformats/go-varint v0.0.1/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
github.com/multiformats/go-varint v0.0.2/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
@@ -1658,8 +1682,9 @@ github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E=
-github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc=
github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0=
+github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
+github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
@@ -1731,8 +1756,9 @@ github.com/prometheus/client_golang v1.4.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3O
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66IdsO+O441Eve7ptJDU=
github.com/prometheus/client_golang v1.10.0/go.mod h1:WJM3cc3yu7XKBKa/I8WeZm+V3eltZnBwfENSU7mdogU=
-github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ=
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
+github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk=
+github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -1752,8 +1778,10 @@ github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16
github.com/prometheus/common v0.18.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
-github.com/prometheus/common v0.30.0 h1:JEkYlQnpzrzQFxi6gnukFPdQ+ac82oRhzMcIduJu/Ug=
github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
+github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
+github.com/prometheus/common v0.33.0 h1:rHgav/0a6+uYgGdNt3jwz8FNSesO/Hsang3O0T9A5SE=
+github.com/prometheus/common v0.33.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE=
github.com/prometheus/node_exporter v1.0.0-rc.0.0.20200428091818-01054558c289/go.mod h1:FGbBv5OPKjch+jNUJmEQpMZytIdyW0NdBtWFcfSKusc=
github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
@@ -2070,8 +2098,9 @@ go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+
go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
-go.uber.org/multierr v1.7.0 h1:zaiO/rmgFjbmCXdSYJWQcdvOCsthmdaHfr3Gm2Kx4Ec=
go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
+go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
+go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
@@ -2081,8 +2110,9 @@ go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
-go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI=
go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
+go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8=
+go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE=
go4.org v0.0.0-20200411211856-f5505b9728dd h1:BNJlw5kRTzdmyfh5U8F93HA2OwkP7ZGwA51eJ/0wKOU=
go4.org v0.0.0-20200411211856-f5505b9728dd/go.mod h1:CIiUVy99QCPfoE13bO4EZaz5GZMZXMSBGhxRdsvzbkg=
@@ -2132,8 +2162,9 @@ golang.org/x/crypto v0.0.0-20210813211128-0a44fdfbc16e/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b h1:QAqMVf3pSa6eeTsuklijukjXBlj7Es2QQplab+/RbQ4=
golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA=
+golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20181106170214-d68db9428509/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -2242,11 +2273,15 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 h1:CIJ76btIcR3eFI5EgSo6k1qKw9KJexJuRLI9G7Hp5wE=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220418201149-a630d4f3e7a2 h1:6mzvA99KwZxbOrxww4EvWVQUnN1+xEu9tafK5ZxkYeA=
+golang.org/x/net v0.0.0-20220418201149-a630d4f3e7a2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -2255,6 +2290,7 @@ golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4Iltr
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -2372,12 +2408,16 @@ golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211025112917-711f33c9992c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211209171907-798191bca915 h1:P+8mCzuEpyszAT6T42q0sxU+eveBAF/cJ2Kp0x6/8+0=
golang.org/x/sys v0.0.0-20211209171907-798191bca915/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad h1:ntjMns5wyP/fN65tdBD4g8J5w8n015+iIIs9rtjXkY0=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf h1:MZ2shdL+ZM/XzY3ZGOnh4Nlpnxz5GSOhOmtHo3iPU6M=
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -2460,13 +2500,15 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20=
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U=
+golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
@@ -2564,8 +2606,9 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
-google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M=
+google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -2578,8 +2621,9 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
+google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/itests/worker_test.go b/itests/worker_test.go
index 03b8cceba..c1fba2600 100644
--- a/itests/worker_test.go
+++ b/itests/worker_test.go
@@ -2,6 +2,7 @@ package itests
import (
"context"
+ "strings"
"sync/atomic"
"testing"
"time"
@@ -40,6 +41,27 @@ func TestWorkerPledge(t *testing.T) {
miner.PledgeSectors(ctx, 1, 0, nil)
}
+func TestWorkerDataCid(t *testing.T) {
+ ctx := context.Background()
+ _, miner, worker, _ := kit.EnsembleWorker(t, kit.WithAllSubsystems(), kit.ThroughRPC(), kit.WithNoLocalSealing(true),
+ kit.WithTaskTypes([]sealtasks.TaskType{sealtasks.TTFetch, sealtasks.TTCommit1, sealtasks.TTFinalize, sealtasks.TTDataCid, sealtasks.TTAddPiece, sealtasks.TTPreCommit1, sealtasks.TTPreCommit2, sealtasks.TTCommit2, sealtasks.TTUnseal})) // no mock proofs
+
+ e, err := worker.Enabled(ctx)
+ require.NoError(t, err)
+ require.True(t, e)
+ /*
+ pi, err := miner.ComputeDataCid(ctx, 1016, strings.NewReader(strings.Repeat("a", 1016)))
+ require.NoError(t, err)
+ require.Equal(t, abi.PaddedPieceSize(1024), pi.Size)
+ require.Equal(t, "baga6ea4seaqlhznlutptgfwhffupyer6txswamerq5fc2jlwf2lys2mm5jtiaeq", pi.PieceCID.String())
+ */
+ bigPiece := abi.PaddedPieceSize(16 << 20).Unpadded()
+ pi, err := miner.ComputeDataCid(ctx, bigPiece, strings.NewReader(strings.Repeat("a", int(bigPiece))))
+ require.NoError(t, err)
+ require.Equal(t, bigPiece.Padded(), pi.Size)
+ require.Equal(t, "baga6ea4seaqmhoxl2ybw5m2wyd3pt3h4zmp7j52yumzu2rar26twns3uocq7yfa", pi.PieceCID.String())
+}
+
func TestWinningPostWorker(t *testing.T) {
prevIns := build.InsecurePoStValidation
build.InsecurePoStValidation = false
diff --git a/lib/rpcenc/reader.go b/lib/rpcenc/reader.go
index 6693dc83d..61ae80ba9 100644
--- a/lib/rpcenc/reader.go
+++ b/lib/rpcenc/reader.go
@@ -211,6 +211,7 @@ type RpcReader struct {
postBody io.ReadCloser // nil on initial head request
next chan *RpcReader // on head will get us the postBody after sending resStart
mustRedirect bool
+ eof bool
res chan readRes
beginOnce *sync.Once
@@ -266,6 +267,10 @@ func (w *RpcReader) Read(p []byte) (int, error) {
w.beginPost()
})
+ if w.eof {
+ return 0, io.EOF
+ }
+
if w.mustRedirect {
return 0, ErrMustRedirect
}
@@ -276,6 +281,9 @@ func (w *RpcReader) Read(p []byte) (int, error) {
n, err := w.postBody.Read(p)
if err != nil {
+ if err == io.EOF {
+ w.eof = true
+ }
w.closeOnce.Do(func() {
close(w.res)
})
diff --git a/node/config/def.go b/node/config/def.go
index 0401b0e44..04c512082 100644
--- a/node/config/def.go
+++ b/node/config/def.go
@@ -199,8 +199,10 @@ func DefaultStorageMiner() *StorageMiner {
Enable: true,
EntriesCacheCapacity: 1024,
EntriesChunkSize: 16384,
- TopicName: "/indexer/ingest/mainnet",
- PurgeCacheOnStart: false,
+ // The default empty TopicName means it is inferred from network name, in the following
+ // format: "/indexer/ingest/"
+ TopicName: "",
+ PurgeCacheOnStart: false,
},
Subsystems: MinerSubsystemConfig{
diff --git a/node/config/def_test.go b/node/config/def_test.go
index 9a450e66b..d644ae336 100644
--- a/node/config/def_test.go
+++ b/node/config/def_test.go
@@ -74,8 +74,8 @@ func TestDefaultMinerRoundtrip(t *testing.T) {
require.True(t, reflect.DeepEqual(c, c2))
}
-func TestDefaultStorageMiner_SetsIndexIngestTopic(t *testing.T) {
+func TestDefaultStorageMiner_IsEmpty(t *testing.T) {
subject := DefaultStorageMiner()
require.True(t, subject.IndexProvider.Enable)
- require.Equal(t, "/indexer/ingest/mainnet", subject.IndexProvider.TopicName)
+ require.Equal(t, "", subject.IndexProvider.TopicName)
}
diff --git a/node/config/doc_gen.go b/node/config/doc_gen.go
index 7d3306d91..cf51fb13e 100644
--- a/node/config/doc_gen.go
+++ b/node/config/doc_gen.go
@@ -404,7 +404,9 @@ advertisements that include more multihashes than the configured EntriesChunkSiz
Type: "string",
Comment: `TopicName sets the topic name on which the changes to the advertised content are announced.
-Defaults to '/indexer/ingest/mainnet' if not specified.`,
+If not explicitly specified, the topic name is automatically inferred from the network name
+in following format: '/indexer/ingest/'
+Defaults to empty, which implies the topic name is inferred from network name.`,
},
{
Name: "PurgeCacheOnStart",
diff --git a/node/config/types.go b/node/config/types.go
index 3d50a14e6..b5b1fae7e 100644
--- a/node/config/types.go
+++ b/node/config/types.go
@@ -186,7 +186,9 @@ type IndexProviderConfig struct {
EntriesChunkSize int
// TopicName sets the topic name on which the changes to the advertised content are announced.
- // Defaults to '/indexer/ingest/mainnet' if not specified.
+ // If not explicitly specified, the topic name is automatically inferred from the network name
+ // in following format: '/indexer/ingest/'
+ // Defaults to empty, which implies the topic name is inferred from network name.
TopicName string
// PurgeCacheOnStart sets whether to clear any cached entries chunks when the provider engine
diff --git a/node/impl/storminer.go b/node/impl/storminer.go
index 86e0ba0fc..f34761d89 100644
--- a/node/impl/storminer.go
+++ b/node/impl/storminer.go
@@ -425,6 +425,10 @@ func (sm *StorageMinerAPI) ComputeWindowPoSt(ctx context.Context, dlIdx uint64,
return sm.WdPoSt.ComputePoSt(ctx, dlIdx, ts)
}
+func (sm *StorageMinerAPI) ComputeDataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData sto.Data) (abi.PieceInfo, error) {
+ return sm.StorageMgr.DataCid(ctx, pieceSize, pieceData)
+}
+
func (sm *StorageMinerAPI) WorkerConnect(ctx context.Context, url string) error {
w, err := connectRemoteWorker(ctx, sm, url)
if err != nil {
diff --git a/node/modules/storageminer_idxprov.go b/node/modules/storageminer_idxprov.go
index 365648691..1102f8295 100644
--- a/node/modules/storageminer_idxprov.go
+++ b/node/modules/storageminer_idxprov.go
@@ -13,6 +13,7 @@ import (
"go.uber.org/fx"
"golang.org/x/xerrors"
+ "github.com/filecoin-project/lotus/build"
"github.com/filecoin-project/lotus/node/config"
"github.com/filecoin-project/lotus/node/modules/dtypes"
)
@@ -24,8 +25,20 @@ type IdxProv struct {
Datastore dtypes.MetadataDS
}
-func IndexProvider(cfg config.IndexProviderConfig) func(params IdxProv, marketHost host.Host, dt dtypes.ProviderDataTransfer, maddr dtypes.MinerAddress, ps *pubsub.PubSub) (provider.Interface, error) {
- return func(args IdxProv, marketHost host.Host, dt dtypes.ProviderDataTransfer, maddr dtypes.MinerAddress, ps *pubsub.PubSub) (provider.Interface, error) {
+func IndexProvider(cfg config.IndexProviderConfig) func(params IdxProv, marketHost host.Host, dt dtypes.ProviderDataTransfer, maddr dtypes.MinerAddress, ps *pubsub.PubSub, nn dtypes.NetworkName) (provider.Interface, error) {
+ return func(args IdxProv, marketHost host.Host, dt dtypes.ProviderDataTransfer, maddr dtypes.MinerAddress, ps *pubsub.PubSub, nn dtypes.NetworkName) (provider.Interface, error) {
+ topicName := cfg.TopicName
+ // If indexer topic name is left empty, infer it from the network name.
+ if topicName == "" {
+ // Use the same mechanism as the Dependency Injection (DI) to construct the topic name,
+ // so that we are certain it is consistent with the name allowed by the subscription
+ // filter.
+ //
+ // See: lp2p.GossipSub.
+ topicName = build.IndexerIngestTopic(nn)
+ log.Debugw("Inferred indexer topic from network name", "topic", topicName)
+ }
+
ipds := namespace.Wrap(args.Datastore, datastore.NewKey("/index-provider"))
var opts = []engine.Option{
engine.WithDatastore(ipds),
@@ -33,24 +46,24 @@ func IndexProvider(cfg config.IndexProviderConfig) func(params IdxProv, marketHo
engine.WithRetrievalAddrs(marketHost.Addrs()...),
engine.WithEntriesCacheCapacity(cfg.EntriesCacheCapacity),
engine.WithEntriesChunkSize(cfg.EntriesChunkSize),
- engine.WithTopicName(cfg.TopicName),
+ engine.WithTopicName(topicName),
engine.WithPurgeCacheOnStart(cfg.PurgeCacheOnStart),
}
llog := log.With(
"idxProvEnabled", cfg.Enable,
"pid", marketHost.ID(),
- "topic", cfg.TopicName,
+ "topic", topicName,
"retAddrs", marketHost.Addrs())
// If announcements to the network are enabled, then set options for datatransfer publisher.
if cfg.Enable {
// Join the indexer topic using the market's pubsub instance. Otherwise, the provider
// engine would create its own instance of pubsub down the line in go-legs, which has
// no validators by default.
- t, err := ps.Join(cfg.TopicName)
+ t, err := ps.Join(topicName)
if err != nil {
llog.Errorw("Failed to join indexer topic", "err", err)
- return nil, xerrors.Errorf("joining indexer topic %s: %w", cfg.TopicName, err)
+ return nil, xerrors.Errorf("joining indexer topic %s: %w", topicName, err)
}
// Get the miner ID and set as extra gossip data.
@@ -62,9 +75,10 @@ func IndexProvider(cfg config.IndexProviderConfig) func(params IdxProv, marketHo
engine.WithExtraGossipData(ma.Bytes()),
engine.WithTopic(t),
)
- llog = llog.With("extraGossipData", ma)
+ llog = llog.With("extraGossipData", ma, "publisher", "data-transfer")
} else {
opts = append(opts, engine.WithPublisherKind(engine.NoPublisher))
+ llog = llog.With("publisher", "none")
}
// Instantiate the index provider engine.
diff --git a/node/modules/storageminer_idxprov_test.go b/node/modules/storageminer_idxprov_test.go
new file mode 100644
index 000000000..c9189349b
--- /dev/null
+++ b/node/modules/storageminer_idxprov_test.go
@@ -0,0 +1,97 @@
+package modules_test
+
+import (
+ "context"
+ "strings"
+ "testing"
+ "time"
+
+ "github.com/filecoin-project/go-address"
+ provider "github.com/filecoin-project/index-provider"
+ "github.com/ipfs/go-datastore"
+ "github.com/libp2p/go-libp2p"
+ "github.com/libp2p/go-libp2p-core/host"
+ pubsub "github.com/libp2p/go-libp2p-pubsub"
+ "github.com/stretchr/testify/require"
+ "go.uber.org/fx"
+
+ "github.com/filecoin-project/lotus/node/config"
+ "github.com/filecoin-project/lotus/node/modules"
+ "github.com/filecoin-project/lotus/node/modules/dtypes"
+)
+
+func Test_IndexProviderTopic(t *testing.T) {
+ tests := []struct {
+ name string
+ givenAllowedTopics []string
+ givenConfiguredTopic string
+ givenNetworkName dtypes.NetworkName
+ wantErr string
+ }{
+ {
+ name: "Joins configured topic when allowed",
+ givenAllowedTopics: []string{"fish"},
+ givenConfiguredTopic: "fish",
+ },
+ {
+ name: "Joins topic inferred from network name when allowed",
+ givenAllowedTopics: []string{"/indexer/ingest/fish"},
+ givenNetworkName: "fish",
+ },
+ {
+ name: "Fails to join configured topic when disallowed",
+ givenAllowedTopics: []string{"/indexer/ingest/fish"},
+ givenConfiguredTopic: "lobster",
+ wantErr: "joining indexer topic lobster: topic is not allowed by the subscription filter",
+ },
+ {
+ name: "Fails to join topic inferred from network name when disallowed",
+ givenAllowedTopics: []string{"/indexer/ingest/fish"},
+ givenNetworkName: "lobster",
+ wantErr: "joining indexer topic /indexer/ingest/lobster: topic is not allowed by the subscription filter",
+ },
+ }
+
+ for _, test := range tests {
+ test := test
+ t.Run(test.name, func(t *testing.T) {
+ ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
+ defer cancel()
+
+ h, err := libp2p.New()
+ require.NoError(t, err)
+ defer func() {
+ require.NoError(t, h.Close())
+ }()
+
+ filter := pubsub.WithSubscriptionFilter(pubsub.NewAllowlistSubscriptionFilter(test.givenAllowedTopics...))
+ ps, err := pubsub.NewGossipSub(ctx, h, filter)
+ require.NoError(t, err)
+
+ app := fx.New(
+ fx.Provide(
+ func() host.Host { return h },
+ func() dtypes.NetworkName { return test.givenNetworkName },
+ func() dtypes.MinerAddress { return dtypes.MinerAddress(address.TestAddress) },
+ func() dtypes.ProviderDataTransfer { return nil },
+ func() *pubsub.PubSub { return ps },
+ func() dtypes.MetadataDS { return datastore.NewMapDatastore() },
+ modules.IndexProvider(config.IndexProviderConfig{
+ Enable: true,
+ TopicName: test.givenConfiguredTopic,
+ }),
+ ),
+ fx.Invoke(func(p provider.Interface) {}),
+ )
+ err = app.Start(ctx)
+
+ if test.wantErr == "" {
+ require.NoError(t, err)
+ err = app.Stop(ctx)
+ require.NoError(t, err)
+ } else {
+ require.True(t, strings.HasSuffix(err.Error(), test.wantErr))
+ }
+ })
+ }
+}
diff --git a/testplans/composer/Dockerfile b/testplans/composer/Dockerfile
index 6142650be..fc8ee0158 100644
--- a/testplans/composer/Dockerfile
+++ b/testplans/composer/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.15-buster as tg-build
+FROM golang:1.17.9-buster as tg-build
ARG TESTGROUND_REF="oni"
WORKDIR /usr/src
diff --git a/testplans/docker-images/Dockerfile.oni-buildbase b/testplans/docker-images/Dockerfile.oni-buildbase
index 265066537..fd5f98a67 100644
--- a/testplans/docker-images/Dockerfile.oni-buildbase
+++ b/testplans/docker-images/Dockerfile.oni-buildbase
@@ -1,4 +1,4 @@
-ARG GO_VERSION=1.16.3
+ARG GO_VERSION=1.17.9
FROM golang:${GO_VERSION}-buster
diff --git a/testplans/docker-images/Dockerfile.oni-runtime b/testplans/docker-images/Dockerfile.oni-runtime
index 27144069a..e2327f2af 100644
--- a/testplans/docker-images/Dockerfile.oni-runtime
+++ b/testplans/docker-images/Dockerfile.oni-runtime
@@ -1,4 +1,4 @@
-ARG GO_VERSION=1.16.3
+ARG GO_VERSION=1.17.9
FROM golang:${GO_VERSION}-buster as downloader
diff --git a/testplans/docker-images/Dockerfile.oni-runtime-debug b/testplans/docker-images/Dockerfile.oni-runtime-debug
index 856fcc1fc..8d1e411a1 100644
--- a/testplans/docker-images/Dockerfile.oni-runtime-debug
+++ b/testplans/docker-images/Dockerfile.oni-runtime-debug
@@ -1,4 +1,4 @@
-ARG GO_VERSION=1.16.3
+ARG GO_VERSION=1.17.9
FROM golang:${GO_VERSION}-buster as downloader
diff --git a/testplans/lotus-soup/go.mod b/testplans/lotus-soup/go.mod
index a89c6f038..033dfacac 100644
--- a/testplans/lotus-soup/go.mod
+++ b/testplans/lotus-soup/go.mod
@@ -1,6 +1,6 @@
module github.com/filecoin-project/lotus/testplans/lotus-soup
-go 1.16
+go 1.17
require (
contrib.go.opencensus.io/exporter/prometheus v0.4.0
@@ -18,7 +18,6 @@ require (
github.com/google/uuid v1.3.0
github.com/gorilla/mux v1.8.0
github.com/hashicorp/go-multierror v1.1.1
- github.com/influxdata/influxdb v1.9.4 // indirect
github.com/ipfs/go-cid v0.1.0
github.com/ipfs/go-datastore v0.5.1
github.com/ipfs/go-ipfs-files v0.0.9
@@ -28,7 +27,7 @@ require (
github.com/ipfs/go-unixfs v0.3.1
github.com/ipld/go-car v0.3.3
github.com/kpacha/opencensus-influxdb v0.0.0-20181102202715-663e2683a27c
- github.com/libp2p/go-libp2p v0.18.0
+ github.com/libp2p/go-libp2p v0.18.1
github.com/libp2p/go-libp2p-core v0.14.0
github.com/libp2p/go-libp2p-pubsub-tracer v0.0.0-20200626141350-e730b32bf1e6
github.com/multiformats/go-multiaddr v0.5.0
@@ -37,6 +36,323 @@ require (
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
)
+require (
+ github.com/BurntSushi/toml v0.4.1 // indirect
+ github.com/DataDog/zstd v1.4.1 // indirect
+ github.com/GeertJohan/go.incremental v1.0.0 // indirect
+ github.com/GeertJohan/go.rice v1.0.2 // indirect
+ github.com/Gurpartap/async v0.0.0-20180927173644-4f7f499dd9ee // indirect
+ github.com/Kubuxu/imtui v0.0.0-20210401140320-41663d68d0fa // indirect
+ github.com/StackExchange/wmi v1.2.1 // indirect
+ github.com/Stebalien/go-bitfield v0.0.1 // indirect
+ github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
+ github.com/akavel/rsrc v0.8.0 // indirect
+ github.com/alecthomas/units v0.0.0-20210927113745-59d0afb8317a // indirect
+ github.com/avast/retry-go v2.6.0+incompatible // indirect
+ github.com/benbjohnson/clock v1.2.0 // indirect
+ github.com/beorn7/perks v1.0.1 // indirect
+ github.com/bep/debounce v1.2.0 // indirect
+ github.com/btcsuite/btcd v0.22.0-beta // indirect
+ github.com/buger/goterm v1.0.3 // indirect
+ github.com/cespare/xxhash v1.1.0 // indirect
+ github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/cheekybits/genny v1.0.0 // indirect
+ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect
+ github.com/cilium/ebpf v0.2.0 // indirect
+ github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 // indirect
+ github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327 // indirect
+ github.com/coreos/go-systemd/v22 v22.3.2 // indirect
+ github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
+ github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 // indirect
+ github.com/cskr/pubsub v1.0.2 // indirect
+ github.com/daaku/go.zipexe v1.0.0 // indirect
+ github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
+ github.com/detailyang/go-fallocate v0.0.0-20180908115635-432fa640bd2e // indirect
+ github.com/dgraph-io/badger/v2 v2.2007.3 // indirect
+ github.com/dgraph-io/ristretto v0.1.0 // indirect
+ github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 // indirect
+ github.com/docker/go-units v0.4.0 // indirect
+ github.com/drand/kyber v1.1.7 // indirect
+ github.com/drand/kyber-bls12381 v0.2.1 // indirect
+ github.com/dustin/go-humanize v1.0.0 // indirect
+ github.com/elastic/go-sysinfo v1.7.0 // indirect
+ github.com/elastic/go-windows v1.0.0 // indirect
+ github.com/elastic/gosigar v0.14.1 // indirect
+ github.com/fatih/color v1.13.0 // indirect
+ github.com/filecoin-project/dagstore v0.5.2 // indirect
+ github.com/filecoin-project/filecoin-ffi v0.30.4-0.20200910194244-f640612a1a1f // indirect
+ github.com/filecoin-project/go-amt-ipld/v2 v2.1.0 // indirect
+ github.com/filecoin-project/go-amt-ipld/v3 v3.1.0 // indirect
+ github.com/filecoin-project/go-amt-ipld/v4 v4.0.0 // indirect
+ github.com/filecoin-project/go-bitfield v0.2.4 // indirect
+ github.com/filecoin-project/go-cbor-util v0.0.1 // indirect
+ github.com/filecoin-project/go-commp-utils v0.1.3 // indirect
+ github.com/filecoin-project/go-crypto v0.0.1 // indirect
+ github.com/filecoin-project/go-ds-versioning v0.1.1 // indirect
+ github.com/filecoin-project/go-fil-commcid v0.1.0 // indirect
+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 // indirect
+ github.com/filecoin-project/go-hamt-ipld v0.1.5 // indirect
+ github.com/filecoin-project/go-hamt-ipld/v2 v2.0.0 // indirect
+ github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0 // indirect
+ github.com/filecoin-project/go-legs v0.3.7 // indirect
+ github.com/filecoin-project/go-padreader v0.0.1 // indirect
+ github.com/filecoin-project/go-paramfetch v0.0.4 // indirect
+ github.com/filecoin-project/go-statemachine v1.0.2 // indirect
+ github.com/filecoin-project/go-statestore v0.2.0 // indirect
+ github.com/filecoin-project/index-provider v0.5.0 // indirect
+ github.com/filecoin-project/specs-actors/v2 v2.3.6 // indirect
+ github.com/filecoin-project/specs-actors/v3 v3.1.1 // indirect
+ github.com/filecoin-project/specs-actors/v4 v4.0.1 // indirect
+ github.com/filecoin-project/specs-actors/v5 v5.0.4 // indirect
+ github.com/filecoin-project/specs-actors/v6 v6.0.1 // indirect
+ github.com/filecoin-project/specs-actors/v7 v7.0.0 // indirect
+ github.com/filecoin-project/specs-storage v0.2.2 // indirect
+ github.com/filecoin-project/storetheindex v0.3.5 // indirect
+ github.com/flynn/noise v1.0.0 // indirect
+ github.com/francoispqt/gojay v1.2.13 // indirect
+ github.com/fsnotify/fsnotify v1.5.1 // indirect
+ github.com/gbrlsnchs/jwt/v3 v3.0.1 // indirect
+ github.com/gdamore/encoding v1.0.0 // indirect
+ github.com/gdamore/tcell/v2 v2.2.0 // indirect
+ github.com/go-kit/kit v0.12.0 // indirect
+ github.com/go-kit/log v0.2.0 // indirect
+ github.com/go-logfmt/logfmt v0.5.1 // indirect
+ github.com/go-logr/logr v1.2.1 // indirect
+ github.com/go-logr/stdr v1.2.0 // indirect
+ github.com/go-ole/go-ole v1.2.5 // indirect
+ github.com/go-redis/redis/v7 v7.4.0 // indirect
+ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
+ github.com/godbus/dbus/v5 v5.0.4 // indirect
+ github.com/gogo/googleapis v1.4.0 // indirect
+ github.com/gogo/protobuf v1.3.2 // indirect
+ github.com/gogo/status v1.1.0 // indirect
+ github.com/golang/glog v1.0.0 // indirect
+ github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
+ github.com/golang/mock v1.6.0 // indirect
+ github.com/golang/protobuf v1.5.2 // indirect
+ github.com/golang/snappy v0.0.3 // indirect
+ github.com/google/gopacket v1.1.19 // indirect
+ github.com/gorilla/websocket v1.4.2 // indirect
+ github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 // indirect
+ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
+ github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
+ github.com/hako/durafmt v0.0.0-20200710122514-c0fb7b4da026 // indirect
+ github.com/hannahhoward/cbor-gen-for v0.0.0-20200817222906-ea96cece81f1 // indirect
+ github.com/hannahhoward/go-pubsub v0.0.0-20200423002714-8d62886cc36e // indirect
+ github.com/hashicorp/errwrap v1.0.0 // indirect
+ github.com/hashicorp/golang-lru v0.5.4 // indirect
+ github.com/huin/goupnp v1.0.2 // indirect
+ github.com/icza/backscanner v0.0.0-20210726202459-ac2ffc679f94 // indirect
+ github.com/influxdata/influxdb v1.9.4 // indirect
+ github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab // indirect
+ github.com/ipfs/bbloom v0.0.4 // indirect
+ github.com/ipfs/go-bitfield v1.0.0 // indirect
+ github.com/ipfs/go-bitswap v0.5.1 // indirect
+ github.com/ipfs/go-block-format v0.0.3 // indirect
+ github.com/ipfs/go-blockservice v0.2.1 // indirect
+ github.com/ipfs/go-cidutil v0.0.2 // indirect
+ github.com/ipfs/go-ds-badger2 v0.1.2 // indirect
+ github.com/ipfs/go-ds-leveldb v0.5.0 // indirect
+ github.com/ipfs/go-ds-measure v0.2.0 // indirect
+ github.com/ipfs/go-filestore v1.1.0 // indirect
+ github.com/ipfs/go-fs-lock v0.0.7 // indirect
+ github.com/ipfs/go-graphsync v0.13.1 // indirect
+ github.com/ipfs/go-ipfs-blockstore v1.1.2 // indirect
+ github.com/ipfs/go-ipfs-chunker v0.0.5 // indirect
+ github.com/ipfs/go-ipfs-cmds v0.6.0 // indirect
+ github.com/ipfs/go-ipfs-delay v0.0.1 // indirect
+ github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect
+ github.com/ipfs/go-ipfs-exchange-interface v0.1.0 // indirect
+ github.com/ipfs/go-ipfs-exchange-offline v0.1.1 // indirect
+ github.com/ipfs/go-ipfs-http-client v0.0.6 // indirect
+ github.com/ipfs/go-ipfs-posinfo v0.0.1 // indirect
+ github.com/ipfs/go-ipfs-pq v0.0.2 // indirect
+ github.com/ipfs/go-ipfs-routing v0.2.1 // indirect
+ github.com/ipfs/go-ipfs-util v0.0.2 // indirect
+ github.com/ipfs/go-ipld-cbor v0.0.6 // indirect
+ github.com/ipfs/go-ipld-legacy v0.1.1 // indirect
+ github.com/ipfs/go-ipns v0.1.2 // indirect
+ github.com/ipfs/go-log v1.0.5 // indirect
+ github.com/ipfs/go-metrics-interface v0.0.1 // indirect
+ github.com/ipfs/go-path v0.2.1 // indirect
+ github.com/ipfs/go-peertaskqueue v0.7.1 // indirect
+ github.com/ipfs/go-unixfsnode v1.4.0 // indirect
+ github.com/ipfs/go-verifcid v0.0.1 // indirect
+ github.com/ipfs/interface-go-ipfs-core v0.5.2 // indirect
+ github.com/ipld/go-car/v2 v2.1.1 // indirect
+ github.com/ipld/go-codec-dagpb v1.3.2 // indirect
+ github.com/ipld/go-ipld-prime v0.16.0 // indirect
+ github.com/ipld/go-ipld-selector-text-lite v0.0.1 // indirect
+ github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52 // indirect
+ github.com/jackpal/go-nat-pmp v1.0.2 // indirect
+ github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
+ github.com/jbenet/goprocess v0.1.4 // indirect
+ github.com/jessevdk/go-flags v1.4.0 // indirect
+ github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect
+ github.com/jonboulle/clockwork v0.2.2 // indirect
+ github.com/jpillora/backoff v1.0.0 // indirect
+ github.com/kelseyhightower/envconfig v1.4.0 // indirect
+ github.com/kilic/bls12-381 v0.0.0-20200820230200-6b2c19996391 // indirect
+ github.com/klauspost/compress v1.13.6 // indirect
+ github.com/klauspost/cpuid/v2 v2.0.9 // indirect
+ github.com/koron/go-ssdp v0.0.2 // indirect
+ github.com/libp2p/go-buffer-pool v0.0.2 // indirect
+ github.com/libp2p/go-cidranger v1.1.0 // indirect
+ github.com/libp2p/go-conn-security-multistream v0.3.0 // indirect
+ github.com/libp2p/go-eventbus v0.2.1 // indirect
+ github.com/libp2p/go-flow-metrics v0.0.3 // indirect
+ github.com/libp2p/go-libp2p-asn-util v0.1.0 // indirect
+ github.com/libp2p/go-libp2p-blankhost v0.3.0 // indirect
+ github.com/libp2p/go-libp2p-connmgr v0.3.1 // indirect
+ github.com/libp2p/go-libp2p-discovery v0.6.0 // indirect
+ github.com/libp2p/go-libp2p-gostream v0.3.1 // indirect
+ github.com/libp2p/go-libp2p-kad-dht v0.15.0 // indirect
+ github.com/libp2p/go-libp2p-kbucket v0.4.7 // indirect
+ github.com/libp2p/go-libp2p-loggables v0.1.0 // indirect
+ github.com/libp2p/go-libp2p-mplex v0.6.0 // indirect
+ github.com/libp2p/go-libp2p-nat v0.1.0 // indirect
+ github.com/libp2p/go-libp2p-noise v0.3.0 // indirect
+ github.com/libp2p/go-libp2p-peerstore v0.6.0 // indirect
+ github.com/libp2p/go-libp2p-pnet v0.2.0 // indirect
+ github.com/libp2p/go-libp2p-pubsub v0.6.1 // indirect
+ github.com/libp2p/go-libp2p-quic-transport v0.16.1 // indirect
+ github.com/libp2p/go-libp2p-record v0.1.3 // indirect
+ github.com/libp2p/go-libp2p-resource-manager v0.2.0 // indirect
+ github.com/libp2p/go-libp2p-routing-helpers v0.2.3 // indirect
+ github.com/libp2p/go-libp2p-swarm v0.10.2 // indirect
+ github.com/libp2p/go-libp2p-testing v0.9.2 // indirect
+ github.com/libp2p/go-libp2p-tls v0.3.1 // indirect
+ github.com/libp2p/go-libp2p-transport-upgrader v0.7.1 // indirect
+ github.com/libp2p/go-libp2p-yamux v0.9.0 // indirect
+ github.com/libp2p/go-maddr-filter v0.1.0 // indirect
+ github.com/libp2p/go-mplex v0.6.0 // indirect
+ github.com/libp2p/go-msgio v0.1.0 // indirect
+ github.com/libp2p/go-nat v0.1.0 // indirect
+ github.com/libp2p/go-netroute v0.2.0 // indirect
+ github.com/libp2p/go-openssl v0.0.7 // indirect
+ github.com/libp2p/go-reuseport v0.1.0 // indirect
+ github.com/libp2p/go-reuseport-transport v0.1.0 // indirect
+ github.com/libp2p/go-stream-muxer-multistream v0.4.0 // indirect
+ github.com/libp2p/go-tcp-transport v0.5.1 // indirect
+ github.com/libp2p/go-ws-transport v0.6.0 // indirect
+ github.com/libp2p/go-yamux/v3 v3.1.0 // indirect
+ github.com/lucas-clemente/quic-go v0.25.0 // indirect
+ github.com/lucasb-eyer/go-colorful v1.0.3 // indirect
+ github.com/magefile/mage v1.9.0 // indirect
+ github.com/marten-seemann/qtls-go1-16 v0.1.4 // indirect
+ github.com/marten-seemann/qtls-go1-17 v0.1.0 // indirect
+ github.com/marten-seemann/qtls-go1-18 v0.1.0-beta.1 // indirect
+ github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
+ github.com/mattn/go-colorable v0.1.9 // indirect
+ github.com/mattn/go-isatty v0.0.14 // indirect
+ github.com/mattn/go-runewidth v0.0.10 // indirect
+ github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
+ github.com/miekg/dns v1.1.43 // indirect
+ github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
+ github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
+ github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect
+ github.com/minio/sha256-simd v1.0.0 // indirect
+ github.com/mitchellh/go-homedir v1.1.0 // indirect
+ github.com/mr-tron/base58 v1.2.0 // indirect
+ github.com/multiformats/go-base32 v0.0.4 // indirect
+ github.com/multiformats/go-base36 v0.1.0 // indirect
+ github.com/multiformats/go-multiaddr-dns v0.3.1 // indirect
+ github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
+ github.com/multiformats/go-multibase v0.0.3 // indirect
+ github.com/multiformats/go-multicodec v0.4.1 // indirect
+ github.com/multiformats/go-multihash v0.1.0 // indirect
+ github.com/multiformats/go-multistream v0.2.2 // indirect
+ github.com/multiformats/go-varint v0.0.6 // indirect
+ github.com/nikkolasg/hexjson v0.0.0-20181101101858-78e39397e00c // indirect
+ github.com/nkovacs/streamquote v1.0.0 // indirect
+ github.com/nxadm/tail v1.4.8 // indirect
+ github.com/onsi/ginkgo v1.16.4 // indirect
+ github.com/opencontainers/runtime-spec v1.0.2 // indirect
+ github.com/opentracing-contrib/go-grpc v0.0.0-20191001143057-db30781987df // indirect
+ github.com/opentracing-contrib/go-stdlib v1.0.0 // indirect
+ github.com/opentracing/opentracing-go v1.2.0 // indirect
+ github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
+ github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9 // indirect
+ github.com/pkg/errors v0.9.1 // indirect
+ github.com/pmezard/go-difflib v1.0.0 // indirect
+ github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e // indirect
+ github.com/prometheus/client_golang v1.11.0 // indirect
+ github.com/prometheus/client_model v0.2.0 // indirect
+ github.com/prometheus/common v0.30.0 // indirect
+ github.com/prometheus/procfs v0.7.3 // indirect
+ github.com/prometheus/statsd_exporter v0.21.0 // indirect
+ github.com/raulk/clock v1.1.0 // indirect
+ github.com/raulk/go-watchdog v1.2.0 // indirect
+ github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
+ github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
+ github.com/rivo/uniseg v0.1.0 // indirect
+ github.com/rs/cors v1.7.0 // indirect
+ github.com/russross/blackfriday/v2 v2.0.1 // indirect
+ github.com/sercand/kuberesolver v2.4.0+incompatible // indirect
+ github.com/shirou/gopsutil v2.18.12+incompatible // indirect
+ github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
+ github.com/sirupsen/logrus v1.8.1 // indirect
+ github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
+ github.com/spaolacci/murmur3 v1.1.0 // indirect
+ github.com/stretchr/testify v1.7.0 // indirect
+ github.com/syndtr/goleveldb v1.0.0 // indirect
+ github.com/tj/go-spin v1.1.0 // indirect
+ github.com/uber/jaeger-client-go v2.28.0+incompatible // indirect
+ github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
+ github.com/urfave/cli/v2 v2.3.0 // indirect
+ github.com/valyala/bytebufferpool v1.0.0 // indirect
+ github.com/valyala/fasttemplate v1.2.1 // indirect
+ github.com/weaveworks/common v0.0.0-20200512154658-384f10054ec5 // indirect
+ github.com/weaveworks/promrus v1.2.0 // indirect
+ github.com/whyrusleeping/bencher v0.0.0-20190829221104-bb6607aa8bba // indirect
+ github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11 // indirect
+ github.com/whyrusleeping/cbor-gen v0.0.0-20220302191723-37c43cae8e14 // indirect
+ github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f // indirect
+ github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
+ github.com/whyrusleeping/ledger-filecoin-go v0.9.1-0.20201010031517-c3dcc1bddce4 // indirect
+ github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 // indirect
+ github.com/whyrusleeping/pubsub v0.0.0-20190708150250-92bcb0691325 // indirect
+ github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee // indirect
+ github.com/xlab/c-for-go v0.0.0-20201112171043-ea6dce5809cb // indirect
+ github.com/xlab/pkgconfig v0.0.0-20170226114623-cea12a0fd245 // indirect
+ github.com/zondax/hid v0.9.0 // indirect
+ github.com/zondax/ledger-go v0.12.1 // indirect
+ go.dedis.ch/fixbuf v1.0.3 // indirect
+ go.dedis.ch/protobuf v1.0.11 // indirect
+ go.etcd.io/bbolt v1.3.4 // indirect
+ go.opentelemetry.io/otel v1.3.0 // indirect
+ go.opentelemetry.io/otel/trace v1.3.0 // indirect
+ go.uber.org/atomic v1.9.0 // indirect
+ go.uber.org/dig v1.12.0 // indirect
+ go.uber.org/fx v1.15.0 // indirect
+ go.uber.org/multierr v1.7.0 // indirect
+ go.uber.org/zap v1.19.1 // indirect
+ go4.org v0.0.0-20200411211856-f5505b9728dd // indirect
+ golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b // indirect
+ golang.org/x/exp v0.0.0-20210715201039-d37aa40e8013 // indirect
+ golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect
+ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 // indirect
+ golang.org/x/sys v0.0.0-20211209171907-798191bca915 // indirect
+ golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf // indirect
+ golang.org/x/text v0.3.7 // indirect
+ golang.org/x/tools v0.1.10 // indirect
+ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
+ google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4 // indirect
+ google.golang.org/grpc v1.40.0 // indirect
+ google.golang.org/protobuf v1.27.1 // indirect
+ gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect
+ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
+ gopkg.in/yaml.v2 v2.4.0 // indirect
+ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
+ howett.net/plist v0.0.0-20181124034731-591f970eefbb // indirect
+ lukechampine.com/blake3 v1.1.7 // indirect
+ modernc.org/cc v1.0.0 // indirect
+ modernc.org/golex v1.0.1 // indirect
+ modernc.org/mathutil v1.1.1 // indirect
+ modernc.org/strutil v1.1.0 // indirect
+ modernc.org/xc v1.0.0 // indirect
+)
+
// This will work in all build modes: docker:go, exec:go, and local go build.
// On docker:go and exec:go, it maps to /extra/filecoin-ffi, as it's picked up
// as an "extra source" in the manifest.
diff --git a/testplans/lotus-soup/go.sum b/testplans/lotus-soup/go.sum
index 4ad4101fa..6f9efd946 100644
--- a/testplans/lotus-soup/go.sum
+++ b/testplans/lotus-soup/go.sum
@@ -1312,8 +1312,8 @@ github.com/libp2p/go-libp2p v0.16.0/go.mod h1:ump42BsirwAWxKzsCiFnTtN1Yc+DuPu76f
github.com/libp2p/go-libp2p v0.17.0/go.mod h1:Fkin50rsGdv5mm5BshBUtPRZknt9esfmYXBOYcwOTgw=
github.com/libp2p/go-libp2p v0.18.0-rc1/go.mod h1:RgYlH7IIWHXREimC92bw5Lg1V2R5XmSzuLHb5fTnr+8=
github.com/libp2p/go-libp2p v0.18.0-rc3/go.mod h1:WYL+Xw1iuwi6rdfzw5VIEpD+HqzYucHZ6fcUuumbI3M=
-github.com/libp2p/go-libp2p v0.18.0 h1:moKKKG875KNGsCjZxTIFB75ihHiVjFeWg5I4aR1pDLk=
-github.com/libp2p/go-libp2p v0.18.0/go.mod h1:+veaZ9z1SZQhmc5PW78jvnnxZ89Mgvmh4cggO11ETmw=
+github.com/libp2p/go-libp2p v0.18.1 h1:IK9EOGNO2ZghU4F+dx9c4xfhMNZr45x06CijJaZE/ms=
+github.com/libp2p/go-libp2p v0.18.1/go.mod h1:ll44MqmrIFKpL3BwCexxzm+7RZ8exEtN96V1rRdMG7Y=
github.com/libp2p/go-libp2p-asn-util v0.0.0-20200825225859-85005c6cf052/go.mod h1:nRMRTab+kZuk0LnKZpxhOVH/ndsdr2Nr//Zltc/vwgo=
github.com/libp2p/go-libp2p-asn-util v0.1.0 h1:rABPCO77SjdbJ/eJ/ynIo8vWICy1VEnL5JAxJbQLo1E=
github.com/libp2p/go-libp2p-asn-util v0.1.0/go.mod h1:wu+AnM9Ii2KgO5jMmS1rz9dvzTdj8BXqsPR9HR0XB7I=
@@ -1496,8 +1496,8 @@ github.com/libp2p/go-libp2p-record v0.1.3 h1:R27hoScIhQf/A8XJZ8lYpnqh9LatJ5YbHs2
github.com/libp2p/go-libp2p-record v0.1.3/go.mod h1:yNUff/adKIfPnYQXgp6FQmNu3gLJ6EMg7+/vv2+9pY4=
github.com/libp2p/go-libp2p-resource-manager v0.1.0/go.mod h1:wJPNjeE4XQlxeidwqVY5G6DLOKqFK33u2n8blpl0I6Y=
github.com/libp2p/go-libp2p-resource-manager v0.1.3/go.mod h1:wJPNjeE4XQlxeidwqVY5G6DLOKqFK33u2n8blpl0I6Y=
-github.com/libp2p/go-libp2p-resource-manager v0.1.5 h1:7J6t9KLFS0MxXDTfqA6rwfVCZl/yLQnXW5LpZjHAANI=
-github.com/libp2p/go-libp2p-resource-manager v0.1.5/go.mod h1:wJPNjeE4XQlxeidwqVY5G6DLOKqFK33u2n8blpl0I6Y=
+github.com/libp2p/go-libp2p-resource-manager v0.2.0 h1:Ul/k5d5StIpAtq7IapAEGh/2+0rwsJGXYJ6Kbzeedtc=
+github.com/libp2p/go-libp2p-resource-manager v0.2.0/go.mod h1:K+eCkiapf+ey/LADO4TaMpMTP9/Qde/uLlrnRqV4PLQ=
github.com/libp2p/go-libp2p-routing v0.0.1/go.mod h1:N51q3yTr4Zdr7V8Jt2JIktVU+3xBBylx1MZeVA6t1Ys=
github.com/libp2p/go-libp2p-routing v0.1.0/go.mod h1:zfLhI1RI8RLEzmEaaPwzonRvXeeSHddONWkcTcB54nE=
github.com/libp2p/go-libp2p-routing-helpers v0.2.3 h1:xY61alxJ6PurSi+MXbywZpelvuU4U4p/gPTxjqCqTzY=
@@ -1539,8 +1539,9 @@ github.com/libp2p/go-libp2p-testing v0.4.2/go.mod h1:Q+PFXYoiYFN5CAEG2w3gLPEzotl
github.com/libp2p/go-libp2p-testing v0.5.0/go.mod h1:QBk8fqIL1XNcno/l3/hhaIEn4aLRijpYOR+zVjjlh+A=
github.com/libp2p/go-libp2p-testing v0.6.0/go.mod h1:QBk8fqIL1XNcno/l3/hhaIEn4aLRijpYOR+zVjjlh+A=
github.com/libp2p/go-libp2p-testing v0.7.0/go.mod h1:OLbdn9DbgdMwv00v+tlp1l3oe2Cl+FAjoWIA2pa0X6E=
-github.com/libp2p/go-libp2p-testing v0.8.0 h1:/te8SOIyj5sGH5Jr1Uoo+qYB00aK8O4+yHGzLgfE3kc=
github.com/libp2p/go-libp2p-testing v0.8.0/go.mod h1:gRdsNxQSxAZowTgcLY7CC33xPmleZzoBpqSYbWenqPc=
+github.com/libp2p/go-libp2p-testing v0.9.2 h1:dCpODRtRaDZKF8HXT9qqqgON+OMEB423Knrgeod8j84=
+github.com/libp2p/go-libp2p-testing v0.9.2/go.mod h1:Td7kbdkWqYTJYQGTwzlgXwaqldraIanyjuRiAbK/XQU=
github.com/libp2p/go-libp2p-tls v0.1.3/go.mod h1:wZfuewxOndz5RTnCAxFliGjvYSDA40sKitV4c50uI1M=
github.com/libp2p/go-libp2p-tls v0.3.0/go.mod h1:fwF5X6PWGxm6IDRwF3V8AVCCj/hOd5oFlg+wo2FxJDY=
github.com/libp2p/go-libp2p-tls v0.3.1 h1:lsE2zYte+rZCEOHF72J1Fg3XK3dGQyKvI6i5ehJfEp0=
@@ -1578,8 +1579,8 @@ github.com/libp2p/go-libp2p-yamux v0.6.0/go.mod h1:MRhd6mAYnFRnSISp4M8i0ClV/j+mW
github.com/libp2p/go-libp2p-yamux v0.7.0/go.mod h1:fMyA0CsPfHkIuBU0wjRGrCjTBFiXTXxG0k5M4ETv+08=
github.com/libp2p/go-libp2p-yamux v0.8.0/go.mod h1:yTkPgN2ib8FHyU1ZcVD7aelzyAqXXwEPbyx+aSKm9h8=
github.com/libp2p/go-libp2p-yamux v0.8.1/go.mod h1:rUozF8Jah2dL9LLGyBaBeTQeARdwhefMCTQVQt6QobE=
-github.com/libp2p/go-libp2p-yamux v0.8.2 h1:6GKWntresp0TFxMP/oSoH96nV8XKJRdynXsdp43dn0Y=
-github.com/libp2p/go-libp2p-yamux v0.8.2/go.mod h1:rUozF8Jah2dL9LLGyBaBeTQeARdwhefMCTQVQt6QobE=
+github.com/libp2p/go-libp2p-yamux v0.9.0 h1:j+gnKykADCI/3cZlacOYBjQXDsncxgcwzJ1zw6Z6pts=
+github.com/libp2p/go-libp2p-yamux v0.9.0/go.mod h1:tpJKkRH9LlHj0VQh9Y9RP1pmF7yCS9ixxY/oSv+hhhQ=
github.com/libp2p/go-maddr-filter v0.0.1/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q=
github.com/libp2p/go-maddr-filter v0.0.4/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q=
github.com/libp2p/go-maddr-filter v0.0.5/go.mod h1:Jk+36PMfIqCJhAnaASRH83bdAvfDRp/w6ENFaC9bG+M=
@@ -1678,8 +1679,9 @@ github.com/libp2p/go-yamux/v2 v2.1.1/go.mod h1:3So6P6TV6r75R9jiBpiIKgU/66lOarCZj
github.com/libp2p/go-yamux/v2 v2.2.0/go.mod h1:3So6P6TV6r75R9jiBpiIKgU/66lOarCZjqROGxzPpPQ=
github.com/libp2p/go-yamux/v2 v2.3.0/go.mod h1:iTU+lOIn/2h0AgKcL49clNTwfEw+WSfDYrXe05EyKIs=
github.com/libp2p/go-yamux/v3 v3.0.1/go.mod h1:s2LsDhHbh+RfCsQoICSYt58U2f8ijtPANFD8BmE74Bo=
-github.com/libp2p/go-yamux/v3 v3.0.2 h1:LW0q5+A1Wy0npEsPJP9wmare2NH4ohNluN5EWVwv2mE=
github.com/libp2p/go-yamux/v3 v3.0.2/go.mod h1:s2LsDhHbh+RfCsQoICSYt58U2f8ijtPANFD8BmE74Bo=
+github.com/libp2p/go-yamux/v3 v3.1.0 h1:2johPiST4xsXsqQ/38C2MAERw0hJ+t8oehHWA8F2R3Q=
+github.com/libp2p/go-yamux/v3 v3.1.0/go.mod h1:jeLEQgLXqE2YqX1ilAClIfCMDY+0uXQUKmmb/qp0gT4=
github.com/libp2p/zeroconf/v2 v2.1.1/go.mod h1:fuJqLnUwZTshS3U/bMRJ3+ow/v9oid1n0DmyYyNO1Xs=
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
@@ -2318,7 +2320,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
-github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8=
github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM=
github.com/zondax/ledger-go v0.12.1 h1:hYRcyznPRJp+5mzF2sazTLP2nGvGjYDD2VzhHhFomLU=
@@ -2521,8 +2523,9 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB
golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o=
+golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -2592,9 +2595,9 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 h1:CIJ76btIcR3eFI5EgSo6k1qKw9KJexJuRLI9G7Hp5wE=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -2734,11 +2737,11 @@ golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211025112917-711f33c9992c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211209171907-798191bca915 h1:P+8mCzuEpyszAT6T42q0sxU+eveBAF/cJ2Kp0x6/8+0=
golang.org/x/sys v0.0.0-20211209171907-798191bca915/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -2844,8 +2847,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.7 h1:6j8CgantCy3yc8JGBqkDLMKWqZ0RDU2g1HVgacojGWQ=
-golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
+golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20=
+golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=