payRequest should be idempotent
emschwartz opened this issue · 0 comments
emschwartz commented
It should use a deterministic transfer id
based on the request address (which is unique per-request) and a sender secret. Ledger plugins are supposed to reject multiple transfers with the same id
. The sender secret prevents an attacker who is able to observe the payment request from blocking the payment by squatting on transfer ids.
It should catch the RepeatError
added in interledger/rfcs#94 and call getFulfillment
to return the fulfillment instead of returning that error. This depends on interledger-deprecated/ilp-plugin-tests#5
It would probably be good to add a test for this to the integration tests