ripple-unmaintained / ilp-plugin-xrp-escrow

Other
6 stars 8 forks source link

Incompatible with end-to-end quoting #25

Open emschwartz opened 6 years ago

emschwartz commented 6 years ago

This plugin is incompatible with end-to-end quoting and other transport layer protocols that make use of error messages, because it does not relay error messages or actually cancel the incoming transfer when rejectIncomingTransfer is called. I don't know if there's a way to solve this without adding a cancellation condition to the rippled escrow transaction and using that to allow the receiver to reject the incoming transfer.

If we decide to drop support for escrow plugins in favor of payment channels, we could decide that this doesn't matter.

michielbdejong commented 6 years ago

FWIW, Amundsen uses this plugin to do the actual prepare and fulfill alongside a BTP connection which takes care of messaging (route broadcasts, vouch, quoting)

sharafian commented 6 years ago

Using a BTP connection alongside XRP escrow means you need a pre-existing relationship though, which makes the plugin bilateral.

I don't think we need to worry about this issue though, because it's already too slow to have a good experience using payments as quotes.

michielbdejong commented 6 years ago

My point of view is that one thing this plugin is very useful for by itself is to pay out a one-off payment to any receiver (exit node). If you want to use it as an entry node then you need the vouch protocol to go over BTP, so for that it's incomplete.

michielbdejong commented 6 years ago

For use in one-to-one relationships you probably almost always want to use a payment channel instead.