Skip to content

v0.3.1

Latest
Compare
Choose a tag to compare
@AnnaShaleva AnnaShaleva released this 29 Nov 15:22
· 11 commits to master since this release
7c005d9

This patch version mostly includes a set of library API extensions made to fit the needs of developing MEV-resistant blockchain node. Also, this release bumps minimum required Go version up to 1.22 and contains a set of bug fixes critical for the library functioning.

Minor user-side code adjustments are required to adapt new ProcessBlock callback signature, whereas the rest of APIs stay compatible with the old implementation. This version also includes a simplification of PrivateKey interface which may be adopted by removing extra wrappers around PrivateKey implementation on the user code side.

Behaviour changes:

  • adjust behaviour of ProcessPreBlock callback (#129)
  • (*DBFT).Header() and (*DBFT).PreHeader() are moved to (*Context) receiver (#133)
  • support error handling for ProcessBlock callback if anti-MEV extension is enabled (#134)
  • remove Sign method from PrivateKey interface (#137)

Improvements:

  • minimum required Go version is 1.22 (#122, #126)
  • log Commit signature verification error (#134)
  • add Commit message verification callback (#134)

Bugs fixed:

  • context-bound PreBlock and PreHeader are not reset properly (#127)
  • PreHeader is constructed instead of PreBlock to create PreCommit message (#128)
  • enable anti-MEV extension with respect to the current block index (#132)
  • (*Context).PreBlock() method returns PreHeader instead of PreBlock (#133)
  • WatchOnly node may send RecoveryMessage on RecoveryRequest (#135)
  • invalid PreCommit message is not removed from cache (#134)