-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Payment Channel Manager makeover #2128
Comments
Linking #2187 |
It should also track Close/Settle calls and send unclaimed vouchers when needed |
I like the basic framework we have now with payment channels, vouchers, etc. And all of the calls are very logical. However, creating a payment channel in practice is so unreliable for me (fails more often than not) that I've spent a lot of time in the debugger figuring out how all this stuff works. Having been over the code so many times, I would propose these ideas.
One way out of the lock problem entirely is just to decide that the API and CLI will not block on any on-chain operation. Instead, we'd provide an asynchronous pattern. The user would a start API method that fires off a message to the message pool and returns immediately. Then, there is a second API call available to the user to poll for the completion status of his operation. User can exponentially back off the polling.
|
@hannahhoward I think all the referenced issues have been closed, or require further input from OP. I would suggest closing this issue and tracking any remaining issues individually. |
What
The Payment Channel Manager has some known issues.
Most prominently, it doesn't look at the lane limit, which set by spec-actors: filecoin-project/venus#4067
We may need to track funds on a per-lane basis, so that the overall voucher amounts don't exceed funds available filecoin-project/venus#4046
We should track payment channel creation state before it finishes on the chain possibly:
filecoin-project/venus#4045
There's even a design doc for solving the payment channel lane allocation limit: https://docs.google.com/document/d/1JT11U-1OELRHBNqMh4YJlzDtWChVQdkrvFnMZffYIc0/edit?ts=5eb3276f#
How
We should start with solving the lane allocation issue, which will neccesitate some significant redesign.
This can provide an opportunity to cleanup code and increase test coverage
We may want to look at extracting the payment channel to its own repo -- other language implementation teams looking at using markets software may want to use this code.
A solution to tracking payment channel creation state before it's on chain will likely fall out of solving the lane limit issue
regarding tracking funds on a per lane basis, we can solve this seperately when the module has been written
The text was updated successfully, but these errors were encountered: