@aztec/ivc-integration 4.0.0-nightly.20250907 → 4.0.0-nightly.20260108
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 +190 -1
- package/artifacts/app_reader.json +190 -1
- package/artifacts/keys/mock_hiding.ivc.vk +0 -0
- package/artifacts/keys/mock_rollup_root_verifier.sol +92 -92
- package/artifacts/mock_hiding.json +224 -1
- package/artifacts/mock_private_kernel_init.json +287 -1
- package/artifacts/mock_private_kernel_inner.json +337 -1
- package/artifacts/mock_private_kernel_reset.json +273 -1
- package/artifacts/mock_private_kernel_tail.json +242 -1
- package/artifacts/mock_rollup_root.json +241 -1
- package/artifacts/mock_rollup_tx_base_private.json +232 -0
- package/artifacts/mock_rollup_tx_base_public.json +1394 -0
- package/artifacts/mock_rollup_tx_merge.json +297 -0
- package/dest/bb_working_directory.d.ts +1 -1
- package/dest/index.d.ts +1 -1
- package/dest/prove_native.d.ts +7 -7
- package/dest/prove_native.d.ts.map +1 -1
- package/dest/prove_native.js +24 -44
- package/dest/scripts/generate_declaration_files.d.ts +1 -1
- package/dest/scripts/generate_declaration_files.js +0 -6
- package/dest/scripts/generate_ts_from_abi.d.ts +1 -1
- package/dest/scripts/generate_ts_from_abi.js +3 -3
- package/dest/serve.d.ts +1 -1
- package/dest/serve.js +34 -17
- package/dest/types/index.d.ts +27 -28
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +8 -9
- package/dest/witgen.d.ts +52 -22
- package/dest/witgen.d.ts.map +1 -1
- package/dest/witgen.js +48 -47
- package/package.json +23 -25
- package/src/prove_native.ts +27 -65
- package/src/scripts/generate_declaration_files.ts +0 -8
- package/src/scripts/generate_ts_from_abi.ts +3 -3
- package/src/serve.ts +43 -16
- package/src/types/index.ts +32 -33
- package/src/witgen.ts +60 -34
- package/artifacts/keys/app_creator.vk.data.d.json.ts +0 -2
- package/artifacts/keys/app_creator.vk.data.json +0 -132
- package/artifacts/keys/app_reader.vk.data.d.json.ts +0 -2
- package/artifacts/keys/app_reader.vk.data.json +0 -132
- package/artifacts/keys/mock_hiding.vk.data.d.json.ts +0 -2
- package/artifacts/keys/mock_hiding.vk.data.json +0 -132
- package/artifacts/keys/mock_private_kernel_init.vk.data.d.json.ts +0 -2
- package/artifacts/keys/mock_private_kernel_init.vk.data.json +0 -132
- package/artifacts/keys/mock_private_kernel_inner.vk.data.d.json.ts +0 -2
- package/artifacts/keys/mock_private_kernel_inner.vk.data.json +0 -132
- package/artifacts/keys/mock_private_kernel_reset.vk.data.d.json.ts +0 -2
- package/artifacts/keys/mock_private_kernel_reset.vk.data.json +0 -132
- package/artifacts/keys/mock_private_kernel_tail.vk.data.d.json.ts +0 -2
- package/artifacts/keys/mock_private_kernel_tail.vk.data.json +0 -132
- package/artifacts/keys/mock_rollup_base_private.vk.data.d.json.ts +0 -2
- package/artifacts/keys/mock_rollup_base_private.vk.data.json +0 -120
- package/artifacts/keys/mock_rollup_base_public.vk.data.d.json.ts +0 -2
- package/artifacts/keys/mock_rollup_base_public.vk.data.json +0 -120
- package/artifacts/keys/mock_rollup_merge.vk.data.d.json.ts +0 -2
- package/artifacts/keys/mock_rollup_merge.vk.data.json +0 -120
- package/artifacts/keys/mock_rollup_root.vk.data.d.json.ts +0 -2
- package/artifacts/keys/mock_rollup_root.vk.data.json +0 -64
- package/artifacts/mock_rollup_base_private.json +0 -1
- package/artifacts/mock_rollup_base_public.json +0 -1
- package/artifacts/mock_rollup_merge.json +0 -1
- package/dest/prove_wasm.d.ts +0 -4
- package/dest/prove_wasm.d.ts.map +0 -1
- package/dest/prove_wasm.js +0 -36
- package/src/prove_wasm.ts +0 -57
- /package/artifacts/{mock_rollup_base_private.d.json.ts → mock_rollup_tx_base_private.d.json.ts} +0 -0
- /package/artifacts/{mock_rollup_base_public.d.json.ts → mock_rollup_tx_base_public.d.json.ts} +0 -0
- /package/artifacts/{mock_rollup_merge.d.json.ts → mock_rollup_tx_merge.d.json.ts} +0 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
{
|
|
2
|
+
"noir_version": "1.0.0-beta.18+c9a8bf882069681672e68b2612e4119592c4485a",
|
|
3
|
+
"hash": "14990955652279936380",
|
|
4
|
+
"abi": {
|
|
5
|
+
"parameters": [
|
|
6
|
+
{
|
|
7
|
+
"name": "chonk_proof_data",
|
|
8
|
+
"type": {
|
|
9
|
+
"kind": "struct",
|
|
10
|
+
"path": "mock_types::ChonkProofData",
|
|
11
|
+
"fields": [
|
|
12
|
+
{
|
|
13
|
+
"name": "public_inputs",
|
|
14
|
+
"type": {
|
|
15
|
+
"kind": "struct",
|
|
16
|
+
"path": "mock_types::KernelPublicInputs",
|
|
17
|
+
"fields": [
|
|
18
|
+
{
|
|
19
|
+
"name": "commitments",
|
|
20
|
+
"type": {
|
|
21
|
+
"kind": "array",
|
|
22
|
+
"length": 4,
|
|
23
|
+
"type": {
|
|
24
|
+
"kind": "field"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "proof",
|
|
33
|
+
"type": {
|
|
34
|
+
"kind": "array",
|
|
35
|
+
"length": 1963,
|
|
36
|
+
"type": {
|
|
37
|
+
"kind": "field"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "vk_data",
|
|
43
|
+
"type": {
|
|
44
|
+
"kind": "struct",
|
|
45
|
+
"path": "mock_types::protocol_types::proof::verification_key::VerificationKey",
|
|
46
|
+
"fields": [
|
|
47
|
+
{
|
|
48
|
+
"name": "key",
|
|
49
|
+
"type": {
|
|
50
|
+
"kind": "array",
|
|
51
|
+
"length": 127,
|
|
52
|
+
"type": {
|
|
53
|
+
"kind": "field"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "hash",
|
|
59
|
+
"type": {
|
|
60
|
+
"kind": "field"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"visibility": "private"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"return_type": {
|
|
72
|
+
"abi_type": {
|
|
73
|
+
"kind": "struct",
|
|
74
|
+
"path": "mock_types::RollupPublicInputs",
|
|
75
|
+
"fields": [
|
|
76
|
+
{
|
|
77
|
+
"name": "accumulated",
|
|
78
|
+
"type": {
|
|
79
|
+
"kind": "integer",
|
|
80
|
+
"sign": "unsigned",
|
|
81
|
+
"width": 32
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"visibility": "public"
|
|
87
|
+
},
|
|
88
|
+
"error_types": {}
|
|
89
|
+
},
|
|
90
|
+
"bytecode": "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f4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4P/Df43+N/gf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/hf4f/Hf53+N/h/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4D/A/4P+D/g/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/4T/E/5P+D/h/wr/V/i/wv8V/q/wf4X/K/xf4f8K/1f4v8L/Ff6v8H+F/yv8X+H/Cv9X+L/C/xX+r/B/hf8r/F/h/wr/V/i/wv8V/q/wf4X/K/xf4f8K/1f4v8L/Ff6v8H+F/yv8X+H/Cv9X+L/C/xX+r/B/hf8r/F/h/wr/V/i/wv8V/q/wf4X/K/xf4f8K/1f4v8L/Ff6v8H+F/yv8X+H/Cv9X+L/C/xX+r/B/hf8r/F/h/wr/V/i/wv8V/q/wf4X/K/xf4f8K/1f4v8L/Ff6v8H+F/yv8X+H/Cv9X+L/C/xX+r/B/hf8r/F/h/wr/V/i/wv8V/q/wf4X/K/xf4f8K/1f4v8L/Ff6v8H+F/yv8X+H/Cv9X+L/C/xX+r/B/hf8r/F/h/wr/V/i/wv8V/q/wf4X/K/xf4f8K/1f4v8L/Ff6v8H+F/yv8X+H/Cv9X+L/C/xX+r/B/hf8r/F/h/wr/V/i/wv8V/q/wf4X/K/xf4f8K/1f4v8L/Ff6v8H+F/yv8X+H/Cv9X+L/C/xX+r/B/hf8r/F/h/wr/V/i/wv8V/q/wf4X/K/xf4f8K/1f4v8L/Ff6v8H+F/yv8X+H/Cv9X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",
|
|
91
|
+
"debug_symbols": "jZLLjoMgFIbf5axdyFXwVSYTg4oNCUFDocnE9N0HjbS6oOkKzuX/ODn8K4y6j7fOuGm+Q/uzQu+NtebW2XlQwcwuZddnBTnsgtc6peBUT6pFee0CtC5aW8FD2bg33Rfl9jMon6p1BdqN6UzAyVi93Z7VW12XpYjQQ4xY85IzdNGjsp5RKg4Ao/JEwBcC/jABlySP0DD6IiDGLghSRlBB5YGggvE3QoivEZLgjJC8KSI+rYLVTV4FF3VpFbxMIFjk3yDkNAROhN8UqcH4i4GghnZreyhvVG/1YaopuuHksfC35Ep24eLnQY/R6w2319ID/w==",
|
|
92
|
+
"file_map": {
|
|
93
|
+
"22": {
|
|
94
|
+
"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",
|
|
95
|
+
"path": "std/lib.nr"
|
|
96
|
+
},
|
|
97
|
+
"51": {
|
|
98
|
+
"source": "use dep::mock_types::{ChonkProofData, RollupPublicInputs};\n\nfn main(chonk_proof_data: ChonkProofData) -> pub RollupPublicInputs {\n chonk_proof_data.verify();\n RollupPublicInputs::new(1)\n}\n",
|
|
99
|
+
"path": "/home/aztec-dev/aztec-packages/noir-projects/mock-protocol-circuits/crates/mock-rollup-tx-base-private/src/main.nr"
|
|
100
|
+
},
|
|
101
|
+
"52": {
|
|
102
|
+
"source": "pub global MAX_COMMITMENTS_PER_CALL: u32 = 2;\npub global MAX_COMMITMENTS_PER_TX: u32 = 4;\npub global MAX_COMMITMENT_READ_REQUESTS_PER_CALL: u32 = 2;\npub global MAX_COMMITMENT_READ_REQUESTS_PER_TX: u32 = 4;\n\npub use protocol_types::{\n abis::avm_circuit_public_inputs::AvmCircuitPublicInputs,\n constants::{\n AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED,\n CHONK_PROOF_LENGTH, CHONK_VK_LENGTH_IN_FIELDS, MEGA_VK_LENGTH_IN_FIELDS,\n NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, PROOF_TYPE_AVM, PROOF_TYPE_CHONK, PROOF_TYPE_HN,\n PROOF_TYPE_HN_FINAL, PROOF_TYPE_HN_TAIL, PROOF_TYPE_OINK, PROOF_TYPE_ROLLUP_HONK,\n PROOF_TYPE_ROOT_ROLLUP_HONK,\n },\n proof::{\n traits::SerializeToColumns,\n verification_key::{RollupHonkVerificationKey, VerificationKey},\n },\n traits::Serialize,\n};\n\npub struct TxRequest {\n pub number_of_calls: u32,\n}\n\npub struct AppPublicInputs {\n pub commitments: [Field; MAX_COMMITMENTS_PER_CALL],\n pub read_requests: [Field; MAX_COMMITMENT_READ_REQUESTS_PER_CALL],\n}\n\nimpl Default for AppPublicInputs {\n fn default() -> Self {\n Self {\n commitments: [0; MAX_COMMITMENTS_PER_CALL],\n read_requests: [0; MAX_COMMITMENT_READ_REQUESTS_PER_CALL],\n }\n }\n}\n\npub struct PrivateKernelPublicInputs {\n pub remaining_calls: u32,\n pub commitments: [Field; MAX_COMMITMENTS_PER_TX],\n pub read_requests: [Field; MAX_COMMITMENT_READ_REQUESTS_PER_TX],\n}\n\nimpl Default for PrivateKernelPublicInputs {\n fn default() -> Self {\n Self {\n remaining_calls: 0,\n commitments: [0; MAX_COMMITMENTS_PER_TX],\n read_requests: [0; MAX_COMMITMENT_READ_REQUESTS_PER_TX],\n }\n }\n}\n\npub struct PrivateKernelPublicInputsBuilder {\n pub remaining_calls: u32,\n pub commitments: BoundedVec<Field, MAX_COMMITMENTS_PER_TX>,\n pub read_requests: BoundedVec<Field, MAX_COMMITMENT_READ_REQUESTS_PER_TX>,\n}\n\nimpl PrivateKernelPublicInputsBuilder {\n pub fn from_tx(tx: TxRequest) -> Self {\n Self {\n remaining_calls: tx.number_of_calls,\n commitments: BoundedVec::new(),\n read_requests: BoundedVec::new(),\n }\n }\n\n pub fn from_previous_kernel(prev_kernel_public_inputs: PrivateKernelPublicInputs) -> Self {\n let mut builder = PrivateKernelPublicInputsBuilder {\n remaining_calls: prev_kernel_public_inputs.remaining_calls,\n commitments: BoundedVec::new(),\n read_requests: BoundedVec::new(),\n };\n for i in 0..MAX_COMMITMENTS_PER_TX {\n if prev_kernel_public_inputs.commitments[i] != 0 {\n builder.commitments.push(prev_kernel_public_inputs.commitments[i]);\n }\n }\n for i in 0..MAX_COMMITMENT_READ_REQUESTS_PER_TX {\n if prev_kernel_public_inputs.read_requests[i] != 0 {\n builder.read_requests.push(prev_kernel_public_inputs.read_requests[i]);\n }\n }\n builder\n }\n\n pub fn ingest_app_inputs(&mut self, app_inputs: AppPublicInputs) {\n for i in 0..MAX_COMMITMENTS_PER_CALL {\n if app_inputs.commitments[i] != 0 {\n self.commitments.push(app_inputs.commitments[i]);\n }\n }\n\n for i in 0..MAX_COMMITMENT_READ_REQUESTS_PER_CALL {\n if app_inputs.read_requests[i] != 0 {\n self.read_requests.push(app_inputs.read_requests[i]);\n }\n }\n\n self.remaining_calls -= 1;\n }\n\n pub fn finish(self) -> PrivateKernelPublicInputs {\n PrivateKernelPublicInputs {\n remaining_calls: self.remaining_calls,\n commitments: self.commitments.storage(),\n read_requests: self.read_requests.storage(),\n }\n }\n}\n\n#[derive(Serialize)]\npub struct KernelPublicInputs {\n pub commitments: [Field; MAX_COMMITMENTS_PER_TX],\n}\n\nimpl Default for KernelPublicInputs {\n fn default() -> Self {\n Self { commitments: [0; MAX_COMMITMENTS_PER_TX] }\n }\n}\n\n#[derive(Serialize)]\npub struct RollupPublicInputs {\n accumulated: u32,\n}\n\nimpl RollupPublicInputs {\n pub fn new(accumulated: u32) -> Self {\n Self { accumulated }\n }\n\n pub fn merge(self, other: Self) -> Self {\n Self { accumulated: self.accumulated + other.accumulated }\n }\n}\n\npub struct PreviousRollupData {\n base_or_merge_public_inputs: RollupPublicInputs,\n proof: [Field; NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH],\n vk: RollupHonkVerificationKey,\n}\n\nimpl PreviousRollupData {\n pub fn verify(self, is_root: bool) {\n let inputs = self.base_or_merge_public_inputs.serialize();\n\n std::verify_proof_with_type(\n self.vk.key,\n self.proof,\n inputs,\n self.vk.hash,\n if is_root {\n PROOF_TYPE_ROOT_ROLLUP_HONK\n } else {\n PROOF_TYPE_ROLLUP_HONK\n },\n );\n }\n\n pub fn public_inputs(self) -> RollupPublicInputs {\n self.base_or_merge_public_inputs\n }\n}\n\n// CHONK: \"Client Honk\" - An UltraHonk variant with incremental folding and delayed non-native arithmetic.\npub struct ChonkProofData {\n pub public_inputs: KernelPublicInputs,\n pub proof: [Field; CHONK_PROOF_LENGTH],\n pub vk_data: VerificationKey<CHONK_VK_LENGTH_IN_FIELDS>,\n}\n\nimpl ChonkProofData {\n pub fn verify(self) {\n let inputs = KernelPublicInputs::serialize(self.public_inputs);\n std::verify_proof_with_type(\n self.vk_data.key,\n self.proof,\n inputs,\n self.vk_data.hash,\n PROOF_TYPE_CHONK,\n );\n }\n}\n",
|
|
103
|
+
"path": "/home/aztec-dev/aztec-packages/noir-projects/mock-protocol-circuits/crates/mock-types/src/lib.nr"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"expression_width": {
|
|
107
|
+
"Bounded": {
|
|
108
|
+
"width": 4
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"verificationKey": {
|
|
112
|
+
"bytes": "0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000009693b9d67da39f2598bc62aad3eb0bf7fa0000000000000000000000000000000000230a32ceee4e94d770e3d1275b28f0000000000000000000000000000000d00f9059117522eaaa1c7f37cd0a7d87ae00000000000000000000000000000000000aa3738b2d3b2c01536e5c3cf0815d000000000000000000000000000000c28c84931584dc759cd1fdf5417fc392c700000000000000000000000000000000000ba08f9b72f5b9583374f81a37406400000000000000000000000000000037f6a003a451a01030d0ecbf9ae354f65d00000000000000000000000000000000000317396c87c31614dfe86292deac86000000000000000000000000000000cf32f93a0d6120ddc347e162befbbca70b00000000000000000000000000000000000196530d4524006c6d4dd18089eb1c000000000000000000000000000000c008ef54b511a5dbbc3793cd4a84bfe5d7000000000000000000000000000000000022b09a4283045ee24091830c6c33150000000000000000000000000000008d41bbc0abd422ade0a40a5cdb16869c0500000000000000000000000000000000001f1c878b75077526261855215574b5000000000000000000000000000000a980e03b21edbaab82dd0329561b049ae200000000000000000000000000000000001aa52a3ee58e9d4dc55be13fb400050000000000000000000000000000009a5f036a2dcd726d8b61591a11986262c600000000000000000000000000000000002ef993edc1a19a51711f8f23497e48000000000000000000000000000000ea79bb492c215da0d6df01e30e50ce38c000000000000000000000000000000000002a64caf6d5aae88490f78f4e61f94f0000000000000000000000000000008890e5f1f0a4df13b044fab0aa89d13d9a00000000000000000000000000000000002cbbc0daca3aa6f29dbf4f2b311955000000000000000000000000000000ee7095267ff853d2a7e6c67d1552a9b6650000000000000000000000000000000000273baefb4f8035109786cf39ccfce6000000000000000000000000000000d9ad8b5943ead2741efdeb311b8305c9db000000000000000000000000000000000025043141e7a515687c6d80d0853b760000000000000000000000000000003447e05ab4400999c9704862944ef03bb300000000000000000000000000000000000d8d5f85133d06d56249c6463ac023000000000000000000000000000000a2ddc971022a9e284c57f45723c945fc4d000000000000000000000000000000000000313adfd67eca8871687d9f3743500000000000000000000000000000008ee68e8a6a30164659af11ece860b745fd00000000000000000000000000000000000e95c453f91518d2bd9f7e7546d6d70000000000000000000000000000001e7048b07ae1d2abe2c81892f049b49586000000000000000000000000000000000012c283e9e1559492ca745c471e4200000000000000000000000000000000753b146216c7c6c8932ec8dccddca8fa31000000000000000000000000000000000007a7d92f13dc0b73d454e195c6fe09000000000000000000000000000000d10b771654398b23022c35d60c273c934f000000000000000000000000000000000005c9f0286997dd232ce885c0ed062f000000000000000000000000000000629fc6a78a72b5692d1a77c2679a75dee9000000000000000000000000000000000012b8a9dfb2e8e334af65c9f3ab38c0000000000000000000000000000000ed472a8f17dc3316f7a49340cd720a74350000000000000000000000000000000000017e75977e8a07f96a3f14040a53cd000000000000000000000000000000446f3e0e56850ea57c212e104f653b5f6a0000000000000000000000000000000000052fdd9af9789e3eb35811221c41e2000000000000000000000000000000f6bab5bf8b54fc66718aa2b9956c65beb7000000000000000000000000000000000003079a470dcb1da38df7445f37eb0b000000000000000000000000000000e5bb59e24b2888c2985d283dd6e42ec816000000000000000000000000000000000022328c884020e86eb77c778f684161000000000000000000000000000000958635f248eceb2970db5e5ca3f1a53e580000000000000000000000000000000000102a97a96f5a56a636ff461e4d62150000000000000000000000000000003b88fe428ccb3be0f6a3c4180f171ed20500000000000000000000000000000000002a242d56623709bc0844efa2eae041000000000000000000000000000000b725594f1fdb2b189ad031ee79091ca34100000000000000000000000000000000000e16e400b299759e1197bbe7852fb4000000000000000000000000000000ef56e398f6865be63e0621b194b6784278000000000000000000000000000000000028253e33ec9715704e31a8392e8d3c000000000000000000000000000000b1ac5fc418deea23ce74973d1ce71db6ec00000000000000000000000000000000001cc958e0275352b42d713dac28cd75000000000000000000000000000000b67cb94c9d52bf48f9795dec4956b5f0f7000000000000000000000000000000000024c02ad4e8828a8e32e8ef2555f25300000000000000000000000000000053ac143e1147f6dc381721dcaeaf31a554000000000000000000000000000000000011f6349316782a26415264d1ccdbf600000000000000000000000000000047954ff855a1621a238e739ba810b1ba2b000000000000000000000000000000000020f0277bcdd0413d18202db2ecfb6700000000000000000000000000000029595faed1d97d0a44cde41f7e93f8704b000000000000000000000000000000000007ed4ba0a6cbe25addbf48024477e90000000000000000000000000000008e8b4e0200ca479b351b8a429862eddfd300000000000000000000000000000000001fde098d97bea2ccb56c7f605bc7190000000000000000000000000000009bc3b08fb0b4f7e1b735552f5bc5a2aa7a000000000000000000000000000000000028622f4b9fcde3699d1b31a2b18fac00000000000000000000000000000061b758ef85be66d9986147706741b40fd2000000000000000000000000000000000010dc2bb762bbec3508cf79f158150a000000000000000000000000000000c8938e5383cc74cbb5a8ceddc42e5cd5c800000000000000000000000000000000000cda327a1bd102f796ccda29b592c1000000000000000000000000000000c50f1e6d9abe25f2cb8baf84ee07f45479000000000000000000000000000000000002f9c142ad027e0f6aea9e2b0ebb9200000000000000000000000000000009aa385f27b182a93bcabd9880ff4a0d2e0000000000000000000000000000000000119ee10879faeb48f2219c86f2859e00000000000000000000000000000019f8e18056108c8c9c3024f931f89a3ef60000000000000000000000000000000000276b01de668ed60017e129398bc303000000000000000000000000000000b8332b105fa8fa5948d0c5e0b03f48ae000000000000000000000000000000000000118e01333cb7cee7dfd8009ae6a1ae00000000000000000000000000000027c83429d53039a0c603f3d7e004af105400000000000000000000000000000000001d6e5a5a0a85116a4166a29e2ccf73000000000000000000000000000000f2418bebae5fcdd2045f30f627611fb06800000000000000000000000000000000002c8bf7921056257b64385d1c5d968f000000000000000000000000000000d16b423b68a17ec64223543d38edb4a89f0000000000000000000000000000000000084a474b769cb8f4c20bd94999d4c700000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d260000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b30000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f00000000000000000000000000000000000015b8d2515d76e2ccec99dcd19459000000000000000000000000000000222b888108dc25d1aa450e0b4bc212c37e00000000000000000000000000000000001b917517920bad3d8bc01c9595092a000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d190000000000000000000000000000000000305e8992b148eedb22e6e992077a8400000000000000000000000000000038ed8da2375186b518c7345c60b1134b2d0000000000000000000000000000000000061f64497996e8915722501e9e36790000000000000000000000000000002ad3d7cb59792e11c0d2691f317fd50e6e00000000000000000000000000000000001b84d38339321f405ebaf6a2f8308400000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce0000000000000000000000000000000000043d063b130adfb37342af45d0155a0000000000000000000000000000009330952ae74c573d1686d9cb4a007338540000000000000000000000000000000000261522c4089330646aff96736194940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000650262c05cb7954145cc3da928199ca013000000000000000000000000000000000029f788bbb147c840eb0c7af2da2010000000000000000000000000000000f10260cb101f8ce89ded0164e46d9f6e1c00000000000000000000000000000000000857745bb543a3352d004a6e04f836",
|
|
113
|
+
"fields": [
|
|
114
|
+
"0x0000000000000000000000000000000000000000000000000000000000000016",
|
|
115
|
+
"0x000000000000000000000000000000000000000000000000000000000000001b",
|
|
116
|
+
"0x0000000000000000000000000000000000000000000000000000000000000001",
|
|
117
|
+
"0x0000000000000000000000000000009693b9d67da39f2598bc62aad3eb0bf7fa",
|
|
118
|
+
"0x0000000000000000000000000000000000230a32ceee4e94d770e3d1275b28f0",
|
|
119
|
+
"0x000000000000000000000000000000d00f9059117522eaaa1c7f37cd0a7d87ae",
|
|
120
|
+
"0x00000000000000000000000000000000000aa3738b2d3b2c01536e5c3cf0815d",
|
|
121
|
+
"0x000000000000000000000000000000c28c84931584dc759cd1fdf5417fc392c7",
|
|
122
|
+
"0x00000000000000000000000000000000000ba08f9b72f5b9583374f81a374064",
|
|
123
|
+
"0x00000000000000000000000000000037f6a003a451a01030d0ecbf9ae354f65d",
|
|
124
|
+
"0x00000000000000000000000000000000000317396c87c31614dfe86292deac86",
|
|
125
|
+
"0x000000000000000000000000000000cf32f93a0d6120ddc347e162befbbca70b",
|
|
126
|
+
"0x00000000000000000000000000000000000196530d4524006c6d4dd18089eb1c",
|
|
127
|
+
"0x000000000000000000000000000000c008ef54b511a5dbbc3793cd4a84bfe5d7",
|
|
128
|
+
"0x000000000000000000000000000000000022b09a4283045ee24091830c6c3315",
|
|
129
|
+
"0x0000000000000000000000000000008d41bbc0abd422ade0a40a5cdb16869c05",
|
|
130
|
+
"0x00000000000000000000000000000000001f1c878b75077526261855215574b5",
|
|
131
|
+
"0x000000000000000000000000000000a980e03b21edbaab82dd0329561b049ae2",
|
|
132
|
+
"0x00000000000000000000000000000000001aa52a3ee58e9d4dc55be13fb40005",
|
|
133
|
+
"0x0000000000000000000000000000009a5f036a2dcd726d8b61591a11986262c6",
|
|
134
|
+
"0x00000000000000000000000000000000002ef993edc1a19a51711f8f23497e48",
|
|
135
|
+
"0x000000000000000000000000000000ea79bb492c215da0d6df01e30e50ce38c0",
|
|
136
|
+
"0x00000000000000000000000000000000002a64caf6d5aae88490f78f4e61f94f",
|
|
137
|
+
"0x0000000000000000000000000000008890e5f1f0a4df13b044fab0aa89d13d9a",
|
|
138
|
+
"0x00000000000000000000000000000000002cbbc0daca3aa6f29dbf4f2b311955",
|
|
139
|
+
"0x000000000000000000000000000000ee7095267ff853d2a7e6c67d1552a9b665",
|
|
140
|
+
"0x0000000000000000000000000000000000273baefb4f8035109786cf39ccfce6",
|
|
141
|
+
"0x000000000000000000000000000000d9ad8b5943ead2741efdeb311b8305c9db",
|
|
142
|
+
"0x000000000000000000000000000000000025043141e7a515687c6d80d0853b76",
|
|
143
|
+
"0x0000000000000000000000000000003447e05ab4400999c9704862944ef03bb3",
|
|
144
|
+
"0x00000000000000000000000000000000000d8d5f85133d06d56249c6463ac023",
|
|
145
|
+
"0x000000000000000000000000000000a2ddc971022a9e284c57f45723c945fc4d",
|
|
146
|
+
"0x000000000000000000000000000000000000313adfd67eca8871687d9f374350",
|
|
147
|
+
"0x0000000000000000000000000000008ee68e8a6a30164659af11ece860b745fd",
|
|
148
|
+
"0x00000000000000000000000000000000000e95c453f91518d2bd9f7e7546d6d7",
|
|
149
|
+
"0x0000000000000000000000000000001e7048b07ae1d2abe2c81892f049b49586",
|
|
150
|
+
"0x000000000000000000000000000000000012c283e9e1559492ca745c471e4200",
|
|
151
|
+
"0x000000000000000000000000000000753b146216c7c6c8932ec8dccddca8fa31",
|
|
152
|
+
"0x000000000000000000000000000000000007a7d92f13dc0b73d454e195c6fe09",
|
|
153
|
+
"0x000000000000000000000000000000d10b771654398b23022c35d60c273c934f",
|
|
154
|
+
"0x000000000000000000000000000000000005c9f0286997dd232ce885c0ed062f",
|
|
155
|
+
"0x000000000000000000000000000000629fc6a78a72b5692d1a77c2679a75dee9",
|
|
156
|
+
"0x000000000000000000000000000000000012b8a9dfb2e8e334af65c9f3ab38c0",
|
|
157
|
+
"0x000000000000000000000000000000ed472a8f17dc3316f7a49340cd720a7435",
|
|
158
|
+
"0x0000000000000000000000000000000000017e75977e8a07f96a3f14040a53cd",
|
|
159
|
+
"0x000000000000000000000000000000446f3e0e56850ea57c212e104f653b5f6a",
|
|
160
|
+
"0x0000000000000000000000000000000000052fdd9af9789e3eb35811221c41e2",
|
|
161
|
+
"0x000000000000000000000000000000f6bab5bf8b54fc66718aa2b9956c65beb7",
|
|
162
|
+
"0x000000000000000000000000000000000003079a470dcb1da38df7445f37eb0b",
|
|
163
|
+
"0x000000000000000000000000000000e5bb59e24b2888c2985d283dd6e42ec816",
|
|
164
|
+
"0x000000000000000000000000000000000022328c884020e86eb77c778f684161",
|
|
165
|
+
"0x000000000000000000000000000000958635f248eceb2970db5e5ca3f1a53e58",
|
|
166
|
+
"0x0000000000000000000000000000000000102a97a96f5a56a636ff461e4d6215",
|
|
167
|
+
"0x0000000000000000000000000000003b88fe428ccb3be0f6a3c4180f171ed205",
|
|
168
|
+
"0x00000000000000000000000000000000002a242d56623709bc0844efa2eae041",
|
|
169
|
+
"0x000000000000000000000000000000b725594f1fdb2b189ad031ee79091ca341",
|
|
170
|
+
"0x00000000000000000000000000000000000e16e400b299759e1197bbe7852fb4",
|
|
171
|
+
"0x000000000000000000000000000000ef56e398f6865be63e0621b194b6784278",
|
|
172
|
+
"0x000000000000000000000000000000000028253e33ec9715704e31a8392e8d3c",
|
|
173
|
+
"0x000000000000000000000000000000b1ac5fc418deea23ce74973d1ce71db6ec",
|
|
174
|
+
"0x00000000000000000000000000000000001cc958e0275352b42d713dac28cd75",
|
|
175
|
+
"0x000000000000000000000000000000b67cb94c9d52bf48f9795dec4956b5f0f7",
|
|
176
|
+
"0x000000000000000000000000000000000024c02ad4e8828a8e32e8ef2555f253",
|
|
177
|
+
"0x00000000000000000000000000000053ac143e1147f6dc381721dcaeaf31a554",
|
|
178
|
+
"0x000000000000000000000000000000000011f6349316782a26415264d1ccdbf6",
|
|
179
|
+
"0x00000000000000000000000000000047954ff855a1621a238e739ba810b1ba2b",
|
|
180
|
+
"0x000000000000000000000000000000000020f0277bcdd0413d18202db2ecfb67",
|
|
181
|
+
"0x00000000000000000000000000000029595faed1d97d0a44cde41f7e93f8704b",
|
|
182
|
+
"0x000000000000000000000000000000000007ed4ba0a6cbe25addbf48024477e9",
|
|
183
|
+
"0x0000000000000000000000000000008e8b4e0200ca479b351b8a429862eddfd3",
|
|
184
|
+
"0x00000000000000000000000000000000001fde098d97bea2ccb56c7f605bc719",
|
|
185
|
+
"0x0000000000000000000000000000009bc3b08fb0b4f7e1b735552f5bc5a2aa7a",
|
|
186
|
+
"0x000000000000000000000000000000000028622f4b9fcde3699d1b31a2b18fac",
|
|
187
|
+
"0x00000000000000000000000000000061b758ef85be66d9986147706741b40fd2",
|
|
188
|
+
"0x000000000000000000000000000000000010dc2bb762bbec3508cf79f158150a",
|
|
189
|
+
"0x000000000000000000000000000000c8938e5383cc74cbb5a8ceddc42e5cd5c8",
|
|
190
|
+
"0x00000000000000000000000000000000000cda327a1bd102f796ccda29b592c1",
|
|
191
|
+
"0x000000000000000000000000000000c50f1e6d9abe25f2cb8baf84ee07f45479",
|
|
192
|
+
"0x000000000000000000000000000000000002f9c142ad027e0f6aea9e2b0ebb92",
|
|
193
|
+
"0x00000000000000000000000000000009aa385f27b182a93bcabd9880ff4a0d2e",
|
|
194
|
+
"0x0000000000000000000000000000000000119ee10879faeb48f2219c86f2859e",
|
|
195
|
+
"0x00000000000000000000000000000019f8e18056108c8c9c3024f931f89a3ef6",
|
|
196
|
+
"0x0000000000000000000000000000000000276b01de668ed60017e129398bc303",
|
|
197
|
+
"0x000000000000000000000000000000b8332b105fa8fa5948d0c5e0b03f48ae00",
|
|
198
|
+
"0x0000000000000000000000000000000000118e01333cb7cee7dfd8009ae6a1ae",
|
|
199
|
+
"0x00000000000000000000000000000027c83429d53039a0c603f3d7e004af1054",
|
|
200
|
+
"0x00000000000000000000000000000000001d6e5a5a0a85116a4166a29e2ccf73",
|
|
201
|
+
"0x000000000000000000000000000000f2418bebae5fcdd2045f30f627611fb068",
|
|
202
|
+
"0x00000000000000000000000000000000002c8bf7921056257b64385d1c5d968f",
|
|
203
|
+
"0x000000000000000000000000000000d16b423b68a17ec64223543d38edb4a89f",
|
|
204
|
+
"0x0000000000000000000000000000000000084a474b769cb8f4c20bd94999d4c7",
|
|
205
|
+
"0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26",
|
|
206
|
+
"0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3",
|
|
207
|
+
"0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f",
|
|
208
|
+
"0x00000000000000000000000000000000000015b8d2515d76e2ccec99dcd19459",
|
|
209
|
+
"0x000000000000000000000000000000222b888108dc25d1aa450e0b4bc212c37e",
|
|
210
|
+
"0x00000000000000000000000000000000001b917517920bad3d8bc01c9595092a",
|
|
211
|
+
"0x000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d19",
|
|
212
|
+
"0x0000000000000000000000000000000000305e8992b148eedb22e6e992077a84",
|
|
213
|
+
"0x00000000000000000000000000000038ed8da2375186b518c7345c60b1134b2d",
|
|
214
|
+
"0x0000000000000000000000000000000000061f64497996e8915722501e9e3679",
|
|
215
|
+
"0x0000000000000000000000000000002ad3d7cb59792e11c0d2691f317fd50e6e",
|
|
216
|
+
"0x00000000000000000000000000000000001b84d38339321f405ebaf6a2f83084",
|
|
217
|
+
"0x00000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce",
|
|
218
|
+
"0x0000000000000000000000000000000000043d063b130adfb37342af45d0155a",
|
|
219
|
+
"0x0000000000000000000000000000009330952ae74c573d1686d9cb4a00733854",
|
|
220
|
+
"0x0000000000000000000000000000000000261522c4089330646aff9673619494",
|
|
221
|
+
"0x0000000000000000000000000000000000000000000000000000000000000001",
|
|
222
|
+
"0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
223
|
+
"0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
224
|
+
"0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
225
|
+
"0x000000000000000000000000000000650262c05cb7954145cc3da928199ca013",
|
|
226
|
+
"0x000000000000000000000000000000000029f788bbb147c840eb0c7af2da2010",
|
|
227
|
+
"0x000000000000000000000000000000f10260cb101f8ce89ded0164e46d9f6e1c",
|
|
228
|
+
"0x00000000000000000000000000000000000857745bb543a3352d004a6e04f836"
|
|
229
|
+
],
|
|
230
|
+
"hash": "100bbdef6b59ddf81e2383f63ede08594920aa649d50f6fb60a5b0438055c5a3"
|
|
231
|
+
}
|
|
232
|
+
}
|