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
86ba21029d
Update to go state types 001afaca718c
2020-09-10 17:41:55 -04:00
whyrusleeping
8a8f0ab3ec
pass tipset through upgrade logic
2020-09-08 13:45:44 -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
39755a294a
Update to specs v0.9.6
2020-09-07 15:48:41 -04:00
austinabell
ba881eb4cf
Remove height from chain rand
2020-09-01 15:48:16 -04: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
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
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
Ł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
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
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
Ł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
Łukasz Magiera
d70edbcb7c
Set things on syscallShim
2020-07-22 13:35:10 -04: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
aafafce083
Increase cron gas
...
Make gas check overflow safe
2020-07-17 19:49:55 +02:00
Łukasz Magiera
5a3ab5c5f0
More actor updates
2020-07-16 14:48:20 +02:00
Łukasz Magiera
faebc4c948
WIP Integrating specs-actors with refactored miner state
2020-07-14 13:45:45 +02:00
Aayush Rajasekaran
8e7ac226b0
Include WinCount when awarding block rewards
2020-06-26 14:27:49 -04: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
Jakub Sztandera
d6615b6286
Cleanup many lint warnings
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-27 22:53:20 +02: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
93b2b6d65d
Merge branch 'testnet/3' into feat/windowed-post
2020-04-17 18:38:20 +02:00
Aayush Rajasekaran
14ad808a00
Remove unused fields from VM
2020-04-16 15:34:01 -04:00
Łukasz Magiera
bb3789b130
Fix ADT uses
2020-04-13 23:06:11 +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
Jeromy
beaa3dffab
add a command to lotus-bench to benchmark importing and validating a chain
2020-04-02 16:18:38 -07:00
whyrusleeping
aa23266c6f
use gas used in block rewards
2020-04-01 21:16:16 -07:00
Jeromy
088d693eea
code review changes
2020-03-25 12:13:09 -07:00
Aayush Rajasekaran
ebcefa80e3
provide msg length to vm::ApplyMessage
2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
c951e0cc83
do not reprocess duplicate messages in a block
2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
3896631a1c
Remove pre-execution validity checks on messages
2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
490f85e690
Send implicit messages for block rewards, cron ticks, state calls, and genesis setup
2020-03-25 08:25:03 -04:00
Whyrusleeping
60ea9e6ec8
Merge pull request #1426 from filecoin-project/asr/statewait
...
Re: #1412 : Add a non-blocking version of StateWaitMsg
2020-03-24 16:17:47 -07: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
Aayush Rajasekaran
753e8ff7f5
Award gas fees to miners correctly
2020-03-24 03:35:58 -04:00
Lucas Molas
d21cb96ddb
doc: add comments related to actor code review
2020-03-18 16:43:58 -07:00
whyrusleeping
ddf1beac6c
change gas limit to be a normal int64
2020-03-18 13:45:37 -07:00
whyrusleeping
16d087cce4
get fallback post running successfully!
2020-03-10 23:30:48 -07:00
whyrusleeping
f1ff55f8b6
pass ticket count into reward application message
2020-03-09 00:45:40 -07:00
whyrusleeping
4260cc38c9
implement compute state trace output
2020-03-08 20:07:25 -07:00
whyrusleeping
2cd06e3ea0
update to latest specs-actors
2020-03-05 13:02:33 -08:00
whyrusleeping
5076b2b950
fix reward actor and block reward application
2020-03-04 13:21:24 -08:00
whyrusleeping
0da2f81252
get most of the chain validation tests passing
2020-03-03 16:06:41 -08:00
whyrusleeping
0f6c365411
Do proper shimming for chain validation library
2020-03-03 16:06:41 -08:00
Łukasz Magiera
ae634ef7df
actors: Remove addrass aliases
2020-02-25 21:54:58 +01:00
Łukasz Magiera
cd10a3126b
actors: drop a bunch of type aliases
2020-02-25 21:35:15 +01:00
Łukasz Magiera
a82d156ccb
Deal flow fixes
2020-02-23 16:50:36 +01:00
whyrusleeping
00d7bd1a77
chain/gen tests now pass!
2020-02-20 00:37:10 -08:00
Łukasz Magiera
c69c9e62c2
stmgr: Correctly read sectorset
2020-02-19 21:34:21 +01:00
whyrusleeping
6d0eec6395
working towards a working genesis generator
2020-02-17 23:15:30 -08:00
Łukasz Magiera
c544c2b5c5
Set hamt bitwidth
2020-02-14 15:14:39 +01:00
Łukasz Magiera
48c5494cf9
use specs-actors birfields
2020-02-14 01:24:24 +01:00
Łukasz Magiera
0aaf7b25a9
Propagate spec actor types more
2020-02-12 08:44:20 +01:00
Łukasz Magiera
4d5c4d89ce
stmgr: Update stmgr utils
2020-02-11 03:33:27 +01:00
Łukasz Magiera
91ca4a841a
specs-actors: Import miner/power/cron/paych code
2020-02-11 02:43:26 +01:00
Łukasz Magiera
13435aebdc
Spec Actors integration
2020-02-08 03:18:32 +01:00
whyrusleeping
faf05cafcf
squash forks and use correct amt library everywhere
2020-02-04 18:26:42 -08:00
whyrusleeping
028a113737
Make it all build
2020-02-04 14:19:05 -08:00
whyrusleeping
01b6ddbbd3
add a test to ensure there are no off-by-one errors in fork activation logic
2020-01-31 15:52:39 -08:00