Summary
Many clients use Multi signing capabilities of the XRPL. Including the Sologenic platform. It is important to add a method to pass in signed transactions and submit using this lib. Currently, the only method supported is to provide master account secret and let the library sign the transaction using the submit method.
e.g.
const tx = await sologenic.submit({ TransactionType: "AccountSet", Account: "raZyQuaCJNbby559gyCxYoszqnayQatJDf", SetFlag: 8 });
One of the main features of this library is to construct the transaction and handle account sequence, ledger sequence and be able to re-submit failed transactions with new sequences.
It's not a good idea to pass all account secrets and leave it to the library to construct this type of multi-signing tx. Therefore passing the signed transaction as a BLOB is the key for a secure multi-signing. However, if the transaction is failed for any reason, parties must re-sign a new transaction which makes this library not ideal for such situations.
The bounty will be rewarded to a solution that approaches this problem in a way:
proposes the transaction to be signed (taking into account the account sequence and the last ledger sequence)
Requires the signed TX (provided by each party)
Constructs the final TX
Submits the TX
resolves the TX promise (validation)
handles the outcome (not to be re-queued in case of failure)
const tx = await sologenic.submit({ TransactionType: "AccountSet", Account: "raZyQuaCJNbby559gyCxYoszqnayQatJDf", SetFlag: 8 });
One of the main features of this library is to construct the transaction and handle account sequence, ledger sequence and be able to re-submit failed transactions with new sequences. It's not a good idea to pass all account secrets and leave it to the library to construct this type of multi-signing tx. Therefore passing the signed transaction as a BLOB is the key for a secure multi-signing. However, if the transaction is failed for any reason, parties must re-sign a new transaction which makes this library not ideal for such situations. The bounty will be rewarded to a solution that approaches this problem in a way:Please share ideas before starting this feature.