Ł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
whyrusleeping
aa23266c6f
use gas used in block rewards
2020-04-01 21:16:16 -07:00
Jeromy
c55501024e
remove hacky bits
2020-04-01 18:25:58 -07:00
Jeromy
5b9ee1dea9
Add GetMiningBaseInfo api and use it for mining
2020-04-01 18:15:25 -07:00