Originally created by: dmkozh
Description
Resolves [#3958]
Refactor TxSetFrame to distinguish between operations that are dependent on the ledger state vs those that aren't.
Most of the time we just process tx sets as XDR blobs. We only need to further interpret tx sets in a few cases (when validating the SCP nominees and applying the final tx set). These cases now have to explicitly use a different tx set interface ResolvedTxSetFrame which can only be created when TxSet points at current LCL.
Checklist
- [ ] Reviewed the contributing document
- [ ] Rebased on top of master (no merge commits)
- [ ] Ran
clang-format v8.0.0 (via make format or the Visual Studio extension)
- [ ] Compiles
- [ ] Ran all tests
- [ ] If change impacts performance, include supporting evidence per the performance document