2020-08-24 10:25:49 +00:00
|
|
|
# Groups
|
|
|
|
* [](#)
|
|
|
|
* [Closing](#Closing)
|
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](#Discover)
|
2020-10-18 18:10:39 +00:00
|
|
|
* [Session](#Session)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [Shutdown](#Shutdown)
|
|
|
|
* [Version](#Version)
|
|
|
|
* [Auth](#Auth)
|
|
|
|
* [AuthNew](#AuthNew)
|
|
|
|
* [AuthVerify](#AuthVerify)
|
|
|
|
* [Beacon](#Beacon)
|
|
|
|
* [BeaconGetEntry](#BeaconGetEntry)
|
|
|
|
* [Chain](#Chain)
|
2020-09-10 17:47:19 +00:00
|
|
|
* [ChainDeleteObj](#ChainDeleteObj)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [ChainExport](#ChainExport)
|
|
|
|
* [ChainGetBlock](#ChainGetBlock)
|
|
|
|
* [ChainGetBlockMessages](#ChainGetBlockMessages)
|
|
|
|
* [ChainGetGenesis](#ChainGetGenesis)
|
|
|
|
* [ChainGetMessage](#ChainGetMessage)
|
2021-07-01 03:20:22 +00:00
|
|
|
* [ChainGetMessagesInTipset](#ChainGetMessagesInTipset)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [ChainGetNode](#ChainGetNode)
|
|
|
|
* [ChainGetParentMessages](#ChainGetParentMessages)
|
|
|
|
* [ChainGetParentReceipts](#ChainGetParentReceipts)
|
|
|
|
* [ChainGetPath](#ChainGetPath)
|
|
|
|
* [ChainGetRandomnessFromBeacon](#ChainGetRandomnessFromBeacon)
|
|
|
|
* [ChainGetRandomnessFromTickets](#ChainGetRandomnessFromTickets)
|
|
|
|
* [ChainGetTipSet](#ChainGetTipSet)
|
|
|
|
* [ChainGetTipSetByHeight](#ChainGetTipSetByHeight)
|
|
|
|
* [ChainHasObj](#ChainHasObj)
|
|
|
|
* [ChainHead](#ChainHead)
|
|
|
|
* [ChainNotify](#ChainNotify)
|
|
|
|
* [ChainReadObj](#ChainReadObj)
|
|
|
|
* [ChainSetHead](#ChainSetHead)
|
|
|
|
* [ChainStatObj](#ChainStatObj)
|
|
|
|
* [ChainTipSetWeight](#ChainTipSetWeight)
|
|
|
|
* [Client](#Client)
|
|
|
|
* [ClientCalcCommP](#ClientCalcCommP)
|
2020-10-24 01:35:01 +00:00
|
|
|
* [ClientCancelDataTransfer](#ClientCancelDataTransfer)
|
2021-03-24 12:36:21 +00:00
|
|
|
* [ClientCancelRetrievalDeal](#ClientCancelRetrievalDeal)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [ClientDataTransferUpdates](#ClientDataTransferUpdates)
|
2020-10-22 11:59:08 +00:00
|
|
|
* [ClientDealPieceCID](#ClientDealPieceCID)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [ClientDealSize](#ClientDealSize)
|
|
|
|
* [ClientFindData](#ClientFindData)
|
|
|
|
* [ClientGenCar](#ClientGenCar)
|
|
|
|
* [ClientGetDealInfo](#ClientGetDealInfo)
|
2020-10-09 04:25:38 +00:00
|
|
|
* [ClientGetDealStatus](#ClientGetDealStatus)
|
2020-08-28 20:17:35 +00:00
|
|
|
* [ClientGetDealUpdates](#ClientGetDealUpdates)
|
2021-05-27 22:00:31 +00:00
|
|
|
* [ClientGetRetrievalUpdates](#ClientGetRetrievalUpdates)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [ClientHasLocal](#ClientHasLocal)
|
|
|
|
* [ClientImport](#ClientImport)
|
|
|
|
* [ClientListDataTransfers](#ClientListDataTransfers)
|
|
|
|
* [ClientListDeals](#ClientListDeals)
|
|
|
|
* [ClientListImports](#ClientListImports)
|
2021-05-27 22:00:31 +00:00
|
|
|
* [ClientListRetrievals](#ClientListRetrievals)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [ClientMinerQueryOffer](#ClientMinerQueryOffer)
|
|
|
|
* [ClientQueryAsk](#ClientQueryAsk)
|
|
|
|
* [ClientRemoveImport](#ClientRemoveImport)
|
2020-10-13 10:37:00 +00:00
|
|
|
* [ClientRestartDataTransfer](#ClientRestartDataTransfer)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [ClientRetrieve](#ClientRetrieve)
|
2020-09-07 12:35:29 +00:00
|
|
|
* [ClientRetrieveTryRestartInsufficientFunds](#ClientRetrieveTryRestartInsufficientFunds)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [ClientRetrieveWithEvents](#ClientRetrieveWithEvents)
|
|
|
|
* [ClientStartDeal](#ClientStartDeal)
|
2021-04-05 17:15:32 +00:00
|
|
|
* [ClientStatelessDeal](#ClientStatelessDeal)
|
2020-10-01 16:00:24 +00:00
|
|
|
* [Create](#Create)
|
|
|
|
* [CreateBackup](#CreateBackup)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [Gas](#Gas)
|
|
|
|
* [GasEstimateFeeCap](#GasEstimateFeeCap)
|
|
|
|
* [GasEstimateGasLimit](#GasEstimateGasLimit)
|
|
|
|
* [GasEstimateGasPremium](#GasEstimateGasPremium)
|
|
|
|
* [GasEstimateMessageGas](#GasEstimateMessageGas)
|
|
|
|
* [I](#I)
|
|
|
|
* [ID](#ID)
|
|
|
|
* [Log](#Log)
|
2021-08-17 13:15:36 +00:00
|
|
|
* [LogAlerts](#LogAlerts)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [LogList](#LogList)
|
|
|
|
* [LogSetLevel](#LogSetLevel)
|
|
|
|
* [Market](#Market)
|
2021-01-06 13:27:28 +00:00
|
|
|
* [MarketAddBalance](#MarketAddBalance)
|
2021-01-07 08:35:30 +00:00
|
|
|
* [MarketGetReserved](#MarketGetReserved)
|
2020-11-11 05:08:23 +00:00
|
|
|
* [MarketReleaseFunds](#MarketReleaseFunds)
|
|
|
|
* [MarketReserveFunds](#MarketReserveFunds)
|
2020-12-03 21:20:50 +00:00
|
|
|
* [MarketWithdraw](#MarketWithdraw)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [Miner](#Miner)
|
|
|
|
* [MinerCreateBlock](#MinerCreateBlock)
|
|
|
|
* [MinerGetBaseInfo](#MinerGetBaseInfo)
|
|
|
|
* [Mpool](#Mpool)
|
2020-10-22 12:46:10 +00:00
|
|
|
* [MpoolBatchPush](#MpoolBatchPush)
|
|
|
|
* [MpoolBatchPushMessage](#MpoolBatchPushMessage)
|
|
|
|
* [MpoolBatchPushUntrusted](#MpoolBatchPushUntrusted)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [MpoolClear](#MpoolClear)
|
|
|
|
* [MpoolGetConfig](#MpoolGetConfig)
|
|
|
|
* [MpoolGetNonce](#MpoolGetNonce)
|
|
|
|
* [MpoolPending](#MpoolPending)
|
|
|
|
* [MpoolPush](#MpoolPush)
|
|
|
|
* [MpoolPushMessage](#MpoolPushMessage)
|
2020-10-02 21:14:47 +00:00
|
|
|
* [MpoolPushUntrusted](#MpoolPushUntrusted)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [MpoolSelect](#MpoolSelect)
|
|
|
|
* [MpoolSetConfig](#MpoolSetConfig)
|
|
|
|
* [MpoolSub](#MpoolSub)
|
|
|
|
* [Msig](#Msig)
|
2020-09-06 07:51:06 +00:00
|
|
|
* [MsigAddApprove](#MsigAddApprove)
|
|
|
|
* [MsigAddCancel](#MsigAddCancel)
|
|
|
|
* [MsigAddPropose](#MsigAddPropose)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [MsigApprove](#MsigApprove)
|
2020-10-10 10:28:59 +00:00
|
|
|
* [MsigApproveTxnHash](#MsigApproveTxnHash)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [MsigCancel](#MsigCancel)
|
|
|
|
* [MsigCreate](#MsigCreate)
|
|
|
|
* [MsigGetAvailableBalance](#MsigGetAvailableBalance)
|
2021-02-05 11:34:28 +00:00
|
|
|
* [MsigGetPending](#MsigGetPending)
|
2020-09-06 07:51:06 +00:00
|
|
|
* [MsigGetVested](#MsigGetVested)
|
2020-10-08 19:19:39 +00:00
|
|
|
* [MsigGetVestingSchedule](#MsigGetVestingSchedule)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [MsigPropose](#MsigPropose)
|
2020-10-10 10:28:59 +00:00
|
|
|
* [MsigRemoveSigner](#MsigRemoveSigner)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [MsigSwapApprove](#MsigSwapApprove)
|
|
|
|
* [MsigSwapCancel](#MsigSwapCancel)
|
|
|
|
* [MsigSwapPropose](#MsigSwapPropose)
|
|
|
|
* [Net](#Net)
|
|
|
|
* [NetAddrsListen](#NetAddrsListen)
|
2020-09-03 23:35:53 +00:00
|
|
|
* [NetAgentVersion](#NetAgentVersion)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [NetAutoNatStatus](#NetAutoNatStatus)
|
2020-09-02 23:31:41 +00:00
|
|
|
* [NetBandwidthStats](#NetBandwidthStats)
|
|
|
|
* [NetBandwidthStatsByPeer](#NetBandwidthStatsByPeer)
|
|
|
|
* [NetBandwidthStatsByProtocol](#NetBandwidthStatsByProtocol)
|
2020-11-16 16:52:55 +00:00
|
|
|
* [NetBlockAdd](#NetBlockAdd)
|
|
|
|
* [NetBlockList](#NetBlockList)
|
|
|
|
* [NetBlockRemove](#NetBlockRemove)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [NetConnect](#NetConnect)
|
|
|
|
* [NetConnectedness](#NetConnectedness)
|
|
|
|
* [NetDisconnect](#NetDisconnect)
|
|
|
|
* [NetFindPeer](#NetFindPeer)
|
2021-03-08 12:23:58 +00:00
|
|
|
* [NetPeerInfo](#NetPeerInfo)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [NetPeers](#NetPeers)
|
|
|
|
* [NetPubsubScores](#NetPubsubScores)
|
|
|
|
* [Paych](#Paych)
|
|
|
|
* [PaychAllocateLane](#PaychAllocateLane)
|
2020-09-03 23:35:53 +00:00
|
|
|
* [PaychAvailableFunds](#PaychAvailableFunds)
|
2020-09-05 19:51:30 +00:00
|
|
|
* [PaychAvailableFundsByFromTo](#PaychAvailableFundsByFromTo)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [PaychCollect](#PaychCollect)
|
|
|
|
* [PaychGet](#PaychGet)
|
|
|
|
* [PaychGetWaitReady](#PaychGetWaitReady)
|
|
|
|
* [PaychList](#PaychList)
|
|
|
|
* [PaychNewPayment](#PaychNewPayment)
|
|
|
|
* [PaychSettle](#PaychSettle)
|
|
|
|
* [PaychStatus](#PaychStatus)
|
|
|
|
* [PaychVoucherAdd](#PaychVoucherAdd)
|
|
|
|
* [PaychVoucherCheckSpendable](#PaychVoucherCheckSpendable)
|
|
|
|
* [PaychVoucherCheckValid](#PaychVoucherCheckValid)
|
|
|
|
* [PaychVoucherCreate](#PaychVoucherCreate)
|
|
|
|
* [PaychVoucherList](#PaychVoucherList)
|
|
|
|
* [PaychVoucherSubmit](#PaychVoucherSubmit)
|
|
|
|
* [State](#State)
|
|
|
|
* [StateAccountKey](#StateAccountKey)
|
|
|
|
* [StateAllMinerFaults](#StateAllMinerFaults)
|
|
|
|
* [StateCall](#StateCall)
|
|
|
|
* [StateChangedActors](#StateChangedActors)
|
|
|
|
* [StateCirculatingSupply](#StateCirculatingSupply)
|
|
|
|
* [StateCompute](#StateCompute)
|
|
|
|
* [StateDealProviderCollateralBounds](#StateDealProviderCollateralBounds)
|
2020-09-29 07:01:52 +00:00
|
|
|
* [StateDecodeParams](#StateDecodeParams)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [StateGetActor](#StateGetActor)
|
|
|
|
* [StateGetReceipt](#StateGetReceipt)
|
|
|
|
* [StateListActors](#StateListActors)
|
|
|
|
* [StateListMessages](#StateListMessages)
|
|
|
|
* [StateListMiners](#StateListMiners)
|
|
|
|
* [StateLookupID](#StateLookupID)
|
|
|
|
* [StateMarketBalance](#StateMarketBalance)
|
|
|
|
* [StateMarketDeals](#StateMarketDeals)
|
|
|
|
* [StateMarketParticipants](#StateMarketParticipants)
|
|
|
|
* [StateMarketStorageDeal](#StateMarketStorageDeal)
|
|
|
|
* [StateMinerActiveSectors](#StateMinerActiveSectors)
|
|
|
|
* [StateMinerAvailableBalance](#StateMinerAvailableBalance)
|
|
|
|
* [StateMinerDeadlines](#StateMinerDeadlines)
|
|
|
|
* [StateMinerFaults](#StateMinerFaults)
|
|
|
|
* [StateMinerInfo](#StateMinerInfo)
|
|
|
|
* [StateMinerInitialPledgeCollateral](#StateMinerInitialPledgeCollateral)
|
|
|
|
* [StateMinerPartitions](#StateMinerPartitions)
|
|
|
|
* [StateMinerPower](#StateMinerPower)
|
|
|
|
* [StateMinerPreCommitDepositForPower](#StateMinerPreCommitDepositForPower)
|
|
|
|
* [StateMinerProvingDeadline](#StateMinerProvingDeadline)
|
|
|
|
* [StateMinerRecoveries](#StateMinerRecoveries)
|
2020-10-18 18:10:39 +00:00
|
|
|
* [StateMinerSectorAllocated](#StateMinerSectorAllocated)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [StateMinerSectorCount](#StateMinerSectorCount)
|
|
|
|
* [StateMinerSectors](#StateMinerSectors)
|
|
|
|
* [StateNetworkName](#StateNetworkName)
|
2020-09-17 15:31:09 +00:00
|
|
|
* [StateNetworkVersion](#StateNetworkVersion)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [StateReadState](#StateReadState)
|
|
|
|
* [StateReplay](#StateReplay)
|
|
|
|
* [StateSearchMsg](#StateSearchMsg)
|
2021-01-19 10:19:31 +00:00
|
|
|
* [StateSearchMsgLimited](#StateSearchMsgLimited)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [StateSectorExpiration](#StateSectorExpiration)
|
|
|
|
* [StateSectorGetInfo](#StateSectorGetInfo)
|
|
|
|
* [StateSectorPartition](#StateSectorPartition)
|
|
|
|
* [StateSectorPreCommitInfo](#StateSectorPreCommitInfo)
|
2020-10-12 20:41:27 +00:00
|
|
|
* [StateVMCirculatingSupplyInternal](#StateVMCirculatingSupplyInternal)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [StateVerifiedClientStatus](#StateVerifiedClientStatus)
|
2020-10-01 07:14:59 +00:00
|
|
|
* [StateVerifiedRegistryRootKey](#StateVerifiedRegistryRootKey)
|
|
|
|
* [StateVerifierStatus](#StateVerifierStatus)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [StateWaitMsg](#StateWaitMsg)
|
2020-10-09 16:43:22 +00:00
|
|
|
* [StateWaitMsgLimited](#StateWaitMsgLimited)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [Sync](#Sync)
|
|
|
|
* [SyncCheckBad](#SyncCheckBad)
|
2020-09-09 07:45:47 +00:00
|
|
|
* [SyncCheckpoint](#SyncCheckpoint)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [SyncIncomingBlocks](#SyncIncomingBlocks)
|
|
|
|
* [SyncMarkBad](#SyncMarkBad)
|
|
|
|
* [SyncState](#SyncState)
|
|
|
|
* [SyncSubmitBlock](#SyncSubmitBlock)
|
2020-10-10 18:46:06 +00:00
|
|
|
* [SyncUnmarkAllBad](#SyncUnmarkAllBad)
|
2020-09-09 07:45:47 +00:00
|
|
|
* [SyncUnmarkBad](#SyncUnmarkBad)
|
2020-09-27 22:08:58 +00:00
|
|
|
* [SyncValidateTipset](#SyncValidateTipset)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [Wallet](#Wallet)
|
|
|
|
* [WalletBalance](#WalletBalance)
|
|
|
|
* [WalletDefaultAddress](#WalletDefaultAddress)
|
|
|
|
* [WalletDelete](#WalletDelete)
|
|
|
|
* [WalletExport](#WalletExport)
|
|
|
|
* [WalletHas](#WalletHas)
|
|
|
|
* [WalletImport](#WalletImport)
|
|
|
|
* [WalletList](#WalletList)
|
|
|
|
* [WalletNew](#WalletNew)
|
|
|
|
* [WalletSetDefault](#WalletSetDefault)
|
|
|
|
* [WalletSign](#WalletSign)
|
|
|
|
* [WalletSignMessage](#WalletSignMessage)
|
2020-09-30 05:45:03 +00:00
|
|
|
* [WalletValidateAddress](#WalletValidateAddress)
|
2020-08-24 10:25:49 +00:00
|
|
|
* [WalletVerify](#WalletVerify)
|
|
|
|
##
|
|
|
|
|
|
|
|
|
|
|
|
### Closing
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"info": {
|
|
|
|
"title": "Lotus RPC API",
|
|
|
|
"version": "1.2.1/generated=2020-11-22T08:22:42-06:00"
|
|
|
|
},
|
|
|
|
"methods": [],
|
|
|
|
"openrpc": "1.2.6"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-10-18 18:10:39 +00:00
|
|
|
### Session
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `"07070707-0707-0707-0707-070707070707"`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### Shutdown
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### Version
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Version": "string value",
|
2021-08-10 19:50:37 +00:00
|
|
|
"APIVersion": 131328,
|
2020-08-24 10:25:49 +00:00
|
|
|
"BlockDelay": 42
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Auth
|
|
|
|
|
|
|
|
|
|
|
|
### AuthNew
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
null
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"Ynl0ZSBhcnJheQ=="`
|
|
|
|
|
|
|
|
### AuthVerify
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"string value"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
## Beacon
|
|
|
|
The Beacon method group contains methods for interacting with the random beacon (DRAND)
|
|
|
|
|
|
|
|
|
|
|
|
### BeaconGetEntry
|
|
|
|
BeaconGetEntry returns the beacon entry for the given filecoin epoch. If
|
|
|
|
the entry has not yet been produced, the call will block until the entry
|
|
|
|
becomes available
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
10101
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Round": 42,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Chain
|
|
|
|
The Chain method group contains methods for interacting with the
|
|
|
|
blockchain, but that do not require any form of state computation.
|
|
|
|
|
|
|
|
|
2020-09-10 17:47:19 +00:00
|
|
|
### ChainDeleteObj
|
|
|
|
ChainDeleteObj deletes node referenced by the given CID
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### ChainExport
|
|
|
|
ChainExport returns a stream of bytes with CAR dump of chain data.
|
2020-09-02 12:57:44 +00:00
|
|
|
The exported chain data includes the header chain from the given tipset
|
|
|
|
back to genesis, the entire genesis state, and the most recent 'nroots'
|
|
|
|
state trees.
|
2020-09-11 08:55:10 +00:00
|
|
|
If oldmsgskip is set, messages from before the requested roots are also not included.
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-09-02 12:57:44 +00:00
|
|
|
10101,
|
2020-09-11 08:55:10 +00:00
|
|
|
true,
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"Ynl0ZSBhcnJheQ=="`
|
|
|
|
|
|
|
|
### ChainGetBlock
|
|
|
|
ChainGetBlock returns the block specified by the given CID.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"Miner": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Ticket": {
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"ElectionProof": {
|
|
|
|
"WinCount": 9,
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"BeaconEntries": null,
|
|
|
|
"WinPoStProof": null,
|
|
|
|
"Parents": null,
|
|
|
|
"ParentWeight": "0",
|
|
|
|
"Height": 10101,
|
|
|
|
"ParentStateRoot": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"ParentMessageReceipts": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Messages": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"BLSAggregate": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Timestamp": 42,
|
|
|
|
"BlockSig": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"ForkSignaling": 42,
|
|
|
|
"ParentBaseFee": "0"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ChainGetBlockMessages
|
|
|
|
ChainGetBlockMessages returns messages stored in the specified block.
|
|
|
|
|
2021-03-18 21:12:22 +00:00
|
|
|
Note: If there are multiple blocks in a tipset, it's likely that some
|
|
|
|
messages will be duplicated. It's also possible for blocks in a tipset to have
|
|
|
|
different messages from the same sender at the same nonce. When that happens,
|
|
|
|
only the first message (in a block with lowest ticket) will be considered
|
|
|
|
for execution
|
|
|
|
|
|
|
|
NOTE: THIS METHOD SHOULD ONLY BE USED FOR GETTING MESSAGES IN A SPECIFIC BLOCK
|
|
|
|
|
|
|
|
DO NOT USE THIS METHOD TO GET MESSAGES INCLUDED IN A TIPSET
|
|
|
|
Use ChainGetParentMessages, which will perform correct message deduplication
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"BlsMessages": null,
|
|
|
|
"SecpkMessages": null,
|
|
|
|
"Cids": null
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ChainGetGenesis
|
|
|
|
ChainGetGenesis returns the genesis tipset.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Cids": null,
|
|
|
|
"Blocks": null,
|
|
|
|
"Height": 0
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ChainGetMessage
|
|
|
|
ChainGetMessage reads a message referenced by the specified CID from the
|
|
|
|
chain blockstore.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2021-07-01 03:20:22 +00:00
|
|
|
### ChainGetMessagesInTipset
|
|
|
|
ChainGetMessagesInTipset returns message stores in current tipset
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### ChainGetNode
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"string value"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Cid": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Obj": {}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ChainGetParentMessages
|
|
|
|
ChainGetParentMessages returns messages stored in parent tipset of the
|
|
|
|
specified block.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ChainGetParentReceipts
|
|
|
|
ChainGetParentReceipts returns receipts for messages in parent tipset of
|
2021-03-18 18:35:32 +00:00
|
|
|
the specified block. The receipts in the list returned is one-to-one with the
|
|
|
|
messages returned by a call to ChainGetParentMessages with the same blockCid.
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ChainGetPath
|
|
|
|
ChainGetPath returns a set of revert/apply operations needed to get from
|
|
|
|
one tipset to another, for example:
|
|
|
|
```
|
|
|
|
to
|
|
|
|
^
|
|
|
|
from tAA
|
|
|
|
^ ^
|
|
|
|
tBA tAB
|
|
|
|
^---*--^
|
|
|
|
^
|
|
|
|
tRR
|
|
|
|
```
|
|
|
|
Would return `[revert(tBA), apply(tAB), apply(tAA)]`
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ChainGetRandomnessFromBeacon
|
|
|
|
ChainGetRandomnessFromBeacon is used to sample the beacon for randomness.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
2,
|
|
|
|
10101,
|
|
|
|
"Ynl0ZSBhcnJheQ=="
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ChainGetRandomnessFromTickets
|
|
|
|
ChainGetRandomnessFromTickets is used to sample the chain for randomness.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
2,
|
|
|
|
10101,
|
|
|
|
"Ynl0ZSBhcnJheQ=="
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ChainGetTipSet
|
|
|
|
ChainGetTipSet returns the tipset specified by the given TipSetKey.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Cids": null,
|
|
|
|
"Blocks": null,
|
|
|
|
"Height": 0
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ChainGetTipSetByHeight
|
|
|
|
ChainGetTipSetByHeight looks back for a tipset at the specified epoch.
|
|
|
|
If there are no blocks at the specified epoch, a tipset at an earlier epoch
|
|
|
|
will be returned.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
10101,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Cids": null,
|
|
|
|
"Blocks": null,
|
|
|
|
"Height": 0
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ChainHasObj
|
|
|
|
ChainHasObj checks if a given CID exists in the chain blockstore.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `true`
|
|
|
|
|
|
|
|
### ChainHead
|
|
|
|
ChainHead returns the current head of the chain.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Cids": null,
|
|
|
|
"Blocks": null,
|
|
|
|
"Height": 0
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ChainNotify
|
|
|
|
ChainNotify returns channel with chain head updates.
|
|
|
|
First message is guaranteed to be of len == 1, and type == 'current'.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ChainReadObj
|
|
|
|
ChainReadObj reads ipld nodes referenced by the specified CID from chain
|
|
|
|
blockstore and returns raw bytes.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"Ynl0ZSBhcnJheQ=="`
|
|
|
|
|
|
|
|
### ChainSetHead
|
|
|
|
ChainSetHead forcefully sets current chain head. Use with caution.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### ChainStatObj
|
|
|
|
ChainStatObj returns statistics about the graph referenced by 'obj'.
|
|
|
|
If 'base' is also specified, then the returned stat will be a diff
|
|
|
|
between the two objects.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Size": 42,
|
|
|
|
"Links": 42
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ChainTipSetWeight
|
|
|
|
ChainTipSetWeight computes weight for the specified tipset.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
## Client
|
|
|
|
The Client methods all have to do with interacting with the storage and
|
|
|
|
retrieval markets as a client
|
|
|
|
|
|
|
|
|
|
|
|
### ClientCalcCommP
|
|
|
|
ClientCalcCommP calculates the CommP for a specified file
|
|
|
|
|
|
|
|
|
2021-03-23 12:42:56 +00:00
|
|
|
Perms: write
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"string value"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Size": 1024
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-10-24 01:35:01 +00:00
|
|
|
### ClientCancelDataTransfer
|
|
|
|
ClientCancelDataTransfer cancels a data transfer with the given transfer ID and other peer
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
3,
|
|
|
|
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
true
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2021-03-24 12:36:21 +00:00
|
|
|
### ClientCancelRetrievalDeal
|
|
|
|
ClientCancelRetrievalDeal cancels an ongoing retrieval deal based on DealID
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
5
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### ClientDataTransferUpdates
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"TransferID": 3,
|
|
|
|
"Status": 1,
|
|
|
|
"BaseCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"IsInitiator": true,
|
|
|
|
"IsSender": true,
|
|
|
|
"Voucher": "string value",
|
|
|
|
"Message": "string value",
|
|
|
|
"OtherPeer": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
2021-03-29 15:32:09 +00:00
|
|
|
"Transferred": 42,
|
|
|
|
"Stages": {
|
|
|
|
"Stages": null
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-10-22 11:59:08 +00:00
|
|
|
### ClientDealPieceCID
|
|
|
|
ClientCalcCommP calculates the CommP and data size of the specified CID
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"PayloadSize": 9,
|
|
|
|
"PieceSize": 1032,
|
|
|
|
"PieceCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### ClientDealSize
|
|
|
|
ClientDealSize calculates real deal data size
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"PayloadSize": 9,
|
|
|
|
"PieceSize": 1032
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ClientFindData
|
|
|
|
ClientFindData identifies peers that have a certain file, and returns QueryOffers (one per peer).
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
null
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ClientGenCar
|
|
|
|
ClientGenCar generates a CAR file for the specified file.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Path": "string value",
|
|
|
|
"IsCAR": true
|
|
|
|
},
|
|
|
|
"string value"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### ClientGetDealInfo
|
|
|
|
ClientGetDealInfo returns the latest information about a given deal.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"ProposalCid": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"State": 42,
|
|
|
|
"Message": "string value",
|
2021-03-29 15:32:09 +00:00
|
|
|
"DealStages": {
|
|
|
|
"Stages": null
|
|
|
|
},
|
2020-10-06 07:30:40 +00:00
|
|
|
"Provider": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"DataRef": {
|
|
|
|
"TransferType": "string value",
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"PieceCid": null,
|
2021-02-19 19:13:47 +00:00
|
|
|
"PieceSize": 1024,
|
|
|
|
"RawBlockSize": 42
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
"PieceCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Size": 42,
|
|
|
|
"PricePerEpoch": "0",
|
|
|
|
"Duration": 42,
|
|
|
|
"DealID": 5432,
|
2020-10-03 07:41:01 +00:00
|
|
|
"CreationTime": "0001-01-01T00:00:00Z",
|
2020-12-08 14:18:47 +00:00
|
|
|
"Verified": true,
|
|
|
|
"TransferChannelID": {
|
|
|
|
"Initiator": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"Responder": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"ID": 3
|
|
|
|
},
|
|
|
|
"DataTransfer": {
|
|
|
|
"TransferID": 3,
|
|
|
|
"Status": 1,
|
|
|
|
"BaseCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"IsInitiator": true,
|
|
|
|
"IsSender": true,
|
|
|
|
"Voucher": "string value",
|
|
|
|
"Message": "string value",
|
|
|
|
"OtherPeer": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
2021-03-29 15:32:09 +00:00
|
|
|
"Transferred": 42,
|
|
|
|
"Stages": {
|
|
|
|
"Stages": null
|
|
|
|
}
|
2020-12-08 14:18:47 +00:00
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-10-09 04:25:38 +00:00
|
|
|
### ClientGetDealStatus
|
|
|
|
ClientGetDealStatus returns status given a code
|
|
|
|
|
|
|
|
|
2020-10-22 12:15:11 +00:00
|
|
|
Perms: read
|
2020-10-09 04:25:38 +00:00
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
42
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"string value"`
|
|
|
|
|
2020-08-28 20:17:35 +00:00
|
|
|
### ClientGetDealUpdates
|
|
|
|
ClientGetDealUpdates returns the status of updated deals
|
|
|
|
|
|
|
|
|
2021-03-23 12:42:56 +00:00
|
|
|
Perms: write
|
2020-08-28 20:17:35 +00:00
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"ProposalCid": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"State": 42,
|
|
|
|
"Message": "string value",
|
2021-03-29 15:32:09 +00:00
|
|
|
"DealStages": {
|
|
|
|
"Stages": null
|
|
|
|
},
|
2020-10-06 07:30:40 +00:00
|
|
|
"Provider": "f01234",
|
2020-08-28 20:17:35 +00:00
|
|
|
"DataRef": {
|
|
|
|
"TransferType": "string value",
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"PieceCid": null,
|
2021-02-19 19:13:47 +00:00
|
|
|
"PieceSize": 1024,
|
|
|
|
"RawBlockSize": 42
|
2020-08-28 20:17:35 +00:00
|
|
|
},
|
|
|
|
"PieceCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Size": 42,
|
|
|
|
"PricePerEpoch": "0",
|
|
|
|
"Duration": 42,
|
|
|
|
"DealID": 5432,
|
2020-10-03 07:41:01 +00:00
|
|
|
"CreationTime": "0001-01-01T00:00:00Z",
|
2020-12-08 14:18:47 +00:00
|
|
|
"Verified": true,
|
|
|
|
"TransferChannelID": {
|
|
|
|
"Initiator": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"Responder": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"ID": 3
|
|
|
|
},
|
|
|
|
"DataTransfer": {
|
|
|
|
"TransferID": 3,
|
|
|
|
"Status": 1,
|
|
|
|
"BaseCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"IsInitiator": true,
|
|
|
|
"IsSender": true,
|
|
|
|
"Voucher": "string value",
|
|
|
|
"Message": "string value",
|
|
|
|
"OtherPeer": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
2021-03-29 15:32:09 +00:00
|
|
|
"Transferred": 42,
|
|
|
|
"Stages": {
|
|
|
|
"Stages": null
|
|
|
|
}
|
2020-12-08 14:18:47 +00:00
|
|
|
}
|
2020-08-28 20:17:35 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2021-05-27 22:00:31 +00:00
|
|
|
### ClientGetRetrievalUpdates
|
|
|
|
ClientGetRetrievalUpdates returns status of updated retrieval deals
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"PayloadCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"ID": 5,
|
|
|
|
"PieceCID": null,
|
|
|
|
"PricePerByte": "0",
|
|
|
|
"UnsealPrice": "0",
|
|
|
|
"Status": 0,
|
|
|
|
"Message": "string value",
|
|
|
|
"Provider": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"BytesReceived": 42,
|
|
|
|
"BytesPaidFor": 42,
|
|
|
|
"TotalPaid": "0",
|
|
|
|
"TransferChannelID": {
|
|
|
|
"Initiator": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"Responder": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"ID": 3
|
|
|
|
},
|
|
|
|
"DataTransfer": {
|
|
|
|
"TransferID": 3,
|
|
|
|
"Status": 1,
|
|
|
|
"BaseCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"IsInitiator": true,
|
|
|
|
"IsSender": true,
|
|
|
|
"Voucher": "string value",
|
|
|
|
"Message": "string value",
|
|
|
|
"OtherPeer": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"Transferred": 42,
|
|
|
|
"Stages": {
|
|
|
|
"Stages": null
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### ClientHasLocal
|
|
|
|
ClientHasLocal indicates whether a certain CID is locally stored.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `true`
|
|
|
|
|
|
|
|
### ClientImport
|
|
|
|
ClientImport imports file under the specified path into filestore.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Path": "string value",
|
|
|
|
"IsCAR": true
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"ImportID": 50
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ClientListDataTransfers
|
|
|
|
ClientListTransfers returns the status of all ongoing transfers of data
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ClientListDeals
|
|
|
|
ClientListDeals returns information about the deals made by the local client.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ClientListImports
|
|
|
|
ClientListImports lists imported files and their root CIDs
|
|
|
|
|
|
|
|
|
2021-05-27 22:00:31 +00:00
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ClientListRetrievals
|
|
|
|
ClientQueryAsk returns a signed StorageAsk from the specified miner.
|
|
|
|
ClientListRetrievals returns information about retrievals made by the local client
|
|
|
|
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ClientMinerQueryOffer
|
|
|
|
ClientMinerQueryOffer returns a QueryOffer for the specific miner and file.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
null
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Err": "string value",
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Piece": null,
|
|
|
|
"Size": 42,
|
|
|
|
"MinPrice": "0",
|
|
|
|
"UnsealPrice": "0",
|
|
|
|
"PaymentInterval": 42,
|
|
|
|
"PaymentIntervalIncrease": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"Miner": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"MinerPeer": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Address": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"PieceCID": null
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ClientQueryAsk
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-09-29 11:53:30 +00:00
|
|
|
"Price": "0",
|
|
|
|
"VerifiedPrice": "0",
|
|
|
|
"MinPieceSize": 1032,
|
|
|
|
"MaxPieceSize": 1032,
|
2020-10-06 07:30:40 +00:00
|
|
|
"Miner": "f01234",
|
2020-09-29 11:53:30 +00:00
|
|
|
"Timestamp": 10101,
|
|
|
|
"Expiry": 10101,
|
|
|
|
"SeqNo": 42
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ClientRemoveImport
|
|
|
|
ClientRemoveImport removes file import
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
50
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-10-13 10:37:00 +00:00
|
|
|
### ClientRestartDataTransfer
|
|
|
|
ClientRestartDataTransfer attempts to restart a data transfer with the given transfer ID and other peer
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
3,
|
|
|
|
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
true
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
### ClientRetrieve
|
|
|
|
ClientRetrieve initiates the retrieval of a file, as specified in the order.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Piece": null,
|
|
|
|
"Size": 42,
|
integrate DAG store and CARv2 in deal-making (#6671)
This commit removes badger from the deal-making processes, and
moves to a new architecture with the dagstore as the cental
component on the miner-side, and CARv2s on the client-side.
Every deal that has been handed off to the sealing subsystem becomes
a shard in the dagstore. Shards are mounted via the LotusMount, which
teaches the dagstore how to load the related piece when serving
retrievals.
When the miner starts the Lotus for the first time with this patch,
we will perform a one-time migration of all active deals into the
dagstore. This is a lightweight process, and it consists simply
of registering the shards in the dagstore.
Shards are backed by the unsealed copy of the piece. This is currently
a CARv1. However, the dagstore keeps CARv2 indices for all pieces, so
when it's time to acquire a shard to serve a retrieval, the unsealed
CARv1 is joined with its index (safeguarded by the dagstore), to form
a read-only blockstore, thus taking the place of the monolithic
badger.
Data transfers have been adjusted to interface directly with CARv2 files.
On inbound transfers (client retrievals, miner storage deals), we stream
the received data into a CARv2 ReadWrite blockstore. On outbound transfers
(client storage deals, miner retrievals), we serve the data off a CARv2
ReadOnly blockstore.
Client-side imports are managed by the refactored *imports.Manager
component (when not using IPFS integration). Just like it before, we use
the go-filestore library to avoid duplicating the data from the original
file in the resulting UnixFS DAG (concretely the leaves). However, the
target of those imports are what we call "ref-CARv2s": CARv2 files placed
under the `$LOTUS_PATH/imports` directory, containing the intermediate
nodes in full, and the leaves as positional references to the original file
on disk.
Client-side retrievals are placed into CARv2 files in the location:
`$LOTUS_PATH/retrievals`.
A new set of `Dagstore*` JSON-RPC operations and `lotus-miner dagstore`
subcommands have been introduced on the miner-side to inspect and manage
the dagstore.
Despite moving to a CARv2-backed system, the IPFS integration has been
respected, and it continues to be possible to make storage deals with data
held in an IPFS node, and to perform retrievals directly into an IPFS node.
NOTE: because the "staging" and "client" Badger blockstores are no longer
used, existing imports on the client will be rendered useless. On startup,
Lotus will enumerate all imports and print WARN statements on the log for
each import that needs to be reimported. These log lines contain these
messages:
- import lacks carv2 path; import will not work; please reimport
- import has missing/broken carv2; please reimport
At the end, we will print a "sanity check completed" message indicating
the count of imports found, and how many were deemed broken.
Co-authored-by: Aarsh Shah <aarshkshah1992@gmail.com>
Co-authored-by: Dirk McCormick <dirkmdev@gmail.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
Co-authored-by: Dirk McCormick <dirkmdev@gmail.com>
2021-08-16 22:34:32 +00:00
|
|
|
"FromLocalCAR": "string value",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Total": "0",
|
|
|
|
"UnsealPrice": "0",
|
|
|
|
"PaymentInterval": 42,
|
|
|
|
"PaymentIntervalIncrease": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"Client": "f01234",
|
|
|
|
"Miner": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"MinerPeer": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Address": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"PieceCID": null
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Path": "string value",
|
|
|
|
"IsCAR": true
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-09-07 12:35:29 +00:00
|
|
|
### ClientRetrieveTryRestartInsufficientFunds
|
|
|
|
ClientRetrieveTryRestartInsufficientFunds attempts to restart stalled retrievals on a given payment channel
|
|
|
|
which are stuck due to insufficient funds
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-09-07 12:35:29 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### ClientRetrieveWithEvents
|
|
|
|
ClientRetrieveWithEvents initiates the retrieval of a file, as specified in the order, and provides a channel
|
|
|
|
of status updates.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Piece": null,
|
|
|
|
"Size": 42,
|
integrate DAG store and CARv2 in deal-making (#6671)
This commit removes badger from the deal-making processes, and
moves to a new architecture with the dagstore as the cental
component on the miner-side, and CARv2s on the client-side.
Every deal that has been handed off to the sealing subsystem becomes
a shard in the dagstore. Shards are mounted via the LotusMount, which
teaches the dagstore how to load the related piece when serving
retrievals.
When the miner starts the Lotus for the first time with this patch,
we will perform a one-time migration of all active deals into the
dagstore. This is a lightweight process, and it consists simply
of registering the shards in the dagstore.
Shards are backed by the unsealed copy of the piece. This is currently
a CARv1. However, the dagstore keeps CARv2 indices for all pieces, so
when it's time to acquire a shard to serve a retrieval, the unsealed
CARv1 is joined with its index (safeguarded by the dagstore), to form
a read-only blockstore, thus taking the place of the monolithic
badger.
Data transfers have been adjusted to interface directly with CARv2 files.
On inbound transfers (client retrievals, miner storage deals), we stream
the received data into a CARv2 ReadWrite blockstore. On outbound transfers
(client storage deals, miner retrievals), we serve the data off a CARv2
ReadOnly blockstore.
Client-side imports are managed by the refactored *imports.Manager
component (when not using IPFS integration). Just like it before, we use
the go-filestore library to avoid duplicating the data from the original
file in the resulting UnixFS DAG (concretely the leaves). However, the
target of those imports are what we call "ref-CARv2s": CARv2 files placed
under the `$LOTUS_PATH/imports` directory, containing the intermediate
nodes in full, and the leaves as positional references to the original file
on disk.
Client-side retrievals are placed into CARv2 files in the location:
`$LOTUS_PATH/retrievals`.
A new set of `Dagstore*` JSON-RPC operations and `lotus-miner dagstore`
subcommands have been introduced on the miner-side to inspect and manage
the dagstore.
Despite moving to a CARv2-backed system, the IPFS integration has been
respected, and it continues to be possible to make storage deals with data
held in an IPFS node, and to perform retrievals directly into an IPFS node.
NOTE: because the "staging" and "client" Badger blockstores are no longer
used, existing imports on the client will be rendered useless. On startup,
Lotus will enumerate all imports and print WARN statements on the log for
each import that needs to be reimported. These log lines contain these
messages:
- import lacks carv2 path; import will not work; please reimport
- import has missing/broken carv2; please reimport
At the end, we will print a "sanity check completed" message indicating
the count of imports found, and how many were deemed broken.
Co-authored-by: Aarsh Shah <aarshkshah1992@gmail.com>
Co-authored-by: Dirk McCormick <dirkmdev@gmail.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
Co-authored-by: Dirk McCormick <dirkmdev@gmail.com>
2021-08-16 22:34:32 +00:00
|
|
|
"FromLocalCAR": "string value",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Total": "0",
|
|
|
|
"UnsealPrice": "0",
|
|
|
|
"PaymentInterval": 42,
|
|
|
|
"PaymentIntervalIncrease": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"Client": "f01234",
|
|
|
|
"Miner": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"MinerPeer": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Address": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"PieceCID": null
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Path": "string value",
|
|
|
|
"IsCAR": true
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Event": 5,
|
|
|
|
"Status": 0,
|
|
|
|
"BytesReceived": 42,
|
|
|
|
"FundsSpent": "0",
|
|
|
|
"Err": "string value"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### ClientStartDeal
|
|
|
|
ClientStartDeal proposes a deal with a miner.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
2021-04-05 17:15:32 +00:00
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Data": {
|
|
|
|
"TransferType": "string value",
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"PieceCid": null,
|
|
|
|
"PieceSize": 1024,
|
|
|
|
"RawBlockSize": 42
|
|
|
|
},
|
|
|
|
"Wallet": "f01234",
|
|
|
|
"Miner": "f01234",
|
|
|
|
"EpochPrice": "0",
|
|
|
|
"MinBlocksDuration": 42,
|
|
|
|
"ProviderCollateral": "0",
|
|
|
|
"DealStartEpoch": 10101,
|
|
|
|
"FastRetrieval": true,
|
|
|
|
"VerifiedDeal": true
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### ClientStatelessDeal
|
|
|
|
ClientStatelessDeal fire-and-forget-proposes an offline deal to a miner without subsequent tracking.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Data": {
|
|
|
|
"TransferType": "string value",
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"PieceCid": null,
|
2021-02-19 19:13:47 +00:00
|
|
|
"PieceSize": 1024,
|
|
|
|
"RawBlockSize": 42
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
2020-10-06 07:30:40 +00:00
|
|
|
"Wallet": "f01234",
|
|
|
|
"Miner": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"EpochPrice": "0",
|
|
|
|
"MinBlocksDuration": 42,
|
|
|
|
"ProviderCollateral": "0",
|
|
|
|
"DealStartEpoch": 10101,
|
|
|
|
"FastRetrieval": true,
|
|
|
|
"VerifiedDeal": true
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
2020-10-01 16:00:24 +00:00
|
|
|
## Create
|
|
|
|
|
|
|
|
|
|
|
|
### CreateBackup
|
|
|
|
CreateBackup creates node backup onder the specified file name. The
|
|
|
|
method requires that the lotus daemon is running with the
|
|
|
|
LOTUS_BACKUP_BASE_PATH environment variable set to some path, and that
|
|
|
|
the path specified when calling CreateBackup is within the base path
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"string value"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
## Gas
|
|
|
|
|
|
|
|
|
|
|
|
### GasEstimateFeeCap
|
|
|
|
GasEstimateFeeCap estimates gas fee cap
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
9,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
### GasEstimateGasLimit
|
|
|
|
GasEstimateGasLimit estimates gas used by the message and returns it.
|
|
|
|
It fails if message fails to execute.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `9`
|
|
|
|
|
|
|
|
### GasEstimateGasPremium
|
|
|
|
GasEstimateGasPremium estimates what gas price should be used for a
|
|
|
|
message to have high likelihood of inclusion in `nblocksincl` epochs.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
9,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
### GasEstimateMessageGas
|
|
|
|
GasEstimateMessageGas estimates gas values for unset message gas fields
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"MaxFee": "0"
|
|
|
|
},
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## I
|
|
|
|
|
|
|
|
|
|
|
|
### ID
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"`
|
|
|
|
|
|
|
|
## Log
|
|
|
|
|
|
|
|
|
2021-08-17 13:15:36 +00:00
|
|
|
### LogAlerts
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### LogList
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### LogSetLevel
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"string value",
|
|
|
|
"string value"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
## Market
|
|
|
|
|
|
|
|
|
2021-01-06 13:27:28 +00:00
|
|
|
### MarketAddBalance
|
|
|
|
MarketAddBalance adds funds to the market actor
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234",
|
|
|
|
"f01234",
|
|
|
|
"0"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2021-01-07 08:35:30 +00:00
|
|
|
### MarketGetReserved
|
|
|
|
MarketGetReserved gets the amount of funds that are currently reserved for the address
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
2020-11-11 05:08:23 +00:00
|
|
|
### MarketReleaseFunds
|
|
|
|
MarketReleaseFunds releases funds reserved by MarketReserveFunds
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234",
|
|
|
|
"0"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### MarketReserveFunds
|
|
|
|
MarketReserveFunds reserves funds for a deal
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
2020-12-03 21:20:50 +00:00
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234",
|
|
|
|
"f01234",
|
|
|
|
"0"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MarketWithdraw
|
|
|
|
MarketWithdraw withdraws unlocked funds from the market actor
|
|
|
|
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"0"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Miner
|
|
|
|
|
|
|
|
|
|
|
|
### MinerCreateBlock
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"Miner": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Parents": [
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"Ticket": {
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Eproof": {
|
|
|
|
"WinCount": 9,
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"BeaconValues": null,
|
|
|
|
"Messages": null,
|
|
|
|
"Epoch": 10101,
|
|
|
|
"Timestamp": 42,
|
|
|
|
"WinningPoStProof": null
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Header": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Miner": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Ticket": {
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"ElectionProof": {
|
|
|
|
"WinCount": 9,
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"BeaconEntries": null,
|
|
|
|
"WinPoStProof": null,
|
|
|
|
"Parents": null,
|
|
|
|
"ParentWeight": "0",
|
|
|
|
"Height": 10101,
|
|
|
|
"ParentStateRoot": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"ParentMessageReceipts": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Messages": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"BLSAggregate": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Timestamp": 42,
|
|
|
|
"BlockSig": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"ForkSignaling": 42,
|
|
|
|
"ParentBaseFee": "0"
|
|
|
|
},
|
|
|
|
"BlsMessages": null,
|
|
|
|
"SecpkMessages": null
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MinerGetBaseInfo
|
|
|
|
There are not yet any comments for this method.
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
10101,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"MinerPower": "0",
|
|
|
|
"NetworkPower": "0",
|
|
|
|
"Sectors": null,
|
2020-10-06 07:30:40 +00:00
|
|
|
"WorkerKey": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"SectorSize": 34359738368,
|
|
|
|
"PrevBeaconEntry": {
|
|
|
|
"Round": 42,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"BeaconEntries": null,
|
2020-10-06 08:47:00 +00:00
|
|
|
"EligibleForMining": true
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Mpool
|
|
|
|
The Mpool methods are for interacting with the message pool. The message pool
|
|
|
|
manages all incoming and outgoing 'messages' going over the network.
|
|
|
|
|
|
|
|
|
2020-10-22 12:46:10 +00:00
|
|
|
### MpoolBatchPush
|
|
|
|
MpoolBatchPush batch pushes a signed message to mempool.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
null
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### MpoolBatchPushMessage
|
|
|
|
MpoolBatchPushMessage batch pushes a unsigned message to mempool.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
null,
|
|
|
|
{
|
|
|
|
"MaxFee": "0"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### MpoolBatchPushUntrusted
|
|
|
|
MpoolBatchPushUntrusted batch pushes a signed message to mempool from untrusted sources.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
null
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### MpoolClear
|
|
|
|
MpoolClear clears pending messages from the mpool
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
true
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### MpoolGetConfig
|
|
|
|
MpoolGetConfig returns (a copy of) the current mpool config
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"PriorityAddrs": null,
|
|
|
|
"SizeLimitHigh": 123,
|
|
|
|
"SizeLimitLow": 123,
|
|
|
|
"ReplaceByFeeRatio": 12.3,
|
|
|
|
"PruneCooldown": 60000000000,
|
|
|
|
"GasLimitOverestimation": 12.3
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MpoolGetNonce
|
|
|
|
MpoolGetNonce gets next nonce for the specified sender.
|
|
|
|
Note that this method may not be atomic. Use MpoolPushMessage instead.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `42`
|
|
|
|
|
|
|
|
### MpoolPending
|
|
|
|
MpoolPending returns pending mempool messages.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### MpoolPush
|
|
|
|
MpoolPush pushes a signed message to mempool.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Message": {
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
2020-10-12 18:47:09 +00:00
|
|
|
},
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MpoolPushMessage
|
|
|
|
MpoolPushMessage atomically assigns a nonce, signs, and pushes a message
|
|
|
|
to mempool.
|
|
|
|
maxFee is only used when GasFeeCap/GasPremium fields aren't specified
|
|
|
|
|
|
|
|
When maxFee is set to 0, MpoolPushMessage will guess appropriate fee
|
|
|
|
based on current chain conditions
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"MaxFee": "0"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Message": {
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
2020-10-12 18:47:09 +00:00
|
|
|
},
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-10-02 21:14:47 +00:00
|
|
|
### MpoolPushUntrusted
|
|
|
|
MpoolPushUntrusted pushes a signed message to mempool from untrusted sources.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Message": {
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-10-02 21:14:47 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-10-02 21:14:47 +00:00
|
|
|
},
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
2020-10-12 18:47:09 +00:00
|
|
|
},
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
2020-10-02 21:14:47 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### MpoolSelect
|
|
|
|
MpoolSelect returns a list of pending messages for inclusion in the next block
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
12.3
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### MpoolSetConfig
|
|
|
|
MpoolSetConfig sets the mpool config to (a copy of) the supplied config
|
|
|
|
|
|
|
|
|
2021-03-23 12:42:56 +00:00
|
|
|
Perms: admin
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"PriorityAddrs": null,
|
|
|
|
"SizeLimitHigh": 123,
|
|
|
|
"SizeLimitLow": 123,
|
|
|
|
"ReplaceByFeeRatio": 12.3,
|
|
|
|
"PruneCooldown": 60000000000,
|
|
|
|
"GasLimitOverestimation": 12.3
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### MpoolSub
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Type": 0,
|
|
|
|
"Message": {
|
|
|
|
"Message": {
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
2020-10-12 18:47:09 +00:00
|
|
|
},
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Msig
|
|
|
|
The Msig methods are used to interact with multisig wallets on the
|
|
|
|
filecoin network
|
|
|
|
|
|
|
|
|
2020-09-06 07:51:06 +00:00
|
|
|
### MsigAddApprove
|
|
|
|
MsigAddApprove approves a previously proposed AddSigner message
|
|
|
|
It takes the following params: <multisig address>, <sender address of the approve msg>, <proposed message ID>,
|
|
|
|
<proposer address>, <new signer>, <whether the number of required signers should be increased>
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-09-06 07:51:06 +00:00
|
|
|
42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-09-06 07:51:06 +00:00
|
|
|
true
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MsigAddCancel
|
|
|
|
MsigAddCancel cancels a previously proposed AddSigner message
|
|
|
|
It takes the following params: <multisig address>, <sender address of the cancel msg>, <proposed message ID>,
|
|
|
|
<new signer>, <whether the number of required signers should be increased>
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-09-06 07:51:06 +00:00
|
|
|
42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-09-06 07:51:06 +00:00
|
|
|
true
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MsigAddPropose
|
|
|
|
MsigAddPropose proposes adding a signer in the multisig
|
|
|
|
It takes the following params: <multisig address>, <sender address of the propose msg>,
|
|
|
|
<new signer>, <whether the number of required signers should be increased>
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-09-06 07:51:06 +00:00
|
|
|
true
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### MsigApprove
|
2020-10-10 10:28:59 +00:00
|
|
|
MsigApprove approves a previously-proposed multisig message by transaction ID
|
|
|
|
It takes the following params: <multisig address>, <proposed transaction ID> <signer address>
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234",
|
|
|
|
42,
|
|
|
|
"f01234"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MsigApproveTxnHash
|
|
|
|
MsigApproveTxnHash approves a previously-proposed multisig message, specified
|
|
|
|
using both transaction ID and a hash of the parameters used in the
|
|
|
|
proposal. This method of approval can be used to ensure you only approve
|
|
|
|
exactly the transaction you think you are.
|
2020-08-24 10:25:49 +00:00
|
|
|
It takes the following params: <multisig address>, <proposed message ID>, <proposer address>, <recipient address>, <value to transfer>,
|
2021-06-15 02:59:17 +00:00
|
|
|
<sender address of the approve msg>, <method to call in the approved message>, <params to include in the proposed message>
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"0",
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
42,
|
|
|
|
"Ynl0ZSBhcnJheQ=="
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MsigCancel
|
|
|
|
MsigCancel cancels a previously-proposed multisig message
|
2020-10-10 10:28:59 +00:00
|
|
|
It takes the following params: <multisig address>, <proposed transaction ID>, <recipient address>, <value to transfer>,
|
2020-08-24 10:25:49 +00:00
|
|
|
<sender address of the cancel msg>, <method to call in the proposed message>, <params to include in the proposed message>
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"0",
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
42,
|
|
|
|
"Ynl0ZSBhcnJheQ=="
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MsigCreate
|
|
|
|
MsigCreate creates a multisig wallet
|
|
|
|
It takes the following params: <required number of senders>, <approving addresses>, <unlock duration>
|
|
|
|
<initial balance>, <sender address of the create msg>, <gas price>
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
42,
|
|
|
|
null,
|
|
|
|
10101,
|
|
|
|
"0",
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"0"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MsigGetAvailableBalance
|
|
|
|
MsigGetAvailableBalance returns the portion of a multisig's balance that can be withdrawn or spent
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
2021-02-05 11:34:28 +00:00
|
|
|
### MsigGetPending
|
|
|
|
MsigGetPending returns pending transactions for the given multisig
|
|
|
|
wallet. Once pending transactions are fully approved, they will no longer
|
|
|
|
appear here.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234",
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
2020-09-06 07:51:06 +00:00
|
|
|
### MsigGetVested
|
|
|
|
MsigGetVested returns the amount of FIL that vested in a multisig in a certain period.
|
|
|
|
It takes the following params: <multisig address>, <start epoch>, <end epoch>
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-09-06 07:51:06 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
2020-10-08 19:19:39 +00:00
|
|
|
### MsigGetVestingSchedule
|
2020-10-09 21:14:21 +00:00
|
|
|
MsigGetVestingSchedule returns the vesting details of a given multisig.
|
2020-10-08 19:19:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234",
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"InitialBalance": "0",
|
|
|
|
"StartEpoch": 10101,
|
|
|
|
"UnlockDuration": 10101
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### MsigPropose
|
|
|
|
MsigPropose proposes a multisig message
|
|
|
|
It takes the following params: <multisig address>, <recipient address>, <value to transfer>,
|
|
|
|
<sender address of the propose msg>, <method to call in the proposed message>, <params to include in the proposed message>
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"0",
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
42,
|
|
|
|
"Ynl0ZSBhcnJheQ=="
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-10-10 10:28:59 +00:00
|
|
|
### MsigRemoveSigner
|
|
|
|
MsigRemoveSigner proposes the removal of a signer from the multisig.
|
|
|
|
It accepts the multisig to make the change on, the proposer address to
|
|
|
|
send the message from, the address to be removed, and a boolean
|
|
|
|
indicating whether or not the signing threshold should be lowered by one
|
|
|
|
along with the address removal.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234",
|
|
|
|
"f01234",
|
|
|
|
"f01234",
|
|
|
|
true
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### MsigSwapApprove
|
|
|
|
MsigSwapApprove approves a previously proposed SwapSigner
|
|
|
|
It takes the following params: <multisig address>, <sender address of the approve msg>, <proposed message ID>,
|
2020-09-06 07:51:06 +00:00
|
|
|
<proposer address>, <old signer>, <new signer>
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MsigSwapCancel
|
|
|
|
MsigSwapCancel cancels a previously proposed SwapSigner message
|
|
|
|
It takes the following params: <multisig address>, <sender address of the cancel msg>, <proposed message ID>,
|
2020-09-06 07:51:06 +00:00
|
|
|
<old signer>, <new signer>
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### MsigSwapPropose
|
|
|
|
MsigSwapPropose proposes swapping 2 signers in the multisig
|
|
|
|
It takes the following params: <multisig address>, <sender address of the propose msg>,
|
2020-09-06 07:51:06 +00:00
|
|
|
<old signer>, <new signer>
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
|
|
|
"f01234",
|
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Net
|
|
|
|
|
|
|
|
|
|
|
|
### NetAddrsListen
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2021-06-07 19:17:05 +00:00
|
|
|
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"Addrs": []
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-09-03 23:35:53 +00:00
|
|
|
### NetAgentVersion
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"string value"`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### NetAutoNatStatus
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Reachability": 1,
|
|
|
|
"PublicAddr": "string value"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-09-02 23:31:41 +00:00
|
|
|
### NetBandwidthStats
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"TotalIn": 9,
|
|
|
|
"TotalOut": 9,
|
|
|
|
"RateIn": 12.3,
|
|
|
|
"RateOut": 12.3
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### NetBandwidthStatsByPeer
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"12D3KooWSXmXLJmBR1M7i9RW9GQPNUhZSzXKzxDHWtAgNuJAbyEJ": {
|
|
|
|
"TotalIn": 174000,
|
|
|
|
"TotalOut": 12500,
|
|
|
|
"RateIn": 100,
|
|
|
|
"RateOut": 50
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### NetBandwidthStatsByProtocol
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/fil/hello/1.0.0": {
|
|
|
|
"TotalIn": 174000,
|
|
|
|
"TotalOut": 12500,
|
|
|
|
"RateIn": 100,
|
|
|
|
"RateOut": 50
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-11-16 16:52:55 +00:00
|
|
|
### NetBlockAdd
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Peers": null,
|
|
|
|
"IPAddrs": null,
|
|
|
|
"IPSubnets": null
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### NetBlockList
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Peers": null,
|
|
|
|
"IPAddrs": null,
|
|
|
|
"IPSubnets": null
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### NetBlockRemove
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Peers": null,
|
|
|
|
"IPAddrs": null,
|
|
|
|
"IPSubnets": null
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### NetConnect
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
2021-06-07 19:17:05 +00:00
|
|
|
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"Addrs": []
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### NetConnectedness
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `1`
|
|
|
|
|
|
|
|
### NetDisconnect
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### NetFindPeer
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2021-06-07 19:17:05 +00:00
|
|
|
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"Addrs": []
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2021-03-08 12:23:58 +00:00
|
|
|
### NetPeerInfo
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"Agent": "string value",
|
|
|
|
"Addrs": null,
|
2021-03-08 23:03:10 +00:00
|
|
|
"Protocols": null,
|
|
|
|
"ConnMgrMeta": {
|
|
|
|
"FirstSeen": "0001-01-01T00:00:00Z",
|
|
|
|
"Value": 123,
|
|
|
|
"Tags": {
|
|
|
|
"name": 42
|
|
|
|
},
|
|
|
|
"Conns": {
|
2021-03-08 23:24:03 +00:00
|
|
|
"name": "2021-03-08T22:52:18Z"
|
2021-03-08 23:03:10 +00:00
|
|
|
}
|
|
|
|
}
|
2021-03-08 12:23:58 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### NetPeers
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### NetPubsubScores
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
## Paych
|
|
|
|
The Paych methods are for interacting with and managing payment channels
|
|
|
|
|
|
|
|
|
|
|
|
### PaychAllocateLane
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `42`
|
|
|
|
|
2020-09-03 23:35:53 +00:00
|
|
|
### PaychAvailableFunds
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-09-03 23:35:53 +00:00
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
2020-09-15 01:44:45 +00:00
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-09-15 01:44:45 +00:00
|
|
|
]
|
|
|
|
```
|
2020-09-05 19:51:30 +00:00
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Channel": "\u003cempty\u003e",
|
2020-10-06 07:30:40 +00:00
|
|
|
"From": "f01234",
|
|
|
|
"To": "f01234",
|
2020-09-05 19:51:30 +00:00
|
|
|
"ConfirmedAmt": "0",
|
|
|
|
"PendingAmt": "0",
|
|
|
|
"PendingWaitSentinel": null,
|
|
|
|
"QueuedAmt": "0",
|
|
|
|
"VoucherReedeemedAmt": "0"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### PaychAvailableFundsByFromTo
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-09-05 19:51:30 +00:00
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
2020-09-03 23:35:53 +00:00
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234"
|
2020-09-03 23:35:53 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Channel": "\u003cempty\u003e",
|
2020-10-06 07:30:40 +00:00
|
|
|
"From": "f01234",
|
|
|
|
"To": "f01234",
|
2020-09-03 23:35:53 +00:00
|
|
|
"ConfirmedAmt": "0",
|
|
|
|
"PendingAmt": "0",
|
|
|
|
"PendingWaitSentinel": null,
|
|
|
|
"QueuedAmt": "0",
|
|
|
|
"VoucherReedeemedAmt": "0"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### PaychCollect
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### PaychGet
|
|
|
|
There are not yet any comments for this method.
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"0"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"Channel": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"WaitSentinel": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### PaychGetWaitReady
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-06 07:30:40 +00:00
|
|
|
Response: `"f01234"`
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
### PaychList
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### PaychNewPayment
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
null
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"Channel": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"WaitSentinel": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Vouchers": null
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### PaychSettle
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### PaychStatus
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"ControlAddr": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Direction": 1
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### PaychVoucherAdd
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"ChannelAddr": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"TimeLockMin": 10101,
|
|
|
|
"TimeLockMax": 10101,
|
|
|
|
"SecretPreimage": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"Extra": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Actor": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Method": 1,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Lane": 42,
|
|
|
|
"Nonce": 42,
|
|
|
|
"Amount": "0",
|
|
|
|
"MinSettleHeight": 10101,
|
|
|
|
"Merges": null,
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"Ynl0ZSBhcnJheQ==",
|
|
|
|
"0"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
### PaychVoucherCheckSpendable
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"ChannelAddr": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"TimeLockMin": 10101,
|
|
|
|
"TimeLockMax": 10101,
|
|
|
|
"SecretPreimage": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"Extra": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Actor": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Method": 1,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Lane": 42,
|
|
|
|
"Nonce": 42,
|
|
|
|
"Amount": "0",
|
|
|
|
"MinSettleHeight": 10101,
|
|
|
|
"Merges": null,
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"Ynl0ZSBhcnJheQ==",
|
|
|
|
"Ynl0ZSBhcnJheQ=="
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `true`
|
|
|
|
|
|
|
|
### PaychVoucherCheckValid
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"ChannelAddr": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"TimeLockMin": 10101,
|
|
|
|
"TimeLockMax": 10101,
|
|
|
|
"SecretPreimage": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"Extra": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Actor": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Method": 1,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Lane": 42,
|
|
|
|
"Nonce": 42,
|
|
|
|
"Amount": "0",
|
|
|
|
"MinSettleHeight": 10101,
|
|
|
|
"Merges": null,
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### PaychVoucherCreate
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"0",
|
|
|
|
42
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-09-03 23:35:53 +00:00
|
|
|
"Voucher": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"ChannelAddr": "f01234",
|
2020-09-03 23:35:53 +00:00
|
|
|
"TimeLockMin": 10101,
|
|
|
|
"TimeLockMax": 10101,
|
|
|
|
"SecretPreimage": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"Extra": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Actor": "f01234",
|
2020-09-03 23:35:53 +00:00
|
|
|
"Method": 1,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Lane": 42,
|
|
|
|
"Nonce": 42,
|
|
|
|
"Amount": "0",
|
|
|
|
"MinSettleHeight": 10101,
|
|
|
|
"Merges": null,
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
2020-09-03 23:35:53 +00:00
|
|
|
"Shortfall": "0"
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### PaychVoucherList
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### PaychVoucherSubmit
|
2021-03-23 12:42:56 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"ChannelAddr": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"TimeLockMin": 10101,
|
|
|
|
"TimeLockMax": 10101,
|
|
|
|
"SecretPreimage": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"Extra": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Actor": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Method": 1,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Lane": 42,
|
|
|
|
"Nonce": 42,
|
|
|
|
"Amount": "0",
|
|
|
|
"MinSettleHeight": 10101,
|
|
|
|
"Merges": null,
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
2020-08-28 20:03:09 +00:00
|
|
|
},
|
|
|
|
"Ynl0ZSBhcnJheQ==",
|
|
|
|
"Ynl0ZSBhcnJheQ=="
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## State
|
|
|
|
The State methods are used to query, inspect, and interact with chain state.
|
2020-10-26 17:46:41 +00:00
|
|
|
Most methods take a TipSetKey as a parameter. The state looked up is the parent state of the tipset.
|
2020-08-24 10:25:49 +00:00
|
|
|
A nil TipSetKey can be provided as a param, this will cause the heaviest tipset in the chain to be used.
|
|
|
|
|
|
|
|
|
|
|
|
### StateAccountKey
|
|
|
|
StateAccountKey returns the public key address of the given ID address
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-06 07:30:40 +00:00
|
|
|
Response: `"f01234"`
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
### StateAllMinerFaults
|
|
|
|
StateAllMinerFaults returns all non-expired Faults that occur within lookback epochs of the given tipset
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
10101,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### StateCall
|
|
|
|
StateCall runs the given message and returns its result without any persisted changes.
|
|
|
|
|
2020-10-26 17:46:41 +00:00
|
|
|
StateCall applies the message to the tipset's parent state. The
|
|
|
|
message is not applied on-top-of the messages in the passed-in
|
|
|
|
tipset.
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-10-14 03:45:47 +00:00
|
|
|
"MsgCid": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
2020-08-24 10:25:49 +00:00
|
|
|
"Msg": {
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
"MsgRct": {
|
|
|
|
"ExitCode": 0,
|
|
|
|
"Return": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"GasUsed": 9
|
|
|
|
},
|
2020-10-16 01:00:47 +00:00
|
|
|
"GasCost": {
|
|
|
|
"Message": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"GasUsed": "0",
|
|
|
|
"BaseFeeBurn": "0",
|
|
|
|
"OverEstimationBurn": "0",
|
|
|
|
"MinerPenalty": "0",
|
|
|
|
"MinerTip": "0",
|
|
|
|
"Refund": "0",
|
|
|
|
"TotalCost": "0"
|
|
|
|
},
|
2020-08-24 10:25:49 +00:00
|
|
|
"ExecutionTrace": {
|
|
|
|
"Msg": {
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
"MsgRct": {
|
|
|
|
"ExitCode": 0,
|
|
|
|
"Return": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"GasUsed": 9
|
|
|
|
},
|
|
|
|
"Error": "string value",
|
|
|
|
"Duration": 60000000000,
|
|
|
|
"GasCharges": null,
|
|
|
|
"Subcalls": null
|
|
|
|
},
|
|
|
|
"Error": "string value",
|
|
|
|
"Duration": 60000000000
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateChangedActors
|
|
|
|
StateChangedActors returns all the actors whose states change between the two given state CIDs
|
|
|
|
TODO: Should this take tipset keys instead?
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"t01236": {
|
|
|
|
"Code": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Head": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Nonce": 42,
|
|
|
|
"Balance": "0"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateCirculatingSupply
|
2020-10-11 22:17:28 +00:00
|
|
|
StateCirculatingSupply returns the exact circulating supply of Filecoin at the given tipset.
|
|
|
|
This is not used anywhere in the protocol itself, and is only for external consumption.
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-11 22:17:28 +00:00
|
|
|
Response: `"0"`
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
### StateCompute
|
|
|
|
StateCompute is a flexible command that applies the given messages on the given tipset.
|
|
|
|
The messages are run as though the VM were at the provided height.
|
|
|
|
|
2021-03-19 11:57:59 +00:00
|
|
|
When called, StateCompute will:
|
|
|
|
- Load the provided tipset, or use the current chain head if not provided
|
|
|
|
- Compute the tipset state of the provided tipset on top of the parent state
|
|
|
|
- (note that this step runs before vmheight is applied to the execution)
|
|
|
|
- Execute state upgrade if any were scheduled at the epoch, or in null
|
|
|
|
blocks preceding the tipset
|
|
|
|
- Call the cron actor on null blocks preceding the tipset
|
|
|
|
- For each block in the tipset
|
|
|
|
- Apply messages in blocks in the specified
|
|
|
|
- Award block reward by calling the reward actor
|
|
|
|
- Call the cron actor for the current epoch
|
|
|
|
- If the specified vmheight is higher than the current epoch, apply any
|
|
|
|
needed state upgrades to the state
|
|
|
|
- Apply the specified messages to the state
|
|
|
|
|
|
|
|
The vmheight parameter sets VM execution epoch, and can be used to simulate
|
|
|
|
message execution in different network versions. If the specified vmheight
|
|
|
|
epoch is higher than the epoch of the specified tipset, any state upgrades
|
|
|
|
until the vmheight will be executed on the state before applying messages
|
|
|
|
specified by the user.
|
|
|
|
|
|
|
|
Note that the initial tipset state computation is not affected by the
|
|
|
|
vmheight parameter - only the messages in the `apply` set are
|
|
|
|
|
|
|
|
If the caller wants to simply compute the state, vmheight should be set to
|
|
|
|
the epoch of the specified tipset.
|
|
|
|
|
|
|
|
Messages in the `apply` parameter must have the correct nonces, and gas
|
|
|
|
values set.
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
10101,
|
|
|
|
null,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Root": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Trace": null
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateDealProviderCollateralBounds
|
|
|
|
StateDealProviderCollateralBounds returns the min and max collateral a storage provider
|
|
|
|
can issue. It takes the deal size and verified status as parameters.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
1032,
|
|
|
|
true,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Min": "0",
|
|
|
|
"Max": "0"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-09-29 07:01:52 +00:00
|
|
|
### StateDecodeParams
|
|
|
|
StateDecodeParams attempts to decode the provided params, based on the recipient actor address and method number.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234",
|
|
|
|
1,
|
|
|
|
"Ynl0ZSBhcnJheQ==",
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### StateGetActor
|
|
|
|
StateGetActor returns the indicated actor's nonce and balance.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Code": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Head": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Nonce": 42,
|
|
|
|
"Balance": "0"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateGetReceipt
|
2021-03-18 17:17:46 +00:00
|
|
|
StateGetReceipt returns the message receipt for the given message or for a
|
|
|
|
matching gas-repriced replacing message
|
|
|
|
|
|
|
|
NOTE: If the requested message was replaced, this method will return the receipt
|
|
|
|
for the replacing message - if the caller needs the receipt for exactly the
|
|
|
|
requested message, use StateSearchMsg().Receipt, and check that MsgLookup.Message
|
2021-03-19 11:57:59 +00:00
|
|
|
is matching the requested CID
|
2020-08-24 10:25:49 +00:00
|
|
|
|
2021-03-18 18:46:26 +00:00
|
|
|
DEPRECATED: Use StateSearchMsg, this method won't be supported in v1 API
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"ExitCode": 0,
|
|
|
|
"Return": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"GasUsed": 9
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateListActors
|
|
|
|
StateListActors returns the addresses of every actor in the state
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### StateListMessages
|
|
|
|
StateListMessages looks back and returns all messages with a matching to or from address, stopping at the given height.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
2020-10-15 19:07:41 +00:00
|
|
|
"From": "f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
10101
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### StateListMiners
|
|
|
|
StateListMiners returns the addresses of every miner that has claimed power in the Power Actor
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### StateLookupID
|
|
|
|
StateLookupID retrieves the ID address of the given address
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-06 07:30:40 +00:00
|
|
|
Response: `"f01234"`
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
### StateMarketBalance
|
|
|
|
StateMarketBalance looks up the Escrow and Locked balances of the given address in the Storage Market
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Escrow": "0",
|
|
|
|
"Locked": "0"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateMarketDeals
|
|
|
|
StateMarketDeals returns information about every deal in the Storage Market
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"t026363": {
|
|
|
|
"Proposal": {
|
|
|
|
"PieceCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"PieceSize": 1032,
|
|
|
|
"VerifiedDeal": true,
|
2020-10-06 07:30:40 +00:00
|
|
|
"Client": "f01234",
|
|
|
|
"Provider": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Label": "string value",
|
|
|
|
"StartEpoch": 10101,
|
|
|
|
"EndEpoch": 10101,
|
|
|
|
"StoragePricePerEpoch": "0",
|
|
|
|
"ProviderCollateral": "0",
|
|
|
|
"ClientCollateral": "0"
|
|
|
|
},
|
|
|
|
"State": {
|
|
|
|
"SectorStartEpoch": 10101,
|
|
|
|
"LastUpdatedEpoch": 10101,
|
|
|
|
"SlashEpoch": 10101
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateMarketParticipants
|
|
|
|
StateMarketParticipants returns the Escrow and Locked balances of every participant in the Storage Market
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"t026363": {
|
|
|
|
"Escrow": "0",
|
|
|
|
"Locked": "0"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateMarketStorageDeal
|
|
|
|
StateMarketStorageDeal returns information about the indicated deal
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
5432,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Proposal": {
|
|
|
|
"PieceCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"PieceSize": 1032,
|
|
|
|
"VerifiedDeal": true,
|
2020-10-06 07:30:40 +00:00
|
|
|
"Client": "f01234",
|
|
|
|
"Provider": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Label": "string value",
|
|
|
|
"StartEpoch": 10101,
|
|
|
|
"EndEpoch": 10101,
|
|
|
|
"StoragePricePerEpoch": "0",
|
|
|
|
"ProviderCollateral": "0",
|
|
|
|
"ClientCollateral": "0"
|
|
|
|
},
|
|
|
|
"State": {
|
|
|
|
"SectorStartEpoch": 10101,
|
|
|
|
"LastUpdatedEpoch": 10101,
|
|
|
|
"SlashEpoch": 10101
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateMinerActiveSectors
|
|
|
|
StateMinerActiveSectors returns info about sectors that a given miner is actively proving.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### StateMinerAvailableBalance
|
|
|
|
StateMinerAvailableBalance returns the portion of a miner's balance that can be withdrawn or spent
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
### StateMinerDeadlines
|
|
|
|
StateMinerDeadlines returns all the proving deadlines for the given miner
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### StateMinerFaults
|
|
|
|
StateMinerFaults returns a bitfield indicating the faulty sectors of the given miner
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
5,
|
|
|
|
1
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateMinerInfo
|
|
|
|
StateMinerInfo returns info about the indicated miner
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"Owner": "f01234",
|
|
|
|
"Worker": "f01234",
|
|
|
|
"NewWorker": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"ControlAddresses": null,
|
|
|
|
"WorkerChangeEpoch": 10101,
|
|
|
|
"PeerId": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
|
|
|
|
"Multiaddrs": null,
|
2021-01-18 23:23:28 +00:00
|
|
|
"WindowPoStProofType": 8,
|
2020-08-24 10:25:49 +00:00
|
|
|
"SectorSize": 34359738368,
|
2020-10-06 08:47:00 +00:00
|
|
|
"WindowPoStPartitionSectors": 42,
|
|
|
|
"ConsensusFaultElapsed": 10101
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateMinerInitialPledgeCollateral
|
|
|
|
StateMinerInitialPledgeCollateral returns the initial pledge collateral for the specified miner's sector
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
{
|
2020-11-16 18:19:03 +00:00
|
|
|
"SealProof": 8,
|
2020-08-24 10:25:49 +00:00
|
|
|
"SectorNumber": 9,
|
|
|
|
"SealedCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"SealRandEpoch": 10101,
|
|
|
|
"DealIDs": null,
|
|
|
|
"Expiration": 10101,
|
|
|
|
"ReplaceCapacity": true,
|
|
|
|
"ReplaceSectorDeadline": 42,
|
|
|
|
"ReplaceSectorPartition": 42,
|
|
|
|
"ReplaceSectorNumber": 9
|
|
|
|
},
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
### StateMinerPartitions
|
2020-09-17 15:31:09 +00:00
|
|
|
StateMinerPartitions returns all partitions in the specified deadline
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
42,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### StateMinerPower
|
|
|
|
StateMinerPower returns the power of the indicated miner
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"MinerPower": {
|
|
|
|
"RawBytePower": "0",
|
|
|
|
"QualityAdjPower": "0"
|
|
|
|
},
|
|
|
|
"TotalPower": {
|
|
|
|
"RawBytePower": "0",
|
|
|
|
"QualityAdjPower": "0"
|
2020-09-17 15:31:09 +00:00
|
|
|
},
|
|
|
|
"HasMinPower": true
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateMinerPreCommitDepositForPower
|
|
|
|
StateMinerInitialPledgeCollateral returns the precommit deposit for the specified miner's sector
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
{
|
2020-11-16 18:19:03 +00:00
|
|
|
"SealProof": 8,
|
2020-08-24 10:25:49 +00:00
|
|
|
"SectorNumber": 9,
|
|
|
|
"SealedCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"SealRandEpoch": 10101,
|
|
|
|
"DealIDs": null,
|
|
|
|
"Expiration": 10101,
|
|
|
|
"ReplaceCapacity": true,
|
|
|
|
"ReplaceSectorDeadline": 42,
|
|
|
|
"ReplaceSectorPartition": 42,
|
|
|
|
"ReplaceSectorNumber": 9
|
|
|
|
},
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
### StateMinerProvingDeadline
|
|
|
|
StateMinerProvingDeadline calculates the deadline at some epoch for a proving period
|
|
|
|
and returns the deadline-related calculations.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"CurrentEpoch": 10101,
|
|
|
|
"PeriodStart": 10101,
|
|
|
|
"Index": 42,
|
|
|
|
"Open": 10101,
|
|
|
|
"Close": 10101,
|
|
|
|
"Challenge": 10101,
|
2020-09-10 07:18:47 +00:00
|
|
|
"FaultCutoff": 10101,
|
|
|
|
"WPoStPeriodDeadlines": 42,
|
|
|
|
"WPoStProvingPeriod": 10101,
|
|
|
|
"WPoStChallengeWindow": 10101,
|
|
|
|
"WPoStChallengeLookback": 10101,
|
|
|
|
"FaultDeclarationCutoff": 10101
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateMinerRecoveries
|
|
|
|
StateMinerRecoveries returns a bitfield indicating the recovering sectors of the given miner
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
5,
|
|
|
|
1
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-18 18:10:39 +00:00
|
|
|
### StateMinerSectorAllocated
|
|
|
|
StateMinerSectorAllocated checks if a sector is allocated
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"f01234",
|
|
|
|
9,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `true`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### StateMinerSectorCount
|
|
|
|
StateMinerSectorCount returns the number of sectors in a miner's sector set and proving set
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-09-17 15:31:09 +00:00
|
|
|
"Live": 42,
|
|
|
|
"Active": 42,
|
|
|
|
"Faulty": 42
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateMinerSectors
|
|
|
|
StateMinerSectors returns info about the given miner's sectors. If the filter bitfield is nil, all sectors are included.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
0
|
|
|
|
],
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### StateNetworkName
|
|
|
|
StateNetworkName returns the name of the network the node is synced to
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `"lotus"`
|
|
|
|
|
2020-09-17 15:31:09 +00:00
|
|
|
### StateNetworkVersion
|
|
|
|
StateNetworkVersion returns the network version at the given tipset
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2021-08-10 20:31:05 +00:00
|
|
|
Response: `13`
|
2020-09-17 15:31:09 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### StateReadState
|
|
|
|
StateReadState returns the indicated actor's state.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Balance": "0",
|
2021-02-09 23:46:33 +00:00
|
|
|
"Code": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
2020-08-24 10:25:49 +00:00
|
|
|
"State": {}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateReplay
|
2020-10-16 02:45:11 +00:00
|
|
|
StateReplay replays a given message, assuming it was included in a block in the specified tipset.
|
2021-03-18 20:54:35 +00:00
|
|
|
|
|
|
|
If a tipset key is provided, and a replacing message is found on chain,
|
|
|
|
the method will return an error saying that the message wasn't found
|
|
|
|
|
|
|
|
If no tipset key is provided, the appropriate tipset is looked up, and if
|
|
|
|
the message was gas-repriced, the on-chain message will be replayed - in
|
|
|
|
that case the returned InvocResult.MsgCid will not match the Cid param
|
|
|
|
|
|
|
|
If the caller wants to ensure that exactly the requested message was executed,
|
|
|
|
they MUST check that InvocResult.MsgCid is equal to the provided Cid.
|
|
|
|
Without this check both the requested and original message may appear as
|
|
|
|
successfully executed on-chain, which may look like a double-spend.
|
|
|
|
|
|
|
|
A replacing message is a message with a different CID, any of Gas values, and
|
|
|
|
different signature, but with all other parameters matching (source/destination,
|
|
|
|
nonce, params, etc.)
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-16 02:45:11 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
2020-08-24 10:25:49 +00:00
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-10-14 03:45:47 +00:00
|
|
|
"MsgCid": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
2020-08-24 10:25:49 +00:00
|
|
|
"Msg": {
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
"MsgRct": {
|
|
|
|
"ExitCode": 0,
|
|
|
|
"Return": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"GasUsed": 9
|
|
|
|
},
|
2020-10-16 01:00:47 +00:00
|
|
|
"GasCost": {
|
|
|
|
"Message": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"GasUsed": "0",
|
|
|
|
"BaseFeeBurn": "0",
|
|
|
|
"OverEstimationBurn": "0",
|
|
|
|
"MinerPenalty": "0",
|
|
|
|
"MinerTip": "0",
|
|
|
|
"Refund": "0",
|
|
|
|
"TotalCost": "0"
|
|
|
|
},
|
2020-08-24 10:25:49 +00:00
|
|
|
"ExecutionTrace": {
|
|
|
|
"Msg": {
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
"MsgRct": {
|
|
|
|
"ExitCode": 0,
|
|
|
|
"Return": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"GasUsed": 9
|
|
|
|
},
|
|
|
|
"Error": "string value",
|
|
|
|
"Duration": 60000000000,
|
|
|
|
"GasCharges": null,
|
|
|
|
"Subcalls": null
|
|
|
|
},
|
|
|
|
"Error": "string value",
|
|
|
|
"Duration": 60000000000
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateSearchMsg
|
|
|
|
StateSearchMsg searches for a message in the chain, and returns its receipt and the tipset where it was executed
|
|
|
|
|
2021-03-18 18:46:26 +00:00
|
|
|
NOTE: If a replacing message is found on chain, this method will return
|
|
|
|
a MsgLookup for the replacing message - the MsgLookup.Message will be a different
|
|
|
|
CID than the one provided in the 'cid' param, MsgLookup.Receipt will contain the
|
|
|
|
result of the execution of the replacing message.
|
|
|
|
|
|
|
|
If the caller wants to ensure that exactly the requested message was executed,
|
|
|
|
they MUST check that MsgLookup.Message is equal to the provided 'cid'.
|
|
|
|
Without this check both the requested and original message may appear as
|
|
|
|
successfully executed on-chain, which may look like a double-spend.
|
|
|
|
|
|
|
|
A replacing message is a message with a different CID, any of Gas values, and
|
|
|
|
different signature, but with all other parameters matching (source/destination,
|
|
|
|
nonce, params, etc.)
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2021-01-19 10:19:31 +00:00
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Message": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Receipt": {
|
|
|
|
"ExitCode": 0,
|
|
|
|
"Return": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"GasUsed": 9
|
|
|
|
},
|
|
|
|
"ReturnDec": {},
|
|
|
|
"TipSet": [
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"Height": 10101
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateSearchMsgLimited
|
|
|
|
StateSearchMsgLimited looks back up to limit epochs in the chain for a message, and returns its receipt and the tipset where it was executed
|
|
|
|
|
2021-03-18 17:17:46 +00:00
|
|
|
NOTE: If a replacing message is found on chain, this method will return
|
|
|
|
a MsgLookup for the replacing message - the MsgLookup.Message will be a different
|
|
|
|
CID than the one provided in the 'cid' param, MsgLookup.Receipt will contain the
|
|
|
|
result of the execution of the replacing message.
|
|
|
|
|
|
|
|
If the caller wants to ensure that exactly the requested message was executed,
|
|
|
|
they MUST check that MsgLookup.Message is equal to the provided 'cid'.
|
|
|
|
Without this check both the requested and original message may appear as
|
|
|
|
successfully executed on-chain, which may look like a double-spend.
|
|
|
|
|
|
|
|
A replacing message is a message with a different CID, any of Gas values, and
|
|
|
|
different signature, but with all other parameters matching (source/destination,
|
|
|
|
nonce, params, etc.)
|
|
|
|
|
2021-01-19 10:19:31 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
10101
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Message": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Receipt": {
|
|
|
|
"ExitCode": 0,
|
|
|
|
"Return": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"GasUsed": 9
|
|
|
|
},
|
|
|
|
"ReturnDec": {},
|
|
|
|
"TipSet": [
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"Height": 10101
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateSectorExpiration
|
|
|
|
StateSectorExpiration returns epoch at which given sector will expire
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
9,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"OnTime": 10101,
|
|
|
|
"Early": 10101
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateSectorGetInfo
|
2020-08-27 11:53:04 +00:00
|
|
|
StateSectorGetInfo returns the on-chain info for the specified miner's sector. Returns null in case the sector info isn't found
|
2020-08-24 10:25:49 +00:00
|
|
|
NOTE: returned info.Expiration may not be accurate in some cases, use StateSectorExpiration to get accurate
|
|
|
|
expiration epoch
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
9,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"SectorNumber": 9,
|
2020-11-16 18:19:03 +00:00
|
|
|
"SealProof": 8,
|
2020-08-24 10:25:49 +00:00
|
|
|
"SealedCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"DealIDs": null,
|
|
|
|
"Activation": 10101,
|
|
|
|
"Expiration": 10101,
|
|
|
|
"DealWeight": "0",
|
|
|
|
"VerifiedDealWeight": "0",
|
|
|
|
"InitialPledge": "0",
|
|
|
|
"ExpectedDayReward": "0",
|
|
|
|
"ExpectedStoragePledge": "0"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateSectorPartition
|
|
|
|
StateSectorPartition finds deadline/partition with the specified sector
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
9,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Deadline": 42,
|
|
|
|
"Partition": 42
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateSectorPreCommitInfo
|
|
|
|
StateSectorPreCommitInfo returns the PreCommit info for the specified miner's sector
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
9,
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Info": {
|
2020-11-16 18:19:03 +00:00
|
|
|
"SealProof": 8,
|
2020-08-24 10:25:49 +00:00
|
|
|
"SectorNumber": 9,
|
|
|
|
"SealedCID": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"SealRandEpoch": 10101,
|
|
|
|
"DealIDs": null,
|
|
|
|
"Expiration": 10101,
|
|
|
|
"ReplaceCapacity": true,
|
|
|
|
"ReplaceSectorDeadline": 42,
|
|
|
|
"ReplaceSectorPartition": 42,
|
|
|
|
"ReplaceSectorNumber": 9
|
|
|
|
},
|
|
|
|
"PreCommitDeposit": "0",
|
|
|
|
"PreCommitEpoch": 10101,
|
|
|
|
"DealWeight": "0",
|
|
|
|
"VerifiedDealWeight": "0"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-10-12 20:41:27 +00:00
|
|
|
### StateVMCirculatingSupplyInternal
|
|
|
|
StateVMCirculatingSupplyInternal returns an approximation of the circulating supply of Filecoin at the given tipset.
|
2020-10-11 22:17:28 +00:00
|
|
|
This is the value reported by the runtime interface to actors code.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"FilVested": "0",
|
|
|
|
"FilMined": "0",
|
|
|
|
"FilBurnt": "0",
|
|
|
|
"FilLocked": "0",
|
2021-04-18 14:27:23 +00:00
|
|
|
"FilCirculating": "0",
|
|
|
|
"FilReserveDisbursed": "0"
|
2020-10-11 22:17:28 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### StateVerifiedClientStatus
|
|
|
|
StateVerifiedClientStatus returns the data cap for the given address.
|
|
|
|
Returns nil if there is no entry in the data cap table for the
|
|
|
|
address.
|
|
|
|
|
|
|
|
|
2020-10-01 07:14:59 +00:00
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-10-01 07:14:59 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
### StateVerifiedRegistryRootKey
|
|
|
|
StateVerifiedClientStatus returns the address of the Verified Registry's root key
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-06 07:30:40 +00:00
|
|
|
Response: `"f01234"`
|
2020-10-01 07:14:59 +00:00
|
|
|
|
|
|
|
### StateVerifierStatus
|
|
|
|
StateVerifierStatus returns the data cap for the given address.
|
|
|
|
Returns nil if there is no entry in the data cap table for the
|
|
|
|
address.
|
|
|
|
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
### StateWaitMsg
|
|
|
|
StateWaitMsg looks back in the chain for a message. If not found, it blocks until the
|
|
|
|
message arrives on chain, and gets to the indicated confidence depth.
|
|
|
|
|
2021-03-18 17:17:46 +00:00
|
|
|
NOTE: If a replacing message is found on chain, this method will return
|
|
|
|
a MsgLookup for the replacing message - the MsgLookup.Message will be a different
|
|
|
|
CID than the one provided in the 'cid' param, MsgLookup.Receipt will contain the
|
|
|
|
result of the execution of the replacing message.
|
|
|
|
|
|
|
|
If the caller wants to ensure that exactly the requested message was executed,
|
|
|
|
they MUST check that MsgLookup.Message is equal to the provided 'cid'.
|
|
|
|
Without this check both the requested and original message may appear as
|
|
|
|
successfully executed on-chain, which may look like a double-spend.
|
|
|
|
|
|
|
|
A replacing message is a message with a different CID, any of Gas values, and
|
|
|
|
different signature, but with all other parameters matching (source/destination,
|
|
|
|
nonce, params, etc.)
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
42
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-09 16:43:22 +00:00
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Message": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Receipt": {
|
|
|
|
"ExitCode": 0,
|
|
|
|
"Return": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"GasUsed": 9
|
|
|
|
},
|
|
|
|
"ReturnDec": {},
|
|
|
|
"TipSet": [
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"Height": 10101
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### StateWaitMsgLimited
|
|
|
|
StateWaitMsgLimited looks back up to limit epochs in the chain for a message.
|
|
|
|
If not found, it blocks until the message arrives on chain, and gets to the
|
|
|
|
indicated confidence depth.
|
|
|
|
|
2021-03-18 17:17:46 +00:00
|
|
|
NOTE: If a replacing message is found on chain, this method will return
|
|
|
|
a MsgLookup for the replacing message - the MsgLookup.Message will be a different
|
|
|
|
CID than the one provided in the 'cid' param, MsgLookup.Receipt will contain the
|
|
|
|
result of the execution of the replacing message.
|
|
|
|
|
|
|
|
If the caller wants to ensure that exactly the requested message was executed,
|
|
|
|
they MUST check that MsgLookup.Message is equal to the provided 'cid'.
|
|
|
|
Without this check both the requested and original message may appear as
|
|
|
|
successfully executed on-chain, which may look like a double-spend.
|
|
|
|
|
|
|
|
A replacing message is a message with a different CID, any of Gas values, and
|
|
|
|
different signature, but with all other parameters matching (source/destination,
|
|
|
|
nonce, params, etc.)
|
|
|
|
|
2020-10-09 16:43:22 +00:00
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
42,
|
|
|
|
10101
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Message": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Receipt": {
|
|
|
|
"ExitCode": 0,
|
|
|
|
"Return": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"GasUsed": 9
|
|
|
|
},
|
|
|
|
"ReturnDec": {},
|
|
|
|
"TipSet": [
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"Height": 10101
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Sync
|
|
|
|
The Sync method group contains methods for interacting with and
|
|
|
|
observing the lotus sync service.
|
|
|
|
|
|
|
|
|
|
|
|
### SyncCheckBad
|
|
|
|
SyncCheckBad checks if a block was marked as bad, and if it was, returns
|
|
|
|
the reason.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"string value"`
|
|
|
|
|
2020-09-09 07:45:47 +00:00
|
|
|
### SyncCheckpoint
|
|
|
|
SyncCheckpoint marks a blocks as checkpointed, meaning that it won't ever fork away from it.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### SyncIncomingBlocks
|
|
|
|
SyncIncomingBlocks returns a channel streaming incoming, potentially not
|
|
|
|
yet synced block headers.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-10-06 07:30:40 +00:00
|
|
|
"Miner": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Ticket": {
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"ElectionProof": {
|
|
|
|
"WinCount": 9,
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"BeaconEntries": null,
|
|
|
|
"WinPoStProof": null,
|
|
|
|
"Parents": null,
|
|
|
|
"ParentWeight": "0",
|
|
|
|
"Height": 10101,
|
|
|
|
"ParentStateRoot": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"ParentMessageReceipts": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Messages": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"BLSAggregate": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Timestamp": 42,
|
|
|
|
"BlockSig": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"ForkSignaling": 42,
|
|
|
|
"ParentBaseFee": "0"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### SyncMarkBad
|
|
|
|
SyncMarkBad marks a blocks as bad, meaning that it won't ever by synced.
|
|
|
|
Use with extreme caution.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### SyncState
|
|
|
|
SyncState returns the current status of the lotus sync system.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-09-24 11:35:45 +00:00
|
|
|
"ActiveSyncs": null,
|
|
|
|
"VMApplied": 42
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### SyncSubmitBlock
|
|
|
|
SyncSubmitBlock can be used to submit a newly created block to the.
|
|
|
|
network through this node
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"Header": {
|
2020-10-06 07:30:40 +00:00
|
|
|
"Miner": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Ticket": {
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"ElectionProof": {
|
|
|
|
"WinCount": 9,
|
|
|
|
"VRFProof": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"BeaconEntries": null,
|
|
|
|
"WinPoStProof": null,
|
|
|
|
"Parents": null,
|
|
|
|
"ParentWeight": "0",
|
|
|
|
"Height": 10101,
|
|
|
|
"ParentStateRoot": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"ParentMessageReceipts": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"Messages": {
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
"BLSAggregate": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"Timestamp": 42,
|
|
|
|
"BlockSig": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
},
|
|
|
|
"ForkSignaling": 42,
|
|
|
|
"ParentBaseFee": "0"
|
|
|
|
},
|
|
|
|
"BlsMessages": null,
|
|
|
|
"SecpkMessages": null
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-10-10 18:46:06 +00:00
|
|
|
### SyncUnmarkAllBad
|
|
|
|
SyncUnmarkAllBad purges bad block cache, making it possible to sync to chains previously marked as bad
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-09-09 07:45:47 +00:00
|
|
|
### SyncUnmarkBad
|
|
|
|
SyncUnmarkBad unmarks a blocks as bad, making it possible to be validated and synced again.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
2020-09-27 22:08:58 +00:00
|
|
|
### SyncValidateTipset
|
|
|
|
SyncValidateTipset indicates whether the provided tipset is valid or not
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `true`
|
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
## Wallet
|
|
|
|
|
|
|
|
|
|
|
|
### WalletBalance
|
|
|
|
WalletBalance returns the balance of the given address at the current head of the chain.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `"0"`
|
|
|
|
|
|
|
|
### WalletDefaultAddress
|
|
|
|
WalletDefaultAddress returns the address marked as default in the wallet.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
2020-10-06 07:30:40 +00:00
|
|
|
Response: `"f01234"`
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
### WalletDelete
|
|
|
|
WalletDelete deletes an address from the wallet.
|
|
|
|
|
|
|
|
|
2021-03-23 12:42:56 +00:00
|
|
|
Perms: admin
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### WalletExport
|
|
|
|
WalletExport returns the private key of an address in the wallet.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
2020-10-11 18:12:01 +00:00
|
|
|
"Type": "bls",
|
2020-08-24 10:25:49 +00:00
|
|
|
"PrivateKey": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### WalletHas
|
|
|
|
WalletHas indicates whether the given address is in the wallet.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `true`
|
|
|
|
|
|
|
|
### WalletImport
|
|
|
|
WalletImport receives a KeyInfo, which includes a private key, and imports it into the wallet.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: admin
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
2020-10-11 18:12:01 +00:00
|
|
|
"Type": "bls",
|
2020-08-24 10:25:49 +00:00
|
|
|
"PrivateKey": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-06 07:30:40 +00:00
|
|
|
Response: `"f01234"`
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
### WalletList
|
|
|
|
WalletList lists all the addresses in the wallet.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs: `null`
|
|
|
|
|
|
|
|
Response: `null`
|
|
|
|
|
|
|
|
### WalletNew
|
|
|
|
WalletNew creates a new address in the wallet with the given sigType.
|
2020-10-11 18:12:01 +00:00
|
|
|
Available key types: bls, secp256k1, secp256k1-ledger
|
|
|
|
Support for numerical types: 1 - secp256k1, 2 - BLS is deprecated
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
Perms: write
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-11 18:12:01 +00:00
|
|
|
"bls"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-06 07:30:40 +00:00
|
|
|
Response: `"f01234"`
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
### WalletSetDefault
|
|
|
|
WalletSetDefault marks the given address as as the default one.
|
|
|
|
|
|
|
|
|
2021-03-23 12:42:56 +00:00
|
|
|
Perms: write
|
2020-08-24 10:25:49 +00:00
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234"
|
2020-08-24 10:25:49 +00:00
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `{}`
|
|
|
|
|
|
|
|
### WalletSign
|
|
|
|
WalletSign signs the given bytes using the given address.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Ynl0ZSBhcnJheQ=="
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### WalletSignMessage
|
|
|
|
WalletSignMessage signs the given message using the given address.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: sign
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
{
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Message": {
|
|
|
|
"Version": 42,
|
2020-10-06 07:30:40 +00:00
|
|
|
"To": "f01234",
|
|
|
|
"From": "f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Nonce": 42,
|
|
|
|
"Value": "0",
|
|
|
|
"GasLimit": 9,
|
|
|
|
"GasFeeCap": "0",
|
|
|
|
"GasPremium": "0",
|
|
|
|
"Method": 1,
|
2020-10-12 18:47:09 +00:00
|
|
|
"Params": "Ynl0ZSBhcnJheQ==",
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
|
|
|
}
|
2020-08-24 10:25:49 +00:00
|
|
|
},
|
|
|
|
"Signature": {
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
2020-10-12 18:47:09 +00:00
|
|
|
},
|
|
|
|
"CID": {
|
|
|
|
"/": "bafy2bzacebbpdegvr3i4cosewthysg5xkxpqfn2wfcz6mv2hmoktwbdxkax4s"
|
2020-08-24 10:25:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-09-30 05:45:03 +00:00
|
|
|
### WalletValidateAddress
|
|
|
|
WalletValidateAddress validates whether a given string can be decoded as a well-formed address
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
"string value"
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
2020-10-06 07:30:40 +00:00
|
|
|
Response: `"f01234"`
|
2020-09-30 05:45:03 +00:00
|
|
|
|
2020-08-24 10:25:49 +00:00
|
|
|
### WalletVerify
|
|
|
|
WalletVerify takes an address, a signature, and some bytes, and indicates whether the signature is valid.
|
|
|
|
The address does not have to be in the wallet.
|
|
|
|
|
|
|
|
|
|
|
|
Perms: read
|
|
|
|
|
|
|
|
Inputs:
|
|
|
|
```json
|
|
|
|
[
|
2020-10-06 07:30:40 +00:00
|
|
|
"f01234",
|
2020-08-24 10:25:49 +00:00
|
|
|
"Ynl0ZSBhcnJheQ==",
|
|
|
|
{
|
|
|
|
"Type": 2,
|
|
|
|
"Data": "Ynl0ZSBhcnJheQ=="
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Response: `true`
|
|
|
|
|