Commit Graph

257 Commits

Author SHA1 Message Date
Raúl Kripalani
0fddf3e114 make system constants configurable as vars.
This configurability is unlocked through the `testground`
build tag, which Project Oni will uses.

Changes in the usage places of these relaxed constants
were required due to the fact that Golang constants are
untyped, but vars aren't.

Read https://blog.golang.org/constants for more info.
2020-06-30 14:18:26 +01: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
88352c74fc
Address @Magik6k CR
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-24 17:11:26 +02:00
Jakub Sztandera
156a14eeeb
Integrate Poisson Sortition into chain sync
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-23 16:59:44 +02:00
Łukasz Magiera
ab4c11c096 Merge remote-tracking branch 'origin/master' into next 2020-06-16 12:04:29 +02:00
Aayush Rajasekaran
a9abf3ceb2 extract the fake Wpost used for testing 2020-06-15 21:02:53 -04:00
Łukasz Magiera
907364ce67 Update deps, fix more tests 2020-06-15 18:30:49 +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
c73326e96d fsrepo: Use LevelDB for metadata datastore 2020-06-01 20:13:07 +02:00
Jakub Sztandera
b06b0147a9
Switch to new drand client
This is a preview of a change to new drand client.

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-27 13:52:33 +02:00
Łukasz Magiera
6056a52978 Update specs-actors to pre v0.5 2020-05-12 18:58:43 +02:00
hannahhoward
a9866c757e feat(deps): update go-fil-markets
Update to latest 0.2.0 release of go-fil-markets with less-blocking node io
2020-05-04 18:36:51 -07:00
Aayush Rajasekaran
897b269139 Test to demonstrate HAMT issue 2020-04-30 20:54:41 -04:00
Jeromy
bee25d221f fix mining base randomness 2020-04-30 15:11:14 -07:00
Jeromy
d73b369fa5 implement latest changes to randomness 2020-04-29 16:50:45 -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
9f9ae155e3 windowed post: Review cleanup 2020-04-21 23:38:33 +02:00
Jeromy
91f56742c4 Use lookback to get sector set and power for miners 2020-04-17 16:44:18 -07:00
Jeromy
24b7661837 fix up some tests 2020-04-17 13:44:13 -07: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
8338be3a6e Fix genesis creation 2020-04-16 19:17:56 +02:00
Jeromy
4e6839b5ef some small cleanup 2020-04-14 15:13:52 -07:00
Jakub Sztandera
0c5e3e2533 Make tests use mock beacon
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-14 20:41:05 +02:00
Jakub Sztandera
3e976fd74b Make tests pass
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-14 16:09:11 +02:00
Łukasz Magiera
613e61222b mostly wire up WindowedPoSt 2020-04-10 23:07:18 +02:00
Jeromy
ac271b021d finish addressing review 2020-04-09 10:13:09 -07:00
Jeromy
c5c18659a4 address some review 2020-04-08 17:24:10 -07:00
Jeromy
ef6fb1b756 rename beacon to randombeacon 2020-04-08 16:10:08 -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
Jakub Sztandera
f1c890ca54 Tests pass
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 18:31:16 +02:00
Jeromy
8e0ca306d2 more wiring up of drandomness 2020-04-08 08:11:42 -07:00
Jakub Sztandera
9c250f24fa Nex wip
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07: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
Jeromy
5b9ee1dea9 Add GetMiningBaseInfo api and use it for mining 2020-04-01 18:15:25 -07:00
Łukasz Magiera
95ee1c1cde Extract sector-storage 2020-03-28 01:32:39 +01:00
Łukasz Magiera
e050e0307e Cleanup after dropping sectorbuilder 2020-03-26 20:35:16 +01:00
Łukasz Magiera
4be54a976c Merge sectorbuilder into sectorstorage 2020-03-26 03:51:06 +01:00
Łukasz Magiera
6399499e9b Fix sealing sectors with multiple pieces 2020-03-26 02:18:13 +01:00
Łukasz Magiera
5e4a7e54df Rename agvmgr+sealmgr to sectorstorage 2020-03-23 12:47:10 +01:00
whyrusleeping
438aac190f use proper lookback, and proper serialization for randomness generation 2020-03-20 12:20:56 -07:00
Aayush Rajasekaran
5e46c0b4e9 Use blake2b, not SHA, for VRFs 2020-03-20 11:23:22 -07:00
whyrusleeping
ddf1beac6c change gas limit to be a normal int64 2020-03-18 13:45:37 -07:00
whyrusleeping
26ca72e252 make state power a pointer so it marshals properly 2020-03-09 14:41:57 -07:00
Łukasz Magiera
7d3e16986c sectorbuilder type updates 2020-03-06 06:38:59 +01:00
whyrusleeping
c7508a0512 self review fixes 2020-02-28 18:02:40 -08:00
whyrusleeping
0945d8725e fixing miner logic to make more tests pass 2020-02-28 11:31:28 -08:00
whyrusleeping
df6e3e83bf make it all build finally 2020-02-27 13:45:31 -08:00
Łukasz Magiera
d787aa5007 Merge branch 'testnet/3' into feat/specs-actors 2020-02-24 18:32:02 +01:00
Łukasz Magiera
917df9a5b8 More unified randomness handling 2020-02-23 21:00:47 +01:00
Łukasz Magiera
d6dffed203 Fix genesis car generation 2020-02-21 20:27:29 +01:00
Łukasz Magiera
c69c9e62c2 stmgr: Correctly read sectorset 2020-02-19 21:34:21 +01:00
Łukasz Magiera
9c31f61db4 sectorset updates 2020-02-19 20:26:11 +01:00
whyrusleeping
6d0eec6395 working towards a working genesis generator 2020-02-17 23:15:30 -08:00
Aayush Rajasekaran
60970008c8 Re: #1250: API methods should receive TipSetKeys, not TipSets, as input 2020-02-17 19:53:43 -05:00
Łukasz Magiera
e5ab64a3ab Fix client market impl, gofmt 2020-02-13 01:15:33 +01:00
Łukasz Magiera
0d6cfc879d Use specs-actors ignatures 2020-02-13 00:52:36 +01:00
Łukasz Magiera
220bd376b4 seed: Update lotus-seed for new genesis types 2020-02-12 22:41:59 +01:00
Łukasz Magiera
63e801e00f genesis: Cleanup the structure 2020-02-11 21:48:03 +01:00
Łukasz Magiera
fa2c6605c2 Fix compilation after dep updates 2020-02-11 02:11:58 +01:00
Łukasz Magiera
c72727b4fd specs-actors: Fix most compilation errors 2020-02-09 07:06:32 +01:00
Łukasz Magiera
41daf5ad28 gofmt 2020-02-08 03:18:37 +01:00
Łukasz Magiera
13435aebdc Spec Actors integration 2020-02-08 03:18:32 +01:00
Jakub Sztandera
5e6ab42cb8
Don't depend on ffi
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-04 15:12:04 +01: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
Łukasz Magiera
a2bcc1fec2 Mostly functional mock sectorbuilder 2020-01-14 03:05:35 +01:00
Jakub Sztandera
1ed62628a7
Update go-log to v2
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-08 20:22:31 +01:00
acruikshank
7873213b11 switch sectorbuilder from lib to external module
point to correct version of sectorbuilder + ensure go-datastore stays at 0.1.1

replace local address type with go-address

consume paramfetch.GetParams instead of local paramfetch.go

remove constants now defined in sectorbuilder
2020-01-07 07:48:43 -08:00
hannahhoward
8418464d91 refactor(address): use extracted address library
Switch to using extracted address library
2020-01-07 14:53:27 +01:00
Jakub Sztandera
1914412adf
Make it cleaner
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-09 22:11:02 +01:00
Henri S
9e363f9266
fix target for ePoSt IsTicketWinner fn
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-09 18:34:15 +01:00
Łukasz Magiera
bbc61a8f86
Merge pull request #766 from filecoin-project/feat/holes
Pre-sealing holes
2019-12-07 10:29:17 +01:00
Jakub Sztandera
80592a87cf
Pre-sealing holes
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-06 18:53:33 +01:00
whyrusleeping
14c7e1f0ac Fix copying partial ticket arrays into slices 2019-12-06 00:32:57 -08:00
whyrusleeping
613a0a05a0 more of that sweet staticcheck goodness 2019-12-04 18:04:09 -08:00
Łukasz Magiera
9bb054a767 slightly cleaner IsRoundWinner 2019-12-03 22:27:07 +01:00
Łukasz Magiera
96c04fc0a6 mpool: Make MpoolPending more atomic 2019-12-03 20:33:29 +01:00
Łukasz Magiera
9c6e9212a2 mining: get pending messages early 2019-12-03 19:25:56 +01:00
whyrusleeping
96f17d4408 remove dead code 2019-12-02 15:24:46 -08:00
Łukasz Magiera
ab36a5aa04 wip fixing IsTicketWinner 2019-12-02 23:46:49 +01:00
Łukasz Magiera
1cdf6a6f8d use challangeCount as sampleRate in IsTicketWinner 2019-12-02 15:24:27 +01:00
Łukasz Magiera
d5b94884c8 Buch of lint fixes 2019-12-02 13:51:16 +01:00
whyrusleeping
422e25c8e6 self review: some cleanup 2019-11-30 22:02:52 -06:00
whyrusleeping
59d9c681ad Rework miner test setups to fix tests 2019-11-30 17:21:11 -06:00
whyrusleeping
3b533ed76c Genesis miner config actually sets the created miner address now 2019-11-29 22:31:26 -06:00
Łukasz Magiera
adf71f502c don't print scary errors when miner has no sectors 2019-11-29 20:14:10 +01:00
whyrusleeping
57f6d9e624 correctly predict miner addresses for test 2019-11-28 20:45:30 -08:00
whyrusleeping
3dddcb85e7 tests properly create miners, they just can't mine yet 2019-11-28 20:41:37 -08:00
whyrusleeping
637c28ba55 generator sets up appropriate number of miners 2019-11-28 22:04:46 -06:00
whyrusleeping
ce89ddbd6a fixing some tests 2019-11-28 21:38:18 -06:00
Łukasz Magiera
cb7d15e67e genesis setup improvements 2019-11-28 23:50:58 +01:00
Łukasz Magiera
aefd432422 actors: Fallback post progress 2019-11-28 13:46:56 +01:00
laser
3623925f66 replace go-bls-sigs and go-sectorbuilder with filecoin-ffi
- remove old submodules and add new submodule
- update build tooling to consume new unified static library
- update consumers of old libs to use new package
2019-11-26 18:16:37 -08:00
whyrusleeping
a98295a747 use the correct sector sizes in places 2019-11-25 20:43:43 -06:00
whyrusleeping
a0588d513d Add lotus-gen, rewire genesis mining 2019-11-24 22:45:13 -06:00
whyrusleeping
f03198c8a0 sync tests passing, still no vm integration 2019-11-22 10:41:09 -06:00
whyrusleeping
96482f456a WIP: election post restructuring 2019-11-21 16:21:45 -06:00
whyrusleeping
f8eabd3db4 Refactor mining logic to match specs ticket chain 2019-11-20 10:52:36 -06:00
anorth
84a4766d8f Add TipSetKey as a concatenation of block CIDs, and use if for ChainGetTipSet, ChainGetRandomness. 2019-11-13 15:23:37 +11:00
Whyrusleeping
aa26935533
Merge pull request #573 from filecoin-project/feat/mark-bad-chains
sync: Mark chains with bad blocks as bad too
2019-11-13 05:12:06 +09:00
Łukasz Magiera
73ab6c0c66 WorkerCount on storageminer config 2019-11-12 18:59:38 +01:00
Łukasz Magiera
2d8ad4a1de sync: batching PersistHeaders 2019-11-12 11:18:46 +01:00
whyrusleeping
4321256992 fix retrieval protocol error by wrapping stream in peeker 2019-11-05 08:38:54 -08:00
Jakub Sztandera
3ea0997c93
Add support for different configs
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-30 17:38:39 +01:00
Łukasz Magiera
6d766ab241 Set e=3 2019-10-28 19:22:40 +01:00
Łukasz Magiera
237f8e8018 Set proving params matching the spec more closely 2019-10-28 17:51:45 +01:00
whyrusleeping
4890f577f5 give miners the ability to select different sector sizes 2019-10-25 17:26:15 +02:00
Łukasz Magiera
fabd074165 on chain deals: Deals make it to the chain 2019-10-23 19:39:14 +02:00
Jakub Sztandera
1bf713cb0a
Cleanup imports after rename
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-18 13:47:41 +09:00
Łukasz Magiera
2ce338e162 wip weight function 2019-10-15 14:31:34 +02:00
Łukasz Magiera
16a9ab875c Prep for e=5 2019-10-15 14:31:34 +02:00
whyrusleeping
097e569792 remove not found log, its okay 2019-10-13 22:16:01 +09:00
whyrusleeping
85684ba7e2 don't add bad blocks to tipsetcache 2019-10-10 12:04:10 +09:00
Łukasz Magiera
b3a88a21ce
Merge pull request #299 from filecoin-project/feat/remove-vdfs
remove VDFs from tickets
2019-10-09 10:02:51 +02:00
whyrusleeping
19b16077fe remove VDFs from tickets 2019-10-09 13:38:59 +09:00
whyrusleeping
68c1170250 compute signatures over msg cids instead of raw bytes 2019-10-09 10:32:08 +09:00
whyrusleeping
684e8e27fc use proper const 2019-10-08 09:28:13 +09:00
whyrusleeping
0182b804a2 give syncer ability to deal with forked chains 2019-10-05 23:14:50 -06:00
whyrusleeping
5cb819b322 lots of cleanup, and finally a chain fork test case repro! 2019-10-05 21:32:56 -06:00
whyrusleeping
76ceb1f25a a bit more hacking to make the test framework bend to my will 2019-10-05 17:18:39 -06:00
whyrusleeping
fca5a4765d begin allowing test framework to generate forks 2019-10-05 10:04:58 -06:00
whyrusleeping
f15557649f leave better rationale for the special case in TipSetState 2019-10-02 14:27:41 -06:00
whyrusleeping
c0e6e611be clean up usage of stmgr.TipSetState 2019-10-02 14:03:27 -06:00
whyrusleeping
1419031f1e switch to parent state roots 2019-10-01 15:21:01 -06:00
whyrusleeping
0a0a4d30aa fix account balances to cover costs and collateral 2019-09-26 12:23:03 -07:00
Łukasz Magiera
9989454968 fix tests 2019-09-26 02:37:48 +02:00
Łukasz Magiera
4202da62cd
Merge pull request #216 from filecoin-project/feat/consensus-slashing
Feat/consensus slashing
2019-09-20 16:58:03 +02:00
Łukasz Magiera
9d36a499b6 post merge fixes 2019-09-20 14:22:46 +02:00
whyrusleeping
3154374132 fix account balances to make tests pass 2019-09-19 22:25:10 -07:00
whyrusleeping
394edc6317 refactor to use 'randomness' as input to new vm creation 2019-09-19 20:08:44 -07:00
whyrusleeping
fe2885382c self review, cleanup 2019-09-10 17:13:46 -07:00
whyrusleeping
a47969c76b finish up making the new serializations work 2019-09-10 16:03:17 -07:00
whyrusleeping
512da42cde address review feedback 2019-09-09 19:14:27 -07:00
whyrusleeping
bc7f86ef05 self review, cleanup 2019-09-09 19:14:27 -07:00
whyrusleeping
74f68dc630 perform tipset expansion on sync and fix tipset comparison 2019-09-09 19:14:27 -07:00
whyrusleeping
b5462542a8 fix tests and fix a bug in blocksync 2019-09-09 19:14:26 -07:00
whyrusleeping
ed45d1c2b4 refactor state utilities into StateManager package, implement proper election proofs 2019-09-09 19:14:00 -07:00
whyrusleeping
6e21372ccb initial refactor for creating tipsets with multiple parents 2019-09-09 19:12:32 -07:00
whyrusleeping
d7ab382c8c add (currently broken) testutil sync wait 2019-08-30 16:44:22 -07:00
whyrusleeping
b69557251c Add proper timestamping and checking of timestamps 2019-08-29 19:59:54 -07:00
whyrusleeping
ccdc1575d6 add signatures to blocks 2019-08-26 17:46:39 -07:00
whyrusleeping
f7dc253669 (mostly) proper ticket generation 2019-08-16 12:39:13 -07:00
whyrusleeping
5a7f59498e Wire up more proper ticket generation and verification logic 2019-08-16 12:39:12 -07:00
whyrusleeping
2efab559ec add error wraps and fix tests 2019-08-16 12:39:12 -07:00
whyrusleeping
e9d1f3e7c9 WIP: base mining on power and VRFs 2019-08-16 12:39:12 -07:00
whyrusleeping
df5088ea77 bad merging caused this to get missed. my bad 2019-08-05 12:27:26 -07:00
whyrusleeping
a8b434a708 fix the most annoying bug ever 2019-07-31 10:43:57 -07:00