Commit Graph

719 Commits

Author SHA1 Message Date
Raúl Kripalani
6d29d75724 Merge branch 'master' into inmem-journal 2020-09-14 12:17:45 +01:00
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
Łukasz Magiera
d0175392c0 Merge remote-tracking branch 'origin/master' into feat/window-post-faulty-sectors 2020-09-11 10:47:39 +02:00
Aayush Rajasekaran
774e068436 Update to specs-actors v0.9.8 2020-09-10 17:41:55 -04:00
Łukasz Magiera
5e7737f55d wdpost: Handle skipped sectors correctly 2020-09-10 02:59:37 +02:00
whyrusleeping
7a6ceebb34 windowed post generation now returns faulty sectors 2020-09-09 14:00:15 -07:00
Steven Allen
afa913f2ed Remove hard-coded late-fee in window PoSt
This is no longer necessary, and doesn't really serve any purpose.
2020-09-09 11:34:55 -07: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
Raúl Kripalani
3206f92063 Merge branch 'master' into inmem-journal 2020-09-02 19:50:52 +01:00
Raúl Kripalani
f046af337a split wdpost event into finer-grained ones. 2020-09-02 19:45:25 +01:00
Raúl Kripalani
ac152abc75 shuffle code to journal wdpost events. 2020-09-02 19:15:25 +01:00
Łukasz Magiera
7806a9885a storagefsm: Record publish deals message CID 2020-08-27 17:50:50 +02:00
Steven Allen
0155a31d1f Fix PoSt with bad sectors
"skipped" sectors must be replaced with a substitute "good" sector, or the
entire partition must be skipped. They should not just be omitted.

This patch also fixes the test to verify the _entire_ proof instead of just
verifying that the proof includes the correct sectors.
2020-08-26 09:56:51 -07:00
Raúl Kripalani
efdfd3ee3e Merge branch 'master' into inmem-journal 2020-08-26 16:38:23 +01:00
Raúl Kripalani
4e1ef09751 make journal a global var. 2020-08-26 16:09:37 +01:00
Łukasz Magiera
a236957538
Merge pull request #3232 from filecoin-project/asr/marked-for-upgrade
Indicate whether a sector has been marked for upgrade
2020-08-22 21:48:45 +02:00
Aayush Rajasekaran
984e52acbc Indicate whether a sector has been marked for upgrade 2020-08-21 15:53:39 -04:00
Steven Allen
5733c71c50 Lint everything
We were ignoring quite a few error cases, and had one case where we weren't
actually updating state where we wanted to. Unfortunately, if the linter doesn't
pass, nobody has any reason to actually check lint failures in CI.

There are three remaining XXXs marked in the code for lint.
2020-08-20 20:46:36 -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
Łukasz Magiera
5ea61abfe1 Wire up miner control addresses, use for post 2020-08-20 01:17:03 +02:00
whyrusleeping
f5dcd4a25f set missing miner ID field 2020-08-19 13:42:34 -07:00
Łukasz Magiera
3fd4921ea3
Merge pull request #3147 from filecoin-project/feat/fsm-seal-limits
fsm: Config for limiting max sealing sectors
2020-08-18 21:54:41 +02:00
Peter Rabbitson
02d21c2833 Missing error argument 2020-08-18 21:08:20 +02:00
Łukasz Magiera
886d9cd5eb fsm: handle already-precommitted CommitFailed sectors correctly 2020-08-18 18:02:25 +02:00
Łukasz Magiera
65ffde9e4b fsm: Config for max WaitDeals sectors 2020-08-18 16:20:31 +02:00
Raúl Kripalani
862bafc63a fix lint errors. 2020-08-17 14:39:33 +01:00
Raúl Kripalani
efdc428d5d keep storage-fsm (renamed to storage-sealing) and sector-storage in extern. 2020-08-17 14:26:18 +01:00
Raúl Kripalani
4f6d01d2ea fix path in failing test. 2020-08-16 12:28:39 +01:00
Raúl Kripalani
2b511d2f57 fix lint errors. 2020-08-16 11:44:22 +01:00
Raúl Kripalani
1eed341951 fix test compilation error. 2020-08-16 11:14:24 +01:00
Raúl Kripalani
3c17cd655e integrate extern/sector-storage into lotus proper. 2020-08-16 11:09:58 +01:00
Raúl Kripalani
fb0ccc9260 integrate extern/storage-fsm into lotus proper. 2020-08-16 10:42:13 +01:00
Łukasz Magiera
42bb91c2e6 gofmt 2020-08-14 23:40:41 +02:00
Łukasz Magiera
25cb3a15e7 wdpost: Wait for the correct confidence 2020-08-14 21:03:20 +02:00
Łukasz Magiera
12f7e2d9bf Use a struct for send metadata in MpoolPushMessage 2020-08-12 22:17:29 +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
6f890a3edd Miner fee config 2020-08-12 19:47:09 +02:00
Steven Allen
6f031993ba Use the deadline open as the wpost commit epoch 2020-08-12 10:33:18 -07: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
Raúl Kripalani
cc859d3948 journal: wdpost: record proofs_processed even if no eligible partitions. 2020-08-11 16:49:18 +01:00
Raúl Kripalani
b534ab9d3c panic recovery in MaybeRecordEvent; handle nil current tipsets in wdpost. 2020-08-11 14:28:00 +01:00
Raúl Kripalani
92598237c3 Merge branch 'next' into inmem-journal 2020-08-11 12:41:11 +01:00
Anton Evangelatov
9fa42680fe rationalise annoying logs. 2020-08-07 15:53: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
刘勇
35e519179a submit wdpost proof without waitting for recovery and fault messages appear on chain 2020-08-06 14:01:58 +08:00
Łukasz Magiera
9681ac3fb9 Update FSM with sealing fixes 2020-08-05 03:35:40 +02:00
Łukasz Magiera
d7e1a526f6 Fix Fault/Recovery declaration timing 2020-08-03 20:29:58 +02:00
Jakub Sztandera
81a65fe1bc
Swich gas-price to 0 in many places
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-01 16:23:13 +02:00
Łukasz Magiera
4d328cad54 Get things to mostly work 2020-07-30 14:31:50 +02:00
Łukasz Magiera
ed04c80bb1 Fix precommit deposit 2020-07-28 20:55:31 +02:00
Łukasz Magiera
927ee2406a Downgrade actors, get tests to pass 2020-07-28 19:51:58 +02:00
Łukasz Magiera
10362ab9b4 markets: Fix offset in LocatePieceForDealWithinSector 2020-07-28 01:22:20 +02:00
Łukasz Magiera
1e6afb3b73 wdpost: Correctly skip partitions with no sectors 2020-07-23 11:13:02 +02:00
Jakub Sztandera
a3589e4487
Enable gas estimation for SubmitWindowPost
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-22 19:28:04 +02:00
Łukasz Magiera
47a930ae53
Drop commented-out code 2020-07-22 18:12:31 +02:00
chunqizhi
8d28b72741 Fix bug when run windowPost 2020-07-22 17:02:46 +08:00
Raúl Kripalani
b8475114ba Merge branch 'next' into inmem-journal 2020-07-21 17:42:51 +01:00
Raúl Kripalani
4e82cf369c rename journal entries to journal events. 2020-07-21 17:32:01 +01:00
Raúl Kripalani
d6e6eedd58 pipe sealing events to the journal. 2020-07-21 13:02:51 +01:00
Łukasz Magiera
66c44d24ff
Merge pull request #2484 from filecoin-project/feat/gas-estim
Add gas estimation
2020-07-21 01:09:16 +02:00
Jakub Sztandera
7da629d03b
Update gas prices
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-20 21:31:05 +02:00
Łukasz Magiera
901f9c3760 wdpost: Actually set post.Proofs 2020-07-20 19:21:10 +02:00
Raúl Kripalani
226786c1da wip 2020-07-20 14:45:17 +01:00
Łukasz Magiera
4b74aa5768 wdpost: Correctly prove 0 sectors 2020-07-17 16:47:16 +02:00
Łukasz Magiera
06acda0ab9 mod tidy, gofmt 2020-07-17 15:18:40 +02:00
Łukasz Magiera
cb6767a02b Merge remote-tracking branch 'origin/next' into feat/actors-miner-refactor 2020-07-17 15:18:11 +02:00
Peter Rabbitson
e266f3b955 Bump fil-commcid and filecoin-ffi deps
Propagates correct on-chain commX CIDs
2020-07-17 00:38:42 +02:00
Jakub Sztandera
7b14d445b4
Update message gas limits
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-15 20:01:57 +02:00
Raúl Kripalani
a44e80c829 Merge branch 'next' into mock-clock 2020-07-15 15:51:11 +01:00
Lucas Molas
0313ab4e49 debug: standard PoSt tag 2020-07-14 19:22:25 -03:00
Łukasz Magiera
0ccc9f65a6 gofmt 2020-07-14 19:10:37 +02:00
Łukasz Magiera
af87b9aa98 Fix widowed PoSt scheduler 2020-07-14 19:10:31 +02:00
Raúl Kripalani
0484496d92 Merge branch 'next' into mock-clock 2020-07-14 18:08:26 +01:00
Łukasz Magiera
f53bd6bdba StateSectorPartition api 2020-07-14 14:32:17 +02:00
Łukasz Magiera
2e4ed57363 Merge remote-tracking branch 'origin/master' into next 2020-07-13 13:34:56 +02:00
Aayush Rajasekaran
858513559b API improvements 2020-07-11 23:54:58 -04:00
Raúl Kripalani
13de81b3b2 introduce the ability to mock time. 2020-07-10 15:51:45 +01:00
Łukasz Magiera
d16de56280 gofmt 2020-07-08 14:35:53 +02:00
Łukasz Magiera
c97af35176
Merge pull request #2285 from filecoin-project/asr/timer
Update storage-FSM, add API to set sector seal delay
2020-07-07 21:43:14 +02:00
Aayush Rajasekaran
411c82ae8f Update storage-FSM, add API to set sector seal delay 2020-07-07 15:23:23 -04:00
Łukasz Magiera
e7aec53631 Merge remote-tracking branch 'origin/master' into next 2020-07-06 23:02:24 +02:00
Leo Cheung
874cb46cb3
Update storage/wdpost_run.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2020-07-06 06:20:41 -05:00
Leo Cheung
ddba20ccdf
Update storage/wdpost_run.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2020-07-06 06:19:47 -05:00
Leo Cheung
4e12c4cb69
Update wdpost_run.go
if some unrecovered sectors can not recovered (such as cache file is missing) , miner should not send message "DeclareFaultsRecovered"
2020-07-06 15:52:58 +08:00
Łukasz Magiera
82e2cd4746 Basic CC Upgrade support 2020-07-01 17:01:06 +02:00
Łukasz Magiera
5b73b48dc8 Fix tests post actor update 2020-07-01 14:04:37 +02:00
Łukasz Magiera
5d6fcbeccf Change initial pledge calc to PrecommitInfo 2020-06-26 18:00:50 +02:00
Łukasz Magiera
24f4c96fc3 apitest: auto-start sealing precoss 2020-06-26 17:28:05 +02:00
Łukasz Magiera
a7c372efff storage-fsm updates for sector packing 2020-06-26 15:13:18 +02:00
Łukasz Magiera
f1e686f706
Merge pull request #2107 from chunqizhi/zc
An incorrect sector was detected, but also run windowPoSt
2020-06-24 12:40:16 +02:00
Łukasz Magiera
0b1fa54a4d
wdpost: Remove commented code 2020-06-24 12:38:46 +02:00
55ed45f108 Get the good sectors to run windowPost 2020-06-23 20:46:41 +08:00
Łukasz Magiera
5adc188466 miner: Command to remove sectors 2020-06-22 19:35:14 +02:00
Łukasz Magiera
e60dd219dc wdpost: Don't return nil from checkSectors 2020-06-17 18:21:40 +02:00
Łukasz Magiera
0230362d33
Merge pull request #2025 from filecoin-project/deps/specs-actors-v0.6
specs-actors v0.6
2020-06-15 21:30:37 +02:00
Łukasz Magiera
907364ce67 Update deps, fix more tests 2020-06-15 18:30:49 +02:00
Łukasz Magiera
0200e3def5 wdpost: Submit recoveries for sectors within a deadline 2020-06-11 20:38:29 +02: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
28f895cec2 Update sector-storage with better post faults 2020-06-08 23:20:19 +02:00
Łukasz Magiera
7ae9d26cd1 Merge remote-tracking branch 'origin/next' into fix/sealing-betterering 2020-06-05 14:00:47 +02:00
Jakub Sztandera
0bc174697a
Fix WindowPoStScheduler
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-05 00:52:45 +02: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
Łukasz Magiera
c625b30781 Update fsm adapter 2020-06-04 21:26:29 +02:00
acruikshank
da960a9de4 more import rearrangement 2020-06-04 09:54:37 -04: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
ee29a92021 Add a test for Window Post 2020-06-01 14:49:48 +02:00
Łukasz Magiera
cd2bf04a6b wdpost: Better fault handling 2020-05-29 21:36:11 +02:00
Łukasz Magiera
785eeb1eee
Merge pull request #1850 from filecoin-project/chore/lint
Cleanup many lint warnings
2020-05-29 18:06:06 +02:00
Jeromy
e2a554c2e6 update specs actors to version with batch porep verification 2020-05-28 13:19:18 -07:00
Jeromy
8e55c91cd2 check neq zero exit code 2020-05-28 22:11:49 +02:00
Jeromy
b807bdbea0 check neq zero exit code 2020-05-28 08:45:34 -07:00
Jakub Sztandera
d6615b6286
Cleanup many lint warnings
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-27 22:53:20 +02:00
waynewyang
94a7ef1c10 add deadline index for wdpost 2020-05-27 17:01:48 +08:00
Łukasz Magiera
9089aadbbf
Merge pull request #1821 from filecoin-project/deps/update-ffi
update to latest ffi
2020-05-26 19:34:02 +02:00
waynewyang
b799af3e9a Fix:the input sectors of wpost must match with the minerActor 2020-05-26 17:58:20 +08:00
waynewyang
da6768c94d Set largest gaslimit for wdpost 2020-05-26 11:43:17 +08:00
Jeromy
646800b8a8 update to latest ffi 2020-05-22 09:26:14 -07:00
Łukasz Magiera
3da1a0d8cc post: Declare recoveries for the next deadline 2020-05-20 19:07:31 +02:00
Travis Person
a293bd798f init map 2020-05-20 18:41:22 +02:00
Łukasz Magiera
ae60001dcc post: Handle Recovering sectors 2020-05-20 18:41:20 +02:00
Łukasz Magiera
4e13d284b7 events: Fix revert+apply of msg execution, but not the message 2020-05-14 00:48:36 +02:00
Łukasz Magiera
89b19af43f specs-actors v0.3 2020-04-29 20:06:05 +02:00
Łukasz Magiera
41d925ab8a Merge pull request #1630 from filecoin-project/asr/misc
Minor / irrelevant improvements go here
2020-04-29 00:21:45 +02:00
Łukasz Magiera
ac6573cca7 Merge pull request #1629 from filecoin-project/deps/update-specs-actors
WIP: updating to specs actors v0.2.0
2020-04-28 22:56:47 +02:00
Jeromy
6a27c65201 updating to specs actors v0.2.0 2020-04-28 13:52:07 -07:00
Aayush Rajasekaran
ae47bc15ff Remove / rename fallback post stuff 2020-04-28 13:39:35 -04:00
Łukasz Magiera
9dcb42328e gofmt 2020-04-28 19:27:13 +02:00
Łukasz Magiera
55f7c81aaf specs-actors: Fix miner cron on null blocks 2020-04-24 19:12:30 +02:00
Jeromy
ef1d485c6e move head change type out of chainstore package 2020-04-23 15:28:59 -07:00
Whyrusleeping
faa9002cce working on sector pledge requirements after specs-actors 1.0.0 (#1584)
* WIP: working on sector pledge requirements after specs-actors 1.0.0

* update storage-fsm with pledge collateral logic

* Set bigger balances for miners

* Return only additional required pledge

* split collateral methods into two methods

Co-authored-by: Łukasz Magiera <magik6k@gmail.com>
2020-04-23 12:39:34 -07:00
Łukasz Magiera
262d7b2372 post: Don't send empty posts 2020-04-22 21:16:19 +02:00
Łukasz Magiera
9f9ae155e3 windowed post: Review cleanup 2020-04-21 23:38:33 +02:00
Łukasz Magiera
8be9494672 windowed post: Get correct sector set 2020-04-21 19:22:53 +02:00
Łukasz Magiera
a86595bc88 Use nicer DeadlineInfo struct 2020-04-20 19:34:08 +02:00
Łukasz Magiera
3b7ae0d6d9 mod tidy, gofmt 2020-04-18 00:02:43 +02:00
Łukasz Magiera
e6270e4291 Update fsm; get sectorset form correct ts 2020-04-17 21:49:32 +02:00
Łukasz Magiera
bab352fb44 Wireup WinningPost validation 2020-04-17 16:47:19 +02:00
Jeromy
708988244d WIP: working on winning post integration 2020-04-16 22:39:55 -07:00
Łukasz Magiera
6eaafcf79d wireup windowPost scheduling logic to miner actor 2020-04-16 22:11:07 +02:00
Łukasz Magiera
afdfc8807d api: Single method for static miner info 2020-04-16 19:36:36 +02:00
Łukasz Magiera
8338be3a6e Fix genesis creation 2020-04-16 19:17:56 +02:00
Łukasz Magiera
85993848be bring back api.StateMinerProvingSet 2020-04-15 22:40:46 +02:00
Łukasz Magiera
0336b32fcd windowpost: Wire up challenge generation 2020-04-15 22:22:58 +02:00
Łukasz Magiera
5bf80a60f1 Get proof type in NewWinningPoStProver constructor 2020-04-13 23:25:46 +02:00
Łukasz Magiera
bb3789b130 Fix ADT uses 2020-04-13 23:06:11 +02:00