Commit Graph

326 Commits

Author SHA1 Message Date
Dirk McCormick
2719adc1b1 feat: lite-mode - thin client for chan & state 2020-10-09 11:43:03 +02:00
Dirk McCormick
00a14de094 feat: gateway - StateLookupID 2020-10-09 11:43:03 +02:00
Łukasz Magiera
6e8efb9d2c gofmt 2020-10-09 01:27:49 +02:00
Łukasz Magiera
f3dc730b05 wallet: Add metadata to WalletAPI.WalletSign 2020-10-09 01:27:38 +02:00
Łukasz Magiera
8783c7434e Merge remote-tracking branch 'origin/master' into feat/signing-backends 2020-10-09 00:50:41 +02:00
Aayush Rajasekaran
fe5b32026a Add some new endpoints for querying Msig info 2020-10-08 15:51:21 -04:00
Steven Allen
e8253d22c6 only forbid Call* at expensive forks 2020-10-07 16:14:11 -07:00
Steven Allen
a4e954197c retry StateCall at different height if we're at an expensive fork height 2020-10-07 16:03:42 -07:00
Steven Allen
8292d60196 Merge branch 'master' into asr/spec-v1 2020-10-02 18:03:03 -07:00
Aayush Rajasekaran
93e4eae94c Some helpers for verifreg work 2020-10-01 04:49:38 -04:00
Steven Allen
8dcbd525da abstract over deal collateral 2020-09-30 13:30:24 -07:00
Steven Allen
8b35f480c4 initial vm conversion
We're probably going to want to change some of these design decisions down the
road, but this is a good starting point.

* We may want to use a more general test for "is actor valid at epoch". Maybe
just a function?
* I'd like to push some of the actor metadata down into the actor types
themselves. Ideally, we'd be able to register actors with a simple
`Register(validation, manyActors...)` call.
2020-09-25 12:49:39 -07:00
Aayush Rajasekaran
476e7992e8 Add an error return to all actor state interface methods 2020-09-23 01:51:38 -04:00
Aayush Rajasekaran
d56da1b014 Refinements to stmgr and utils 2020-09-22 01:34:20 -04:00
Steven Allen
d33dd4f7bc more renames 2020-09-21 16:01:29 -07:00
Steven Allen
f9a896f6f2 fix compile 2020-09-21 13:10:41 -07:00
Steven Allen
24ae9205fe cross-version state tree diff 2020-09-21 12:50:12 -07:00
Steven Allen
4cf0c105eb optimize sector loading
And avoid exposing "arrays" via the miner abstraction. We may change these
structures later.
2020-09-21 12:12:08 -07:00
Aayush Rajasekaran
7c3f638f68 Abstract FilterEstimate, PreCommitDepositForPower, and InitialPledgeForPower 2020-09-19 00:41:24 -04:00
Steven Allen
1bf3b4989d rename imports to match actors code
`sed -i 's/\bv0\(\w\)\(\w*\)/\L\1\E\20/g' **/*.go`
2020-09-18 14:59:27 -07:00
Steven Allen
fb2b25c297 finish upgrading chainwatch 2020-09-18 13:43:30 -07:00
Łukasz Magiera
70faa36b7f Merge remote-tracking branch 'origin/master' into refactor/net-upgrade 2020-09-18 19:29:06 +02:00
Aayush Rajasekaran
fce423c743 Appease the linter and get everything building 2020-09-18 02:14:18 -04:00
Łukasz Magiera
6eda53565f Most tests passing 2020-09-17 17:30:24 +02:00
Aayush Rajasekaran
31ff5230bb Get State API almost working 2020-09-17 05:05:32 -04:00
Aayush Rajasekaran
053cfc1cc7 Migrate verifreg actor 2020-09-17 03:55:23 -04:00
hannahhoward
691bd9f442 feat(markets): complete markets conversion
complete markets conversion to using chain/actors types, also replacing DealProposal/DealState
interfaces with structs
2020-09-17 00:43:14 -07:00
Aayush Rajasekaran
7115485b0a Add a getter for network version 2020-09-16 21:56:02 -04:00
Aayush Rajasekaran
b530f25f09 Migrate miner actor 2020-09-16 17:20:25 -04:00
Aayush Rajasekaran
90853e24cf Add a boolean HasMinPower to return of GetPower 2020-09-16 01:47:24 -04:00
Steven Allen
454c382e7e migrate StateMinerInitialPledgeCollateral 2020-09-15 18:05:33 -07:00
Steven Allen
92471d41d6 migrate precommit deposit function 2020-09-15 16:47:58 -07:00
Steven Allen
4e01fad0d4 start multisig abstraction 2020-09-15 14:44:03 -07:00
Steven Allen
c64f983900 migrate StateMinserSectorCount 2020-09-15 12:09:39 -07:00
Steven Allen
00c6397ec9 more progress 2020-09-15 10:46:44 -07:00
Łukasz Magiera
d4a7732d0a
Merge pull request #3800 from filecoin-project/asr/gascost
Add an API to get detailed gas costs for a message
2020-09-15 19:13:20 +02:00
Łukasz Magiera
4419850195 state api impl fixes 2020-09-15 15:29:25 +02:00
Łukasz Magiera
4dabab5ce6 state manager progress 2020-09-15 13:04:45 +02:00
Aayush Rajasekaran
6acd3d6028 Fix MsigGetAvailableBalance 2020-09-14 21:12:32 -04:00
Steven Allen
cc4d5306eb Progress 2020-09-14 15:43:12 -07:00
Steven Allen
02dcb5e182 Merge branch 'master' into refactor/net-upgrade 2020-09-14 14:53:57 -07:00
Steven Allen
9804310cc8 Update specs-actors to 0.9.10
Moves the Keyer type (and helpers) into go-state-types.
2020-09-14 14:32:57 -07:00
Aayush Rajasekaran
0edcae9e04 Fixup new command 2020-09-14 14:40:38 -04:00
Aayush Rajasekaran
d1850ea27d Add an API to get detailed gas costs for a message 2020-09-14 14:40:13 -04:00
Łukasz Magiera
06ec571c20 Merge remote-tracking branch 'origin/master' into refactor/net-upgrade 2020-09-14 15:09:52 +02: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
Aayush Rajasekaran
774e068436 Update to specs-actors v0.9.8 2020-09-10 17:41:55 -04:00
Jakub Sztandera
2d3f92aeed Introduce beacon Schedule
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04: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
6eea5dd109 Update to specs 0.9.7 and markets 0.6.0 2020-09-07 17:11:32 -04:00
Aayush Rajasekaran
39755a294a Update to specs v0.9.6 2020-09-07 15:48:41 -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
Łukasz Magiera
f90cfda2e6 wallet: Add interface layer 2020-09-04 22:18:03 +02: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
Sami Mäkelä
74f35c88ad checking verifreg handling 2020-08-19 15:27:50 +03: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
3c17cd655e integrate extern/sector-storage into lotus proper. 2020-08-16 11:09:58 +01:00
Aayush Rajasekaran
0359a458e4 Include more info in StateCirculatingSupply 2020-08-14 16:53:30 -04:00
Łukasz Magiera
9a39bb4e78 api: Remove unused StatePledgeCollateral 2020-08-13 14:03:59 +02:00
Aayush Rajasekaran
48ab706691 Subtract out genesis pledge and market funds when calculating circ supply 2020-08-12 15:32:11 -04:00
Aayush Rajasekaran
fe2da35a45 Move GetCircSupply out of the vm, and into stmgr 2020-08-12 15:32:07 -04: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
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
Łukasz Magiera
cad59b045b More pond-related fixes 2020-08-07 16:07:48 +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
Łukasz Magiera
df38fe4bf6 Update specs-actors 2020-08-06 00:29:07 +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
49bca7f16c Increase PreCommitDeposit and InitialPledgeCollateral overestimation to 1.1x 2020-07-29 20:06:22 -04: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
473a1f91d5 Update specs-actors to 33f4d6e 2020-07-28 16:36:32 +02:00
Aayush Rajasekaran
6cf2fe50dc Add CLI command to calculate pledge collateral of a CC sector 2020-07-24 19:32:48 -04:00
Łukasz Magiera
6aabd18479 More spect-actors updates 2020-07-23 23:03:25 +02:00
Steven Allen
5fc83f4d05 Refactor to use actor adt types instead of directly using HAMTs and AMTs
This way there's a single source of truth. Preparation for fixing
https://github.com/filecoin-project/specs-actors/issues/517 (requires changing
HAMT parameters).
2020-07-23 09:34:57 -07: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
c4ded2fc07
Merge pull request #2469 from filecoin-project/fix/miner-info
fix miner info
2020-07-18 21:23:10 +02:00
Łukasz Magiera
0c8b451a00 fix miner info 2020-07-18 14:54:21 +02:00
Łukasz Magiera
780a892eb4 fix StateMinerInitialPledgeCollateral 2020-07-18 12:31:32 +02:00
Łukasz Magiera
956f4d5e14 update specs-actors more 2020-07-17 22:58:04 +02:00
Łukasz Magiera
56d13534b4 ProvingSet -> ActiveSectors 2020-07-17 16:26:48 +02:00
Łukasz Magiera
bbc2657023 Fix StateMinerProvingSet 2020-07-17 16:21:00 +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
Jakub Sztandera
7b14d445b4
Update message gas limits
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-15 20:01:57 +02:00
Łukasz Magiera
fc13794f5f Update StateMinerProvingDeadline 2020-07-15 11:06:14 +02: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
Łukasz Magiera
f53bd6bdba StateSectorPartition api 2020-07-14 14:32:17 +02:00
Łukasz Magiera
faebc4c948 WIP Integrating specs-actors with refactored miner state 2020-07-14 13:45:45 +02:00
Sami Mäkelä
d388566d5c fixing 2020-07-14 12:54:18 +03:00
Łukasz Magiera
2e4ed57363 Merge remote-tracking branch 'origin/master' into next 2020-07-13 13:34:56 +02:00
Aayush Rajasekaran
69626272d5 Update with reward state changes 2020-07-12 00:30:42 -04:00
Aayush Rajasekaran
858513559b API improvements 2020-07-11 23:54:58 -04: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
1ea11a748d fix: go fmt 2020-07-07 10:01:08 -04:00
Dirk McCormick
c86e864d55 fix: use nil return from StateVerifiedClientStatus for not-found 2020-07-07 09:59:14 -04: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
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
Łukasz Magiera
abdafc8ee4
Merge pull request #2140 from filecoin-project/chainwatch/sector-info-schema
feat: define miner sector schema
2020-07-01 11:02:57 +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
Łukasz Magiera
edd7151184 Fix StateMinerInitialPledgeCollateral 2020-06-26 15:49:39 +02:00
Łukasz Magiera
a6d1323eba Update specs-actors to v0.7.0; More correct genesis sector import 2020-06-26 15:08:12 +02:00
frrist
6fe39ef065 fixup! feat: define miner sector schema 2020-06-25 17:03:28 -07:00
Aayush Rajasekaran
e3c897fb68 Change StateReadState to take an address, not an actor 2020-06-25 13:49:15 -04:00
Łukasz Magiera
fb04b17fad state: Get correct locked table in StateMarketParticipants 2020-06-23 20:55:59 +02:00
Łukasz Magiera
907364ce67 Update deps, fix more tests 2020-06-15 18:30:49 +02: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
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
741825a04e Correct double-counting in StateMinerAvailableBalance 2020-06-07 20:49:50 -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
Jakub Sztandera
5605aae269
Fix even more lint warnings
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-02 16:29:39 +02: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
Jeromy
805686be2e Add command to sort miners by deal counts 2020-05-21 15:52:20 -07:00
Łukasz Magiera
ae60001dcc post: Handle Recovering sectors 2020-05-20 18:41:20 +02:00
Łukasz Magiera
022348f426 state: Calculate slightly larger initial pledge 2020-05-15 16:53:35 +02:00
Jeromy
bee25d221f fix mining base randomness 2020-04-30 15:11:14 -07:00
Aayush Rajasekaran
cf8691ed87 update chain validation 2020-04-28 20:31:41 -04:00
Whyrusleeping
b2dda08368 respect shutdown signals when sleeping in miner code (#1617) 2020-04-27 15:54:41 -07:00
Łukasz Magiera
55f7c81aaf specs-actors: Fix miner cron on null blocks 2020-04-24 19:12:30 +02: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
8be9494672 windowed post: Get correct sector set 2020-04-21 19:22:53 +02:00
Jeromy
91f56742c4 Use lookback to get sector set and power for miners 2020-04-17 16:44:18 -07:00
Łukasz Magiera
dc2a67f13f Fix worker key resolving 2020-04-16 22:38:42 +02:00
Łukasz Magiera
afdfc8807d api: Single method for static miner info 2020-04-16 19:36:36 +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
149bb56b8e wip updates to sector set handling 2020-04-15 21:59:11 +02:00
Łukasz Magiera
bb3789b130 Fix ADT uses 2020-04-13 23:06:11 +02:00
Jeromy
c5c18659a4 address some review 2020-04-08 17:24:10 -07:00
Jakub Sztandera
ce4978d8c3 Reintroduce correct ticket randomness alongside ElectionProof
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 21:06:41 +02:00
Jakub Sztandera
afdb1db529 drand wip
,
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Jeromy
7075eaba26 WIP: random beacon interface
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Łukasz Magiera
f05be81275 fsm: Get correct interactive randomness if it lands on a nullblock 2020-04-04 04:57:05 +02:00
Jeromy
beaa3dffab add a command to lotus-bench to benchmark importing and validating a chain 2020-04-02 16:18:38 -07:00
Jeromy
5b9ee1dea9 Add GetMiningBaseInfo api and use it for mining 2020-04-01 18:15:25 -07:00
Łukasz Magiera
13f2c21e1d Get network name from genesis 2020-04-01 01:15:49 +02:00
Aayush Rajasekaran
d350a9d415 Re: #1412: Add a non-blocking version of StateWaitMsg
- This commit adds a new method called StateSearchMsg
- We can probably overhaul StateWaitMsg onto this new method at a later point in time
2020-03-24 06:43:15 -04:00
Jeromy
921f11db34 Rewrite chain export walker function to actually do the right thing 2020-03-20 17:18:57 -07:00