Releases: o1-labs/o1js
Releases · o1-labs/o1js
v2.0.0
Breaking Changes
- The
divMod32()
gadget was modified to acceptnBits
instead ofquotientBits
, and assert it is in the range [0, 2**255) to address an issue previously where the bound onquotientBits
was too low https://github.com//pull/1763. Provable.equal()
now turns both types into canonical form before comparing them #1759- Removed implicit version
Provable.equal(x, y)
where you didn't have to pass in the type
- Removed implicit version
- The return signature of a zkProgram has changed. #1809
- A zkProgram method must now explicitly define the return type of the method when the method has a public or auxiliary output defined.
- The return type of a proven method has changed as a result of this.
- Various breaking constraint changes in internal methods or circuits because of audit fix.
- Removal of various deprecated methods and functions.
- Promotion of various methods and functions to stable as part of change.
- A slightly modified encryption and decryption algorithm. #1729
- Promotion of
TokenContractV2
toTokenContract
with a correct amount of maximum account updates.
Added
ZkProgram
methods now supportauxiliaryOutput
. #1809- Each program method now accepts an optional property
auxiliaryOutput
- Auxiliary output is additional output that the zkProgram method returns
- Each program method now accepts an optional property
- New method
toCanonical()
in theProvable<T>
interface to protect against incompleteness of certain operations on malicious witness inputs #1759 divMod64()
division modulo 2^64 that returns the remainder and quotient of the operationaddMod64()
addition modulo 2^64- Bitwise OR via
{UInt32, UInt64}.or()
- BLAKE2B hash function gadget #1285