Commit Graph

828 Commits

Author SHA1 Message Date
whyrusleeping
ab2e722811 use fast cbor-gen method for extracting links from objects 2019-11-16 11:24:11 -08:00
whyrusleeping
89fd13de9d clean up chain sync a little 2019-11-15 22:48:42 -08:00
whyrusleeping
251ff41134 plumb through new sync status logic 2019-11-15 17:05:16 -08:00
whyrusleeping
7aa76d21d1 It works! 2019-11-15 13:35:29 -08:00
whyrusleeping
1d81c53f8f getting closer, squashme 2019-11-14 22:15:31 -08:00
whyrusleeping
4bc523e6b4 more wip, squashme 2019-11-14 22:15:31 -08:00
whyrusleeping
9e4b3ae88a WIP: implement chain sync manager and concurrent sync 2019-11-14 22:15:30 -08:00
Whyrusleeping
52a05c3d0e
Merge pull request #615 from filecoin-project/misc/clean-error
Don't use pkg/errors
2019-11-14 21:07:58 -08:00
whyrusleeping
c9a5d974c1 drop message nonce message down to a warning 2019-11-14 19:26:13 -08:00
whyrusleeping
797d92b463 persist blocks as they come in 2019-11-14 19:19:16 -08:00
Jakub Sztandera
432706bd09
Don't use pkg/errors
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-15 02:40:16 +01:00
Łukasz Magiera
5381d10fe3 StateAPI: account for slashing in StateMinerPower 2019-11-15 02:01:53 +01:00
Łukasz Magiera
004f647504
Merge pull request #597 from filecoin-project/feat/simple-power-slash
Simple power slashing
2019-11-15 01:14:20 +01:00
Łukasz Magiera
f8e3c1774f
Merge pull request #611 from filecoin-project/fix/dup-tipset
Check if miner is included twice in tipset
2019-11-15 01:07:13 +01:00
Jakub Sztandera
c54b28a419
Check if miner is included twice in tipset
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-15 01:01:00 +01:00
Łukasz Magiera
d40f5a36da Catch up on null blocks in CheckProofSubmissions call 2019-11-15 00:55:05 +01:00
Łukasz Magiera
e0089218a1 Review fixes 2019-11-15 00:23:07 +01:00
Jakub Sztandera
9f3b5bfb6e
Fix Marshaling of TipSetKey
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-14 21:33:56 +01:00
Łukasz Magiera
b9bd3e2030 Unhack TestStorageMarketCreateAndSlashMiner 2019-11-14 21:26:30 +01:00
Jakub Sztandera
63edea510e
Fix ValidateBlock ignoring errors
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-14 19:41:40 +01:00
Łukasz Magiera
dbdf120746 townhall: Send nonces 2019-11-14 17:37:22 +01:00
Łukasz Magiera
e9631601e3 Fix the rest of power slashing issues 2019-11-14 17:23:22 +01:00
Łukasz Magiera
f4fc3bcc29 Fix most power slashing issues 2019-11-14 12:56:17 +01:00
郭光华
dd439e0af8
Keep the context consistent 2019-11-14 14:34:54 +08:00
Jakub Sztandera
fa023f68e3
Flexible repub timer
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-14 01:36:12 +01:00
Łukasz Magiera
2dd155e9e9 Make basic slashing work 2019-11-14 01:02:24 +01:00
Łukasz Magiera
7363ec714a chain: make tests pass after slashing changes 2019-11-14 00:35:58 +01:00
Łukasz Magiera
0241e31129 chain: wire CheckProofSubmissions to computeTipSetState 2019-11-14 00:14:11 +01:00
Łukasz Magiera
e48949b41f chain: cbor-gen 2019-11-14 00:04:13 +01:00
Łukasz Magiera
05f157554f actors: IsMiner -> IsValidMiner 2019-11-14 00:00:11 +01:00
Jakub Sztandera
c1ebb72824
Return all messages
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-13 23:43:44 +01:00
Jakub Sztandera
2bc5ccab04
Add repub for local messages
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-13 23:43:16 +01:00
Łukasz Magiera
e094ace303 actors: CheckMiner methods on Miner/Power actors 2019-11-13 23:40:51 +01:00
Łukasz Magiera
6b398cba74 actors: UpdateStorage now manages proving buckets 2019-11-13 22:16:17 +01:00
Łukasz Magiera
4f9947a27b
Merge pull request #567 from filecoin-project/anorth/tskey
Add TipSetKey as a concatenation of block CIDs, and use if for ChainGetTipSet, ChainGetRandomness.
2019-11-13 22:07:24 +01:00
Łukasz Magiera
37c0967fa8
Merge pull request #595 from filecoin-project/feat/small-fixes
Bunch of small fixes / improvements, gofmt
2019-11-13 19:15:50 +01:00
Łukasz Magiera
8f0e3ede24 Bunch of small fixes / improvements, gofmt 2019-11-13 15:48:57 +01:00
Łukasz Magiera
77667d78ff
Merge pull request #586 from filecoin-project/feat/more-tracing-again
more tracing spans
2019-11-13 11:42:36 +01:00
whyrusleeping
86624c8ed4 fix tests and add some more trace attributes 2019-11-12 22:44:29 -08:00
anorth
14c2ee56f6 Add JSON marshalling and optimize decoding pre-allocation to use expected (rather than min) CID length 2019-11-13 15:26:51 +11:00
anorth
36d57385ab Upgrade go-cid and drop superfluous envelope bytes in TipSetKey 2019-11-13 15:26:51 +11: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
b14426f7d3 track number of tickets 2019-11-12 12:52:40 -08:00
Whyrusleeping
8ecc087ffb
Merge pull request #539 from filecoin-project/frrist/chainval-transfer-value
first pass at integrating chain-validation
2019-11-13 05:51:02 +09:00
whyrusleeping
9e464a4b90 more tracing spans 2019-11-12 12:42:22 -08: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
frrist
6545c20666 fixup! first pass at integrating chain-validation 2019-11-12 11:23:59 -08:00
anorth
60a19a1155 first pass at integrating chain-validation 2019-11-12 11:06:16 -08:00
Łukasz Magiera
73ab6c0c66 WorkerCount on storageminer config 2019-11-12 18:59:38 +01:00
Łukasz Magiera
a9861e116b bolcksync: set message in 203 response 2019-11-12 12:45:25 +01:00
Łukasz Magiera
3a1c73a2b1 mpool: Fix RecoverSig type cast 2019-11-12 12:42:19 +01:00
Łukasz Magiera
2d8ad4a1de sync: batching PersistHeaders 2019-11-12 11:18:46 +01:00
Łukasz Magiera
a6135b62ce sync: Mark chains with bad blocks as bad too 2019-11-12 11:04:17 +01:00
Łukasz Magiera
f6d5d3fe5f
mpool: Remove todo 2019-11-12 11:00:58 +01:00
whyrusleeping
a702a5678c cache bls signatures for later recovery during forks 2019-11-11 23:16:42 -08:00
Łukasz Magiera
aafccaf021
Merge pull request #488 from filecoin-project/feat/dt-skeleton
Data Transfer Integration For Storage Deals (w/ Skeleton Module)
2019-11-11 22:52:23 +01:00
hannahhoward
311556346e refactor(datatransfer): implement style fixes
implement style fixes suggested by Magic6k
2019-11-11 13:02:49 -08:00
hannahhoward
4b3bab371b refactor(deals): move type instantiation to modules
Move all type instantiation to dtypes & modules for any type unique to provider/client
2019-11-11 12:51:28 -08:00
Łukasz Magiera
30888e754b
Merge pull request #466 from filecoin-project/feat/async-validateblk
sync: Do some things in parallel in ValidateBlock
2019-11-11 21:41:44 +01:00
hannahhoward
ccfc3c5b19 refactor(datatransfer): move registrations to builder
move registration function for validators to builder code
2019-11-11 12:25:19 -08:00
Łukasz Magiera
3c2cbb04c9 townhall: Display more timing info 2019-11-11 21:13:14 +01:00
whyrusleeping
4b134f0d21 add time of block acceptance to townhall 2019-11-11 21:12:26 +01:00
Łukasz Magiera
b72463e6fc mod tidy 2019-11-11 21:12:06 +01:00
Hannah Howard
b9ea6354fa
Update chain/deals/types.go
Co-Authored-By: Łukasz Magiera <magik6k@users.noreply.github.com>
2019-11-11 12:08:15 -08:00
hannahhoward
1532533712 style(formatting): run go fmt 2019-11-11 11:55:25 -08:00
Łukasz Magiera
eaddb8abe8 sync: use muliterror in ValidateBlock 2019-11-11 20:30:49 +01:00
Łukasz Magiera
d9fe9a6ea4 sync: Post merge fixes 2019-11-11 20:26:14 +01:00
hannahhoward
dcb35d90df fix(datatransfer): rebase fixes
Fixes after rebase on interactive porep
2019-11-11 11:07:15 -08:00
hannahhoward
ca5032937c refactor(datatransfer): xerrors, cbor-gen, tweaks
Various refactors per PR comments: use xerrors, add context to dt calls, use cbor-gen, move files
into seperate modules, etc
2019-11-11 11:07:15 -08:00
hannahhoward
d0b705705f refactor(datatransfer): add comments, renames
minor name changes and additional comments to clarify how data transfer works
2019-11-11 11:07:15 -08:00
hannahhoward
905259e192 feat(datatransfer): integration w/ simple merkledag
Integrates the data transfer module with a mock version of the module that just calls the dag
service
2019-11-11 11:07:15 -08:00
hannahhoward
98cf0769ff feat(datatransfer): request valdiators for storage
Add request validators that will work by default for storage deals
2019-11-11 11:07:15 -08:00
Łukasz Magiera
6fe5921bb6 Merge remote-tracking branch 'origin/master' into feat/async-validateblk 2019-11-11 18:44:45 +01:00
whyrusleeping
dbc706b846 handle marking blocks as bad better 2019-11-10 15:06:06 -08:00
whyrusleeping
c74f87fd51 split files, implement peer tracker 2019-11-10 11:33:08 -08:00
whyrusleeping
904fdad4c6 extract blocksync into its own package 2019-11-09 15:00:22 -08:00
whyrusleeping
bda6d7e119 Don't try syncing to a chain if its not clearly heavier 2019-11-09 12:14:40 -08:00
Łukasz Magiera
814e01cc05 gofmt 2019-11-09 01:18:32 +01:00
Łukasz Magiera
28367c5ba1
Merge pull request #515 from steven004/weight
minor weight function change
2019-11-09 01:04:50 +01:00
Łukasz Magiera
ee2cf48566
Merge pull request #513 from steven004/Refactor-PowerCmp
Refactor the PowerCmp function
2019-11-09 00:59:10 +01:00
Łukasz Magiera
27485777f0 Merge remote-tracking branch 'origin/master' into feat/interactive-porep 2019-11-08 21:45:06 +01:00
Łukasz Magiera
f3ae7eb7a3 events: Test 2 block tipsets with duplicated message 2019-11-08 21:25:02 +01:00
Łukasz Magiera
aaa073bdf8 deals: Inactive deal in client.sealing is an error 2019-11-08 21:18:16 +01:00
Łukasz Magiera
8c39486736 some import fixes 2019-11-08 21:11:56 +01:00
Łukasz Magiera
071f05fa95 Storage miner API improvements 2019-11-08 19:23:58 +01:00
Łukasz Magiera
be2e58a2fb Simple market fund manager 2019-11-08 18:15:56 +01:00
Łukasz Magiera
d664e90d7c
Merge pull request #535 from filecoin-project/fix/temporal-problems
Fix temporal problems in bad block cache
2019-11-08 12:22:52 +01:00
whyrusleeping
af2789c3d8 fix non-deterministic map serialization 2019-11-07 14:55:24 -08:00
Łukasz Magiera
2d26a4edf7 Sector storage refactor 2019-11-07 19:22:59 +01:00
Łukasz Magiera
3fbe0abb75 cborrpc -> cborutil 2019-11-07 15:11:39 +01:00
Łukasz Magiera
58472afa3a deals: Verify network message signatures 2019-11-07 15:09:11 +01:00
Łukasz Magiera
2588a6a7eb deals: check msg params in ProveCommitSector event handler 2019-11-07 14:41:41 +01:00
Łukasz Magiera
8ec37e8728 deals: cleanup client state machine 2019-11-07 14:29:43 +01:00
Łukasz Magiera
79c9fb719e deals: disconnect early, rely on chain 2019-11-07 13:57:40 +01:00
Łukasz Magiera
eca5501923 remove some outdated todos 2019-11-07 13:06:32 +01:00
Łukasz Magiera
be0d07e143 pass deal IDs in SectorPreCommitInfo 2019-11-07 13:03:18 +01:00
Łukasz Magiera
12161fc607 deals: Finish client sealing state handler 2019-11-07 10:13:42 +01:00
Łukasz Magiera
6cc360e0f7 events: Execute Called handlers in the correct tipset 2019-11-07 10:02:29 +01:00
whyrusleeping
54722a0d38 WIP: fixing the tests by waiting for chain activity 2019-11-06 23:57:10 -08:00
Łukasz Magiera
69d7a9910e deals: remove outdated comment 2019-11-07 01:32:10 +01:00
Łukasz Magiera
29778cd653 Mostly fix TestDealFlow 2019-11-07 01:18:06 +01:00
Łukasz Magiera
d45544c90c Correct proposal cid on provider side 2019-11-07 01:01:05 +01:00
whyrusleeping
597dbe369c Add method to query latest deal state 2019-11-07 00:39:34 +01:00
whyrusleeping
9863942fe2 WIP: trying to write a test to reproduce the storage deal error 2019-11-07 00:39:34 +01:00
Łukasz Magiera
f7651f180b Create filler deals 2019-11-07 00:09:48 +01:00
Jakub Sztandera
b3fe304d82
add is permanent
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-06 20:27:21 +01:00
Łukasz Magiera
37721b2a22 Get some deals to work 2019-11-06 20:00:04 +01:00
Łukasz Magiera
68c2d4f58a deals: Set correct Refs 2019-11-06 18:38:42 +01:00
Jakub Sztandera
2b57fd14f1
Fix temporal problems in bad block cache
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-06 16:11:19 +01:00
Łukasz Magiera
cb3965bcf5 Improve errors around deal handling 2019-11-06 13:04:33 +01:00
whyrusleeping
b447b6cf0a only trim zeros to the right of the decimal 2019-11-05 10:50:27 -08:00
Łukasz Magiera
630134486d Mostly fix deals 2019-11-05 19:40:51 +01:00
Łukasz Magiera
bcf9778b18 Update cbor-gen post-merge 2019-11-05 19:02:28 +01:00
Łukasz Magiera
ed5ccfd750 Merge remote-tracking branch 'origin/devnet/7' into feat/interactive-porep 2019-11-05 18:53:19 +01:00
Łukasz Magiera
ebdaa3f020 Fix TestSyncBadTimestamp with low BlockDelay 2019-11-05 18:33:58 +01:00
Łukasz Magiera
6a802cc9db WIP fixing tests 2019-11-05 18:09:42 +01:00
whyrusleeping
4321256992 fix retrieval protocol error by wrapping stream in peeker 2019-11-05 08:38:54 -08:00
Łukasz Magiera
1f56bcf581 Some param changes 2019-11-05 17:15:52 +01:00
Łukasz Magiera
4c4c2095a6 events: Basic tracing 2019-11-05 15:36:44 +01:00
Łukasz Magiera
eb28c45c00 events: Plumb context to callbacks 2019-11-05 15:03:59 +01:00
whyrusleeping
9a398c6260 Track down all the uses of cboripld and eliminate them 2019-11-04 19:42:13 -08:00
whyrusleeping
83868d3eed fix serialization of paych vouchers 2019-11-04 11:07:11 -08:00
Łukasz Magiera
c550e030b1 INTERACTIVE PROEP IS ALIVE 2019-11-02 16:07:26 +01:00
Łukasz Magiera
3e515ab24c Merge branch 'feat/interactive-porep' of github.com:filecoin-project/go-lotus into feat/interactive-porep 2019-11-02 15:13:48 +01:00
Łukasz Magiera
be8fe54ea3 Set correct Provider addr in StoreGarbage 2019-11-02 15:13:37 +01:00
whyrusleeping
68de42df8c increase actor error log verbosity 2019-11-01 23:30:06 -07:00
Łukasz Magiera
3bc4a5dddf More progress on fixing storing garbage data 2019-11-02 00:43:54 +01:00
Łukasz Magiera
1dcebece71 Some smaller fixes 2019-11-01 23:44:55 +01:00
whyrusleeping
a13dfcf96b Add extra check sanity check for timing 2019-11-01 13:27:59 -07:00
Łukasz Magiera
82344649d3 Use state store for sectors 2019-11-01 15:06:49 +01:00
Łukasz Magiera
2343ebc5b8 statestore: Use reflect for mutators 2019-11-01 12:07:05 +01:00
whyrusleeping
fc9091cc89 Get interactive porep sector sealing mostly working 2019-10-31 20:57:10 -07:00
steven004
dd8642c43c Omit double delaration 2019-11-01 09:43:22 +08:00
Steven Li
9a5adfed3a
change with @Kubuxu's comment 2019-11-01 08:56:15 +08:00
Łukasz Magiera
3cde267a2a Move statestore to lib 2019-10-31 22:01:44 +01:00
Łukasz Magiera
ba937cf859 Fix sectorbuilder.VerifySeal 2019-10-31 20:03:26 +01:00
whyrusleeping
4e478330a4 more refactoring for interactive porep scheduling 2019-10-31 09:55:35 -07:00
Whyrusleeping
44710ca4e4
Merge pull request #484 from hfmhx/master
fix NewTipSet
2019-10-31 09:53:56 -07:00
steven004
a917ffee16 minor code change, no function impact 2019-10-31 18:54:13 +08:00
Steven Li
85854578d1
Update chain/types/blockheader.go
Co-Authored-By: Łukasz Magiera <magik6k@users.noreply.github.com>
2019-10-31 16:44:26 +08:00
Łukasz Magiera
5c065f0187
Merge pull request #506 from filecoin-project/feat/dual-config
Add support for different configs
2019-10-31 09:02:10 +01:00
Steven Li
0aa56ba665
Refactor the PowerCmp function
Why we have this: 
This algorithm here directly follow the rule of ratio to win, and easier to understand. 
Just think about a smaller space, e.g. 100, instead of 2^256. 

When one miner has 10% power, it should have 10% ratio to win. that is, when the h is in {0..9}, it wins. Simply speaking, it is: 
     (h + 1) / 100 <= 10% ,  instead of     
     h / 99 < 10%     
The former is easier to understand, though both are equivalent when h is an integer and power_ratio < 1)
2019-10-31 13:36:33 +08:00
whyrusleeping
759094198c Some more progress on interactive porep 2019-10-30 18:22:50 -07:00
hans
6c4537f6a8 fix NewTipSet 2019-10-31 09:19:25 +08:00
Łukasz Magiera
7fa3e2db7a WIP Interactive PoRep 2019-10-30 19:10:29 +01:00
Whyrusleeping
790ac7b510
Merge pull request #485 from lanzafame/feat/connect-chain-sync-trace
add statemanager.CallRaw span
2019-10-30 10:57:09 -07:00
Łukasz Magiera
46d782b30b storageminer: Drop commitment tracker 2019-10-30 18:37:38 +01: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
a4c0610cc3 actors: Rename some storageminer stuff to match the spec 2019-10-30 16:55:55 +01:00
whyrusleeping
3e5654d575 initial actor changes for interactive porep 2019-10-30 16:05:31 +01:00