Commit Graph

1256 Commits

Author SHA1 Message Date
Łukasz Magiera
469136ee86
Merge pull request #1040 from filecoin-project/feat/fork-signaling
Add fork signaling to blockheader
2020-01-10 13:33:29 +01:00
hannahhoward
ccf359d057 feat(retrieval): extract retrievalmarket
Extract retrieval market and modify shared types
2020-01-09 19:46:07 -08:00
hannahhoward
da4528932a feat(storagemarket): initial extraction
Types for storage market

Modify deals.Provider to implement storagemarket.StorageProvider

Inject storagemarket.StorageProvider

Storage Provider interfaces

Storage Client interfaces

Add ValidatePublishedDeal to ClientNodeAdapter

Remove FundManager from client

Remove Wallet from client

Remove StateManager, Events, Wallet from client

Rebasing

- Copy types.BigInt, use TokenAmount/BigInt for token amounts
- Remove auto-imported log package
- Move `checkAskSignature` to a client file.
- Plumb contexts through

fix(storagemarket): use publish cids

Switch back to publish message cids to reduce the dependency surface area
2020-01-10 03:29:46 +01:00
whyrusleeping
6c9289df0a don't require signatures for self deals 2020-01-09 14:18:06 -08:00
Łukasz Magiera
f0f8d83980
Merge pull request #826 from filecoin-project/feat/retrieval-market-skeleton
Retrieval Market Cleanup W/ Node Interfaces
2020-01-09 22:06:46 +01:00
whyrusleeping
7ba34535b7 Set hard limit on maximum randomness lookback for seal proof submissions 2020-01-08 14:43:03 -08:00
hannahhoward
5b74a71dd3 feat(retrievalmarket): extract skeleton interfaces
Define all types to spec, modify interfaces, wrap old code

fix(builder): use client blockstore for retrieval

feat(retrieval): add node implementations

add node adapters for client & provider so that retrieval can be extracted
2020-01-08 12:45:43 -08:00
Jakub Sztandera
8cfb4aafcd
Add fork signaling to blockheader
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-08 20:31:08 +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
Łukasz Magiera
f198e81af1
Merge pull request #1032 from filecoin-project/feat/drop-most-fatal-errors
reduce most vm errors to non-fatal, explicitly mark disk issues as fatal
2020-01-08 14:58:35 +01:00
hannahhoward
5312340bf9 refactor(datatransfer): use independent repo
Use independent repo for go-data-transfer
2020-01-08 14:20:31 +01:00
hannahhoward
61e2568b8d feat(datatransfer): implement and extract
feat(datatransfer): setup implementation path

Sets up a path to implementation, offering both the dagservice implementation and a future graphsync
implement, establishes message interfaces and network layer, and isolates the datatransfer module
from the app

WIP using CBOR encoding for dataxfermsg

* Bring cbor-gen stuff into datatransfer package
* make transferRequest private struct
* add transferResponse + funcs
* Rename VoucherID to VoucherType
* more tests passing

WIP trying out some stuff
* Embed request/response in message so all the interfaces work AND the CBOR unmarshaling works: this is more like the spec anyway
* get rid of pb stuff

all message tests passing, some others in datatransfer

Some cleanup for PR

Cleanup for PR, clarifying and additional comments

mod tidy

Respond to PR comments:
* Make DataTransferRequest/Response be returned in from Net
* Regenerate cbor_gen and fix the generator caller so it works better
* Please the linters

Fix tests

Initiate push and pull requests (#536)

* add issue link for data TransferID generation
* comment out failing but not relevant tests
* finish voucher rename from Identifier --> Type

tests passing

cleanup for PR

remove unused fmt import in graphsync_test

a better reflection

send data transfer response

other tests passing

feat(datatransfer): milestone 2 infrastructure

Setup test path for all tickets for milestone 2

responses alert subscribers when request is not accepted (#607)

Graphsync response is scheduled when a valid push request is received (#625)

fix(datatransfer): fix tests

fix an error with read buffers in tests

fix(deps): fix go.sum

Feat/dt graphsync pullreqs (#627)

* graphsync responses to pull requests

Feat/dt initiator cleanup (#645)

* ChannelID.To --> ChannelID.Initiator
* We now store our peer ID (from host.ID()) so it can be used when creating ChannelIDs.
* InProgressChannels returns all of impl.channels, currently just for testing
* Implements go-data-transfer issue
* Some assertions were changed based on the above.
* Renamed some variables and added some assertions based on the new understanding
* Updated SHA for graphsync module
* Updated fakeGraphSync test structs to use new interfaces from new SHA above

Techdebt/dt split graphsync impl receiver (#651)

* Split up graphsyncImpl and graphsyncReceiver
* rename graphsync to utils

DTM sends data over graphsync for validated push requests (#665)

* create channels when a request is received. register push request hook with graphsync. fix tests.
* better NewReaders
* use mutex lock around impl.channels access
* fix(datatransfer): fix test uncertainty
* fix a data race and also don't use random bytes in basic block which can fail
* privatize 3 funcs

with @hannahhoward

Feat/dt gs pullrequests (#693)

* Implements DTM Sends Data Over Graphsync For Validated Pull Requests
* rename a field in a test struct
* refactor a couple of private functions (one was refactored out of existence)

Feat/dt subscribe, file Xfer round trip (#720)

Implements the rest of Subscriber Is Notified When Request Completed #24:
* send a graphsync message within a go func and consume responses until error or transfer is complete.
* notify subscribers of results.
* Rename datatransfer.Event to EventCode.
* datatransfer.Event is now a struct that includes a message and a timestamp as well as the Event.Code int, formerly Event, update all uses
* Add extension data to graphsync request hook, gsReq
* rename sendRequest to sendDtRequest, to distinguish it from sendGsRequest, where Dt = datatransfer, Gs = graphsync
* use a mutex lock for last transfer ID
* obey the linter

Don't respond with error in gsReqRcdHook when we can't find the datatransfer extension. (#754)

* update to correct graphsync version, update tests & code to call the new graphsync hooks
* getExtensionData returns an empty struct + nil if we can't find our extension
* Don't respond with error when we can't find the extension.
* Test for same
* mod tidy

minor fix to go.sum

feat(datatransfer): switch to graphsync implementation

Move over to real graphsync implementation of data transfer, add constructors for graphsync
instances on client and miner side

fix(datatransfer): Fix validators

Validators were checking payload cid against commP -- which are not the same any more. Added a
payloadCid to client deal to maintain the record, fixed validator logic

Feat/dt extraction use go-fil-components/datatransfer (#770)

* Initial commit after changing to go-fil-components/datatransfer
* blow away the datatransfer dir
* use go-fil-components master after its PR #1 was merged
* go mod tidy

use a package

updates after rebase with master
2020-01-08 14:19:28 +01:00
Łukasz Magiera
1392dcc273 Merge remote-tracking branch 'origin/master' into feat/testnet2 2020-01-08 13:53:01 +01:00
Łukasz Magiera
86a22a3896
Merge pull request #1029 from filecoin-project/feat/mpoolpush-cid
mpool: Return CID in MpoolPush
2020-01-08 13:43:03 +01:00
whyrusleeping
897cf72933 Add command to mark given blocks as bad 2020-01-07 21:42:15 -08:00
Łukasz Magiera
a11e8093e5 mpool: Return CID in MpoolPush 2020-01-07 21:10:30 -08:00
whyrusleeping
3965e1053e fix build 2020-01-07 21:05:45 -08:00
whyrusleeping
e41dbdad90 reduce most vm errors to non-fatal, explicitly mark disk issues as fatal 2020-01-07 19:46:55 -08:00
Jakub Sztandera
f572cdea47
Fix logic, improve tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 23:03:58 +01:00
Jakub Sztandera
5e775929be
Cleanup handing and add tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 23:03:58 +01:00
Jakub Sztandera
65724133ea
Add tests
,
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 23:03:58 +01:00
Jakub Sztandera
a63c34a902
Handle faults in ss and pss correctly
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 23:03:18 +01:00
Jakub Sztandera
dbc729d049
Validate length of RLE
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 22:54:43 +01:00
Łukasz Magiera
7b134b8317
Merge pull request #1031 from filecoin-project/feat/block-message-limit
introduce a limit on the number of messages a block can have
2020-01-07 21:48:57 +01:00
Łukasz Magiera
22e9815928 Merge remote-tracking branch 'origin/master' into feat/testnet2 2020-01-07 21:45:30 +01:00
whyrusleeping
a109ae1490 introduce a limit on the number of messages a block can have 2020-01-07 12:41:26 -08:00
laser
841f9c3627 reorganize imports to pass linter 2020-01-07 08:23:12 -08:00
laser
20321bb476 handle rebase 2020-01-07 08:18:35 -08: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
Łukasz Magiera
97ae184d0a Merge remote-tracking branch 'origin/master' into feat/testnet2 2020-01-07 15:06:35 +01:00
Łukasz Magiera
1e7f10e387 gofmt 2020-01-07 15:00:10 +01:00
hannahhoward
718acb0a86 refactor(cborutil): extract cborutil library
Use extracted cborutil library
2020-01-07 14:59:35 +01:00
hannahhoward
14ecd1929b refactor(crypto): use extracted crypto library 2020-01-07 14:53:30 +01:00
hannahhoward
8418464d91 refactor(address): use extracted address library
Switch to using extracted address library
2020-01-07 14:53:27 +01:00
Łukasz Magiera
2635028933
Merge pull request #1024 from filecoin-project/fix/sizestr-overflow
Fix SizeStr index out of band
2020-01-07 14:30:15 +01:00
Łukasz Magiera
605562467d Flatten fork code for testnet2 2020-01-06 19:39:57 +01:00
Jakub Sztandera
2d22f9c3d3
Fix SizeStr index out of band
add test for it

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-06 15:27:19 +01:00
whyrusleeping
dafad17a9b also test fault values out of range 2019-12-20 20:04:38 -08:00
whyrusleeping
8098d23768 test to ensure that submitting bad faults doesnt cause an error 2019-12-20 20:02:18 -08:00
whyrusleeping
5d9d51ba2d don't fail execution if the fault set contains an invalid sector ID 2019-12-20 19:33:11 -08:00
Łukasz Magiera
e3a22d2027 Fix withUpdates 2019-12-20 09:31:59 +01:00
Łukasz Magiera
ed3a2b0025 Set correct head in forkNoPowerEPS 2019-12-20 08:30:12 +01:00
Whyrusleeping
41aef3d2eb
Merge pull request #984 from filecoin-project/feat/tag-good-peers
Tag peers who send us good blocks over pubsub
2019-12-19 17:58:29 -08:00
Łukasz Magiera
ef3795ae3d
Merge pull request #988 from filecoin-project/fork/fix-no-power-eps
FORK: No power EPS Fix
2019-12-19 22:53:35 +01:00
Łukasz Magiera
f7604b84f7
Merge pull request #965 from filecoin-project/feat/no-fatal-serialization
make serialization error non-fatal
2019-12-19 22:04:27 +01:00
whyrusleeping
e5899f614a Tag peers who send us good blocks over pubsub 2019-12-19 12:47:55 -08:00
Łukasz Magiera
6ce4cf12f7 Care about nullblocks in handleStateForks 2019-12-19 21:01:05 +01:00
Łukasz Magiera
d21e24c270 don't modify existing actor code 2019-12-19 20:38:50 +01:00
Łukasz Magiera
3f54cbabe0 FORK: No power EPS Fix 2019-12-19 19:47:25 +01:00
Łukasz Magiera
81233b894d Implement 'chain get' for easier ipld digging 2019-12-19 17:58:02 +01:00
Łukasz Magiera
7fd31192d2
Merge pull request #964 from filecoin-project/feat/sb-faults
Wire up faults in fPoSt
2019-12-18 17:37:27 +01:00
whyrusleeping
897d4c7d24 make serialization error non-fatal 2019-12-17 19:41:58 -08:00
whyrusleeping
fda3811dcf Update cbor-gen to latest master 2019-12-17 19:06:06 -08:00
Łukasz Magiera
2e95a53679 Wire up faults in fPoSt 2019-12-17 23:33:08 +01:00
whyrusleeping
3cb4a60db4 some log cleanup and an extra trace value 2019-12-17 14:15:51 -08:00
Whyrusleeping
31327a383f
Merge pull request #948 from filecoin-project/feat/sybill-fun
Basic sybill resistance mechanisms
2019-12-17 20:45:45 +01:00
whyrusleeping
6cb6167393 bump up filecoin related weights 2019-12-17 10:16:10 -08:00
Łukasz Magiera
4ea6305771 sync: Check bls aggregate early 2019-12-17 12:20:09 +01:00
whyrusleeping
7dcc528cd1 tag peers who propagate good blocks to us 2019-12-16 23:06:48 -08:00
whyrusleeping
022581d50b add routine to tag miners peer IDs as high value in connection manager 2019-12-16 22:51:41 -08:00
whyrusleeping
28b470cb0d blocksync tagging 2019-12-16 22:15:06 -08:00
whyrusleeping
4e4d6fb8de parallelize bls message hashing for validation 2019-12-16 19:36:32 -08:00
Łukasz Magiera
3fda442bb3
Merge pull request #934 from filecoin-project/feat/sb-diskmgr
sectorbuilder: Check free space before creating sectors
2019-12-16 21:37:18 +01:00
Łukasz Magiera
3892e94bfe
Merge pull request #938 from filecoin-project/feat/load-tipset-cache
cache load tipset
2019-12-16 21:13:03 +01:00
whyrusleeping
6e94377469 cache load tipset 2019-12-16 11:22:56 -08:00
Łukasz Magiera
f297409d6d
Merge pull request #936 from filecoin-project/feat/cleanup-logspam
clean up some log spam
2019-12-16 18:17:14 +01:00
whyrusleeping
99eae286c2 clean up some log spam 2019-12-16 09:14:21 -08:00
Łukasz Magiera
825e3a0774 sectorbuilder: check free space before creating sectors 2019-12-16 17:16:08 +01:00
Jakub Sztandera
c25f616562
Merge pull request #932 from filecoin-project/feat/cfg-uncomment-sections
config: Don't comment sections be default
2019-12-16 13:03:45 +01:00
Łukasz Magiera
d6f543ce87 gofmt 2019-12-16 13:00:43 +01:00
Łukasz Magiera
9b2eab6a3f
Merge pull request #925 from filecoin-project/fix/future-mining
dont allow submitting blocks more than a second in the future
2019-12-16 12:39:35 +01:00
Whyrusleeping
7293f7415d
Merge pull request #715 from filecoin-project/frrist/chainval-multisig
chainval | multisig tests
2019-12-16 02:58:30 +01:00
whyrusleeping
159117e720 dont allow submitting blocks more than a second in the future 2019-12-15 16:43:32 -08:00
Łukasz Magiera
1415ba4ce7
Merge pull request #898 from filecoin-project/feat/storage-market-tracing
add a bit more tracing in publish storage deal
2019-12-13 10:59:31 +01:00
whyrusleeping
28a325efe6 soft fail messages that cause precomitted sectors map to become too large 2019-12-13 00:00:20 +01:00
whyrusleeping
71cbd79290 add a bit more tracing in publish storage deal 2019-12-12 19:25:15 +01:00
Łukasz Magiera
cf9edae000
Merge pull request #878 from filecoin-project/feat/cw-sset-counts
chainwatch: Collect sector set sizes
2019-12-12 17:32:12 +01:00
Jakub Sztandera
b96da09a5d
Add additional checks
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-12 14:24:24 +01:00
Jakub Sztandera
1eed506728
Implement fork
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-12 14:16:47 +01:00
Jakub Sztandera
344dd2ca5a
Fix candidate check
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-12 14:12:43 +01:00
Łukasz Magiera
fc6073d13b chainwatch: Collect sector set sizes 2019-12-12 00:32:09 +01:00
Jakub Sztandera
ae2a694dcb
Remove sync time
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-11 22:03:53 +01:00
whyrusleeping
f141849df5 fix incoming tipset bucketing 2019-12-11 21:41:24 +01:00
Łukasz Magiera
37113aeab1 Final testnet params 2019-12-11 17:27:30 +01:00
Łukasz Magiera
62ede45dfc
Merge pull request #855 from dtynn/fix/duplicate_call_on_unsub
fix: duplicate unsub calls when client quits
2019-12-11 14:09:09 +01:00
dtynn
8fd624fd5b fix: duplicate unsub calls when client quits 2019-12-11 20:37:52 +08:00
Łukasz Magiera
544bba6126
Merge pull request #845 from filecoin-project/fix/other-gen-sync-panic
fix all panics from calling NewTipSet on an empty set of blocks
2019-12-10 22:47:21 +01:00
whyrusleeping
12eed004ae fix all panics from calling NewTipSet on an empty set of blocks 2019-12-10 22:41:02 +01:00
Łukasz Magiera
b4cf80f540 mempool: Don't crash if loading local messages fails 2019-12-10 20:42:09 +01:00
Łukasz Magiera
70c057934e
Merge pull request #836 from filecoin-project/fix/genesis-miner-power
Fix setting genesis miner power
2019-12-10 20:28:40 +01:00
Łukasz Magiera
e5dfbef83a genesis: Fix miner power setting 2019-12-10 17:55:21 +01:00
Jakub Sztandera
9d9040558f
Collect hello message latency
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-10 16:36:48 +01:00
Łukasz Magiera
fe95c59158
Merge pull request #832 from filecoin-project/feat/smrt-rbc
Smarter message rebroadcast
2019-12-10 16:18:04 +01:00
Jakub Sztandera
43bc25d04a
Fix edge case
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-10 14:45:15 +01:00
Jakub Sztandera
c37ec227e9
Fix lint warning
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-10 14:16:01 +01:00
Jakub Sztandera
44d8f4d6d4
Smarter message rebroadcast
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-10 14:13:20 +01:00
whyrusleeping
bbc616c70c fix including multiple blocks from the same miner in a tipset 2019-12-10 12:07:07 +01:00
Łukasz Magiera
852415ce04
Merge pull request #822 from filecoin-project/fix/sync-tests
fix sync tests
2019-12-09 22:18:29 +01:00
whyrusleeping
e27217c6a1 fix sync tests 2019-12-09 22:17:15 +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
Łukasz Magiera
c816ded4e5
Merge pull request #814 from filecoin-project/feat/minimum-miner-size
implement a minimum miner size
2019-12-09 21:32:30 +01:00
whyrusleeping
d64f8a38d1
implement a minimum miner size
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-09 21:30:04 +01:00
Łukasz Magiera
d750723405 Merge remote-tracking branch 'origin/testnet-staging' into feat/cleanup-sectorstate-structs 2019-12-09 21:27:20 +01:00
whyrusleeping
d2448912a6 Implement basic fault handling
WIP: miner actor tests

working miner actor test

rebase and fix tests
2019-12-09 20:53:43 +01:00
frrist
b6b91372cb add multisig test calls and update to v0.0.3 2019-12-09 09:55:24 -08:00
Jakub Sztandera
887a34135b
Make ElectionPostChallengeCount math overflow safe
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-09 18:34:18 +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
ff963dfea5
Merge pull request #780 from filecoin-project/feat/storage-deal-cleanup
Clean up storage deal structures
2019-12-09 18:31:18 +01:00
Łukasz Magiera
44f3a501ab
Merge pull request #783 from filecoin-project/fix/bad-epost-mining
Fix/bad epost mining
2019-12-09 18:27:24 +01:00
Łukasz Magiera
94df2c656e Use map encoders for some structs 2019-12-09 17:40:15 +01:00
Łukasz Magiera
0b4db5530c
Merge pull request #804 from filecoin-project/fix/retrieve-large
Fix retrieval of large files
2019-12-09 16:28:47 +01:00
Łukasz Magiera
d18179d347
Merge pull request #792 from filecoin-project/fix/precommit-cancel-commit
Handle reverts in precommit more correctly
2019-12-09 15:53:25 +01:00
Łukasz Magiera
570d725ce5 type-gen 2019-12-09 15:41:44 +01:00
Łukasz Magiera
ed0324bcc8
Merge pull request #794 from filecoin-project/feat/parallel-tss-caching
dont waste work when calling ComputeTipSetState in parallel
2019-12-09 15:04:23 +01:00
whyrusleeping
eba3f4af86 address PR review 2019-12-08 23:39:08 +01:00
Łukasz Magiera
0efc625405 type-gen 2019-12-08 23:35:46 +01:00
Jakub Sztandera
aa1cef008f
Merge pull request #799 from filecoin-project/fix/mpool-sub
Fix mpool sub not unsubbing
2019-12-08 23:29:51 +01:00
Łukasz Magiera
635398d57d
Merge pull request #791 from filecoin-project/feat/blocksync-hueristic
Add better hueristic to blocksync client, and start feeding it data
2019-12-08 23:29:37 +01:00
Jakub Sztandera
09d082b30e
Remove printf, improve hueristic
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-08 21:00:01 +01:00
whyrusleeping
4ed7a0826b don't print giant long proof in error message 2019-12-08 18:32:44 +01:00
whyrusleeping
e8c43d00cc dont waste work when calling ComputeTipSetState in parallel 2019-12-08 18:07:44 +01:00
Jakub Sztandera
9814d53460
Improve the hueristic a bit
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-08 17:24:51 +01:00
whyrusleeping
fd6f63a239 adjust hueristic to allow comparisons between peers with zero failures 2019-12-08 16:14:34 +01:00
whyrusleeping
a06c2b15ef remove debug prints 2019-12-08 16:04:44 +01:00
whyrusleeping
6cf55b0b1e Add better hueristic to blocksync client, and start feeding it data 2019-12-08 16:02:38 +01:00
Jakub Sztandera
74327ff575
Fix mpool sub not unsubbing
Resolves #786

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-08 16:00:45 +01:00
whyrusleeping
17b0cb1d3d improve bootstrap sync handling 2019-12-08 12:44:47 +01:00
whyrusleeping
d3f08c5243 remove more spammy logs 2019-12-07 23:32:34 +01:00
Whyrusleeping
99c4691720
Merge pull request #777 from filecoin-project/feat/better-sync-manager-relating
Better track related incoming sync targets
2019-12-07 23:08:42 +01:00
whyrusleeping
f0653decf3 Clean up storage deal structures 2019-12-07 21:29:37 +01:00
whyrusleeping
80595e4dd5 remove debug prints 2019-12-07 19:16:17 +01:00
Łukasz Magiera
83924e6b97
sectorbuilder: Allow to restrict task types
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-07 19:05:15 +01:00
whyrusleeping
8181b283c0 don't accept blocks from slashed miners 2019-12-07 18:59:34 +01:00
Jakub Sztandera
4e36d9198b
Merge pull request #221 from filecoin-project/misc/rlecrash
Lazy RLE+
2019-12-07 17:47:33 +01:00
whyrusleeping
e6a08784f8 print more errors if epost fails during tipset state evaluation 2019-12-07 17:24:42 +01:00
whyrusleeping
7363fa2e8e fix tests, add tipset expansion to relation criteria 2019-12-07 17:04:04 +01:00
Jakub Sztandera
71b973f830
Some cleanup
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-07 16:20:30 +01:00
Whyrusleeping
5bd3dd00b5
Merge pull request #778 from filecoin-project/feat/better-messagepool-reorg
Improve messagepool reorg checks
2019-12-07 16:00:08 +01:00
Jakub Sztandera
6e4761c819
Fix rleplus in actor code
,
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-07 15:51:31 +01:00
Jakub Sztandera
32a1940c57
Replace rleplus with rlepluslazy
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-07 15:48:20 +01:00
whyrusleeping
74ed6455b0 Improve messagepool reorg checks 2019-12-07 12:42:04 +01:00
whyrusleeping
f53422a1f9 Improve messagepool reorg checks 2019-12-07 12:41:30 +01:00
whyrusleeping
7a308b60a6 Better track related incoming sync targets 2019-12-07 12:17:36 +01:00
whyrusleeping
bc343dbb67 flag blocks that are received too late 2019-12-07 11:49:05 +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
Łukasz Magiera
38eedd05e8 stmgr: Mute duplicate msg in tipset spam 2019-12-05 19:59:51 +01:00
Łukasz Magiera
3673a9110f
Merge pull request #743 from filecoin-project/feat/static-check-2
more of that sweet staticcheck goodness
2019-12-05 12:21:43 +01:00
Łukasz Magiera
8fd6d98620
Merge pull request #740 from filecoin-project/feat/sector-id-max
Set maximum sector ID to 2^48-1
2019-12-05 10:58:00 +01:00
whyrusleeping
b7a89b56b3 more statticcheck! 2019-12-04 21:14:19 -08:00
whyrusleeping
613a0a05a0 more of that sweet staticcheck goodness 2019-12-04 18:04:09 -08:00
Whyrusleeping
a45fe8a7f9
Merge pull request #739 from filecoin-project/feat/static-check
some fixes from staticcheck
2019-12-04 17:34:22 -08:00
whyrusleeping
43f2286890 Set maximum sector ID to 2^48-1 2019-12-04 17:32:34 -08:00
whyrusleeping
1b475ba6fe some fixes from staticcheck in ./chain 2019-12-04 17:18:30 -08:00
Whyrusleeping
67a12d3059
Merge pull request #695 from filecoin-project/frrist/chainval-type-serialization
chainval | type serialization
2019-12-04 17:11:32 -08:00
frrist
e1e295d47b update to work with chain-validation refactor 2019-12-04 15:28:12 -08:00
lanzafame
54df1c7be0 add error status to trace 2019-12-05 09:22:13 +10:00
Łukasz Magiera
b6816b8729
Merge pull request #728 from filecoin-project/fix/events-double-trigger
fix events double trigger issue
2019-12-04 14:08:20 +01:00
Łukasz Magiera
631a9cd3b6 events: Fix double apply in events.Called as well 2019-12-04 13:58:22 +01:00
Łukasz Magiera
7d80cbfbdf events: Fix double trigger in CalledAt 2019-12-04 13:41:22 +01:00
whyrusleeping
cb19ca499e add extra check for apply being called iff revert happens 2019-12-03 21:24:17 -08:00
whyrusleeping
c456ef4905 reproduce events double trigger issue in test 2019-12-03 21:21:31 -08:00
whyrusleeping
c302051bc2 add duration tracking to sync status 2019-12-03 20:59:41 -08:00
whyrusleeping
034f0cc479 track sync errors in status 2019-12-03 19:56:29 -08:00
whyrusleeping
2d15e925cd WIP: improve timing of mining 2019-12-03 18:53:49 -08:00
Łukasz Magiera
2619567dfd
Merge pull request #716 from filecoin-project/fix/sectorstore-fails
Miner: improve sector state handling
2019-12-04 02:10:30 +01:00
Łukasz Magiera
d112fd18b1 Persist sector sealing errors 2019-12-04 01:44:29 +01:00
whyrusleeping
4206744d7b fix log message in chainstore 2019-12-03 15:04:52 -08:00
Łukasz Magiera
9bb054a767 slightly cleaner IsRoundWinner 2019-12-03 22:27:07 +01:00
Łukasz Magiera
d79f1c180d mpool: Make tests pass 2019-12-03 22:09:39 +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
Łukasz Magiera
6127d82c7b events: allow get on empty ts cache 2019-12-03 18:41:31 +01:00
Łukasz Magiera
f43ff07ab3 events: Allow revert on empty cache 2019-12-03 18:38:37 +01:00
Łukasz Magiera
5810922441 This helps for some reason 2019-12-03 17:39:47 +01:00
Łukasz Magiera
8e09fd6ca8
Merge pull request #696 from filecoin-project/fix/propagation-delay
fix propagation delay to be a sane number
2019-12-03 13:35:25 +01:00
whyrusleeping
c1cd332ff7 impose a maximum sector ID 2019-12-02 23:46:58 -08:00
whyrusleeping
1b8aa2c2b4 fix propagation delay to be a sane number 2019-12-02 20:34:41 -08:00
Łukasz Magiera
7d13b28439 Fix tests using 1k sectors 2019-12-03 02:55:10 +01:00
Łukasz Magiera
f4c082c7de
Merge pull request #690 from filecoin-project/fix/message-nonce-head-change
Fix message nonce tracking during head changes
2019-12-03 00:34:11 +01:00
Whyrusleeping
dd6e75f49d
Merge pull request #666 from filecoin-project/feat/election-post
Election post restructuring
2019-12-02 15:32:12 -08:00
whyrusleeping
96f17d4408 remove dead code 2019-12-02 15:24:46 -08:00
Łukasz Magiera
adcda68d62 fix winner math 2019-12-03 00:18:27 +01:00
Łukasz Magiera
fd92b8f19a Type 256 differently 2019-12-02 23:49:41 +01:00
Łukasz Magiera
ab36a5aa04 wip fixing IsTicketWinner 2019-12-02 23:46:49 +01:00
whyrusleeping
481cc63181 add a test for the revert messages issue 2019-12-02 14:33:11 -08:00
whyrusleeping
e366db00fe fix lame deadlock and revert handling 2019-12-02 14:33:11 -08:00
whyrusleeping
68e25b36f1 rename to avoid stuttering 2019-12-02 14:33:11 -08:00
whyrusleeping
b58e7344e8 pull messagepool into separate package 2019-12-02 14:33:11 -08:00
whyrusleeping
8da3cc875e Fix message nonce tracking during head changes 2019-12-02 14:33:11 -08:00
Łukasz Magiera
5beb7f4a48 More review fixes 2019-12-02 19:56:27 +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
Łukasz Magiera
e239fe41d4 Fix Failing tests 2019-12-02 12:34:01 +01:00
Łukasz Magiera
a47fbfa799 Merge branch 'devnet/9' into feat/election-post 2019-12-02 12:25:23 +01:00
Łukasz Magiera
849b9741d9
Merge pull request #673 from filecoin-project/feat/cron
actors: Implement cron actor
2019-12-02 12:11:04 +01:00
Łukasz Magiera
fd8f65248b deals: Correctly set deal ID in provider states 2019-12-01 21:07:57 +01:00
Łukasz Magiera
660ba3f4f6 genesis: set correct NextDealID in SMA 2019-12-01 19:37:23 +01:00
Łukasz Magiera
a59d0f0f8c Fix unsealing, sector based data refs 2019-12-01 18:58:31 +01:00
whyrusleeping
74be20f864 print better error if no blocksync peers 2019-11-30 22:11:45 -06:00
whyrusleeping
422e25c8e6 self review: some cleanup 2019-11-30 22:02:52 -06:00
Jakub Sztandera
9959234858
Remove usage of go-leb128
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-01 01:13:23 +01:00
whyrusleeping
59d9c681ad Rework miner test setups to fix tests 2019-11-30 17:21:11 -06:00
Łukasz Magiera
d5f78d6659 more verbose logging in node tests 2019-11-30 23:22:26 +01:00
whyrusleeping
6b4fcc0090 progressively getting closer to fixing tests 2019-11-30 11:02:25 -06:00
Jakub Sztandera
c8b21b30ab
Fix id address decoding
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-30 13:46:00 +01:00
whyrusleeping
3b533ed76c Genesis miner config actually sets the created miner address now 2019-11-29 22:31:26 -06:00
Łukasz Magiera
703bc7e774 Fix slashing / power recovery issues 2019-11-29 21:18:34 +01:00
Łukasz Magiera
adf71f502c don't print scary errors when miner has no sectors 2019-11-29 20:14:10 +01:00
Łukasz Magiera
ad978949db import sector/deal into state machines on init 2019-11-29 20:11:42 +01:00
whyrusleeping
01e4958f73 remove debug prints 2019-11-28 21:25:03 -08: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
466f1d8cb9 Use ProvingSet for GetSectorsForElectionPost 2019-11-28 19:52:28 +01:00
Łukasz Magiera
6098db4f51
Merge pull request #682 from filecoin-project/feat/election-post-fallback
Feat/election post fallback
2019-11-28 19:10:50 +01:00
Łukasz Magiera
367512d067 Some fpost fixes 2019-11-28 19:08:10 +01:00
Łukasz Magiera
920fd3ba9b storageminer: New fallback post scheduler 2019-11-28 18:44:57 +01:00
Łukasz Magiera
aefd432422 actors: Fallback post progress 2019-11-28 13:46:56 +01:00
Łukasz Magiera
b75767e678 seed: get default sector size from build.SectorSizes 2019-11-28 11:55:34 +01:00
whyrusleeping
7afc0d4dbe dedupe some code 2019-11-27 21:38:00 -06:00
whyrusleeping
45288b8810 WIP: uncomment out windowed post code, try to make it work 2019-11-27 21:36:34 -06:00
whyrusleeping
8fae155cf6 Add timings for proof verification 2019-11-27 19:43:52 -06:00
Łukasz Magiera
23e0008b81 Merge remote-tracking branch 'origin/master' into feat/election-post 2019-11-27 13:31:44 +01:00
Łukasz Magiera
7952b7525e
Merge pull request #675 from filecoin-project/fix/mpool
Fix some Mpool / PoSt sched bugs
2019-11-27 13:24:28 +01:00
Łukasz Magiera
eeb5a14e46 address review 2019-11-27 13:18:22 +01:00
Łukasz Magiera
03b1d2329f seed: Call AcquireID for sectorIDs 2019-11-27 12:58:16 +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
Łukasz Magiera
407f6fa6f8 sync: correct vrfBase for ticket check 2019-11-26 23:54:11 +01:00
Łukasz Magiera
8297feb1d3 Pass correct randomness to EPoSt Verification 2019-11-26 18:29:18 +01:00
Łukasz Magiera
fc72da1d0c chain: Pass correct prover to VerifyPost 2019-11-26 18:06:05 +01:00
Łukasz Magiera
23900964a1 Fix mixed up CommD/R in genesis creation 2019-11-26 17:35:37 +01:00
whyrusleeping
a98295a747 use the correct sector sizes in places 2019-11-25 20:43:43 -06:00
Jakub Sztandera
6423e5867d
Fix max batch error from badger
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-25 17:04:03 +01:00
Łukasz Magiera
67b22ac22e stmgr: Fix WaitMessage with more than one msg from single origin 2019-11-25 14:59:12 +01:00
whyrusleeping
a0588d513d Add lotus-gen, rewire genesis mining 2019-11-24 22:45:13 -06:00
Łukasz Magiera
3cf97c4278 events: Fix nnoce check in CheckMsg 2019-11-24 20:18:49 +01:00
Łukasz Magiera
a755ca5dae stmgr: check for duplicate nonces when looking back for msg 2019-11-24 20:16:18 +01:00
Łukasz Magiera
c7b34153fb more mpooland post sched fixes 2019-11-24 17:35:50 +01:00
Łukasz Magiera
43a5172944 mpool: persist local messages 2019-11-23 20:05:18 +01:00
Łukasz Magiera
6af2e946d1 wip mpool fixes 2019-11-23 02:26:40 +01:00
Łukasz Magiera
96023d415e actors: Implement cron actor 2019-11-22 23:51:44 +01:00
Jakub Sztandera
6aa97fd89a
Fix change validation
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-22 12:31:15 -06:00
whyrusleeping
f03198c8a0 sync tests passing, still no vm integration 2019-11-22 10:41:09 -06:00
Jakub Sztandera
36b7c5a32a
Swtich to xerrors
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-22 10:20:56 -06:00
whyrusleeping
96482f456a WIP: election post restructuring 2019-11-21 16:21:45 -06:00
Łukasz Magiera
37792b149f sync: fix some issues 2019-11-20 20:49:29 +01:00
whyrusleeping
d57f048c2c reject blocks with nil signatures 2019-11-20 11:14:08 -06:00
Łukasz Magiera
0a6a0e5e39 Address review 2019-11-20 18:00:05 +01:00
Łukasz Magiera
8de8fa9663 types: drop annoying signature error log 2019-11-20 18:00:05 +01:00
Łukasz Magiera
ddf2e05dd0 post: More correct 'wait' logic 2019-11-20 18:00:05 +01:00
Łukasz Magiera
4e2d7f0b1a
Merge pull request #632 from filecoin-project/feat/chainwatch
ChainWatch
2019-11-20 10:57:53 -06:00
whyrusleeping
c4564c0597 use proper round number, allow block signature to be nil 2019-11-20 10:54:10 -06:00
whyrusleeping
f8eabd3db4 Refactor mining logic to match specs ticket chain 2019-11-20 10:52:36 -06:00
whyrusleeping
71923c691d dont publish nil message removed 2019-11-20 17:47:44 +01:00
Łukasz Magiera
4ee2fc4d9f chain: call unsub in Incoming* methods 2019-11-20 17:47:44 +01:00
Łukasz Magiera
d3b980ef58 api.SyncIncomingBlocks 2019-11-20 17:47:44 +01:00
Łukasz Magiera
f40a1afac8 chainwatch: store mpool message additions 2019-11-20 17:45:02 +01:00
Łukasz Magiera
1f913b8df2 api.MpoolSub 2019-11-20 17:45:02 +01:00
Łukasz Magiera
8ac65cde80 api.StateLookupID 2019-11-20 17:45:02 +01:00
Łukasz Magiera
ab8407fb43
Merge pull request #636 from filecoin-project/fix/reorg-ops-order
fix ordering of block applies in reorg ops
2019-11-20 01:09:53 +01:00
Łukasz Magiera
582f8f9a14 events: Fix Called handler 2019-11-19 23:07:58 +01:00
whyrusleeping
ba5effe1f6 don't swap order in tests anymore 2019-11-19 15:54:39 -06:00
Łukasz Magiera
35659af84d
Merge pull request #626 from filecoin-project/feat/chain-sync-manager
Implement chain sync manager
2019-11-19 22:35:19 +01:00
Jakub Sztandera
6dafca7aac
Use local type as ctx key
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-19 14:38:05 -06:00
Jakub Sztandera
eb9429a2e2
Merge pull request #639 from gguoss/patch-3
Delete redundant import
2019-11-19 14:25:02 -06:00
Łukasz Magiera
32aa574b8f Fix build 2019-11-19 17:17:26 +01:00
Łukasz Magiera
f52d9de4dd events: MatchFuncs for Called 2019-11-19 16:51:12 +01:00
Łukasz Magiera
448a0a63d8
Merge pull request #631 from filecoin-project/feat/fast-vm-sync
use fast cbor-gen method for extracting links from objects
2019-11-19 13:38:37 +01:00
郭光华
af09638ac6
Delete redundant import 2019-11-19 11:24:48 +08:00
whyrusleeping
ccfa03138d fix ordering of block applies in reorg ops 2019-11-18 12:18:59 -06:00
whyrusleeping
cac44367aa add batching to vm Copy call 2019-11-17 11:50:04 -06:00
whyrusleeping
98c888a630 address feedback 2019-11-17 11:00:45 -06:00
whyrusleeping
b77bb9e4aa Audit pass for blatantly wrong panics 2019-11-16 17:41:14 -06:00
whyrusleeping
43447ca1bf cleanup and add some tests 2019-11-16 13:36:21 -08:00
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