Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Proposal: multi-transaction #2534
Just a weird idea I came up: a transaction that is a multi-transaction.
I think it could open up a lot of possibilities, but it might be tricky to implement.
I would expand this a bit:
1:1 payments - currently implemented
1:n payments - could be done by allowing to submit a list of issuer/amount/currency/paths instead of a single instance of these, probably needs to be applied in order and should atomically fail if any sub-payment fails for any reason (e.g. dry paths)
n:1 payments - would require serious custom logic (you are describing sending out multiple different currencies, not receiving them from multiple different accounts atomically at once). Would be probably doable with muti-signing (all inputs to the transaction must be validly signed by whatever method is possible for each sending account). Should also fail atomically (one input can't be applied - e.g. because there is no trust line - no value gets transferred at all).
m:n payments - while kinda combining the two concepts above, it maybe could be necessary to also have some logic to deal with paths. I haven't fully thought this one through if it would be just a logical next step or if there's some fundamental problem hidden somewhere (I suspect paths could be a bit problematic if they are not supplied with the transaction).
changed the title from
[ENH] Proposal: multi-transaction
Nov 1, 2018
I would like to be able to submit a multi-transaction where an account may take the output of noripple_check to then be able to use the transactions array provided to then attempt to set the affected accounts with the ClearNoRipple/SetNoRipple flag. This would especially help people lower their owner count/owner reserve. I would prefer that if this were to be implemented, if a transaction were to fail perhaps due to an insufficient reserve, then to continue onto the next transaction in the array and report an array of error codes if any occurred. Thanks for your consideration on this use case of multi-transaction's potential functionality.
I would love to be able to send an "agenda" transaction that allows me to apply specific types of other ripple transactions which will either a) attempt to submit & verify the transaction, if an error occurs create an array of errors to report at the end of processing or b) if an attempt to submit a transaction is verified to have failed with an error message then the agenda transaction fails and no other transactions intended for submission are attempted.