Merge pull request #12003 from filecoin-project/backports-rc3

build: release: v1.27.0-rc3
This commit is contained in:
Phi-rjan 2024-05-17 09:19:27 +02:00 committed by GitHub
commit 4daac14f12
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
38 changed files with 792 additions and 2891 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,156 +0,0 @@
package main
import (
"embed"
"fmt"
"os"
"path/filepath"
"sort"
"strings"
"text/template"
)
var GoVersion = "" // from init below. Ex: 1.19.7
//go:generate go run ./gen.go ..
//go:embed template.yml
var templateFile embed.FS
func init() {
b, err := os.ReadFile("../go.mod")
if err != nil {
panic("cannot find go.mod in parent folder")
}
for _, line := range strings.Split(string(b), "\n") {
if strings.HasPrefix(line, "go ") {
GoVersion = line[3:]
}
}
}
type (
dirs = []string
suite = string
)
// groupedUnitTests maps suite names to top-level directories that should be
// included in that suite. The program adds an implicit group "rest" that
// includes all other top-level directories.
var groupedUnitTests = map[suite]dirs{
"unit-node": {"node"},
"unit-storage": {"storage", "extern"},
"unit-cli": {"cli", "cmd", "api"},
}
func main() {
if len(os.Args) != 2 {
panic("expected path to repo as argument")
}
repo := os.Args[1]
tmpl := template.New("template.yml")
tmpl.Delims("[[", "]]")
tmpl.Funcs(template.FuncMap{
"stripSuffix": func(in string) string {
return strings.TrimSuffix(in, "_test.go")
},
})
tmpl = template.Must(tmpl.ParseFS(templateFile, "*"))
// list all itests.
itests, err := filepath.Glob(filepath.Join(repo, "./itests/*_test.go"))
if err != nil {
panic(err)
}
// strip the dir from all entries.
for i, f := range itests {
itests[i] = filepath.Base(f)
}
// calculate the exclusion set of unit test directories to exclude because
// they are already included in a grouped suite.
var excluded = map[string]struct{}{}
for _, ss := range groupedUnitTests {
for _, s := range ss {
e, err := filepath.Abs(filepath.Join(repo, s))
if err != nil {
panic(err)
}
// Redundantly flag both absolute and relative paths as excluded
excluded[filepath.Join(repo, s)] = struct{}{}
excluded[e] = struct{}{}
}
}
// all unit tests top-level dirs that are not itests, nor included in other suites.
var rest = map[string]struct{}{}
err = filepath.Walk(repo, func(path string, f os.FileInfo, err error) error {
// include all tests that aren't in the itests directory.
if strings.Contains(path, "itests") {
return filepath.SkipDir
}
// exclude all tests included in other suites
if f.IsDir() {
if _, ok := excluded[path]; ok {
return filepath.SkipDir
}
}
if strings.HasSuffix(path, "_test.go") {
rel, err := filepath.Rel(repo, path)
if err != nil {
panic(err)
}
// take the first directory
rest[strings.Split(rel, string(os.PathSeparator))[0]] = struct{}{}
}
return err
})
if err != nil {
panic(err)
}
// add other directories to a 'rest' suite.
for k := range rest {
groupedUnitTests["unit-rest"] = append(groupedUnitTests["unit-rest"], k)
}
// map iteration guarantees no order, so sort the array in-place.
sort.Strings(groupedUnitTests["unit-rest"])
// form the input data.
type data struct {
Networks []string
ItestFiles []string
UnitSuites map[string]string
GoVersion string
}
in := data{
Networks: []string{"mainnet", "butterflynet", "calibnet", "debug"},
ItestFiles: itests,
UnitSuites: func() map[string]string {
ret := make(map[string]string)
for name, dirs := range groupedUnitTests {
for i, d := range dirs {
dirs[i] = fmt.Sprintf("./%s/...", d) // turn into package
}
ret[name] = strings.Join(dirs, " ")
}
return ret
}(),
GoVersion: GoVersion,
}
out, err := os.Create("./config.yml")
if err != nil {
panic(err)
}
defer out.Close()
// execute the template.
if err := tmpl.Execute(out, in); err != nil {
panic(err)
}
}

View File

@ -1,753 +0,0 @@
version: 2.1
orbs:
aws-cli: circleci/aws-cli@4.1.1
docker: circleci/docker@2.3.0
executors:
golang:
docker:
# Must match GO_VERSION_MIN in project root
- image: cimg/go:1.21.7
resource_class: medium+
golang-2xl:
docker:
# Must match GO_VERSION_MIN in project root
- image: cimg/go:1.21.7
resource_class: 2xlarge
ubuntu:
docker:
- image: ubuntu:20.04
commands:
build-platform-specific:
parameters:
linux:
default: true
description: is a linux build environment?
type: boolean
darwin:
default: false
description: is a darwin build environment?
type: boolean
darwin-architecture:
default: "amd64"
description: which darwin architecture is being used?
type: string
steps:
- checkout
- git_fetch_all_tags
- run: git submodule sync
- run: git submodule update --init
- when:
condition: <<parameters.linux>>
steps:
- install-ubuntu-deps
- check-go-version
- when:
condition: <<parameters.darwin>>
steps:
- run:
name: Install Go
command: |
curl https://dl.google.com/go/go`cat GO_VERSION_MIN`.darwin-<<parameters.darwin-architecture>>.pkg -o /tmp/go.pkg && \
sudo installer -pkg /tmp/go.pkg -target /
- run:
name: Export Go
command: |
echo 'export GOPATH="${HOME}/go"' >> $BASH_ENV
- run: go version
- run:
name: Install dependencies with Homebrew
command: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config coreutils jq hwloc
- run:
name: Install Rust
command: |
curl https://sh.rustup.rs -sSf | sh -s -- -y
- run: make deps
download-params:
steps:
- restore_cache:
name: Restore parameters cache
keys:
- 'v26-2k-lotus-params'
- run: ./lotus fetch-params 2048
- save_cache:
name: Save parameters cache
key: 'v26-2k-lotus-params'
paths:
- /var/tmp/filecoin-proof-parameters/
install_ipfs:
steps:
- run: |
curl -O https://dist.ipfs.tech/kubo/v0.16.0/kubo_v0.16.0_linux-amd64.tar.gz
tar -xvzf kubo_v0.16.0_linux-amd64.tar.gz
pushd kubo
sudo bash install.sh
popd
rm -rf kubo
rm kubo_v0.16.0_linux-amd64.tar.gz
git_fetch_all_tags:
steps:
- run:
name: fetch all tags
command: |
git fetch --all
install-ubuntu-deps:
steps:
- run: sudo apt install curl ca-certificates gnupg
- run: sudo apt-get update
- run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev
check-go-version:
steps:
- run: |
v=`go version | { read _ _ v _; echo ${v#go}; }`
if [["[[ $v != `cat GO_VERSION_MIN` ]]"]]; then
echo "GO_VERSION_MIN file does not match the go version being used."
echo "Please update image to cimg/go:`cat GO_VERSION_MIN` or update GO_VERSION_MIN to $v."
exit 1
fi
jobs:
build:
executor: golang
working_directory: ~/lotus
steps:
- checkout
- git_fetch_all_tags
- run: git submodule sync
- run: git submodule update --init
- install-ubuntu-deps
- check-go-version
- run: make deps lotus
- persist_to_workspace:
root: ~/
paths:
- "lotus"
mod-tidy-check:
executor: golang
working_directory: ~/lotus
steps:
- install-ubuntu-deps
- attach_workspace:
at: ~/
- 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
test:
description: |
Run tests with gotestsum.
working_directory: ~/lotus
parameters: &test-params
resource_class:
type: string
default: medium+
go-test-flags:
type: string
default: "-timeout 20m"
description: Flags passed to go test.
target:
type: string
default: "./..."
description: Import paths of packages to be tested.
proofs-log-test:
type: string
default: "0"
get-params:
type: boolean
default: false
suite:
type: string
default: unit
description: Test suite name to report to CircleCI.
docker:
- image: cimg/go:[[ .GoVersion]]
environment:
LOTUS_HARMONYDB_HOSTS: yugabyte
- image: yugabytedb/yugabyte:2.18.0.0-b65
command: bin/yugabyted start --daemon=false
name: yugabyte
resource_class: << parameters.resource_class >>
steps:
- install-ubuntu-deps
- attach_workspace:
at: ~/
- when:
condition: << parameters.get-params >>
steps:
- download-params
- run:
name: go test
environment:
TEST_RUSTPROOFS_LOGS: << parameters.proofs-log-test >>
SKIP_CONFORMANCE: "1"
LOTUS_SRC_DIR: /home/circleci/project
command: |
mkdir -p /tmp/test-reports/<< parameters.suite >>
mkdir -p /tmp/test-artifacts
dockerize -wait tcp://yugabyte:5433 -timeout 3m
env
gotestsum \
--format standard-verbose \
--junitfile /tmp/test-reports/<< parameters.suite >>/junit.xml \
--jsonfile /tmp/test-artifacts/<< parameters.suite >>.json \
--packages="<< parameters.target >>" \
-- << parameters.go-test-flags >>
no_output_timeout: 30m
- store_test_results:
path: /tmp/test-reports
- store_artifacts:
path: /tmp/test-artifacts/<< parameters.suite >>.json
test-conformance:
working_directory: ~/lotus
description: |
Run tests using a corpus of interoperable test vectors for Filecoin
implementations to test their correctness and compliance with the Filecoin
specifications.
parameters:
<<: *test-params
vectors-branch:
type: string
default: ""
description: |
Branch on github.com/filecoin-project/test-vectors to checkout and
test with. If empty (the default) the commit defined by the git
submodule is used.
docker:
- image: cimg/go:[[ .GoVersion]]
resource_class: << parameters.resource_class >>
steps:
- install-ubuntu-deps
- attach_workspace:
at: ~/
- download-params
- when:
condition:
not:
equal: [ "", << parameters.vectors-branch >> ]
steps:
- run:
name: checkout vectors branch
command: |
cd extern/test-vectors
git fetch
git checkout origin/<< parameters.vectors-branch >>
- run:
name: install statediff globally
command: |
## statediff is optional; we succeed even if compilation fails.
mkdir -p /tmp/statediff
git clone https://github.com/filecoin-project/statediff.git /tmp/statediff
cd /tmp/statediff
go install ./cmd/statediff || exit 0
- run:
name: go test
environment:
SKIP_CONFORMANCE: "0"
command: |
mkdir -p /tmp/test-reports
mkdir -p /tmp/test-artifacts
gotestsum \
--format pkgname-and-test-fails \
--junitfile /tmp/test-reports/junit.xml \
-- \
-v -coverpkg ./chain/vm/,github.com/filecoin-project/specs-actors/... -coverprofile=/tmp/conformance.out ./conformance/
go tool cover -html=/tmp/conformance.out -o /tmp/test-artifacts/conformance-coverage.html
no_output_timeout: 30m
- store_test_results:
path: /tmp/test-reports
- store_artifacts:
path: /tmp/test-artifacts/conformance-coverage.html
build-linux-amd64:
executor: golang
steps:
- build-platform-specific
- run: make lotus lotus-miner lotus-worker
- run:
name: check tag and version output match
command: ./scripts/version-check.sh ./lotus
- run: |
mkdir -p /tmp/workspace/linux_amd64_v1 && \
mv lotus lotus-miner lotus-worker /tmp/workspace/linux_amd64_v1/
- persist_to_workspace:
root: /tmp/workspace
paths:
- linux_amd64_v1
build-darwin-amd64:
description: build darwin lotus binary
working_directory: ~/go/src/github.com/filecoin-project/lotus
macos:
xcode: "13.4.1"
steps:
- build-platform-specific:
linux: false
darwin: true
darwin-architecture: amd64
- run: make lotus lotus-miner lotus-worker
- run: otool -hv lotus
- run:
name: check tag and version output match
command: ./scripts/version-check.sh ./lotus
- run: |
mkdir -p /tmp/workspace/darwin_amd64_v1 && \
mv lotus lotus-miner lotus-worker /tmp/workspace/darwin_amd64_v1/
- persist_to_workspace:
root: /tmp/workspace
paths:
- darwin_amd64_v1
build-darwin-arm64:
description: self-hosted m1 runner
working_directory: ~/go/src/github.com/filecoin-project/lotus
machine: true
resource_class: filecoin-project/self-hosted-m1
steps:
- run: echo 'export PATH=/opt/homebrew/bin:"$PATH"' >> "$BASH_ENV"
- build-platform-specific:
linux: false
darwin: true
darwin-architecture: arm64
- run: |
export CPATH=$(brew --prefix)/include && export LIBRARY_PATH=$(brew --prefix)/lib && make lotus lotus-miner lotus-worker
- run: otool -hv lotus
- run:
name: check tag and version output match
command: ./scripts/version-check.sh ./lotus
- run: |
mkdir -p /tmp/workspace/darwin_arm64 && \
mv lotus lotus-miner lotus-worker /tmp/workspace/darwin_arm64/
- persist_to_workspace:
root: /tmp/workspace
paths:
- darwin_arm64
- run:
command: make clean
when: always
- run:
name: cleanup homebrew
command: HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall pkg-config coreutils jq hwloc
when: always
release:
executor: golang
parameters:
dry-run:
default: false
description: should this release actually publish it's artifacts?
type: boolean
steps:
- checkout
- run: |
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list
sudo apt update
sudo apt install goreleaser-pro
- install_ipfs
- attach_workspace:
at: /tmp/workspace
- when:
condition: << parameters.dry-run >>
steps:
- run: goreleaser release --rm-dist --snapshot --debug
- run: ./scripts/generate-checksums.sh
- when:
condition:
not: << parameters.dry-run >>
steps:
- run: goreleaser release --rm-dist --debug
- run: ./scripts/generate-checksums.sh
- run: ./scripts/publish-checksums.sh
gofmt:
executor: golang
working_directory: ~/lotus
steps:
- run:
command: "! go fmt ./... 2>&1 | read"
gen-check:
executor: golang
working_directory: ~/lotus
steps:
- install-ubuntu-deps
- attach_workspace:
at: ~/
- run: go install golang.org/x/tools/cmd/goimports
- run: go install github.com/hannahhoward/cbor-gen-for
- run: make gen
- run: git --no-pager diff && git --no-pager diff --quiet
- run: make docsgen-cli
- run: git --no-pager diff && git --no-pager diff --quiet
docs-check:
executor: golang
working_directory: ~/lotus
steps:
- install-ubuntu-deps
- attach_workspace:
at: ~/
- run: go install golang.org/x/tools/cmd/goimports
- run: make docsgen
- run: git --no-pager diff && git --no-pager diff --quiet
lint-all:
description: |
Run golangci-lint.
working_directory: ~/lotus
parameters:
args:
type: string
default: ''
description: |
Arguments to pass to golangci-lint
docker:
- image: cimg/go:[[ .GoVersion]]
resource_class: medium+
steps:
- install-ubuntu-deps
- attach_workspace:
at: ~/
- run:
name: Lint
command: |
golangci-lint run -v --timeout 10m \
--concurrency 4 << parameters.args >>
build-docker:
description: >
Publish to Dockerhub
executor: docker/docker
parameters:
image:
type: string
default: lotus
description: >
Passed to the docker build process to determine which image in the
Dockerfile should be built. Expected values are `lotus`,
`lotus-all-in-one`
network:
type: string
default: "mainnet"
description: >
Passed to the docker build process using GOFLAGS+=-tags=<<network>>.
Expected values are `debug`, `2k`, `calibnet`, `butterflynet`,
`interopnet`.
channel:
type: string
default: ""
description: >
The release channel to use for this image.
push:
type: boolean
default: false
description: >
When true, pushes the image to Dockerhub
steps:
- setup_remote_docker
- checkout
- git_fetch_all_tags
- run: git submodule sync
- run: git submodule update --init
- docker/check:
docker-username: DOCKERHUB_USERNAME
docker-password: DOCKERHUB_PASSWORD
- when:
condition:
equal: [ mainnet, <<parameters.network>> ]
steps:
- when:
condition: <<parameters.push>>
steps:
- docker/build:
image: filecoin/<<parameters.image>>
extra_build_args: --target <<parameters.image>>
tag: <<parameters.channel>>
- run:
name: Docker push
command: |
docker push filecoin/<<parameters.image>>:<<parameters.channel>>
if [["[[ ! -z $CIRCLE_SHA ]]"]]; then
docker image tag filecoin/<<parameters.image>>:<<parameters.channel>> filecoin/<<parameters.image>>:"${CIRCLE_SHA:0:7}"
docker push filecoin/<<parameters.image>>:"${CIRCLE_SHA:0:7}"
fi
if [["[[ ! -z $CIRCLE_TAG ]]"]]; then
docker image tag filecoin/<<parameters.image>>:<<parameters.channel>> filecoin/<<parameters.image>>:"${CIRCLE_TAG}"
docker push filecoin/<<parameters.image>>:"${CIRCLE_TAG}"
fi
- unless:
condition: <<parameters.push>>
steps:
- docker/build:
image: filecoin/<<parameters.image>>
extra_build_args: --target <<parameters.image>>
- when:
condition:
not:
equal: [ mainnet, <<parameters.network>> ]
steps:
- when:
condition: <<parameters.push>>
steps:
- docker/build:
image: filecoin/<<parameters.image>>
extra_build_args: --target <<parameters.image>> --build-arg GOFLAGS=-tags=<<parameters.network>>
tag: <<parameters.channel>>-<<parameters.network>>
- run:
name: Docker push
command: |
docker push filecoin/<<parameters.image>>:<<parameters.channel>>-<<parameters.network>>
if [["[[ ! -z $CIRCLE_SHA ]]"]]; then
docker image tag filecoin/<<parameters.image>>:<<parameters.channel>>-<<parameters.network>> filecoin/<<parameters.image>>:"${CIRCLE_SHA:0:7}"-<<parameters.network>>
docker push filecoin/<<parameters.image>>:"${CIRCLE_SHA:0:7}"-<<parameters.network>>
fi
if [["[[ ! -z $CIRCLE_TAG ]]"]]; then
docker image tag filecoin/<<parameters.image>>:<<parameters.channel>>-<<parameters.network>> filecoin/<<parameters.image>>:"${CIRCLE_TAG}"-<<parameters.network>>
docker push filecoin/<<parameters.image>>:"${CIRCLE_TAG}"-<<parameters.network>>
fi
- unless:
condition: <<parameters.push>>
steps:
- docker/build:
image: filecoin/<<parameters.image>>
extra_build_args: --target <<parameters.image>> --build-arg GOFLAGS=-tags=<<parameters.network>>
workflows:
ci:
jobs:
- build
- lint-all:
requires:
- build
- mod-tidy-check:
requires:
- build
- gofmt:
requires:
- build
- gen-check:
requires:
- build
- docs-check:
requires:
- build
[[- range $file := .ItestFiles -]]
[[ with $name := $file | stripSuffix ]]
- test:
name: test-itest-[[ $name ]]
requires:
- build
suite: itest-[[ $name ]]
target: "./itests/[[ $file ]]"
[[- if or (eq $name "worker") (eq $name "deals_concurrent") (eq $name "wdpost_worker_config") (eq $name "sector_pledge")]]
resource_class: 2xlarge
[[- end]]
[[- if or (eq $name "wdpost") (eq $name "sector_pledge")]]
get-params: true
[[end]]
[[- end ]][[- end]]
[[- range $suite, $pkgs := .UnitSuites]]
- test:
name: test-[[ $suite ]]
requires:
- build
suite: utest-[[ $suite ]]
target: "[[ $pkgs ]]"
[[- if eq $suite "unit-storage"]]
get-params: true
[[- end -]]
[[- if eq $suite "unit-cli"]]
resource_class: 2xlarge
get-params: true
[[- end -]]
[[- if eq $suite "unit-rest"]]
resource_class: 2xlarge
[[- end -]]
[[- end]]
- test:
go-test-flags: "-run=TestMulticoreSDR"
requires:
- build
suite: multicore-sdr-check
target: "./storage/sealer/ffiwrapper"
proofs-log-test: "1"
- test-conformance:
requires:
- build
suite: conformance
target: "./conformance"
release:
jobs:
- build-linux-amd64:
name: "Build ( linux / amd64 )"
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
- /^ci\/.*$/
tags:
only:
- /^v\d+\.\d+\.\d+(-rc\d+)?$/
- build-darwin-amd64:
name: "Build ( darwin / amd64 )"
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
- /^ci\/.*$/
tags:
only:
- /^v\d+\.\d+\.\d+(-rc\d+)?$/
- build-darwin-arm64:
name: "Build ( darwin / arm64 )"
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
- /^ci\/.*$/
tags:
only:
- /^v\d+\.\d+\.\d+(-rc\d+)?$/
- release:
name: "Release"
requires:
- "Build ( darwin / amd64 )"
- "Build ( linux / amd64 )"
- "Build ( darwin / arm64 )"
filters:
branches:
ignore:
- /^.*$/
tags:
only:
- /^v\d+\.\d+\.\d+(-rc\d+)?$/
- release:
name: "Release (dry-run)"
dry-run: true
requires:
- "Build ( darwin / amd64 )"
- "Build ( linux / amd64 )"
- "Build ( darwin / arm64 )"
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
- /^ci\/.*$/
[[- range .Networks]]
- build-docker:
name: "Docker push (lotus-all-in-one / stable / [[.]])"
image: lotus-all-in-one
channel: stable
network: [[.]]
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / candidate / [[.]])"
image: lotus-all-in-one
channel: candidate
network: [[.]]
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+-rc\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / edge / [[.]])"
image: lotus-all-in-one
channel: master
network: [[.]]
push: true
filters:
branches:
only:
- master
- build-docker:
name: "Docker build (lotus-all-in-one / [[.]])"
image: lotus-all-in-one
network: [[.]]
push: false
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
[[- end]]
- build-docker:
name: "Docker push (lotus / stable / mainnet)"
image: lotus
channel: stable
network: mainnet
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+$/
- build-docker:
name: "Docker push (lotus / candidate / mainnet)"
image: lotus
channel: candidate
network: mainnet
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+-rc\d+$/
- build-docker:
name: "Docker push (lotus / master / mainnet)"
image: lotus
channel: master
network: mainnet
push: true
filters:
branches:
only:
- master
- build-docker:
name: "Docker build (lotus / mainnet)"
image: lotus
network: mainnet
push: false
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
nightly:
triggers:
- schedule:
cron: "0 0 * * *"
filters:
branches:
only:
- master
jobs:
[[- range .Networks]]
- build-docker:
name: "Docker (lotus-all-in-one / nightly / [[.]])"
image: lotus-all-in-one
channel: nightly
network: [[.]]
push: true
[[- end]]

View File

@ -1,14 +0,0 @@
name: Export Circle Env
description: Export CircleCI environment variables for Filecoin Lotus
runs:
using: composite
steps:
- run: |
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
echo "CIRCLE_TAG=${GITHUB_REF#refs/tags/}" | tee -a $GITHUB_ENV
fi
echo "CIRCLE_PROJECT_USERNAME=$GITHUB_REPOSITORY_OWNER" | tee -a $GITHUB_ENV
echo "CIRCLE_PROJECT_REPONAME=${GITHUB_REPOSITORY#$GITHUB_REPOSITORY_OWNER/}" | tee -a $GITHUB_ENV
echo "CIRCLE_SHA1=$GITHUB_SHA" | tee -a $GITHUB_ENV
shell: bash

View File

@ -35,9 +35,7 @@ jobs:
- image: lotus - image: lotus
network: mainnet network: mainnet
env: env:
# Do not publish until CircleCI is deprecated PUBLISH: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') }}
PUBLISH: false
# PUBLISH: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') }}
steps: steps:
- id: channel - id: channel
env: env:

View File

@ -44,7 +44,6 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
submodules: 'recursive' submodules: 'recursive'
- uses: ./.github/actions/export-circle-env
- uses: ./.github/actions/install-system-dependencies - uses: ./.github/actions/install-system-dependencies
- uses: ./.github/actions/install-go - uses: ./.github/actions/install-go
- env: - env:
@ -68,9 +67,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [build] needs: [build]
env: env:
# Do not publish until CircleCI is deprecated PUBLISH: ${{ startsWith(github.ref, 'refs/tags/') }}
PUBLISH: false
# PUBLISH: ${{ startsWith(github.ref, 'refs/tags/') }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -88,7 +85,6 @@ jobs:
with: with:
name: lotus-macOS-ARM64 name: lotus-macOS-ARM64
path: darwin_arm64 path: darwin_arm64
- uses: ./.github/actions/export-circle-env
- uses: ./.github/actions/install-go - uses: ./.github/actions/install-go
- uses: ipfs/download-ipfs-distribution-action@v1 - uses: ipfs/download-ipfs-distribution-action@v1
with: with:

View File

@ -58,14 +58,6 @@ jobs:
# to extend the available runner capacity (60 default hosted runners). # to extend the available runner capacity (60 default hosted runners).
# We use self-hosted 4xlarge (16 CPU, 32 RAM; and 2xlarge - 8 CPU, 16 RAM) self-hosted # We use self-hosted 4xlarge (16 CPU, 32 RAM; and 2xlarge - 8 CPU, 16 RAM) self-hosted
# to support resource intensive jobs. # to support resource intensive jobs.
# In CircleCI, the jobs defaulted to running on medium+ runners (3 CPU, 6 RAM).
# The following jobs were scheduled to run on 2xlarge runners (16 CPU, 32 RAM):
# - itest-deals_concurrent (✅)
# - itest-sector_pledge (✅)
# - itest-wdpost_worker_config (❌)
# - itest-worker (✅)
# - unit-cli (❌)
# - unit-rest (❌)
runners: | runners: |
{ {
"itest-deals_concurrent": ["self-hosted", "linux", "x64", "4xlarge"], "itest-deals_concurrent": ["self-hosted", "linux", "x64", "4xlarge"],
@ -122,15 +114,9 @@ jobs:
"unit-node": ["self-hosted", "linux", "x64", "xlarge"] "unit-node": ["self-hosted", "linux", "x64", "xlarge"]
} }
# A list of test groups that require YugabyteDB to be running # A list of test groups that require YugabyteDB to be running
# In CircleCI, all jobs had yugabytedb running as a sidecar.
yugabytedb: | yugabytedb: |
["itest-harmonydb", "itest-harmonytask", "itest-curio"] ["itest-harmonydb", "itest-harmonytask", "itest-curio"]
# A list of test groups that require Proof Parameters to be fetched # A list of test groups that require Proof Parameters to be fetched
# In CircleCI, only the following jobs had get-params set:
# - unit-cli (✅)
# - unit-storage (✅)
# - itest-sector_pledge (✅)
# - itest-wdpost (✅)
parameters: | parameters: |
[ [
"conformance", "conformance",

View File

@ -27,7 +27,7 @@ builds:
- goos: linux - goos: linux
goarch: arm64 goarch: arm64
prebuilt: prebuilt:
path: '{{ if index .Env "GITHUB_WORKSPACE" }}{{ .Env.GITHUB_WORKSPACE }}{{ else }}/tmp/workspace{{ end }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus' path: '{{ .Env.GITHUB_WORKSPACE }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus'
- id: lotus-miner - id: lotus-miner
binary: lotus-miner binary: lotus-miner
builder: prebuilt builder: prebuilt
@ -43,7 +43,7 @@ builds:
- goos: linux - goos: linux
goarch: arm64 goarch: arm64
prebuilt: prebuilt:
path: '{{ if index .Env "GITHUB_WORKSPACE" }}{{ .Env.GITHUB_WORKSPACE }}{{ else }}/tmp/workspace{{ end }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-miner' path: '{{ .Env.GITHUB_WORKSPACE }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-miner'
- id: lotus-worker - id: lotus-worker
binary: lotus-worker binary: lotus-worker
builder: prebuilt builder: prebuilt
@ -59,7 +59,7 @@ builds:
- goos: linux - goos: linux
goarch: arm64 goarch: arm64
prebuilt: prebuilt:
path: '{{ if index .Env "GITHUB_WORKSPACE" }}{{ .Env.GITHUB_WORKSPACE }}{{ else }}/tmp/workspace{{ end }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-worker' path: '{{ .Env.GITHUB_WORKSPACE }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-worker'
archives: archives:
- id: primary - id: primary

View File

@ -6,9 +6,9 @@
## Improvements ## Improvements
# v1.27.0-rc2 / 2024-05-07 # v1.27.0-rc3 / 2024-05-16
This is the second release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release. Check out the Curio Beta release section for how you can get started with Curio. This is the third release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release. Check out the Curio Beta release section for how you can get started with Curio.
## ☢️ Upgrade Warnings ☢️ ## ☢️ Upgrade Warnings ☢️
@ -84,6 +84,7 @@ Visit the Curio Official Website insert link
- feat: curioweb: Sector info page (#11846) ([filecoin-project/lotus#11846](https://github.com/filecoin-project/lotus/pull/11846)) - feat: curioweb: Sector info page (#11846) ([filecoin-project/lotus#11846](https://github.com/filecoin-project/lotus/pull/11846))
- feat: curio web: node info page (#11745) ([filecoin-project/lotus#11745](https://github.com/filecoin-project/lotus/pull/11745)) - feat: curio web: node info page (#11745) ([filecoin-project/lotus#11745](https://github.com/filecoin-project/lotus/pull/11745))
- feat: fvm: optimize FVM lanes a bit (#11875) ([filecoin-project/lotus#11875](https://github.com/filecoin-project/lotus/pull/11875)) - feat: fvm: optimize FVM lanes a bit (#11875) ([filecoin-project/lotus#11875](https://github.com/filecoin-project/lotus/pull/11875))
- feat: Gateway API: Add ETH -> FIL and FIL -> ETH address conversion APIs to the Gateway (#11979) ([filecoin-project/lotus#11979](https://github.com/filecoin-project/lotus/pull/11979))
## Improvements ## Improvements
@ -126,7 +127,9 @@ Visit the Curio Official Website insert link
- fix: docs: Modify generate-lotus-cli.py to ignoring aliases. ([filecoin-project/lotus#11535](https://github.com/filecoin-project/lotus/pull/11535)) - fix: docs: Modify generate-lotus-cli.py to ignoring aliases. ([filecoin-project/lotus#11535](https://github.com/filecoin-project/lotus/pull/11535))
- fix: eth: decode as actor creation iff "to" is the EAM (#11520) ([filecoin-project/lotus#11520](https://github.com/filecoin-project/lotus/pull/11520)) - fix: eth: decode as actor creation iff "to" is the EAM (#11520) ([filecoin-project/lotus#11520](https://github.com/filecoin-project/lotus/pull/11520))
- fix(events): properly decorate events db errors (#11856) ([filecoin-project/lotus#11856](https://github.com/filecoin-project/lotus/pull/11856)) - fix(events): properly decorate events db errors (#11856) ([filecoin-project/lotus#11856](https://github.com/filecoin-project/lotus/pull/11856))
- fix: CLI: adjust TermMax for extend-claim used by a different client (#11764) ([filecoin-project/lotus#11764](https://github.com/filecoin-project/lotus/pull/11764)) - fix: CLI: adjust TermMax for extend-claim used by a different client (#11764) ([filecoin-project/lotus#11764](https://github.com/filecoin-project/lotus/pull/111764))
- fix: copy Flags field from SectorOnChainInfo (#11963) ([filecoin-project/lotus#11963](https://github.com/filecoin-project/lotus/pull/11963))
- feat: libp2p: Lotus stream cleanup (#11993) ([filecoin-project/lotus#11993](https://github.com/filecoin-project/lotus/pull/11993))
## Dependencies ## Dependencies
@ -135,6 +138,7 @@ Visit the Curio Official Website insert link
- deps: multiaddress ([filecoin-project/lotus#11558](https://github.com/filecoin-project/lotus/pull/11558)) - deps: multiaddress ([filecoin-project/lotus#11558](https://github.com/filecoin-project/lotus/pull/11558))
- chore:libp2p: update libp2p deps in master ([filecoin-project/lotus#11522](https://github.com/filecoin-project/lotus/pull/11522)) - chore:libp2p: update libp2p deps in master ([filecoin-project/lotus#11522](https://github.com/filecoin-project/lotus/pull/11522))
- dep: go-multi-address ([filecoin-project/lotus#11563](https://github.com/filecoin-project/lotus/pull/11563)) - dep: go-multi-address ([filecoin-project/lotus#11563](https://github.com/filecoin-project/lotus/pull/11563))
- chore: update go-data-transfer and go-graphsync (#12000) ([filecoin-project/lotus#12000](https://github.com/filecoin-project/lotus/pull/2000))
- github.com/filecoin-project/go-amt-ipld/ (v4.2.0 -> v4.3.0) - github.com/filecoin-project/go-amt-ipld/ (v4.2.0 -> v4.3.0)
- github.com/filecoin-project/go-state-types (v0.13.1 -> v0.13.3) - github.com/filecoin-project/go-state-types (v0.13.1 -> v0.13.3)
- github.com/libp2p/go-libp2p-pubsub (v0.10.0 -> v0.10.1) - github.com/libp2p/go-libp2p-pubsub (v0.10.0 -> v0.10.1)
@ -148,6 +152,7 @@ Visit the Curio Official Website insert link
- ci: ci: list processes before calling apt-get to enable debugging (#11815) ([filecoin-project/lotus#11815](https://github.com/filecoin-project/lotus/pull/11815)) - ci: ci: list processes before calling apt-get to enable debugging (#11815) ([filecoin-project/lotus#11815](https://github.com/filecoin-project/lotus/pull/11815))
- ci: ci: allow master main sync to write to the repository (#11784) ([filecoin-project/lotus#11784](https://github.com/filecoin-project/lotus/pull/11784)) - ci: ci: allow master main sync to write to the repository (#11784) ([filecoin-project/lotus#11784](https://github.com/filecoin-project/lotus/pull/11784))
- ci: ci: create gh workflow that runs go tests (#11762) ([filecoin-project/lotus#11762](https://github.com/filecoin-project/lotus/pull/11762)) - ci: ci: create gh workflow that runs go tests (#11762) ([filecoin-project/lotus#11762](https://github.com/filecoin-project/lotus/pull/11762))
- ci: ci: deprecate circle ci in favour of github actions (#11786) ([filecoin-project/lotus#11786](https://github.com/filecoin-project/lotus/pull/1786))
- misc: Drop the raft-cluster experiment ([filecoin-project/lotus#11468](https://github.com/filecoin-project/lotus/pull/11468)) - misc: Drop the raft-cluster experiment ([filecoin-project/lotus#11468](https://github.com/filecoin-project/lotus/pull/11468))
- chore: fix some typos in comments (#11892) ([filecoin-project/lotus#11892](https://github.com/filecoin-project/lotus/pull/11892)) - chore: fix some typos in comments (#11892) ([filecoin-project/lotus#11892](https://github.com/filecoin-project/lotus/pull/11892))
- chore: fix typos (#11848) ([filecoin-project/lotus#11848](https://github.com/filecoin-project/lotus/pull/11848)) - chore: fix typos (#11848) ([filecoin-project/lotus#11848](https://github.com/filecoin-project/lotus/pull/11848))
@ -161,6 +166,7 @@ Visit the Curio Official Website insert link
- chore: build: update minimum go version to 1.21.7 (#11652) ([filecoin-project/lotus#11652](https://github.com/filecoin-project/lotus/pull/11652)) - chore: build: update minimum go version to 1.21.7 (#11652) ([filecoin-project/lotus#11652](https://github.com/filecoin-project/lotus/pull/11652))
- chore: docs: nv-skeleton documentation (#11065) ([filecoin-project/lotus#11065](https://github.com/filecoin-project/lotus/pull/11065)) - chore: docs: nv-skeleton documentation (#11065) ([filecoin-project/lotus#11065](https://github.com/filecoin-project/lotus/pull/11065))
- chore: Add v13 support to invariants-checker (#11931) ([filecoin-project/lotus#11931](https://github.com/filecoin-project/lotus/pull/11931)) - chore: Add v13 support to invariants-checker (#11931) ([filecoin-project/lotus#11931](https://github.com/filecoin-project/lotus/pull/11931))
- chore: remove unmaintained bootstrappers (#11983) ([filecoin-project/lotus#11983](https://github.com/filecoin-project/lotus/pull/11983))
## Contributors ## Contributors

View File

@ -343,7 +343,7 @@ actors-code-gen:
$(GOCC) run ./chain/actors/agen $(GOCC) run ./chain/actors/agen
$(GOCC) fmt ./... $(GOCC) fmt ./...
actors-gen: actors-code-gen actors-gen: actors-code-gen
$(GOCC) run ./scripts/fiximports $(GOCC) run ./scripts/fiximports
.PHONY: actors-gen .PHONY: actors-gen
@ -406,7 +406,7 @@ docsgen-openrpc-gateway: docsgen-openrpc-bin
fiximports: fiximports:
$(GOCC) run ./scripts/fiximports $(GOCC) run ./scripts/fiximports
gen: actors-code-gen type-gen cfgdoc-gen docsgen api-gen circleci gen: actors-code-gen type-gen cfgdoc-gen docsgen api-gen
$(GOCC) run ./scripts/fiximports $(GOCC) run ./scripts/fiximports
@echo ">>> IF YOU'VE MODIFIED THE CLI OR CONFIG, REMEMBER TO ALSO RUN 'make docsgen-cli'" @echo ">>> IF YOU'VE MODIFIED THE CLI OR CONFIG, REMEMBER TO ALSO RUN 'make docsgen-cli'"
.PHONY: gen .PHONY: gen
@ -428,5 +428,32 @@ docsgen-cli: lotus lotus-miner lotus-worker curio sptool
print-%: print-%:
@echo $*=$($*) @echo $*=$($*)
circleci: ### Curio devnet images
go generate -x ./.circleci curio_docker_user?=curio
curio_base_image=$(curio_docker_user)/curio-all-in-one:latest-debug
ffi_from_source?=0
curio-devnet: lotus lotus-miner lotus-shed lotus-seed curio sptool
.PHONY: curio-devnet
curio_docker_build_cmd=docker build --build-arg CURIO_TEST_IMAGE=$(curio_base_image) \
--build-arg FFI_BUILD_FROM_SOURCE=$(ffi_from_source) $(docker_args)
docker/curio-all-in-one:
$(curio_docker_build_cmd) -f Dockerfile.curio --target curio-all-in-one \
-t $(curio_base_image) --build-arg GOFLAGS=-tags=debug .
.PHONY: docker/curio-all-in-one
docker/%:
cd curiosrc/docker/$* && DOCKER_BUILDKIT=1 $(curio_docker_build_cmd) -t $(curio_docker_user)/$*-dev:dev \
--build-arg BUILD_VERSION=dev .
docker/curio-devnet: $(lotus_build_cmd) \
docker/curio-all-in-one docker/lotus docker/lotus-miner docker/curio docker/yugabyte
.PHONY: docker/curio-devnet
curio-devnet/up:
rm -rf ./curiosrc/docker/data && docker compose -f ./curiosrc/docker/docker-compose.yaml up -d
curio-devnet/down:
docker compose -f ./curiosrc/docker/docker-compose.yaml down --rmi=local && sleep 2 && rm -rf ./curiosrc/docker/data

View File

@ -7,10 +7,12 @@
<h1 align="center">Project Lotus - 莲</h1> <h1 align="center">Project Lotus - 莲</h1>
<p align="center"> <p align="center">
<a href="https://circleci.com/gh/filecoin-project/lotus"><img src="https://circleci.com/gh/filecoin-project/lotus.svg?style=svg"></a> ![example workflow](https://github.com/github/docs/actions/workflows/main.yml/badge.svg)
<a href="https://codecov.io/gh/filecoin-project/lotus"><img src="https://codecov.io/gh/filecoin-project/lotus/branch/master/graph/badge.svg"></a> <a href="https://github.com/filecoin-project/lotus/actions/workflows/build.yml"><img src="https://github.com/filecoin-project/lotus/actions/workflows/build.yml/badge.svg"></a>
<a href="https://goreportcard.com/report/github.com/filecoin-project/lotus"><img src="https://goreportcard.com/badge/github.com/filecoin-project/lotus" /></a> <a href="https://github.com/filecoin-project/lotus/actions/workflows/check.yml"><img src="https://github.com/filecoin-project/lotus/actions/workflows/check.yml/badge.svg"></a>
<a href=""><img src="https://img.shields.io/badge/golang-%3E%3D1.18.8-blue.svg" /></a> <a href="https://github.com/filecoin-project/lotus/actions/workflows/test.yml"><img src="https://github.com/filecoin-project/lotus/actions/workflows/test.yml/badge.svg"></a>
<a href="https://goreportcard.com/report/github.com/filecoin-project/lotus"><img src="https://goreportcard.com/badge/github.com/filecoin-project/lotus" /></a>
<a href=""><img src="https://img.shields.io/badge/golang-%3E%3D1.21.7-blue.svg" /></a>
<br> <br>
</p> </p>
@ -19,7 +21,7 @@ Lotus is an implementation of the Filecoin Distributed Storage Network. For more
## Building & Documentation ## Building & Documentation
> Note: The default `master` branch is the dev branch, please use with caution. For the latest stable version, checkout the most recent [`Latest release`](https://github.com/filecoin-project/lotus/releases). > Note: The default `master` branch is the dev branch, please use with caution. For the latest stable version, checkout the most recent [`Latest release`](https://github.com/filecoin-project/lotus/releases).
For complete instructions on how to build, install and setup lotus, please visit [https://lotus.filecoin.io](https://lotus.filecoin.io/lotus/install/prerequisites/#supported-platforms). Basic build instructions can be found further down in this readme. For complete instructions on how to build, install and setup lotus, please visit [https://lotus.filecoin.io](https://lotus.filecoin.io/lotus/install/prerequisites/#supported-platforms). Basic build instructions can be found further down in this readme.
## Reporting a Vulnerability ## Reporting a Vulnerability
@ -96,7 +98,7 @@ Once all the dependencies are installed, you can build and install the Lotus sui
git clone https://github.com/filecoin-project/lotus.git git clone https://github.com/filecoin-project/lotus.git
cd lotus/ cd lotus/
``` ```
Note: The default branch `master` is the dev branch where the latest new features, bug fixes and improvement are in. However, if you want to run lotus on Filecoin mainnet and want to run a production-ready lotus, get the latest release[ here](https://github.com/filecoin-project/lotus/releases). Note: The default branch `master` is the dev branch where the latest new features, bug fixes and improvement are in. However, if you want to run lotus on Filecoin mainnet and want to run a production-ready lotus, get the latest release[ here](https://github.com/filecoin-project/lotus/releases).
2. To join mainnet, checkout the [latest release](https://github.com/filecoin-project/lotus/releases). 2. To join mainnet, checkout the [latest release](https://github.com/filecoin-project/lotus/releases).

View File

@ -91,6 +91,8 @@ type Gateway interface {
Version(context.Context) (APIVersion, error) Version(context.Context) (APIVersion, error)
Discover(context.Context) (apitypes.OpenRPCDocument, error) Discover(context.Context) (apitypes.OpenRPCDocument, error)
EthAddressToFilecoinAddress(ctx context.Context, ethAddress ethtypes.EthAddress) (address.Address, error)
FilecoinAddressToEthAddress(ctx context.Context, filecoinAddress address.Address) (ethtypes.EthAddress, error)
EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error) EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error)
EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error) EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error)
EthGetBlockTransactionCountByNumber(ctx context.Context, blkNum ethtypes.EthUint64) (ethtypes.EthUint64, error) EthGetBlockTransactionCountByNumber(ctx context.Context, blkNum ethtypes.EthUint64) (ethtypes.EthUint64, error)

View File

@ -720,6 +720,8 @@ type GatewayMethods struct {
EthAccounts func(p0 context.Context) ([]ethtypes.EthAddress, error) `` EthAccounts func(p0 context.Context) ([]ethtypes.EthAddress, error) ``
EthAddressToFilecoinAddress func(p0 context.Context, p1 ethtypes.EthAddress) (address.Address, error) ``
EthBlockNumber func(p0 context.Context) (ethtypes.EthUint64, error) `` EthBlockNumber func(p0 context.Context) (ethtypes.EthUint64, error) ``
EthCall func(p0 context.Context, p1 ethtypes.EthCall, p2 ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) `` EthCall func(p0 context.Context, p1 ethtypes.EthCall, p2 ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) ``
@ -790,6 +792,8 @@ type GatewayMethods struct {
EthUnsubscribe func(p0 context.Context, p1 ethtypes.EthSubscriptionID) (bool, error) `` EthUnsubscribe func(p0 context.Context, p1 ethtypes.EthSubscriptionID) (bool, error) ``
FilecoinAddressToEthAddress func(p0 context.Context, p1 address.Address) (ethtypes.EthAddress, error) ``
GasEstimateGasPremium func(p0 context.Context, p1 uint64, p2 address.Address, p3 int64, p4 types.TipSetKey) (types.BigInt, error) `` GasEstimateGasPremium func(p0 context.Context, p1 uint64, p2 address.Address, p3 int64, p4 types.TipSetKey) (types.BigInt, error) ``
GasEstimateMessageGas func(p0 context.Context, p1 *types.Message, p2 *MessageSendSpec, p3 types.TipSetKey) (*types.Message, error) `` GasEstimateMessageGas func(p0 context.Context, p1 *types.Message, p2 *MessageSendSpec, p3 types.TipSetKey) (*types.Message, error) ``
@ -4607,6 +4611,17 @@ func (s *GatewayStub) EthAccounts(p0 context.Context) ([]ethtypes.EthAddress, er
return *new([]ethtypes.EthAddress), ErrNotSupported return *new([]ethtypes.EthAddress), ErrNotSupported
} }
func (s *GatewayStruct) EthAddressToFilecoinAddress(p0 context.Context, p1 ethtypes.EthAddress) (address.Address, error) {
if s.Internal.EthAddressToFilecoinAddress == nil {
return *new(address.Address), ErrNotSupported
}
return s.Internal.EthAddressToFilecoinAddress(p0, p1)
}
func (s *GatewayStub) EthAddressToFilecoinAddress(p0 context.Context, p1 ethtypes.EthAddress) (address.Address, error) {
return *new(address.Address), ErrNotSupported
}
func (s *GatewayStruct) EthBlockNumber(p0 context.Context) (ethtypes.EthUint64, error) { func (s *GatewayStruct) EthBlockNumber(p0 context.Context) (ethtypes.EthUint64, error) {
if s.Internal.EthBlockNumber == nil { if s.Internal.EthBlockNumber == nil {
return *new(ethtypes.EthUint64), ErrNotSupported return *new(ethtypes.EthUint64), ErrNotSupported
@ -4992,6 +5007,17 @@ func (s *GatewayStub) EthUnsubscribe(p0 context.Context, p1 ethtypes.EthSubscrip
return false, ErrNotSupported return false, ErrNotSupported
} }
func (s *GatewayStruct) FilecoinAddressToEthAddress(p0 context.Context, p1 address.Address) (ethtypes.EthAddress, error) {
if s.Internal.FilecoinAddressToEthAddress == nil {
return *new(ethtypes.EthAddress), ErrNotSupported
}
return s.Internal.FilecoinAddressToEthAddress(p0, p1)
}
func (s *GatewayStub) FilecoinAddressToEthAddress(p0 context.Context, p1 address.Address) (ethtypes.EthAddress, error) {
return *new(ethtypes.EthAddress), ErrNotSupported
}
func (s *GatewayStruct) GasEstimateGasPremium(p0 context.Context, p1 uint64, p2 address.Address, p3 int64, p4 types.TipSetKey) (types.BigInt, error) { func (s *GatewayStruct) GasEstimateGasPremium(p0 context.Context, p1 uint64, p2 address.Address, p3 int64, p4 types.TipSetKey) (types.BigInt, error) {
if s.Internal.GasEstimateGasPremium == nil { if s.Internal.GasEstimateGasPremium == nil {
return *new(types.BigInt), ErrNotSupported return *new(types.BigInt), ErrNotSupported

View File

@ -1,6 +1,3 @@
/dns4/lotus-bootstrap.ipfsforce.com/tcp/41778/p2p/12D3KooWGhufNmZHF3sv48aQeS13ng5XVJZ9E6qy2Ms4VzqeUsHk
/dns4/bootstrap-0.starpool.in/tcp/12757/p2p/12D3KooWGHpBMeZbestVEWkfdnC9u7p6uFHXL1n7m1ZBqsEmiUzz
/dns4/bootstrap-1.starpool.in/tcp/12757/p2p/12D3KooWQZrGH1PxSNZPum99M1zNvjNFM33d1AAu5DcvdHptuU7u
/dns4/node.glif.io/tcp/1235/p2p/12D3KooWBF8cpp65hp2u9LK5mh19x67ftAam84z9LsfaquTDSBpt /dns4/node.glif.io/tcp/1235/p2p/12D3KooWBF8cpp65hp2u9LK5mh19x67ftAam84z9LsfaquTDSBpt
/dns4/bootstarp-0.1475.io/tcp/61256/p2p/12D3KooWRzCVDwHUkgdK7eRgnoXbjDAELhxPErjHzbRLguSV1aRt /dns4/bootstarp-0.1475.io/tcp/61256/p2p/12D3KooWRzCVDwHUkgdK7eRgnoXbjDAELhxPErjHzbRLguSV1aRt
/dns4/bootstrap-venus.mainnet.filincubator.com/tcp/8888/p2p/QmQu8C6deXwKvJP2D8B6QGyhngc3ZiDnFzEHBDx8yeBXST /dns4/bootstrap-venus.mainnet.filincubator.com/tcp/8888/p2p/QmQu8C6deXwKvJP2D8B6QGyhngc3ZiDnFzEHBDx8yeBXST

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
"openrpc": "1.2.6", "openrpc": "1.2.6",
"info": { "info": {
"title": "Lotus RPC API", "title": "Lotus RPC API",
"version": "1.27.0-rc2" "version": "1.27.0-rc3"
}, },
"methods": [ "methods": [
{ {
@ -242,7 +242,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4412" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4416"
} }
}, },
{ {
@ -473,7 +473,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4423" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4427"
} }
}, },
{ {
@ -572,7 +572,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4434" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4438"
} }
}, },
{ {
@ -604,7 +604,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4445" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4449"
} }
}, },
{ {
@ -710,7 +710,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4456" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4460"
} }
}, },
{ {
@ -803,7 +803,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4467" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4471"
} }
}, },
{ {
@ -887,7 +887,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4478" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4482"
} }
}, },
{ {
@ -987,7 +987,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4489" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4493"
} }
}, },
{ {
@ -1043,7 +1043,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4500" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4504"
} }
}, },
{ {
@ -1116,7 +1116,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4511" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4515"
} }
}, },
{ {
@ -1189,7 +1189,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4522" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4526"
} }
}, },
{ {
@ -1236,7 +1236,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4533" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4537"
} }
}, },
{ {
@ -1268,7 +1268,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4544" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4548"
} }
}, },
{ {
@ -1305,7 +1305,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4566" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4570"
} }
}, },
{ {
@ -1352,7 +1352,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4577" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4581"
} }
}, },
{ {
@ -1392,7 +1392,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4588" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4592"
} }
}, },
{ {
@ -1439,7 +1439,62 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4599" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4603"
}
},
{
"name": "Filecoin.EthAddressToFilecoinAddress",
"description": "```go\nfunc (s *GatewayStruct) EthAddressToFilecoinAddress(p0 context.Context, p1 ethtypes.EthAddress) (address.Address, error) {\n\tif s.Internal.EthAddressToFilecoinAddress == nil {\n\t\treturn *new(address.Address), ErrNotSupported\n\t}\n\treturn s.Internal.EthAddressToFilecoinAddress(p0, p1)\n}\n```",
"summary": "There are not yet any comments for this method.",
"paramStructure": "by-position",
"params": [
{
"name": "p1",
"description": "ethtypes.EthAddress",
"summary": "",
"schema": {
"examples": [
"0x5cbeecf99d3fdb3f25e309cc264f240bb0664031"
],
"items": [
{
"title": "number",
"description": "Number is a number",
"type": [
"number"
]
}
],
"maxItems": 20,
"minItems": 20,
"type": [
"array"
]
},
"required": true,
"deprecated": false
}
],
"result": {
"name": "address.Address",
"description": "address.Address",
"summary": "",
"schema": {
"examples": [
"f01234"
],
"additionalProperties": false,
"type": [
"object"
]
},
"required": true,
"deprecated": false
},
"deprecated": false,
"externalDocs": {
"description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4614"
} }
}, },
{ {
@ -1468,7 +1523,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4610" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4625"
} }
}, },
{ {
@ -1605,7 +1660,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4621" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4636"
} }
}, },
{ {
@ -1634,7 +1689,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4632" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4647"
} }
}, },
{ {
@ -1688,7 +1743,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4643" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4658"
} }
}, },
{ {
@ -1779,7 +1834,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4654" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4669"
} }
}, },
{ {
@ -1807,7 +1862,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4665" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4680"
} }
}, },
{ {
@ -1897,7 +1952,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4676" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4691"
} }
}, },
{ {
@ -2153,7 +2208,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4687" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4702"
} }
}, },
{ {
@ -2398,7 +2453,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4698" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4713"
} }
}, },
{ {
@ -2454,7 +2509,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4709" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4724"
} }
}, },
{ {
@ -2501,7 +2556,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4720" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4735"
} }
}, },
{ {
@ -2599,7 +2654,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4731" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4746"
} }
}, },
{ {
@ -2665,7 +2720,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4742" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4757"
} }
}, },
{ {
@ -2731,7 +2786,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4753" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4768"
} }
}, },
{ {
@ -2840,7 +2895,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4764" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4779"
} }
}, },
{ {
@ -2898,7 +2953,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4775" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4790"
} }
}, },
{ {
@ -3020,7 +3075,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4786" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4801"
} }
}, },
{ {
@ -3207,7 +3262,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4797" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4812"
} }
}, },
{ {
@ -3411,7 +3466,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4808" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4823"
} }
}, },
{ {
@ -3502,7 +3557,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4819" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4834"
} }
}, },
{ {
@ -3560,7 +3615,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4830" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4845"
} }
}, },
{ {
@ -3818,7 +3873,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4841" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4856"
} }
}, },
{ {
@ -4093,7 +4148,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4852" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4867"
} }
}, },
{ {
@ -4121,7 +4176,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4863" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4878"
} }
}, },
{ {
@ -4159,7 +4214,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4874" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4889"
} }
}, },
{ {
@ -4267,7 +4322,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4885" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4900"
} }
}, },
{ {
@ -4305,7 +4360,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4896" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4911"
} }
}, },
{ {
@ -4334,7 +4389,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4907" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4922"
} }
}, },
{ {
@ -4397,7 +4452,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4918" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4933"
} }
}, },
{ {
@ -4460,7 +4515,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4929" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4944"
} }
}, },
{ {
@ -4505,7 +4560,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4940" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4955"
} }
}, },
{ {
@ -4627,7 +4682,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4951" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4966"
} }
}, },
{ {
@ -4782,7 +4837,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4962" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4977"
} }
}, },
{ {
@ -4836,7 +4891,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4973" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4988"
} }
}, },
{ {
@ -4890,7 +4945,62 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4984" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4999"
}
},
{
"name": "Filecoin.FilecoinAddressToEthAddress",
"description": "```go\nfunc (s *GatewayStruct) FilecoinAddressToEthAddress(p0 context.Context, p1 address.Address) (ethtypes.EthAddress, error) {\n\tif s.Internal.FilecoinAddressToEthAddress == nil {\n\t\treturn *new(ethtypes.EthAddress), ErrNotSupported\n\t}\n\treturn s.Internal.FilecoinAddressToEthAddress(p0, p1)\n}\n```",
"summary": "There are not yet any comments for this method.",
"paramStructure": "by-position",
"params": [
{
"name": "p1",
"description": "address.Address",
"summary": "",
"schema": {
"examples": [
"f01234"
],
"additionalProperties": false,
"type": [
"object"
]
},
"required": true,
"deprecated": false
}
],
"result": {
"name": "ethtypes.EthAddress",
"description": "ethtypes.EthAddress",
"summary": "",
"schema": {
"examples": [
"0x5cbeecf99d3fdb3f25e309cc264f240bb0664031"
],
"items": [
{
"title": "number",
"description": "Number is a number",
"type": [
"number"
]
}
],
"maxItems": 20,
"minItems": 20,
"type": [
"array"
]
},
"required": true,
"deprecated": false
},
"deprecated": false,
"externalDocs": {
"description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5010"
} }
}, },
{ {
@ -4992,7 +5102,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4995" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5021"
} }
}, },
{ {
@ -5215,7 +5325,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5006" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5032"
} }
}, },
{ {
@ -5398,7 +5508,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5017" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5043"
} }
}, },
{ {
@ -5592,7 +5702,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5028" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5054"
} }
}, },
{ {
@ -5638,7 +5748,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5039" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5065"
} }
}, },
{ {
@ -5788,7 +5898,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5050" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5076"
} }
}, },
{ {
@ -5925,7 +6035,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5061" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5087"
} }
}, },
{ {
@ -5993,7 +6103,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5072" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5098"
} }
}, },
{ {
@ -6110,7 +6220,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5083" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5109"
} }
}, },
{ {
@ -6201,7 +6311,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5094" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5120"
} }
}, },
{ {
@ -6287,7 +6397,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5105" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5131"
} }
}, },
{ {
@ -6314,7 +6424,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5116" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5142"
} }
}, },
{ {
@ -6341,7 +6451,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5127" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5153"
} }
}, },
{ {
@ -6409,7 +6519,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5138" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5164"
} }
}, },
{ {
@ -6915,7 +7025,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5149" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5175"
} }
}, },
{ {
@ -7012,7 +7122,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5160" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5186"
} }
}, },
{ {
@ -7112,7 +7222,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5171" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5197"
} }
}, },
{ {
@ -7212,7 +7322,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5182" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5208"
} }
}, },
{ {
@ -7337,7 +7447,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5193" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5219"
} }
}, },
{ {
@ -7446,7 +7556,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5204" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5230"
} }
}, },
{ {
@ -7549,7 +7659,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5215" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5241"
} }
}, },
{ {
@ -7679,7 +7789,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5226" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5252"
} }
}, },
{ {
@ -7786,7 +7896,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5237" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5263"
} }
}, },
{ {
@ -7847,7 +7957,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5248" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5274"
} }
}, },
{ {
@ -7915,7 +8025,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5259" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5285"
} }
}, },
{ {
@ -7996,7 +8106,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5270" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5296"
} }
}, },
{ {
@ -8155,7 +8265,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5281" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5307"
} }
}, },
{ {
@ -8248,7 +8358,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5292" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5318"
} }
}, },
{ {
@ -8449,7 +8559,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5303" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5329"
} }
}, },
{ {
@ -8560,7 +8670,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5314" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5340"
} }
}, },
{ {
@ -8691,7 +8801,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5325" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5351"
} }
}, },
{ {
@ -8777,7 +8887,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5336" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5362"
} }
}, },
{ {
@ -8804,7 +8914,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5347" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5373"
} }
}, },
{ {
@ -8857,7 +8967,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5358" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5384"
} }
}, },
{ {
@ -8945,7 +9055,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5369" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5395"
} }
}, },
{ {
@ -9396,7 +9506,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5380" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5406"
} }
}, },
{ {
@ -9563,7 +9673,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5391" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5417"
} }
}, },
{ {
@ -9736,7 +9846,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5402" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5428"
} }
}, },
{ {
@ -9804,7 +9914,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5413" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5439"
} }
}, },
{ {
@ -9872,7 +9982,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5424" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5450"
} }
}, },
{ {
@ -10033,7 +10143,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5435" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5461"
} }
}, },
{ {
@ -10078,7 +10188,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5457" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5483"
} }
}, },
{ {
@ -10123,7 +10233,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5468" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5494"
} }
}, },
{ {
@ -10150,7 +10260,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5479" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5505"
} }
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
"openrpc": "1.2.6", "openrpc": "1.2.6",
"info": { "info": {
"title": "Lotus RPC API", "title": "Lotus RPC API",
"version": "1.27.0-rc2" "version": "1.27.0-rc3"
}, },
"methods": [ "methods": [
{ {
@ -161,7 +161,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7305" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7331"
} }
}, },
{ {
@ -252,7 +252,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7316" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7342"
} }
}, },
{ {
@ -420,7 +420,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7327" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7353"
} }
}, },
{ {
@ -447,7 +447,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7338" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7364"
} }
}, },
{ {
@ -597,7 +597,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7349" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7375"
} }
}, },
{ {
@ -700,7 +700,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7360" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7386"
} }
}, },
{ {
@ -803,7 +803,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7371" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7397"
} }
}, },
{ {
@ -925,7 +925,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7382" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7408"
} }
}, },
{ {
@ -1135,7 +1135,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7393" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7419"
} }
}, },
{ {
@ -1306,7 +1306,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7404" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7430"
} }
}, },
{ {
@ -3350,7 +3350,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7415" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7441"
} }
}, },
{ {
@ -3470,7 +3470,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7426" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7452"
} }
}, },
{ {
@ -3531,7 +3531,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7437" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7463"
} }
}, },
{ {
@ -3569,7 +3569,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7448" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7474"
} }
}, },
{ {
@ -3729,7 +3729,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7459" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7485"
} }
}, },
{ {
@ -3913,7 +3913,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7470" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7496"
} }
}, },
{ {
@ -4054,7 +4054,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7481" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7507"
} }
}, },
{ {
@ -4107,7 +4107,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7492" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7518"
} }
}, },
{ {
@ -4250,7 +4250,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7503" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7529"
} }
}, },
{ {
@ -4474,7 +4474,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7514" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7540"
} }
}, },
{ {
@ -4601,7 +4601,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7525" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7551"
} }
}, },
{ {
@ -4768,7 +4768,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7536" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7562"
} }
}, },
{ {
@ -4895,7 +4895,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7547" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7573"
} }
}, },
{ {
@ -4933,7 +4933,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7558" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7584"
} }
}, },
{ {
@ -4972,7 +4972,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7569" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7595"
} }
}, },
{ {
@ -4995,7 +4995,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7580" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7606"
} }
}, },
{ {
@ -5034,7 +5034,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7591" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7617"
} }
}, },
{ {
@ -5057,7 +5057,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7602" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7628"
} }
}, },
{ {
@ -5096,7 +5096,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7613" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7639"
} }
}, },
{ {
@ -5130,7 +5130,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7624" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7650"
} }
}, },
{ {
@ -5184,7 +5184,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7635" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7661"
} }
}, },
{ {
@ -5223,7 +5223,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7646" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7672"
} }
}, },
{ {
@ -5262,7 +5262,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7657" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7683"
} }
}, },
{ {
@ -5297,7 +5297,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7668" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7694"
} }
}, },
{ {
@ -5477,7 +5477,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7679" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7705"
} }
}, },
{ {
@ -5506,7 +5506,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7690" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7716"
} }
}, },
{ {
@ -5529,7 +5529,7 @@
"deprecated": false, "deprecated": false,
"externalDocs": { "externalDocs": {
"description": "Github remote link", "description": "Github remote link",
"url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7701" "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7727"
} }
} }
] ]

View File

@ -37,7 +37,7 @@ func BuildTypeString() string {
} }
// BuildVersion is the local build version // BuildVersion is the local build version
const BuildVersion = "1.27.0-rc2" const BuildVersion = "1.27.0-rc3"
func UserVersion() string { func UserVersion() string {
if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" {

View File

@ -587,6 +587,7 @@ func fromV{{.v}}SectorOnChainInfo(v{{.v}} miner{{.v}}.SectorOnChainInfo) SectorO
{{if (ge .v 12)}} {{if (ge .v 12)}}
PowerBaseEpoch: v{{.v}}.PowerBaseEpoch, PowerBaseEpoch: v{{.v}}.PowerBaseEpoch,
ReplacedDayReward: v{{.v}}.ReplacedDayReward, ReplacedDayReward: v{{.v}}.ReplacedDayReward,
Flags: SectorOnChainInfoFlags(v{{.v}}.Flags),
{{end}} {{end}}
} }
return info return info

View File

@ -548,6 +548,7 @@ func fromV12SectorOnChainInfo(v12 miner12.SectorOnChainInfo) SectorOnChainInfo {
PowerBaseEpoch: v12.PowerBaseEpoch, PowerBaseEpoch: v12.PowerBaseEpoch,
ReplacedDayReward: v12.ReplacedDayReward, ReplacedDayReward: v12.ReplacedDayReward,
Flags: SectorOnChainInfoFlags(v12.Flags),
} }
return info return info
} }

View File

@ -548,6 +548,7 @@ func fromV13SectorOnChainInfo(v13 miner13.SectorOnChainInfo) SectorOnChainInfo {
PowerBaseEpoch: v13.PowerBaseEpoch, PowerBaseEpoch: v13.PowerBaseEpoch,
ReplacedDayReward: v13.ReplacedDayReward, ReplacedDayReward: v13.ReplacedDayReward,
Flags: SectorOnChainInfoFlags(v13.Flags),
} }
return info return info
} }

View File

@ -38,6 +38,7 @@ const (
ReadResMinSpeed = 50 << 10 ReadResMinSpeed = 50 << 10
ShufflePeersPrefix = 16 ShufflePeersPrefix = 16
WriteResDeadline = 60 * time.Second WriteResDeadline = 60 * time.Second
streamReadDeadline = 10 * time.Second
) )
// FIXME: Rename. Make private. // FIXME: Rename. Make private.

View File

@ -40,11 +40,15 @@ func (s *server) HandleStream(stream inet.Stream) {
defer stream.Close() //nolint:errcheck defer stream.Close() //nolint:errcheck
_ = stream.SetReadDeadline(time.Now().Add(streamReadDeadline))
var req Request var req Request
if err := cborutil.ReadCborRPC(bufio.NewReader(stream), &req); err != nil { if err := cborutil.ReadCborRPC(bufio.NewReader(stream), &req); err != nil {
_ = stream.SetReadDeadline(time.Time{})
log.Warnf("failed to read block sync request: %s", err) log.Warnf("failed to read block sync request: %s", err)
return return
} }
_ = stream.SetReadDeadline(time.Time{})
log.Debugw("block sync request", log.Debugw("block sync request",
"start", req.Head, "len", req.Length) "start", req.Head, "len", req.Length)

View File

@ -51,6 +51,7 @@ var helloCmd = &cli.Command{
func HandleStream(s inet.Stream) { func HandleStream(s inet.Stream) {
var hmsg hello.HelloMessage var hmsg hello.HelloMessage
_ = s.SetReadDeadline(time.Now().Add(30 * time.Second))
if err := cborutil.ReadCborRPC(s, &hmsg); err != nil { if err := cborutil.ReadCborRPC(s, &hmsg); err != nil {
log.Infow("failed to read hello message, disconnecting", "error", err) log.Infow("failed to read hello message, disconnecting", "error", err)
_ = s.Conn().Close() _ = s.Conn().Close()

View File

@ -7,7 +7,7 @@ USAGE:
curio [global options] command [command options] [arguments...] curio [global options] command [command options] [arguments...]
VERSION: VERSION:
1.27.0-rc2 1.27.0-rc3
COMMANDS: COMMANDS:
cli Execute cli commands cli Execute cli commands

View File

@ -7,7 +7,7 @@ USAGE:
lotus-miner [global options] command [command options] [arguments...] lotus-miner [global options] command [command options] [arguments...]
VERSION: VERSION:
1.27.0-rc2 1.27.0-rc3
COMMANDS: COMMANDS:
init Initialize a lotus miner repo init Initialize a lotus miner repo

View File

@ -7,7 +7,7 @@ USAGE:
lotus-worker [global options] command [command options] [arguments...] lotus-worker [global options] command [command options] [arguments...]
VERSION: VERSION:
1.27.0-rc2 1.27.0-rc3
COMMANDS: COMMANDS:
run Start lotus worker run Start lotus worker

View File

@ -7,7 +7,7 @@ USAGE:
lotus [global options] command [command options] [arguments...] lotus [global options] command [command options] [arguments...]
VERSION: VERSION:
1.27.0-rc2 1.27.0-rc3
COMMANDS: COMMANDS:
daemon Start a lotus daemon process daemon Start a lotus daemon process

View File

@ -7,7 +7,7 @@ USAGE:
sptool [global options] command [command options] [arguments...] sptool [global options] command [command options] [arguments...]
VERSION: VERSION:
1.27.0-rc2 1.27.0-rc3
COMMANDS: COMMANDS:
actor Manage Filecoin Miner Actor Metadata actor Manage Filecoin Miner Actor Metadata

View File

@ -11,6 +11,7 @@ import (
"github.com/ipfs/go-cid" "github.com/ipfs/go-cid"
"golang.org/x/xerrors" "golang.org/x/xerrors"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-jsonrpc" "github.com/filecoin-project/go-jsonrpc"
"github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big" "github.com/filecoin-project/go-state-types/big"
@ -26,6 +27,14 @@ func (gw *Node) EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error)
return []ethtypes.EthAddress{}, nil return []ethtypes.EthAddress{}, nil
} }
func (gw *Node) EthAddressToFilecoinAddress(ctx context.Context, ethAddress ethtypes.EthAddress) (address.Address, error) {
return gw.target.EthAddressToFilecoinAddress(ctx, ethAddress)
}
func (gw *Node) FilecoinAddressToEthAddress(ctx context.Context, filecoinAddress address.Address) (ethtypes.EthAddress, error) {
return gw.target.FilecoinAddressToEthAddress(ctx, filecoinAddress)
}
func (gw *Node) EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error) { func (gw *Node) EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error) {
if err := gw.limit(ctx, chainRateLimitTokens); err != nil { if err := gw.limit(ctx, chainRateLimitTokens); err != nil {
return 0, err return 0, err

14
go.mod
View File

@ -41,7 +41,7 @@ require (
github.com/filecoin-project/go-commp-utils v0.1.3 github.com/filecoin-project/go-commp-utils v0.1.3
github.com/filecoin-project/go-commp-utils/nonffi v0.0.0-20220905160352-62059082a837 github.com/filecoin-project/go-commp-utils/nonffi v0.0.0-20220905160352-62059082a837
github.com/filecoin-project/go-crypto v0.0.1 github.com/filecoin-project/go-crypto v0.0.1
github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc7 github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc8
github.com/filecoin-project/go-fil-commcid v0.1.0 github.com/filecoin-project/go-fil-commcid v0.1.0
github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 github.com/filecoin-project/go-fil-commp-hashhash v0.1.0
github.com/filecoin-project/go-fil-markets v1.28.3 github.com/filecoin-project/go-fil-markets v1.28.3
@ -91,7 +91,7 @@ require (
github.com/ipfs/go-ds-leveldb v0.5.0 github.com/ipfs/go-ds-leveldb v0.5.0
github.com/ipfs/go-ds-measure v0.2.0 github.com/ipfs/go-ds-measure v0.2.0
github.com/ipfs/go-fs-lock v0.0.7 github.com/ipfs/go-fs-lock v0.0.7
github.com/ipfs/go-graphsync v0.16.0 github.com/ipfs/go-graphsync v0.17.0
github.com/ipfs/go-ipfs-blocksutil v0.0.1 github.com/ipfs/go-ipfs-blocksutil v0.0.1
github.com/ipfs/go-ipld-cbor v0.1.0 github.com/ipfs/go-ipld-cbor v0.1.0
github.com/ipfs/go-ipld-format v0.6.0 github.com/ipfs/go-ipld-format v0.6.0
@ -160,12 +160,12 @@ require (
go.uber.org/fx v1.20.1 go.uber.org/fx v1.20.1
go.uber.org/multierr v1.11.0 go.uber.org/multierr v1.11.0
go.uber.org/zap v1.27.0 go.uber.org/zap v1.27.0
golang.org/x/crypto v0.20.0 golang.org/x/crypto v0.21.0
golang.org/x/exp v0.0.0-20240213143201-ec583247a57a golang.org/x/exp v0.0.0-20240213143201-ec583247a57a
golang.org/x/net v0.21.0 golang.org/x/net v0.23.0
golang.org/x/sync v0.6.0 golang.org/x/sync v0.6.0
golang.org/x/sys v0.17.0 golang.org/x/sys v0.18.0
golang.org/x/term v0.17.0 golang.org/x/term v0.18.0
golang.org/x/text v0.14.0 golang.org/x/text v0.14.0
golang.org/x/time v0.5.0 golang.org/x/time v0.5.0
golang.org/x/tools v0.18.0 golang.org/x/tools v0.18.0
@ -331,7 +331,7 @@ require (
gonum.org/v1/gonum v0.14.0 // indirect gonum.org/v1/gonum v0.14.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect
google.golang.org/grpc v1.60.1 // indirect google.golang.org/grpc v1.60.1 // indirect
google.golang.org/protobuf v1.32.0 // indirect google.golang.org/protobuf v1.33.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
howett.net/plist v0.0.0-20181124034731-591f970eefbb // indirect howett.net/plist v0.0.0-20181124034731-591f970eefbb // indirect

28
go.sum
View File

@ -322,8 +322,8 @@ github.com/filecoin-project/go-commp-utils/nonffi v0.0.0-20220905160352-62059082
github.com/filecoin-project/go-crypto v0.0.0-20191218222705-effae4ea9f03/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ= github.com/filecoin-project/go-crypto v0.0.0-20191218222705-effae4ea9f03/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ=
github.com/filecoin-project/go-crypto v0.0.1 h1:AcvpSGGCgjaY8y1az6AMfKQWreF/pWO2JJGLl6gCq6o= github.com/filecoin-project/go-crypto v0.0.1 h1:AcvpSGGCgjaY8y1az6AMfKQWreF/pWO2JJGLl6gCq6o=
github.com/filecoin-project/go-crypto v0.0.1/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ= github.com/filecoin-project/go-crypto v0.0.1/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ=
github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc7 h1:v+zJS5B6pA3ptWZS4t8tbt1Hz9qENnN4nVr1w99aSWc= github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc8 h1:EWC89lM/tJAjyzaxZ624clq3oyHLoLjISfoyG+WIu9s=
github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc7/go.mod h1:V3Y4KbttaCwyg1gwkP7iai8CbQx4mZUGjd3h9GZWLKE= github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc8/go.mod h1:mK3/NbSljx3Kr335+IXEe8gcdEPA2eZXJaNhodK9bAI=
github.com/filecoin-project/go-ds-versioning v0.1.2 h1:to4pTadv3IeV1wvgbCbN6Vqd+fu+7tveXgv/rCEZy6w= github.com/filecoin-project/go-ds-versioning v0.1.2 h1:to4pTadv3IeV1wvgbCbN6Vqd+fu+7tveXgv/rCEZy6w=
github.com/filecoin-project/go-ds-versioning v0.1.2/go.mod h1:C9/l9PnB1+mwPa26BBVpCjG/XQCB0yj/q5CK2J8X1I4= github.com/filecoin-project/go-ds-versioning v0.1.2/go.mod h1:C9/l9PnB1+mwPa26BBVpCjG/XQCB0yj/q5CK2J8X1I4=
github.com/filecoin-project/go-fil-commcid v0.0.0-20201016201715-d41df56b4f6a/go.mod h1:Eaox7Hvus1JgPrL5+M3+h7aSPHc0cVqpSxA+TxIEpZQ= github.com/filecoin-project/go-fil-commcid v0.0.0-20201016201715-d41df56b4f6a/go.mod h1:Eaox7Hvus1JgPrL5+M3+h7aSPHc0cVqpSxA+TxIEpZQ=
@ -737,8 +737,8 @@ github.com/ipfs/go-ds-measure v0.2.0/go.mod h1:SEUD/rE2PwRa4IQEC5FuNAmjJCyYObZr9
github.com/ipfs/go-fs-lock v0.0.6/go.mod h1:OTR+Rj9sHiRubJh3dRhD15Juhd/+w6VPOY28L7zESmM= github.com/ipfs/go-fs-lock v0.0.6/go.mod h1:OTR+Rj9sHiRubJh3dRhD15Juhd/+w6VPOY28L7zESmM=
github.com/ipfs/go-fs-lock v0.0.7 h1:6BR3dajORFrFTkb5EpCUFIAypsoxpGpDSVUdFwzgL9U= github.com/ipfs/go-fs-lock v0.0.7 h1:6BR3dajORFrFTkb5EpCUFIAypsoxpGpDSVUdFwzgL9U=
github.com/ipfs/go-fs-lock v0.0.7/go.mod h1:Js8ka+FNYmgQRLrRXzU3CB/+Csr1BwrRilEcvYrHhhc= github.com/ipfs/go-fs-lock v0.0.7/go.mod h1:Js8ka+FNYmgQRLrRXzU3CB/+Csr1BwrRilEcvYrHhhc=
github.com/ipfs/go-graphsync v0.16.0 h1:0BX7whXlV13Y9FZ/jRg+xaGHaGYbtGxGppKD6tncw6k= github.com/ipfs/go-graphsync v0.17.0 h1:1gh10v94G/vSGzfApVtbZSvSKkK906Y+2sRqewjDTm4=
github.com/ipfs/go-graphsync v0.16.0/go.mod h1:WfbMW3hhmX5GQEQ+KJxsFzVJVBKgC5szfrYK7Zc7xIM= github.com/ipfs/go-graphsync v0.17.0/go.mod h1:HXHiTRIw3wrN3InMwdV+IzpBAtreEf/KqFlEibhfVgo=
github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08=
github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw=
github.com/ipfs/go-ipfs-blockstore v0.2.1/go.mod h1:jGesd8EtCM3/zPgx+qr0/feTXGUeRai6adgwC+Q+JvE= github.com/ipfs/go-ipfs-blockstore v0.2.1/go.mod h1:jGesd8EtCM3/zPgx+qr0/feTXGUeRai6adgwC+Q+JvE=
@ -1843,8 +1843,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/crypto v0.20.0 h1:jmAMJJZXr5KiCw05dfYK9QnqaqKLYXijU23lsEdcQqg= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@ -1951,8 +1951,8 @@ golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@ -2079,8 +2079,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= 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-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
@ -2089,8 +2089,8 @@ golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@ -2287,8 +2287,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= 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 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -29,6 +29,7 @@ import (
const ProtocolID = "/fil/hello/1.0.0" const ProtocolID = "/fil/hello/1.0.0"
var log = logging.Logger("hello") var log = logging.Logger("hello")
var streamDeadline = 10 * time.Second
type HelloMessage struct { type HelloMessage struct {
HeaviestTipSet []cid.Cid HeaviestTipSet []cid.Cid
@ -70,11 +71,15 @@ func NewHelloService(h host.Host, cs *store.ChainStore, syncer *chain.Syncer, co
func (hs *Service) HandleStream(s inet.Stream) { func (hs *Service) HandleStream(s inet.Stream) {
var hmsg HelloMessage var hmsg HelloMessage
_ = s.SetReadDeadline(time.Now().Add(streamDeadline))
if err := cborutil.ReadCborRPC(s, &hmsg); err != nil { if err := cborutil.ReadCborRPC(s, &hmsg); err != nil {
_ = s.SetReadDeadline(time.Time{})
log.Infow("failed to read hello message, disconnecting", "error", err) log.Infow("failed to read hello message, disconnecting", "error", err)
_ = s.Conn().Close() _ = s.Conn().Close()
return return
} }
_ = s.SetReadDeadline(time.Time{})
arrived := build.Clock.Now() arrived := build.Clock.Now()
log.Debugw("genesis from hello", log.Debugw("genesis from hello",
@ -95,9 +100,11 @@ func (hs *Service) HandleStream(s inet.Stream) {
TArrival: arrived.UnixNano(), TArrival: arrived.UnixNano(),
TSent: sent.UnixNano(), TSent: sent.UnixNano(),
} }
_ = s.SetWriteDeadline(time.Now().Add(streamDeadline))
if err := cborutil.WriteCborRPC(s, msg); err != nil { if err := cborutil.WriteCborRPC(s, msg); err != nil {
log.Debugf("error while responding to latency: %v", err) log.Debugf("error while responding to latency: %v", err)
} }
_ = s.SetWriteDeadline(time.Time{})
}() }()
protos, err := hs.h.Peerstore().GetProtocols(s.Conn().RemotePeer()) protos, err := hs.h.Peerstore().GetProtocols(s.Conn().RemotePeer())
@ -155,9 +162,12 @@ func (hs *Service) SayHello(ctx context.Context, pid peer.ID) error {
log.Debug("Sending hello message: ", hts.Cids(), hts.Height(), gen.Cid()) log.Debug("Sending hello message: ", hts.Cids(), hts.Height(), gen.Cid())
t0 := build.Clock.Now() t0 := build.Clock.Now()
_ = s.SetWriteDeadline(time.Now().Add(streamDeadline))
if err := cborutil.WriteCborRPC(s, hmsg); err != nil { if err := cborutil.WriteCborRPC(s, hmsg); err != nil {
_ = s.SetWriteDeadline(time.Time{})
return xerrors.Errorf("writing rpc to peer: %w", err) return xerrors.Errorf("writing rpc to peer: %w", err)
} }
_ = s.SetWriteDeadline(time.Time{})
if err := s.CloseWrite(); err != nil { if err := s.CloseWrite(); err != nil {
log.Warnw("CloseWrite err", "error", err) log.Warnw("CloseWrite err", "error", err)
} }

View File

@ -15,19 +15,22 @@ import (
"github.com/libp2p/go-libp2p/core/peer" "github.com/libp2p/go-libp2p/core/peer"
"github.com/libp2p/go-libp2p/core/protocol" "github.com/libp2p/go-libp2p/core/protocol"
rcmgr "github.com/libp2p/go-libp2p/p2p/host/resource-manager" rcmgr "github.com/libp2p/go-libp2p/p2p/host/resource-manager"
ma "github.com/multiformats/go-multiaddr"
madns "github.com/multiformats/go-multiaddr-dns"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
"go.opencensus.io/stats" "go.opencensus.io/stats"
"go.opencensus.io/tag" "go.opencensus.io/tag"
"go.uber.org/fx" "go.uber.org/fx"
"github.com/filecoin-project/lotus/metrics" "github.com/filecoin-project/lotus/metrics"
"github.com/filecoin-project/lotus/node/modules/dtypes"
"github.com/filecoin-project/lotus/node/repo" "github.com/filecoin-project/lotus/node/repo"
) )
var rcmgrMetricsOnce sync.Once var rcmgrMetricsOnce sync.Once
func ResourceManager(connMgrHi uint) func(lc fx.Lifecycle, repo repo.LockedRepo) (network.ResourceManager, error) { func ResourceManager(connMgrHi uint) func(lc fx.Lifecycle, repo repo.LockedRepo, bs dtypes.BootstrapPeers) (network.ResourceManager, error) {
return func(lc fx.Lifecycle, repo repo.LockedRepo) (network.ResourceManager, error) { return func(lc fx.Lifecycle, repo repo.LockedRepo, bs dtypes.BootstrapPeers) (network.ResourceManager, error) {
isFullNode := repo.RepoType().Type() == "FullNode" isFullNode := repo.RepoType().Type() == "FullNode"
envvar := os.Getenv("LOTUS_RCMGR") envvar := os.Getenv("LOTUS_RCMGR")
if (isFullNode && envvar == "0") || // only set NullResourceManager if envvar is explicitly "0" if (isFullNode && envvar == "0") || // only set NullResourceManager if envvar is explicitly "0"
@ -133,6 +136,20 @@ func ResourceManager(connMgrHi uint) func(lc fx.Lifecycle, repo repo.LockedRepo)
opts = append(opts, rcmgr.WithTrace(traceFile)) opts = append(opts, rcmgr.WithTrace(traceFile))
} }
resolver := madns.DefaultResolver
var bootstrapperMaddrs []ma.Multiaddr
for _, pi := range bs {
for _, addr := range pi.Addrs {
resolved, err := resolver.Resolve(context.Background(), addr)
if err != nil {
continue
}
bootstrapperMaddrs = append(bootstrapperMaddrs, resolved...)
}
}
opts = append(opts, rcmgr.WithAllowlistedMultiaddrs(bootstrapperMaddrs))
mgr, err := rcmgr.NewResourceManager(limiter, opts...) mgr, err := rcmgr.NewResourceManager(limiter, opts...)
if err != nil { if err != nil {
return nil, fmt.Errorf("error creating resource manager: %w", err) return nil, fmt.Errorf("error creating resource manager: %w", err)

View File

@ -9,6 +9,11 @@ if [ -z "${GITHUB_TOKEN}" ]; then
exit 1 exit 1
fi fi
if [ "$GITHUB_REF" != refs/tags/* ]; then
echo "$GITHUB_REF is not a tag, publish failed"
exit 1
fi
REQUIRED=( REQUIRED=(
"jq" "jq"
"curl" "curl"
@ -18,12 +23,14 @@ do
command -v "${REQUIRE}" >/dev/null 2>&1 || echo >&2 "'${REQUIRE}' must be installed" command -v "${REQUIRE}" >/dev/null 2>&1 || echo >&2 "'${REQUIRE}' must be installed"
done done
GITHUB_TAG="${GITHUB_REF#refs/tags/}"
#see if the release already exists by tag #see if the release already exists by tag
RELEASE_RESPONSE=` RELEASE_RESPONSE=`
curl \ curl \
--fail \ --fail \
--header "Authorization: token ${GITHUB_TOKEN}" \ --header "Authorization: token ${GITHUB_TOKEN}" \
"https://api.github.com/repos/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/releases/tags/${CIRCLE_TAG}" "https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/tags/${GITHUB_TAG}"
` `
RELEASE_ID=`echo "${RELEASE_RESPONSE}" | jq '.id'` RELEASE_ID=`echo "${RELEASE_RESPONSE}" | jq '.id'`
@ -32,16 +39,16 @@ if [ "${RELEASE_ID}" = "null" ]; then
COND_CREATE_DISCUSSION="" COND_CREATE_DISCUSSION=""
PRERELEASE=true PRERELEASE=true
if [[ ${CIRCLE_TAG} =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then if [[ ${GITHUB_TAG} =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
COND_CREATE_DISCUSSION="\"discussion_category_name\": \"announcement\"," COND_CREATE_DISCUSSION="\"discussion_category_name\": \"announcement\","
PRERELEASE=false PRERELEASE=false
fi fi
RELEASE_DATA="{ RELEASE_DATA="{
\"tag_name\": \"${CIRCLE_TAG}\", \"tag_name\": \"${GITHUB_TAG}\",
\"target_commitish\": \"${CIRCLE_SHA1}\", \"target_commitish\": \"${GITHUB_SHA}\",
${COND_CREATE_DISCUSSION} ${COND_CREATE_DISCUSSION}
\"name\": \"${CIRCLE_TAG}\", \"name\": \"${GITHUB_TAG}\",
\"body\": \"\", \"body\": \"\",
\"prerelease\": ${PRERELEASE} \"prerelease\": ${PRERELEASE}
}" }"
@ -54,7 +61,7 @@ if [ "${RELEASE_ID}" = "null" ]; then
--header "Authorization: token ${GITHUB_TOKEN}" \ --header "Authorization: token ${GITHUB_TOKEN}" \
--header "Content-Type: application/json" \ --header "Content-Type: application/json" \
--data "${RELEASE_DATA}" \ --data "${RELEASE_DATA}" \
"https://api.github.com/repos/$CIRCLE_PROJECT_USERNAME/${CIRCLE_PROJECT_REPONAME}/releases" "https://api.github.com/repos/${GITHUB_REPOSITORY}/releases"
` `
else else
echo "release already exists" echo "release already exists"

View File

@ -32,8 +32,8 @@ function validate_lotus_version_matches_tag(){
_lotus_path=$1 _lotus_path=$1
if [[ ! -z "${CIRCLE_TAG}" ]]; then if [[ "$GITHUB_REF" != refs/tags/* ]]; then
validate_lotus_version_matches_tag "${_lotus_path}" "${CIRCLE_TAG}" validate_lotus_version_matches_tag "${_lotus_path}" "${GITHUB_REF#refs/tags/}"
else else
echo "No CI tag found. Skipping version check." echo "$GITHUB_REF is not a tag, skipping version check"
fi fi

View File

@ -1,7 +1,6 @@
# sector-storage # sector-storage
[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) [![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io)
[![CircleCI](https://circleci.com/gh/filecoin-project/sector-storage.svg?style=svg)](https://circleci.com/gh/filecoin-project/sector-storage)
[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme) [![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
> a concrete implementation of the [specs-storage](https://github.com/filecoin-project/specs-storage) interface > a concrete implementation of the [specs-storage](https://github.com/filecoin-project/specs-storage) interface
@ -35,7 +34,7 @@ The Local store implements SectorProvider for paths mounted in the local
filesystem. Paths can be shared between nodes, and support shared filesystems filesystem. Paths can be shared between nodes, and support shared filesystems
such as NFS. such as NFS.
stores.Local implements all native filesystem-related operations stores.Local implements all native filesystem-related operations
### `paths.Remote` ### `paths.Remote`