-
Notifications
You must be signed in to change notification settings - Fork 111
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
RFC-3: What does a receiver do if they receive a transfer where the conditions in the transfer frame and the ILP packet are different? #73
Comments
This is a bit of a closer call than #74, but I would still say: Receivers SHOULD reject the incoming transfer with the error "condition mismatch". Reason here is more around - there is probably something fishy going on if the ILP packet doesn't match the transfer. Again, "SHOULD" in case they know more than we do. |
If they do fulfill one of these which would it be? Also, do we recommend that if they can fulfill both that they SHOULD? Is there a protocol where a payment could be split over multiple routes? |
If the receiver tries to fulfill a condition that matches the ILP packet but not any local transfers, then their ledger will just reject the fulfillment. |
Good point, so it's either both or just the one from the transfer. |
@bensharaf is right. That also means there's no point fulfilling both because the one from the packet would be rejected by the ledger. So it should be the receiver either fulfills neither or only the one in the transfer. |
Conclusion is to remove condition from packet. Receiver will only ever get a single condition |
Do they fulfill both if they can? They are only incentivized to fulfill the one that gets them paid which means the one in the transfer frame.
The implication is that if any connector changes the condition in the transfer frame to be different then it's unlikely any downstream connector will change it back because they are financially disincentivised to do so.
We should have language in the spec that details this scenario and provides normative language for expected behavior (which should align with incentives, i.e. fulfill the condition in the transfer frame).
The text was updated successfully, but these errors were encountered: