Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Brillig had implicitely typed memory, where the memory typing was supossedly respected by the compiler (brillig_gen) but was never checked in runtime. Instead, in runtime the values were truncated to the appropiate bit size when used. This hid some bugs in typing that the compiler was outputting and that would have made the AVM crash. Memory typing bugs found and fixed: - to_radix vector length type - to_radix limb type - keccak256 length type (u32 vs u64) - directive quotient not casting arguments - directive invert jump condition on non boolean This PR aligns brillig more with the AVM by having typed memory actually checked in runtime, and removing the truncations that arithmetic.rs was doing.
- Loading branch information