Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warn users in CLI + StorageDealErrors that minimum deal duration is 180 days #3858

Closed
eshon opened this issue Sep 15, 2020 · 2 comments
Closed
Labels
area/ux Area: UX

Comments

@eshon
Copy link
Contributor

eshon commented Sep 15, 2020

Describe the bug

  1. Interactive CLI for setting up a storage deal should warn users minimum deal duration is 180 days at the prompt Deal duration (days):

  2. StorageDealError could also ask users to retry with 180 days as a min, currently it says:

Message: deal failed: (State=26) error calling node: publishing deal: GasEstimateMessageGas error: estimating gas used: message execution failed: exit 16, reason: Deal duration out of bounds. (RetCode=16)

  1. Miners should auto-reject proposals less than 180 days rather than accepting them and erroring out

To Reproduce

  1. Set up a storage deal with fewer than 180 days
  2. See error with no warnings / hints

Version (run lotus version):
0.7.0+git.9f12eace

@eshon eshon added the area/ux Area: UX label Sep 15, 2020
@eshon
Copy link
Contributor Author

eshon commented Sep 15, 2020

Re: 3. Miners should auto-reject proposals less than 180 days rather than accepting them and erroring out

Miner:

  • accepted deal
  • transferred data
  • funds left client wallet
  • tried to put it on chain
  • only then miner errored out

Miner logs:

2020-09-15T13:03:30.238Z	INFO	storagemarket_impl	impl/provider.go:199	Handling storage deal proposal!
2020-09-15T13:03:30.354Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventOpen", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealValidating", "message": ""}
2020-09-15T13:03:30.362Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventDealDeciding", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealAcceptWait", "message": ""}
2020-09-15T13:03:30.369Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventDataRequested", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealWaitingForData", "message": ""}
2020-09-15T13:03:30.497Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventDataTransferInitiated", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealTransferring", "message": ""}
2020-09-15T13:03:30.505Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventDataTransferCompleted", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealVerifyData", "message": ""}
2020-09-15T13:03:30.510Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventVerifiedData", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealEnsureProviderFunds", "message": ""}
2020-09-15T13:03:30.516Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventFundsReserved", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealEnsureProviderFunds", "message": ""}
2020-09-15T13:03:30.517Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventFunded", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealPublish", "message": ""}
2020-09-15T13:03:30.519Z	INFO	storageadapter	storageadapter/provider.go:60	publishing deal
2020-09-15T13:03:30.524Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventNodeErrored", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealFailing", "message": "error calling node: publishing deal: GasEstimateMessageGas error: estimating gas used: message execution failed: exit 16, reason: Deal duration out of bounds. (RetCode=16)"}
2020-09-15T13:03:30.526Z	WARN	providerstates	providerstates/provider_states.go:443	deal bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m failed: error calling node: publishing deal: GasEstimateMessageGas error: estimating gas used: message execution failed: exit 16, reason: Deal duration out of bounds. (RetCode=16)
2020-09-15T13:03:30.528Z	INFO	markets	loggers/loggers.go:19	storage event	{"name": "ProviderEventFailed", "proposal CID": "bafyreieesxsizgqes6gvyoyynwwc7435p7aurgcew6xbpspzdgaavnha3m", "state": "StorageDealError", "message": "error calling node: publishing deal: GasEstimateMessageGas error: estimating gas used: message execution failed: exit 16, reason: Deal duration out of bounds. (RetCode=16)"}
2020-09-15T13:05:43.877Z	INFO	graphsync	impl/graphsync.go:244	Graphsync ReceiveError: stream reset

@arajasek
Copy link
Contributor

This work is a little blocked by this method being private

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ux Area: UX
Projects
None yet
Development

No branches or pull requests

2 participants