After reading the protocol specification (starlight/starlight/doc/Protocol.md) I wonder why the following transactions cannot be combined:
-
The three SetupAccountTx can be combined into one single transaction that creates all the three accounts at once. This would simplify the specification, e.g., the following sentence would not be required anymore: "Specifically, the sequence number on the SetupAccountTx for the EscrowAccount must be higher than the sequence numbers on the other two transactions."
-
The two settlement transactions PaymentSettleWithGuestTx and PaymentSettleWithHostTx can be combined into one transaction that would look precisely like CooperativeCloseTx (only with a higher sequence number). This would also simplify the logic about the three transactions SettleOnlyWithHostTx, SettleWithGuestTx, SettleWithHostTx which can then also be combined into one transaction.
After reading the protocol specification (starlight/starlight/doc/Protocol.md) I wonder why the following transactions cannot be combined:
The three
SetupAccountTxcan be combined into one single transaction that creates all the three accounts at once. This would simplify the specification, e.g., the following sentence would not be required anymore: "Specifically, the sequence number on the SetupAccountTx for the EscrowAccount must be higher than the sequence numbers on the other two transactions."The two settlement transactions
PaymentSettleWithGuestTxandPaymentSettleWithHostTxcan be combined into one transaction that would look precisely likeCooperativeCloseTx(only with a higher sequence number). This would also simplify the logic about the three transactionsSettleOnlyWithHostTx,SettleWithGuestTx,SettleWithHostTxwhich can then also be combined into one transaction.