Multipath #754
Replies: 6 comments 1 reply
-
|
Beta Was this translation helpful? Give feedback.
-
Instead of using a specific interpreter/verifier for this, @LayneHaber and I discussed having multipath/multihop be built directly into the contracts given that it likely makes sense to separate the routing logic from the core security mechanisms enforced via verifiers. A high level offchain spec for multipath probably looks like the following:
Note: we likely don't want to split a tx beyond 5 paths because of gas cost limitations + complexity. If we assume the above offchain spec, this means that the txManager must:
|
Beta Was this translation helpful? Give feedback.
-
Made a note here: #761 (comment) on the additional consideration of "how does a user know whether a transfer is possible before doing sender prepare"? |
Beta Was this translation helpful? Give feedback.
-
Updated the spec to reflect current thinking |
Beta Was this translation helpful? Give feedback.
-
How could we do this without an EOA? It seems like the only way to do this would be to rely on either (a) a signature by the end user needed on receiver fulfill or (b) some generic message relay back to the sending chain to put the provided route onchain for disbursing funds. Is there a way to do this? Callers should know up front if they will be able to generate a signature, and they can put this into the |
Beta Was this translation helpful? Give feedback.
-
Contract changes done! Archiving |
Beta Was this translation helpful? Give feedback.
-
Summary
This feature refers to the process of routing the same payment through multiple routers, and is extremely useful for allowing large payments through the network.
Motivation
To facilitate large payments in the network, we need the ability to break up payments so they are spread across multiple routers and may all be fulfilled atomically. If this is not allowed, the network will either require extremely large routers or be unable to support large payments.
Proposed Solution
The
FulfilledTransaction
implemented here should be updated to include aRoute[]
object. This can be pulled onreconcile
.The
TransactionManager
will also need to set a configurableMAX_ROUTERS
variable to check the length of theRoutingData[]
supplied and prevent unbounded gas usage. An owner-onlysetMaxRouters
function will also have to be exposed.Then in the core functions:
Test Cases
The following tests should be implemented:
Outstanding Questions
RoutingData
, but could be different.Tasks
Beta Was this translation helpful? Give feedback.
All reactions