Open GildedHonour opened 4 years ago
There was a pull request (that seemed to be more of a code dump) about this feature already, might be worth checking it out and/or improving on top of that.
Yes, I've seen it.
I wrote a summary on the costs & benefits of IOU escrow and some of the complexitities:
XRP escrow is very easy because every account in the XRP Ledger can hold an unlimited amount of XRP, and the XRP can be sent directly to any one of them. Issued currencies, by contrast, have to flow through paths and be stored in trust lines, which have maximum values that can change. Even if you created an issued currency escrow today, it's possible your intended recipient couldn't receive the XRP when the escrow is finished. Issued currencies can also have transfer fees, which can fluctuate as well, and trust lines have quality settings which can have some unexpected consequences. And that's not an exhaustive list of the complications that are specific to issued currency escrow; those are just the ones I've thought up in a couple minutes.
Some of the comments on PR #2672 are also elucidating. For example, as Nik points out:
Since you are allowing IOUs to be escrowed, you MUST support IOU-specific features, such as freeze and support the "authorization required" that IOU issuers can set.
Hopefully this issue can serve as a map for implementing IOU Escrow.
@mDuo13 what is this merge
https://github.com/ChainSQL/rippled/commit/90501b1c26dbcead68b6bef2215f13198f9bfa70 ---> "Merge branch 'develop' into feature/escrowForIOU"
about?
That merge looks like it's just about catching their feature branch up to the latest develop work. But I, personally, have no idea what ChainSQL is working on.
@mDuo13 ChainSQL is used to write data to blockchain just like our traditional projects to write data to database. ChainSQL has a backend module to sync blockchain table-tx to mysql, so that we can select data in db instead of on blockchain.
one proposal: https://github.com/XRPLF/rippled/pull/4396
I'm going to be working on IOU Escrow feature. Is there documentation that I may not have seen? Are there pointers that you'd give me?