interledgerjs/ilp

payRequest should be idempotent

emschwartz opened this issue · 0 comments

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