Skip to content

Costing, Sizing, new graph-based IR, optimized graph evaluation

Compare
Choose a tag to compare
@aslesarenko aslesarenko released this 17 Jan 12:25
· 3665 commits to master since this release

Major update with the following new features

  • Generation of graph-based IR from SigmaDsl specification (by Scala compiler plugin) (#336)
  • New script costing procedure using graph-based IR
  • Translation of ErgoTree to graph based IR for costing and optimized execution
  • New direct interpretation of graph IR without rewriting reductions (used both for execution of generated cost function and for computing Sigma protocol trees).
  • ErgoTree now supports sharing of sub-trees (to reduce serialized size)
  • Common Sub-expression Elimination optimization for compiled ErgoTrees
  • Lazy && and || logical operations
  • Lazy if branches
  • first-class lambdas, including nested lambdas
  • ZKProof {...} blocks to explicitly specify propositions with Zero Knowledge proving and verification (#236)
  • Extended ErgoTree serialization format to include header byte with version and other flags. (#284)
  • Constant segregation for optimized script execution(#264)
  • Changed HEIGHT type from Long to Int (#335)
  • Renamed Array to Coll type at script level (#299)