@aztec/ivc-integration 0.82.3 → 0.83.0
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.
- package/artifacts/app_creator.json +1 -1
- package/artifacts/app_reader.json +1 -1
- package/artifacts/keys/app_creator.vk.data.json +87 -87
- package/artifacts/keys/app_reader.vk.data.json +87 -87
- package/artifacts/keys/mock_private_kernel_init.vk.data.json +87 -87
- package/artifacts/keys/mock_private_kernel_inner.vk.data.json +87 -87
- package/artifacts/keys/mock_private_kernel_reset.vk.data.json +87 -87
- package/artifacts/keys/mock_private_kernel_tail.vk.data.json +87 -87
- package/artifacts/keys/mock_public_base.vk.data.json +85 -85
- package/artifacts/mock_private_kernel_init.json +1 -1
- package/artifacts/mock_private_kernel_inner.json +1 -1
- package/artifacts/mock_private_kernel_reset.json +1 -1
- package/artifacts/mock_private_kernel_tail.json +1 -1
- package/artifacts/mock_public_base.json +1 -1
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"noir_version":"1.0.0-beta.3+0000000000000000000000000000000000000000","hash":"13105170584754018985","abi":{"parameters":[{"name":"verification_key","type":{"kind":"array","length":86,"type":{"kind":"field"}},"visibility":"private"},{"name":"proof","type":{"kind":"array","length":4154,"type":{"kind":"field"}},"visibility":"private"},{"name":"pub_cols_flattened","type":{"kind":"array","length":2956,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"integer","sign":"unsigned","width":8},"visibility":"public"},"error_types":{}},"bytecode":"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","debug_symbols":"tY/LCoMwFET/5a6zMLVqya+UInlKICQhj0IJ+fdGUSp07e6embkDU0BIlpdZW+UikGcB4zhN2tlGBbpNip7alWKiIQHppw6BtALI0D0qAqWNbPe9or8oHvthz+IJ/8K3sb4Q4AvbG7CgjdHLfF7U5DcNmjIjd1TZ8pObPv5wjn8fHJciB7k2bV6r/wI=","file_map":{"26":{"source":"pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\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\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\npub fn verify_proof<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) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\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#[builtin(static_assert)]\npub fn static_assert<let N: u32>(predicate: bool, message: str<N>) {}\n\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\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\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\nmod tests {\n use super::wrapping_mul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test(should_fail)]\n fn test_wrapping_mul() {\n // This currently fails.\n // See: https://github.com/noir-lang/noir/issues/7528\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, wrapping_mul(zero, one));\n\n // 0*1==0\n assert_eq(zero, wrapping_mul(one, zero));\n\n // 1*1==1\n assert_eq(one, wrapping_mul(one, one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, wrapping_mul(zero, two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, wrapping_mul(two_pow_64, zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, wrapping_mul(two_pow_64, one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, wrapping_mul(one, two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, wrapping_mul(two_pow_64, two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, wrapping_mul(u128_max, u128_max));\n }\n}\n","path":"std/lib.nr"},"54":{"source":"use dep::types::constants::{\n AVM_PROOF_LENGTH_IN_FIELDS, AVM_PUBLIC_INPUTS_FLATTENED_SIZE,\n AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, PROOF_TYPE_AVM,\n};\n\nfn main(\n verification_key: [Field; AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS],\n proof: [Field; AVM_PROOF_LENGTH_IN_FIELDS],\n pub_cols_flattened: [Field; AVM_PUBLIC_INPUTS_FLATTENED_SIZE],\n) -> pub u8 {\n std::verify_proof_with_type(\n verification_key,\n proof,\n pub_cols_flattened,\n 0,\n PROOF_TYPE_AVM,\n );\n 1 // Dummy value to return for the mock kernel as void function creates some pain.\n}\n","path":"/home/aztec-dev/aztec-packages/noir-projects/mock-protocol-circuits/crates/mock-public-base/src/main.nr"}},"names":["main"],"brillig_names":[]}
|
|
1
|
+
{"noir_version":"1.0.0-beta.3+0000000000000000000000000000000000000000","hash":"9239080624554580183","abi":{"parameters":[{"name":"verification_key","type":{"kind":"array","length":86,"type":{"kind":"field"}},"visibility":"private"},{"name":"proof","type":{"kind":"array","length":4154,"type":{"kind":"field"}},"visibility":"private"},{"name":"pub_cols_flattened","type":{"kind":"array","length":2956,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"integer","sign":"unsigned","width":8},"visibility":"public"},"error_types":{}},"bytecode":"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","debug_symbols":"tY/LCoMwFET/5a6zMLVqya+UInlKICQhj0IJ+fdGUSp07e6embkDU0BIlpdZW+UikGcB4zhN2tlGBbpNip7alWKiIQHppw6BtALI0D0qAqWNbPe9or8oHvthz+IJ/8K3sb4Q4AvbG7CgjdHLfF7U5DcNmjIjd1TZ8pObPv5wjn8fHJciB7k2bV6r/wI=","file_map":{"26":{"source":"pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\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\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\npub fn verify_proof<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) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\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#[builtin(static_assert)]\npub fn static_assert<let N: u32>(predicate: bool, message: str<N>) {}\n\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\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\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\nmod tests {\n use super::wrapping_mul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test(should_fail)]\n fn test_wrapping_mul() {\n // This currently fails.\n // See: https://github.com/noir-lang/noir/issues/7528\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, wrapping_mul(zero, one));\n\n // 0*1==0\n assert_eq(zero, wrapping_mul(one, zero));\n\n // 1*1==1\n assert_eq(one, wrapping_mul(one, one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, wrapping_mul(zero, two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, wrapping_mul(two_pow_64, zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, wrapping_mul(two_pow_64, one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, wrapping_mul(one, two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, wrapping_mul(two_pow_64, two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, wrapping_mul(u128_max, u128_max));\n }\n}\n","path":"std/lib.nr"},"54":{"source":"use dep::types::constants::{\n AVM_PROOF_LENGTH_IN_FIELDS, AVM_PUBLIC_INPUTS_FLATTENED_SIZE,\n AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, PROOF_TYPE_AVM,\n};\n\nfn main(\n verification_key: [Field; AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS],\n proof: [Field; AVM_PROOF_LENGTH_IN_FIELDS],\n pub_cols_flattened: [Field; AVM_PUBLIC_INPUTS_FLATTENED_SIZE],\n) -> pub u8 {\n std::verify_proof_with_type(\n verification_key,\n proof,\n pub_cols_flattened,\n 0,\n PROOF_TYPE_AVM,\n );\n 1 // Dummy value to return for the mock kernel as void function creates some pain.\n}\n","path":"/mnt/user-data/lasse/aztec3-packages/noir-projects/mock-protocol-circuits/crates/mock-public-base/src/main.nr"}},"names":["main"],"brillig_names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/ivc-integration",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.83.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -60,14 +60,14 @@
|
|
|
60
60
|
]
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@aztec/bb.js": "0.
|
|
64
|
-
"@aztec/constants": "0.
|
|
65
|
-
"@aztec/foundation": "0.
|
|
66
|
-
"@aztec/noir-noir_codegen": "0.
|
|
67
|
-
"@aztec/noir-noir_js": "0.
|
|
68
|
-
"@aztec/noir-noirc_abi": "0.
|
|
69
|
-
"@aztec/noir-types": "0.
|
|
70
|
-
"@aztec/stdlib": "0.
|
|
63
|
+
"@aztec/bb.js": "0.83.0",
|
|
64
|
+
"@aztec/constants": "0.83.0",
|
|
65
|
+
"@aztec/foundation": "0.83.0",
|
|
66
|
+
"@aztec/noir-noir_codegen": "0.83.0",
|
|
67
|
+
"@aztec/noir-noir_js": "0.83.0",
|
|
68
|
+
"@aztec/noir-noirc_abi": "0.83.0",
|
|
69
|
+
"@aztec/noir-types": "0.83.0",
|
|
70
|
+
"@aztec/stdlib": "0.83.0",
|
|
71
71
|
"chalk": "^5.3.0",
|
|
72
72
|
"change-case": "^5.4.4",
|
|
73
73
|
"pako": "^2.1.0",
|
|
@@ -76,12 +76,12 @@
|
|
|
76
76
|
"tslib": "^2.4.0"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"@aztec/bb-prover": "0.
|
|
80
|
-
"@aztec/kv-store": "0.
|
|
81
|
-
"@aztec/noir-contracts.js": "0.
|
|
82
|
-
"@aztec/simulator": "0.
|
|
83
|
-
"@aztec/telemetry-client": "0.
|
|
84
|
-
"@aztec/world-state": "0.
|
|
79
|
+
"@aztec/bb-prover": "0.83.0",
|
|
80
|
+
"@aztec/kv-store": "0.83.0",
|
|
81
|
+
"@aztec/noir-contracts.js": "0.83.0",
|
|
82
|
+
"@aztec/simulator": "0.83.0",
|
|
83
|
+
"@aztec/telemetry-client": "0.83.0",
|
|
84
|
+
"@aztec/world-state": "0.83.0",
|
|
85
85
|
"@jest/globals": "^29.5.0",
|
|
86
86
|
"@msgpack/msgpack": "^3.0.0-beta2",
|
|
87
87
|
"@playwright/test": "1.49.0",
|