The oracle version constants are used to check that the oracle interface is in sync between PXE and Aztec.nr.
We version the oracle interface as major.minor where:
major = backward-breaking changes (must match exactly between PXE and Aztec.nr)
minor = oracle additions (non-breaking; PXE minor >= contract minor)
The TypeScript counterparts are in oracle_version.ts.
@dev Whenever a contract function or Noir test is run, the aztec_utl_assertCompatibleOracleVersion oracle is
called. If the major version is incompatible, an error is thrown immediately. The minor version is recorded by
the PXE and used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw
immediately if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency
without actually using any of the new oracles then there is no reason to throw.
The oracle version constants are used to check that the oracle interface is in sync between PXE and Aztec.nr. We version the oracle interface as
major.minorwhere:major= backward-breaking changes (must match exactly between PXE and Aztec.nr)minor= oracle additions (non-breaking; PXE minor >= contract minor)The TypeScript counterparts are in
oracle_version.ts.@dev Whenever a contract function or Noir test is run, the
aztec_utl_assertCompatibleOracleVersionoracle is called. If the major version is incompatible, an error is thrown immediately. The minor version is recorded by the PXE and used to provide helpful error messages if a contract calls an oracle that doesn't exist. We don't throw immediately if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency without actually using any of the new oracles then there is no reason to throw.