Commit Graph

432 Commits

Author SHA1 Message Date
hannahhoward
f259bc6a09 feat(graphsync): unified graphsync instance
setup a single graphsync that loads from both the chainstore & client blockstore
2020-03-17 17:25:12 -07:00
Łukasz Magiera
d8ce5078d9 Use new specs-storage interface 2020-03-17 21:19:52 +01:00
Łukasz Magiera
7e997e40f3 workers: Simple storage diagnostics 2020-03-16 18:50:07 +01:00
Łukasz Magiera
1bc55714ed Update to v24 params 2020-03-14 03:45:44 +01:00
Frrist
7371274ea7 update chain-validation: adds miner workflow test (#1403)
* update chain-validation. adds miner workflow test
* replace real sealing with mocked impl
2020-03-12 10:22:45 -07:00
whyrusleeping
3971bf0c99 update specs actors with post and cron fixes 2020-03-11 00:08:51 -07:00
whyrusleeping
bccec5af95 update to latest specs-actors 2020-03-09 22:43:43 -07:00
Łukasz Magiera
fe85c4111a update sectorbuilder with precommit1 mkdir fix 2020-03-09 22:13:13 +01:00
whyrusleeping
bf6948f8d6 update to latest specs-actors 2020-03-08 21:21:46 -07:00
whyrusleeping
ab51c7e2d2 Fix fallback post scheduling to hopefully do the right thing 2020-03-08 00:19:38 -08:00
whyrusleeping
24bf720a9a Merge branch 'master' into testnet/3 2020-03-07 16:46:12 -08:00
Whyrusleeping
f17962182f Merge pull request #1343 from filecoin-project/feat/sb-pc1-mkdir-fix
Update sectorbuilder to fix the mkdir bug in precommit1
2020-03-06 14:38:32 -08:00
Łukasz Magiera
a962479ce7 Update sectorbuilder to fix the mkdir bug in precommit1 2020-03-06 23:26:22 +01:00
hannahhoward
eef48c4be3 feat(client): support car to filestore
Store filestore reference for CAR files
2020-03-06 13:14:02 -08:00
Łukasz Magiera
3cab8bd5d1 gofmt 2020-03-06 20:01:28 +01:00
Łukasz Magiera
3d1a5f4bf3 libs: Use go-statemachine 2020-03-06 20:01:03 +01:00
Łukasz Magiera
38241d66cb Merge branch 'testnet/3' into feat/miner-rewards-cmd 2020-03-06 19:04:36 +01:00
Łukasz Magiera
7d3e16986c sectorbuilder type updates 2020-03-06 06:38:59 +01:00
whyrusleeping
1183e082af add command to inspect and redeem block rewards 2020-03-05 21:32:52 -08:00
Łukasz Magiera
ec00636b52 Update FFI 2020-03-06 05:54:43 +01:00
Steven Allen
6992fd4dba chore(dep): update dependencies
Updates:

* cid, multihash, and multiaddr to ensure that minimal varints are used.
* log to deduplicate some code between version 2 and version 1.
* multistream to avoid writing from multiple threads.
* badger/datastore to harden prefix handling in queries.
* libp2p to 0.5.2

BREAKING:

The new libp2p version now formats addresses with /p2p instead of /ipfs. /ipfs
multiaddrs are still supported.
2020-03-05 16:28:42 -08:00
whyrusleeping
8a7f249aaa update to latest specs-actors 2020-03-05 16:20:57 -08:00
Łukasz Magiera
1c052b7c81 Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-06 00:59:12 +01:00
Łukasz Magiera
a5c6d83cd9 gofmt; mod tidy 2020-03-05 23:43:41 +01:00
frrist
b8394c3573 update, you guessed it, chain-validation 2020-03-05 13:41:35 -08:00
Frrist
e4728eb719 update chain-val with latest tests (#1325)
* update chain-val with latest tests
2020-03-05 13:39:28 -08:00
whyrusleeping
2cd06e3ea0 update to latest specs-actors 2020-03-05 13:02:33 -08:00
Łukasz Magiera
fa5bc3a5a9 Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-05 20:20:47 +01:00
whyrusleeping
4e9e3f3dc3 make state tree snapshots properly stack based 2020-03-04 17:19:15 -08:00
whyrusleeping
5076b2b950 fix reward actor and block reward application 2020-03-04 13:21:24 -08:00
Łukasz Magiera
799ff17c7c Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-04 06:37:11 +01:00
Łukasz Magiera
f50e26e5dd update sectorbuilder 2020-03-04 06:32:13 +01:00
Łukasz Magiera
4e46d00eb6 Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-04 04:01:13 +01:00
Łukasz Magiera
12d870e274 sealmgr: Read only multi-path file manager 2020-03-04 03:24:08 +01:00
whyrusleeping
52acfb88ee use proper manual piece and size setting 2020-03-03 18:19:28 -08:00
whyrusleeping
99c842e027 integrate client interface to allow for offline deals 2020-03-03 16:18:08 -08:00
whyrusleeping
7b11224130 go mod updates, and a couple small fixes 2020-03-03 16:07:27 -08:00
whyrusleeping
0da2f81252 get most of the chain validation tests passing 2020-03-03 16:06:41 -08:00
frrist
dfad346cff add test skipper and update chain-validation 2020-03-03 16:06:41 -08:00
frrist
72132c851b update chain-validation version for miner creation 2020-03-03 16:06:41 -08:00
frrist
b60458d236 implement chain-validation driver 2020-03-03 16:06:41 -08:00
whyrusleeping
c51a83b404 fix a few libp2p related problems 2020-03-02 20:55:25 -08:00
hannahhoward
9beacabd66 fix(paychmgr): Fix issues with payment channels
Load full addresses for payment channels so they can be signed, fixes bugs with saving vouchers and
catching duplicates, updates to version of go-fil-markets that solves a retrieval bug to complete
retrieval deal
2020-03-02 18:15:32 -08:00
whyrusleeping
ca882725ce fixup imports 2020-03-01 17:15:18 -08:00
whyrusleeping
60b19c51ef more misc fixes 2020-03-01 17:09:38 -08:00
hannahhoward
fed548623d fix(deps): update go-fil-markets 2020-02-28 19:32:33 -08:00
Łukasz Magiera
9794c04b94 Update sectorbuilder with Fr fix 2020-02-29 03:31:14 +01:00
Łukasz Magiera
f54a555aa8 Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-02-29 03:21:01 +01:00
whyrusleeping
1a07cb7bbf a few more fixes 2020-02-28 17:12:47 -08:00
whyrusleeping
cf2eefdfbe Fix up client storage deal matcher 2020-02-28 16:05:56 -08:00
whyrusleeping
713059275d progress is made incrementally 2020-02-28 14:00:34 -08:00
whyrusleeping
b03d2e2f9e un go-mod hack things, integrate newly merged fixes 2020-02-28 11:31:28 -08:00
whyrusleeping
0945d8725e fixing miner logic to make more tests pass 2020-02-28 11:31:28 -08:00
Łukasz Magiera
d5b8defcbb Begin work on integrating new sectorbuilder interfaces 2020-02-28 18:17:40 +01:00
whyrusleeping
00efd097c7 implement basic message filtering 2020-02-27 17:40:16 -08:00
whyrusleeping
df6e3e83bf make it all build finally 2020-02-27 13:45:31 -08:00
whyrusleeping
6c12068fb7 more fixes for random garbage 2020-02-26 16:42:39 -08:00
whyrusleeping
767392332e WIP: update sectorbuilder 2020-02-26 14:54:34 -08:00
Nate Walck
f9dac3a291 Swap to opencensus for publishing data to prometheus 2020-02-25 19:40:07 -05:00
Łukasz Magiera
d787aa5007 Merge branch 'testnet/3' into feat/specs-actors 2020-02-24 18:32:02 +01:00
Łukasz Magiera
def0e0a7a1 Merge remote-tracking branch 'origin/master' into testnet/3 2020-02-24 17:30:46 +01:00
Nate Walck
c0ef65f442 Enable Prometheus metrics endpoint and add lotus version 2020-02-23 17:35:29 -05:00
Łukasz Magiera
917df9a5b8 More unified randomness handling 2020-02-23 21:00:47 +01:00
Łukasz Magiera
a82d156ccb Deal flow fixes 2020-02-23 16:50:36 +01:00
Łukasz Magiera
226685dc1c Implement committed capacity sectors 2020-02-23 01:47:47 +01:00
Łukasz Magiera
111d35deef seed: New genesis creation commands 2020-02-21 21:57:00 +01:00
Łukasz Magiera
18627e77ff gofmt; mod tidy 2020-02-21 20:28:20 +01:00
Łukasz Magiera
d6dffed203 Fix genesis car generation 2020-02-21 20:27:29 +01:00
Łukasz Magiera
104871d6c9 paych: Lanes are back to u64 2020-02-21 18:26:44 +01:00
Łukasz Magiera
c744dc06c6 Fix implicit account creation 2020-02-21 18:13:50 +01:00
Łukasz Magiera
57c43183e6 update specs-actors 2020-02-21 17:57:40 +01:00
Łukasz Magiera
69ec3c205a Merge remote-tracking branch 'origin/master' into testnet/3 2020-02-19 22:10:14 +01:00
Łukasz Magiera
9c31f61db4 sectorset updates 2020-02-19 20:26:11 +01:00
Łukasz Magiera
e9019c8bcc Working Genesis Generator 2020-02-18 22:38:08 +01:00
Whyrusleeping
6afeb2e72b
Merge pull request #1268 from filecoin-project/feat/simple-spam-protection
basic gossip spam protection logic
2020-02-18 10:39:36 -08:00
whyrusleeping
6d0eec6395 working towards a working genesis generator 2020-02-17 23:15:30 -08:00
Łukasz Magiera
4ad160ef80 specs-actors: Update cbor-gen 2020-02-17 22:42:15 +01:00
Łukasz Magiera
140187dc2a vm: Fix Commit 2020-02-17 19:00:20 +01:00
Łukasz Magiera
3e4ebd6c9d actors: fix miner constructor 2020-02-17 18:19:06 +01:00
Łukasz Magiera
4ad63d9b63 update specs-actors; update GetRandomness 2020-02-17 09:46:12 +01:00
whyrusleeping
1dafcf24f1 basic gossip spam protection logic 2020-02-16 21:51:18 -08:00
Łukasz Magiera
a92099258b genesis: Register system actor 2020-02-14 22:38:18 +01:00
Łukasz Magiera
d5027bfbb2 Fix amt bug 2020-02-14 21:33:41 +01:00
Łukasz Magiera
48c5494cf9 use specs-actors birfields 2020-02-14 01:24:24 +01:00
Łukasz Magiera
74bf9119cc spects-actors: More type propagation 2020-02-13 04:50:45 +01:00
Łukasz Magiera
36aed6f871 Update cbor-gen 2020-02-13 02:37:28 +01:00
Łukasz Magiera
91b2d2c2fe cbor-gen fixes 2020-02-13 01:10:07 +01:00
hannahhoward
720e29848b feat(markets): use non-custom go-fil-markets, from master 2020-02-12 14:32:26 -08:00
Jakub Sztandera
14580b6144
Import go-systemd properly
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-12 20:44:35 +01:00
Jakub Sztandera
50702f309f Use new hello protocol
Using map encoder.
Types in LatencyMessage are int64 in spec, butl 1. tupled generator
does not support int64 right now; 2. there is no harm in using uint64 here.

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-12 19:08:49 +01:00
Łukasz Magiera
a4f6b739be genesis: Change template types 2020-02-12 01:58:55 +01:00
Łukasz Magiera
fa2c6605c2 Fix compilation after dep updates 2020-02-11 02:11:58 +01:00
Łukasz Magiera
a593a4f6f4 update ffi 2020-02-11 01:44:39 +01:00
Łukasz Magiera
6dce181314 Update specs-actors 2020-02-10 22:25:22 +01:00
Łukasz Magiera
13435aebdc Spec Actors integration 2020-02-08 03:18:32 +01:00
Łukasz Magiera
1d0d429435 actors: Drop refs to multisig_actor.go 2020-02-06 20:49:21 +01:00
hannahhoward
d2c5d81e59 fix(deps): update go-fil-markets
update go-fil-markets to latest to solve an issue with retrieval
2020-02-05 18:48:47 -08:00
hannahhoward
d42cd6a5e2 fix(deps): mod tidy 2020-02-04 20:10:58 -08:00
hannahhoward
97b645cd55 fix(go-fil-markets): fix integration
remove broken aspects of go-fil-markets integration and update versins
2020-02-04 20:08:08 -08:00
whyrusleeping
faf05cafcf squash forks and use correct amt library everywhere 2020-02-04 18:26:42 -08:00
Łukasz Magiera
c013ef3b30 Merge pull request #1219 from filecoin-project/feat/auto-shim
Make it all build
2020-02-05 00:01:41 +01:00
whyrusleeping
028a113737 Make it all build 2020-02-04 14:19:05 -08:00
Łukasz Magiera
d9f3b6c121 Merge pull request #1148 from filecoin-project/feat/msig-integration
DO NOT MERGE: Feat/msig integration
2020-02-04 07:19:49 +01:00
Łukasz Magiera
0e81c1cf7e Merge branch 'testnet/3' into feat/update-markets 2020-02-04 07:17:22 +01:00
whyrusleeping
cd976ad79f tests are mostly passing! 2020-02-03 18:52:18 -08:00
whyrusleeping
c73c5987c7 WIP: integrate multisig actor from specs-actors 2020-02-03 18:52:18 -08:00
whyrusleeping
dfe87c9f6f update to latest hamt changes 2020-02-03 18:52:18 -08:00
Łukasz Magiera
ff77198a08 Update sectorbuilder with later cache mkdir 2020-02-03 18:37:40 +01:00
Łukasz Magiera
ee9060aa14 Update sectorbuilder 2020-01-31 02:18:48 +01:00
Łukasz Magiera
5af64c53b6 initial sectorbuilder FS refactor integration 2020-01-29 00:08:02 +01:00
hannahhoward
433f9ff211 fix(markets): update version, pass payment interval params 2020-01-28 14:08:13 -08:00
hannahhoward
1a2c3adb2f fix(deps): update go-fil-markets 2020-01-28 14:08:13 -08:00
hannahhoward
71289b58ff feat(markets): update to support car files
Upgrades lotus version of go-fil-markets to its head, which supports car files and handles tracking
of pieces, reducing the size of sectorBlocks
2020-01-28 14:08:13 -08:00
Łukasz Magiera
9fc5f0cd9d
Merge pull request #1124 from filecoin-project/feat/sector-recovery
sealing: Implement some common error states
2020-01-24 21:25:03 +01:00
Jakub Sztandera
23b46a05f7
Update badger
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-23 12:46:32 -08:00
Łukasz Magiera
558e4c7669 Fix tests after sectorbuilder update 2020-01-23 15:33:28 +01:00
Łukasz Magiera
c3a5da8586 storageminer: log flag for sector status 2020-01-23 15:18:05 +01:00
Jakub Sztandera
a404d535ee
Make it buld without cgo
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-22 12:03:12 -08:00
Łukasz Magiera
d2401bc339 Update cbor-gen, error on unknown fields 2020-01-21 17:28:55 +01:00
Łukasz Magiera
2076cb106d cobr-gen: Soft struct-map unmarshaling 2020-01-21 17:05:10 +01:00
whyrusleeping
955b755055 wire up importing 2020-01-20 17:53:55 -08:00
whyrusleeping
62f05d4c14 WIP: chain export 2020-01-20 15:51:28 -08:00
Jakub Sztandera
84de47377c
Intoroduce AMT v2 and amtFsck
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-16 23:21:16 +01:00
ognots
d8d8ce7526 health agent to monitor lotus
watch if chain head changes in a given window of api polls
allows setting a threshold of how many times the chain head can remain
unchanged before failing health check
also can set interval for polling chain head
on failure, restarts systemd unit
2020-01-14 12:18:45 -05:00
Łukasz Magiera
11ac026b62 Merge branch 'feat/testnet2' into feat/chainwatch-pg 2020-01-14 04:20:39 +01:00
Łukasz Magiera
69752b419d Update sectorbuilder 2020-01-14 03:09:34 +01:00
Łukasz Magiera
94a21e3aeb Update deps 2020-01-14 03:05:46 +01:00
Łukasz Magiera
a2bcc1fec2 Mostly functional mock sectorbuilder 2020-01-14 03:05:35 +01:00
Łukasz Magiera
85f0f0bf81 mod tidy 2020-01-14 00:38:08 +01:00
Łukasz Magiera
b6fda30719
Merge pull request #1057 from filecoin-project/feat/markets-extraction
Markets Extraction
2020-01-10 20:49:09 +01:00
hannahhoward
0ce1bf706b refactor(markets): reorg file structure 2020-01-10 10:33:26 -08:00
hannahhoward
65ecb33630 feat(storagemarket): extract storage market
remove all shared components, point at go-fil-components repo
2020-01-10 09:49:07 -08:00
hannahhoward
0a4eeb7cb1 refactor(retrievalmarket): switch to go-fil-markets repo
Switch go-fil-components to go-fil-markets
2020-01-10 09:13:12 -08:00
Ł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
whyrusleeping
7534ac1e1a add ability to control seal operations completion time 2020-01-09 12:50:45 -08:00
Łukasz Magiera
8cbcbbd7a4 Merge branch 'feat/testnet2' of github.com:filecoin-project/go-lotus into feat/testnet2 2020-01-08 22:44:54 +01:00
Łukasz Magiera
36a5c7d8f5 Merge branch 'master' into feat/testnet2 2020-01-08 22:38:45 +01:00
Łukasz Magiera
da38822dfd paramfetch: bring parameters.json back to this repo 2020-01-08 21:31:35 +01: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
Jakub Sztandera
b5328d01cf
Update to go-log v1.0.1
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-08 20:20:56 +01:00
Jakub Sztandera
886898b137
Update to badger v2
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-08 19:56:45 +01:00
Łukasz Magiera
855fb26a81 mod tidy 2020-01-08 15:18:13 +01:00
Łukasz Magiera
ab922ed1ba Merge remote-tracking branch 'origin/master' into feat/chainwatch-pg 2020-01-08 15:08:34 +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
whyrusleeping
80c19df4bb go mod tidy 2020-01-07 21:45:10 -08: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