Features
- Adds a fast catch up mode to the validator which speeds up processing of blocks older than the reorg threshold
- During reorg, handle calls to validator from a cache of the most recent pre-reorg state rather than blocking
Refactors
- Add test of confirmations containing withdrawals
- Reorganize checkpointer in order to simplify public API and unite related pieces of code
Fixes
- generateAlignedStakersProofs in the validator produced invalid proofs for checkAlignedStakers in the ethbridge when there are stakers with stakes too new for the node being confirmed.
- Fix error in bytesToBytestackHash for inputs with length > 32 && length % 32 != 0
- Fix handling of messages in batch with invalid signature in transactionMessageBatchHashSingle
- Fix error in one step proof of inbox opcode in executeInboxInsn
- Fix send with insufficient balance causing VM error
- Fix error in confirming assertions containing withdrawals
- Fix compiler error not properly deducting eth balance of contract after send
- Fix serving tx receipts for deposit transactions
- Fix explosive memory usage in validator - Issue was due to repeated copying of code when machines were cloned which is supposed to be a cheap operation