noir
noir copied to clipboard
fix: Move BigInt modulus checks to runtime in brillig
Description
Problem*
Resolves https://github.com/noir-lang/noir/issues/5373
Summary*
Bigint modulus was checked but never written. Since changing bigint::to_le_bytes to write a modulus ID would require a breaking change, this fixes the modulus issue without changing the opcode spec, by completely offloading modulus checks to the runtime itself.
Additional Context
Documentation*
Check one:
- [x] No documentation needed.
- [ ] Documentation included in this PR.
- [ ] [For Experimental Features] Documentation to be submitted in a separate PR.
PR Checklist*
- [x] I have tested the changes locally.
- [x] I have formatted the changes with Prettier and/or
cargo fmt
on default settings.