Commit Graph

424 Commits

Author SHA1 Message Date
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
Łukasz Magiera
683a58195e More terraforming in chain/ 2020-09-14 14:46:38 +02:00
Łukasz Magiera
68097132fe Fix vm build 2020-09-14 13:45:20 +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
beba92aed4 Improve network versioning logic 2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
774e068436 Update to specs-actors v0.9.8 2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
86ba21029d Update to go state types 001afaca718c 2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
316ac61875 Update to go state types 3ca0d2890090 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
whyrusleeping
8a8f0ab3ec pass tipset through upgrade logic 2020-09-08 13:45:44 -07:00
whyrusleeping
d1cf445327 use defined constant for fork height 2020-09-07 16:18:22 -07:00
whyrusleeping
26ec0716b9 fix lint errors 2020-09-07 16:12:44 -07:00
whyrusleeping
97af576f6a Implement faucet funds reallocation logic
use all committed sectors instead of power

give all miners who had at least a sector on friday a base amount

include genesis miner in redistribution

drop back to 1,000,000
2020-09-07 16:06:13 -07:00
Aayush Rajasekaran
45011c0fad Use latest version if no upgrade height is specified 2020-09-07 17:43:14 -04: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
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
Łukasz Magiera
f90cfda2e6 wallet: Add interface layer 2020-09-04 22:18:03 +02:00
Steven Allen
fceeaf42ca Robustify state manager against holes in actor method numbers
Also, don't simply assume that the field order matches the method numbers in
`builtin.Method*` structs.
2020-09-04 12:26:55 -07:00
austinabell
ba881eb4cf
Remove height from chain rand 2020-09-01 15:48:16 -04:00
Łukasz Magiera
df635579c4 storagefsm: Handle sectors with expired deals better 2020-08-27 13:51:38 +02:00
Łukasz Magiera
e47e51275a
Merge pull request #3138 from filecoin-project/feat/remainder
place the remainder of unallocated funds in a 'remainder' account
2020-08-18 23:52:19 +02:00
Łukasz Magiera
71aa3a59d9
Merge pull request #3047 from filecoin-project/asr/burn-genesis
Do not include the burnt funds actor as a genesis account actor
2020-08-18 23:10:32 +02:00
Łukasz Magiera
d23cd2e507
Merge pull request #3136 from filecoin-project/asr/genesis-hardcode
Create a testnet version of setupGenesisActors
2020-08-18 21:21:04 +02:00
Aayush Rajasekaran
214eeccb18 Create a testnet version of setupGenesisActors 2020-08-18 13:56:47 -04:00
Aayush Rajasekaran
8942c02f28 Add a reminder comment 2020-08-18 06:01:48 -04:00
whyrusleeping
13e5b72cdb proper genesis block history
Commit hash originally stamped into the ethereum blockchain:
https://etherscan.io/tx/0xe8f51c9eefb682cd866f059462577b6dd3d2685ff4b6437f6c940ff4f4aaf067
2020-08-17 21:13:43 -07:00
Łukasz Magiera
6ef7a30b19
Merge pull request #3089 from filecoin-project/integrate/storage-fsm
integrate extern/{storage-fsm,sector-storage} into lotus source tree
2020-08-17 18:37:54 +02:00
Łukasz Magiera
704578c9c2
Merge pull request #3108 from austinabell/msload
Remove unnecessary miner state load for checking slashed
2020-08-17 18:11:09 +02:00
austinabell
c3c6fda9d5
Remove unnecessary miner state load for checking slashed 2020-08-17 09:32:47 -04: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
Aayush Rajasekaran
5702ea236c Do not include the burnt funds actor as a genesis account actor 2020-08-13 20:19:47 -04:00
whyrusleeping
b3a31d8823 add function to check entire state tree balance 2020-08-12 15:45:46 -07:00
Aayush Rajasekaran
5b280057b8 Move genesis locked funds into filVested 2020-08-12 16:16:35 -04:00
Aayush Rajasekaran
b6b5a79833 Get FilMined from the reward actor's state, not balance 2020-08-12 15:32:11 -04:00
Aayush Rajasekaran
165bcc1e38 Extract stmgr's genesis infos into a new struct 2020-08-12 15:32:11 -04: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
Aayush Rajasekaran
5933e64de1 Include premined actors in vested funds calculation 2020-08-12 15:19:48 -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
e2c6cc6c6d
Merge pull request #2958 from filecoin-project/asr/sync-test
MessagesForTipset should filter out bad nonce messages
2020-08-12 13:05:57 +02:00
Aayush Rajasekaran
532c32a741 Add new BlockMsgsForTipset() 2020-08-10 15:55:44 -04:00
Łukasz Magiera
bc381fc053 stmgr: Allow changing gas values in WaitMsg 2020-08-10 14:55:52 +02:00
Jakub Sztandera
ea92f5f1ff
Handle error
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-09 00:30:00 +02:00
Jakub Sztandera
46fd9d5e80
Quiet down pending messages, fix GasLimit estimation, reduce fee cap
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-09 00:29:59 +02:00
whyrusleeping
fbe206f843 add command to view circulating supply 2020-08-07 12:57:03 -07: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
Jakub Sztandera
b384ac6943
Compute correct base burns, miner tip and so on
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:38 +02:00
Jakub Sztandera
722d6e8ffb
Introduce base fee
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:38 +02:00
Łukasz Magiera
4cb4e7c2c2 Merge remote-tracking branch 'origin/master' into next 2020-07-31 14:02:04 +02:00
Aayush Rajasekaran
b51e2a868b
Merge branch 'next' into feat/cid-builder 2020-07-28 21:02:30 -04:00
Aayush Rajasekaran
a4fe359c28
Merge pull request #2605 from filecoin-project/asr/vesting-genesis
Correct calculation of TotalCircSupply
2020-07-28 20:43:55 -04:00
Aayush Rajasekaran
890f56ac38 Lock before setting up genesis msigs 2020-07-28 20:35:40 -04:00
Aayush Rajasekaran
de867d7a9a Correct calculation of TotalCircSupply 2020-07-28 17:26:55 -04:00
Aayush Rajasekaran
859168015a Use specs actor's MinerNominalPowerMeetsConsensusMinimum 2020-07-28 17:21:05 -04:00
Łukasz Magiera
fb59b40507 Fix some tests 2020-07-28 18:16:56 +02:00
Łukasz Magiera
473a1f91d5 Update specs-actors to 33f4d6e 2020-07-28 16:36:32 +02:00
Łukasz Magiera
09b90773d8 Merge remote-tracking branch 'origin/next' into feat/cid-builder 2020-07-28 16:06:06 +02:00
Łukasz Magiera
ca36519325 stmgr: Bigger number for cron gas limit 2020-07-28 14:32:30 +02:00
Łukasz Magiera
eac0a1bba9 stmgr: Handle state forks with cron on null blocks correctly 2020-07-28 14:31:28 +02:00
Łukasz Magiera
8889c5cfd3 stmgr: Dedupe cron invocation 2020-07-28 02:28:22 +02:00
Łukasz Magiera
5b6006f8fe stmgr: Execute cron tick on null rounds 2020-07-28 02:25:16 +02:00
Simon Peffers
0f3105a01f Integrate blst signature library: https://github.com/supranational/blst 2020-07-25 21:38:18 -04:00
Steven Allen
b7a4dbb07f Support inline CIDs
And use the new CidBuilder from the spec actors.

This patch does not switch over to inline CIDs by default, but paves the way.
2020-07-23 23:12:32 -07: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
Dirk McCormick
462562a921 fix: stmgr forks test 2020-07-22 16:27:50 -04:00
Łukasz Magiera
d70edbcb7c Set things on syscallShim 2020-07-22 13:35:10 -04:00
Jakub Sztandera
629e03f303
Apply sequence of messages
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-22 18:16:07 +02:00
Jakub Sztandera
6673a80db5
Fix nonce setting in gas estimation
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-21 03:41:18 +02:00
Jakub Sztandera
a5334eb2b3
Fix lint warnings
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-20 21:41:05 +02:00
Jakub Sztandera
7da629d03b
Update gas prices
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-20 21:31:05 +02:00
Jakub Sztandera
310fa67f9d
Add gas estimation
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-20 19:48:30 +02:00
Jakub Sztandera
1b5797be9d
Merge pull request #2456 from filecoin-project/feat/increase-cron-gas
Increase cron gas
2020-07-17 20:11:21 +02:00
Jakub Sztandera
b6f3513173
Increase gas limit for CallRaw
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-17 19:54:39 +02:00
Jakub Sztandera
aafafce083
Increase cron gas
Make gas check overflow safe
2020-07-17 19:49:55 +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
5a3ab5c5f0 More actor updates 2020-07-16 14:48:20 +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
af87b9aa98 Fix widowed PoSt scheduler 2020-07-14 19:10:31 +02:00
Łukasz Magiera
faebc4c948 WIP Integrating specs-actors with refactored miner state 2020-07-14 13:45:45 +02:00
Aayush Rajasekaran
2a61b241a8 Replace abi.BitFieldUnion with bitfield.MultiMerge 2020-07-12 00:30:42 -04: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
Aayush Rajasekaran
605e9bbbd7 Add docs comments to API 2020-07-01 17:16:05 -04:00
Łukasz Magiera
4c422c2d50 specs-actors v0.7.1 2020-07-01 13:47:40 +02:00
Łukasz Magiera
cfdbc2312d Merge branch 'master' into next 2020-07-01 11:22:57 +02:00
whyrusleeping
da78ff9151 use bitfields to enumerate sectors for winning post 2020-06-30 21:57:49 -07:00
Aayush Rajasekaran
8e7ac226b0 Include WinCount when awarding block rewards 2020-06-26 14:27:49 -04: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
Jakub Sztandera
4895c895aa
Change WinCount to int64, wire it to BlockMessage
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-24 19:51:22 +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
Jakub Sztandera
7bee5b3abc
Merge remote-tracking branch 'origin/master' into next
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-05 00:33:43 +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
acruikshank
ce33074626 go fmt 2020-06-03 22:30:09 -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
Aayush Rajasekaran
4b01b666f6 Bugfix: searchback for a message should stop if we reach sender nonce of 0 2020-06-03 14:08:05 -04:00
Jakub Sztandera
96ade5f2dd
Cleanup more lint warnings
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-02 18:38:41 +02: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
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
Jakub Sztandera
d6615b6286
Cleanup many lint warnings
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-27 22:53:20 +02:00
Łukasz Magiera
ae60001dcc post: Handle Recovering sectors 2020-05-20 18:41:20 +02:00
Jeromy
50fae56baf Verify data for presealed data 2020-05-13 19:35:44 -07:00
Łukasz Magiera
ba389598ee Cleanup build package 2020-05-12 19:59:28 +02:00
Jeromy
fa59cdc2ad update to specs-actors code with faster publish deals 2020-05-05 17:06:32 -07:00
Jeromy
74510adaaa add flag to choose what to do when looking back tipsets in null rounds 2020-05-05 10:06:05 -07:00
Jeromy
be2a357102 winning post wants the actual epoch of the block, not the previous 2020-05-01 12:42:59 -07:00
Łukasz Magiera
d9acd484c0 storageminer: Improve CLI UX 2020-05-01 14:06:19 +02:00
Jeromy
bee25d221f fix mining base randomness 2020-04-30 15:11:14 -07:00
Aayush Rajasekaran
a047e158ed Add some validity checks to runtime.CreateActor() 2020-04-30 14:21:29 -04:00
Aayush Rajasekaran
5900d765fd caller must be validated exactly once 2020-04-28 00:07:47 -04:00
Frrist
0f0589bcf5 Update validation driver to match latest in chain-validation (#1532)
* update driver to match new chain-validation interfaces

* update chain-validation

* update filecoin-ffi

* gofmt

* update chain-validation again
2020-04-24 15:08:16 -07:00
Łukasz Magiera
c137b0cf73 Merge remote-tracking branch 'origin/testnet/3' into feat/newminer 2020-04-23 23:53:23 +02:00
Łukasz Magiera
86e7f5914b testing: test 2-miner mining 2020-04-23 23:20:02 +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
Łukasz Magiera
f43ce74604 Update specs-actors 2020-04-21 16:32:17 +02:00
Łukasz Magiera
ecc38d1bd8 sync: env var to fix drand 2020-04-20 20:33: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
3b7ae0d6d9 mod tidy, gofmt 2020-04-18 00:02:43 +02:00
Łukasz Magiera
712e2683d6 miner: proving info commands 2020-04-18 00:02:18 +02:00
Łukasz Magiera
e6270e4291 Update fsm; get sectorset form correct ts 2020-04-17 21:49:32 +02:00
Łukasz Magiera
93b2b6d65d Merge branch 'testnet/3' into feat/windowed-post 2020-04-17 18:38:20 +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
50a8b6a184 Update GetMinerSlashed 2020-04-16 22:52:40 +02:00
Aayush Rajasekaran
14ad808a00 Remove unused fields from VM 2020-04-16 15:34:01 -04: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
98f3cab24e Update specs-actors 2020-04-16 18:41:45 +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
Łukasz Magiera
a2554952d1 Some electionPoSt -> winningPoSt renaming 2020-04-11 00:22:45 +02:00
Łukasz Magiera
072dd8b744 Merge remote-tracking branch 'origin/testnet/3' into feat/windowed-post 2020-04-10 20:38:25 +02:00
Łukasz Magiera
b0fe8b8b4c v25: get bench to almost work 2020-04-10 14:19:06 +02:00
Jeromy
ac271b021d finish addressing review 2020-04-09 10:13:09 -07:00
Jakub Sztandera
1bd28bdb6a Fix lint errors
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 21:37:04 +02: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
Jeromy
8e0ca306d2 more wiring up of drandomness 2020-04-08 08:11:42 -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