2019-12-09 17:08:32 +00:00
|
|
|
package apistruct
|
2019-06-29 09:19:06 +00:00
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2020-05-26 08:20:32 +00:00
|
|
|
"io"
|
2020-07-08 15:23:27 +00:00
|
|
|
"time"
|
2019-12-05 04:43:54 +00:00
|
|
|
|
OpenRPC Support (#5843)
* main: init implement rpc.Discover RPC method
This implement the basic functionality for the method
over HTTP RPC.
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init example with go-openrpc-reflect lib
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* main: make variable name human-friendly
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init impl of go-openrp-reflect printing document
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* go.mod,go.sum: use go-openrpc-reflect and open-rpc/meta-schema hackforks
This is for development only.
Versions need to be bumped when they're ready for use
as canonical remotes.
Signed-off-by: meows <b5c6@protonmail.com>
* main,openrpc,main: refactor openrpc supporting code to own package
This eliminates code duplication.
Signed-off-by: meows <b5c6@protonmail.com>
* main: add rpc.Discover to openrpc document
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: fix rpc.discover method name casing
Also fixes casing stuff for the rest of Filecoin.
methods.
Signed-off-by: meows <b5c6@protonmail.com>
* Revert "main: add rpc.Discover to openrpc document"
This reverts commit 116898efb10f33e405ac74acb1aa6daefcd46a62.
* main: fix document creation method name
This fixes an issue caused with the latest reverting
commit.
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen,openrpc: refactor to share api parsing, etc as docgen exported stuff
Signed-off-by: meows <b5c6@protonmail.com>
Makefile: fix docgen refactoring for makefile use of command
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: add schema.examples to app reflector
There are quite of few of these already registered
for the docgen command, so it makes sense to use
those!
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init method pairing examples
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump go.mod to use latest meta-schema and openrpc-reflect versions
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init SchemaType mapper function
This function will handle the manual configurations
for app-specific data types w/r/t their json schema
representation.
This is useful for cases where the reflect library
is unable to provide a sufficient representation
automatically.
Provided in this commit is an initial implementation
for the integerD type (assuming number are represented
in the API as hexs), and a commonly used cid.Cid type.
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: tame dependencies by bumping etclabscore/go-openrpc-reflect
This removes a problematic dependency
on github.com/ethereum/go-ethereum, which was
imported as a dependency for a couple github.com/etclabscore/go-openrpc-reflect
tests.
etclabscore/go-openrpc-reflect v0.0.36 has removed this
dependency, so this commit is the result of bumping
that version and then running 'go mod tidy'
This is in response to a review at
https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
Date: 2020-11-21 06:52:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: add 'miner' arg to openrpc gen cmd
This allows the command to EITHER
generate the doc for Full or Miner APIs.
See comment for usage.
Date: 2020-11-21 07:48:05-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen: add missing examples for Miner API
Generating the Miner API OpenRPC doc
(via 'go run ./api/openrpc/cmd miner') caused
the example logic to panic because some types
were missing.
This commit adds those missing types, although
I'm not an expert in the API so I can't
suggest that the example values provided are
ideal or well representative.
Date: 2020-11-21 07:50:21-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json,build/openrpc/miner.json: add build/openrpc/[full/miner].json docs
These will be used as static documents
provided by the rpc.discover method.
Date: 2020-11-21 07:51:39-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: init go-rice openrpc static assets
Date: 2020-11-21 08:23:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: remove rpc.discover implementation from runtime plugin
Instead of generating the doc on the fly,
we're going to serve a static asset.
Rel https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
This removes the runtime implementation from the
RPC server construction.
Date: 2020-11-21 08:41:20-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,common: add Discover(ctx) method to CommonAPI interface and structs
Date: 2020-11-21 08:41:56-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: use rpc server method aliasing for rpc.discover
This depends on a currently-forked change at
filecoin-project/go-jsonrpc 8350f9463ee451b187d35c492e32f1b999e80210
which establishes this new method RPCServer.AliasMethod.
This solves the problem that the OpenRPC
spec says that the document should be served
at the system extension-prefixed endpoing
rpc.discover (not Filecoin.Discover).
In fact, the document will be available at BOTH
endpoints, but that duplicity is harmless.
Date: 2020-11-21 09:18:26-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,build,common: rpc.discover: return json object instead of string
Instead of casting the JSON asset from bytes to string,
unmarshal it to a map[string]interface{} so the
server will provide it as a JSON object.
Date: 2020-11-21 09:27:11-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile: merge resolve: docsgen command path
Date: 2020-11-22 07:19:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,main,docgen,openrpc: merge resolve: fix func exporteds, signatures
Date: 2020-11-22 07:31:03-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: 'get get' auto-bumps version
Date: 2020-11-22 07:31:44-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,docgen,main,build/openrpc: refactor openrpc documentation generation
This creates Makefile command docsgen-openrpc-json,
and refactors the docsgen command to generate both
the markdown and openrpc json documents, redirecting
the output of the openrpc json documentation to
the build/openrpc/ directory, where those json
files will be compiled as static assets via go-rice
boxes.
The api/openrpc/cmd now uses usage argumentation
congruent to that of the docgen command (switching
on API context).
Date: 2020-11-22 08:01:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc: rename api/openrpc -> api/docgen-openrpc
Renames the package as well.
This is intended to parallel the
existing docgen package and command
namespacing.
Date: 2020-11-22 10:34:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,docgen,build,build/openrpc: use typed Discover response
Instead of using a map[string]interface{}, use
a typed response for the Discover method implementation.
This avoids having to set a docgen Example for
the generic map[string]interface{} (as an openrpc document)
which both pollutes the generic type and lacks
useful information for the Discover method example.
Date: 2020-11-22 08:31:16-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,build,main,impl: implement Discover method for Worker and StorageMiner APIs
Methods return static compiled assets respective
to the APIs.
Date: 2020-11-22 08:57:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen_openrpc,build/openrpc: remove timestamping from openrpc doc info
This should allow openrpc docs generated at different
times to be equal. This is important because the CI
(Circle) runs the docgen command and tests that
the output and the source are unchanged (via git diff).
Date: 2020-11-22 10:47:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc,main,build: fix lint issues
Fixes goimports, staticcheck, golint issues.
Date: 2020-11-22 11:06:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: fix: don't use an underscore in package name (golint)
Date: 2020-11-22 11:07:53-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: fix: mod-tidy-check (run 'go mod tidy')
Date: 2020-11-22 11:09:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc dep to latest
This version includes the necessary RPCServer.AliasMethod
method.
Date: 2020-11-23 12:16:15-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,main,build,build/openrpc: init gzipped openrpc static docs
Date: 2020-11-24 06:15:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: refactor gzip reading
Date: 2020-11-24 06:18:34-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: add basic test for openrpc doc from static assets
Date: 2020-11-24 06:30:23-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: handle reader Close error
This keeps the errcheck linter happy.
Date: 2020-11-24 06:33:14-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: run 'go mod tidy'
Date: 2020-11-24 06:36:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: go mod tidy
Tidying up after resolving the merge conflicts
with master at go.mod
Date: 2020-11-24 06:40:45-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc to latest
This is a repeat of 76e6fd2, since the latest merge
to master seems to have reverted this.
Date: 2020-11-24 06:42:30-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc,build/openrpc: remove method example pairings, improve schema examples
Removing method example pairings since they were
redundant to schema examples and were not
implemented well.
Improved schema examples by using the ExampleValue
method instead of the map lookup.
Made a note in the comment here that this is
not ideal, since we have to make a shortcut assumption
/workaround by using 'unknown' as the method name
and the typea as its own parent.
Luckily these values aren't heavily used by the
method logic.
Date: 2020-11-27 12:57:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: use generic number jsonschema for number types
Previously used an integer schema assuming
hex encoding. It appears, based on review some
of the examples, that this may not be the case.
Obvioussly this schema could be more descriptive,
but just shooting for mostly likely to be
not wrong at this point.
Date: 2020-12-15 14:44:37-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* cmd/lotus,go.mod,go.sum: maybe fix straggling merge resolution conflicts
Date: 2021-01-19 12:30:42-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json.gz,build/openrpc/miner.json.gz,build/openrpc/worker.json.gz: run 'make docsgen'
Date: 2021-01-19 12:33:55-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/apistruct,node/impl: (lint) gofmt
Date: 2021-01-19 12:39:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: maybe fix parse error: open ./api: no such file or directory
Date: 2021-01-19 12:52:04-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen,build/openrpc: maybe fix no such file error and run 'make docsgen'
Date: 2021-01-19 12:55:52-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: return if AST comment/groupdoc parsing encounters any error
This will returns empty comments/docs maps.
This should fix issues like:
https://app.circleci.com/pipelines/github/filecoin-project/lotus/12445/workflows/4ebadce9-a298-4ad1-939b-f19ef4c0a5bf/jobs/107218
where the environment makes file lookups hard or
impossible.
Date: 2021-01-19 13:04:58-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api: Don't depend on build/
* make: support parallel docsgen
* openrpc gen: Use simple build version
* methodgen
* goimports
Co-authored-by: meows <b5c6@protonmail.com>
2021-03-19 18:22:46 +00:00
|
|
|
"github.com/filecoin-project/go-address"
|
|
|
|
"github.com/filecoin-project/go-bitfield"
|
2020-10-17 10:53:42 +00:00
|
|
|
"github.com/google/uuid"
|
2019-09-24 21:13:47 +00:00
|
|
|
"github.com/ipfs/go-cid"
|
2020-09-02 22:25:53 +00:00
|
|
|
metrics "github.com/libp2p/go-libp2p-core/metrics"
|
2019-07-25 00:55:19 +00:00
|
|
|
"github.com/libp2p/go-libp2p-core/network"
|
2019-09-24 21:13:47 +00:00
|
|
|
"github.com/libp2p/go-libp2p-core/peer"
|
2020-09-02 23:31:41 +00:00
|
|
|
protocol "github.com/libp2p/go-libp2p-core/protocol"
|
2019-07-25 00:55:19 +00:00
|
|
|
|
2020-10-13 10:37:00 +00:00
|
|
|
datatransfer "github.com/filecoin-project/go-data-transfer"
|
2020-07-27 17:59:30 +00:00
|
|
|
"github.com/filecoin-project/go-fil-markets/piecestore"
|
2020-07-28 21:35:23 +00:00
|
|
|
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
|
2020-02-25 21:09:22 +00:00
|
|
|
"github.com/filecoin-project/go-fil-markets/storagemarket"
|
2020-05-20 18:23:51 +00:00
|
|
|
"github.com/filecoin-project/go-jsonrpc/auth"
|
2020-07-28 06:13:10 +00:00
|
|
|
"github.com/filecoin-project/go-multistore"
|
2020-09-07 03:49:10 +00:00
|
|
|
"github.com/filecoin-project/go-state-types/abi"
|
|
|
|
"github.com/filecoin-project/go-state-types/big"
|
|
|
|
"github.com/filecoin-project/go-state-types/crypto"
|
2020-09-14 13:17:00 +00:00
|
|
|
"github.com/filecoin-project/go-state-types/dline"
|
2020-10-17 10:53:42 +00:00
|
|
|
stnetwork "github.com/filecoin-project/go-state-types/network"
|
2020-08-17 13:26:18 +00:00
|
|
|
"github.com/filecoin-project/lotus/extern/sector-storage/fsutil"
|
|
|
|
"github.com/filecoin-project/lotus/extern/sector-storage/sealtasks"
|
|
|
|
"github.com/filecoin-project/lotus/extern/sector-storage/stores"
|
|
|
|
"github.com/filecoin-project/lotus/extern/sector-storage/storiface"
|
2020-08-11 20:04:00 +00:00
|
|
|
marketevents "github.com/filecoin-project/lotus/markets/loggers"
|
2020-03-23 11:40:02 +00:00
|
|
|
"github.com/filecoin-project/specs-storage/storage"
|
2020-02-08 02:18:32 +00:00
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
"github.com/filecoin-project/lotus/api"
|
OpenRPC Support (#5843)
* main: init implement rpc.Discover RPC method
This implement the basic functionality for the method
over HTTP RPC.
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init example with go-openrpc-reflect lib
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* main: make variable name human-friendly
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init impl of go-openrp-reflect printing document
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* go.mod,go.sum: use go-openrpc-reflect and open-rpc/meta-schema hackforks
This is for development only.
Versions need to be bumped when they're ready for use
as canonical remotes.
Signed-off-by: meows <b5c6@protonmail.com>
* main,openrpc,main: refactor openrpc supporting code to own package
This eliminates code duplication.
Signed-off-by: meows <b5c6@protonmail.com>
* main: add rpc.Discover to openrpc document
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: fix rpc.discover method name casing
Also fixes casing stuff for the rest of Filecoin.
methods.
Signed-off-by: meows <b5c6@protonmail.com>
* Revert "main: add rpc.Discover to openrpc document"
This reverts commit 116898efb10f33e405ac74acb1aa6daefcd46a62.
* main: fix document creation method name
This fixes an issue caused with the latest reverting
commit.
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen,openrpc: refactor to share api parsing, etc as docgen exported stuff
Signed-off-by: meows <b5c6@protonmail.com>
Makefile: fix docgen refactoring for makefile use of command
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: add schema.examples to app reflector
There are quite of few of these already registered
for the docgen command, so it makes sense to use
those!
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init method pairing examples
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump go.mod to use latest meta-schema and openrpc-reflect versions
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init SchemaType mapper function
This function will handle the manual configurations
for app-specific data types w/r/t their json schema
representation.
This is useful for cases where the reflect library
is unable to provide a sufficient representation
automatically.
Provided in this commit is an initial implementation
for the integerD type (assuming number are represented
in the API as hexs), and a commonly used cid.Cid type.
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: tame dependencies by bumping etclabscore/go-openrpc-reflect
This removes a problematic dependency
on github.com/ethereum/go-ethereum, which was
imported as a dependency for a couple github.com/etclabscore/go-openrpc-reflect
tests.
etclabscore/go-openrpc-reflect v0.0.36 has removed this
dependency, so this commit is the result of bumping
that version and then running 'go mod tidy'
This is in response to a review at
https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
Date: 2020-11-21 06:52:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: add 'miner' arg to openrpc gen cmd
This allows the command to EITHER
generate the doc for Full or Miner APIs.
See comment for usage.
Date: 2020-11-21 07:48:05-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen: add missing examples for Miner API
Generating the Miner API OpenRPC doc
(via 'go run ./api/openrpc/cmd miner') caused
the example logic to panic because some types
were missing.
This commit adds those missing types, although
I'm not an expert in the API so I can't
suggest that the example values provided are
ideal or well representative.
Date: 2020-11-21 07:50:21-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json,build/openrpc/miner.json: add build/openrpc/[full/miner].json docs
These will be used as static documents
provided by the rpc.discover method.
Date: 2020-11-21 07:51:39-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: init go-rice openrpc static assets
Date: 2020-11-21 08:23:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: remove rpc.discover implementation from runtime plugin
Instead of generating the doc on the fly,
we're going to serve a static asset.
Rel https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
This removes the runtime implementation from the
RPC server construction.
Date: 2020-11-21 08:41:20-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,common: add Discover(ctx) method to CommonAPI interface and structs
Date: 2020-11-21 08:41:56-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: use rpc server method aliasing for rpc.discover
This depends on a currently-forked change at
filecoin-project/go-jsonrpc 8350f9463ee451b187d35c492e32f1b999e80210
which establishes this new method RPCServer.AliasMethod.
This solves the problem that the OpenRPC
spec says that the document should be served
at the system extension-prefixed endpoing
rpc.discover (not Filecoin.Discover).
In fact, the document will be available at BOTH
endpoints, but that duplicity is harmless.
Date: 2020-11-21 09:18:26-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,build,common: rpc.discover: return json object instead of string
Instead of casting the JSON asset from bytes to string,
unmarshal it to a map[string]interface{} so the
server will provide it as a JSON object.
Date: 2020-11-21 09:27:11-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile: merge resolve: docsgen command path
Date: 2020-11-22 07:19:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,main,docgen,openrpc: merge resolve: fix func exporteds, signatures
Date: 2020-11-22 07:31:03-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: 'get get' auto-bumps version
Date: 2020-11-22 07:31:44-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,docgen,main,build/openrpc: refactor openrpc documentation generation
This creates Makefile command docsgen-openrpc-json,
and refactors the docsgen command to generate both
the markdown and openrpc json documents, redirecting
the output of the openrpc json documentation to
the build/openrpc/ directory, where those json
files will be compiled as static assets via go-rice
boxes.
The api/openrpc/cmd now uses usage argumentation
congruent to that of the docgen command (switching
on API context).
Date: 2020-11-22 08:01:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc: rename api/openrpc -> api/docgen-openrpc
Renames the package as well.
This is intended to parallel the
existing docgen package and command
namespacing.
Date: 2020-11-22 10:34:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,docgen,build,build/openrpc: use typed Discover response
Instead of using a map[string]interface{}, use
a typed response for the Discover method implementation.
This avoids having to set a docgen Example for
the generic map[string]interface{} (as an openrpc document)
which both pollutes the generic type and lacks
useful information for the Discover method example.
Date: 2020-11-22 08:31:16-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,build,main,impl: implement Discover method for Worker and StorageMiner APIs
Methods return static compiled assets respective
to the APIs.
Date: 2020-11-22 08:57:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen_openrpc,build/openrpc: remove timestamping from openrpc doc info
This should allow openrpc docs generated at different
times to be equal. This is important because the CI
(Circle) runs the docgen command and tests that
the output and the source are unchanged (via git diff).
Date: 2020-11-22 10:47:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc,main,build: fix lint issues
Fixes goimports, staticcheck, golint issues.
Date: 2020-11-22 11:06:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: fix: don't use an underscore in package name (golint)
Date: 2020-11-22 11:07:53-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: fix: mod-tidy-check (run 'go mod tidy')
Date: 2020-11-22 11:09:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc dep to latest
This version includes the necessary RPCServer.AliasMethod
method.
Date: 2020-11-23 12:16:15-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,main,build,build/openrpc: init gzipped openrpc static docs
Date: 2020-11-24 06:15:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: refactor gzip reading
Date: 2020-11-24 06:18:34-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: add basic test for openrpc doc from static assets
Date: 2020-11-24 06:30:23-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: handle reader Close error
This keeps the errcheck linter happy.
Date: 2020-11-24 06:33:14-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: run 'go mod tidy'
Date: 2020-11-24 06:36:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: go mod tidy
Tidying up after resolving the merge conflicts
with master at go.mod
Date: 2020-11-24 06:40:45-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc to latest
This is a repeat of 76e6fd2, since the latest merge
to master seems to have reverted this.
Date: 2020-11-24 06:42:30-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc,build/openrpc: remove method example pairings, improve schema examples
Removing method example pairings since they were
redundant to schema examples and were not
implemented well.
Improved schema examples by using the ExampleValue
method instead of the map lookup.
Made a note in the comment here that this is
not ideal, since we have to make a shortcut assumption
/workaround by using 'unknown' as the method name
and the typea as its own parent.
Luckily these values aren't heavily used by the
method logic.
Date: 2020-11-27 12:57:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: use generic number jsonschema for number types
Previously used an integer schema assuming
hex encoding. It appears, based on review some
of the examples, that this may not be the case.
Obvioussly this schema could be more descriptive,
but just shooting for mostly likely to be
not wrong at this point.
Date: 2020-12-15 14:44:37-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* cmd/lotus,go.mod,go.sum: maybe fix straggling merge resolution conflicts
Date: 2021-01-19 12:30:42-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json.gz,build/openrpc/miner.json.gz,build/openrpc/worker.json.gz: run 'make docsgen'
Date: 2021-01-19 12:33:55-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/apistruct,node/impl: (lint) gofmt
Date: 2021-01-19 12:39:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: maybe fix parse error: open ./api: no such file or directory
Date: 2021-01-19 12:52:04-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen,build/openrpc: maybe fix no such file error and run 'make docsgen'
Date: 2021-01-19 12:55:52-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: return if AST comment/groupdoc parsing encounters any error
This will returns empty comments/docs maps.
This should fix issues like:
https://app.circleci.com/pipelines/github/filecoin-project/lotus/12445/workflows/4ebadce9-a298-4ad1-939b-f19ef4c0a5bf/jobs/107218
where the environment makes file lookups hard or
impossible.
Date: 2021-01-19 13:04:58-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api: Don't depend on build/
* make: support parallel docsgen
* openrpc gen: Use simple build version
* methodgen
* goimports
Co-authored-by: meows <b5c6@protonmail.com>
2021-03-19 18:22:46 +00:00
|
|
|
apitypes "github.com/filecoin-project/lotus/api/types"
|
2020-09-15 19:09:39 +00:00
|
|
|
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
|
2020-09-23 04:48:35 +00:00
|
|
|
"github.com/filecoin-project/lotus/chain/actors/builtin/paych"
|
2019-10-18 04:47:41 +00:00
|
|
|
"github.com/filecoin-project/lotus/chain/types"
|
2020-03-31 23:13:37 +00:00
|
|
|
"github.com/filecoin-project/lotus/node/modules/dtypes"
|
2019-06-29 09:19:06 +00:00
|
|
|
)
|
|
|
|
|
2019-07-23 20:05:44 +00:00
|
|
|
// All permissions are listed in permissioned.go
|
|
|
|
var _ = AllPermissions
|
|
|
|
|
2019-07-24 00:09:34 +00:00
|
|
|
type CommonStruct struct {
|
2019-07-24 01:10:26 +00:00
|
|
|
Internal struct {
|
2020-05-20 18:23:51 +00:00
|
|
|
AuthVerify func(ctx context.Context, token string) ([]auth.Permission, error) `perm:"read"`
|
|
|
|
AuthNew func(ctx context.Context, perms []auth.Permission) ([]byte, error) `perm:"admin"`
|
2019-07-23 17:27:45 +00:00
|
|
|
|
2020-09-02 22:25:53 +00:00
|
|
|
NetConnectedness func(context.Context, peer.ID) (network.Connectedness, error) `perm:"read"`
|
|
|
|
NetPeers func(context.Context) ([]peer.AddrInfo, error) `perm:"read"`
|
|
|
|
NetConnect func(context.Context, peer.AddrInfo) error `perm:"write"`
|
|
|
|
NetAddrsListen func(context.Context) (peer.AddrInfo, error) `perm:"read"`
|
|
|
|
NetDisconnect func(context.Context, peer.ID) error `perm:"write"`
|
|
|
|
NetFindPeer func(context.Context, peer.ID) (peer.AddrInfo, error) `perm:"read"`
|
|
|
|
NetPubsubScores func(context.Context) ([]api.PubsubScore, error) `perm:"read"`
|
|
|
|
NetAutoNatStatus func(context.Context) (api.NatInfo, error) `perm:"read"`
|
|
|
|
NetBandwidthStats func(ctx context.Context) (metrics.Stats, error) `perm:"read"`
|
|
|
|
NetBandwidthStatsByPeer func(ctx context.Context) (map[string]metrics.Stats, error) `perm:"read"`
|
|
|
|
NetBandwidthStatsByProtocol func(ctx context.Context) (map[protocol.ID]metrics.Stats, error) `perm:"read"`
|
2020-09-03 23:35:53 +00:00
|
|
|
NetAgentVersion func(ctx context.Context, p peer.ID) (string, error) `perm:"read"`
|
2021-03-06 17:14:13 +00:00
|
|
|
NetPeerInfo func(context.Context, peer.ID) (*api.ExtendedPeerInfo, error) `perm:"read"`
|
2020-11-13 19:11:17 +00:00
|
|
|
NetBlockAdd func(ctx context.Context, acl api.NetBlockList) error `perm:"admin"`
|
|
|
|
NetBlockRemove func(ctx context.Context, acl api.NetBlockList) error `perm:"admin"`
|
|
|
|
NetBlockList func(ctx context.Context) (api.NetBlockList, error) `perm:"read"`
|
OpenRPC Support (#5843)
* main: init implement rpc.Discover RPC method
This implement the basic functionality for the method
over HTTP RPC.
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init example with go-openrpc-reflect lib
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* main: make variable name human-friendly
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init impl of go-openrp-reflect printing document
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* go.mod,go.sum: use go-openrpc-reflect and open-rpc/meta-schema hackforks
This is for development only.
Versions need to be bumped when they're ready for use
as canonical remotes.
Signed-off-by: meows <b5c6@protonmail.com>
* main,openrpc,main: refactor openrpc supporting code to own package
This eliminates code duplication.
Signed-off-by: meows <b5c6@protonmail.com>
* main: add rpc.Discover to openrpc document
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: fix rpc.discover method name casing
Also fixes casing stuff for the rest of Filecoin.
methods.
Signed-off-by: meows <b5c6@protonmail.com>
* Revert "main: add rpc.Discover to openrpc document"
This reverts commit 116898efb10f33e405ac74acb1aa6daefcd46a62.
* main: fix document creation method name
This fixes an issue caused with the latest reverting
commit.
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen,openrpc: refactor to share api parsing, etc as docgen exported stuff
Signed-off-by: meows <b5c6@protonmail.com>
Makefile: fix docgen refactoring for makefile use of command
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: add schema.examples to app reflector
There are quite of few of these already registered
for the docgen command, so it makes sense to use
those!
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init method pairing examples
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump go.mod to use latest meta-schema and openrpc-reflect versions
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init SchemaType mapper function
This function will handle the manual configurations
for app-specific data types w/r/t their json schema
representation.
This is useful for cases where the reflect library
is unable to provide a sufficient representation
automatically.
Provided in this commit is an initial implementation
for the integerD type (assuming number are represented
in the API as hexs), and a commonly used cid.Cid type.
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: tame dependencies by bumping etclabscore/go-openrpc-reflect
This removes a problematic dependency
on github.com/ethereum/go-ethereum, which was
imported as a dependency for a couple github.com/etclabscore/go-openrpc-reflect
tests.
etclabscore/go-openrpc-reflect v0.0.36 has removed this
dependency, so this commit is the result of bumping
that version and then running 'go mod tidy'
This is in response to a review at
https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
Date: 2020-11-21 06:52:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: add 'miner' arg to openrpc gen cmd
This allows the command to EITHER
generate the doc for Full or Miner APIs.
See comment for usage.
Date: 2020-11-21 07:48:05-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen: add missing examples for Miner API
Generating the Miner API OpenRPC doc
(via 'go run ./api/openrpc/cmd miner') caused
the example logic to panic because some types
were missing.
This commit adds those missing types, although
I'm not an expert in the API so I can't
suggest that the example values provided are
ideal or well representative.
Date: 2020-11-21 07:50:21-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json,build/openrpc/miner.json: add build/openrpc/[full/miner].json docs
These will be used as static documents
provided by the rpc.discover method.
Date: 2020-11-21 07:51:39-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: init go-rice openrpc static assets
Date: 2020-11-21 08:23:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: remove rpc.discover implementation from runtime plugin
Instead of generating the doc on the fly,
we're going to serve a static asset.
Rel https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
This removes the runtime implementation from the
RPC server construction.
Date: 2020-11-21 08:41:20-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,common: add Discover(ctx) method to CommonAPI interface and structs
Date: 2020-11-21 08:41:56-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: use rpc server method aliasing for rpc.discover
This depends on a currently-forked change at
filecoin-project/go-jsonrpc 8350f9463ee451b187d35c492e32f1b999e80210
which establishes this new method RPCServer.AliasMethod.
This solves the problem that the OpenRPC
spec says that the document should be served
at the system extension-prefixed endpoing
rpc.discover (not Filecoin.Discover).
In fact, the document will be available at BOTH
endpoints, but that duplicity is harmless.
Date: 2020-11-21 09:18:26-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,build,common: rpc.discover: return json object instead of string
Instead of casting the JSON asset from bytes to string,
unmarshal it to a map[string]interface{} so the
server will provide it as a JSON object.
Date: 2020-11-21 09:27:11-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile: merge resolve: docsgen command path
Date: 2020-11-22 07:19:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,main,docgen,openrpc: merge resolve: fix func exporteds, signatures
Date: 2020-11-22 07:31:03-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: 'get get' auto-bumps version
Date: 2020-11-22 07:31:44-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,docgen,main,build/openrpc: refactor openrpc documentation generation
This creates Makefile command docsgen-openrpc-json,
and refactors the docsgen command to generate both
the markdown and openrpc json documents, redirecting
the output of the openrpc json documentation to
the build/openrpc/ directory, where those json
files will be compiled as static assets via go-rice
boxes.
The api/openrpc/cmd now uses usage argumentation
congruent to that of the docgen command (switching
on API context).
Date: 2020-11-22 08:01:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc: rename api/openrpc -> api/docgen-openrpc
Renames the package as well.
This is intended to parallel the
existing docgen package and command
namespacing.
Date: 2020-11-22 10:34:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,docgen,build,build/openrpc: use typed Discover response
Instead of using a map[string]interface{}, use
a typed response for the Discover method implementation.
This avoids having to set a docgen Example for
the generic map[string]interface{} (as an openrpc document)
which both pollutes the generic type and lacks
useful information for the Discover method example.
Date: 2020-11-22 08:31:16-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,build,main,impl: implement Discover method for Worker and StorageMiner APIs
Methods return static compiled assets respective
to the APIs.
Date: 2020-11-22 08:57:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen_openrpc,build/openrpc: remove timestamping from openrpc doc info
This should allow openrpc docs generated at different
times to be equal. This is important because the CI
(Circle) runs the docgen command and tests that
the output and the source are unchanged (via git diff).
Date: 2020-11-22 10:47:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc,main,build: fix lint issues
Fixes goimports, staticcheck, golint issues.
Date: 2020-11-22 11:06:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: fix: don't use an underscore in package name (golint)
Date: 2020-11-22 11:07:53-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: fix: mod-tidy-check (run 'go mod tidy')
Date: 2020-11-22 11:09:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc dep to latest
This version includes the necessary RPCServer.AliasMethod
method.
Date: 2020-11-23 12:16:15-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,main,build,build/openrpc: init gzipped openrpc static docs
Date: 2020-11-24 06:15:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: refactor gzip reading
Date: 2020-11-24 06:18:34-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: add basic test for openrpc doc from static assets
Date: 2020-11-24 06:30:23-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: handle reader Close error
This keeps the errcheck linter happy.
Date: 2020-11-24 06:33:14-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: run 'go mod tidy'
Date: 2020-11-24 06:36:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: go mod tidy
Tidying up after resolving the merge conflicts
with master at go.mod
Date: 2020-11-24 06:40:45-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc to latest
This is a repeat of 76e6fd2, since the latest merge
to master seems to have reverted this.
Date: 2020-11-24 06:42:30-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc,build/openrpc: remove method example pairings, improve schema examples
Removing method example pairings since they were
redundant to schema examples and were not
implemented well.
Improved schema examples by using the ExampleValue
method instead of the map lookup.
Made a note in the comment here that this is
not ideal, since we have to make a shortcut assumption
/workaround by using 'unknown' as the method name
and the typea as its own parent.
Luckily these values aren't heavily used by the
method logic.
Date: 2020-11-27 12:57:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: use generic number jsonschema for number types
Previously used an integer schema assuming
hex encoding. It appears, based on review some
of the examples, that this may not be the case.
Obvioussly this schema could be more descriptive,
but just shooting for mostly likely to be
not wrong at this point.
Date: 2020-12-15 14:44:37-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* cmd/lotus,go.mod,go.sum: maybe fix straggling merge resolution conflicts
Date: 2021-01-19 12:30:42-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json.gz,build/openrpc/miner.json.gz,build/openrpc/worker.json.gz: run 'make docsgen'
Date: 2021-01-19 12:33:55-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/apistruct,node/impl: (lint) gofmt
Date: 2021-01-19 12:39:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: maybe fix parse error: open ./api: no such file or directory
Date: 2021-01-19 12:52:04-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen,build/openrpc: maybe fix no such file error and run 'make docsgen'
Date: 2021-01-19 12:55:52-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: return if AST comment/groupdoc parsing encounters any error
This will returns empty comments/docs maps.
This should fix issues like:
https://app.circleci.com/pipelines/github/filecoin-project/lotus/12445/workflows/4ebadce9-a298-4ad1-939b-f19ef4c0a5bf/jobs/107218
where the environment makes file lookups hard or
impossible.
Date: 2021-01-19 13:04:58-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api: Don't depend on build/
* make: support parallel docsgen
* openrpc gen: Use simple build version
* methodgen
* goimports
Co-authored-by: meows <b5c6@protonmail.com>
2021-03-19 18:22:46 +00:00
|
|
|
Discover func(ctx context.Context) (map[string]interface{}, error) `perm:"read"`
|
2019-07-24 00:09:34 +00:00
|
|
|
|
2021-03-05 21:01:20 +00:00
|
|
|
ID func(context.Context) (peer.ID, error) `perm:"read"`
|
|
|
|
Version func(context.Context) (api.APIVersion, error) `perm:"read"`
|
2020-02-15 05:49:54 +00:00
|
|
|
|
|
|
|
LogList func(context.Context) ([]string, error) `perm:"write"`
|
|
|
|
LogSetLevel func(context.Context, string, string) error `perm:"write"`
|
2020-06-02 18:54:24 +00:00
|
|
|
|
2020-06-17 14:44:59 +00:00
|
|
|
Shutdown func(context.Context) error `perm:"admin"`
|
2020-10-17 10:53:42 +00:00
|
|
|
Session func(context.Context) (uuid.UUID, error) `perm:"read"`
|
2020-06-17 14:44:59 +00:00
|
|
|
Closing func(context.Context) (<-chan struct{}, error) `perm:"read"`
|
2019-07-24 00:09:34 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// FullNodeStruct implements API passing calls to user-provided function values.
|
|
|
|
type FullNodeStruct struct {
|
|
|
|
CommonStruct
|
2019-07-08 19:07:16 +00:00
|
|
|
|
2019-07-24 00:09:34 +00:00
|
|
|
Internal struct {
|
2020-08-11 23:58:35 +00:00
|
|
|
ChainNotify func(context.Context) (<-chan []*api.HeadChange, error) `perm:"read"`
|
|
|
|
ChainHead func(context.Context) (*types.TipSet, error) `perm:"read"`
|
|
|
|
ChainGetRandomnessFromTickets func(context.Context, types.TipSetKey, crypto.DomainSeparationTag, abi.ChainEpoch, []byte) (abi.Randomness, error) `perm:"read"`
|
|
|
|
ChainGetRandomnessFromBeacon func(context.Context, types.TipSetKey, crypto.DomainSeparationTag, abi.ChainEpoch, []byte) (abi.Randomness, error) `perm:"read"`
|
|
|
|
ChainGetBlock func(context.Context, cid.Cid) (*types.BlockHeader, error) `perm:"read"`
|
|
|
|
ChainGetTipSet func(context.Context, types.TipSetKey) (*types.TipSet, error) `perm:"read"`
|
|
|
|
ChainGetBlockMessages func(context.Context, cid.Cid) (*api.BlockMessages, error) `perm:"read"`
|
|
|
|
ChainGetParentReceipts func(context.Context, cid.Cid) ([]*types.MessageReceipt, error) `perm:"read"`
|
|
|
|
ChainGetParentMessages func(context.Context, cid.Cid) ([]api.Message, error) `perm:"read"`
|
|
|
|
ChainGetTipSetByHeight func(context.Context, abi.ChainEpoch, types.TipSetKey) (*types.TipSet, error) `perm:"read"`
|
|
|
|
ChainReadObj func(context.Context, cid.Cid) ([]byte, error) `perm:"read"`
|
2020-09-10 17:35:06 +00:00
|
|
|
ChainDeleteObj func(context.Context, cid.Cid) error `perm:"admin"`
|
2020-08-11 23:58:35 +00:00
|
|
|
ChainHasObj func(context.Context, cid.Cid) (bool, error) `perm:"read"`
|
|
|
|
ChainStatObj func(context.Context, cid.Cid, cid.Cid) (api.ObjStat, error) `perm:"read"`
|
|
|
|
ChainSetHead func(context.Context, types.TipSetKey) error `perm:"admin"`
|
|
|
|
ChainGetGenesis func(context.Context) (*types.TipSet, error) `perm:"read"`
|
|
|
|
ChainTipSetWeight func(context.Context, types.TipSetKey) (types.BigInt, error) `perm:"read"`
|
|
|
|
ChainGetNode func(ctx context.Context, p string) (*api.IpldObject, error) `perm:"read"`
|
|
|
|
ChainGetMessage func(context.Context, cid.Cid) (*types.Message, error) `perm:"read"`
|
|
|
|
ChainGetPath func(context.Context, types.TipSetKey, types.TipSetKey) ([]*api.HeadChange, error) `perm:"read"`
|
2020-09-11 00:40:47 +00:00
|
|
|
ChainExport func(context.Context, abi.ChainEpoch, bool, types.TipSetKey) (<-chan []byte, error) `perm:"read"`
|
2019-07-09 15:19:27 +00:00
|
|
|
|
2020-08-05 00:01:21 +00:00
|
|
|
BeaconGetEntry func(ctx context.Context, epoch abi.ChainEpoch) (*types.BeaconEntry, error) `perm:"read"`
|
|
|
|
|
2020-08-19 21:25:58 +00:00
|
|
|
GasEstimateGasPremium func(context.Context, uint64, address.Address, int64, types.TipSetKey) (types.BigInt, error) `perm:"read"`
|
|
|
|
GasEstimateGasLimit func(context.Context, *types.Message, types.TipSetKey) (int64, error) `perm:"read"`
|
|
|
|
GasEstimateFeeCap func(context.Context, *types.Message, int64, types.TipSetKey) (types.BigInt, error) `perm:"read"`
|
|
|
|
GasEstimateMessageGas func(context.Context, *types.Message, *api.MessageSendSpec, types.TipSetKey) (*types.Message, error) `perm:"read"`
|
2020-07-20 17:48:30 +00:00
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
SyncState func(context.Context) (*api.SyncState, error) `perm:"read"`
|
2019-11-18 21:39:07 +00:00
|
|
|
SyncSubmitBlock func(ctx context.Context, blk *types.BlockMsg) error `perm:"write"`
|
|
|
|
SyncIncomingBlocks func(ctx context.Context) (<-chan *types.BlockHeader, error) `perm:"read"`
|
2020-09-09 05:14:01 +00:00
|
|
|
SyncCheckpoint func(ctx context.Context, key types.TipSetKey) error `perm:"admin"`
|
2020-01-08 12:34:53 +00:00
|
|
|
SyncMarkBad func(ctx context.Context, bcid cid.Cid) error `perm:"admin"`
|
2020-09-09 07:24:09 +00:00
|
|
|
SyncUnmarkBad func(ctx context.Context, bcid cid.Cid) error `perm:"admin"`
|
2020-10-10 18:46:06 +00:00
|
|
|
SyncUnmarkAllBad func(ctx context.Context) error `perm:"admin"`
|
2020-02-12 07:44:55 +00:00
|
|
|
SyncCheckBad func(ctx context.Context, bcid cid.Cid) (string, error) `perm:"read"`
|
2020-09-27 21:52:26 +00:00
|
|
|
SyncValidateTipset func(ctx context.Context, tsk types.TipSetKey) (bool, error) `perm:"read"`
|
2019-09-30 21:06:47 +00:00
|
|
|
|
2020-08-11 11:05:04 +00:00
|
|
|
MpoolGetConfig func(context.Context) (*types.MpoolConfig, error) `perm:"read"`
|
|
|
|
MpoolSetConfig func(context.Context, *types.MpoolConfig) error `perm:"write"`
|
|
|
|
|
|
|
|
MpoolSelect func(context.Context, types.TipSetKey, float64) ([]*types.SignedMessage, error) `perm:"read"`
|
|
|
|
|
2020-08-21 17:28:45 +00:00
|
|
|
MpoolPending func(context.Context, types.TipSetKey) ([]*types.SignedMessage, error) `perm:"read"`
|
2020-08-21 17:59:40 +00:00
|
|
|
MpoolClear func(context.Context, bool) error `perm:"write"`
|
2020-08-21 17:28:45 +00:00
|
|
|
|
2020-09-18 06:40:43 +00:00
|
|
|
MpoolPush func(context.Context, *types.SignedMessage) (cid.Cid, error) `perm:"write"`
|
|
|
|
MpoolPushUntrusted func(context.Context, *types.SignedMessage) (cid.Cid, error) `perm:"write"`
|
|
|
|
|
2020-08-12 20:17:21 +00:00
|
|
|
MpoolPushMessage func(context.Context, *types.Message, *api.MessageSendSpec) (*types.SignedMessage, error) `perm:"sign"`
|
|
|
|
MpoolGetNonce func(context.Context, address.Address) (uint64, error) `perm:"read"`
|
|
|
|
MpoolSub func(context.Context) (<-chan api.MpoolUpdate, error) `perm:"read"`
|
2019-07-11 02:36:43 +00:00
|
|
|
|
2020-10-08 02:04:43 +00:00
|
|
|
MpoolBatchPush func(ctx context.Context, smsgs []*types.SignedMessage) ([]cid.Cid, error) `perm:"write"`
|
|
|
|
MpoolBatchPushUntrusted func(ctx context.Context, smsgs []*types.SignedMessage) ([]cid.Cid, error) `perm:"write"`
|
|
|
|
MpoolBatchPushMessage func(ctx context.Context, msgs []*types.Message, spec *api.MessageSendSpec) ([]*types.SignedMessage, error) `perm:"sign"`
|
|
|
|
|
2020-04-17 23:36:54 +00:00
|
|
|
MinerGetBaseInfo func(context.Context, address.Address, abi.ChainEpoch, types.TipSetKey) (*api.MiningBaseInfo, error) `perm:"read"`
|
|
|
|
MinerCreateBlock func(context.Context, *api.BlockTemplate) (*types.BlockMsg, error) `perm:"write"`
|
2019-07-09 22:58:51 +00:00
|
|
|
|
2020-10-11 18:12:01 +00:00
|
|
|
WalletNew func(context.Context, types.KeyType) (address.Address, error) `perm:"write"`
|
2020-09-30 05:43:10 +00:00
|
|
|
WalletHas func(context.Context, address.Address) (bool, error) `perm:"write"`
|
|
|
|
WalletList func(context.Context) ([]address.Address, error) `perm:"write"`
|
|
|
|
WalletBalance func(context.Context, address.Address) (types.BigInt, error) `perm:"read"`
|
|
|
|
WalletSign func(context.Context, address.Address, []byte) (*crypto.Signature, error) `perm:"sign"`
|
|
|
|
WalletSignMessage func(context.Context, address.Address, *types.Message) (*types.SignedMessage, error) `perm:"sign"`
|
|
|
|
WalletVerify func(context.Context, address.Address, []byte, *crypto.Signature) (bool, error) `perm:"read"`
|
|
|
|
WalletDefaultAddress func(context.Context) (address.Address, error) `perm:"write"`
|
|
|
|
WalletSetDefault func(context.Context, address.Address) error `perm:"admin"`
|
|
|
|
WalletExport func(context.Context, address.Address) (*types.KeyInfo, error) `perm:"admin"`
|
|
|
|
WalletImport func(context.Context, *types.KeyInfo) (address.Address, error) `perm:"admin"`
|
|
|
|
WalletDelete func(context.Context, address.Address) error `perm:"write"`
|
|
|
|
WalletValidateAddress func(context.Context, string) (address.Address, error) `perm:"read"`
|
2019-10-08 09:17:03 +00:00
|
|
|
|
2020-09-04 05:34:59 +00:00
|
|
|
ClientImport func(ctx context.Context, ref api.FileRef) (*api.ImportRes, error) `perm:"admin"`
|
|
|
|
ClientListImports func(ctx context.Context) ([]api.Import, error) `perm:"write"`
|
|
|
|
ClientRemoveImport func(ctx context.Context, importID multistore.StoreID) error `perm:"admin"`
|
|
|
|
ClientHasLocal func(ctx context.Context, root cid.Cid) (bool, error) `perm:"write"`
|
|
|
|
ClientFindData func(ctx context.Context, root cid.Cid, piece *cid.Cid) ([]api.QueryOffer, error) `perm:"read"`
|
|
|
|
ClientMinerQueryOffer func(ctx context.Context, miner address.Address, root cid.Cid, piece *cid.Cid) (api.QueryOffer, error) `perm:"read"`
|
|
|
|
ClientStartDeal func(ctx context.Context, params *api.StartDealParams) (*cid.Cid, error) `perm:"admin"`
|
|
|
|
ClientGetDealInfo func(context.Context, cid.Cid) (*api.DealInfo, error) `perm:"read"`
|
2020-10-07 07:05:42 +00:00
|
|
|
ClientGetDealStatus func(context.Context, uint64) (string, error) `perm:"read"`
|
2020-09-04 05:34:59 +00:00
|
|
|
ClientListDeals func(ctx context.Context) ([]api.DealInfo, error) `perm:"write"`
|
|
|
|
ClientGetDealUpdates func(ctx context.Context) (<-chan api.DealInfo, error) `perm:"read"`
|
|
|
|
ClientRetrieve func(ctx context.Context, order api.RetrievalOrder, ref *api.FileRef) error `perm:"admin"`
|
|
|
|
ClientRetrieveWithEvents func(ctx context.Context, order api.RetrievalOrder, ref *api.FileRef) (<-chan marketevents.RetrievalEvent, error) `perm:"admin"`
|
2020-09-29 11:53:30 +00:00
|
|
|
ClientQueryAsk func(ctx context.Context, p peer.ID, miner address.Address) (*storagemarket.StorageAsk, error) `perm:"read"`
|
2020-10-22 11:59:08 +00:00
|
|
|
ClientDealPieceCID func(ctx context.Context, root cid.Cid) (api.DataCIDSize, error) `perm:"read"`
|
2020-09-04 05:34:59 +00:00
|
|
|
ClientCalcCommP func(ctx context.Context, inpath string) (*api.CommPRet, error) `perm:"read"`
|
|
|
|
ClientGenCar func(ctx context.Context, ref api.FileRef, outpath string) error `perm:"write"`
|
|
|
|
ClientDealSize func(ctx context.Context, root cid.Cid) (api.DataSize, error) `perm:"read"`
|
|
|
|
ClientListDataTransfers func(ctx context.Context) ([]api.DataTransferChannel, error) `perm:"write"`
|
|
|
|
ClientDataTransferUpdates func(ctx context.Context) (<-chan api.DataTransferChannel, error) `perm:"write"`
|
2020-10-13 10:37:00 +00:00
|
|
|
ClientRestartDataTransfer func(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error `perm:"write"`
|
2020-10-22 20:40:26 +00:00
|
|
|
ClientCancelDataTransfer func(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error `perm:"write"`
|
2020-09-04 05:34:59 +00:00
|
|
|
ClientRetrieveTryRestartInsufficientFunds func(ctx context.Context, paymentChannel address.Address) error `perm:"write"`
|
2019-08-07 06:35:57 +00:00
|
|
|
|
2020-07-28 18:55:20 +00:00
|
|
|
StateNetworkName func(context.Context) (dtypes.NetworkName, error) `perm:"read"`
|
2020-09-21 19:05:01 +00:00
|
|
|
StateMinerSectors func(context.Context, address.Address, *bitfield.BitField, types.TipSetKey) ([]*miner.SectorOnChainInfo, error) `perm:"read"`
|
|
|
|
StateMinerActiveSectors func(context.Context, address.Address, types.TipSetKey) ([]*miner.SectorOnChainInfo, error) `perm:"read"`
|
2020-09-10 06:30:47 +00:00
|
|
|
StateMinerProvingDeadline func(context.Context, address.Address, types.TipSetKey) (*dline.Info, error) `perm:"read"`
|
2020-07-28 18:55:20 +00:00
|
|
|
StateMinerPower func(context.Context, address.Address, types.TipSetKey) (*api.MinerPower, error) `perm:"read"`
|
2020-09-15 19:09:39 +00:00
|
|
|
StateMinerInfo func(context.Context, address.Address, types.TipSetKey) (miner.MinerInfo, error) `perm:"read"`
|
2020-09-17 15:30:15 +00:00
|
|
|
StateMinerDeadlines func(context.Context, address.Address, types.TipSetKey) ([]api.Deadline, error) `perm:"read"`
|
|
|
|
StateMinerPartitions func(ctx context.Context, m address.Address, dlIdx uint64, tsk types.TipSetKey) ([]api.Partition, error) `perm:"read"`
|
2020-09-07 03:49:10 +00:00
|
|
|
StateMinerFaults func(context.Context, address.Address, types.TipSetKey) (bitfield.BitField, error) `perm:"read"`
|
2020-07-28 18:55:20 +00:00
|
|
|
StateAllMinerFaults func(context.Context, abi.ChainEpoch, types.TipSetKey) ([]*api.Fault, error) `perm:"read"`
|
2020-09-07 03:49:10 +00:00
|
|
|
StateMinerRecoveries func(context.Context, address.Address, types.TipSetKey) (bitfield.BitField, error) `perm:"read"`
|
2020-07-28 18:55:20 +00:00
|
|
|
StateMinerPreCommitDepositForPower func(context.Context, address.Address, miner.SectorPreCommitInfo, types.TipSetKey) (types.BigInt, error) `perm:"read"`
|
|
|
|
StateMinerInitialPledgeCollateral func(context.Context, address.Address, miner.SectorPreCommitInfo, types.TipSetKey) (types.BigInt, error) `perm:"read"`
|
|
|
|
StateMinerAvailableBalance func(context.Context, address.Address, types.TipSetKey) (types.BigInt, error) `perm:"read"`
|
2020-10-13 19:35:29 +00:00
|
|
|
StateMinerSectorAllocated func(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (bool, error) `perm:"read"`
|
2020-07-28 18:55:20 +00:00
|
|
|
StateSectorPreCommitInfo func(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (miner.SectorPreCommitOnChainInfo, error) `perm:"read"`
|
|
|
|
StateSectorGetInfo func(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (*miner.SectorOnChainInfo, error) `perm:"read"`
|
2020-09-15 19:09:39 +00:00
|
|
|
StateSectorExpiration func(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (*miner.SectorExpiration, error) `perm:"read"`
|
|
|
|
StateSectorPartition func(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (*miner.SectorLocation, error) `perm:"read"`
|
2020-07-28 18:55:20 +00:00
|
|
|
StateCall func(context.Context, *types.Message, types.TipSetKey) (*api.InvocResult, error) `perm:"read"`
|
|
|
|
StateReplay func(context.Context, types.TipSetKey, cid.Cid) (*api.InvocResult, error) `perm:"read"`
|
|
|
|
StateGetActor func(context.Context, address.Address, types.TipSetKey) (*types.Actor, error) `perm:"read"`
|
|
|
|
StateReadState func(context.Context, address.Address, types.TipSetKey) (*api.ActorState, error) `perm:"read"`
|
|
|
|
StateWaitMsg func(ctx context.Context, cid cid.Cid, confidence uint64) (*api.MsgLookup, error) `perm:"read"`
|
2020-10-02 14:14:30 +00:00
|
|
|
StateWaitMsgLimited func(context.Context, cid.Cid, uint64, abi.ChainEpoch) (*api.MsgLookup, error) `perm:"read"`
|
2020-07-28 18:55:20 +00:00
|
|
|
StateSearchMsg func(context.Context, cid.Cid) (*api.MsgLookup, error) `perm:"read"`
|
2021-01-19 10:19:31 +00:00
|
|
|
StateSearchMsgLimited func(context.Context, cid.Cid, abi.ChainEpoch) (*api.MsgLookup, error) `perm:"read"`
|
2020-07-28 18:55:20 +00:00
|
|
|
StateListMiners func(context.Context, types.TipSetKey) ([]address.Address, error) `perm:"read"`
|
|
|
|
StateListActors func(context.Context, types.TipSetKey) ([]address.Address, error) `perm:"read"`
|
|
|
|
StateMarketBalance func(context.Context, address.Address, types.TipSetKey) (api.MarketBalance, error) `perm:"read"`
|
|
|
|
StateMarketParticipants func(context.Context, types.TipSetKey) (map[string]api.MarketBalance, error) `perm:"read"`
|
|
|
|
StateMarketDeals func(context.Context, types.TipSetKey) (map[string]api.MarketDeal, error) `perm:"read"`
|
|
|
|
StateMarketStorageDeal func(context.Context, abi.DealID, types.TipSetKey) (*api.MarketDeal, error) `perm:"read"`
|
|
|
|
StateLookupID func(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) `perm:"read"`
|
|
|
|
StateAccountKey func(context.Context, address.Address, types.TipSetKey) (address.Address, error) `perm:"read"`
|
|
|
|
StateChangedActors func(context.Context, cid.Cid, cid.Cid) (map[string]types.Actor, error) `perm:"read"`
|
|
|
|
StateGetReceipt func(context.Context, cid.Cid, types.TipSetKey) (*types.MessageReceipt, error) `perm:"read"`
|
|
|
|
StateMinerSectorCount func(context.Context, address.Address, types.TipSetKey) (api.MinerSectors, error) `perm:"read"`
|
2020-10-15 15:54:36 +00:00
|
|
|
StateListMessages func(ctx context.Context, match *api.MessageMatch, tsk types.TipSetKey, toht abi.ChainEpoch) ([]cid.Cid, error) `perm:"read"`
|
2020-09-29 07:01:52 +00:00
|
|
|
StateDecodeParams func(context.Context, address.Address, abi.MethodNum, []byte, types.TipSetKey) (interface{}, error) `perm:"read"`
|
2020-07-28 18:55:20 +00:00
|
|
|
StateCompute func(context.Context, abi.ChainEpoch, []*types.Message, types.TipSetKey) (*api.ComputeStateOutput, error) `perm:"read"`
|
2020-10-01 07:14:59 +00:00
|
|
|
StateVerifierStatus func(context.Context, address.Address, types.TipSetKey) (*abi.StoragePower, error) `perm:"read"`
|
2020-09-17 15:30:15 +00:00
|
|
|
StateVerifiedClientStatus func(context.Context, address.Address, types.TipSetKey) (*abi.StoragePower, error) `perm:"read"`
|
2020-10-01 07:14:59 +00:00
|
|
|
StateVerifiedRegistryRootKey func(ctx context.Context, tsk types.TipSetKey) (address.Address, error) `perm:"read"`
|
2020-07-30 12:31:31 +00:00
|
|
|
StateDealProviderCollateralBounds func(context.Context, abi.PaddedPieceSize, bool, types.TipSetKey) (api.DealCollateralBounds, error) `perm:"read"`
|
2020-10-11 22:17:28 +00:00
|
|
|
StateCirculatingSupply func(context.Context, types.TipSetKey) (abi.TokenAmount, error) `perm:"read"`
|
2020-10-12 20:41:27 +00:00
|
|
|
StateVMCirculatingSupplyInternal func(context.Context, types.TipSetKey) (api.CirculatingSupply, error) `perm:"read"`
|
2020-09-17 01:56:02 +00:00
|
|
|
StateNetworkVersion func(context.Context, types.TipSetKey) (stnetwork.Version, error) `perm:"read"`
|
2019-08-09 21:41:50 +00:00
|
|
|
|
2020-05-04 19:29:26 +00:00
|
|
|
MsigGetAvailableBalance func(context.Context, address.Address, types.TipSetKey) (types.BigInt, error) `perm:"read"`
|
2020-10-08 19:19:39 +00:00
|
|
|
MsigGetVestingSchedule func(context.Context, address.Address, types.TipSetKey) (api.MsigVesting, error) `perm:"read"`
|
2020-09-06 00:29:26 +00:00
|
|
|
MsigGetVested func(context.Context, address.Address, types.TipSetKey, types.TipSetKey) (types.BigInt, error) `perm:"read"`
|
2021-02-04 04:46:10 +00:00
|
|
|
MsigGetPending func(context.Context, address.Address, types.TipSetKey) ([]*api.MsigTransaction, error) `perm:"read"`
|
2020-07-13 11:35:10 +00:00
|
|
|
MsigCreate func(context.Context, uint64, []address.Address, abi.ChainEpoch, types.BigInt, address.Address, types.BigInt) (cid.Cid, error) `perm:"sign"`
|
2020-05-04 19:29:26 +00:00
|
|
|
MsigPropose func(context.Context, address.Address, address.Address, types.BigInt, address.Address, uint64, []byte) (cid.Cid, error) `perm:"sign"`
|
2020-10-09 16:40:25 +00:00
|
|
|
MsigApprove func(context.Context, address.Address, uint64, address.Address) (cid.Cid, error) `perm:"sign"`
|
|
|
|
MsigApproveTxnHash func(context.Context, address.Address, uint64, address.Address, address.Address, types.BigInt, address.Address, uint64, []byte) (cid.Cid, error) `perm:"sign"`
|
2020-07-12 03:54:25 +00:00
|
|
|
MsigCancel func(context.Context, address.Address, uint64, address.Address, types.BigInt, address.Address, uint64, []byte) (cid.Cid, error) `perm:"sign"`
|
2020-09-06 05:52:30 +00:00
|
|
|
MsigAddPropose func(context.Context, address.Address, address.Address, address.Address, bool) (cid.Cid, error) `perm:"sign"`
|
|
|
|
MsigAddApprove func(context.Context, address.Address, address.Address, uint64, address.Address, address.Address, bool) (cid.Cid, error) `perm:"sign"`
|
|
|
|
MsigAddCancel func(context.Context, address.Address, address.Address, uint64, address.Address, bool) (cid.Cid, error) `perm:"sign"`
|
2020-07-16 00:55:27 +00:00
|
|
|
MsigSwapPropose func(context.Context, address.Address, address.Address, address.Address, address.Address) (cid.Cid, error) `perm:"sign"`
|
|
|
|
MsigSwapApprove func(context.Context, address.Address, address.Address, uint64, address.Address, address.Address, address.Address) (cid.Cid, error) `perm:"sign"`
|
|
|
|
MsigSwapCancel func(context.Context, address.Address, address.Address, uint64, address.Address, address.Address) (cid.Cid, error) `perm:"sign"`
|
2020-10-09 16:40:25 +00:00
|
|
|
MsigRemoveSigner func(ctx context.Context, msig address.Address, proposer address.Address, toRemove address.Address, decrease bool) (cid.Cid, error) `perm:"sign"`
|
2020-01-30 01:23:16 +00:00
|
|
|
|
2021-01-07 08:35:30 +00:00
|
|
|
MarketAddBalance func(ctx context.Context, wallet, addr address.Address, amt types.BigInt) (cid.Cid, error) `perm:"sign"`
|
|
|
|
MarketGetReserved func(ctx context.Context, addr address.Address) (types.BigInt, error) `perm:"sign"`
|
2020-11-10 15:45:48 +00:00
|
|
|
MarketReserveFunds func(ctx context.Context, wallet address.Address, addr address.Address, amt types.BigInt) (cid.Cid, error) `perm:"sign"`
|
|
|
|
MarketReleaseFunds func(ctx context.Context, addr address.Address, amt types.BigInt) error `perm:"sign"`
|
2020-12-03 20:47:26 +00:00
|
|
|
MarketWithdraw func(ctx context.Context, wallet, addr address.Address, amt types.BigInt) (cid.Cid, error) `perm:"sign"`
|
2019-11-08 17:15:38 +00:00
|
|
|
|
2020-09-04 11:44:09 +00:00
|
|
|
PaychGet func(ctx context.Context, from, to address.Address, amt types.BigInt) (*api.ChannelInfo, error) `perm:"sign"`
|
|
|
|
PaychGetWaitReady func(context.Context, cid.Cid) (address.Address, error) `perm:"sign"`
|
2020-09-11 22:52:09 +00:00
|
|
|
PaychAvailableFunds func(context.Context, address.Address) (*api.ChannelAvailableFunds, error) `perm:"sign"`
|
|
|
|
PaychAvailableFundsByFromTo func(context.Context, address.Address, address.Address) (*api.ChannelAvailableFunds, error) `perm:"sign"`
|
2020-09-04 11:44:09 +00:00
|
|
|
PaychList func(context.Context) ([]address.Address, error) `perm:"read"`
|
|
|
|
PaychStatus func(context.Context, address.Address) (*api.PaychStatus, error) `perm:"read"`
|
|
|
|
PaychSettle func(context.Context, address.Address) (cid.Cid, error) `perm:"sign"`
|
|
|
|
PaychCollect func(context.Context, address.Address) (cid.Cid, error) `perm:"sign"`
|
|
|
|
PaychAllocateLane func(context.Context, address.Address) (uint64, error) `perm:"sign"`
|
|
|
|
PaychNewPayment func(ctx context.Context, from, to address.Address, vouchers []api.VoucherSpec) (*api.PaymentInfo, error) `perm:"sign"`
|
|
|
|
PaychVoucherCheck func(context.Context, *paych.SignedVoucher) error `perm:"read"`
|
|
|
|
PaychVoucherCheckValid func(context.Context, address.Address, *paych.SignedVoucher) error `perm:"read"`
|
|
|
|
PaychVoucherCheckSpendable func(context.Context, address.Address, *paych.SignedVoucher, []byte, []byte) (bool, error) `perm:"read"`
|
|
|
|
PaychVoucherAdd func(context.Context, address.Address, *paych.SignedVoucher, []byte, types.BigInt) (types.BigInt, error) `perm:"write"`
|
|
|
|
PaychVoucherCreate func(context.Context, address.Address, big.Int, uint64) (*api.VoucherCreateResult, error) `perm:"sign"`
|
|
|
|
PaychVoucherList func(context.Context, address.Address) ([]*paych.SignedVoucher, error) `perm:"write"`
|
|
|
|
PaychVoucherSubmit func(context.Context, address.Address, *paych.SignedVoucher, []byte, []byte) (cid.Cid, error) `perm:"sign"`
|
2020-10-01 15:14:08 +00:00
|
|
|
|
|
|
|
CreateBackup func(ctx context.Context, fpath string) error `perm:"admin"`
|
2019-06-29 09:19:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerSectorCount(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MinerSectors, error) {
|
|
|
|
return c.Internal.StateMinerSectorCount(ctx, addr, tsk)
|
2019-12-11 23:31:59 +00:00
|
|
|
}
|
|
|
|
|
2019-07-24 00:09:34 +00:00
|
|
|
type StorageMinerStruct struct {
|
|
|
|
CommonStruct
|
2019-07-23 17:27:45 +00:00
|
|
|
|
2019-07-24 01:10:26 +00:00
|
|
|
Internal struct {
|
2020-12-02 19:46:40 +00:00
|
|
|
ActorAddress func(context.Context) (address.Address, error) `perm:"read"`
|
|
|
|
ActorSectorSize func(context.Context, address.Address) (abi.SectorSize, error) `perm:"read"`
|
|
|
|
ActorAddressConfig func(ctx context.Context) (api.AddressConfig, error) `perm:"read"`
|
2019-08-10 01:54:45 +00:00
|
|
|
|
2020-04-24 00:41:18 +00:00
|
|
|
MiningBase func(context.Context) (*types.TipSet, error) `perm:"read"`
|
2020-04-23 21:12:42 +00:00
|
|
|
|
2020-07-31 19:14:48 +00:00
|
|
|
MarketImportDealData func(context.Context, cid.Cid, string) error `perm:"write"`
|
2020-09-17 07:32:10 +00:00
|
|
|
MarketListDeals func(ctx context.Context) ([]api.MarketDeal, error) `perm:"read"`
|
2020-08-04 23:40:29 +00:00
|
|
|
MarketListRetrievalDeals func(ctx context.Context) ([]retrievalmarket.ProviderDealState, error) `perm:"read"`
|
2020-09-02 17:58:44 +00:00
|
|
|
MarketGetDealUpdates func(ctx context.Context) (<-chan storagemarket.MinerDeal, error) `perm:"read"`
|
2020-07-31 19:14:48 +00:00
|
|
|
MarketListIncompleteDeals func(ctx context.Context) ([]storagemarket.MinerDeal, error) `perm:"read"`
|
|
|
|
MarketSetAsk func(ctx context.Context, price types.BigInt, verifiedPrice types.BigInt, duration abi.ChainEpoch, minPieceSize abi.PaddedPieceSize, maxPieceSize abi.PaddedPieceSize) error `perm:"admin"`
|
|
|
|
MarketGetAsk func(ctx context.Context) (*storagemarket.SignedStorageAsk, error) `perm:"read"`
|
|
|
|
MarketSetRetrievalAsk func(ctx context.Context, rask *retrievalmarket.Ask) error `perm:"admin"`
|
|
|
|
MarketGetRetrievalAsk func(ctx context.Context) (*retrievalmarket.Ask, error) `perm:"read"`
|
2020-08-20 08:18:05 +00:00
|
|
|
MarketListDataTransfers func(ctx context.Context) ([]api.DataTransferChannel, error) `perm:"write"`
|
|
|
|
MarketDataTransferUpdates func(ctx context.Context) (<-chan api.DataTransferChannel, error) `perm:"write"`
|
2021-02-05 21:26:37 +00:00
|
|
|
MarketRestartDataTransfer func(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error `perm:"write"`
|
|
|
|
MarketCancelDataTransfer func(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error `perm:"write"`
|
|
|
|
MarketPendingDeals func(ctx context.Context) (api.PendingDealInfo, error) `perm:"write"`
|
2021-02-05 17:58:55 +00:00
|
|
|
MarketPublishPendingDeals func(ctx context.Context) error `perm:"admin"`
|
2020-02-08 00:18:14 +00:00
|
|
|
|
2021-02-16 18:16:35 +00:00
|
|
|
PledgeSector func(context.Context) (abi.SectorID, error) `perm:"write"`
|
2019-07-27 21:08:10 +00:00
|
|
|
|
2020-07-24 08:04:04 +00:00
|
|
|
SectorsStatus func(ctx context.Context, sid abi.SectorNumber, showOnChainInfo bool) (api.SectorInfo, error) `perm:"read"`
|
2020-07-27 23:22:41 +00:00
|
|
|
SectorsList func(context.Context) ([]abi.SectorNumber, error) `perm:"read"`
|
2020-12-06 00:51:48 +00:00
|
|
|
SectorsListInStates func(context.Context, []api.SectorState) ([]abi.SectorNumber, error) `perm:"read"`
|
|
|
|
SectorsSummary func(ctx context.Context) (map[api.SectorState]int, error) `perm:"read"`
|
2020-07-27 23:22:41 +00:00
|
|
|
SectorsRefs func(context.Context) (map[string][]api.SealedRef, error) `perm:"read"`
|
|
|
|
SectorStartSealing func(context.Context, abi.SectorNumber) error `perm:"write"`
|
|
|
|
SectorSetSealDelay func(context.Context, time.Duration) error `perm:"write"`
|
|
|
|
SectorGetSealDelay func(context.Context) (time.Duration, error) `perm:"read"`
|
|
|
|
SectorSetExpectedSealDuration func(context.Context, time.Duration) error `perm:"write"`
|
|
|
|
SectorGetExpectedSealDuration func(context.Context) (time.Duration, error) `perm:"read"`
|
|
|
|
SectorsUpdate func(context.Context, abi.SectorNumber, api.SectorState) error `perm:"admin"`
|
|
|
|
SectorRemove func(context.Context, abi.SectorNumber) error `perm:"admin"`
|
2021-01-12 23:42:01 +00:00
|
|
|
SectorTerminate func(context.Context, abi.SectorNumber) error `perm:"admin"`
|
2021-01-13 23:11:41 +00:00
|
|
|
SectorTerminateFlush func(ctx context.Context) (*cid.Cid, error) `perm:"admin"`
|
2021-01-14 11:37:23 +00:00
|
|
|
SectorTerminatePending func(ctx context.Context) ([]abi.SectorID, error) `perm:"admin"`
|
2020-07-27 23:22:41 +00:00
|
|
|
SectorMarkForUpgrade func(ctx context.Context, id abi.SectorNumber) error `perm:"admin"`
|
2019-08-26 10:04:57 +00:00
|
|
|
|
2020-10-18 10:35:44 +00:00
|
|
|
WorkerConnect func(context.Context, string) error `perm:"admin" retry:"true"` // TODO: worker perm
|
|
|
|
WorkerStats func(context.Context) (map[uuid.UUID]storiface.WorkerStats, error) `perm:"admin"`
|
|
|
|
WorkerJobs func(context.Context) (map[uuid.UUID][]storiface.WorkerJob, error) `perm:"admin"`
|
2020-03-23 14:56:22 +00:00
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
ReturnAddPiece func(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnSealPreCommit1 func(ctx context.Context, callID storiface.CallID, p1o storage.PreCommit1Out, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnSealPreCommit2 func(ctx context.Context, callID storiface.CallID, sealed storage.SectorCids, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnSealCommit1 func(ctx context.Context, callID storiface.CallID, out storage.Commit1Out, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnSealCommit2 func(ctx context.Context, callID storiface.CallID, proof storage.Proof, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnFinalizeSector func(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnReleaseUnsealed func(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnMoveStorage func(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnUnsealPiece func(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnReadPiece func(ctx context.Context, callID storiface.CallID, ok bool, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
|
|
|
ReturnFetch func(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error `perm:"admin" retry:"true"`
|
2020-09-06 16:47:16 +00:00
|
|
|
|
2020-11-11 16:39:31 +00:00
|
|
|
SealingSchedDiag func(context.Context, bool) (interface{}, error) `perm:"admin"`
|
|
|
|
SealingAbort func(ctx context.Context, call storiface.CallID) error `perm:"admin"`
|
2020-07-27 11:23:43 +00:00
|
|
|
|
2020-10-23 21:24:50 +00:00
|
|
|
StorageList func(context.Context) (map[stores.ID][]stores.Decl, error) `perm:"admin"`
|
|
|
|
StorageLocal func(context.Context) (map[stores.ID]string, error) `perm:"admin"`
|
|
|
|
StorageStat func(context.Context, stores.ID) (fsutil.FsStat, error) `perm:"admin"`
|
|
|
|
StorageAttach func(context.Context, stores.StorageInfo, fsutil.FsStat) error `perm:"admin"`
|
|
|
|
StorageDeclareSector func(context.Context, stores.ID, abi.SectorID, storiface.SectorFileType, bool) error `perm:"admin"`
|
|
|
|
StorageDropSector func(context.Context, stores.ID, abi.SectorID, storiface.SectorFileType) error `perm:"admin"`
|
|
|
|
StorageFindSector func(context.Context, abi.SectorID, storiface.SectorFileType, abi.SectorSize, bool) ([]stores.SectorStorageInfo, error) `perm:"admin"`
|
|
|
|
StorageInfo func(context.Context, stores.ID) (stores.StorageInfo, error) `perm:"admin"`
|
|
|
|
StorageBestAlloc func(ctx context.Context, allocate storiface.SectorFileType, ssize abi.SectorSize, sealing storiface.PathType) ([]stores.StorageInfo, error) `perm:"admin"`
|
|
|
|
StorageReportHealth func(ctx context.Context, id stores.ID, report stores.HealthReport) error `perm:"admin"`
|
|
|
|
StorageLock func(ctx context.Context, sector abi.SectorID, read storiface.SectorFileType, write storiface.SectorFileType) error `perm:"admin"`
|
|
|
|
StorageTryLock func(ctx context.Context, sector abi.SectorID, read storiface.SectorFileType, write storiface.SectorFileType) (bool, error) `perm:"admin"`
|
2020-03-04 02:49:00 +00:00
|
|
|
|
2020-12-02 06:21:29 +00:00
|
|
|
DealsImportData func(ctx context.Context, dealPropCid cid.Cid, file string) error `perm:"write"`
|
|
|
|
DealsList func(ctx context.Context) ([]api.MarketDeal, error) `perm:"read"`
|
|
|
|
DealsConsiderOnlineStorageDeals func(context.Context) (bool, error) `perm:"read"`
|
|
|
|
DealsSetConsiderOnlineStorageDeals func(context.Context, bool) error `perm:"admin"`
|
|
|
|
DealsConsiderOnlineRetrievalDeals func(context.Context) (bool, error) `perm:"read"`
|
|
|
|
DealsSetConsiderOnlineRetrievalDeals func(context.Context, bool) error `perm:"admin"`
|
|
|
|
DealsConsiderOfflineStorageDeals func(context.Context) (bool, error) `perm:"read"`
|
|
|
|
DealsSetConsiderOfflineStorageDeals func(context.Context, bool) error `perm:"admin"`
|
|
|
|
DealsConsiderOfflineRetrievalDeals func(context.Context) (bool, error) `perm:"read"`
|
|
|
|
DealsSetConsiderOfflineRetrievalDeals func(context.Context, bool) error `perm:"admin"`
|
|
|
|
DealsConsiderVerifiedStorageDeals func(context.Context) (bool, error) `perm:"read"`
|
|
|
|
DealsSetConsiderVerifiedStorageDeals func(context.Context, bool) error `perm:"admin"`
|
|
|
|
DealsConsiderUnverifiedStorageDeals func(context.Context) (bool, error) `perm:"read"`
|
|
|
|
DealsSetConsiderUnverifiedStorageDeals func(context.Context, bool) error `perm:"admin"`
|
|
|
|
DealsPieceCidBlocklist func(context.Context) ([]cid.Cid, error) `perm:"read"`
|
|
|
|
DealsSetPieceCidBlocklist func(context.Context, []cid.Cid) error `perm:"admin"`
|
2020-03-05 22:02:01 +00:00
|
|
|
|
|
|
|
StorageAddLocal func(ctx context.Context, path string) error `perm:"admin"`
|
2020-07-27 17:59:30 +00:00
|
|
|
|
|
|
|
PiecesListPieces func(ctx context.Context) ([]cid.Cid, error) `perm:"read"`
|
|
|
|
PiecesListCidInfos func(ctx context.Context) ([]cid.Cid, error) `perm:"read"`
|
|
|
|
PiecesGetPieceInfo func(ctx context.Context, pieceCid cid.Cid) (*piecestore.PieceInfo, error) `perm:"read"`
|
|
|
|
PiecesGetCIDInfo func(ctx context.Context, payloadCid cid.Cid) (*piecestore.CIDInfo, error) `perm:"read"`
|
2020-10-01 11:58:26 +00:00
|
|
|
|
|
|
|
CreateBackup func(ctx context.Context, fpath string) error `perm:"admin"`
|
2020-11-26 07:02:43 +00:00
|
|
|
|
2020-12-01 23:32:01 +00:00
|
|
|
CheckProvable func(ctx context.Context, pp abi.RegisteredPoStProof, sectors []storage.SectorRef, expensive bool) (map[abi.SectorNumber]string, error) `perm:"admin"`
|
OpenRPC Support (#5843)
* main: init implement rpc.Discover RPC method
This implement the basic functionality for the method
over HTTP RPC.
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init example with go-openrpc-reflect lib
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* main: make variable name human-friendly
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init impl of go-openrp-reflect printing document
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* go.mod,go.sum: use go-openrpc-reflect and open-rpc/meta-schema hackforks
This is for development only.
Versions need to be bumped when they're ready for use
as canonical remotes.
Signed-off-by: meows <b5c6@protonmail.com>
* main,openrpc,main: refactor openrpc supporting code to own package
This eliminates code duplication.
Signed-off-by: meows <b5c6@protonmail.com>
* main: add rpc.Discover to openrpc document
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: fix rpc.discover method name casing
Also fixes casing stuff for the rest of Filecoin.
methods.
Signed-off-by: meows <b5c6@protonmail.com>
* Revert "main: add rpc.Discover to openrpc document"
This reverts commit 116898efb10f33e405ac74acb1aa6daefcd46a62.
* main: fix document creation method name
This fixes an issue caused with the latest reverting
commit.
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen,openrpc: refactor to share api parsing, etc as docgen exported stuff
Signed-off-by: meows <b5c6@protonmail.com>
Makefile: fix docgen refactoring for makefile use of command
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: add schema.examples to app reflector
There are quite of few of these already registered
for the docgen command, so it makes sense to use
those!
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init method pairing examples
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump go.mod to use latest meta-schema and openrpc-reflect versions
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init SchemaType mapper function
This function will handle the manual configurations
for app-specific data types w/r/t their json schema
representation.
This is useful for cases where the reflect library
is unable to provide a sufficient representation
automatically.
Provided in this commit is an initial implementation
for the integerD type (assuming number are represented
in the API as hexs), and a commonly used cid.Cid type.
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: tame dependencies by bumping etclabscore/go-openrpc-reflect
This removes a problematic dependency
on github.com/ethereum/go-ethereum, which was
imported as a dependency for a couple github.com/etclabscore/go-openrpc-reflect
tests.
etclabscore/go-openrpc-reflect v0.0.36 has removed this
dependency, so this commit is the result of bumping
that version and then running 'go mod tidy'
This is in response to a review at
https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
Date: 2020-11-21 06:52:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: add 'miner' arg to openrpc gen cmd
This allows the command to EITHER
generate the doc for Full or Miner APIs.
See comment for usage.
Date: 2020-11-21 07:48:05-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen: add missing examples for Miner API
Generating the Miner API OpenRPC doc
(via 'go run ./api/openrpc/cmd miner') caused
the example logic to panic because some types
were missing.
This commit adds those missing types, although
I'm not an expert in the API so I can't
suggest that the example values provided are
ideal or well representative.
Date: 2020-11-21 07:50:21-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json,build/openrpc/miner.json: add build/openrpc/[full/miner].json docs
These will be used as static documents
provided by the rpc.discover method.
Date: 2020-11-21 07:51:39-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: init go-rice openrpc static assets
Date: 2020-11-21 08:23:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: remove rpc.discover implementation from runtime plugin
Instead of generating the doc on the fly,
we're going to serve a static asset.
Rel https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
This removes the runtime implementation from the
RPC server construction.
Date: 2020-11-21 08:41:20-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,common: add Discover(ctx) method to CommonAPI interface and structs
Date: 2020-11-21 08:41:56-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: use rpc server method aliasing for rpc.discover
This depends on a currently-forked change at
filecoin-project/go-jsonrpc 8350f9463ee451b187d35c492e32f1b999e80210
which establishes this new method RPCServer.AliasMethod.
This solves the problem that the OpenRPC
spec says that the document should be served
at the system extension-prefixed endpoing
rpc.discover (not Filecoin.Discover).
In fact, the document will be available at BOTH
endpoints, but that duplicity is harmless.
Date: 2020-11-21 09:18:26-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,build,common: rpc.discover: return json object instead of string
Instead of casting the JSON asset from bytes to string,
unmarshal it to a map[string]interface{} so the
server will provide it as a JSON object.
Date: 2020-11-21 09:27:11-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile: merge resolve: docsgen command path
Date: 2020-11-22 07:19:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,main,docgen,openrpc: merge resolve: fix func exporteds, signatures
Date: 2020-11-22 07:31:03-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: 'get get' auto-bumps version
Date: 2020-11-22 07:31:44-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,docgen,main,build/openrpc: refactor openrpc documentation generation
This creates Makefile command docsgen-openrpc-json,
and refactors the docsgen command to generate both
the markdown and openrpc json documents, redirecting
the output of the openrpc json documentation to
the build/openrpc/ directory, where those json
files will be compiled as static assets via go-rice
boxes.
The api/openrpc/cmd now uses usage argumentation
congruent to that of the docgen command (switching
on API context).
Date: 2020-11-22 08:01:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc: rename api/openrpc -> api/docgen-openrpc
Renames the package as well.
This is intended to parallel the
existing docgen package and command
namespacing.
Date: 2020-11-22 10:34:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,docgen,build,build/openrpc: use typed Discover response
Instead of using a map[string]interface{}, use
a typed response for the Discover method implementation.
This avoids having to set a docgen Example for
the generic map[string]interface{} (as an openrpc document)
which both pollutes the generic type and lacks
useful information for the Discover method example.
Date: 2020-11-22 08:31:16-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,build,main,impl: implement Discover method for Worker and StorageMiner APIs
Methods return static compiled assets respective
to the APIs.
Date: 2020-11-22 08:57:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen_openrpc,build/openrpc: remove timestamping from openrpc doc info
This should allow openrpc docs generated at different
times to be equal. This is important because the CI
(Circle) runs the docgen command and tests that
the output and the source are unchanged (via git diff).
Date: 2020-11-22 10:47:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc,main,build: fix lint issues
Fixes goimports, staticcheck, golint issues.
Date: 2020-11-22 11:06:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: fix: don't use an underscore in package name (golint)
Date: 2020-11-22 11:07:53-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: fix: mod-tidy-check (run 'go mod tidy')
Date: 2020-11-22 11:09:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc dep to latest
This version includes the necessary RPCServer.AliasMethod
method.
Date: 2020-11-23 12:16:15-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,main,build,build/openrpc: init gzipped openrpc static docs
Date: 2020-11-24 06:15:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: refactor gzip reading
Date: 2020-11-24 06:18:34-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: add basic test for openrpc doc from static assets
Date: 2020-11-24 06:30:23-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: handle reader Close error
This keeps the errcheck linter happy.
Date: 2020-11-24 06:33:14-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: run 'go mod tidy'
Date: 2020-11-24 06:36:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: go mod tidy
Tidying up after resolving the merge conflicts
with master at go.mod
Date: 2020-11-24 06:40:45-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc to latest
This is a repeat of 76e6fd2, since the latest merge
to master seems to have reverted this.
Date: 2020-11-24 06:42:30-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc,build/openrpc: remove method example pairings, improve schema examples
Removing method example pairings since they were
redundant to schema examples and were not
implemented well.
Improved schema examples by using the ExampleValue
method instead of the map lookup.
Made a note in the comment here that this is
not ideal, since we have to make a shortcut assumption
/workaround by using 'unknown' as the method name
and the typea as its own parent.
Luckily these values aren't heavily used by the
method logic.
Date: 2020-11-27 12:57:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: use generic number jsonschema for number types
Previously used an integer schema assuming
hex encoding. It appears, based on review some
of the examples, that this may not be the case.
Obvioussly this schema could be more descriptive,
but just shooting for mostly likely to be
not wrong at this point.
Date: 2020-12-15 14:44:37-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* cmd/lotus,go.mod,go.sum: maybe fix straggling merge resolution conflicts
Date: 2021-01-19 12:30:42-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json.gz,build/openrpc/miner.json.gz,build/openrpc/worker.json.gz: run 'make docsgen'
Date: 2021-01-19 12:33:55-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/apistruct,node/impl: (lint) gofmt
Date: 2021-01-19 12:39:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: maybe fix parse error: open ./api: no such file or directory
Date: 2021-01-19 12:52:04-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen,build/openrpc: maybe fix no such file error and run 'make docsgen'
Date: 2021-01-19 12:55:52-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: return if AST comment/groupdoc parsing encounters any error
This will returns empty comments/docs maps.
This should fix issues like:
https://app.circleci.com/pipelines/github/filecoin-project/lotus/12445/workflows/4ebadce9-a298-4ad1-939b-f19ef4c0a5bf/jobs/107218
where the environment makes file lookups hard or
impossible.
Date: 2021-01-19 13:04:58-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api: Don't depend on build/
* make: support parallel docsgen
* openrpc gen: Use simple build version
* methodgen
* goimports
Co-authored-by: meows <b5c6@protonmail.com>
2021-03-19 18:22:46 +00:00
|
|
|
|
|
|
|
Discover func(ctx context.Context) (apitypes.OpenRPCDocument, error) `perm:"read"`
|
2019-07-24 00:09:34 +00:00
|
|
|
}
|
2019-07-23 17:27:45 +00:00
|
|
|
}
|
|
|
|
|
2020-03-11 01:57:52 +00:00
|
|
|
type WorkerStruct struct {
|
|
|
|
Internal struct {
|
|
|
|
// TODO: lower perms
|
|
|
|
|
2021-03-05 21:01:20 +00:00
|
|
|
Version func(context.Context) (api.Version, error) `perm:"admin"`
|
2020-03-11 01:57:52 +00:00
|
|
|
|
2020-03-23 11:40:02 +00:00
|
|
|
TaskTypes func(context.Context) (map[sealtasks.TaskType]struct{}, error) `perm:"admin"`
|
|
|
|
Paths func(context.Context) ([]stores.StoragePath, error) `perm:"admin"`
|
2020-04-23 22:23:20 +00:00
|
|
|
Info func(context.Context) (storiface.WorkerInfo, error) `perm:"admin"`
|
2020-03-11 01:57:52 +00:00
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
AddPiece func(ctx context.Context, sector storage.SectorRef, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
SealPreCommit1 func(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, pieces []abi.PieceInfo) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
SealPreCommit2 func(ctx context.Context, sector storage.SectorRef, pc1o storage.PreCommit1Out) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
SealCommit1 func(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, seed abi.InteractiveSealRandomness, pieces []abi.PieceInfo, cids storage.SectorCids) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
SealCommit2 func(ctx context.Context, sector storage.SectorRef, c1o storage.Commit1Out) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
FinalizeSector func(ctx context.Context, sector storage.SectorRef, keepUnsealed []storage.Range) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
ReleaseUnsealed func(ctx context.Context, sector storage.SectorRef, safeToFree []storage.Range) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
MoveStorage func(ctx context.Context, sector storage.SectorRef, types storiface.SectorFileType) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
UnsealPiece func(context.Context, storage.SectorRef, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize, abi.SealRandomness, cid.Cid) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
ReadPiece func(context.Context, io.Writer, storage.SectorRef, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize) (storiface.CallID, error) `perm:"admin"`
|
|
|
|
Fetch func(context.Context, storage.SectorRef, storiface.SectorFileType, storiface.PathType, storiface.AcquireMode) (storiface.CallID, error) `perm:"admin"`
|
2020-04-28 10:57:24 +00:00
|
|
|
|
2020-11-30 22:16:30 +00:00
|
|
|
TaskDisable func(ctx context.Context, tt sealtasks.TaskType) error `perm:"admin"`
|
|
|
|
TaskEnable func(ctx context.Context, tt sealtasks.TaskType) error `perm:"admin"`
|
2020-11-26 16:33:22 +00:00
|
|
|
|
2020-09-06 16:47:16 +00:00
|
|
|
Remove func(ctx context.Context, sector abi.SectorID) error `perm:"admin"`
|
|
|
|
StorageAddLocal func(ctx context.Context, path string) error `perm:"admin"`
|
2020-05-26 08:20:32 +00:00
|
|
|
|
2020-10-27 16:28:44 +00:00
|
|
|
SetEnabled func(ctx context.Context, enabled bool) error `perm:"admin"`
|
|
|
|
Enabled func(ctx context.Context) (bool, error) `perm:"admin"`
|
|
|
|
|
|
|
|
WaitQuiet func(ctx context.Context) error `perm:"admin"`
|
|
|
|
|
|
|
|
ProcessSession func(context.Context) (uuid.UUID, error) `perm:"admin"`
|
|
|
|
Session func(context.Context) (uuid.UUID, error) `perm:"admin"`
|
OpenRPC Support (#5843)
* main: init implement rpc.Discover RPC method
This implement the basic functionality for the method
over HTTP RPC.
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init example with go-openrpc-reflect lib
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* main: make variable name human-friendly
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init impl of go-openrp-reflect printing document
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* go.mod,go.sum: use go-openrpc-reflect and open-rpc/meta-schema hackforks
This is for development only.
Versions need to be bumped when they're ready for use
as canonical remotes.
Signed-off-by: meows <b5c6@protonmail.com>
* main,openrpc,main: refactor openrpc supporting code to own package
This eliminates code duplication.
Signed-off-by: meows <b5c6@protonmail.com>
* main: add rpc.Discover to openrpc document
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: fix rpc.discover method name casing
Also fixes casing stuff for the rest of Filecoin.
methods.
Signed-off-by: meows <b5c6@protonmail.com>
* Revert "main: add rpc.Discover to openrpc document"
This reverts commit 116898efb10f33e405ac74acb1aa6daefcd46a62.
* main: fix document creation method name
This fixes an issue caused with the latest reverting
commit.
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen,openrpc: refactor to share api parsing, etc as docgen exported stuff
Signed-off-by: meows <b5c6@protonmail.com>
Makefile: fix docgen refactoring for makefile use of command
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: add schema.examples to app reflector
There are quite of few of these already registered
for the docgen command, so it makes sense to use
those!
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init method pairing examples
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump go.mod to use latest meta-schema and openrpc-reflect versions
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init SchemaType mapper function
This function will handle the manual configurations
for app-specific data types w/r/t their json schema
representation.
This is useful for cases where the reflect library
is unable to provide a sufficient representation
automatically.
Provided in this commit is an initial implementation
for the integerD type (assuming number are represented
in the API as hexs), and a commonly used cid.Cid type.
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: tame dependencies by bumping etclabscore/go-openrpc-reflect
This removes a problematic dependency
on github.com/ethereum/go-ethereum, which was
imported as a dependency for a couple github.com/etclabscore/go-openrpc-reflect
tests.
etclabscore/go-openrpc-reflect v0.0.36 has removed this
dependency, so this commit is the result of bumping
that version and then running 'go mod tidy'
This is in response to a review at
https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
Date: 2020-11-21 06:52:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: add 'miner' arg to openrpc gen cmd
This allows the command to EITHER
generate the doc for Full or Miner APIs.
See comment for usage.
Date: 2020-11-21 07:48:05-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen: add missing examples for Miner API
Generating the Miner API OpenRPC doc
(via 'go run ./api/openrpc/cmd miner') caused
the example logic to panic because some types
were missing.
This commit adds those missing types, although
I'm not an expert in the API so I can't
suggest that the example values provided are
ideal or well representative.
Date: 2020-11-21 07:50:21-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json,build/openrpc/miner.json: add build/openrpc/[full/miner].json docs
These will be used as static documents
provided by the rpc.discover method.
Date: 2020-11-21 07:51:39-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: init go-rice openrpc static assets
Date: 2020-11-21 08:23:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: remove rpc.discover implementation from runtime plugin
Instead of generating the doc on the fly,
we're going to serve a static asset.
Rel https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
This removes the runtime implementation from the
RPC server construction.
Date: 2020-11-21 08:41:20-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,common: add Discover(ctx) method to CommonAPI interface and structs
Date: 2020-11-21 08:41:56-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: use rpc server method aliasing for rpc.discover
This depends on a currently-forked change at
filecoin-project/go-jsonrpc 8350f9463ee451b187d35c492e32f1b999e80210
which establishes this new method RPCServer.AliasMethod.
This solves the problem that the OpenRPC
spec says that the document should be served
at the system extension-prefixed endpoing
rpc.discover (not Filecoin.Discover).
In fact, the document will be available at BOTH
endpoints, but that duplicity is harmless.
Date: 2020-11-21 09:18:26-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,build,common: rpc.discover: return json object instead of string
Instead of casting the JSON asset from bytes to string,
unmarshal it to a map[string]interface{} so the
server will provide it as a JSON object.
Date: 2020-11-21 09:27:11-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile: merge resolve: docsgen command path
Date: 2020-11-22 07:19:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,main,docgen,openrpc: merge resolve: fix func exporteds, signatures
Date: 2020-11-22 07:31:03-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: 'get get' auto-bumps version
Date: 2020-11-22 07:31:44-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,docgen,main,build/openrpc: refactor openrpc documentation generation
This creates Makefile command docsgen-openrpc-json,
and refactors the docsgen command to generate both
the markdown and openrpc json documents, redirecting
the output of the openrpc json documentation to
the build/openrpc/ directory, where those json
files will be compiled as static assets via go-rice
boxes.
The api/openrpc/cmd now uses usage argumentation
congruent to that of the docgen command (switching
on API context).
Date: 2020-11-22 08:01:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc: rename api/openrpc -> api/docgen-openrpc
Renames the package as well.
This is intended to parallel the
existing docgen package and command
namespacing.
Date: 2020-11-22 10:34:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,docgen,build,build/openrpc: use typed Discover response
Instead of using a map[string]interface{}, use
a typed response for the Discover method implementation.
This avoids having to set a docgen Example for
the generic map[string]interface{} (as an openrpc document)
which both pollutes the generic type and lacks
useful information for the Discover method example.
Date: 2020-11-22 08:31:16-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,build,main,impl: implement Discover method for Worker and StorageMiner APIs
Methods return static compiled assets respective
to the APIs.
Date: 2020-11-22 08:57:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen_openrpc,build/openrpc: remove timestamping from openrpc doc info
This should allow openrpc docs generated at different
times to be equal. This is important because the CI
(Circle) runs the docgen command and tests that
the output and the source are unchanged (via git diff).
Date: 2020-11-22 10:47:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc,main,build: fix lint issues
Fixes goimports, staticcheck, golint issues.
Date: 2020-11-22 11:06:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: fix: don't use an underscore in package name (golint)
Date: 2020-11-22 11:07:53-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: fix: mod-tidy-check (run 'go mod tidy')
Date: 2020-11-22 11:09:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc dep to latest
This version includes the necessary RPCServer.AliasMethod
method.
Date: 2020-11-23 12:16:15-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,main,build,build/openrpc: init gzipped openrpc static docs
Date: 2020-11-24 06:15:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: refactor gzip reading
Date: 2020-11-24 06:18:34-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: add basic test for openrpc doc from static assets
Date: 2020-11-24 06:30:23-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: handle reader Close error
This keeps the errcheck linter happy.
Date: 2020-11-24 06:33:14-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: run 'go mod tidy'
Date: 2020-11-24 06:36:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: go mod tidy
Tidying up after resolving the merge conflicts
with master at go.mod
Date: 2020-11-24 06:40:45-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc to latest
This is a repeat of 76e6fd2, since the latest merge
to master seems to have reverted this.
Date: 2020-11-24 06:42:30-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc,build/openrpc: remove method example pairings, improve schema examples
Removing method example pairings since they were
redundant to schema examples and were not
implemented well.
Improved schema examples by using the ExampleValue
method instead of the map lookup.
Made a note in the comment here that this is
not ideal, since we have to make a shortcut assumption
/workaround by using 'unknown' as the method name
and the typea as its own parent.
Luckily these values aren't heavily used by the
method logic.
Date: 2020-11-27 12:57:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: use generic number jsonschema for number types
Previously used an integer schema assuming
hex encoding. It appears, based on review some
of the examples, that this may not be the case.
Obvioussly this schema could be more descriptive,
but just shooting for mostly likely to be
not wrong at this point.
Date: 2020-12-15 14:44:37-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* cmd/lotus,go.mod,go.sum: maybe fix straggling merge resolution conflicts
Date: 2021-01-19 12:30:42-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json.gz,build/openrpc/miner.json.gz,build/openrpc/worker.json.gz: run 'make docsgen'
Date: 2021-01-19 12:33:55-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/apistruct,node/impl: (lint) gofmt
Date: 2021-01-19 12:39:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: maybe fix parse error: open ./api: no such file or directory
Date: 2021-01-19 12:52:04-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen,build/openrpc: maybe fix no such file error and run 'make docsgen'
Date: 2021-01-19 12:55:52-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: return if AST comment/groupdoc parsing encounters any error
This will returns empty comments/docs maps.
This should fix issues like:
https://app.circleci.com/pipelines/github/filecoin-project/lotus/12445/workflows/4ebadce9-a298-4ad1-939b-f19ef4c0a5bf/jobs/107218
where the environment makes file lookups hard or
impossible.
Date: 2021-01-19 13:04:58-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api: Don't depend on build/
* make: support parallel docsgen
* openrpc gen: Use simple build version
* methodgen
* goimports
Co-authored-by: meows <b5c6@protonmail.com>
2021-03-19 18:22:46 +00:00
|
|
|
|
|
|
|
Discover func(ctx context.Context) (apitypes.OpenRPCDocument, error) `perm:"read"`
|
2020-03-11 01:57:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-09-29 15:25:45 +00:00
|
|
|
type GatewayStruct struct {
|
|
|
|
Internal struct {
|
2020-10-09 11:41:09 +00:00
|
|
|
ChainGetBlockMessages func(ctx context.Context, c cid.Cid) (*api.BlockMessages, error)
|
|
|
|
ChainGetMessage func(ctx context.Context, mc cid.Cid) (*types.Message, error)
|
|
|
|
ChainGetTipSet func(ctx context.Context, tsk types.TipSetKey) (*types.TipSet, error)
|
|
|
|
ChainGetTipSetByHeight func(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error)
|
|
|
|
ChainHasObj func(context.Context, cid.Cid) (bool, error)
|
|
|
|
ChainHead func(ctx context.Context) (*types.TipSet, error)
|
|
|
|
ChainNotify func(ctx context.Context) (<-chan []*api.HeadChange, error)
|
|
|
|
ChainReadObj func(context.Context, cid.Cid) ([]byte, error)
|
|
|
|
GasEstimateMessageGas func(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec, tsk types.TipSetKey) (*types.Message, error)
|
|
|
|
MpoolPush func(ctx context.Context, sm *types.SignedMessage) (cid.Cid, error)
|
|
|
|
MsigGetAvailableBalance func(ctx context.Context, addr address.Address, tsk types.TipSetKey) (types.BigInt, error)
|
|
|
|
MsigGetVested func(ctx context.Context, addr address.Address, start types.TipSetKey, end types.TipSetKey) (types.BigInt, error)
|
2021-02-04 04:46:10 +00:00
|
|
|
MsigGetPending func(context.Context, address.Address, types.TipSetKey) ([]*api.MsigTransaction, error)
|
2020-10-09 11:41:09 +00:00
|
|
|
StateAccountKey func(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)
|
|
|
|
StateDealProviderCollateralBounds func(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (api.DealCollateralBounds, error)
|
|
|
|
StateGetActor func(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error)
|
|
|
|
StateGetReceipt func(ctx context.Context, c cid.Cid, tsk types.TipSetKey) (*types.MessageReceipt, error)
|
|
|
|
StateLookupID func(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)
|
|
|
|
StateListMiners func(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error)
|
|
|
|
StateMinerInfo func(ctx context.Context, actor address.Address, tsk types.TipSetKey) (miner.MinerInfo, error)
|
2020-10-23 14:51:27 +00:00
|
|
|
StateMinerProvingDeadline func(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*dline.Info, error)
|
|
|
|
StateMinerPower func(context.Context, address.Address, types.TipSetKey) (*api.MinerPower, error)
|
2020-10-09 11:41:09 +00:00
|
|
|
StateMarketBalance func(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MarketBalance, error)
|
|
|
|
StateMarketStorageDeal func(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*api.MarketDeal, error)
|
2021-02-03 23:24:25 +00:00
|
|
|
StateReadState func(context.Context, address.Address, types.TipSetKey) (*api.ActorState, error)
|
2020-10-09 11:41:09 +00:00
|
|
|
StateNetworkVersion func(ctx context.Context, tsk types.TipSetKey) (stnetwork.Version, error)
|
2021-01-08 15:28:38 +00:00
|
|
|
StateSearchMsg func(ctx context.Context, msg cid.Cid) (*api.MsgLookup, error)
|
2020-11-20 16:30:17 +00:00
|
|
|
StateSectorGetInfo func(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorOnChainInfo, error)
|
2020-10-20 15:08:25 +00:00
|
|
|
StateVerifiedClientStatus func(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error)
|
2020-10-09 11:41:09 +00:00
|
|
|
StateWaitMsg func(ctx context.Context, msg cid.Cid, confidence uint64) (*api.MsgLookup, error)
|
2020-09-29 15:25:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-09-05 19:36:32 +00:00
|
|
|
type WalletStruct struct {
|
|
|
|
Internal struct {
|
2020-10-11 18:12:01 +00:00
|
|
|
WalletNew func(context.Context, types.KeyType) (address.Address, error) `perm:"write"`
|
2020-10-09 01:00:30 +00:00
|
|
|
WalletHas func(context.Context, address.Address) (bool, error) `perm:"write"`
|
|
|
|
WalletList func(context.Context) ([]address.Address, error) `perm:"write"`
|
|
|
|
WalletSign func(context.Context, address.Address, []byte, api.MsgMeta) (*crypto.Signature, error) `perm:"sign"`
|
|
|
|
WalletExport func(context.Context, address.Address) (*types.KeyInfo, error) `perm:"admin"`
|
|
|
|
WalletImport func(context.Context, *types.KeyInfo) (address.Address, error) `perm:"admin"`
|
|
|
|
WalletDelete func(context.Context, address.Address) error `perm:"write"`
|
2020-09-05 19:36:32 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-05-04 19:29:26 +00:00
|
|
|
// CommonStruct
|
|
|
|
|
2020-05-20 18:23:51 +00:00
|
|
|
func (c *CommonStruct) AuthVerify(ctx context.Context, token string) ([]auth.Permission, error) {
|
2019-07-24 00:58:31 +00:00
|
|
|
return c.Internal.AuthVerify(ctx, token)
|
|
|
|
}
|
|
|
|
|
2020-05-20 18:23:51 +00:00
|
|
|
func (c *CommonStruct) AuthNew(ctx context.Context, perms []auth.Permission) ([]byte, error) {
|
2019-07-24 00:58:31 +00:00
|
|
|
return c.Internal.AuthNew(ctx, perms)
|
|
|
|
}
|
|
|
|
|
2020-06-03 01:13:49 +00:00
|
|
|
func (c *CommonStruct) NetPubsubScores(ctx context.Context) ([]api.PubsubScore, error) {
|
|
|
|
return c.Internal.NetPubsubScores(ctx)
|
|
|
|
}
|
2020-08-13 11:18:14 +00:00
|
|
|
|
2019-07-25 00:55:19 +00:00
|
|
|
func (c *CommonStruct) NetConnectedness(ctx context.Context, pid peer.ID) (network.Connectedness, error) {
|
|
|
|
return c.Internal.NetConnectedness(ctx, pid)
|
|
|
|
}
|
|
|
|
|
2019-07-24 00:58:31 +00:00
|
|
|
func (c *CommonStruct) NetPeers(ctx context.Context) ([]peer.AddrInfo, error) {
|
|
|
|
return c.Internal.NetPeers(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *CommonStruct) NetConnect(ctx context.Context, p peer.AddrInfo) error {
|
|
|
|
return c.Internal.NetConnect(ctx, p)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *CommonStruct) NetAddrsListen(ctx context.Context) (peer.AddrInfo, error) {
|
|
|
|
return c.Internal.NetAddrsListen(ctx)
|
2019-07-25 00:55:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (c *CommonStruct) NetDisconnect(ctx context.Context, p peer.ID) error {
|
|
|
|
return c.Internal.NetDisconnect(ctx, p)
|
2019-07-24 00:58:31 +00:00
|
|
|
}
|
|
|
|
|
2020-02-18 19:09:00 +00:00
|
|
|
func (c *CommonStruct) NetFindPeer(ctx context.Context, p peer.ID) (peer.AddrInfo, error) {
|
|
|
|
return c.Internal.NetFindPeer(ctx, p)
|
|
|
|
}
|
|
|
|
|
2020-08-13 11:18:14 +00:00
|
|
|
func (c *CommonStruct) NetAutoNatStatus(ctx context.Context) (api.NatInfo, error) {
|
|
|
|
return c.Internal.NetAutoNatStatus(ctx)
|
|
|
|
}
|
|
|
|
|
2020-09-02 22:25:53 +00:00
|
|
|
func (c *CommonStruct) NetBandwidthStats(ctx context.Context) (metrics.Stats, error) {
|
|
|
|
return c.Internal.NetBandwidthStats(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *CommonStruct) NetBandwidthStatsByPeer(ctx context.Context) (map[string]metrics.Stats, error) {
|
|
|
|
return c.Internal.NetBandwidthStatsByPeer(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *CommonStruct) NetBandwidthStatsByProtocol(ctx context.Context) (map[protocol.ID]metrics.Stats, error) {
|
|
|
|
return c.Internal.NetBandwidthStatsByProtocol(ctx)
|
|
|
|
}
|
|
|
|
|
2020-11-13 19:11:17 +00:00
|
|
|
func (c *CommonStruct) NetBlockAdd(ctx context.Context, acl api.NetBlockList) error {
|
2020-11-13 10:17:20 +00:00
|
|
|
return c.Internal.NetBlockAdd(ctx, acl)
|
|
|
|
}
|
|
|
|
|
2020-11-13 19:11:17 +00:00
|
|
|
func (c *CommonStruct) NetBlockRemove(ctx context.Context, acl api.NetBlockList) error {
|
2020-11-13 10:17:20 +00:00
|
|
|
return c.Internal.NetBlockRemove(ctx, acl)
|
|
|
|
}
|
|
|
|
|
2020-11-13 19:11:17 +00:00
|
|
|
func (c *CommonStruct) NetBlockList(ctx context.Context) (api.NetBlockList, error) {
|
2020-11-13 10:17:20 +00:00
|
|
|
return c.Internal.NetBlockList(ctx)
|
|
|
|
}
|
|
|
|
|
2020-09-03 23:35:53 +00:00
|
|
|
func (c *CommonStruct) NetAgentVersion(ctx context.Context, p peer.ID) (string, error) {
|
|
|
|
return c.Internal.NetAgentVersion(ctx, p)
|
|
|
|
}
|
|
|
|
|
2021-03-06 17:14:13 +00:00
|
|
|
func (c *CommonStruct) NetPeerInfo(ctx context.Context, p peer.ID) (*api.ExtendedPeerInfo, error) {
|
|
|
|
return c.Internal.NetPeerInfo(ctx, p)
|
|
|
|
}
|
|
|
|
|
OpenRPC Support (#5843)
* main: init implement rpc.Discover RPC method
This implement the basic functionality for the method
over HTTP RPC.
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init example with go-openrpc-reflect lib
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* main: make variable name human-friendly
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init impl of go-openrp-reflect printing document
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* go.mod,go.sum: use go-openrpc-reflect and open-rpc/meta-schema hackforks
This is for development only.
Versions need to be bumped when they're ready for use
as canonical remotes.
Signed-off-by: meows <b5c6@protonmail.com>
* main,openrpc,main: refactor openrpc supporting code to own package
This eliminates code duplication.
Signed-off-by: meows <b5c6@protonmail.com>
* main: add rpc.Discover to openrpc document
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: fix rpc.discover method name casing
Also fixes casing stuff for the rest of Filecoin.
methods.
Signed-off-by: meows <b5c6@protonmail.com>
* Revert "main: add rpc.Discover to openrpc document"
This reverts commit 116898efb10f33e405ac74acb1aa6daefcd46a62.
* main: fix document creation method name
This fixes an issue caused with the latest reverting
commit.
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen,openrpc: refactor to share api parsing, etc as docgen exported stuff
Signed-off-by: meows <b5c6@protonmail.com>
Makefile: fix docgen refactoring for makefile use of command
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: add schema.examples to app reflector
There are quite of few of these already registered
for the docgen command, so it makes sense to use
those!
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init method pairing examples
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump go.mod to use latest meta-schema and openrpc-reflect versions
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init SchemaType mapper function
This function will handle the manual configurations
for app-specific data types w/r/t their json schema
representation.
This is useful for cases where the reflect library
is unable to provide a sufficient representation
automatically.
Provided in this commit is an initial implementation
for the integerD type (assuming number are represented
in the API as hexs), and a commonly used cid.Cid type.
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: tame dependencies by bumping etclabscore/go-openrpc-reflect
This removes a problematic dependency
on github.com/ethereum/go-ethereum, which was
imported as a dependency for a couple github.com/etclabscore/go-openrpc-reflect
tests.
etclabscore/go-openrpc-reflect v0.0.36 has removed this
dependency, so this commit is the result of bumping
that version and then running 'go mod tidy'
This is in response to a review at
https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
Date: 2020-11-21 06:52:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: add 'miner' arg to openrpc gen cmd
This allows the command to EITHER
generate the doc for Full or Miner APIs.
See comment for usage.
Date: 2020-11-21 07:48:05-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen: add missing examples for Miner API
Generating the Miner API OpenRPC doc
(via 'go run ./api/openrpc/cmd miner') caused
the example logic to panic because some types
were missing.
This commit adds those missing types, although
I'm not an expert in the API so I can't
suggest that the example values provided are
ideal or well representative.
Date: 2020-11-21 07:50:21-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json,build/openrpc/miner.json: add build/openrpc/[full/miner].json docs
These will be used as static documents
provided by the rpc.discover method.
Date: 2020-11-21 07:51:39-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: init go-rice openrpc static assets
Date: 2020-11-21 08:23:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: remove rpc.discover implementation from runtime plugin
Instead of generating the doc on the fly,
we're going to serve a static asset.
Rel https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
This removes the runtime implementation from the
RPC server construction.
Date: 2020-11-21 08:41:20-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,common: add Discover(ctx) method to CommonAPI interface and structs
Date: 2020-11-21 08:41:56-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: use rpc server method aliasing for rpc.discover
This depends on a currently-forked change at
filecoin-project/go-jsonrpc 8350f9463ee451b187d35c492e32f1b999e80210
which establishes this new method RPCServer.AliasMethod.
This solves the problem that the OpenRPC
spec says that the document should be served
at the system extension-prefixed endpoing
rpc.discover (not Filecoin.Discover).
In fact, the document will be available at BOTH
endpoints, but that duplicity is harmless.
Date: 2020-11-21 09:18:26-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,build,common: rpc.discover: return json object instead of string
Instead of casting the JSON asset from bytes to string,
unmarshal it to a map[string]interface{} so the
server will provide it as a JSON object.
Date: 2020-11-21 09:27:11-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile: merge resolve: docsgen command path
Date: 2020-11-22 07:19:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,main,docgen,openrpc: merge resolve: fix func exporteds, signatures
Date: 2020-11-22 07:31:03-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: 'get get' auto-bumps version
Date: 2020-11-22 07:31:44-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,docgen,main,build/openrpc: refactor openrpc documentation generation
This creates Makefile command docsgen-openrpc-json,
and refactors the docsgen command to generate both
the markdown and openrpc json documents, redirecting
the output of the openrpc json documentation to
the build/openrpc/ directory, where those json
files will be compiled as static assets via go-rice
boxes.
The api/openrpc/cmd now uses usage argumentation
congruent to that of the docgen command (switching
on API context).
Date: 2020-11-22 08:01:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc: rename api/openrpc -> api/docgen-openrpc
Renames the package as well.
This is intended to parallel the
existing docgen package and command
namespacing.
Date: 2020-11-22 10:34:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,docgen,build,build/openrpc: use typed Discover response
Instead of using a map[string]interface{}, use
a typed response for the Discover method implementation.
This avoids having to set a docgen Example for
the generic map[string]interface{} (as an openrpc document)
which both pollutes the generic type and lacks
useful information for the Discover method example.
Date: 2020-11-22 08:31:16-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,build,main,impl: implement Discover method for Worker and StorageMiner APIs
Methods return static compiled assets respective
to the APIs.
Date: 2020-11-22 08:57:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen_openrpc,build/openrpc: remove timestamping from openrpc doc info
This should allow openrpc docs generated at different
times to be equal. This is important because the CI
(Circle) runs the docgen command and tests that
the output and the source are unchanged (via git diff).
Date: 2020-11-22 10:47:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc,main,build: fix lint issues
Fixes goimports, staticcheck, golint issues.
Date: 2020-11-22 11:06:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: fix: don't use an underscore in package name (golint)
Date: 2020-11-22 11:07:53-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: fix: mod-tidy-check (run 'go mod tidy')
Date: 2020-11-22 11:09:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc dep to latest
This version includes the necessary RPCServer.AliasMethod
method.
Date: 2020-11-23 12:16:15-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,main,build,build/openrpc: init gzipped openrpc static docs
Date: 2020-11-24 06:15:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: refactor gzip reading
Date: 2020-11-24 06:18:34-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: add basic test for openrpc doc from static assets
Date: 2020-11-24 06:30:23-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: handle reader Close error
This keeps the errcheck linter happy.
Date: 2020-11-24 06:33:14-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: run 'go mod tidy'
Date: 2020-11-24 06:36:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: go mod tidy
Tidying up after resolving the merge conflicts
with master at go.mod
Date: 2020-11-24 06:40:45-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc to latest
This is a repeat of 76e6fd2, since the latest merge
to master seems to have reverted this.
Date: 2020-11-24 06:42:30-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc,build/openrpc: remove method example pairings, improve schema examples
Removing method example pairings since they were
redundant to schema examples and were not
implemented well.
Improved schema examples by using the ExampleValue
method instead of the map lookup.
Made a note in the comment here that this is
not ideal, since we have to make a shortcut assumption
/workaround by using 'unknown' as the method name
and the typea as its own parent.
Luckily these values aren't heavily used by the
method logic.
Date: 2020-11-27 12:57:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: use generic number jsonschema for number types
Previously used an integer schema assuming
hex encoding. It appears, based on review some
of the examples, that this may not be the case.
Obvioussly this schema could be more descriptive,
but just shooting for mostly likely to be
not wrong at this point.
Date: 2020-12-15 14:44:37-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* cmd/lotus,go.mod,go.sum: maybe fix straggling merge resolution conflicts
Date: 2021-01-19 12:30:42-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json.gz,build/openrpc/miner.json.gz,build/openrpc/worker.json.gz: run 'make docsgen'
Date: 2021-01-19 12:33:55-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/apistruct,node/impl: (lint) gofmt
Date: 2021-01-19 12:39:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: maybe fix parse error: open ./api: no such file or directory
Date: 2021-01-19 12:52:04-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen,build/openrpc: maybe fix no such file error and run 'make docsgen'
Date: 2021-01-19 12:55:52-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: return if AST comment/groupdoc parsing encounters any error
This will returns empty comments/docs maps.
This should fix issues like:
https://app.circleci.com/pipelines/github/filecoin-project/lotus/12445/workflows/4ebadce9-a298-4ad1-939b-f19ef4c0a5bf/jobs/107218
where the environment makes file lookups hard or
impossible.
Date: 2021-01-19 13:04:58-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api: Don't depend on build/
* make: support parallel docsgen
* openrpc gen: Use simple build version
* methodgen
* goimports
Co-authored-by: meows <b5c6@protonmail.com>
2021-03-19 18:22:46 +00:00
|
|
|
func (c *CommonStruct) Discover(ctx context.Context) (apitypes.OpenRPCDocument, error) {
|
|
|
|
return c.Internal.Discover(ctx)
|
|
|
|
}
|
|
|
|
|
2019-07-24 00:58:31 +00:00
|
|
|
// ID implements API.ID
|
|
|
|
func (c *CommonStruct) ID(ctx context.Context) (peer.ID, error) {
|
|
|
|
return c.Internal.ID(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Version implements API.Version
|
2021-03-05 21:01:20 +00:00
|
|
|
func (c *CommonStruct) Version(ctx context.Context) (api.APIVersion, error) {
|
2019-07-24 00:58:31 +00:00
|
|
|
return c.Internal.Version(ctx)
|
|
|
|
}
|
|
|
|
|
2020-02-15 05:49:54 +00:00
|
|
|
func (c *CommonStruct) LogList(ctx context.Context) ([]string, error) {
|
|
|
|
return c.Internal.LogList(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *CommonStruct) LogSetLevel(ctx context.Context, group, level string) error {
|
|
|
|
return c.Internal.LogSetLevel(ctx, group, level)
|
|
|
|
}
|
|
|
|
|
2020-06-02 18:54:24 +00:00
|
|
|
func (c *CommonStruct) Shutdown(ctx context.Context) error {
|
|
|
|
return c.Internal.Shutdown(ctx)
|
|
|
|
}
|
|
|
|
|
2020-10-17 10:53:42 +00:00
|
|
|
func (c *CommonStruct) Session(ctx context.Context) (uuid.UUID, error) {
|
|
|
|
return c.Internal.Session(ctx)
|
|
|
|
}
|
|
|
|
|
2020-06-17 14:44:59 +00:00
|
|
|
func (c *CommonStruct) Closing(ctx context.Context) (<-chan struct{}, error) {
|
|
|
|
return c.Internal.Closing(ctx)
|
|
|
|
}
|
|
|
|
|
2020-05-04 19:29:26 +00:00
|
|
|
// FullNodeStruct
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *FullNodeStruct) ClientListImports(ctx context.Context) ([]api.Import, error) {
|
2019-07-12 10:44:01 +00:00
|
|
|
return c.Internal.ClientListImports(ctx)
|
|
|
|
}
|
|
|
|
|
2020-07-28 06:13:10 +00:00
|
|
|
func (c *FullNodeStruct) ClientRemoveImport(ctx context.Context, importID multistore.StoreID) error {
|
2020-07-07 11:45:02 +00:00
|
|
|
return c.Internal.ClientRemoveImport(ctx, importID)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) ClientImport(ctx context.Context, ref api.FileRef) (*api.ImportRes, error) {
|
2020-03-03 04:13:08 +00:00
|
|
|
return c.Internal.ClientImport(ctx, ref)
|
2019-07-12 09:59:18 +00:00
|
|
|
}
|
|
|
|
|
2019-08-26 13:45:36 +00:00
|
|
|
func (c *FullNodeStruct) ClientHasLocal(ctx context.Context, root cid.Cid) (bool, error) {
|
|
|
|
return c.Internal.ClientHasLocal(ctx, root)
|
|
|
|
}
|
|
|
|
|
2020-07-09 16:29:57 +00:00
|
|
|
func (c *FullNodeStruct) ClientFindData(ctx context.Context, root cid.Cid, piece *cid.Cid) ([]api.QueryOffer, error) {
|
|
|
|
return c.Internal.ClientFindData(ctx, root, piece)
|
2019-08-26 13:45:36 +00:00
|
|
|
}
|
|
|
|
|
2020-07-09 20:02:12 +00:00
|
|
|
func (c *FullNodeStruct) ClientMinerQueryOffer(ctx context.Context, miner address.Address, root cid.Cid, piece *cid.Cid) (api.QueryOffer, error) {
|
|
|
|
return c.Internal.ClientMinerQueryOffer(ctx, miner, root, piece)
|
2020-06-16 14:14:49 +00:00
|
|
|
}
|
|
|
|
|
2020-03-03 00:36:01 +00:00
|
|
|
func (c *FullNodeStruct) ClientStartDeal(ctx context.Context, params *api.StartDealParams) (*cid.Cid, error) {
|
|
|
|
return c.Internal.ClientStartDeal(ctx, params)
|
2019-08-01 17:12:41 +00:00
|
|
|
}
|
2020-08-04 23:40:29 +00:00
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *FullNodeStruct) ClientGetDealInfo(ctx context.Context, deal cid.Cid) (*api.DealInfo, error) {
|
2019-11-06 19:44:28 +00:00
|
|
|
return c.Internal.ClientGetDealInfo(ctx, deal)
|
|
|
|
}
|
2019-08-27 18:45:21 +00:00
|
|
|
|
2020-10-07 06:13:30 +00:00
|
|
|
func (c *FullNodeStruct) ClientGetDealStatus(ctx context.Context, statusCode uint64) (string, error) {
|
|
|
|
return c.Internal.ClientGetDealStatus(ctx, statusCode)
|
|
|
|
}
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *FullNodeStruct) ClientListDeals(ctx context.Context) ([]api.DealInfo, error) {
|
2019-09-10 14:13:24 +00:00
|
|
|
return c.Internal.ClientListDeals(ctx)
|
|
|
|
}
|
|
|
|
|
2020-08-27 18:32:51 +00:00
|
|
|
func (c *FullNodeStruct) ClientGetDealUpdates(ctx context.Context) (<-chan api.DealInfo, error) {
|
|
|
|
return c.Internal.ClientGetDealUpdates(ctx)
|
|
|
|
}
|
|
|
|
|
2020-08-18 09:49:56 +00:00
|
|
|
func (c *FullNodeStruct) ClientRetrieve(ctx context.Context, order api.RetrievalOrder, ref *api.FileRef) error {
|
2020-03-03 04:13:08 +00:00
|
|
|
return c.Internal.ClientRetrieve(ctx, order, ref)
|
2019-08-27 18:45:21 +00:00
|
|
|
}
|
2019-08-01 17:12:41 +00:00
|
|
|
|
2020-08-18 09:49:56 +00:00
|
|
|
func (c *FullNodeStruct) ClientRetrieveWithEvents(ctx context.Context, order api.RetrievalOrder, ref *api.FileRef) (<-chan marketevents.RetrievalEvent, error) {
|
|
|
|
return c.Internal.ClientRetrieveWithEvents(ctx, order, ref)
|
|
|
|
}
|
|
|
|
|
2020-09-29 11:53:30 +00:00
|
|
|
func (c *FullNodeStruct) ClientQueryAsk(ctx context.Context, p peer.ID, miner address.Address) (*storagemarket.StorageAsk, error) {
|
2019-09-13 21:00:36 +00:00
|
|
|
return c.Internal.ClientQueryAsk(ctx, p, miner)
|
|
|
|
}
|
2020-10-22 11:59:08 +00:00
|
|
|
|
|
|
|
func (c *FullNodeStruct) ClientDealPieceCID(ctx context.Context, root cid.Cid) (api.DataCIDSize, error) {
|
|
|
|
return c.Internal.ClientDealPieceCID(ctx, root)
|
|
|
|
}
|
|
|
|
|
2020-08-12 19:40:25 +00:00
|
|
|
func (c *FullNodeStruct) ClientCalcCommP(ctx context.Context, inpath string) (*api.CommPRet, error) {
|
|
|
|
return c.Internal.ClientCalcCommP(ctx, inpath)
|
2020-04-03 22:17:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) ClientGenCar(ctx context.Context, ref api.FileRef, outpath string) error {
|
|
|
|
return c.Internal.ClientGenCar(ctx, ref, outpath)
|
|
|
|
}
|
2019-09-13 21:00:36 +00:00
|
|
|
|
2020-07-31 16:22:04 +00:00
|
|
|
func (c *FullNodeStruct) ClientDealSize(ctx context.Context, root cid.Cid) (api.DataSize, error) {
|
|
|
|
return c.Internal.ClientDealSize(ctx, root)
|
|
|
|
}
|
|
|
|
|
2020-08-18 23:26:21 +00:00
|
|
|
func (c *FullNodeStruct) ClientListDataTransfers(ctx context.Context) ([]api.DataTransferChannel, error) {
|
|
|
|
return c.Internal.ClientListDataTransfers(ctx)
|
|
|
|
}
|
|
|
|
|
2020-08-19 00:36:22 +00:00
|
|
|
func (c *FullNodeStruct) ClientDataTransferUpdates(ctx context.Context) (<-chan api.DataTransferChannel, error) {
|
|
|
|
return c.Internal.ClientDataTransferUpdates(ctx)
|
|
|
|
}
|
|
|
|
|
2020-10-13 10:37:00 +00:00
|
|
|
func (c *FullNodeStruct) ClientRestartDataTransfer(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error {
|
|
|
|
return c.Internal.ClientRestartDataTransfer(ctx, transferID, otherPeer, isInitiator)
|
|
|
|
}
|
|
|
|
|
2020-10-22 20:40:26 +00:00
|
|
|
func (c *FullNodeStruct) ClientCancelDataTransfer(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error {
|
|
|
|
return c.Internal.ClientCancelDataTransfer(ctx, transferID, otherPeer, isInitiator)
|
|
|
|
}
|
|
|
|
|
2020-09-04 05:34:59 +00:00
|
|
|
func (c *FullNodeStruct) ClientRetrieveTryRestartInsufficientFunds(ctx context.Context, paymentChannel address.Address) error {
|
|
|
|
return c.Internal.ClientRetrieveTryRestartInsufficientFunds(ctx, paymentChannel)
|
|
|
|
}
|
|
|
|
|
2020-08-19 23:26:13 +00:00
|
|
|
func (c *FullNodeStruct) GasEstimateGasPremium(ctx context.Context, nblocksincl uint64, sender address.Address, gaslimit int64, tsk types.TipSetKey) (types.BigInt, error) {
|
2020-08-11 05:10:12 +00:00
|
|
|
return c.Internal.GasEstimateGasPremium(ctx, nblocksincl, sender, gaslimit, tsk)
|
2020-07-20 17:48:30 +00:00
|
|
|
}
|
2020-08-19 21:25:58 +00:00
|
|
|
|
2020-08-19 23:26:13 +00:00
|
|
|
func (c *FullNodeStruct) GasEstimateFeeCap(ctx context.Context, msg *types.Message, maxqueueblks int64, tsk types.TipSetKey) (types.BigInt, error) {
|
2020-08-07 18:09:50 +00:00
|
|
|
return c.Internal.GasEstimateFeeCap(ctx, msg, maxqueueblks, tsk)
|
2020-08-06 22:10:55 +00:00
|
|
|
}
|
2020-07-20 17:48:30 +00:00
|
|
|
|
2020-08-19 21:25:58 +00:00
|
|
|
func (c *FullNodeStruct) GasEstimateMessageGas(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec, tsk types.TipSetKey) (*types.Message, error) {
|
|
|
|
return c.Internal.GasEstimateMessageGas(ctx, msg, spec, tsk)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) GasEstimateGasLimit(ctx context.Context, msg *types.Message, tsk types.TipSetKey) (int64, error) {
|
2020-07-20 17:48:30 +00:00
|
|
|
return c.Internal.GasEstimateGasLimit(ctx, msg, tsk)
|
|
|
|
}
|
|
|
|
|
2020-08-07 14:45:31 +00:00
|
|
|
func (c *FullNodeStruct) MpoolGetConfig(ctx context.Context) (*types.MpoolConfig, error) {
|
|
|
|
return c.Internal.MpoolGetConfig(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MpoolSetConfig(ctx context.Context, cfg *types.MpoolConfig) error {
|
|
|
|
return c.Internal.MpoolSetConfig(ctx, cfg)
|
|
|
|
}
|
|
|
|
|
2020-08-11 11:05:04 +00:00
|
|
|
func (c *FullNodeStruct) MpoolSelect(ctx context.Context, tsk types.TipSetKey, tq float64) ([]*types.SignedMessage, error) {
|
|
|
|
return c.Internal.MpoolSelect(ctx, tsk, tq)
|
2020-08-05 20:17:14 +00:00
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) MpoolPending(ctx context.Context, tsk types.TipSetKey) ([]*types.SignedMessage, error) {
|
|
|
|
return c.Internal.MpoolPending(ctx, tsk)
|
2019-07-11 02:36:43 +00:00
|
|
|
}
|
|
|
|
|
2020-08-21 20:24:53 +00:00
|
|
|
func (c *FullNodeStruct) MpoolClear(ctx context.Context, local bool) error {
|
|
|
|
return c.Internal.MpoolClear(ctx, local)
|
2020-08-21 17:28:45 +00:00
|
|
|
}
|
|
|
|
|
2020-01-07 16:44:55 +00:00
|
|
|
func (c *FullNodeStruct) MpoolPush(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error) {
|
2019-07-17 06:15:07 +00:00
|
|
|
return c.Internal.MpoolPush(ctx, smsg)
|
2019-07-17 03:05:55 +00:00
|
|
|
}
|
|
|
|
|
2020-09-18 06:40:43 +00:00
|
|
|
func (c *FullNodeStruct) MpoolPushUntrusted(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error) {
|
|
|
|
return c.Internal.MpoolPushUntrusted(ctx, smsg)
|
|
|
|
}
|
|
|
|
|
2020-08-12 20:17:21 +00:00
|
|
|
func (c *FullNodeStruct) MpoolPushMessage(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec) (*types.SignedMessage, error) {
|
|
|
|
return c.Internal.MpoolPushMessage(ctx, msg, spec)
|
2019-09-16 14:17:08 +00:00
|
|
|
}
|
|
|
|
|
2020-10-08 02:04:43 +00:00
|
|
|
func (c *FullNodeStruct) MpoolBatchPush(ctx context.Context, smsgs []*types.SignedMessage) ([]cid.Cid, error) {
|
|
|
|
return c.Internal.MpoolBatchPush(ctx, smsgs)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MpoolBatchPushUntrusted(ctx context.Context, smsgs []*types.SignedMessage) ([]cid.Cid, error) {
|
|
|
|
return c.Internal.MpoolBatchPushUntrusted(ctx, smsgs)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MpoolBatchPushMessage(ctx context.Context, msgs []*types.Message, spec *api.MessageSendSpec) ([]*types.SignedMessage, error) {
|
|
|
|
return c.Internal.MpoolBatchPushMessage(ctx, msgs, spec)
|
|
|
|
}
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *FullNodeStruct) MpoolSub(ctx context.Context) (<-chan api.MpoolUpdate, error) {
|
2019-11-17 07:44:06 +00:00
|
|
|
return c.Internal.MpoolSub(ctx)
|
|
|
|
}
|
|
|
|
|
2020-04-17 23:36:54 +00:00
|
|
|
func (c *FullNodeStruct) MinerGetBaseInfo(ctx context.Context, maddr address.Address, epoch abi.ChainEpoch, tsk types.TipSetKey) (*api.MiningBaseInfo, error) {
|
|
|
|
return c.Internal.MinerGetBaseInfo(ctx, maddr, epoch, tsk)
|
2020-04-02 01:10:28 +00:00
|
|
|
}
|
|
|
|
|
2020-04-09 00:24:10 +00:00
|
|
|
func (c *FullNodeStruct) MinerCreateBlock(ctx context.Context, bt *api.BlockTemplate) (*types.BlockMsg, error) {
|
|
|
|
return c.Internal.MinerCreateBlock(ctx, bt)
|
2019-07-09 22:58:51 +00:00
|
|
|
}
|
|
|
|
|
2019-07-26 04:54:22 +00:00
|
|
|
func (c *FullNodeStruct) ChainHead(ctx context.Context) (*types.TipSet, error) {
|
2019-07-09 15:19:27 +00:00
|
|
|
return c.Internal.ChainHead(ctx)
|
|
|
|
}
|
|
|
|
|
2020-08-11 23:58:35 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetRandomnessFromTickets(ctx context.Context, tsk types.TipSetKey, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) (abi.Randomness, error) {
|
|
|
|
return c.Internal.ChainGetRandomnessFromTickets(ctx, tsk, personalization, randEpoch, entropy)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) ChainGetRandomnessFromBeacon(ctx context.Context, tsk types.TipSetKey, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) (abi.Randomness, error) {
|
|
|
|
return c.Internal.ChainGetRandomnessFromBeacon(ctx, tsk, personalization, randEpoch, entropy)
|
2019-07-11 02:36:43 +00:00
|
|
|
}
|
|
|
|
|
2020-02-24 17:32:02 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetTipSetByHeight(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.ChainGetTipSetByHeight(ctx, h, tsk)
|
2019-09-18 00:08:49 +00:00
|
|
|
}
|
|
|
|
|
2020-10-11 18:12:01 +00:00
|
|
|
func (c *FullNodeStruct) WalletNew(ctx context.Context, typ types.KeyType) (address.Address, error) {
|
2019-07-13 00:41:32 +00:00
|
|
|
return c.Internal.WalletNew(ctx, typ)
|
|
|
|
}
|
|
|
|
|
2019-08-08 17:29:23 +00:00
|
|
|
func (c *FullNodeStruct) WalletHas(ctx context.Context, addr address.Address) (bool, error) {
|
|
|
|
return c.Internal.WalletHas(ctx, addr)
|
|
|
|
}
|
|
|
|
|
2019-07-24 00:09:34 +00:00
|
|
|
func (c *FullNodeStruct) WalletList(ctx context.Context) ([]address.Address, error) {
|
2019-07-13 00:41:32 +00:00
|
|
|
return c.Internal.WalletList(ctx)
|
|
|
|
}
|
|
|
|
|
2019-07-24 00:09:34 +00:00
|
|
|
func (c *FullNodeStruct) WalletBalance(ctx context.Context, a address.Address) (types.BigInt, error) {
|
2019-07-18 20:26:04 +00:00
|
|
|
return c.Internal.WalletBalance(ctx, a)
|
|
|
|
}
|
|
|
|
|
2020-02-12 23:52:36 +00:00
|
|
|
func (c *FullNodeStruct) WalletSign(ctx context.Context, k address.Address, msg []byte) (*crypto.Signature, error) {
|
2019-07-17 03:05:55 +00:00
|
|
|
return c.Internal.WalletSign(ctx, k, msg)
|
|
|
|
}
|
|
|
|
|
2019-08-09 15:59:12 +00:00
|
|
|
func (c *FullNodeStruct) WalletSignMessage(ctx context.Context, k address.Address, msg *types.Message) (*types.SignedMessage, error) {
|
|
|
|
return c.Internal.WalletSignMessage(ctx, k, msg)
|
|
|
|
}
|
|
|
|
|
2020-09-17 10:22:56 +00:00
|
|
|
func (c *FullNodeStruct) WalletVerify(ctx context.Context, k address.Address, msg []byte, sig *crypto.Signature) (bool, error) {
|
2020-02-25 23:17:15 +00:00
|
|
|
return c.Internal.WalletVerify(ctx, k, msg, sig)
|
|
|
|
}
|
|
|
|
|
2019-07-24 00:09:34 +00:00
|
|
|
func (c *FullNodeStruct) WalletDefaultAddress(ctx context.Context) (address.Address, error) {
|
2019-07-17 03:05:55 +00:00
|
|
|
return c.Internal.WalletDefaultAddress(ctx)
|
|
|
|
}
|
|
|
|
|
2019-10-17 10:18:40 +00:00
|
|
|
func (c *FullNodeStruct) WalletSetDefault(ctx context.Context, a address.Address) error {
|
|
|
|
return c.Internal.WalletSetDefault(ctx, a)
|
|
|
|
}
|
|
|
|
|
2019-10-08 09:46:36 +00:00
|
|
|
func (c *FullNodeStruct) WalletExport(ctx context.Context, a address.Address) (*types.KeyInfo, error) {
|
2019-10-08 09:17:03 +00:00
|
|
|
return c.Internal.WalletExport(ctx, a)
|
|
|
|
}
|
|
|
|
|
2019-10-08 09:46:36 +00:00
|
|
|
func (c *FullNodeStruct) WalletImport(ctx context.Context, ki *types.KeyInfo) (address.Address, error) {
|
|
|
|
return c.Internal.WalletImport(ctx, ki)
|
2019-10-08 09:17:03 +00:00
|
|
|
}
|
|
|
|
|
2020-06-05 23:04:23 +00:00
|
|
|
func (c *FullNodeStruct) WalletDelete(ctx context.Context, addr address.Address) error {
|
|
|
|
return c.Internal.WalletDelete(ctx, addr)
|
|
|
|
}
|
|
|
|
|
2020-09-30 05:43:10 +00:00
|
|
|
func (c *FullNodeStruct) WalletValidateAddress(ctx context.Context, str string) (address.Address, error) {
|
|
|
|
return c.Internal.WalletValidateAddress(ctx, str)
|
|
|
|
}
|
|
|
|
|
2019-07-24 00:09:34 +00:00
|
|
|
func (c *FullNodeStruct) MpoolGetNonce(ctx context.Context, addr address.Address) (uint64, error) {
|
2019-07-17 06:05:11 +00:00
|
|
|
return c.Internal.MpoolGetNonce(ctx, addr)
|
2019-07-17 03:05:55 +00:00
|
|
|
}
|
|
|
|
|
2019-07-25 22:15:03 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetBlock(ctx context.Context, b cid.Cid) (*types.BlockHeader, error) {
|
2019-07-23 00:54:27 +00:00
|
|
|
return c.Internal.ChainGetBlock(ctx, b)
|
|
|
|
}
|
|
|
|
|
2019-11-08 05:36:50 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetTipSet(ctx context.Context, key types.TipSetKey) (*types.TipSet, error) {
|
|
|
|
return c.Internal.ChainGetTipSet(ctx, key)
|
2019-10-11 06:25:25 +00:00
|
|
|
}
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetBlockMessages(ctx context.Context, b cid.Cid) (*api.BlockMessages, error) {
|
2019-07-23 00:54:27 +00:00
|
|
|
return c.Internal.ChainGetBlockMessages(ctx, b)
|
|
|
|
}
|
|
|
|
|
2019-10-03 20:22:21 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetParentReceipts(ctx context.Context, b cid.Cid) ([]*types.MessageReceipt, error) {
|
|
|
|
return c.Internal.ChainGetParentReceipts(ctx, b)
|
|
|
|
}
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetParentMessages(ctx context.Context, b cid.Cid) ([]api.Message, error) {
|
2019-10-03 20:22:21 +00:00
|
|
|
return c.Internal.ChainGetParentMessages(ctx, b)
|
2019-08-07 23:22:35 +00:00
|
|
|
}
|
|
|
|
|
2020-04-23 22:15:00 +00:00
|
|
|
func (c *FullNodeStruct) ChainNotify(ctx context.Context) (<-chan []*api.HeadChange, error) {
|
2019-07-28 19:19:33 +00:00
|
|
|
return c.Internal.ChainNotify(ctx)
|
|
|
|
}
|
|
|
|
|
2019-10-01 16:28:07 +00:00
|
|
|
func (c *FullNodeStruct) ChainReadObj(ctx context.Context, obj cid.Cid) ([]byte, error) {
|
|
|
|
return c.Internal.ChainReadObj(ctx, obj)
|
|
|
|
}
|
|
|
|
|
2020-09-10 17:35:06 +00:00
|
|
|
func (c *FullNodeStruct) ChainDeleteObj(ctx context.Context, obj cid.Cid) error {
|
|
|
|
return c.Internal.ChainDeleteObj(ctx, obj)
|
|
|
|
}
|
|
|
|
|
2020-02-04 02:45:20 +00:00
|
|
|
func (c *FullNodeStruct) ChainHasObj(ctx context.Context, o cid.Cid) (bool, error) {
|
|
|
|
return c.Internal.ChainHasObj(ctx, o)
|
|
|
|
}
|
|
|
|
|
2020-03-04 23:52:28 +00:00
|
|
|
func (c *FullNodeStruct) ChainStatObj(ctx context.Context, obj, base cid.Cid) (api.ObjStat, error) {
|
|
|
|
return c.Internal.ChainStatObj(ctx, obj, base)
|
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) ChainSetHead(ctx context.Context, tsk types.TipSetKey) error {
|
|
|
|
return c.Internal.ChainSetHead(ctx, tsk)
|
2019-10-10 03:50:50 +00:00
|
|
|
}
|
|
|
|
|
2019-10-11 02:14:22 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetGenesis(ctx context.Context) (*types.TipSet, error) {
|
|
|
|
return c.Internal.ChainGetGenesis(ctx)
|
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) ChainTipSetWeight(ctx context.Context, tsk types.TipSetKey) (types.BigInt, error) {
|
|
|
|
return c.Internal.ChainTipSetWeight(ctx, tsk)
|
2019-10-15 05:00:30 +00:00
|
|
|
}
|
|
|
|
|
2020-03-07 02:47:19 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetNode(ctx context.Context, p string) (*api.IpldObject, error) {
|
2019-12-19 15:50:18 +00:00
|
|
|
return c.Internal.ChainGetNode(ctx, p)
|
|
|
|
}
|
|
|
|
|
2020-01-07 19:03:11 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetMessage(ctx context.Context, mc cid.Cid) (*types.Message, error) {
|
|
|
|
return c.Internal.ChainGetMessage(ctx, mc)
|
|
|
|
}
|
|
|
|
|
2020-04-23 22:15:00 +00:00
|
|
|
func (c *FullNodeStruct) ChainGetPath(ctx context.Context, from types.TipSetKey, to types.TipSetKey) ([]*api.HeadChange, error) {
|
2020-01-15 00:24:08 +00:00
|
|
|
return c.Internal.ChainGetPath(ctx, from, to)
|
|
|
|
}
|
|
|
|
|
2020-09-11 00:40:47 +00:00
|
|
|
func (c *FullNodeStruct) ChainExport(ctx context.Context, nroots abi.ChainEpoch, iom bool, tsk types.TipSetKey) (<-chan []byte, error) {
|
|
|
|
return c.Internal.ChainExport(ctx, nroots, iom, tsk)
|
2020-01-20 23:51:02 +00:00
|
|
|
}
|
|
|
|
|
2020-08-05 00:01:21 +00:00
|
|
|
func (c *FullNodeStruct) BeaconGetEntry(ctx context.Context, epoch abi.ChainEpoch) (*types.BeaconEntry, error) {
|
|
|
|
return c.Internal.BeaconGetEntry(ctx, epoch)
|
|
|
|
}
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *FullNodeStruct) SyncState(ctx context.Context) (*api.SyncState, error) {
|
2019-09-30 21:06:47 +00:00
|
|
|
return c.Internal.SyncState(ctx)
|
|
|
|
}
|
|
|
|
|
2019-10-14 14:21:37 +00:00
|
|
|
func (c *FullNodeStruct) SyncSubmitBlock(ctx context.Context, blk *types.BlockMsg) error {
|
|
|
|
return c.Internal.SyncSubmitBlock(ctx, blk)
|
|
|
|
}
|
|
|
|
|
2019-11-18 21:39:07 +00:00
|
|
|
func (c *FullNodeStruct) SyncIncomingBlocks(ctx context.Context) (<-chan *types.BlockHeader, error) {
|
|
|
|
return c.Internal.SyncIncomingBlocks(ctx)
|
|
|
|
}
|
|
|
|
|
2020-09-09 05:14:01 +00:00
|
|
|
func (c *FullNodeStruct) SyncCheckpoint(ctx context.Context, tsk types.TipSetKey) error {
|
|
|
|
return c.Internal.SyncCheckpoint(ctx, tsk)
|
|
|
|
}
|
|
|
|
|
2019-12-21 06:10:40 +00:00
|
|
|
func (c *FullNodeStruct) SyncMarkBad(ctx context.Context, bcid cid.Cid) error {
|
|
|
|
return c.Internal.SyncMarkBad(ctx, bcid)
|
|
|
|
}
|
|
|
|
|
2020-09-09 07:24:09 +00:00
|
|
|
func (c *FullNodeStruct) SyncUnmarkBad(ctx context.Context, bcid cid.Cid) error {
|
|
|
|
return c.Internal.SyncUnmarkBad(ctx, bcid)
|
|
|
|
}
|
|
|
|
|
2020-10-10 08:26:42 +00:00
|
|
|
func (c *FullNodeStruct) SyncUnmarkAllBad(ctx context.Context) error {
|
|
|
|
return c.Internal.SyncUnmarkAllBad(ctx)
|
|
|
|
}
|
|
|
|
|
2020-02-12 07:44:55 +00:00
|
|
|
func (c *FullNodeStruct) SyncCheckBad(ctx context.Context, bcid cid.Cid) (string, error) {
|
|
|
|
return c.Internal.SyncCheckBad(ctx, bcid)
|
|
|
|
}
|
|
|
|
|
2020-09-27 21:52:26 +00:00
|
|
|
func (c *FullNodeStruct) SyncValidateTipset(ctx context.Context, tsk types.TipSetKey) (bool, error) {
|
|
|
|
return c.Internal.SyncValidateTipset(ctx, tsk)
|
|
|
|
}
|
|
|
|
|
2020-03-31 23:13:37 +00:00
|
|
|
func (c *FullNodeStruct) StateNetworkName(ctx context.Context) (dtypes.NetworkName, error) {
|
|
|
|
return c.Internal.StateNetworkName(ctx)
|
|
|
|
}
|
|
|
|
|
2020-09-21 19:05:01 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerSectors(ctx context.Context, addr address.Address, sectorNos *bitfield.BitField, tsk types.TipSetKey) ([]*miner.SectorOnChainInfo, error) {
|
|
|
|
return c.Internal.StateMinerSectors(ctx, addr, sectorNos, tsk)
|
2019-08-07 06:35:57 +00:00
|
|
|
}
|
|
|
|
|
2020-09-21 19:05:01 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerActiveSectors(ctx context.Context, addr address.Address, tsk types.TipSetKey) ([]*miner.SectorOnChainInfo, error) {
|
2020-07-18 12:54:21 +00:00
|
|
|
return c.Internal.StateMinerActiveSectors(ctx, addr, tsk)
|
2020-04-15 20:40:46 +00:00
|
|
|
}
|
|
|
|
|
2020-09-10 06:30:47 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerProvingDeadline(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*dline.Info, error) {
|
2020-04-24 17:12:30 +00:00
|
|
|
return c.Internal.StateMinerProvingDeadline(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
2020-03-09 21:41:57 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerPower(ctx context.Context, a address.Address, tsk types.TipSetKey) (*api.MinerPower, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateMinerPower(ctx, a, tsk)
|
2019-08-21 16:31:14 +00:00
|
|
|
}
|
|
|
|
|
2020-09-15 19:09:39 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerInfo(ctx context.Context, actor address.Address, tsk types.TipSetKey) (miner.MinerInfo, error) {
|
2020-04-16 17:36:36 +00:00
|
|
|
return c.Internal.StateMinerInfo(ctx, actor, tsk)
|
2019-10-16 07:07:16 +00:00
|
|
|
}
|
|
|
|
|
2020-09-17 15:30:15 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerDeadlines(ctx context.Context, actor address.Address, tsk types.TipSetKey) ([]api.Deadline, error) {
|
2020-09-17 08:17:14 +00:00
|
|
|
return c.Internal.StateMinerDeadlines(ctx, actor, tsk)
|
2020-04-15 20:22:58 +00:00
|
|
|
}
|
|
|
|
|
2020-09-17 15:30:15 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerPartitions(ctx context.Context, m address.Address, dlIdx uint64, tsk types.TipSetKey) ([]api.Partition, error) {
|
2020-07-14 17:10:31 +00:00
|
|
|
return c.Internal.StateMinerPartitions(ctx, m, dlIdx, tsk)
|
|
|
|
}
|
|
|
|
|
2020-09-07 03:49:10 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerFaults(ctx context.Context, actor address.Address, tsk types.TipSetKey) (bitfield.BitField, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateMinerFaults(ctx, actor, tsk)
|
2020-01-30 00:50:58 +00:00
|
|
|
}
|
|
|
|
|
2020-05-21 20:28:59 +00:00
|
|
|
func (c *FullNodeStruct) StateAllMinerFaults(ctx context.Context, cutoff abi.ChainEpoch, endTsk types.TipSetKey) ([]*api.Fault, error) {
|
|
|
|
return c.Internal.StateAllMinerFaults(ctx, cutoff, endTsk)
|
2020-01-30 00:50:58 +00:00
|
|
|
}
|
|
|
|
|
2020-09-07 03:49:10 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerRecoveries(ctx context.Context, actor address.Address, tsk types.TipSetKey) (bitfield.BitField, error) {
|
2020-05-16 21:50:50 +00:00
|
|
|
return c.Internal.StateMinerRecoveries(ctx, actor, tsk)
|
|
|
|
}
|
|
|
|
|
2020-07-28 18:55:20 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerPreCommitDepositForPower(ctx context.Context, maddr address.Address, pci miner.SectorPreCommitInfo, tsk types.TipSetKey) (types.BigInt, error) {
|
|
|
|
return c.Internal.StateMinerPreCommitDepositForPower(ctx, maddr, pci, tsk)
|
|
|
|
}
|
|
|
|
|
2020-06-26 15:59:34 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerInitialPledgeCollateral(ctx context.Context, maddr address.Address, pci miner.SectorPreCommitInfo, tsk types.TipSetKey) (types.BigInt, error) {
|
|
|
|
return c.Internal.StateMinerInitialPledgeCollateral(ctx, maddr, pci, tsk)
|
2020-04-23 19:39:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) StateMinerAvailableBalance(ctx context.Context, maddr address.Address, tsk types.TipSetKey) (types.BigInt, error) {
|
|
|
|
return c.Internal.StateMinerAvailableBalance(ctx, maddr, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-13 19:35:29 +00:00
|
|
|
func (c *FullNodeStruct) StateMinerSectorAllocated(ctx context.Context, maddr address.Address, s abi.SectorNumber, tsk types.TipSetKey) (bool, error) {
|
|
|
|
return c.Internal.StateMinerSectorAllocated(ctx, maddr, s, tsk)
|
|
|
|
}
|
|
|
|
|
2020-04-04 02:55:19 +00:00
|
|
|
func (c *FullNodeStruct) StateSectorPreCommitInfo(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (miner.SectorPreCommitOnChainInfo, error) {
|
|
|
|
return c.Internal.StateSectorPreCommitInfo(ctx, maddr, n, tsk)
|
|
|
|
}
|
|
|
|
|
2020-05-28 00:06:29 +00:00
|
|
|
func (c *FullNodeStruct) StateSectorGetInfo(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorOnChainInfo, error) {
|
|
|
|
return c.Internal.StateSectorGetInfo(ctx, maddr, n, tsk)
|
|
|
|
}
|
|
|
|
|
2020-09-15 19:09:39 +00:00
|
|
|
func (c *FullNodeStruct) StateSectorExpiration(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorExpiration, error) {
|
2020-07-16 15:24:41 +00:00
|
|
|
return c.Internal.StateSectorExpiration(ctx, maddr, n, tsk)
|
|
|
|
}
|
|
|
|
|
2020-09-15 19:09:39 +00:00
|
|
|
func (c *FullNodeStruct) StateSectorPartition(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok types.TipSetKey) (*miner.SectorLocation, error) {
|
2020-07-14 12:32:17 +00:00
|
|
|
return c.Internal.StateSectorPartition(ctx, maddr, sectorNumber, tok)
|
|
|
|
}
|
|
|
|
|
2020-03-03 23:32:17 +00:00
|
|
|
func (c *FullNodeStruct) StateCall(ctx context.Context, msg *types.Message, tsk types.TipSetKey) (*api.InvocResult, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateCall(ctx, msg, tsk)
|
2019-09-06 06:26:02 +00:00
|
|
|
}
|
|
|
|
|
2020-03-03 23:32:17 +00:00
|
|
|
func (c *FullNodeStruct) StateReplay(ctx context.Context, tsk types.TipSetKey, mc cid.Cid) (*api.InvocResult, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateReplay(ctx, tsk, mc)
|
2019-09-19 20:25:18 +00:00
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) StateGetActor(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*types.Actor, error) {
|
|
|
|
return c.Internal.StateGetActor(ctx, actor, tsk)
|
2019-09-06 06:26:02 +00:00
|
|
|
}
|
|
|
|
|
2020-06-17 05:10:29 +00:00
|
|
|
func (c *FullNodeStruct) StateReadState(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*api.ActorState, error) {
|
|
|
|
return c.Internal.StateReadState(ctx, addr, tsk)
|
2019-09-06 06:26:02 +00:00
|
|
|
}
|
|
|
|
|
2020-06-03 21:42:06 +00:00
|
|
|
func (c *FullNodeStruct) StateWaitMsg(ctx context.Context, msgc cid.Cid, confidence uint64) (*api.MsgLookup, error) {
|
|
|
|
return c.Internal.StateWaitMsg(ctx, msgc, confidence)
|
2019-10-08 05:51:34 +00:00
|
|
|
}
|
2020-03-18 23:06:53 +00:00
|
|
|
|
2020-10-02 14:14:30 +00:00
|
|
|
func (c *FullNodeStruct) StateWaitMsgLimited(ctx context.Context, msgc cid.Cid, confidence uint64, limit abi.ChainEpoch) (*api.MsgLookup, error) {
|
|
|
|
return c.Internal.StateWaitMsgLimited(ctx, msgc, confidence, limit)
|
|
|
|
}
|
|
|
|
|
2020-03-18 23:06:53 +00:00
|
|
|
func (c *FullNodeStruct) StateSearchMsg(ctx context.Context, msgc cid.Cid) (*api.MsgLookup, error) {
|
|
|
|
return c.Internal.StateSearchMsg(ctx, msgc)
|
|
|
|
}
|
|
|
|
|
2021-01-19 10:19:31 +00:00
|
|
|
func (c *FullNodeStruct) StateSearchMsgLimited(ctx context.Context, msgc cid.Cid, limit abi.ChainEpoch) (*api.MsgLookup, error) {
|
|
|
|
return c.Internal.StateSearchMsgLimited(ctx, msgc, limit)
|
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error) {
|
|
|
|
return c.Internal.StateListMiners(ctx, tsk)
|
2019-10-12 06:45:48 +00:00
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) StateListActors(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error) {
|
|
|
|
return c.Internal.StateListActors(ctx, tsk)
|
2019-10-12 06:45:48 +00:00
|
|
|
}
|
2019-10-08 05:51:34 +00:00
|
|
|
|
2020-02-24 17:32:02 +00:00
|
|
|
func (c *FullNodeStruct) StateMarketBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MarketBalance, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateMarketBalance(ctx, addr, tsk)
|
2019-10-22 10:09:36 +00:00
|
|
|
}
|
|
|
|
|
2020-02-24 17:32:02 +00:00
|
|
|
func (c *FullNodeStruct) StateMarketParticipants(ctx context.Context, tsk types.TipSetKey) (map[string]api.MarketBalance, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateMarketParticipants(ctx, tsk)
|
2019-10-22 19:29:05 +00:00
|
|
|
}
|
|
|
|
|
2020-02-24 17:32:02 +00:00
|
|
|
func (c *FullNodeStruct) StateMarketDeals(ctx context.Context, tsk types.TipSetKey) (map[string]api.MarketDeal, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateMarketDeals(ctx, tsk)
|
2019-10-22 19:29:05 +00:00
|
|
|
}
|
|
|
|
|
2020-02-24 17:32:02 +00:00
|
|
|
func (c *FullNodeStruct) StateMarketStorageDeal(ctx context.Context, dealid abi.DealID, tsk types.TipSetKey) (*api.MarketDeal, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateMarketStorageDeal(ctx, dealid, tsk)
|
2019-11-07 07:57:10 +00:00
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) {
|
|
|
|
return c.Internal.StateLookupID(ctx, addr, tsk)
|
2019-11-15 16:39:43 +00:00
|
|
|
}
|
|
|
|
|
2020-04-16 20:38:42 +00:00
|
|
|
func (c *FullNodeStruct) StateAccountKey(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) {
|
|
|
|
return c.Internal.StateAccountKey(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
2019-11-15 18:38:09 +00:00
|
|
|
func (c *FullNodeStruct) StateChangedActors(ctx context.Context, olnstate cid.Cid, newstate cid.Cid) (map[string]types.Actor, error) {
|
|
|
|
return c.Internal.StateChangedActors(ctx, olnstate, newstate)
|
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) StateGetReceipt(ctx context.Context, msg cid.Cid, tsk types.TipSetKey) (*types.MessageReceipt, error) {
|
|
|
|
return c.Internal.StateGetReceipt(ctx, msg, tsk)
|
2019-11-19 21:27:25 +00:00
|
|
|
}
|
|
|
|
|
2020-10-15 15:54:36 +00:00
|
|
|
func (c *FullNodeStruct) StateListMessages(ctx context.Context, match *api.MessageMatch, tsk types.TipSetKey, toht abi.ChainEpoch) ([]cid.Cid, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateListMessages(ctx, match, tsk, toht)
|
2020-01-07 19:03:11 +00:00
|
|
|
}
|
|
|
|
|
2020-09-29 07:01:52 +00:00
|
|
|
func (c *FullNodeStruct) StateDecodeParams(ctx context.Context, toAddr address.Address, method abi.MethodNum, params []byte, tsk types.TipSetKey) (interface{}, error) {
|
|
|
|
return c.Internal.StateDecodeParams(ctx, toAddr, method, params, tsk)
|
|
|
|
}
|
|
|
|
|
2020-03-08 02:31:36 +00:00
|
|
|
func (c *FullNodeStruct) StateCompute(ctx context.Context, height abi.ChainEpoch, msgs []*types.Message, tsk types.TipSetKey) (*api.ComputeStateOutput, error) {
|
2020-02-11 23:29:45 +00:00
|
|
|
return c.Internal.StateCompute(ctx, height, msgs, tsk)
|
2020-01-17 02:33:43 +00:00
|
|
|
}
|
|
|
|
|
2020-10-01 07:14:59 +00:00
|
|
|
func (c *FullNodeStruct) StateVerifierStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error) {
|
|
|
|
return c.Internal.StateVerifierStatus(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
2020-09-17 15:30:15 +00:00
|
|
|
func (c *FullNodeStruct) StateVerifiedClientStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error) {
|
2020-07-02 15:57:10 +00:00
|
|
|
return c.Internal.StateVerifiedClientStatus(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-01 07:14:59 +00:00
|
|
|
func (c *FullNodeStruct) StateVerifiedRegistryRootKey(ctx context.Context, tsk types.TipSetKey) (address.Address, error) {
|
|
|
|
return c.Internal.StateVerifiedRegistryRootKey(ctx, tsk)
|
|
|
|
}
|
|
|
|
|
2020-07-30 12:31:31 +00:00
|
|
|
func (c *FullNodeStruct) StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (api.DealCollateralBounds, error) {
|
2020-07-30 04:55:37 +00:00
|
|
|
return c.Internal.StateDealProviderCollateralBounds(ctx, size, verified, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-11 22:17:28 +00:00
|
|
|
func (c *FullNodeStruct) StateCirculatingSupply(ctx context.Context, tsk types.TipSetKey) (abi.TokenAmount, error) {
|
2020-08-07 19:57:03 +00:00
|
|
|
return c.Internal.StateCirculatingSupply(ctx, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-12 20:41:27 +00:00
|
|
|
func (c *FullNodeStruct) StateVMCirculatingSupplyInternal(ctx context.Context, tsk types.TipSetKey) (api.CirculatingSupply, error) {
|
|
|
|
return c.Internal.StateVMCirculatingSupplyInternal(ctx, tsk)
|
2020-10-11 22:17:28 +00:00
|
|
|
}
|
|
|
|
|
2020-09-17 01:56:02 +00:00
|
|
|
func (c *FullNodeStruct) StateNetworkVersion(ctx context.Context, tsk types.TipSetKey) (stnetwork.Version, error) {
|
|
|
|
return c.Internal.StateNetworkVersion(ctx, tsk)
|
|
|
|
}
|
|
|
|
|
2020-02-11 23:29:45 +00:00
|
|
|
func (c *FullNodeStruct) MsigGetAvailableBalance(ctx context.Context, a address.Address, tsk types.TipSetKey) (types.BigInt, error) {
|
|
|
|
return c.Internal.MsigGetAvailableBalance(ctx, a, tsk)
|
2020-01-30 01:23:16 +00:00
|
|
|
}
|
|
|
|
|
2020-10-08 19:19:39 +00:00
|
|
|
func (c *FullNodeStruct) MsigGetVestingSchedule(ctx context.Context, a address.Address, tsk types.TipSetKey) (api.MsigVesting, error) {
|
|
|
|
return c.Internal.MsigGetVestingSchedule(ctx, a, tsk)
|
|
|
|
}
|
|
|
|
|
2020-09-06 00:29:26 +00:00
|
|
|
func (c *FullNodeStruct) MsigGetVested(ctx context.Context, a address.Address, sTsk types.TipSetKey, eTsk types.TipSetKey) (types.BigInt, error) {
|
|
|
|
return c.Internal.MsigGetVested(ctx, a, sTsk, eTsk)
|
|
|
|
}
|
|
|
|
|
2021-02-04 04:46:10 +00:00
|
|
|
func (c *FullNodeStruct) MsigGetPending(ctx context.Context, a address.Address, tsk types.TipSetKey) ([]*api.MsigTransaction, error) {
|
|
|
|
return c.Internal.MsigGetPending(ctx, a, tsk)
|
|
|
|
}
|
|
|
|
|
2020-07-13 11:34:52 +00:00
|
|
|
func (c *FullNodeStruct) MsigCreate(ctx context.Context, req uint64, addrs []address.Address, duration abi.ChainEpoch, val types.BigInt, src address.Address, gp types.BigInt) (cid.Cid, error) {
|
2020-07-10 20:52:04 +00:00
|
|
|
return c.Internal.MsigCreate(ctx, req, addrs, duration, val, src, gp)
|
2020-05-04 19:29:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MsigPropose(ctx context.Context, msig address.Address, to address.Address, amt types.BigInt, src address.Address, method uint64, params []byte) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigPropose(ctx, msig, to, amt, src, method, params)
|
|
|
|
}
|
|
|
|
|
2020-10-09 16:40:25 +00:00
|
|
|
func (c *FullNodeStruct) MsigApprove(ctx context.Context, msig address.Address, txID uint64, signer address.Address) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigApprove(ctx, msig, txID, signer)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MsigApproveTxnHash(ctx context.Context, msig address.Address, txID uint64, proposer address.Address, to address.Address, amt types.BigInt, src address.Address, method uint64, params []byte) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigApproveTxnHash(ctx, msig, txID, proposer, to, amt, src, method, params)
|
2020-05-04 19:29:26 +00:00
|
|
|
}
|
|
|
|
|
2020-07-12 03:54:25 +00:00
|
|
|
func (c *FullNodeStruct) MsigCancel(ctx context.Context, msig address.Address, txID uint64, to address.Address, amt types.BigInt, src address.Address, method uint64, params []byte) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigCancel(ctx, msig, txID, to, amt, src, method, params)
|
2020-05-04 19:29:26 +00:00
|
|
|
}
|
|
|
|
|
2020-09-06 05:52:30 +00:00
|
|
|
func (c *FullNodeStruct) MsigAddPropose(ctx context.Context, msig address.Address, src address.Address, newAdd address.Address, inc bool) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigAddPropose(ctx, msig, src, newAdd, inc)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MsigAddApprove(ctx context.Context, msig address.Address, src address.Address, txID uint64, proposer address.Address, newAdd address.Address, inc bool) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigAddApprove(ctx, msig, src, txID, proposer, newAdd, inc)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MsigAddCancel(ctx context.Context, msig address.Address, src address.Address, txID uint64, newAdd address.Address, inc bool) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigAddCancel(ctx, msig, src, txID, newAdd, inc)
|
|
|
|
}
|
|
|
|
|
2020-07-16 00:55:27 +00:00
|
|
|
func (c *FullNodeStruct) MsigSwapPropose(ctx context.Context, msig address.Address, src address.Address, oldAdd address.Address, newAdd address.Address) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigSwapPropose(ctx, msig, src, oldAdd, newAdd)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MsigSwapApprove(ctx context.Context, msig address.Address, src address.Address, txID uint64, proposer address.Address, oldAdd address.Address, newAdd address.Address) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigSwapApprove(ctx, msig, src, txID, proposer, oldAdd, newAdd)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MsigSwapCancel(ctx context.Context, msig address.Address, src address.Address, txID uint64, oldAdd address.Address, newAdd address.Address) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigSwapCancel(ctx, msig, src, txID, oldAdd, newAdd)
|
|
|
|
}
|
|
|
|
|
2020-10-09 16:40:25 +00:00
|
|
|
func (c *FullNodeStruct) MsigRemoveSigner(ctx context.Context, msig address.Address, proposer address.Address, toRemove address.Address, decrease bool) (cid.Cid, error) {
|
|
|
|
return c.Internal.MsigRemoveSigner(ctx, msig, proposer, toRemove, decrease)
|
|
|
|
}
|
|
|
|
|
2021-01-06 13:27:28 +00:00
|
|
|
func (c *FullNodeStruct) MarketAddBalance(ctx context.Context, wallet address.Address, addr address.Address, amt types.BigInt) (cid.Cid, error) {
|
|
|
|
return c.Internal.MarketAddBalance(ctx, wallet, addr, amt)
|
|
|
|
}
|
|
|
|
|
2021-01-07 08:35:30 +00:00
|
|
|
func (c *FullNodeStruct) MarketGetReserved(ctx context.Context, addr address.Address) (types.BigInt, error) {
|
|
|
|
return c.Internal.MarketGetReserved(ctx, addr)
|
|
|
|
}
|
|
|
|
|
2020-11-10 15:45:48 +00:00
|
|
|
func (c *FullNodeStruct) MarketReserveFunds(ctx context.Context, wallet address.Address, addr address.Address, amt types.BigInt) (cid.Cid, error) {
|
|
|
|
return c.Internal.MarketReserveFunds(ctx, wallet, addr, amt)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) MarketReleaseFunds(ctx context.Context, addr address.Address, amt types.BigInt) error {
|
|
|
|
return c.Internal.MarketReleaseFunds(ctx, addr, amt)
|
2019-11-08 17:15:38 +00:00
|
|
|
}
|
|
|
|
|
2020-12-03 20:47:26 +00:00
|
|
|
func (c *FullNodeStruct) MarketWithdraw(ctx context.Context, wallet, addr address.Address, amt types.BigInt) (cid.Cid, error) {
|
|
|
|
return c.Internal.MarketWithdraw(ctx, wallet, addr, amt)
|
|
|
|
}
|
|
|
|
|
2020-07-28 23:16:47 +00:00
|
|
|
func (c *FullNodeStruct) PaychGet(ctx context.Context, from, to address.Address, amt types.BigInt) (*api.ChannelInfo, error) {
|
|
|
|
return c.Internal.PaychGet(ctx, from, to, amt)
|
|
|
|
}
|
|
|
|
|
2020-08-12 20:29:44 +00:00
|
|
|
func (c *FullNodeStruct) PaychGetWaitReady(ctx context.Context, sentinel cid.Cid) (address.Address, error) {
|
2020-08-11 14:45:45 +00:00
|
|
|
return c.Internal.PaychGetWaitReady(ctx, sentinel)
|
2019-08-09 21:41:50 +00:00
|
|
|
}
|
|
|
|
|
2020-09-11 22:52:09 +00:00
|
|
|
func (c *FullNodeStruct) PaychAvailableFunds(ctx context.Context, ch address.Address) (*api.ChannelAvailableFunds, error) {
|
|
|
|
return c.Internal.PaychAvailableFunds(ctx, ch)
|
2020-09-04 11:44:09 +00:00
|
|
|
}
|
|
|
|
|
2020-09-11 22:52:09 +00:00
|
|
|
func (c *FullNodeStruct) PaychAvailableFundsByFromTo(ctx context.Context, from, to address.Address) (*api.ChannelAvailableFunds, error) {
|
|
|
|
return c.Internal.PaychAvailableFundsByFromTo(ctx, from, to)
|
2020-09-01 14:33:44 +00:00
|
|
|
}
|
|
|
|
|
2019-08-09 21:41:50 +00:00
|
|
|
func (c *FullNodeStruct) PaychList(ctx context.Context) ([]address.Address, error) {
|
|
|
|
return c.Internal.PaychList(ctx)
|
|
|
|
}
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *FullNodeStruct) PaychStatus(ctx context.Context, pch address.Address) (*api.PaychStatus, error) {
|
2019-08-09 21:41:50 +00:00
|
|
|
return c.Internal.PaychStatus(ctx, pch)
|
|
|
|
}
|
|
|
|
|
2020-02-25 21:09:22 +00:00
|
|
|
func (c *FullNodeStruct) PaychVoucherCheckValid(ctx context.Context, addr address.Address, sv *paych.SignedVoucher) error {
|
2019-08-12 17:09:56 +00:00
|
|
|
return c.Internal.PaychVoucherCheckValid(ctx, addr, sv)
|
2019-08-09 21:41:50 +00:00
|
|
|
}
|
|
|
|
|
2020-02-25 21:09:22 +00:00
|
|
|
func (c *FullNodeStruct) PaychVoucherCheckSpendable(ctx context.Context, addr address.Address, sv *paych.SignedVoucher, secret []byte, proof []byte) (bool, error) {
|
2019-08-12 17:09:56 +00:00
|
|
|
return c.Internal.PaychVoucherCheckSpendable(ctx, addr, sv, secret, proof)
|
|
|
|
}
|
|
|
|
|
2020-02-25 21:09:22 +00:00
|
|
|
func (c *FullNodeStruct) PaychVoucherAdd(ctx context.Context, addr address.Address, sv *paych.SignedVoucher, proof []byte, minDelta types.BigInt) (types.BigInt, error) {
|
2019-09-16 21:25:23 +00:00
|
|
|
return c.Internal.PaychVoucherAdd(ctx, addr, sv, proof, minDelta)
|
2019-08-09 21:41:50 +00:00
|
|
|
}
|
|
|
|
|
2020-09-01 14:33:44 +00:00
|
|
|
func (c *FullNodeStruct) PaychVoucherCreate(ctx context.Context, pch address.Address, amt types.BigInt, lane uint64) (*api.VoucherCreateResult, error) {
|
2019-08-09 21:41:50 +00:00
|
|
|
return c.Internal.PaychVoucherCreate(ctx, pch, amt, lane)
|
|
|
|
}
|
|
|
|
|
2020-02-25 21:09:22 +00:00
|
|
|
func (c *FullNodeStruct) PaychVoucherList(ctx context.Context, pch address.Address) ([]*paych.SignedVoucher, error) {
|
2019-08-09 21:41:50 +00:00
|
|
|
return c.Internal.PaychVoucherList(ctx, pch)
|
|
|
|
}
|
|
|
|
|
2020-07-18 03:07:02 +00:00
|
|
|
func (c *FullNodeStruct) PaychSettle(ctx context.Context, a address.Address) (cid.Cid, error) {
|
|
|
|
return c.Internal.PaychSettle(ctx, a)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *FullNodeStruct) PaychCollect(ctx context.Context, a address.Address) (cid.Cid, error) {
|
|
|
|
return c.Internal.PaychCollect(ctx, a)
|
2019-08-09 21:41:50 +00:00
|
|
|
}
|
|
|
|
|
2020-02-21 17:26:44 +00:00
|
|
|
func (c *FullNodeStruct) PaychAllocateLane(ctx context.Context, ch address.Address) (uint64, error) {
|
2019-09-16 13:46:05 +00:00
|
|
|
return c.Internal.PaychAllocateLane(ctx, ch)
|
|
|
|
}
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *FullNodeStruct) PaychNewPayment(ctx context.Context, from, to address.Address, vouchers []api.VoucherSpec) (*api.PaymentInfo, error) {
|
2019-09-24 21:13:47 +00:00
|
|
|
return c.Internal.PaychNewPayment(ctx, from, to, vouchers)
|
|
|
|
}
|
|
|
|
|
2020-08-20 16:09:52 +00:00
|
|
|
func (c *FullNodeStruct) PaychVoucherSubmit(ctx context.Context, ch address.Address, sv *paych.SignedVoucher, secret []byte, proof []byte) (cid.Cid, error) {
|
|
|
|
return c.Internal.PaychVoucherSubmit(ctx, ch, sv, secret, proof)
|
2019-08-13 04:27:54 +00:00
|
|
|
}
|
|
|
|
|
2020-10-01 15:14:08 +00:00
|
|
|
func (c *FullNodeStruct) CreateBackup(ctx context.Context, fpath string) error {
|
|
|
|
return c.Internal.CreateBackup(ctx, fpath)
|
|
|
|
}
|
2019-08-13 04:27:54 +00:00
|
|
|
|
2020-05-04 19:29:26 +00:00
|
|
|
// StorageMinerStruct
|
|
|
|
|
2019-10-14 02:32:32 +00:00
|
|
|
func (c *StorageMinerStruct) ActorAddress(ctx context.Context) (address.Address, error) {
|
|
|
|
return c.Internal.ActorAddress(ctx)
|
2019-08-10 01:54:45 +00:00
|
|
|
}
|
|
|
|
|
2020-04-23 21:12:42 +00:00
|
|
|
func (c *StorageMinerStruct) MiningBase(ctx context.Context) (*types.TipSet, error) {
|
|
|
|
return c.Internal.MiningBase(ctx)
|
|
|
|
}
|
|
|
|
|
2020-02-09 06:06:32 +00:00
|
|
|
func (c *StorageMinerStruct) ActorSectorSize(ctx context.Context, addr address.Address) (abi.SectorSize, error) {
|
2019-11-21 14:10:51 +00:00
|
|
|
return c.Internal.ActorSectorSize(ctx, addr)
|
|
|
|
}
|
|
|
|
|
2020-12-02 19:46:07 +00:00
|
|
|
func (c *StorageMinerStruct) ActorAddressConfig(ctx context.Context) (api.AddressConfig, error) {
|
|
|
|
return c.Internal.ActorAddressConfig(ctx)
|
|
|
|
}
|
|
|
|
|
2021-02-16 18:16:35 +00:00
|
|
|
func (c *StorageMinerStruct) PledgeSector(ctx context.Context) (abi.SectorID, error) {
|
2019-12-08 21:48:20 +00:00
|
|
|
return c.Internal.PledgeSector(ctx)
|
2019-07-27 01:54:03 +00:00
|
|
|
}
|
|
|
|
|
2019-07-27 21:08:10 +00:00
|
|
|
// Get the status of a given sector by ID
|
2020-07-24 08:04:04 +00:00
|
|
|
func (c *StorageMinerStruct) SectorsStatus(ctx context.Context, sid abi.SectorNumber, showOnChainInfo bool) (api.SectorInfo, error) {
|
|
|
|
return c.Internal.SectorsStatus(ctx, sid, showOnChainInfo)
|
2019-07-27 21:08:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// List all staged sectors
|
2020-02-09 06:06:32 +00:00
|
|
|
func (c *StorageMinerStruct) SectorsList(ctx context.Context) ([]abi.SectorNumber, error) {
|
2019-10-14 02:32:32 +00:00
|
|
|
return c.Internal.SectorsList(ctx)
|
2019-07-27 21:08:10 +00:00
|
|
|
}
|
|
|
|
|
2020-12-06 00:51:48 +00:00
|
|
|
func (c *StorageMinerStruct) SectorsListInStates(ctx context.Context, states []api.SectorState) ([]abi.SectorNumber, error) {
|
|
|
|
return c.Internal.SectorsListInStates(ctx, states)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) SectorsSummary(ctx context.Context) (map[api.SectorState]int, error) {
|
|
|
|
return c.Internal.SectorsSummary(ctx)
|
|
|
|
}
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
func (c *StorageMinerStruct) SectorsRefs(ctx context.Context) (map[string][]api.SealedRef, error) {
|
2019-08-26 10:04:57 +00:00
|
|
|
return c.Internal.SectorsRefs(ctx)
|
|
|
|
}
|
|
|
|
|
2020-06-26 15:28:05 +00:00
|
|
|
func (c *StorageMinerStruct) SectorStartSealing(ctx context.Context, number abi.SectorNumber) error {
|
|
|
|
return c.Internal.SectorStartSealing(ctx, number)
|
|
|
|
}
|
|
|
|
|
2020-07-06 18:39:26 +00:00
|
|
|
func (c *StorageMinerStruct) SectorSetSealDelay(ctx context.Context, delay time.Duration) error {
|
|
|
|
return c.Internal.SectorSetSealDelay(ctx, delay)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) SectorGetSealDelay(ctx context.Context) (time.Duration, error) {
|
|
|
|
return c.Internal.SectorGetSealDelay(ctx)
|
|
|
|
}
|
|
|
|
|
2020-07-12 17:54:53 +00:00
|
|
|
func (c *StorageMinerStruct) SectorSetExpectedSealDuration(ctx context.Context, delay time.Duration) error {
|
|
|
|
return c.Internal.SectorSetExpectedSealDuration(ctx, delay)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) SectorGetExpectedSealDuration(ctx context.Context) (time.Duration, error) {
|
|
|
|
return c.Internal.SectorGetExpectedSealDuration(ctx)
|
|
|
|
}
|
|
|
|
|
2020-04-23 22:33:59 +00:00
|
|
|
func (c *StorageMinerStruct) SectorsUpdate(ctx context.Context, id abi.SectorNumber, state api.SectorState) error {
|
2019-12-05 04:43:54 +00:00
|
|
|
return c.Internal.SectorsUpdate(ctx, id, state)
|
|
|
|
}
|
|
|
|
|
2020-06-22 17:35:14 +00:00
|
|
|
func (c *StorageMinerStruct) SectorRemove(ctx context.Context, number abi.SectorNumber) error {
|
|
|
|
return c.Internal.SectorRemove(ctx, number)
|
|
|
|
}
|
|
|
|
|
2021-01-12 23:42:01 +00:00
|
|
|
func (c *StorageMinerStruct) SectorTerminate(ctx context.Context, number abi.SectorNumber) error {
|
|
|
|
return c.Internal.SectorTerminate(ctx, number)
|
|
|
|
}
|
|
|
|
|
2021-01-13 22:32:04 +00:00
|
|
|
func (c *StorageMinerStruct) SectorTerminateFlush(ctx context.Context) (*cid.Cid, error) {
|
|
|
|
return c.Internal.SectorTerminateFlush(ctx)
|
|
|
|
}
|
|
|
|
|
2021-01-14 11:37:23 +00:00
|
|
|
func (c *StorageMinerStruct) SectorTerminatePending(ctx context.Context) ([]abi.SectorID, error) {
|
|
|
|
return c.Internal.SectorTerminatePending(ctx)
|
|
|
|
}
|
|
|
|
|
2020-07-01 14:49:17 +00:00
|
|
|
func (c *StorageMinerStruct) SectorMarkForUpgrade(ctx context.Context, number abi.SectorNumber) error {
|
|
|
|
return c.Internal.SectorMarkForUpgrade(ctx, number)
|
|
|
|
}
|
|
|
|
|
2020-03-11 01:57:52 +00:00
|
|
|
func (c *StorageMinerStruct) WorkerConnect(ctx context.Context, url string) error {
|
|
|
|
return c.Internal.WorkerConnect(ctx, url)
|
|
|
|
}
|
|
|
|
|
2020-10-18 10:35:44 +00:00
|
|
|
func (c *StorageMinerStruct) WorkerStats(ctx context.Context) (map[uuid.UUID]storiface.WorkerStats, error) {
|
2020-03-23 14:56:22 +00:00
|
|
|
return c.Internal.WorkerStats(ctx)
|
|
|
|
}
|
|
|
|
|
2020-10-18 10:35:44 +00:00
|
|
|
func (c *StorageMinerStruct) WorkerJobs(ctx context.Context) (map[uuid.UUID][]storiface.WorkerJob, error) {
|
2020-07-21 18:07:49 +00:00
|
|
|
return c.Internal.WorkerJobs(ctx)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnAddPiece(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnAddPiece(ctx, callID, pi, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnSealPreCommit1(ctx context.Context, callID storiface.CallID, p1o storage.PreCommit1Out, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnSealPreCommit1(ctx, callID, p1o, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnSealPreCommit2(ctx context.Context, callID storiface.CallID, sealed storage.SectorCids, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnSealPreCommit2(ctx, callID, sealed, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnSealCommit1(ctx context.Context, callID storiface.CallID, out storage.Commit1Out, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnSealCommit1(ctx, callID, out, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnSealCommit2(ctx context.Context, callID storiface.CallID, proof storage.Proof, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnSealCommit2(ctx, callID, proof, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnFinalizeSector(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnFinalizeSector(ctx, callID, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnReleaseUnsealed(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnReleaseUnsealed(ctx, callID, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnMoveStorage(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnMoveStorage(ctx, callID, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnUnsealPiece(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnUnsealPiece(ctx, callID, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnReadPiece(ctx context.Context, callID storiface.CallID, ok bool, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnReadPiece(ctx, callID, ok, err)
|
|
|
|
}
|
|
|
|
|
2020-11-17 15:17:45 +00:00
|
|
|
func (c *StorageMinerStruct) ReturnFetch(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error {
|
2020-09-06 16:47:16 +00:00
|
|
|
return c.Internal.ReturnFetch(ctx, callID, err)
|
|
|
|
}
|
|
|
|
|
2020-10-30 10:07:35 +00:00
|
|
|
func (c *StorageMinerStruct) SealingSchedDiag(ctx context.Context, doSched bool) (interface{}, error) {
|
|
|
|
return c.Internal.SealingSchedDiag(ctx, doSched)
|
2020-07-27 11:23:43 +00:00
|
|
|
}
|
|
|
|
|
2020-11-11 16:39:12 +00:00
|
|
|
func (c *StorageMinerStruct) SealingAbort(ctx context.Context, call storiface.CallID) error {
|
|
|
|
return c.Internal.SealingAbort(ctx, call)
|
|
|
|
}
|
|
|
|
|
2020-07-08 15:23:27 +00:00
|
|
|
func (c *StorageMinerStruct) StorageAttach(ctx context.Context, si stores.StorageInfo, st fsutil.FsStat) error {
|
2020-03-19 15:10:19 +00:00
|
|
|
return c.Internal.StorageAttach(ctx, si, st)
|
2020-03-11 01:57:52 +00:00
|
|
|
}
|
2019-11-08 18:15:13 +00:00
|
|
|
|
2020-09-06 16:54:00 +00:00
|
|
|
func (c *StorageMinerStruct) StorageDeclareSector(ctx context.Context, storageId stores.ID, s abi.SectorID, ft storiface.SectorFileType, primary bool) error {
|
2020-05-26 08:20:32 +00:00
|
|
|
return c.Internal.StorageDeclareSector(ctx, storageId, s, ft, primary)
|
2019-11-21 00:52:59 +00:00
|
|
|
}
|
|
|
|
|
2020-09-06 16:54:00 +00:00
|
|
|
func (c *StorageMinerStruct) StorageDropSector(ctx context.Context, storageId stores.ID, s abi.SectorID, ft storiface.SectorFileType) error {
|
2020-03-22 04:27:28 +00:00
|
|
|
return c.Internal.StorageDropSector(ctx, storageId, s, ft)
|
|
|
|
}
|
|
|
|
|
2020-10-23 21:24:50 +00:00
|
|
|
func (c *StorageMinerStruct) StorageFindSector(ctx context.Context, si abi.SectorID, types storiface.SectorFileType, ssize abi.SectorSize, allowFetch bool) ([]stores.SectorStorageInfo, error) {
|
2020-10-21 01:30:56 +00:00
|
|
|
return c.Internal.StorageFindSector(ctx, si, types, ssize, allowFetch)
|
2020-03-11 01:57:52 +00:00
|
|
|
}
|
2019-11-21 00:52:59 +00:00
|
|
|
|
2020-03-16 17:50:07 +00:00
|
|
|
func (c *StorageMinerStruct) StorageList(ctx context.Context) (map[stores.ID][]stores.Decl, error) {
|
|
|
|
return c.Internal.StorageList(ctx)
|
|
|
|
}
|
|
|
|
|
2020-03-19 19:51:33 +00:00
|
|
|
func (c *StorageMinerStruct) StorageLocal(ctx context.Context) (map[stores.ID]string, error) {
|
|
|
|
return c.Internal.StorageLocal(ctx)
|
|
|
|
}
|
|
|
|
|
2020-07-08 15:23:27 +00:00
|
|
|
func (c *StorageMinerStruct) StorageStat(ctx context.Context, id stores.ID) (fsutil.FsStat, error) {
|
2020-03-23 22:43:38 +00:00
|
|
|
return c.Internal.StorageStat(ctx, id)
|
|
|
|
}
|
|
|
|
|
2020-03-16 17:50:07 +00:00
|
|
|
func (c *StorageMinerStruct) StorageInfo(ctx context.Context, id stores.ID) (stores.StorageInfo, error) {
|
|
|
|
return c.Internal.StorageInfo(ctx, id)
|
|
|
|
}
|
|
|
|
|
2020-10-23 21:24:50 +00:00
|
|
|
func (c *StorageMinerStruct) StorageBestAlloc(ctx context.Context, allocate storiface.SectorFileType, ssize abi.SectorSize, pt storiface.PathType) ([]stores.StorageInfo, error) {
|
2020-10-21 01:30:56 +00:00
|
|
|
return c.Internal.StorageBestAlloc(ctx, allocate, ssize, pt)
|
2020-05-08 18:46:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) StorageReportHealth(ctx context.Context, id stores.ID, report stores.HealthReport) error {
|
|
|
|
return c.Internal.StorageReportHealth(ctx, id, report)
|
2020-03-19 15:10:19 +00:00
|
|
|
}
|
|
|
|
|
2020-09-06 16:54:00 +00:00
|
|
|
func (c *StorageMinerStruct) StorageLock(ctx context.Context, sector abi.SectorID, read storiface.SectorFileType, write storiface.SectorFileType) error {
|
2020-06-04 13:54:54 +00:00
|
|
|
return c.Internal.StorageLock(ctx, sector, read, write)
|
|
|
|
}
|
|
|
|
|
2020-09-06 16:54:00 +00:00
|
|
|
func (c *StorageMinerStruct) StorageTryLock(ctx context.Context, sector abi.SectorID, read storiface.SectorFileType, write storiface.SectorFileType) (bool, error) {
|
2020-06-08 18:20:58 +00:00
|
|
|
return c.Internal.StorageTryLock(ctx, sector, read, write)
|
|
|
|
}
|
|
|
|
|
2020-02-08 00:18:14 +00:00
|
|
|
func (c *StorageMinerStruct) MarketImportDealData(ctx context.Context, propcid cid.Cid, path string) error {
|
|
|
|
return c.Internal.MarketImportDealData(ctx, propcid, path)
|
|
|
|
}
|
|
|
|
|
2020-09-17 07:32:10 +00:00
|
|
|
func (c *StorageMinerStruct) MarketListDeals(ctx context.Context) ([]api.MarketDeal, error) {
|
2020-02-08 00:18:14 +00:00
|
|
|
return c.Internal.MarketListDeals(ctx)
|
|
|
|
}
|
|
|
|
|
2020-08-04 23:40:29 +00:00
|
|
|
func (c *StorageMinerStruct) MarketListRetrievalDeals(ctx context.Context) ([]retrievalmarket.ProviderDealState, error) {
|
|
|
|
return c.Internal.MarketListRetrievalDeals(ctx)
|
|
|
|
}
|
|
|
|
|
2020-09-02 17:58:44 +00:00
|
|
|
func (c *StorageMinerStruct) MarketGetDealUpdates(ctx context.Context) (<-chan storagemarket.MinerDeal, error) {
|
|
|
|
return c.Internal.MarketGetDealUpdates(ctx)
|
2020-08-06 20:16:55 +00:00
|
|
|
}
|
|
|
|
|
2020-02-08 00:18:14 +00:00
|
|
|
func (c *StorageMinerStruct) MarketListIncompleteDeals(ctx context.Context) ([]storagemarket.MinerDeal, error) {
|
|
|
|
return c.Internal.MarketListIncompleteDeals(ctx)
|
|
|
|
}
|
|
|
|
|
2020-07-31 19:14:48 +00:00
|
|
|
func (c *StorageMinerStruct) MarketSetAsk(ctx context.Context, price types.BigInt, verifiedPrice types.BigInt, duration abi.ChainEpoch, minPieceSize abi.PaddedPieceSize, maxPieceSize abi.PaddedPieceSize) error {
|
|
|
|
return c.Internal.MarketSetAsk(ctx, price, verifiedPrice, duration, minPieceSize, maxPieceSize)
|
2020-02-08 00:18:14 +00:00
|
|
|
}
|
|
|
|
|
2020-06-17 00:18:54 +00:00
|
|
|
func (c *StorageMinerStruct) MarketGetAsk(ctx context.Context) (*storagemarket.SignedStorageAsk, error) {
|
|
|
|
return c.Internal.MarketGetAsk(ctx)
|
2020-02-08 00:18:14 +00:00
|
|
|
}
|
|
|
|
|
2020-07-28 21:35:23 +00:00
|
|
|
func (c *StorageMinerStruct) MarketSetRetrievalAsk(ctx context.Context, rask *retrievalmarket.Ask) error {
|
|
|
|
return c.Internal.MarketSetRetrievalAsk(ctx, rask)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) MarketGetRetrievalAsk(ctx context.Context) (*retrievalmarket.Ask, error) {
|
|
|
|
return c.Internal.MarketGetRetrievalAsk(ctx)
|
|
|
|
}
|
|
|
|
|
2020-08-20 08:18:05 +00:00
|
|
|
func (c *StorageMinerStruct) MarketListDataTransfers(ctx context.Context) ([]api.DataTransferChannel, error) {
|
|
|
|
return c.Internal.MarketListDataTransfers(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) MarketDataTransferUpdates(ctx context.Context) (<-chan api.DataTransferChannel, error) {
|
|
|
|
return c.Internal.MarketDataTransferUpdates(ctx)
|
|
|
|
}
|
|
|
|
|
2020-10-22 20:40:26 +00:00
|
|
|
func (c *StorageMinerStruct) MarketRestartDataTransfer(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error {
|
|
|
|
return c.Internal.MarketRestartDataTransfer(ctx, transferID, otherPeer, isInitiator)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) MarketCancelDataTransfer(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error {
|
|
|
|
return c.Internal.MarketCancelDataTransfer(ctx, transferID, otherPeer, isInitiator)
|
|
|
|
}
|
|
|
|
|
2021-02-05 17:58:55 +00:00
|
|
|
func (c *StorageMinerStruct) MarketPendingDeals(ctx context.Context) (api.PendingDealInfo, error) {
|
|
|
|
return c.Internal.MarketPendingDeals(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) MarketPublishPendingDeals(ctx context.Context) error {
|
|
|
|
return c.Internal.MarketPublishPendingDeals(ctx)
|
|
|
|
}
|
|
|
|
|
2020-03-04 02:49:00 +00:00
|
|
|
func (c *StorageMinerStruct) DealsImportData(ctx context.Context, dealPropCid cid.Cid, file string) error {
|
|
|
|
return c.Internal.DealsImportData(ctx, dealPropCid, file)
|
|
|
|
}
|
|
|
|
|
2020-09-17 07:32:10 +00:00
|
|
|
func (c *StorageMinerStruct) DealsList(ctx context.Context) ([]api.MarketDeal, error) {
|
2020-03-04 02:49:00 +00:00
|
|
|
return c.Internal.DealsList(ctx)
|
|
|
|
}
|
|
|
|
|
2020-06-26 17:50:54 +00:00
|
|
|
func (c *StorageMinerStruct) DealsConsiderOnlineStorageDeals(ctx context.Context) (bool, error) {
|
|
|
|
return c.Internal.DealsConsiderOnlineStorageDeals(ctx)
|
2020-06-11 19:59:50 +00:00
|
|
|
}
|
|
|
|
|
2020-06-26 17:50:54 +00:00
|
|
|
func (c *StorageMinerStruct) DealsSetConsiderOnlineStorageDeals(ctx context.Context, b bool) error {
|
|
|
|
return c.Internal.DealsSetConsiderOnlineStorageDeals(ctx, b)
|
2020-06-11 19:59:50 +00:00
|
|
|
}
|
|
|
|
|
2020-06-26 17:50:54 +00:00
|
|
|
func (c *StorageMinerStruct) DealsConsiderOnlineRetrievalDeals(ctx context.Context) (bool, error) {
|
|
|
|
return c.Internal.DealsConsiderOnlineRetrievalDeals(ctx)
|
2020-06-26 17:33:06 +00:00
|
|
|
}
|
|
|
|
|
2020-06-26 17:50:54 +00:00
|
|
|
func (c *StorageMinerStruct) DealsSetConsiderOnlineRetrievalDeals(ctx context.Context, b bool) error {
|
|
|
|
return c.Internal.DealsSetConsiderOnlineRetrievalDeals(ctx, b)
|
2020-06-23 17:17:31 +00:00
|
|
|
}
|
|
|
|
|
2020-06-18 22:42:24 +00:00
|
|
|
func (c *StorageMinerStruct) DealsPieceCidBlocklist(ctx context.Context) ([]cid.Cid, error) {
|
|
|
|
return c.Internal.DealsPieceCidBlocklist(ctx)
|
2020-06-18 20:15:18 +00:00
|
|
|
}
|
|
|
|
|
2020-06-18 22:42:24 +00:00
|
|
|
func (c *StorageMinerStruct) DealsSetPieceCidBlocklist(ctx context.Context, cids []cid.Cid) error {
|
|
|
|
return c.Internal.DealsSetPieceCidBlocklist(ctx, cids)
|
2020-06-18 20:15:18 +00:00
|
|
|
}
|
|
|
|
|
2020-06-26 19:27:41 +00:00
|
|
|
func (c *StorageMinerStruct) DealsConsiderOfflineStorageDeals(ctx context.Context) (bool, error) {
|
|
|
|
return c.Internal.DealsConsiderOfflineStorageDeals(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) DealsSetConsiderOfflineStorageDeals(ctx context.Context, b bool) error {
|
|
|
|
return c.Internal.DealsSetConsiderOfflineStorageDeals(ctx, b)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) DealsConsiderOfflineRetrievalDeals(ctx context.Context) (bool, error) {
|
|
|
|
return c.Internal.DealsConsiderOfflineRetrievalDeals(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) DealsSetConsiderOfflineRetrievalDeals(ctx context.Context, b bool) error {
|
|
|
|
return c.Internal.DealsSetConsiderOfflineRetrievalDeals(ctx, b)
|
|
|
|
}
|
|
|
|
|
2020-12-02 06:21:29 +00:00
|
|
|
func (c *StorageMinerStruct) DealsConsiderVerifiedStorageDeals(ctx context.Context) (bool, error) {
|
|
|
|
return c.Internal.DealsConsiderVerifiedStorageDeals(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) DealsSetConsiderVerifiedStorageDeals(ctx context.Context, b bool) error {
|
|
|
|
return c.Internal.DealsSetConsiderVerifiedStorageDeals(ctx, b)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) DealsConsiderUnverifiedStorageDeals(ctx context.Context) (bool, error) {
|
|
|
|
return c.Internal.DealsConsiderUnverifiedStorageDeals(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) DealsSetConsiderUnverifiedStorageDeals(ctx context.Context, b bool) error {
|
|
|
|
return c.Internal.DealsSetConsiderUnverifiedStorageDeals(ctx, b)
|
|
|
|
}
|
|
|
|
|
2020-03-05 22:02:01 +00:00
|
|
|
func (c *StorageMinerStruct) StorageAddLocal(ctx context.Context, path string) error {
|
|
|
|
return c.Internal.StorageAddLocal(ctx, path)
|
|
|
|
}
|
|
|
|
|
2020-07-27 17:59:30 +00:00
|
|
|
func (c *StorageMinerStruct) PiecesListPieces(ctx context.Context) ([]cid.Cid, error) {
|
|
|
|
return c.Internal.PiecesListPieces(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) PiecesListCidInfos(ctx context.Context) ([]cid.Cid, error) {
|
|
|
|
return c.Internal.PiecesListCidInfos(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) PiecesGetPieceInfo(ctx context.Context, pieceCid cid.Cid) (*piecestore.PieceInfo, error) {
|
|
|
|
return c.Internal.PiecesGetPieceInfo(ctx, pieceCid)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *StorageMinerStruct) PiecesGetCIDInfo(ctx context.Context, payloadCid cid.Cid) (*piecestore.CIDInfo, error) {
|
|
|
|
return c.Internal.PiecesGetCIDInfo(ctx, payloadCid)
|
|
|
|
}
|
|
|
|
|
2020-10-01 11:58:26 +00:00
|
|
|
func (c *StorageMinerStruct) CreateBackup(ctx context.Context, fpath string) error {
|
|
|
|
return c.Internal.CreateBackup(ctx, fpath)
|
|
|
|
}
|
|
|
|
|
2020-12-01 23:32:01 +00:00
|
|
|
func (c *StorageMinerStruct) CheckProvable(ctx context.Context, pp abi.RegisteredPoStProof, sectors []storage.SectorRef, expensive bool) (map[abi.SectorNumber]string, error) {
|
|
|
|
return c.Internal.CheckProvable(ctx, pp, sectors, expensive)
|
2020-11-26 07:02:43 +00:00
|
|
|
}
|
|
|
|
|
OpenRPC Support (#5843)
* main: init implement rpc.Discover RPC method
This implement the basic functionality for the method
over HTTP RPC.
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init example with go-openrpc-reflect lib
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* main: make variable name human-friendly
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init impl of go-openrp-reflect printing document
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* go.mod,go.sum: use go-openrpc-reflect and open-rpc/meta-schema hackforks
This is for development only.
Versions need to be bumped when they're ready for use
as canonical remotes.
Signed-off-by: meows <b5c6@protonmail.com>
* main,openrpc,main: refactor openrpc supporting code to own package
This eliminates code duplication.
Signed-off-by: meows <b5c6@protonmail.com>
* main: add rpc.Discover to openrpc document
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: fix rpc.discover method name casing
Also fixes casing stuff for the rest of Filecoin.
methods.
Signed-off-by: meows <b5c6@protonmail.com>
* Revert "main: add rpc.Discover to openrpc document"
This reverts commit 116898efb10f33e405ac74acb1aa6daefcd46a62.
* main: fix document creation method name
This fixes an issue caused with the latest reverting
commit.
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen,openrpc: refactor to share api parsing, etc as docgen exported stuff
Signed-off-by: meows <b5c6@protonmail.com>
Makefile: fix docgen refactoring for makefile use of command
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: add schema.examples to app reflector
There are quite of few of these already registered
for the docgen command, so it makes sense to use
those!
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init method pairing examples
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump go.mod to use latest meta-schema and openrpc-reflect versions
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init SchemaType mapper function
This function will handle the manual configurations
for app-specific data types w/r/t their json schema
representation.
This is useful for cases where the reflect library
is unable to provide a sufficient representation
automatically.
Provided in this commit is an initial implementation
for the integerD type (assuming number are represented
in the API as hexs), and a commonly used cid.Cid type.
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: tame dependencies by bumping etclabscore/go-openrpc-reflect
This removes a problematic dependency
on github.com/ethereum/go-ethereum, which was
imported as a dependency for a couple github.com/etclabscore/go-openrpc-reflect
tests.
etclabscore/go-openrpc-reflect v0.0.36 has removed this
dependency, so this commit is the result of bumping
that version and then running 'go mod tidy'
This is in response to a review at
https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
Date: 2020-11-21 06:52:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: add 'miner' arg to openrpc gen cmd
This allows the command to EITHER
generate the doc for Full or Miner APIs.
See comment for usage.
Date: 2020-11-21 07:48:05-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen: add missing examples for Miner API
Generating the Miner API OpenRPC doc
(via 'go run ./api/openrpc/cmd miner') caused
the example logic to panic because some types
were missing.
This commit adds those missing types, although
I'm not an expert in the API so I can't
suggest that the example values provided are
ideal or well representative.
Date: 2020-11-21 07:50:21-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json,build/openrpc/miner.json: add build/openrpc/[full/miner].json docs
These will be used as static documents
provided by the rpc.discover method.
Date: 2020-11-21 07:51:39-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: init go-rice openrpc static assets
Date: 2020-11-21 08:23:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: remove rpc.discover implementation from runtime plugin
Instead of generating the doc on the fly,
we're going to serve a static asset.
Rel https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
This removes the runtime implementation from the
RPC server construction.
Date: 2020-11-21 08:41:20-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,common: add Discover(ctx) method to CommonAPI interface and structs
Date: 2020-11-21 08:41:56-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: use rpc server method aliasing for rpc.discover
This depends on a currently-forked change at
filecoin-project/go-jsonrpc 8350f9463ee451b187d35c492e32f1b999e80210
which establishes this new method RPCServer.AliasMethod.
This solves the problem that the OpenRPC
spec says that the document should be served
at the system extension-prefixed endpoing
rpc.discover (not Filecoin.Discover).
In fact, the document will be available at BOTH
endpoints, but that duplicity is harmless.
Date: 2020-11-21 09:18:26-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,build,common: rpc.discover: return json object instead of string
Instead of casting the JSON asset from bytes to string,
unmarshal it to a map[string]interface{} so the
server will provide it as a JSON object.
Date: 2020-11-21 09:27:11-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile: merge resolve: docsgen command path
Date: 2020-11-22 07:19:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,main,docgen,openrpc: merge resolve: fix func exporteds, signatures
Date: 2020-11-22 07:31:03-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: 'get get' auto-bumps version
Date: 2020-11-22 07:31:44-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,docgen,main,build/openrpc: refactor openrpc documentation generation
This creates Makefile command docsgen-openrpc-json,
and refactors the docsgen command to generate both
the markdown and openrpc json documents, redirecting
the output of the openrpc json documentation to
the build/openrpc/ directory, where those json
files will be compiled as static assets via go-rice
boxes.
The api/openrpc/cmd now uses usage argumentation
congruent to that of the docgen command (switching
on API context).
Date: 2020-11-22 08:01:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc: rename api/openrpc -> api/docgen-openrpc
Renames the package as well.
This is intended to parallel the
existing docgen package and command
namespacing.
Date: 2020-11-22 10:34:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,docgen,build,build/openrpc: use typed Discover response
Instead of using a map[string]interface{}, use
a typed response for the Discover method implementation.
This avoids having to set a docgen Example for
the generic map[string]interface{} (as an openrpc document)
which both pollutes the generic type and lacks
useful information for the Discover method example.
Date: 2020-11-22 08:31:16-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,build,main,impl: implement Discover method for Worker and StorageMiner APIs
Methods return static compiled assets respective
to the APIs.
Date: 2020-11-22 08:57:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen_openrpc,build/openrpc: remove timestamping from openrpc doc info
This should allow openrpc docs generated at different
times to be equal. This is important because the CI
(Circle) runs the docgen command and tests that
the output and the source are unchanged (via git diff).
Date: 2020-11-22 10:47:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc,main,build: fix lint issues
Fixes goimports, staticcheck, golint issues.
Date: 2020-11-22 11:06:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: fix: don't use an underscore in package name (golint)
Date: 2020-11-22 11:07:53-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: fix: mod-tidy-check (run 'go mod tidy')
Date: 2020-11-22 11:09:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc dep to latest
This version includes the necessary RPCServer.AliasMethod
method.
Date: 2020-11-23 12:16:15-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,main,build,build/openrpc: init gzipped openrpc static docs
Date: 2020-11-24 06:15:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: refactor gzip reading
Date: 2020-11-24 06:18:34-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: add basic test for openrpc doc from static assets
Date: 2020-11-24 06:30:23-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: handle reader Close error
This keeps the errcheck linter happy.
Date: 2020-11-24 06:33:14-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: run 'go mod tidy'
Date: 2020-11-24 06:36:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: go mod tidy
Tidying up after resolving the merge conflicts
with master at go.mod
Date: 2020-11-24 06:40:45-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc to latest
This is a repeat of 76e6fd2, since the latest merge
to master seems to have reverted this.
Date: 2020-11-24 06:42:30-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc,build/openrpc: remove method example pairings, improve schema examples
Removing method example pairings since they were
redundant to schema examples and were not
implemented well.
Improved schema examples by using the ExampleValue
method instead of the map lookup.
Made a note in the comment here that this is
not ideal, since we have to make a shortcut assumption
/workaround by using 'unknown' as the method name
and the typea as its own parent.
Luckily these values aren't heavily used by the
method logic.
Date: 2020-11-27 12:57:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: use generic number jsonschema for number types
Previously used an integer schema assuming
hex encoding. It appears, based on review some
of the examples, that this may not be the case.
Obvioussly this schema could be more descriptive,
but just shooting for mostly likely to be
not wrong at this point.
Date: 2020-12-15 14:44:37-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* cmd/lotus,go.mod,go.sum: maybe fix straggling merge resolution conflicts
Date: 2021-01-19 12:30:42-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json.gz,build/openrpc/miner.json.gz,build/openrpc/worker.json.gz: run 'make docsgen'
Date: 2021-01-19 12:33:55-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/apistruct,node/impl: (lint) gofmt
Date: 2021-01-19 12:39:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: maybe fix parse error: open ./api: no such file or directory
Date: 2021-01-19 12:52:04-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen,build/openrpc: maybe fix no such file error and run 'make docsgen'
Date: 2021-01-19 12:55:52-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: return if AST comment/groupdoc parsing encounters any error
This will returns empty comments/docs maps.
This should fix issues like:
https://app.circleci.com/pipelines/github/filecoin-project/lotus/12445/workflows/4ebadce9-a298-4ad1-939b-f19ef4c0a5bf/jobs/107218
where the environment makes file lookups hard or
impossible.
Date: 2021-01-19 13:04:58-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api: Don't depend on build/
* make: support parallel docsgen
* openrpc gen: Use simple build version
* methodgen
* goimports
Co-authored-by: meows <b5c6@protonmail.com>
2021-03-19 18:22:46 +00:00
|
|
|
func (c *StorageMinerStruct) Discover(ctx context.Context) (apitypes.OpenRPCDocument, error) {
|
|
|
|
return c.Internal.Discover(ctx)
|
|
|
|
}
|
|
|
|
|
2020-05-04 19:29:26 +00:00
|
|
|
// WorkerStruct
|
|
|
|
|
2021-03-05 21:01:20 +00:00
|
|
|
func (w *WorkerStruct) Version(ctx context.Context) (api.Version, error) {
|
2020-03-11 01:57:52 +00:00
|
|
|
return w.Internal.Version(ctx)
|
|
|
|
}
|
|
|
|
|
2020-03-23 11:40:02 +00:00
|
|
|
func (w *WorkerStruct) TaskTypes(ctx context.Context) (map[sealtasks.TaskType]struct{}, error) {
|
2020-03-11 01:57:52 +00:00
|
|
|
return w.Internal.TaskTypes(ctx)
|
|
|
|
}
|
|
|
|
|
2020-03-13 11:59:19 +00:00
|
|
|
func (w *WorkerStruct) Paths(ctx context.Context) ([]stores.StoragePath, error) {
|
2020-03-11 05:49:17 +00:00
|
|
|
return w.Internal.Paths(ctx)
|
|
|
|
}
|
|
|
|
|
2020-04-23 22:23:20 +00:00
|
|
|
func (w *WorkerStruct) Info(ctx context.Context) (storiface.WorkerInfo, error) {
|
2020-03-20 22:30:17 +00:00
|
|
|
return w.Internal.Info(ctx)
|
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) AddPiece(ctx context.Context, sector storage.SectorRef, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) {
|
2020-08-14 14:06:53 +00:00
|
|
|
return w.Internal.AddPiece(ctx, sector, pieceSizes, newPieceSize, pieceData)
|
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) SealPreCommit1(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, pieces []abi.PieceInfo) (storiface.CallID, error) {
|
2020-03-17 20:19:52 +00:00
|
|
|
return w.Internal.SealPreCommit1(ctx, sector, ticket, pieces)
|
2020-03-11 01:57:52 +00:00
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) SealPreCommit2(ctx context.Context, sector storage.SectorRef, pc1o storage.PreCommit1Out) (storiface.CallID, error) {
|
2020-09-06 16:47:16 +00:00
|
|
|
return w.Internal.SealPreCommit2(ctx, sector, pc1o)
|
2020-03-11 01:57:52 +00:00
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) SealCommit1(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, seed abi.InteractiveSealRandomness, pieces []abi.PieceInfo, cids storage.SectorCids) (storiface.CallID, error) {
|
2020-03-17 20:19:52 +00:00
|
|
|
return w.Internal.SealCommit1(ctx, sector, ticket, seed, pieces, cids)
|
2020-03-11 01:57:52 +00:00
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) SealCommit2(ctx context.Context, sector storage.SectorRef, c1o storage.Commit1Out) (storiface.CallID, error) {
|
2020-03-17 20:19:52 +00:00
|
|
|
return w.Internal.SealCommit2(ctx, sector, c1o)
|
2020-03-11 01:57:52 +00:00
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) FinalizeSector(ctx context.Context, sector storage.SectorRef, keepUnsealed []storage.Range) (storiface.CallID, error) {
|
2020-06-22 17:03:35 +00:00
|
|
|
return w.Internal.FinalizeSector(ctx, sector, keepUnsealed)
|
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) ReleaseUnsealed(ctx context.Context, sector storage.SectorRef, safeToFree []storage.Range) (storiface.CallID, error) {
|
2020-06-22 17:03:35 +00:00
|
|
|
return w.Internal.ReleaseUnsealed(ctx, sector, safeToFree)
|
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) MoveStorage(ctx context.Context, sector storage.SectorRef, types storiface.SectorFileType) (storiface.CallID, error) {
|
2020-09-06 16:47:16 +00:00
|
|
|
return w.Internal.MoveStorage(ctx, sector, types)
|
2020-03-11 01:57:52 +00:00
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) UnsealPiece(ctx context.Context, sector storage.SectorRef, offset storiface.UnpaddedByteIndex, size abi.UnpaddedPieceSize, ticket abi.SealRandomness, c cid.Cid) (storiface.CallID, error) {
|
2020-09-06 16:47:16 +00:00
|
|
|
return w.Internal.UnsealPiece(ctx, sector, offset, size, ticket, c)
|
2020-06-04 13:54:54 +00:00
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) ReadPiece(ctx context.Context, sink io.Writer, sector storage.SectorRef, offset storiface.UnpaddedByteIndex, size abi.UnpaddedPieceSize) (storiface.CallID, error) {
|
2020-09-06 16:47:16 +00:00
|
|
|
return w.Internal.ReadPiece(ctx, sink, sector, offset, size)
|
2020-08-30 18:28:58 +00:00
|
|
|
}
|
|
|
|
|
2020-11-04 20:29:08 +00:00
|
|
|
func (w *WorkerStruct) Fetch(ctx context.Context, id storage.SectorRef, fileType storiface.SectorFileType, ptype storiface.PathType, am storiface.AcquireMode) (storiface.CallID, error) {
|
2020-09-06 16:47:16 +00:00
|
|
|
return w.Internal.Fetch(ctx, id, fileType, ptype, am)
|
2020-05-26 08:20:32 +00:00
|
|
|
}
|
|
|
|
|
2020-11-30 22:16:30 +00:00
|
|
|
func (w *WorkerStruct) TaskDisable(ctx context.Context, tt sealtasks.TaskType) error {
|
|
|
|
return w.Internal.TaskDisable(ctx, tt)
|
2020-11-26 16:33:22 +00:00
|
|
|
}
|
|
|
|
|
2020-11-30 22:16:30 +00:00
|
|
|
func (w *WorkerStruct) TaskEnable(ctx context.Context, tt sealtasks.TaskType) error {
|
|
|
|
return w.Internal.TaskEnable(ctx, tt)
|
2020-11-26 16:33:22 +00:00
|
|
|
}
|
|
|
|
|
2020-09-06 16:47:16 +00:00
|
|
|
func (w *WorkerStruct) Remove(ctx context.Context, sector abi.SectorID) error {
|
|
|
|
return w.Internal.Remove(ctx, sector)
|
2020-05-26 08:20:32 +00:00
|
|
|
}
|
|
|
|
|
2020-09-06 16:47:16 +00:00
|
|
|
func (w *WorkerStruct) StorageAddLocal(ctx context.Context, path string) error {
|
|
|
|
return w.Internal.StorageAddLocal(ctx, path)
|
2020-04-28 10:57:24 +00:00
|
|
|
}
|
|
|
|
|
2020-10-27 16:28:44 +00:00
|
|
|
func (w *WorkerStruct) SetEnabled(ctx context.Context, enabled bool) error {
|
|
|
|
return w.Internal.SetEnabled(ctx, enabled)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (w *WorkerStruct) Enabled(ctx context.Context) (bool, error) {
|
|
|
|
return w.Internal.Enabled(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (w *WorkerStruct) WaitQuiet(ctx context.Context) error {
|
|
|
|
return w.Internal.WaitQuiet(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (w *WorkerStruct) ProcessSession(ctx context.Context) (uuid.UUID, error) {
|
|
|
|
return w.Internal.ProcessSession(ctx)
|
|
|
|
}
|
|
|
|
|
2020-10-18 10:35:44 +00:00
|
|
|
func (w *WorkerStruct) Session(ctx context.Context) (uuid.UUID, error) {
|
|
|
|
return w.Internal.Session(ctx)
|
2020-05-01 18:15:06 +00:00
|
|
|
}
|
|
|
|
|
OpenRPC Support (#5843)
* main: init implement rpc.Discover RPC method
This implement the basic functionality for the method
over HTTP RPC.
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init example with go-openrpc-reflect lib
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* main: make variable name human-friendly
Signed-off-by: meows <b5c6@protonmail.com>
* main,go.mod,go.sum: init impl of go-openrp-reflect printing document
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
go.mod
go.sum
* go.mod,go.sum: use go-openrpc-reflect and open-rpc/meta-schema hackforks
This is for development only.
Versions need to be bumped when they're ready for use
as canonical remotes.
Signed-off-by: meows <b5c6@protonmail.com>
* main,openrpc,main: refactor openrpc supporting code to own package
This eliminates code duplication.
Signed-off-by: meows <b5c6@protonmail.com>
* main: add rpc.Discover to openrpc document
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: fix rpc.discover method name casing
Also fixes casing stuff for the rest of Filecoin.
methods.
Signed-off-by: meows <b5c6@protonmail.com>
* Revert "main: add rpc.Discover to openrpc document"
This reverts commit 116898efb10f33e405ac74acb1aa6daefcd46a62.
* main: fix document creation method name
This fixes an issue caused with the latest reverting
commit.
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen,openrpc: refactor to share api parsing, etc as docgen exported stuff
Signed-off-by: meows <b5c6@protonmail.com>
Makefile: fix docgen refactoring for makefile use of command
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: add schema.examples to app reflector
There are quite of few of these already registered
for the docgen command, so it makes sense to use
those!
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init method pairing examples
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump go.mod to use latest meta-schema and openrpc-reflect versions
Signed-off-by: meows <b5c6@protonmail.com>
* openrpc: init SchemaType mapper function
This function will handle the manual configurations
for app-specific data types w/r/t their json schema
representation.
This is useful for cases where the reflect library
is unable to provide a sufficient representation
automatically.
Provided in this commit is an initial implementation
for the integerD type (assuming number are represented
in the API as hexs), and a commonly used cid.Cid type.
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: tame dependencies by bumping etclabscore/go-openrpc-reflect
This removes a problematic dependency
on github.com/ethereum/go-ethereum, which was
imported as a dependency for a couple github.com/etclabscore/go-openrpc-reflect
tests.
etclabscore/go-openrpc-reflect v0.0.36 has removed this
dependency, so this commit is the result of bumping
that version and then running 'go mod tidy'
This is in response to a review at
https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
Date: 2020-11-21 06:52:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: add 'miner' arg to openrpc gen cmd
This allows the command to EITHER
generate the doc for Full or Miner APIs.
See comment for usage.
Date: 2020-11-21 07:48:05-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen: add missing examples for Miner API
Generating the Miner API OpenRPC doc
(via 'go run ./api/openrpc/cmd miner') caused
the example logic to panic because some types
were missing.
This commit adds those missing types, although
I'm not an expert in the API so I can't
suggest that the example values provided are
ideal or well representative.
Date: 2020-11-21 07:50:21-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json,build/openrpc/miner.json: add build/openrpc/[full/miner].json docs
These will be used as static documents
provided by the rpc.discover method.
Date: 2020-11-21 07:51:39-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: init go-rice openrpc static assets
Date: 2020-11-21 08:23:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: remove rpc.discover implementation from runtime plugin
Instead of generating the doc on the fly,
we're going to serve a static asset.
Rel https://github.com/filecoin-project/lotus/pull/4711#pullrequestreview-535686205
This removes the runtime implementation from the
RPC server construction.
Date: 2020-11-21 08:41:20-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,common: add Discover(ctx) method to CommonAPI interface and structs
Date: 2020-11-21 08:41:56-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main: use rpc server method aliasing for rpc.discover
This depends on a currently-forked change at
filecoin-project/go-jsonrpc 8350f9463ee451b187d35c492e32f1b999e80210
which establishes this new method RPCServer.AliasMethod.
This solves the problem that the OpenRPC
spec says that the document should be served
at the system extension-prefixed endpoing
rpc.discover (not Filecoin.Discover).
In fact, the document will be available at BOTH
endpoints, but that duplicity is harmless.
Date: 2020-11-21 09:18:26-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,build,common: rpc.discover: return json object instead of string
Instead of casting the JSON asset from bytes to string,
unmarshal it to a map[string]interface{} so the
server will provide it as a JSON object.
Date: 2020-11-21 09:27:11-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile: merge resolve: docsgen command path
Date: 2020-11-22 07:19:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,main,docgen,openrpc: merge resolve: fix func exporteds, signatures
Date: 2020-11-22 07:31:03-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: 'get get' auto-bumps version
Date: 2020-11-22 07:31:44-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,docgen,main,build/openrpc: refactor openrpc documentation generation
This creates Makefile command docsgen-openrpc-json,
and refactors the docsgen command to generate both
the markdown and openrpc json documents, redirecting
the output of the openrpc json documentation to
the build/openrpc/ directory, where those json
files will be compiled as static assets via go-rice
boxes.
The api/openrpc/cmd now uses usage argumentation
congruent to that of the docgen command (switching
on API context).
Date: 2020-11-22 08:01:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc: rename api/openrpc -> api/docgen-openrpc
Renames the package as well.
This is intended to parallel the
existing docgen package and command
namespacing.
Date: 2020-11-22 10:34:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api,apistruct,docgen,build,build/openrpc: use typed Discover response
Instead of using a map[string]interface{}, use
a typed response for the Discover method implementation.
This avoids having to set a docgen Example for
the generic map[string]interface{} (as an openrpc document)
which both pollutes the generic type and lacks
useful information for the Discover method example.
Date: 2020-11-22 08:31:16-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* apistruct,build,main,impl: implement Discover method for Worker and StorageMiner APIs
Methods return static compiled assets respective
to the APIs.
Date: 2020-11-22 08:57:18-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgen_openrpc,build/openrpc: remove timestamping from openrpc doc info
This should allow openrpc docs generated at different
times to be equal. This is important because the CI
(Circle) runs the docgen command and tests that
the output and the source are unchanged (via git diff).
Date: 2020-11-22 10:47:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* main,docgen_openrpc,main,build: fix lint issues
Fixes goimports, staticcheck, golint issues.
Date: 2020-11-22 11:06:46-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: fix: don't use an underscore in package name (golint)
Date: 2020-11-22 11:07:53-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: fix: mod-tidy-check (run 'go mod tidy')
Date: 2020-11-22 11:09:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc dep to latest
This version includes the necessary RPCServer.AliasMethod
method.
Date: 2020-11-23 12:16:15-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* Makefile,main,build,build/openrpc: init gzipped openrpc static docs
Date: 2020-11-24 06:15:06-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: refactor gzip reading
Date: 2020-11-24 06:18:34-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: add basic test for openrpc doc from static assets
Date: 2020-11-24 06:30:23-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build: handle reader Close error
This keeps the errcheck linter happy.
Date: 2020-11-24 06:33:14-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.sum: run 'go mod tidy'
Date: 2020-11-24 06:36:07-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: go mod tidy
Tidying up after resolving the merge conflicts
with master at go.mod
Date: 2020-11-24 06:40:45-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* go.mod,go.sum: bump filecoin-project/go-jsonrpc to latest
This is a repeat of 76e6fd2, since the latest merge
to master seems to have reverted this.
Date: 2020-11-24 06:42:30-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc,build/openrpc: remove method example pairings, improve schema examples
Removing method example pairings since they were
redundant to schema examples and were not
implemented well.
Improved schema examples by using the ExampleValue
method instead of the map lookup.
Made a note in the comment here that this is
not ideal, since we have to make a shortcut assumption
/workaround by using 'unknown' as the method name
and the typea as its own parent.
Luckily these values aren't heavily used by the
method logic.
Date: 2020-11-27 12:57:36-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* docgenopenrpc: use generic number jsonschema for number types
Previously used an integer schema assuming
hex encoding. It appears, based on review some
of the examples, that this may not be the case.
Obvioussly this schema could be more descriptive,
but just shooting for mostly likely to be
not wrong at this point.
Date: 2020-12-15 14:44:37-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* cmd/lotus,go.mod,go.sum: maybe fix straggling merge resolution conflicts
Date: 2021-01-19 12:30:42-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* build/openrpc/full.json.gz,build/openrpc/miner.json.gz,build/openrpc/worker.json.gz: run 'make docsgen'
Date: 2021-01-19 12:33:55-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/apistruct,node/impl: (lint) gofmt
Date: 2021-01-19 12:39:48-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: maybe fix parse error: open ./api: no such file or directory
Date: 2021-01-19 12:52:04-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen,build/openrpc: maybe fix no such file error and run 'make docsgen'
Date: 2021-01-19 12:55:52-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api/docgen: return if AST comment/groupdoc parsing encounters any error
This will returns empty comments/docs maps.
This should fix issues like:
https://app.circleci.com/pipelines/github/filecoin-project/lotus/12445/workflows/4ebadce9-a298-4ad1-939b-f19ef4c0a5bf/jobs/107218
where the environment makes file lookups hard or
impossible.
Date: 2021-01-19 13:04:58-06:00
Signed-off-by: meows <b5c6@protonmail.com>
* api: Don't depend on build/
* make: support parallel docsgen
* openrpc gen: Use simple build version
* methodgen
* goimports
Co-authored-by: meows <b5c6@protonmail.com>
2021-03-19 18:22:46 +00:00
|
|
|
func (c *WorkerStruct) Discover(ctx context.Context) (apitypes.OpenRPCDocument, error) {
|
|
|
|
return c.Internal.Discover(ctx)
|
|
|
|
}
|
|
|
|
|
2020-10-09 11:41:09 +00:00
|
|
|
func (g GatewayStruct) ChainGetBlockMessages(ctx context.Context, c cid.Cid) (*api.BlockMessages, error) {
|
|
|
|
return g.Internal.ChainGetBlockMessages(ctx, c)
|
2020-10-15 10:15:21 +00:00
|
|
|
}
|
|
|
|
|
2020-10-09 11:41:09 +00:00
|
|
|
func (g GatewayStruct) ChainGetMessage(ctx context.Context, mc cid.Cid) (*types.Message, error) {
|
|
|
|
return g.Internal.ChainGetMessage(ctx, mc)
|
2020-09-29 15:25:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (g GatewayStruct) ChainGetTipSet(ctx context.Context, tsk types.TipSetKey) (*types.TipSet, error) {
|
|
|
|
return g.Internal.ChainGetTipSet(ctx, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-02 14:14:30 +00:00
|
|
|
func (g GatewayStruct) ChainGetTipSetByHeight(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error) {
|
|
|
|
return g.Internal.ChainGetTipSetByHeight(ctx, h, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-09 11:41:09 +00:00
|
|
|
func (g GatewayStruct) ChainHasObj(ctx context.Context, c cid.Cid) (bool, error) {
|
|
|
|
return g.Internal.ChainHasObj(ctx, c)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (g GatewayStruct) ChainHead(ctx context.Context) (*types.TipSet, error) {
|
|
|
|
return g.Internal.ChainHead(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (g GatewayStruct) ChainNotify(ctx context.Context) (<-chan []*api.HeadChange, error) {
|
|
|
|
return g.Internal.ChainNotify(ctx)
|
|
|
|
}
|
|
|
|
|
2020-10-15 10:15:21 +00:00
|
|
|
func (g GatewayStruct) ChainReadObj(ctx context.Context, c cid.Cid) ([]byte, error) {
|
|
|
|
return g.Internal.ChainReadObj(ctx, c)
|
|
|
|
}
|
|
|
|
|
2020-10-05 15:09:21 +00:00
|
|
|
func (g GatewayStruct) GasEstimateMessageGas(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec, tsk types.TipSetKey) (*types.Message, error) {
|
|
|
|
return g.Internal.GasEstimateMessageGas(ctx, msg, spec, tsk)
|
|
|
|
}
|
|
|
|
|
2020-09-29 15:25:45 +00:00
|
|
|
func (g GatewayStruct) MpoolPush(ctx context.Context, sm *types.SignedMessage) (cid.Cid, error) {
|
|
|
|
return g.Internal.MpoolPush(ctx, sm)
|
|
|
|
}
|
|
|
|
|
2020-10-07 16:14:12 +00:00
|
|
|
func (g GatewayStruct) MsigGetAvailableBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (types.BigInt, error) {
|
|
|
|
return g.Internal.MsigGetAvailableBalance(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (g GatewayStruct) MsigGetVested(ctx context.Context, addr address.Address, start types.TipSetKey, end types.TipSetKey) (types.BigInt, error) {
|
|
|
|
return g.Internal.MsigGetVested(ctx, addr, start, end)
|
|
|
|
}
|
|
|
|
|
2021-02-04 04:46:10 +00:00
|
|
|
func (g GatewayStruct) MsigGetPending(ctx context.Context, addr address.Address, tsk types.TipSetKey) ([]*api.MsigTransaction, error) {
|
|
|
|
return g.Internal.MsigGetPending(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
2020-09-29 15:25:45 +00:00
|
|
|
func (g GatewayStruct) StateAccountKey(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) {
|
|
|
|
return g.Internal.StateAccountKey(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-09 11:41:09 +00:00
|
|
|
func (g GatewayStruct) StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (api.DealCollateralBounds, error) {
|
|
|
|
return g.Internal.StateDealProviderCollateralBounds(ctx, size, verified, tsk)
|
|
|
|
}
|
|
|
|
|
2020-09-30 14:36:16 +00:00
|
|
|
func (g GatewayStruct) StateGetActor(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error) {
|
|
|
|
return g.Internal.StateGetActor(ctx, actor, ts)
|
|
|
|
}
|
|
|
|
|
2020-10-09 11:41:09 +00:00
|
|
|
func (g GatewayStruct) StateGetReceipt(ctx context.Context, c cid.Cid, tsk types.TipSetKey) (*types.MessageReceipt, error) {
|
|
|
|
return g.Internal.StateGetReceipt(ctx, c, tsk)
|
|
|
|
}
|
|
|
|
|
2020-09-30 14:36:16 +00:00
|
|
|
func (g GatewayStruct) StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) {
|
2020-10-01 15:51:27 +00:00
|
|
|
return g.Internal.StateLookupID(ctx, addr, tsk)
|
2020-09-30 14:36:16 +00:00
|
|
|
}
|
|
|
|
|
2020-10-09 11:41:09 +00:00
|
|
|
func (g GatewayStruct) StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error) {
|
|
|
|
return g.Internal.StateListMiners(ctx, tsk)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (g GatewayStruct) StateMarketBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MarketBalance, error) {
|
|
|
|
return g.Internal.StateMarketBalance(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (g GatewayStruct) StateMarketStorageDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*api.MarketDeal, error) {
|
|
|
|
return g.Internal.StateMarketStorageDeal(ctx, dealId, tsk)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (g GatewayStruct) StateMinerInfo(ctx context.Context, actor address.Address, tsk types.TipSetKey) (miner.MinerInfo, error) {
|
|
|
|
return g.Internal.StateMinerInfo(ctx, actor, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-23 14:51:27 +00:00
|
|
|
func (g GatewayStruct) StateMinerProvingDeadline(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*dline.Info, error) {
|
|
|
|
return g.Internal.StateMinerProvingDeadline(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (g GatewayStruct) StateMinerPower(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*api.MinerPower, error) {
|
|
|
|
return g.Internal.StateMinerPower(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-09 11:41:09 +00:00
|
|
|
func (g GatewayStruct) StateNetworkVersion(ctx context.Context, tsk types.TipSetKey) (stnetwork.Version, error) {
|
|
|
|
return g.Internal.StateNetworkVersion(ctx, tsk)
|
|
|
|
}
|
|
|
|
|
2021-01-19 10:19:31 +00:00
|
|
|
func (g GatewayStruct) StateSearchMsg(ctx context.Context, msg cid.Cid) (*api.MsgLookup, error) {
|
|
|
|
return g.Internal.StateSearchMsg(ctx, msg)
|
|
|
|
}
|
|
|
|
|
2020-11-20 16:30:17 +00:00
|
|
|
func (g GatewayStruct) StateSectorGetInfo(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorOnChainInfo, error) {
|
|
|
|
return g.Internal.StateSectorGetInfo(ctx, maddr, n, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-20 15:08:25 +00:00
|
|
|
func (g GatewayStruct) StateVerifiedClientStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error) {
|
|
|
|
return g.Internal.StateVerifiedClientStatus(ctx, addr, tsk)
|
|
|
|
}
|
|
|
|
|
2020-10-02 14:14:30 +00:00
|
|
|
func (g GatewayStruct) StateWaitMsg(ctx context.Context, msg cid.Cid, confidence uint64) (*api.MsgLookup, error) {
|
|
|
|
return g.Internal.StateWaitMsg(ctx, msg, confidence)
|
|
|
|
}
|
|
|
|
|
2021-02-03 23:24:25 +00:00
|
|
|
func (g GatewayStruct) StateReadState(ctx context.Context, addr address.Address, ts types.TipSetKey) (*api.ActorState, error) {
|
|
|
|
return g.Internal.StateReadState(ctx, addr, ts)
|
|
|
|
}
|
|
|
|
|
2020-10-11 18:12:01 +00:00
|
|
|
func (c *WalletStruct) WalletNew(ctx context.Context, typ types.KeyType) (address.Address, error) {
|
2020-09-05 19:36:32 +00:00
|
|
|
return c.Internal.WalletNew(ctx, typ)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *WalletStruct) WalletHas(ctx context.Context, addr address.Address) (bool, error) {
|
|
|
|
return c.Internal.WalletHas(ctx, addr)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *WalletStruct) WalletList(ctx context.Context) ([]address.Address, error) {
|
|
|
|
return c.Internal.WalletList(ctx)
|
|
|
|
}
|
|
|
|
|
2020-10-08 23:27:38 +00:00
|
|
|
func (c *WalletStruct) WalletSign(ctx context.Context, k address.Address, msg []byte, meta api.MsgMeta) (*crypto.Signature, error) {
|
|
|
|
return c.Internal.WalletSign(ctx, k, msg, meta)
|
2020-09-05 19:36:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (c *WalletStruct) WalletExport(ctx context.Context, a address.Address) (*types.KeyInfo, error) {
|
|
|
|
return c.Internal.WalletExport(ctx, a)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *WalletStruct) WalletImport(ctx context.Context, ki *types.KeyInfo) (address.Address, error) {
|
|
|
|
return c.Internal.WalletImport(ctx, ki)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *WalletStruct) WalletDelete(ctx context.Context, addr address.Address) error {
|
|
|
|
return c.Internal.WalletDelete(ctx, addr)
|
|
|
|
}
|
|
|
|
|
2019-12-09 17:08:32 +00:00
|
|
|
var _ api.Common = &CommonStruct{}
|
|
|
|
var _ api.FullNode = &FullNodeStruct{}
|
|
|
|
var _ api.StorageMiner = &StorageMinerStruct{}
|
2020-05-27 20:53:20 +00:00
|
|
|
var _ api.WorkerAPI = &WorkerStruct{}
|
2020-09-29 15:25:45 +00:00
|
|
|
var _ api.GatewayAPI = &GatewayStruct{}
|
2020-09-05 19:36:32 +00:00
|
|
|
var _ api.WalletAPI = &WalletStruct{}
|