Commit Graph

361 Commits

Author SHA1 Message Date
Steven Allen
d3594835c4 [WIP] Network upgrade support
This patch starts adding support for network upgrades.

* It adds an actors abstraction layer for loading abstract (cross-version) actors.
* It starts switching over to a shared deadline type.
* It adds an abstraction for ADTs (hamt/amt).
* It removes the callback-based API in the StateManager (difficult to abstract
across actor versions).
* It _does not_ actually add support for actors v2. We can do that in a followup
patch but that should be relatively easy.

This patch is heavily WIP and does not compile. Feel free to push changes
directly to this branch.

Notes:

* State tree access now needs a network version, because the HAMT type will change.
* I haven't figured out a nice way to abstract over changes to the _message_
types. However, many of them will be type aliased to actors v0 in actors v2 so
we can likely continue using the v0 versions (or use the v2 versions
everywhere). I've been renaming imports to `v0*` to make it clear that we're
importing types from a _specific_ actors version.

TODO:

* Consider merging incremental improvements? We'd have to get this compiling
again first but we could merge in the new abstractions, and slowly switch over.
* Finish migrating to the new abstractions.
* Remove all actor state types from the public API. See `miner.State.Info()` for
the planned approach here.
* Fix the tests. This is likely going to be a massive pain.
2020-09-11 20:16:29 -07:00
whyrusleeping
72eb17d314 wire skip old messages option through the api 2020-09-10 17:40:47 -07:00
Aayush Rajasekaran
774e068436 Update to specs-actors v0.9.8 2020-09-10 17:41:55 -04:00
hannahhoward
64d150e215 feat(cli): add chain delete cmd 2020-09-10 10:47:38 -07:00
Łukasz Magiera
9e9856bb45
Merge pull request #3590 from filecoin-project/asr/multisig
Multisig API additions
2020-09-10 17:04:48 +02:00
Aayush Rajasekaran
5c852e26c2 Add a SyncUnmarkBad API 2020-09-09 14:34:05 -04:00
Aayush Rajasekaran
35aa78dad9 Allow marking a certain tipset as checkpointed 2020-09-09 14:34:00 -04:00
Jakub Sztandera
44f4372ca3
Add StageFetchingMessages to sync status
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 20:42:20 +02:00
hannahhoward
2db4b57013 feat(markets): upgrade markets 0.6.0 2020-09-07 15:48:42 -04:00
Aayush Rajasekaran
d678fe4bfa Fix tests 2020-09-07 15:48:42 -04:00
Aayush Rajasekaran
39755a294a Update to specs v0.9.6 2020-09-07 15:48:41 -04:00
Aayush Rajasekaran
d0ccb54aba Msig: Add RPC endpoints to propose, approve, or cancel adding signers 2020-09-06 01:52:30 -04:00
Aayush Rajasekaran
aaad01105e Msig: Introduce an API & CLI to calculate amount that vests between 2 tipsets 2020-09-05 23:42:31 -04:00
Dirk McCormick
51ef39592f feat: paych - get available funds by address or by from/to 2020-09-04 13:44:09 +02:00
Whyrusleeping
021f4a881c
Merge pull request #3448 from filecoin-project/feat/paych-get-avail-funds
paych: Add PaychAvailableFunds API method
2020-09-03 15:26:25 -07:00
whyrusleeping
09ebd1a557 allow exporting a number of recent chain state trees 2020-09-02 17:15:10 +02:00
Dirk McCormick
2c98bf0cc7 feat: PaychAvailableFunds API method 2020-09-02 14:31:32 +02:00
Łukasz Magiera
953effcc43
Merge pull request #3350 from filecoin-project/fix/some-fsm-issues
Fix some fsm issues
2020-08-29 02:16:59 +02:00
Łukasz Magiera
16f0daab90
Merge pull request #3379 from filecoin-project/feat/add-list-deals-watch-option
Add watch option to list-deals
2020-08-28 22:33:48 +02:00
Ingar Shu
a4ded8c2b9
Add watch option to list-deals 2020-08-28 10:40:27 -07:00
Łukasz Magiera
df635579c4 storagefsm: Handle sectors with expired deals better 2020-08-27 13:51:38 +02:00
Dirk McCormick
340d11be38 fix: check voucher spendable should take into account submitted vouchers 2020-08-25 12:51:29 +02:00
vyzo
817358f1bb better semantics for mpool clear local argument
local messages should be kept unless the parameter is true
2020-08-21 23:48:35 +03:00
vyzo
087955e927 add localonly option to MpoolClear 2020-08-21 23:32:41 +03:00
vyzo
3027283756 add MpoolClear api 2020-08-21 23:32:41 +03:00
Whyrusleeping
af3fe206d6
Merge pull request #3122 from filecoin-project/feat/cmd-improvements
sorted deal listings
2020-08-20 13:29:01 -07:00
Łukasz Magiera
a4807b18bc gofmt, api docstring 2020-08-20 01:26:13 +02:00
Łukasz Magiera
71cf358ee3 Fix windowpost test 2020-08-20 01:18:01 +02:00
hannahhoward
66ac7c195c feat(cli): add updates to data transfer
Add an API to get data transfer updates and add modify the CLI to be an
ongoing monitoring plan
2020-08-18 17:36:29 -07:00
hannahhoward
f511cc188a feat(cli): data transfer command
add command to monitor data transfers
2020-08-18 16:26:21 -07:00
Aayush Rajasekaran
add56c8b81 Create eventless version of ClientRetrieve 2020-08-18 05:49:56 -04:00
whyrusleeping
f05cff478f sorted deal listings 2020-08-17 14:48:49 -07:00
Aayush Rajasekaran
0359a458e4 Include more info in StateCirculatingSupply 2020-08-14 16:53:30 -04:00
whyrusleeping
eb2879ca22 allow client to specify provider collateral 2020-08-13 21:47:36 -04:00
Łukasz Magiera
9a39bb4e78 api: Remove unused StatePledgeCollateral 2020-08-13 14:03:59 +02:00
Łukasz Magiera
e83fa0dd04
Merge pull request #3009 from filecoin-project/feat/offline_commp_calculation
Stop requiring miner address / sector size for `lotus client commP`
2020-08-12 22:51:34 +02:00
Łukasz Magiera
73ad453748
Merge pull request #3010 from filecoin-project/fix/paych-sentinel-type
Use regular cid as paych sentinel type
2020-08-12 22:49:56 +02:00
Dirk McCormick
e689c305d2 fix: revert to using cid for paych wait sentinel 2020-08-12 16:29:44 -04:00
Łukasz Magiera
12f7e2d9bf Use a struct for send metadata in MpoolPushMessage 2020-08-12 22:17:29 +02:00
Peter Rabbitson
fd49ef8de6 Stop requiring miner address / sector size for lotus client commP
At present, and at least for the medium term (even with the transition to NSE)
the structure of a piece (and thus commP) will remain identical for every size
of sector.

The offline deal flow would benefit greatly if the `lotus client commP`
interface is able to calculate commP without having access to a fully synced
sync, or without even being online.

This is particularly important for filecoin-discover, as we want to allow
miners to spot-check their purchased HDDs, way before they need to accept
the mainnet deal proposals.

See comment/links in node/impl/client/client.go for details on code flow
2020-08-12 22:03:00 +02:00
Łukasz Magiera
e1a1b325bc Merge remote-tracking branch 'origin/next' into feat/max-msg-fee-config 2020-08-12 21:55:03 +02:00
Łukasz Magiera
bfa0ae16b0
Merge pull request #2965 from filecoin-project/steb/update-actors
Update specs-actors & cbor-gen
2020-08-12 21:18:05 +02:00
Łukasz Magiera
491e24c90a
Merge pull request #2994 from filecoin-project/ingar/retrieval-logging
Generate more useful output during client retrieval
2020-08-12 20:36:14 +02:00
Steven Allen
e18904bff5 [WIP] fix post submission 2020-08-12 10:33:18 -07:00
Steven Allen
9135a5d048 Pass bitfields by-value
This ensures we can't end up decoding nil bitfields from clients when not
expecting them.

Part of https://github.com/filecoin-project/specs-actors/issues/895. Please see
this issue for details and leave any comments there.
2020-08-12 10:32:39 -07:00
Łukasz Magiera
d0147aa50f Add maxFee param to MpoolPushMessage 2020-08-12 19:06:16 +02:00
Jakub Sztandera
d6f9383528
Merge pull request #2979 from filecoin-project/feat/mpool-optimal-seletion
nearly optimal message pool seletion
2020-08-11 23:45:43 +02:00
Ingar Shu
53e06f358a
client retrieval logging 2020-08-11 13:04:00 -07:00
Łukasz Magiera
763074bb2d
Merge pull request #2986 from filecoin-project/refactor/paych-wait-sentinel
Paych manager: use special type for wait sentinel
2020-08-11 19:17:32 +02:00
Łukasz Magiera
0409c5a482
Merge pull request #2944 from filecoin-project/feat/stmgr-wait-ignore-gas
stmgr: Allow replacing gas values in WaitMsg
2020-08-11 17:51:28 +02:00
Dirk McCormick
a881e58cd6 refactor: use special type for paych wait sentinel 2020-08-11 10:45:45 -04:00
Jakub Sztandera
b309e80e41
Wire in Ticket Quality to MpoolSelect
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:27 +02:00
Aayush Rajasekaran
5e54219be9 fix spelling 2020-08-11 01:10:12 -04:00
Łukasz Magiera
bc381fc053 stmgr: Allow changing gas values in WaitMsg 2020-08-10 14:55:52 +02:00
whyrusleeping
fbe206f843 add command to view circulating supply 2020-08-07 12:57:03 -07:00
Jakub Sztandera
f809e478f4
Don't spend eveything on message fees
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 20:09:50 +02:00
vyzo
c4251912dd mpool config api 2020-08-07 19:51:49 +03:00
Łukasz Magiera
0612c2eab9 Merge remote-tracking branch 'origin/next' into feat/dyn-base-fee 2020-08-07 04:15:42 +02:00
Jakub Sztandera
927f355001
Remove MpoolEstimateGasPrice
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 02:19:21 +02:00
Jakub Sztandera
e1de0e3408
Estimate FeeCap 20 blocks in the future
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 00:10:55 +02:00
Jakub Sztandera
ab08858b45
Delete GasPrice from this world
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:08:42 +02:00
whyrusleeping
5dbbf50f62 recheck best known tipset after waiting for random beacon entry to become available 2020-08-06 16:54:16 -04:00
Łukasz Magiera
e54a87f91b
Merge pull request #2838 from filecoin-project/feat/message-pool-selection
New message pool selection logic
2020-08-06 20:19:35 +02:00
vyzo
7598a9d2fe remove deprecation notice from MpoolPending 2020-08-06 20:15:26 +03:00
Dirk McCormick
fdfccf0466 WIP: fix payment channel locking 2020-08-06 12:04:10 -04:00
hannahhoward
a89c290f62 feat(markets): update to 0.5.4 2020-08-05 15:35:59 -07:00
vyzo
96b3295307 introduce and use MpoolSelect API 2020-08-05 23:17:14 +03:00
Łukasz Magiera
b6c9169a87 client cli: Interactive deal command 2020-07-31 18:23:36 +02:00
Łukasz Magiera
4d328cad54 Get things to mostly work 2020-07-30 14:31:50 +02:00
Aayush Rajasekaran
729c052f64 Update specs-actors, support deal provider collateral bounds 2020-07-30 00:55:37 -04:00
Aayush Rajasekaran
b51e2a868b
Merge branch 'next' into feat/cid-builder 2020-07-28 21:02:30 -04:00
Łukasz Magiera
2bc1a7e327
Merge pull request #2618 from filecoin-project/asr/has-power
Use specs actor's MinerNominalPowerMeetsConsensusMinimum
2020-07-29 01:13:58 +02:00
Łukasz Magiera
c3ff29cd7f
Merge pull request #2560 from filecoin-project/feat/state-root-stat
add command to print state size statistics of actors
2020-07-29 01:08:56 +02:00
Aayush Rajasekaran
859168015a Use specs actor's MinerNominalPowerMeetsConsensusMinimum 2020-07-28 17:21:05 -04:00
Łukasz Magiera
ed04c80bb1 Fix precommit deposit 2020-07-28 20:55:31 +02:00
hannahhoward
5a623cccb5 feat(markets): update markets mulitple deal stores 2020-07-27 23:13:28 -07:00
Łukasz Magiera
64e67df881 Merge remote-tracking branch 'origin/master' into next 2020-07-27 14:00:59 +02:00
whyrusleeping
e85dfc7499 add command to print state size statistics of actors 2020-07-23 15:32:28 -07:00
hannahhoward
5b8d3068f7 feat(markets): update to markets 0.5.1
update to markets 0.5.1, pass on params v1 correctly for retrieval
2020-07-23 14:01:34 -07:00
hannahhoward
8141fecaa9 feat(paych): add simple integration test 2020-07-22 13:35:10 -04:00
whyrusleeping
fda0651bb5 a few improvements and fixes for the retrieval CLI 2020-07-21 16:43:57 -07:00
Aayush Rajasekaran
d254fb228b API documentation must not tell lies 2020-07-21 13:44:05 -04:00
Jakub Sztandera
310fa67f9d
Add gas estimation
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-20 19:48:30 +02:00
Łukasz Magiera
e6f3444eb2 mod tidy, gofmt 2020-07-20 14:31:39 +02:00
Łukasz Magiera
0c8b451a00 fix miner info 2020-07-18 14:54:21 +02:00
Jakub Sztandera
cc1d23a94c
Use single multi ds
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-17 22:14:37 +02:00
Mike Greenberg
d30e120608 Merge branch 'master' into fix/master-merge
* master:
  fix(chainwatch): Parallel reward persistence; Tighten rpc logging
  fix(chainwatch): Remove --front switch
  feat(chainwatch): Add miner index on top_miners_by_base_reward view
  fix(chainwatch): Backoff processor when no work exists to process
  fix(log): Move metrics and stage updates to debug; Add --log-level switch
  fix(chainwatch): Correct index name on state_height view
  feat(chainwatch): Capture base_block_reward per epoch; Top miner by reward view
  SwapSigner API methods
  refactor: remove unused code
  refactor: wire up new processor and syncer
  refactor: implement processor and syncer

 Conflicts:
        Makefile
        cmd/lotus-chainwatch/storage.go
        cmd/lotus-chainwatch/sync.go
2020-07-17 15:18:33 -04:00
Łukasz Magiera
4e1e9ecf3e Address review 2020-07-17 18:23:19 +02:00
Łukasz Magiera
56d13534b4 ProvingSet -> ActiveSectors 2020-07-17 16:26:48 +02:00
Łukasz Magiera
cb6767a02b Merge remote-tracking branch 'origin/next' into feat/actors-miner-refactor 2020-07-17 15:18:11 +02:00
Łukasz Magiera
bdc8f7a2cb Api getting correct sector expiration info 2020-07-16 17:24:41 +02:00
Aayush Rajasekaran
605560a981 SwapSigner API methods 2020-07-15 21:54:18 -04:00
Łukasz Magiera
c1233291bc Merge remote-tracking branch 'origin/master' into next 2020-07-15 19:47:27 +02:00
Łukasz Magiera
af87b9aa98 Fix widowed PoSt scheduler 2020-07-14 19:10:31 +02:00
Łukasz Magiera
f53bd6bdba StateSectorPartition api 2020-07-14 14:32:17 +02:00
erchuan.ma
bb49546728
api/api_full.go: fix method signature
method signature not match
2020-07-13 22:35:51 +08:00
Łukasz Magiera
2e4ed57363 Merge remote-tracking branch 'origin/master' into next 2020-07-13 13:34:56 +02:00
Łukasz Magiera
3f017688c7
Merge pull request #2377 from filecoin-project/asr/msig-api
API improvements
2020-07-13 13:24:09 +02:00
Aayush Rajasekaran
1a5c20ca75 CLI/API improvements 2020-07-13 01:13:56 -04:00
Aayush Rajasekaran
858513559b API improvements 2020-07-11 23:54:58 -04:00
Aayush Rajasekaran
12b63d59b2 Include unlock duration as a param for multisig creation 2020-07-11 23:54:58 -04:00
Ingar Shu
4aa30c1a51
Plumb piece cid in miner-specific query functions 2020-07-09 13:14:24 -07:00
Ingar Shu
171ce39e8c
Add piece cid to retrieval queries 2020-07-09 13:03:17 -07:00
Łukasz Magiera
66237415c5 Merge remote-tracking branch 'origin/next' into feat/client-multi-bstore 2020-07-08 22:48:47 +02:00
Hannah Howard
fe73c9fb71
Merge pull request #2240 from filecoin-project/feat/api-verif-cap
StateAPI for Verified Data Cap
2020-07-08 01:02:18 -07:00
Dirk McCormick
7842016228 fix: lint fixes 2020-07-07 13:42:11 -04:00
dirkmc
2808c91280
docs: StateVerifiedClientStatus
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2020-07-07 13:35:03 -04:00
dirkmc
fbedff79ab
remove unused var
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2020-07-07 13:34:44 -04:00
Dirk McCormick
c86e864d55 fix: use nil return from StateVerifiedClientStatus for not-found 2020-07-07 09:59:14 -04:00
Łukasz Magiera
18fc3337ff client: API/Command to drop imports 2020-07-07 13:45:02 +02:00
Łukasz Magiera
7175b1dd65 gofmt 2020-07-07 11:38:22 +02:00
Łukasz Magiera
f59eb94d92 client: Set correct dag builder params 2020-07-07 11:14:13 +02:00
Łukasz Magiera
47f0898ce9 Wire up client import manager 2020-07-07 10:52:19 +02:00
Łukasz Magiera
40113933b4 gofmt 2020-07-06 22:47:39 +02:00
Łukasz Magiera
4b0ae7ef9a Merge remote-tracking branch 'origin/master' into next 2020-07-06 11:38:19 +02:00
whyrusleeping
16e493a67a provide decoded return values in output of StateWaitMsg 2020-07-03 09:57:58 -07:00
Łukasz Magiera
655d6f6720 Merge remote-tracking branch 'origin/master' into next 2020-07-03 17:03:09 +02:00
Dirk McCormick
8489fb258a fix: return NotFoundErr from StateVerifiedClientStatus() if addr not found 2020-07-02 14:49:08 -04:00
Dirk McCormick
2c7aa318c1 feat: state API for verified client data cap 2020-07-02 12:10:11 -04:00
Aayush Rajasekaran
605e9bbbd7 Add docs comments to API 2020-07-01 17:16:05 -04:00
Dirk McCormick
5c63581bd5 feat: add fast-retrieval flag to lotus client deal 2020-07-01 12:27:55 +02:00
Dirk McCormick
46f07faead feat: add verified-deal flag to lotus client deal 2020-07-01 12:23:40 +02:00
Łukasz Magiera
24529bf35d Merge branch 'next' into feat/specs-actors-v0.7.0 2020-06-29 22:45:50 +02:00
Łukasz Magiera
5d6fcbeccf Change initial pledge calc to PrecommitInfo 2020-06-26 18:00:50 +02:00
Łukasz Magiera
6893dbb657 api: MsigCrate required param is now uint64 2020-06-26 15:52:22 +02:00
Aayush Rajasekaran
e3c897fb68 Change StateReadState to take an address, not an actor 2020-06-25 13:49:15 -04:00
Łukasz Magiera
c0a50a2143 api: Add a bunch of donstrings 2020-06-18 15:44:47 +02:00
Łukasz Magiera
02234d00b7 Merge remote-tracking branch 'origin/master' into next 2020-06-17 20:50:42 +02:00
Ignacio Hagopian
9d17e0be9d
ClientMinerQueryOfer API & CLI support
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-06-16 11:14:49 -03:00
Jakub Sztandera
c3f23ddce8
Refactor ExecutionResult to ExecutionTrace
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-11 15:53:47 +02:00
Aayush Rajasekaran
1ccad22227 Move api.MinerInfo to api/types 2020-06-09 19:08:43 -04:00
Aayush Rajasekaran
5cf76ba8b3 Create an api.MinerInfo that has peerID as a Peer ID 2020-06-09 19:07:53 -04:00
Łukasz Magiera
3b56288a5e Merge remote-tracking branch 'origin/master' into next 2020-06-08 18:29:36 +02:00
Aayush Rajasekaran
49b27da426 Add delete functionality to the wallet 2020-06-07 19:36:01 -04:00
Łukasz Magiera
f9f0d86ddf
Merge pull request #1913 from acruikshank/feat/1853-confirmations-in-StateWaitMsg2
Add confidence and timeout to message wait
2020-06-04 23:23:15 +02:00
acruikshank
04f0130530 remove timeout 2020-06-03 17:42:06 -04:00
acruikshank
5574e4f11b add confidence and timeout to message wait 2020-06-03 15:38:37 -04:00
Łukasz Magiera
7003960fdd Merge remote-tracking branch 'origin/master' into next 2020-06-01 18:52:06 +02:00
Aayush Rajasekaran
ec0baefc48 Add an API method to list all faults occuring in a certain range 2020-05-31 00:57:52 -04:00
Jeromy
e2a554c2e6 update specs actors to version with batch porep verification 2020-05-28 13:19:18 -07:00
Ignacio Hagopian
10753f14d0 retrieve: make fileref optional
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-28 22:11:49 +02:00
Ignacio Hagopian
bcd84cbe9d
retrieve: make fileref optional
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-26 14:52:52 -03:00
Łukasz Magiera
ae60001dcc post: Handle Recovering sectors 2020-05-20 18:41:20 +02:00
Jeromy
c54d050cb7 slightly better methodgroup parsing, and more group docs 2020-05-19 09:49:47 -07:00
Jeromy
607bcc401c very basic api documentation autogeneration 2020-05-18 17:20:54 -07:00
Aris
e7065df2d4 Added RPC calls for MsigCreate, MsigPropose, MsigApprove, and MsigCancel 2020-05-11 10:27:48 -04:00
hannahhoward
a9866c757e feat(deps): update go-fil-markets
Update to latest 0.2.0 release of go-fil-markets with less-blocking node io
2020-05-04 18:36:51 -07:00
Jeromy
bee25d221f fix mining base randomness 2020-04-30 15:11:14 -07:00
Jeromy
e345525672 Add flag to specify deal start epoch 2020-04-30 10:51:08 -07:00
Łukasz Magiera
55f7c81aaf specs-actors: Fix miner cron on null blocks 2020-04-24 19:12:30 +02:00