linera-protocol
linera-protocol copied to clipboard
Outgoing messages are in the wrong order.
We put outgoing messages into RawExecutionOutcomes and
The expected outcome of the following would be messages A0, B0, S, B1, A1, in that order:
- App A sends A0. Then calls into app B.
- B sends B0.
- B makes e.g. a native token transfer and sends S.
- B sends B1, then returns to A.
- A sends A1.
But currently A0 and A1 would be in one RawExecutionOutcome, B0 and B1 in another, and S in yet another one, I believe, and the order will be S, B0, B1, A0, A1.
We can probably remove RawExecutionOutcome entirely, and add messages directly to the transaction tracker, in the correct order.