This PR adds support for tracking aborted transmission IDs in storage. This solves an edge case in syncing via BFT when there are aborted transmissions in certificates:
We can’t find a transmission in block X because it was aborted in block X-1
BFT block sync requires certificates from block X in order to commit block X-1
We have not added Block X-1 into our ledger and started tracking that the transmission was indeed aborted
When we process certificates in block X, we don’t know where the transmission is and that it was supposed to be aborted in block X-1, which causes an error.
Motivation
This PR adds support for tracking aborted transmission IDs in storage. This solves an edge case in syncing via BFT when there are aborted transmissions in certificates:
X
because it was aborted in blockX-1
X
in order to commit blockX-1
X-1
into our ledger and started tracking that the transmission was indeed abortedX
, we don’t know where the transmission is and that it was supposed to be aborted in blockX-1
, which causes an error.The sister PR is here - https://github.com/AleoHQ/snarkVM/pull/2433
Test Plan
The tests have been updated to check that we properly track aborted transmissions in storage.