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.
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:
@Sword-Smith: how much work would this cause downstream?
@aszepieniec: do the updated constraints look sane?
Apart from these specific questions, I'm happy to receive general ∧/∨ other feedback, of course.
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
, andsponge_squeeze
can be executed without first executing instructionsponge_init
.This is a breaking change because the
VMState
's fieldsponge
is both public and changes type fromOption<Tip5>
toTip5
.Specific reasons I have flagged you for review:
Apart from these specific questions, I'm happy to receive general ∧/∨ other feedback, of course.