- Enabled function calls for high-rank components
- Implemented parallel input loops
- Implemented component imports from AirAssembly files
- Enabled function calls for inner-most loops
- Implemented pseudorandom cycles for static variables
- Implemented compilation of AirScript to AirAssembly
- [breaking] Implemented aliasing of static and input registers
- [breaking] Added
yield
andenforce
expressions - Enabled reading scripts from files
- Minor bugfixes
- Updated dependencies
- Minor bugfixes
- Added support for unary operators (additive and multiplicative inverses)
- [breaking] Changed assignment operator from
:
to<-
- Added support for vector slicing and element extraction
- Added support for inline vector definitions
- Allowed direct references to register banks
- Enabled invoking transition function from transition constraints
- [breaking] Added
for steps
loops - [breaking] Added
for each
loops - [breaking] Changed syntax for ternary expression
- Enabled nested
when
statements
- Bugfix in composition domain generation
- [breaking] Major refactoring of proof and verification contexts
- Minor updates to
ScriptOptions
interface
- Refactored
parseScript()
function to takewasmOptions
config
- Updated galois dependency to v0.4
- Updated interfaces to work with vectors instead of bigint arrays
- Fixed a bug in repeat readonly registers
- Added
sEvaluations
toProofContext
- Minor interface changes in AirObject
- Added support for vector composition
- Added support for binary registers
- Added support for conditional expressions
- Added support for public and secret input registers
- Implemented constraint degree inference
- Initial release with support for basic arithmetic statement blocks.