TritonVM / triton-vm

Triton is a virtual machine that comes with Algebraic Execution Tables (AET) and Arithmetic Intermediate Representations (AIR) for use in combination with a STARK proof system.
https://triton-vm.org
Apache License 2.0
223 stars 35 forks source link

Start VM with initialized Sponge state #296

Open jan-ferdinand opened 1 month ago

jan-ferdinand commented 1 month ago

Previously, it was necessary to initialize Triton VM's Sponge state manually before any other Sponge instruction could be used. Now, instructions sponge_absorb, sponge_absorb_mem, and sponge_squeeze can be executed without first executing instruction sponge_init.

This is a breaking change because the VMState's field sponge is both public and changes type from Option<Tip5> to Tip5.

Specific reasons I have flagged you for review:

Apart from these specific questions, I'm happy to receive general ∧/∨ other feedback, of course.