Currently when a transaction is written to the ledger, it fails to be signature verfied upon replay. This is most likely caused by binary-representation distortion due sequence conversion (txn -> sanitized -> version txn -> protobuf -> versioned txn -> binary bincode). In order to make replication work, we must ensure that any transaction persisted to the ledger can be re-verfied after being read.
Reproduction:
- Create valid legacy transaction, ensure it can be sig-verified
- Convert it to sanitized transaction
- Convert it to version transaction
- Write it to the ledger
- Read that transaction from ledger
- Try to sig-verify, this step should fail.
The work can be based on top of the #1004
Currently when a transaction is written to the ledger, it fails to be signature verfied upon replay. This is most likely caused by binary-representation distortion due sequence conversion (txn -> sanitized -> version txn -> protobuf -> versioned txn -> binary bincode). In order to make replication work, we must ensure that any transaction persisted to the ledger can be re-verfied after being read.
Reproduction:
The work can be based on top of the #1004