Commit Graph

255 Commits

Author SHA1 Message Date
Łukasz Magiera
de2cbfa8a9 client deal: Cache CommD when creating multiple deals 2020-10-23 22:20:17 +02:00
Łukasz Magiera
36816fb4f3 Fix list-asks, deals with non-genesis miners in lite-mode 2020-10-23 17:08:21 +02:00
hannahhoward
98297cef4d feat(data-transfer): fill in utils 2020-10-22 13:40:26 -07:00
Łukasz Magiera
7c16f2182c Merge branch 'animesh2049/status-api' of github.com:animesh2049/lotus into animesh2049-animesh2049/status-api 2020-10-22 14:14:50 +02:00
hannahhoward
4edebcec2b feat(markets): update markets 0.9.0 and add data transfer restart command 2020-10-13 03:41:08 -07:00
Steven Allen
283fd054e8 fix a race when retrieving pieces
We'd read the deal ID without synchronizing. This could (and probably did given
the history of flaky deal tests) cause us to miss events.

This patch also makes sure to always unsubscribe from events, even on error.
2020-10-09 15:35:44 -07:00
Animesh
ce247bcab3 Add api for getting status given a code 2020-10-07 10:27:51 +05:30
Steven Allen
b6500beaab Merge branch 'master' into asr/spec-v1 2020-10-05 10:29:09 -07:00
Łukasz Magiera
97087fe576
Merge pull request #4122 from filecoin-project/asr/client-wallet
Convert ID addresses to key addresses before checking wallet
2020-10-04 17:20:04 +02:00
Aayush Rajasekaran
8fe8da6f4c Add verified status to api.DealInfo 2020-10-03 03:39:59 -04:00
Steven Allen
8292d60196 Merge branch 'master' into asr/spec-v1 2020-10-02 18:03:03 -07:00
Łukasz Magiera
e848c13ff1 client: bump default deal start buffer 2020-10-02 19:39:34 +02:00
Aayush Rajasekaran
6f0453c581 Convert ID addresses to key addresses before checking wallet 2020-10-01 04:41:24 -04:00
Steven Allen
35e606d397 remove direct specs-actors miner access from expiration calculation 2020-09-30 13:17:56 -07:00
hannahhoward
be884e27be feat(markets): update markets 0.7.0 2020-09-30 10:26:50 -07:00
hannahhoward
3fc791b0e8 feat(markets): update markets v0.6.2 2020-09-23 12:17:16 -07:00
Steven Allen
1bf3b4989d rename imports to match actors code
`sed -i 's/\bv0\(\w\)\(\w*\)/\L\1\E\20/g' **/*.go`
2020-09-18 14:59:27 -07:00
Aayush Rajasekaran
b5ba7a0fad Miner migration 2020-09-17 02:21:16 -04:00
Aayush Rajasekaran
774e068436 Update to specs-actors v0.9.8 2020-09-10 17:41:55 -04:00
hannahhoward
2db4b57013 feat(markets): upgrade markets 0.6.0 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
Ingar Shu
a4ded8c2b9
Add watch option to list-deals 2020-08-28 10:40:27 -07:00
hannahhoward
1cd49cec39 fix(client): insure cancelled context avoids lock 2020-08-26 10:59:07 -07:00
hannahhoward
10c1399474 fix(retrieval): resolve retrieval close event panic
Refactor ClientRetrieve command to remove the possibility of a send on close channel race condition
2020-08-26 10:48:23 -07:00
Łukasz Magiera
9bc48a8867
Merge pull request #3198 from filecoin-project/fix/retrieval-streaming-cleanup
Retrieval CLI fixes
2020-08-24 22:47:09 +02:00
Steven Allen
5733c71c50 Lint everything
We were ignoring quite a few error cases, and had one case where we weren't
actually updating state where we wanted to. Unfortunately, if the linter doesn't
pass, nobody has any reason to actually check lint failures in CI.

There are three remaining XXXs marked in the code for lint.
2020-08-20 20:46:36 -07:00
Whyrusleeping
af3fe206d6
Merge pull request #3122 from filecoin-project/feat/cmd-improvements
sorted deal listings
2020-08-20 13:29:01 -07:00
Ingar Shu
c02c69a8d6
Check deal id when emitting events
Make sure to unsubscribe from retrieval events
2020-08-20 09:16:18 -07:00
hannahhoward
0086f76a90 feat(lotus-miner): add data transfer list cmd
add equivalent command to list data transfers on miner side, extract common functionality for reuse
2020-08-20 01:35:48 -07:00
hannahhoward
66ac7c195c feat(cli): add updates to data transfer
Add an API to get data transfer updates and add modify the CLI to be an
ongoing monitoring plan
2020-08-18 17:36:29 -07:00
hannahhoward
f511cc188a feat(cli): data transfer command
add command to monitor data transfers
2020-08-18 16:26:21 -07:00
Mike Greenberg
8675ca561d fix(api): Filter malformed peer ID before RPC marshaling 2020-08-18 16:29:21 -04:00
Łukasz Magiera
4cd56b3b99 impl: wait in ClientRetrieve 2020-08-18 15:27:56 +02:00
Aayush Rajasekaran
add56c8b81 Create eventless version of ClientRetrieve 2020-08-18 05:49:56 -04:00
whyrusleeping
f05cff478f sorted deal listings 2020-08-17 14:48:49 -07:00
Ingar Shu
cb71386ed9
Don't send finishing event if there is no error 2020-08-17 14:39:08 -07:00
Ingar Shu
7fbbf23e5a
Initialize FundsSpent to zero in RetrievalEvent 2020-08-17 14:39:08 -07: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
whyrusleeping
eb2879ca22 allow client to specify provider collateral 2020-08-13 21:47:36 -04:00
Peter Rabbitson
fd49ef8de6 Stop requiring miner address / sector size for lotus client commP
At present, and at least for the medium term (even with the transition to NSE)
the structure of a piece (and thus commP) will remain identical for every size
of sector.

The offline deal flow would benefit greatly if the `lotus client commP`
interface is able to calculate commP without having access to a fully synced
sync, or without even being online.

This is particularly important for filecoin-discover, as we want to allow
miners to spot-check their purchased HDDs, way before they need to accept
the mainnet deal proposals.

See comment/links in node/impl/client/client.go for details on code flow
2020-08-12 22:03:00 +02:00
Ingar Shu
8f56814ffb
Change formatting, stringify errors before returning over JSONRPC 2020-08-12 10:54:15 -07:00
Ingar Shu
53e06f358a
client retrieval logging 2020-08-11 13:04:00 -07:00
hannahhoward
a89c290f62 feat(markets): update to 0.5.4 2020-08-05 15:35:59 -07:00
Aayush Rajasekaran
26804c0557 Set miner addresses when querying ask 2020-08-05 16:54:45 -04:00
Łukasz Magiera
90baf06011 gofmt 2020-08-01 09:40:25 +02:00
hannahhoward
3cac1080cc feat(retrievalstoremgr): add retrievalstoremgr
add manager for retrievals to handle different cases for IPFS/non-ipfs
2020-07-31 14:16:18 -07:00
hannahhoward
6b67c1cf39 revert(markets): remove multistore on client retrieval
Revert multistore functionality for retrieval client -- the need to do this is to support powergate.
we actually need an option for configuring how this command works -- so that it can use the
blockstore OR the multistore
2020-07-31 13:29:20 -07:00
Łukasz Magiera
b6c9169a87 client cli: Interactive deal command 2020-07-31 18:23:36 +02:00
whyrusleeping
005d60d6b4 better clientside calculation of default deal starts 2020-07-28 18:18:21 -07:00
hannahhoward
5a623cccb5 feat(markets): update markets mulitple deal stores 2020-07-27 23:13:28 -07:00
hannahhoward
dd885b7302 feat(multistore): extract multistore code to repo
Extract multistore + multiread blockstore to a seperate repo
2020-07-24 14:47:22 -07:00
hannahhoward
5b8d3068f7 feat(markets): update to markets 0.5.1
update to markets 0.5.1, pass on params v1 correctly for retrieval
2020-07-23 14:01:34 -07:00
Frank
c38b8b1265 close file 2020-07-23 18:21:13 +08:00
whyrusleeping
fda0651bb5 a few improvements and fixes for the retrieval CLI 2020-07-21 16:43:57 -07:00
Jakub Sztandera
cc1d23a94c
Use single multi ds
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-17 22:14:37 +02:00
hannahhoward
61f120222f feat(markets): update markets with new retrieval 2020-07-15 14:04:31 -07:00
Ingar Shu
4aa30c1a51
Plumb piece cid in miner-specific query functions 2020-07-09 13:14:24 -07:00
Ingar Shu
171ce39e8c
Add piece cid to retrieval queries 2020-07-09 13:03:17 -07:00
Łukasz Magiera
cc09c5b6d9 client: Don't use filestore for local improts 2020-07-08 23:13:14 +02:00
Łukasz Magiera
5a117d8edf gofmt 2020-07-08 23:05:54 +02:00
Łukasz Magiera
802f16c542 client: Reenable nocopy on import 2020-07-08 23:05:43 +02:00
Łukasz Magiera
66237415c5 Merge remote-tracking branch 'origin/next' into feat/client-multi-bstore 2020-07-08 22:48:47 +02:00
Łukasz Magiera
2c00b92325 Merge remote-tracking branch 'origin/master' into next 2020-07-08 21:47:05 +02:00
Aayush Rajasekaran
8645839974 correct error message 2020-07-07 18:29:45 -04:00
Łukasz Magiera
55f089d997 client: Unbreak retrieval 2020-07-07 14:35:02 +02:00
Łukasz Magiera
18fc3337ff client: API/Command to drop imports 2020-07-07 13:45:02 +02:00
Łukasz Magiera
7175b1dd65 gofmt 2020-07-07 11:38:22 +02:00
Łukasz Magiera
24ed43d541 client: Fix import labeling 2020-07-07 11:38:09 +02:00
Łukasz Magiera
f59eb94d92 client: Set correct dag builder params 2020-07-07 11:14:13 +02:00
Łukasz Magiera
47f0898ce9 Wire up client import manager 2020-07-07 10:52:19 +02:00
Łukasz Magiera
8942967223 Client Import manager 2020-07-07 10:52:04 +02:00
Dirk McCormick
5c63581bd5 feat: add fast-retrieval flag to lotus client deal 2020-07-01 12:27:55 +02:00
Dirk McCormick
46f07faead feat: add verified-deal flag to lotus client deal 2020-07-01 12:23:40 +02:00
hannahhoward
be29f3bd99 feat(markets): update to markets v0.3.2
Update to markets v0.3.2, which neccesitates merging master & adding one more node function
2020-07-01 12:06:29 +02:00
hannahhoward
4e32c7edb3 feat(markets): update to markets 0.3.1
Update to markets 0.3.1 with multiaddr support for miners
2020-06-29 10:24:23 -07:00
laser
309fbc15b2 import aliasing, for legibility 2020-06-23 12:22:33 -07:00
laser
06162290af explicitly handle each deal status, as per PR feedback 2020-06-23 12:14:41 -07:00
laser
8adc831a31 return error if retrieval deal rejected 2020-06-23 11:08:04 -07:00
Łukasz Magiera
02234d00b7 Merge remote-tracking branch 'origin/master' into next 2020-06-17 20:50:42 +02:00
Ignacio Hagopian
ec9a334f93
append message on unavailable and error status
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-06-16 17:52:47 -03:00
Ignacio Hagopian
35d9de6b6e
consider response status and err
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-06-16 17:32:03 -03:00
Ignacio Hagopian
7fd082e941
resolve peerid
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-06-16 12:22:44 -03:00
Ignacio Hagopian
9d17e0be9d
ClientMinerQueryOfer API & CLI support
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-06-16 11:14:49 -03:00
Łukasz Magiera
3f81ff3507 Update specs-actors 2020-06-05 22:06:11 +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
Ignacio Hagopian
10753f14d0 retrieve: make fileref optional
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-28 22:11:49 +02:00
Jakub Sztandera
b372881e91
Fix more lint warnings
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-28 01:15:19 +02:00
Jakub Sztandera
d6615b6286
Cleanup many lint warnings
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-27 22:53:20 +02:00
Ignacio Hagopian
bcd84cbe9d
retrieve: make fileref optional
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-26 14:52:52 -03:00
shannonwells
652c257763 passing w/ new namespace wraps 2020-05-20 15:58:59 -07: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
Jeromy
e345525672 Add flag to specify deal start epoch 2020-04-30 10:51:08 -07:00
Łukasz Magiera
55f7c81aaf specs-actors: Fix miner cron on null blocks 2020-04-24 19:12:30 +02:00
Łukasz Magiera
9f9ae155e3 windowed post: Review cleanup 2020-04-21 23:38:33 +02:00
Łukasz Magiera
3b7ae0d6d9 mod tidy, gofmt 2020-04-18 00:02:43 +02:00
Łukasz Magiera
93b2b6d65d Merge branch 'testnet/3' into feat/windowed-post 2020-04-17 18:38:20 +02:00
Łukasz Magiera
15a4565714 Fix deal publishing 2020-04-16 23:43:39 +02:00
Aayush Rajasekaran
4a93ad33f9 Propose Deal: Fail early if data doesn't fit in a sector 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
Aayush Rajasekaran
fc933858e1 Add an API method to calculate piece CIDs 2020-04-15 14:00:42 -04:00
Łukasz Magiera
d3ffe48fcb Get things to mostly build 2020-04-10 23:29:05 +02:00
Łukasz Magiera
613e61222b mostly wire up WindowedPoSt 2020-04-10 23:07:18 +02:00
hannahhoward
00cd89750d feat(deps): update fil-markets, graphsync
Updates dependencies for graphsync, fil-markets, data-transfer. Moves to new graphsync blockstore
swapping capabilities, and also locks down graphsync impl so it does not accept arbitrary requests
2020-04-07 23:25:29 -07:00
Whyrusleeping
ea135991e3 Merge pull request #1480 from filecoin-project/feat/better-deal-info
Better deal info at the command line
2020-03-31 13:29:07 -07:00
hannahhoward
0c69e99b7c feat(cli): add message to deal output
Add the message field to deal output for client deals -- message will often contain additional
useful info about what happened with the deal, especially for errors
2020-03-31 11:53:30 -07:00
Ignacio Hagopian
8f89501118 fix ClientRetrieve with CAR exporting & add test coverage
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-03-30 11:08:20 -03:00
Łukasz Magiera
95ee1c1cde Extract sector-storage 2020-03-28 01:32:39 +01:00
Łukasz Magiera
c66d3dfad7 sectorstorage: Untangle from lotus deps 2020-03-27 22:35:33 +01:00
Ignacio Hagopian
3896902d49 include DealID in DealInfo
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-03-25 16:30:59 -03:00
hannahhoward
eef48c4be3 feat(client): support car to filestore
Store filestore reference for CAR files
2020-03-06 13:14:02 -08:00
hannahhoward
9f5f70a93f feat(client): add car import/export option
adds option on client file import and client retrieval to read/write to CAR file
2020-03-06 13:14:02 -08:00
whyrusleeping
52acfb88ee use proper manual piece and size setting 2020-03-03 18:19:28 -08:00
whyrusleeping
2be2891647 wire up lotus side of make deal for manual commP 2020-03-03 16:18:08 -08:00
whyrusleeping
99c842e027 integrate client interface to allow for offline deals 2020-03-03 16:18:08 -08:00
hannahhoward
bda5315866 fix(paychmr): decode address correctly, pass wallet 2020-02-28 19:26:33 -08:00
hannahhoward
0d7afef0c5 fix(paychmgr): add to paych serialziation 2020-02-28 19:26:33 -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
69ec3c205a Merge remote-tracking branch 'origin/master' into testnet/3 2020-02-19 22:10:14 +01: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
hannahhoward
720e29848b feat(markets): use non-custom go-fil-markets, from master 2020-02-12 14:32:26 -08:00
hannahhoward
433f9ff211 fix(markets): update version, pass payment interval params 2020-01-28 14:08:13 -08:00
hannahhoward
be26c56362 feat(client): provide more informative retrieval message 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
hannahhoward
0ce1bf706b refactor(markets): reorg file structure 2020-01-10 10:33:26 -08:00
hannahhoward
56653eeca6 fix(storagemarket): fix compile errors 2020-01-10 10:01:48 -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
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
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
hannahhoward
8418464d91 refactor(address): use extracted address library
Switch to using extracted address library
2020-01-07 14:53:27 +01:00
jsign
40289848c6
client: make wallet addr be a param in ClientStartDeal
Signed-off-by: jsign <jsign.uy@gmail.com>
2019-12-13 16:15:56 -03:00
Łukasz Magiera
58472afa3a deals: Verify network message signatures 2019-11-07 15:09:11 +01:00
whyrusleeping
480e7899ef fail test if deal errors 2019-11-07 00:39:34 +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
68c2d4f58a deals: Set correct Refs 2019-11-06 18:38:42 +01:00
whyrusleeping
9a398c6260 Track down all the uses of cboripld and eliminate them 2019-11-04 19:42:13 -08:00
Łukasz Magiera
72af55d067 deals: Price per epoch 2019-10-29 11:01:18 +01:00
Łukasz Magiera
cdd91914b9 on chain deals: Actually set DataSize 2019-10-23 20:04:07 +02:00
Łukasz Magiera
fabd074165 on chain deals: Deals make it to the chain 2019-10-23 19:39:14 +02:00
Łukasz Magiera
99ef51a642 on chain deals: Fix build 2019-10-23 12:44:00 +02:00
Łukasz Magiera
46a0333c9c on chain deals: Wip porting deal systems to storagemarket 2019-10-23 12:44:00 +02:00
Łukasz Magiera
aab3bd617a REST file import endpoint 2019-10-23 11:39:44 +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
caa767e081 Incremental deal payments 2019-09-24 23:13:47 +02:00