@aztec/ivc-integration 4.0.0-nightly.20260108 → 4.0.0-nightly.20260110

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
- "noir_version": "1.0.0-beta.18+c9a8bf882069681672e68b2612e4119592c4485a",
3
- "hash": "7832442824654107943",
2
+ "noir_version": "1.0.0-beta.18+78a54455147d9ddbec669e78ebd107aed5245111",
3
+ "hash": "12064471922794045495",
4
4
  "abi": {
5
5
  "parameters": [
6
6
  {
@@ -153,7 +153,7 @@
153
153
  }
154
154
  },
155
155
  "bytecode": "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",
156
- "debug_symbols": "tZTdqoQgFIXfxesu8l97lcMhrGwQxMKpA4fo3ccia7owBmKuTHfr0+1y7wk0uhofpXFt9wTFzwQqb6w1j9J2tRpM58LqNGcgTsvBax2WwFs8qHrltRtA4UZrM/Cn7Lj+9OyVW8dB+RDNM6BdE8YAbI3Vy9ecHeo8LYWEbmJI8S6n8KSHaT1hhG8AwoQ8COhEQBcnYBLHI3BKdgKk9ITAFwhJRURIDg+EEB/nwXMU85A8mQdNEzASZCNgzPhOQOhjLxjbL4KkvOC3vRD3vZD3veC3vYDwq2aImAaCMFkYF4+SYBRLi2AGT1n8hpmqjT91A4BAER4ADtiQPllqMwN0GeZlF29UZfXWNtrR1W9dZPjvYyT2md53tW5Gr5c91ljY9QU=",
156
+ "debug_symbols": "tZTbioUgFIbfxesu8qy9yjCElW0EsXDXwBC9+1hkhwtjQ8yVh9X/6ep3rQk0uhpfpXFt9wbF1wQqb6w1r9J2tRpM58LuNGcgLsvBax22wCkeVL3y2g2gcKO1GfhRdlw/evfKreOgfIjmGdCuCWMAtsbqZTZnhzpPSyGhmxhSvMspvOhhWk8Y4RuAMCEPAroQ0M0NmMTxCpySnQDD/IzANwhJRURIDg+E4B/nwXMU85A8mQdNEzASZCNgzPhOQOhjLxjbfwRJecEfeyGeeyGfe8EfewHhv5ohYhoIwmRh3DxKglEsLYIZvGTxHVaqNv7SDQACRXgAOGBD+mSpzQzQZZiXU7xRldVb22hHV5+6yPDbx0jsM73vat2MXi9nrLFw6h8=",
157
157
  "file_map": {
158
158
  "22": {
159
159
  "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod vector;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nmod primitive_docs;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle<T>(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained<T>(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println<T>(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print<T>(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type<let N: u32, let M: u32, let K: u32>(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal<let N: u32, let M: u32, let K: u32>(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant<T>(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert<T>(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n",
@@ -174,7 +174,7 @@
174
174
  }
175
175
  },
176
176
  "verificationKey": {
177
- "bytes": "0000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000070864f7537352ab5874e206444242ea594000000000000000000000000000000000005b70edbc06e23f854b7e32c82074a00000000000000000000000000000059ba2f049ed55b39cfa2ffe3b03760148d00000000000000000000000000000000001c15d7f51948ff081b338622fcc8dc0000000000000000000000000000004250c2dd91a6aef9a3a3440387532ca4db000000000000000000000000000000000024c9406c5ed075f8b52e23c9acc02700000000000000000000000000000048e1dc61bea3acb90e5f7b109fe448942e00000000000000000000000000000000000bfc21c7b72aa081db485e62bb31d6000000000000000000000000000000e572901047413ccd9fd298592fad5ce036000000000000000000000000000000000019807a98b5ba2254da54b86b0648cf0000000000000000000000000000009913fe76d80f0536769c9d74fec70c24f400000000000000000000000000000000001d361847aeea8473b21701fcc0d7cd0000000000000000000000000000001f5bafa73f95e6c5f98c6294b91a5cf0b5000000000000000000000000000000000004d7ba6abe95970a75d35227f8c18e0000000000000000000000000000009994914d41dc01bdad60d6dd73d4d64d9f00000000000000000000000000000000000482eaad3f885bc7f481d08b1c044b000000000000000000000000000000f838b1939ee69e94b36db05698250f8a9300000000000000000000000000000000001cfa5eac0691cc880a42d4544bacce000000000000000000000000000000eb0a657d0b305baee30250c6691fdf74f500000000000000000000000000000000000d2c824bd79f172692adadddc0af8e000000000000000000000000000000d777acb41a64088ea785134b05ec311a3800000000000000000000000000000000000e4a422538c19ff7e76702230be5e2000000000000000000000000000000d2a7f76497b1d41ee91fbb31433b9abe6f00000000000000000000000000000000001b4493c57ce2c34f7daf54573d2c1b000000000000000000000000000000d9ad8b5943ead2741efdeb311b8305c9db000000000000000000000000000000000025043141e7a515687c6d80d0853b760000000000000000000000000000003447e05ab4400999c9704862944ef03bb300000000000000000000000000000000000d8d5f85133d06d56249c6463ac023000000000000000000000000000000b272b162732e4562534390a7710c46c4c200000000000000000000000000000000000280f151c49933d0d4095b29d3393b00000000000000000000000000000068460c31a16603d700555c1cde49e859640000000000000000000000000000000000230bd8128c475828547d170fc88f4f0000000000000000000000000000009a7a2831cadddc0cda7e53f4d42e2d286d0000000000000000000000000000000000093e9f63b2e170a8702fd7935cf98900000000000000000000000000000006203665123b1e5a2a762be18650a57ddd000000000000000000000000000000000015e4e873f7fc5f1b93fb506bc21c50000000000000000000000000000000ff230404cc898ce05bc333a12df353b3a9000000000000000000000000000000000015ad3f4806e9f8aebd2ceab50c25e8000000000000000000000000000000ab1acace541edf9e910d69801483540601000000000000000000000000000000000008e7b65e5ca7493982739864f34ae7000000000000000000000000000000f6d2b1f18cd098ac5c0f4c3d116da2419800000000000000000000000000000000000e4d3bfe0c7c630dada2f9f7415a63000000000000000000000000000000bb3991a0ad8061f23d85a74a74bbfe2b3300000000000000000000000000000000002428cc5aedbf7ef345678adfdd11570000000000000000000000000000000b43c80f233407f6b8efe26e296cf286730000000000000000000000000000000000110abd4987b208c254d83e988e5e7b0000000000000000000000000000009f3cb93253e3c56f2301b72a12bb8842e600000000000000000000000000000000000b6dc9e26e3eb27f6a6c9653bd5c6e0000000000000000000000000000004cc606a50f577fb7a1e8540fcc85a2b71d00000000000000000000000000000000002f117a55c822f81cad2458a2219a21000000000000000000000000000000ce262f9439c8878e4351da26f65395660300000000000000000000000000000000002150e93a64a624576d35e4db791af500000000000000000000000000000011c6a49db4e0aa3ec87dc1afb8906701e8000000000000000000000000000000000020616cba98816ea6e44e4c1772c85300000000000000000000000000000087947c6a0acc89c3abc1e3c0016488b23900000000000000000000000000000000000e60bbe11e3e68e3b2f322b06d8b72000000000000000000000000000000aaf14df7787b25576bfe4e8b5169e4410800000000000000000000000000000000000def30507dc777d6ba9ceddbb137bb000000000000000000000000000000cc7ea99e70fe842cd91ce32782427bcc37000000000000000000000000000000000020fe30a408b200ef579d293ae8cbc9000000000000000000000000000000fc50473266e9b9cf4d80722e018df1c60d000000000000000000000000000000000006c29cd041e5d0a7362fcc8303a837000000000000000000000000000000e1076677f6c16a6f006c5d05b023d271ac00000000000000000000000000000000002783a46bcfb7841ce1e3d8135547800000000000000000000000000000006f7c93a9e7ebb823f4f213e480bc9846ce0000000000000000000000000000000000013bd196b54b89b5028f41d31bf032000000000000000000000000000000674feabb17e636ae397652d9d5afe1d75100000000000000000000000000000000000ec50fc6e0b80d2a40d93b87ae7f8200000000000000000000000000000080188f13821ae84157358f606eae766d6700000000000000000000000000000000000ddbc171fbbf41145cb5e8fe42ddec00000000000000000000000000000098a0f5dd62e503a1a9860a74c69421d8c3000000000000000000000000000000000019215a0442ccb501a1165f5969cb350000000000000000000000000000004d04ca2b17a31e6065af152686e9ce697900000000000000000000000000000000002a11f8e3f25d21e18addc9c7a0837b000000000000000000000000000000f50fc9a9a2cebe49dfed0b7a28ec1f22da0000000000000000000000000000000000290354bc9b127b5e631840c834b7a30000000000000000000000000000002efa21ee9f3f3b8f9a8c8a80df3e9c3309000000000000000000000000000000000013f814d165c90b3394d630e5d84e520000000000000000000000000000005a3a3f9cb311248b3ed1906bf4f604d5de00000000000000000000000000000000001cd1a810d2d5a5d2350a1a0824daf6000000000000000000000000000000fdcf78c324242f5343ea10ea213ff33bf100000000000000000000000000000000002f8703ce6b9bad238b8c0a81d4ecd40000000000000000000000000000001c24a25237d359454233c2ed954a17863f00000000000000000000000000000000002332cfe99ed37a0d24008bae7c67f500000000000000000000000000000040792f374e4f77017d485987ab7594a03f00000000000000000000000000000000002e53e667ade759d2ea9104d95be6520000000000000000000000000000009854f130f9949af06ed36f7387a12a301b00000000000000000000000000000000000af3cce3608070e7f4e2fcbb60f8f000000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d260000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b30000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f00000000000000000000000000000000000015b8d2515d76e2ccec99dcd19459000000000000000000000000000000222b888108dc25d1aa450e0b4bc212c37e00000000000000000000000000000000001b917517920bad3d8bc01c9595092a000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d190000000000000000000000000000000000305e8992b148eedb22e6e992077a8400000000000000000000000000000038ed8da2375186b518c7345c60b1134b2d0000000000000000000000000000000000061f64497996e8915722501e9e36790000000000000000000000000000002ad3d7cb59792e11c0d2691f317fd50e6e00000000000000000000000000000000001b84d38339321f405ebaf6a2f8308400000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce0000000000000000000000000000000000043d063b130adfb37342af45d0155a0000000000000000000000000000009330952ae74c573d1686d9cb4a007338540000000000000000000000000000000000261522c4089330646aff96736194940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff33863f40f720cc0a32e6db68c4e68a7c00000000000000000000000000000000000ac08f4d633da9978b7ac7adcc42f80000000000000000000000000000006eddb5f23ee76290d4d4c0e91735a90aaf00000000000000000000000000000000002c8281bdf813c653f305f46a200e19",
177
+ "bytes": "0000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000070864f7537352ab5874e206444242ea594000000000000000000000000000000000005b70edbc06e23f854b7e32c82074a00000000000000000000000000000059ba2f049ed55b39cfa2ffe3b03760148d00000000000000000000000000000000001c15d7f51948ff081b338622fcc8dc0000000000000000000000000000004250c2dd91a6aef9a3a3440387532ca4db000000000000000000000000000000000024c9406c5ed075f8b52e23c9acc02700000000000000000000000000000048e1dc61bea3acb90e5f7b109fe448942e00000000000000000000000000000000000bfc21c7b72aa081db485e62bb31d6000000000000000000000000000000e572901047413ccd9fd298592fad5ce036000000000000000000000000000000000019807a98b5ba2254da54b86b0648cf0000000000000000000000000000009913fe76d80f0536769c9d74fec70c24f400000000000000000000000000000000001d361847aeea8473b21701fcc0d7cd0000000000000000000000000000001f5bafa73f95e6c5f98c6294b91a5cf0b5000000000000000000000000000000000004d7ba6abe95970a75d35227f8c18e0000000000000000000000000000009994914d41dc01bdad60d6dd73d4d64d9f00000000000000000000000000000000000482eaad3f885bc7f481d08b1c044b000000000000000000000000000000f838b1939ee69e94b36db05698250f8a9300000000000000000000000000000000001cfa5eac0691cc880a42d4544bacce000000000000000000000000000000eb0a657d0b305baee30250c6691fdf74f500000000000000000000000000000000000d2c824bd79f172692adadddc0af8e000000000000000000000000000000d777acb41a64088ea785134b05ec311a3800000000000000000000000000000000000e4a422538c19ff7e76702230be5e2000000000000000000000000000000d2a7f76497b1d41ee91fbb31433b9abe6f00000000000000000000000000000000001b4493c57ce2c34f7daf54573d2c1b000000000000000000000000000000d9ad8b5943ead2741efdeb311b8305c9db000000000000000000000000000000000025043141e7a515687c6d80d0853b760000000000000000000000000000003447e05ab4400999c9704862944ef03bb300000000000000000000000000000000000d8d5f85133d06d56249c6463ac023000000000000000000000000000000b272b162732e4562534390a7710c46c4c200000000000000000000000000000000000280f151c49933d0d4095b29d3393b00000000000000000000000000000068460c31a16603d700555c1cde49e859640000000000000000000000000000000000230bd8128c475828547d170fc88f4f0000000000000000000000000000009a7a2831cadddc0cda7e53f4d42e2d286d0000000000000000000000000000000000093e9f63b2e170a8702fd7935cf98900000000000000000000000000000006203665123b1e5a2a762be18650a57ddd000000000000000000000000000000000015e4e873f7fc5f1b93fb506bc21c50000000000000000000000000000000ff230404cc898ce05bc333a12df353b3a9000000000000000000000000000000000015ad3f4806e9f8aebd2ceab50c25e8000000000000000000000000000000ab1acace541edf9e910d69801483540601000000000000000000000000000000000008e7b65e5ca7493982739864f34ae7000000000000000000000000000000f6d2b1f18cd098ac5c0f4c3d116da2419800000000000000000000000000000000000e4d3bfe0c7c630dada2f9f7415a63000000000000000000000000000000bb3991a0ad8061f23d85a74a74bbfe2b3300000000000000000000000000000000002428cc5aedbf7ef345678adfdd11570000000000000000000000000000000b43c80f233407f6b8efe26e296cf286730000000000000000000000000000000000110abd4987b208c254d83e988e5e7b0000000000000000000000000000009f3cb93253e3c56f2301b72a12bb8842e600000000000000000000000000000000000b6dc9e26e3eb27f6a6c9653bd5c6e0000000000000000000000000000004cc606a50f577fb7a1e8540fcc85a2b71d00000000000000000000000000000000002f117a55c822f81cad2458a2219a21000000000000000000000000000000ce262f9439c8878e4351da26f65395660300000000000000000000000000000000002150e93a64a624576d35e4db791af500000000000000000000000000000011c6a49db4e0aa3ec87dc1afb8906701e8000000000000000000000000000000000020616cba98816ea6e44e4c1772c85300000000000000000000000000000087947c6a0acc89c3abc1e3c0016488b23900000000000000000000000000000000000e60bbe11e3e68e3b2f322b06d8b72000000000000000000000000000000aaf14df7787b25576bfe4e8b5169e4410800000000000000000000000000000000000def30507dc777d6ba9ceddbb137bb000000000000000000000000000000cc7ea99e70fe842cd91ce32782427bcc37000000000000000000000000000000000020fe30a408b200ef579d293ae8cbc9000000000000000000000000000000fc50473266e9b9cf4d80722e018df1c60d000000000000000000000000000000000006c29cd041e5d0a7362fcc8303a837000000000000000000000000000000e1076677f6c16a6f006c5d05b023d271ac00000000000000000000000000000000002783a46bcfb7841ce1e3d8135547800000000000000000000000000000006f7c93a9e7ebb823f4f213e480bc9846ce0000000000000000000000000000000000013bd196b54b89b5028f41d31bf032000000000000000000000000000000674feabb17e636ae397652d9d5afe1d75100000000000000000000000000000000000ec50fc6e0b80d2a40d93b87ae7f8200000000000000000000000000000080188f13821ae84157358f606eae766d6700000000000000000000000000000000000ddbc171fbbf41145cb5e8fe42ddec00000000000000000000000000000098a0f5dd62e503a1a9860a74c69421d8c3000000000000000000000000000000000019215a0442ccb501a1165f5969cb350000000000000000000000000000004d04ca2b17a31e6065af152686e9ce697900000000000000000000000000000000002a11f8e3f25d21e18addc9c7a0837b000000000000000000000000000000f50fc9a9a2cebe49dfed0b7a28ec1f22da0000000000000000000000000000000000290354bc9b127b5e631840c834b7a30000000000000000000000000000002efa21ee9f3f3b8f9a8c8a80df3e9c3309000000000000000000000000000000000013f814d165c90b3394d630e5d84e520000000000000000000000000000005a3a3f9cb311248b3ed1906bf4f604d5de00000000000000000000000000000000001cd1a810d2d5a5d2350a1a0824daf6000000000000000000000000000000fdcf78c324242f5343ea10ea213ff33bf100000000000000000000000000000000002f8703ce6b9bad238b8c0a81d4ecd40000000000000000000000000000001c24a25237d359454233c2ed954a17863f00000000000000000000000000000000002332cfe99ed37a0d24008bae7c67f500000000000000000000000000000040792f374e4f77017d485987ab7594a03f00000000000000000000000000000000002e53e667ade759d2ea9104d95be6520000000000000000000000000000009854f130f9949af06ed36f7387a12a301b00000000000000000000000000000000000af3cce3608070e7f4e2fcbb60f8f000000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d260000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b30000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f00000000000000000000000000000000000015b8d2515d76e2ccec99dcd19459000000000000000000000000000000222b888108dc25d1aa450e0b4bc212c37e00000000000000000000000000000000001b917517920bad3d8bc01c9595092a000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d190000000000000000000000000000000000305e8992b148eedb22e6e992077a840000000000000000000000000000007c86847618681dc29d8a9363ab7c40e1c3000000000000000000000000000000000016465a5ccbb550cd2c63bd58116fe4000000000000000000000000000000439973ac12d7ca796d6fe98ca40e6ca6b700000000000000000000000000000000002e24d420fbf9508ed31de692db477b00000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce0000000000000000000000000000000000043d063b130adfb37342af45d0155a0000000000000000000000000000009330952ae74c573d1686d9cb4a007338540000000000000000000000000000000000261522c4089330646aff96736194940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff33863f40f720cc0a32e6db68c4e68a7c00000000000000000000000000000000000ac08f4d633da9978b7ac7adcc42f80000000000000000000000000000006eddb5f23ee76290d4d4c0e91735a90aaf00000000000000000000000000000000002c8281bdf813c653f305f46a200e19",
178
178
  "fields": [
179
179
  "0x0000000000000000000000000000000000000000000000000000000000000015",
180
180
  "0x000000000000000000000000000000000000000000000000000000000000001b",
@@ -275,10 +275,10 @@
275
275
  "0x00000000000000000000000000000000001b917517920bad3d8bc01c9595092a",
276
276
  "0x000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d19",
277
277
  "0x0000000000000000000000000000000000305e8992b148eedb22e6e992077a84",
278
- "0x00000000000000000000000000000038ed8da2375186b518c7345c60b1134b2d",
279
- "0x0000000000000000000000000000000000061f64497996e8915722501e9e3679",
280
- "0x0000000000000000000000000000002ad3d7cb59792e11c0d2691f317fd50e6e",
281
- "0x00000000000000000000000000000000001b84d38339321f405ebaf6a2f83084",
278
+ "0x0000000000000000000000000000007c86847618681dc29d8a9363ab7c40e1c3",
279
+ "0x000000000000000000000000000000000016465a5ccbb550cd2c63bd58116fe4",
280
+ "0x000000000000000000000000000000439973ac12d7ca796d6fe98ca40e6ca6b7",
281
+ "0x00000000000000000000000000000000002e24d420fbf9508ed31de692db477b",
282
282
  "0x00000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce",
283
283
  "0x0000000000000000000000000000000000043d063b130adfb37342af45d0155a",
284
284
  "0x0000000000000000000000000000009330952ae74c573d1686d9cb4a00733854",
@@ -292,6 +292,6 @@
292
292
  "0x0000000000000000000000000000006eddb5f23ee76290d4d4c0e91735a90aaf",
293
293
  "0x00000000000000000000000000000000002c8281bdf813c653f305f46a200e19"
294
294
  ],
295
- "hash": "1424f6aecb0065d0ab057627c272a7a702f19cb3189290be7f579847189817d2"
295
+ "hash": "1fb0ba5bd8d4fa3a119cca4d73fdd7d875878db6b377baa942793509728aa5a0"
296
296
  }
297
297
  }
@@ -4,13 +4,11 @@ import type { Logger } from '@aztec/foundation/log';
4
4
  import type { AvmCircuitInputs, AvmCircuitPublicInputs } from '@aztec/stdlib/avm';
5
5
  import type { NoirCompiledCircuit } from '@aztec/stdlib/noir';
6
6
  import { RecursiveProof } from '@aztec/stdlib/proofs';
7
- import { VerificationKeyAsFields } from '@aztec/stdlib/vks';
8
7
  export declare function proofBytesToRecursiveProof(proofAsFields: Uint8Array[], vkBytes: Uint8Array): Promise<RecursiveProof<typeof CHONK_PROOF_LENGTH>>;
9
8
  export declare function proveRollupHonk(name: string, pathToBB: string, workingDirectory: string, circuit: NoirCompiledCircuit, witness: Uint8Array, logger: Logger): Promise<import("@aztec/stdlib/interfaces/server").ProofAndVerificationKey<531>>;
10
9
  export declare function proveKeccakHonk(name: string, pathToBB: string, workingDirectory: string, circuit: NoirCompiledCircuit, witness: Uint8Array, logger: Logger): Promise<import("@aztec/stdlib/interfaces/server").ProofAndVerificationKey<457>>;
11
10
  export declare function proveAvm(avmCircuitInputs: AvmCircuitInputs, workingDirectory: string, logger: Logger): Promise<{
12
- vk: VerificationKeyAsFields;
13
11
  proof: Fr[];
14
12
  publicInputs: AvmCircuitPublicInputs;
15
13
  }>;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVfbmF0aXZlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVfbmF0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFHTCxrQkFBa0IsRUFJbkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXVCLE1BQU0sbUJBQW1CLENBQUM7QUFLakYsd0JBQXNCLDBCQUEwQixDQUM5QyxhQUFhLEVBQUUsVUFBVSxFQUFFLEVBQzNCLE9BQU8sRUFBRSxVQUFVLEdBQ2xCLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBZXBEO0FBNERELHdCQUFnQixlQUFlLENBQzdCLElBQUksRUFBRSxNQUFNLEVBQ1osUUFBUSxFQUFFLE1BQU0sRUFDaEIsZ0JBQWdCLEVBQUUsTUFBTSxFQUN4QixPQUFPLEVBQUUsbUJBQW1CLEVBQzVCLE9BQU8sRUFBRSxVQUFVLEVBQ25CLE1BQU0sRUFBRSxNQUFNLG1GQVlmO0FBRUQsd0JBQWdCLGVBQWUsQ0FDN0IsSUFBSSxFQUFFLE1BQU0sRUFDWixRQUFRLEVBQUUsTUFBTSxFQUNoQixnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFDbkIsTUFBTSxFQUFFLE1BQU0sbUZBWWY7QUFFRCx3QkFBc0IsUUFBUSxDQUM1QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsZ0JBQWdCLEVBQUUsTUFBTSxFQUN4QixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQztJQUNULEVBQUUsRUFBRSx1QkFBdUIsQ0FBQztJQUM1QixLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDWixZQUFZLEVBQUUsc0JBQXNCLENBQUM7Q0FDdEMsQ0FBQyxDQW1FRCJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVfbmF0aXZlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVfbmF0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFFTCxrQkFBa0IsRUFJbkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU03RCx3QkFBc0IsMEJBQTBCLENBQzlDLGFBQWEsRUFBRSxVQUFVLEVBQUUsRUFDM0IsT0FBTyxFQUFFLFVBQVUsR0FDbEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FlcEQ7QUE0REQsd0JBQWdCLGVBQWUsQ0FDN0IsSUFBSSxFQUFFLE1BQU0sRUFDWixRQUFRLEVBQUUsTUFBTSxFQUNoQixnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFDbkIsTUFBTSxFQUFFLE1BQU0sbUZBWWY7QUFFRCx3QkFBZ0IsZUFBZSxDQUM3QixJQUFJLEVBQUUsTUFBTSxFQUNaLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUM1QixPQUFPLEVBQUUsVUFBVSxFQUNuQixNQUFNLEVBQUUsTUFBTSxtRkFZZjtBQUVELHdCQUFzQixRQUFRLENBQzVCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDO0lBQ1QsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ1osWUFBWSxFQUFFLHNCQUFzQixDQUFDO0NBQ3RDLENBQUMsQ0ErQ0QifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"prove_native.d.ts","sourceRoot":"","sources":["../src/prove_native.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,kBAAkB,EAInB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAS,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAuB,MAAM,mBAAmB,CAAC;AAKjF,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,UAAU,EAAE,EAC3B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAepD;AA4DD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,mFAYf;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,mFAYf;AAED,wBAAsB,QAAQ,CAC5B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,EAAE,EAAE,uBAAuB,CAAC;IAC5B,KAAK,EAAE,EAAE,EAAE,CAAC;IACZ,YAAY,EAAE,sBAAsB,CAAC;CACtC,CAAC,CAmED"}
1
+ {"version":3,"file":"prove_native.d.ts","sourceRoot":"","sources":["../src/prove_native.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,kBAAkB,EAInB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAS,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM7D,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,UAAU,EAAE,EAC3B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAepD;AA4DD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,mFAYf;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,mFAYf;AAED,wBAAsB,QAAQ,CAC5B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,KAAK,EAAE,EAAE,EAAE,CAAC;IACZ,YAAY,EAAE,sBAAsB,CAAC;CACtC,CAAC,CA+CD"}
@@ -1,5 +1,5 @@
1
1
  import { BB_RESULT, PROOF_FILENAME, PUBLIC_INPUTS_FILENAME, VK_FILENAME, generateAvmProof, generateProof, readProofsFromOutputDirectory, verifyAvmProof, verifyProof } from '@aztec/bb-prover';
2
- import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED, CHONK_PROOF_LENGTH, HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE, NESTED_RECURSIVE_PROOF_LENGTH, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
+ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, CHONK_PROOF_LENGTH, HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE, NESTED_RECURSIVE_PROOF_LENGTH, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { BufferReader } from '@aztec/foundation/serialize';
5
5
  import { makeProofAndVerificationKey } from '@aztec/stdlib/interfaces/server';
@@ -63,10 +63,7 @@ export async function proveAvm(avmCircuitInputs, workingDirectory, logger) {
63
63
  throw new Error(`AVM V2 proof already exists`);
64
64
  }
65
65
  const avmProofPath = proofRes.proofPath;
66
- const avmVkDirectoryPath = proofRes.vkDirectoryPath;
67
66
  expect(avmProofPath).toBeDefined();
68
- expect(avmVkDirectoryPath).toBeDefined();
69
- const avmVkPath = path.join(proofRes.vkDirectoryPath, VK_FILENAME);
70
67
  // Read the binary proof
71
68
  const avmProofBuffer = await fs.readFile(avmProofPath);
72
69
  const reader = BufferReader.asReader(avmProofBuffer);
@@ -80,26 +77,12 @@ export async function proveAvm(avmCircuitInputs, workingDirectory, logger) {
80
77
  while(proof.length < AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED){
81
78
  proof.push(new Fr(0));
82
79
  }
83
- // Read the key
84
- const vkBuffer = await fs.readFile(avmVkPath);
85
- const vkReader = BufferReader.asReader(vkBuffer);
86
- const vk = [];
87
- while(!vkReader.isEmpty()){
88
- vk.push(Fr.fromBuffer(vkReader));
89
- }
90
- // We extend to a fixed-size padded vk as during development any new AVM circuit precomputed
91
- // column changes the vk length and we do not have a mechanism to feedback a cpp constant to noir/TS.
92
- // TODO(#13390): Revive a non-padded vk proof
93
- while(vk.length < AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED){
94
- vk.push(new Fr(0));
95
- }
96
- const verificationResult = await verifyAvmProof(bbPath, workingDirectory, proofRes.proofPath, avmCircuitInputs.publicInputs, path.join(proofRes.vkDirectoryPath, VK_FILENAME), logger);
80
+ const verificationResult = await verifyAvmProof(bbPath, workingDirectory, proofRes.proofPath, avmCircuitInputs.publicInputs, logger);
97
81
  if (verificationResult.status === BB_RESULT.FAILURE) {
98
82
  throw new Error(`AVM V2 proof verification failed: ${verificationResult.reason}`);
99
83
  }
100
84
  return {
101
85
  proof,
102
- vk: await VerificationKeyAsFields.fromKey(vk),
103
86
  publicInputs: avmCircuitInputs.publicInputs
104
87
  };
105
88
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/ivc-integration",
3
- "version": "4.0.0-nightly.20260108",
3
+ "version": "4.0.0-nightly.20260110",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -59,14 +59,14 @@
59
59
  ]
60
60
  },
61
61
  "dependencies": {
62
- "@aztec/bb.js": "4.0.0-nightly.20260108",
63
- "@aztec/constants": "4.0.0-nightly.20260108",
64
- "@aztec/foundation": "4.0.0-nightly.20260108",
65
- "@aztec/noir-noir_codegen": "4.0.0-nightly.20260108",
66
- "@aztec/noir-noir_js": "4.0.0-nightly.20260108",
67
- "@aztec/noir-noirc_abi": "4.0.0-nightly.20260108",
68
- "@aztec/noir-types": "4.0.0-nightly.20260108",
69
- "@aztec/stdlib": "4.0.0-nightly.20260108",
62
+ "@aztec/bb.js": "4.0.0-nightly.20260110",
63
+ "@aztec/constants": "4.0.0-nightly.20260110",
64
+ "@aztec/foundation": "4.0.0-nightly.20260110",
65
+ "@aztec/noir-noir_codegen": "4.0.0-nightly.20260110",
66
+ "@aztec/noir-noir_js": "4.0.0-nightly.20260110",
67
+ "@aztec/noir-noirc_abi": "4.0.0-nightly.20260110",
68
+ "@aztec/noir-types": "4.0.0-nightly.20260110",
69
+ "@aztec/stdlib": "4.0.0-nightly.20260110",
70
70
  "change-case": "^5.4.4",
71
71
  "pako": "^2.1.0",
72
72
  "playwright": "1.49.0",
@@ -74,13 +74,13 @@
74
74
  "tslib": "^2.4.0"
75
75
  },
76
76
  "devDependencies": {
77
- "@aztec/bb-prover": "4.0.0-nightly.20260108",
78
- "@aztec/kv-store": "4.0.0-nightly.20260108",
79
- "@aztec/noir-protocol-circuits-types": "4.0.0-nightly.20260108",
80
- "@aztec/noir-test-contracts.js": "4.0.0-nightly.20260108",
81
- "@aztec/simulator": "4.0.0-nightly.20260108",
82
- "@aztec/telemetry-client": "4.0.0-nightly.20260108",
83
- "@aztec/world-state": "4.0.0-nightly.20260108",
77
+ "@aztec/bb-prover": "4.0.0-nightly.20260110",
78
+ "@aztec/kv-store": "4.0.0-nightly.20260110",
79
+ "@aztec/noir-protocol-circuits-types": "4.0.0-nightly.20260110",
80
+ "@aztec/noir-test-contracts.js": "4.0.0-nightly.20260110",
81
+ "@aztec/simulator": "4.0.0-nightly.20260110",
82
+ "@aztec/telemetry-client": "4.0.0-nightly.20260110",
83
+ "@aztec/world-state": "4.0.0-nightly.20260110",
84
84
  "@jest/globals": "^30.0.0",
85
85
  "@playwright/test": "1.49.0",
86
86
  "@types/jest": "^30.0.0",
@@ -12,7 +12,6 @@ import {
12
12
  } from '@aztec/bb-prover';
13
13
  import {
14
14
  AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED,
15
- AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED,
16
15
  CHONK_PROOF_LENGTH,
17
16
  HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE,
18
17
  NESTED_RECURSIVE_PROOF_LENGTH,
@@ -153,7 +152,6 @@ export async function proveAvm(
153
152
  workingDirectory: string,
154
153
  logger: Logger,
155
154
  ): Promise<{
156
- vk: VerificationKeyAsFields;
157
155
  proof: Fr[];
158
156
  publicInputs: AvmCircuitPublicInputs;
159
157
  }> {
@@ -169,11 +167,7 @@ export async function proveAvm(
169
167
  }
170
168
 
171
169
  const avmProofPath = proofRes.proofPath;
172
- const avmVkDirectoryPath = proofRes.vkDirectoryPath;
173
170
  expect(avmProofPath).toBeDefined();
174
- expect(avmVkDirectoryPath).toBeDefined();
175
-
176
- const avmVkPath = path.join(proofRes.vkDirectoryPath as string, VK_FILENAME);
177
171
 
178
172
  // Read the binary proof
179
173
  const avmProofBuffer = await fs.readFile(avmProofPath!);
@@ -191,26 +185,11 @@ export async function proveAvm(
191
185
  proof.push(new Fr(0));
192
186
  }
193
187
 
194
- // Read the key
195
- const vkBuffer = await fs.readFile(avmVkPath!);
196
- const vkReader = BufferReader.asReader(vkBuffer);
197
- const vk: Fr[] = [];
198
- while (!vkReader.isEmpty()) {
199
- vk.push(Fr.fromBuffer(vkReader));
200
- }
201
- // We extend to a fixed-size padded vk as during development any new AVM circuit precomputed
202
- // column changes the vk length and we do not have a mechanism to feedback a cpp constant to noir/TS.
203
- // TODO(#13390): Revive a non-padded vk proof
204
- while (vk.length < AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED) {
205
- vk.push(new Fr(0));
206
- }
207
-
208
188
  const verificationResult = await verifyAvmProof(
209
189
  bbPath,
210
190
  workingDirectory,
211
191
  proofRes.proofPath!,
212
192
  avmCircuitInputs.publicInputs,
213
- path.join(proofRes.vkDirectoryPath!, VK_FILENAME),
214
193
  logger,
215
194
  );
216
195
 
@@ -220,7 +199,6 @@ export async function proveAvm(
220
199
 
221
200
  return {
222
201
  proof,
223
- vk: await VerificationKeyAsFields.fromKey(vk),
224
202
  publicInputs: avmCircuitInputs.publicInputs,
225
203
  };
226
204
  }