@aztec-labs/ivc-integration 6.0.0-nightly.20260829
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/README.md +3 -0
- package/artifacts/app_creator.d.json.ts +3 -0
- package/artifacts/app_creator.json +210 -0
- package/artifacts/app_reader.d.json.ts +3 -0
- package/artifacts/app_reader.json +210 -0
- package/artifacts/mock_hiding.d.json.ts +3 -0
- package/artifacts/mock_hiding.json +256 -0
- package/artifacts/mock_private_kernel_init.d.json.ts +3 -0
- package/artifacts/mock_private_kernel_init.json +783 -0
- package/artifacts/mock_private_kernel_inner.d.json.ts +3 -0
- package/artifacts/mock_private_kernel_inner.json +833 -0
- package/artifacts/mock_private_kernel_reset.d.json.ts +3 -0
- package/artifacts/mock_private_kernel_reset.json +342 -0
- package/artifacts/mock_private_kernel_tail.d.json.ts +3 -0
- package/artifacts/mock_private_kernel_tail.json +306 -0
- package/artifacts/mock_rollup_root.d.json.ts +3 -0
- package/artifacts/mock_rollup_root.json +331 -0
- package/artifacts/mock_rollup_tx_base_private.d.json.ts +3 -0
- package/artifacts/mock_rollup_tx_base_private.json +322 -0
- package/artifacts/mock_rollup_tx_base_public.d.json.ts +3 -0
- package/artifacts/mock_rollup_tx_base_public.json +1484 -0
- package/artifacts/mock_rollup_tx_merge.d.json.ts +3 -0
- package/artifacts/mock_rollup_tx_merge.json +387 -0
- package/dest/batch_verifier_test_helpers.d.ts +14 -0
- package/dest/batch_verifier_test_helpers.d.ts.map +1 -0
- package/dest/batch_verifier_test_helpers.js +19 -0
- package/dest/bb_working_directory.d.ts +2 -0
- package/dest/bb_working_directory.d.ts.map +1 -0
- package/dest/bb_working_directory.js +10 -0
- package/dest/index.d.ts +2 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +1 -0
- package/dest/prove_native.d.ts +15 -0
- package/dest/prove_native.d.ts.map +1 -0
- package/dest/prove_native.js +188 -0
- package/dest/scripts/generate_declaration_files.d.ts +2 -0
- package/dest/scripts/generate_declaration_files.d.ts.map +1 -0
- package/dest/scripts/generate_declaration_files.js +21 -0
- package/dest/scripts/generate_ts_from_abi.d.ts +2 -0
- package/dest/scripts/generate_ts_from_abi.d.ts.map +1 -0
- package/dest/scripts/generate_ts_from_abi.js +49 -0
- package/dest/serve.d.ts +2 -0
- package/dest/serve.d.ts.map +1 -0
- package/dest/serve.js +79 -0
- package/dest/types/index.d.ts +227 -0
- package/dest/types/index.d.ts.map +1 -0
- package/dest/types/index.js +102 -0
- package/dest/witgen.d.ts +87 -0
- package/dest/witgen.d.ts.map +1 -0
- package/dest/witgen.js +328 -0
- package/package.json +112 -0
- package/src/batch_verifier_test_helpers.ts +32 -0
- package/src/bb_working_directory.ts +9 -0
- package/src/index.html +9 -0
- package/src/index.ts +1 -0
- package/src/prove_native.ts +171 -0
- package/src/scripts/generate_declaration_files.ts +24 -0
- package/src/scripts/generate_ts_from_abi.ts +57 -0
- package/src/serve.ts +128 -0
- package/src/types/index.ts +349 -0
- package/src/witgen.ts +444 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
function _ts_add_disposable_resource(env, value, async) {
|
|
2
|
+
if (value !== null && value !== void 0) {
|
|
3
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
4
|
+
var dispose, inner;
|
|
5
|
+
if (async) {
|
|
6
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
7
|
+
dispose = value[Symbol.asyncDispose];
|
|
8
|
+
}
|
|
9
|
+
if (dispose === void 0) {
|
|
10
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
11
|
+
dispose = value[Symbol.dispose];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
15
|
+
if (inner) dispose = function() {
|
|
16
|
+
try {
|
|
17
|
+
inner.call(this);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
return Promise.reject(e);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
env.stack.push({
|
|
23
|
+
value: value,
|
|
24
|
+
dispose: dispose,
|
|
25
|
+
async: async
|
|
26
|
+
});
|
|
27
|
+
} else if (async) {
|
|
28
|
+
env.stack.push({
|
|
29
|
+
async: true
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
function _ts_dispose_resources(env) {
|
|
35
|
+
var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
|
|
36
|
+
var e = new Error(message);
|
|
37
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
38
|
+
};
|
|
39
|
+
return (_ts_dispose_resources = function _ts_dispose_resources(env) {
|
|
40
|
+
function fail(e) {
|
|
41
|
+
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
42
|
+
env.hasError = true;
|
|
43
|
+
}
|
|
44
|
+
var r, s = 0;
|
|
45
|
+
function next() {
|
|
46
|
+
while(r = env.stack.pop()){
|
|
47
|
+
try {
|
|
48
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
49
|
+
if (r.dispose) {
|
|
50
|
+
var result = r.dispose.call(r.value);
|
|
51
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
52
|
+
fail(e);
|
|
53
|
+
return next();
|
|
54
|
+
});
|
|
55
|
+
} else s |= 1;
|
|
56
|
+
} catch (e) {
|
|
57
|
+
fail(e);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
61
|
+
if (env.hasError) throw env.error;
|
|
62
|
+
}
|
|
63
|
+
return next();
|
|
64
|
+
})(env);
|
|
65
|
+
}
|
|
66
|
+
import { BBJsFactory, constructRecursiveProofFromBuffers } from '@aztec-labs/bb-prover';
|
|
67
|
+
import { AVM_V2_PROOF_LENGTH_IN_FIELDS, CHONK_PROOF_LENGTH, HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE, NESTED_RECURSIVE_PROOF_LENGTH, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec-labs/constants';
|
|
68
|
+
import { Fr } from '@aztec-labs/foundation/curves/bn254';
|
|
69
|
+
import { makeProofAndVerificationKey } from '@aztec-labs/stdlib/interfaces/server';
|
|
70
|
+
import { Proof, RecursiveProof } from '@aztec-labs/stdlib/proofs';
|
|
71
|
+
import { VerificationKeyAsFields, VerificationKeyData } from '@aztec-labs/stdlib/vks';
|
|
72
|
+
import { ungzip } from 'pako';
|
|
73
|
+
import * as path from 'path';
|
|
74
|
+
export async function proofBytesToRecursiveProof(proofAsFields, vkBytes) {
|
|
75
|
+
const vk = await VerificationKeyAsFields.fromFrBuffer(Buffer.from(vkBytes));
|
|
76
|
+
const numCustomPublicInputs = vk.numPublicInputs - HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE;
|
|
77
|
+
// Convert Uint8Array fields to Fr instances
|
|
78
|
+
const fields = proofAsFields.map((f)=>Fr.fromBuffer(Buffer.from(f)));
|
|
79
|
+
// Slice off custom public inputs from the beginning.
|
|
80
|
+
const fieldsWithoutPublicInputs = fields.slice(numCustomPublicInputs);
|
|
81
|
+
// Convert fields to binary buffer
|
|
82
|
+
const proofBuffer = Buffer.concat(proofAsFields.slice(numCustomPublicInputs));
|
|
83
|
+
// Create Proof directly (not using fromBuffer which expects different format)
|
|
84
|
+
const proof = new Proof(proofBuffer, numCustomPublicInputs);
|
|
85
|
+
return new RecursiveProof(fieldsWithoutPublicInputs, proof, true, CHONK_PROOF_LENGTH);
|
|
86
|
+
}
|
|
87
|
+
async function proveRollupCircuit(name, pathToBB, _workingDirectory, circuit, witness, logger, flavor, proofLength) {
|
|
88
|
+
const factory = new BBJsFactory(pathToBB, {
|
|
89
|
+
logger
|
|
90
|
+
});
|
|
91
|
+
try {
|
|
92
|
+
const env = {
|
|
93
|
+
stack: [],
|
|
94
|
+
error: void 0,
|
|
95
|
+
hasError: false
|
|
96
|
+
};
|
|
97
|
+
try {
|
|
98
|
+
// Decompress witness and bytecode for bb.js
|
|
99
|
+
const decompressedWitness = ungzip(witness);
|
|
100
|
+
const bytecode = ungzip(Buffer.from(circuit.bytecode, 'base64'));
|
|
101
|
+
const vkBuffer = Buffer.from(circuit.verificationKey.bytes, 'hex');
|
|
102
|
+
const proveInstance = _ts_add_disposable_resource(env, await factory.getInstance(), true);
|
|
103
|
+
const proofResult = await proveInstance.generateProof(name, bytecode, vkBuffer, decompressedWitness, flavor);
|
|
104
|
+
const vk = await VerificationKeyData.fromFrBuffer(vkBuffer);
|
|
105
|
+
// Construct proof from in-memory buffers
|
|
106
|
+
const proof = constructRecursiveProofFromBuffers(proofResult.proofFields, proofResult.publicInputFields, vk, proofLength);
|
|
107
|
+
const verifyInstance = _ts_add_disposable_resource(env, await factory.getInstance(), true);
|
|
108
|
+
const { verified } = await verifyInstance.verifyProof(proofResult.proofFields, vk.keyAsBytes, proofResult.publicInputFields, flavor);
|
|
109
|
+
if (!verified) {
|
|
110
|
+
throw new Error(`Failed to verify proof from key!`);
|
|
111
|
+
}
|
|
112
|
+
logger.info(`Successfully verified proof from key`);
|
|
113
|
+
return makeProofAndVerificationKey(proof, vk);
|
|
114
|
+
} catch (e) {
|
|
115
|
+
env.error = e;
|
|
116
|
+
env.hasError = true;
|
|
117
|
+
} finally{
|
|
118
|
+
const result = _ts_dispose_resources(env);
|
|
119
|
+
if (result) await result;
|
|
120
|
+
}
|
|
121
|
+
} finally{
|
|
122
|
+
await factory.destroy();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export function proveRollupHonk(name, pathToBB, workingDirectory, circuit, witness, logger) {
|
|
126
|
+
return proveRollupCircuit(name, pathToBB, workingDirectory, circuit, witness, logger, 'ultra_rollup_honk', RECURSIVE_ROLLUP_HONK_PROOF_LENGTH);
|
|
127
|
+
}
|
|
128
|
+
export function proveKeccakHonk(name, pathToBB, workingDirectory, circuit, witness, logger) {
|
|
129
|
+
return proveRollupCircuit(name, pathToBB, workingDirectory, circuit, witness, logger, 'ultra_keccak_honk', NESTED_RECURSIVE_PROOF_LENGTH);
|
|
130
|
+
}
|
|
131
|
+
/** Generate and verify an AVM proof via bb.js. */ export async function proveAvm(avmCircuitInputs, _workingDirectory, logger) {
|
|
132
|
+
const bbPath = path.resolve('../../labs-aztec-toolchain/bin/bb-avm');
|
|
133
|
+
const factory = new BBJsFactory(bbPath, {
|
|
134
|
+
logger
|
|
135
|
+
});
|
|
136
|
+
try {
|
|
137
|
+
const env = {
|
|
138
|
+
stack: [],
|
|
139
|
+
error: void 0,
|
|
140
|
+
hasError: false
|
|
141
|
+
};
|
|
142
|
+
try {
|
|
143
|
+
const inputsBuffer = avmCircuitInputs.serializeWithMessagePack();
|
|
144
|
+
let proofFields;
|
|
145
|
+
{
|
|
146
|
+
const env = {
|
|
147
|
+
stack: [],
|
|
148
|
+
error: void 0,
|
|
149
|
+
hasError: false
|
|
150
|
+
};
|
|
151
|
+
try {
|
|
152
|
+
const instance = _ts_add_disposable_resource(env, await factory.getInstance(), true);
|
|
153
|
+
({ proof: proofFields } = await instance.generateAvmProof(inputsBuffer));
|
|
154
|
+
} catch (e) {
|
|
155
|
+
env.error = e;
|
|
156
|
+
env.hasError = true;
|
|
157
|
+
} finally{
|
|
158
|
+
const result = _ts_dispose_resources(env);
|
|
159
|
+
if (result) await result;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// Convert Uint8Array field elements → Fr[]
|
|
163
|
+
const proof = proofFields.map((f)=>Fr.fromBuffer(Buffer.from(f)));
|
|
164
|
+
if (proof.length !== AVM_V2_PROOF_LENGTH_IN_FIELDS) {
|
|
165
|
+
throw new Error(`AVM V2 proof has ${proof.length} fields, expected exactly ${AVM_V2_PROOF_LENGTH_IN_FIELDS}.`);
|
|
166
|
+
}
|
|
167
|
+
// Explicit verify pass against the serialized public inputs (matches the legacy binary flow).
|
|
168
|
+
const piBuffer = avmCircuitInputs.publicInputs.serializeWithMessagePack();
|
|
169
|
+
const verifyInstance = _ts_add_disposable_resource(env, await factory.getInstance(), true);
|
|
170
|
+
const { verified: reVerified } = await verifyInstance.verifyAvmProof(proofFields, piBuffer);
|
|
171
|
+
if (!reVerified) {
|
|
172
|
+
throw new Error('AVM V2 proof verification failed');
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
proof,
|
|
176
|
+
publicInputs: avmCircuitInputs.publicInputs
|
|
177
|
+
};
|
|
178
|
+
} catch (e) {
|
|
179
|
+
env.error = e;
|
|
180
|
+
env.hasError = true;
|
|
181
|
+
} finally{
|
|
182
|
+
const result = _ts_dispose_resources(env);
|
|
183
|
+
if (result) await result;
|
|
184
|
+
}
|
|
185
|
+
} finally{
|
|
186
|
+
await factory.destroy();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate_declaration_files.d.ts","sourceRoot":"","sources":["../../src/scripts/generate_declaration_files.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { fileURLToPath } from '@aztec-labs/foundation/url';
|
|
2
|
+
import { readdir, writeFile } from 'fs/promises';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
const contract = `\
|
|
5
|
+
import { type NoirCompiledCircuit } from '@aztec-labs/stdlib/noir';
|
|
6
|
+
const circuit: NoirCompiledCircuit;
|
|
7
|
+
export = circuit;
|
|
8
|
+
`;
|
|
9
|
+
async function generateDeclarationFor(target, content) {
|
|
10
|
+
const files = await readdir(target);
|
|
11
|
+
for (const file of files){
|
|
12
|
+
// guard against running this script twice without cleaning the artifacts/ dir first
|
|
13
|
+
if (!file.endsWith('.json')) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
const name = file.replace('.json', '');
|
|
17
|
+
await writeFile(join(target, `${name}.d.json.ts`), content);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// Generate declaration files for contracts
|
|
21
|
+
await generateDeclarationFor(fileURLToPath(new URL('../../artifacts', import.meta.url).href), contract);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate_ts_from_abi.d.ts","sourceRoot":"","sources":["../../src/scripts/generate_ts_from_abi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { codegen } from '@aztec/noir-noir_codegen';
|
|
2
|
+
import { createConsoleLogger } from '@aztec-labs/foundation/log';
|
|
3
|
+
import { pascalCase } from 'change-case';
|
|
4
|
+
import { promises as fs } from 'fs';
|
|
5
|
+
const log = createConsoleLogger('mock-circuits');
|
|
6
|
+
const circuits = [
|
|
7
|
+
'app_creator',
|
|
8
|
+
'app_reader',
|
|
9
|
+
'mock_hiding',
|
|
10
|
+
'mock_private_kernel_init',
|
|
11
|
+
'mock_private_kernel_inner',
|
|
12
|
+
'mock_private_kernel_reset',
|
|
13
|
+
'mock_private_kernel_tail',
|
|
14
|
+
'mock_rollup_tx_base_public',
|
|
15
|
+
'mock_rollup_tx_base_private',
|
|
16
|
+
'mock_rollup_tx_merge',
|
|
17
|
+
'mock_rollup_root'
|
|
18
|
+
];
|
|
19
|
+
const main = async ()=>{
|
|
20
|
+
try {
|
|
21
|
+
await fs.access('./src/types/');
|
|
22
|
+
} catch (error) {
|
|
23
|
+
await fs.mkdir('./src/types', {
|
|
24
|
+
recursive: true
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
const programs = [];
|
|
28
|
+
// Collect all circuits
|
|
29
|
+
for (const circuit of circuits){
|
|
30
|
+
const rawData = await fs.readFile(`./artifacts/${circuit}.json`, 'utf-8');
|
|
31
|
+
const abiObj = JSON.parse(rawData);
|
|
32
|
+
programs.push([
|
|
33
|
+
pascalCase(circuit),
|
|
34
|
+
abiObj
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
let code = codegen(programs, false, true);
|
|
38
|
+
// noir_codegen emits `InputMap` as a value import, but it is type-only: under
|
|
39
|
+
// verbatimModuleSyntax that trips TS1484. Rewrite until the generator qualifies it upstream.
|
|
40
|
+
// TODO(A-1611): Remove once fixed upstream in Noir.
|
|
41
|
+
code = code.replace('import { Noir, InputMap, type CompiledCircuit, type ForeignCallHandler }', 'import { Noir, type InputMap, type CompiledCircuit, type ForeignCallHandler }');
|
|
42
|
+
await fs.writeFile('./src/types/index.ts', code);
|
|
43
|
+
};
|
|
44
|
+
try {
|
|
45
|
+
await main();
|
|
46
|
+
} catch (err) {
|
|
47
|
+
log(`Error generating types ${err}`);
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
package/dest/serve.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":""}
|
package/dest/serve.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { AztecClientBackend, Barretenberg } from '@aztec/bb.js';
|
|
2
|
+
import { createLogger } from '@aztec-labs/foundation/log';
|
|
3
|
+
import { MockAppCreatorCircuit, MockHidingCircuit, MockPrivateKernelInitCircuit, MockPrivateKernelTailCircuit, generateTestingIVCStack } from './witgen.js';
|
|
4
|
+
const logger = createLogger('aztec:ivc-test');
|
|
5
|
+
/* eslint-disable no-console */ // Expose APIs on window for browser testing
|
|
6
|
+
window.Barretenberg = Barretenberg;
|
|
7
|
+
window.AztecClientBackend = AztecClientBackend;
|
|
8
|
+
window.generateTestingIVCStack = generateTestingIVCStack;
|
|
9
|
+
window.MockAppCreatorCircuit = MockAppCreatorCircuit;
|
|
10
|
+
window.MockPrivateKernelInitCircuit = MockPrivateKernelInitCircuit;
|
|
11
|
+
window.MockPrivateKernelTailCircuit = MockPrivateKernelTailCircuit;
|
|
12
|
+
window.MockHidingCircuit = MockHidingCircuit;
|
|
13
|
+
// Function to set up the output element and redirect all console output
|
|
14
|
+
function setupConsoleOutput() {
|
|
15
|
+
const container = document.createElement('div');
|
|
16
|
+
container.style.marginBottom = '10px';
|
|
17
|
+
document.body.appendChild(container);
|
|
18
|
+
const copyButton = document.createElement('button');
|
|
19
|
+
copyButton.innerText = 'Copy Logs to Clipboard';
|
|
20
|
+
copyButton.style.marginBottom = '10px';
|
|
21
|
+
copyButton.addEventListener('click', ()=>{
|
|
22
|
+
const logContent = logContainer.textContent || ''; // Get text content of log container
|
|
23
|
+
navigator.clipboard.writeText(logContent).then(()=>{
|
|
24
|
+
alert('Logs copied to clipboard!');
|
|
25
|
+
}).catch((err)=>{
|
|
26
|
+
console.error('Failed to copy logs:', err);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
container.appendChild(copyButton);
|
|
30
|
+
const logContainer = document.createElement('pre');
|
|
31
|
+
logContainer.id = 'logOutput';
|
|
32
|
+
logContainer.style.border = '1px solid #ccc';
|
|
33
|
+
logContainer.style.padding = '10px';
|
|
34
|
+
logContainer.style.maxHeight = '400px';
|
|
35
|
+
logContainer.style.overflowY = 'auto';
|
|
36
|
+
container.appendChild(logContainer);
|
|
37
|
+
// Helper to append messages to logContainer
|
|
38
|
+
function addLogMessage(message) {
|
|
39
|
+
logContainer.textContent += message + '\n';
|
|
40
|
+
logContainer.scrollTop = logContainer.scrollHeight; // Auto-scroll to the bottom
|
|
41
|
+
}
|
|
42
|
+
// Override console methods to output clean logs
|
|
43
|
+
const originalLog = console.log;
|
|
44
|
+
const originalDebug = console.debug;
|
|
45
|
+
console.log = (...args)=>{
|
|
46
|
+
const message = args.map((arg)=>typeof arg === 'string' ? arg.replace(/%c/g, '').replace(/color:.*?(;|$)/g, '').trim() : arg).join(' ');
|
|
47
|
+
originalLog.apply(console, args); // Keep original behavior
|
|
48
|
+
addLogMessage(message);
|
|
49
|
+
};
|
|
50
|
+
console.debug = (...args)=>{
|
|
51
|
+
const message = args.map((arg)=>typeof arg === 'string' ? arg.replace(/%c/g, '').replace(/color:.*?(;|$)/g, '').trim() : arg).join(' ');
|
|
52
|
+
originalDebug.apply(console, args); // Keep original behavior
|
|
53
|
+
addLogMessage(message);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
// Only set up the interactive UI if this is not being used for automated testing
|
|
57
|
+
if (!document.getElementById('status')) {
|
|
58
|
+
document.addEventListener('DOMContentLoaded', function() {
|
|
59
|
+
setupConsoleOutput(); // Initialize console output capture
|
|
60
|
+
const button = document.createElement('button');
|
|
61
|
+
button.innerText = 'Run Test';
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
63
|
+
button.addEventListener('click', async ()=>{
|
|
64
|
+
logger.info(`generating circuit and witness...`);
|
|
65
|
+
const [bytecodes, witnessStack, _publicInputs, precomputedVks, circuitKinds] = await generateTestingIVCStack(1, 0);
|
|
66
|
+
logger.info(`done. proving and verifying...`);
|
|
67
|
+
const barretenberg = await Barretenberg.initSingleton({
|
|
68
|
+
threads: 16,
|
|
69
|
+
logger: (m)=>logger.info(m)
|
|
70
|
+
});
|
|
71
|
+
const backend = new AztecClientBackend(bytecodes, barretenberg, [], circuitKinds);
|
|
72
|
+
const { proof, vk } = await backend.prove(witnessStack, precomputedVks);
|
|
73
|
+
const verified = await backend.verify(proof, vk);
|
|
74
|
+
logger.info(`verified? ${verified}`);
|
|
75
|
+
await Barretenberg.destroySingleton();
|
|
76
|
+
});
|
|
77
|
+
document.body.appendChild(button);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { type CompiledCircuit, type ForeignCallHandler } from "@aztec/noir-noir_js";
|
|
2
|
+
export { type ForeignCallHandler } from "@aztec/noir-noir_js";
|
|
3
|
+
export type FixedLengthArray<T, L extends number> = L extends 0 ? never[] : T[] & {
|
|
4
|
+
length: L;
|
|
5
|
+
};
|
|
6
|
+
export type Field = string;
|
|
7
|
+
export type u32 = string;
|
|
8
|
+
export type u64 = string;
|
|
9
|
+
export type u128 = string;
|
|
10
|
+
export type AppPublicInputs = {
|
|
11
|
+
commitments: FixedLengthArray<Field, 2>;
|
|
12
|
+
read_requests: FixedLengthArray<Field, 2>;
|
|
13
|
+
};
|
|
14
|
+
export type KernelPublicInputs = {
|
|
15
|
+
commitments: FixedLengthArray<Field, 4>;
|
|
16
|
+
};
|
|
17
|
+
export type VerificationKey<A extends number> = {
|
|
18
|
+
key: FixedLengthArray<Field, A>;
|
|
19
|
+
hash: Field;
|
|
20
|
+
};
|
|
21
|
+
export type TxRequest = {
|
|
22
|
+
number_of_calls: u32;
|
|
23
|
+
};
|
|
24
|
+
export type PrivateKernelPublicInputs = {
|
|
25
|
+
remaining_calls: u32;
|
|
26
|
+
commitments: FixedLengthArray<Field, 4>;
|
|
27
|
+
read_requests: FixedLengthArray<Field, 4>;
|
|
28
|
+
};
|
|
29
|
+
export type ChonkProofData = {
|
|
30
|
+
public_inputs: KernelPublicInputs;
|
|
31
|
+
proof: FixedLengthArray<Field, 1221>;
|
|
32
|
+
vk_data: VerificationKey<119>;
|
|
33
|
+
};
|
|
34
|
+
export type AvmCircuitPublicInputs = {
|
|
35
|
+
global_variables: GlobalVariables;
|
|
36
|
+
protocol_contracts: ProtocolContracts;
|
|
37
|
+
start_tree_snapshots: TreeSnapshots;
|
|
38
|
+
start_gas_used: Gas;
|
|
39
|
+
gas_settings: GasSettings;
|
|
40
|
+
effective_gas_fees: GasFees;
|
|
41
|
+
fee_payer: AztecAddress;
|
|
42
|
+
prover_id: Field;
|
|
43
|
+
public_call_request_array_lengths: PublicCallRequestArrayLengths;
|
|
44
|
+
public_setup_call_requests: FixedLengthArray<PublicCallRequest, 32>;
|
|
45
|
+
public_app_logic_call_requests: FixedLengthArray<PublicCallRequest, 32>;
|
|
46
|
+
public_teardown_call_request: PublicCallRequest;
|
|
47
|
+
previous_non_revertible_accumulated_data_array_lengths: PrivateToAvmAccumulatedDataArrayLengths;
|
|
48
|
+
previous_revertible_accumulated_data_array_lengths: PrivateToAvmAccumulatedDataArrayLengths;
|
|
49
|
+
previous_non_revertible_accumulated_data: PrivateToAvmAccumulatedData;
|
|
50
|
+
previous_revertible_accumulated_data: PrivateToAvmAccumulatedData;
|
|
51
|
+
end_tree_snapshots: TreeSnapshots;
|
|
52
|
+
end_gas_used: Gas;
|
|
53
|
+
accumulated_data_array_lengths: AvmAccumulatedDataArrayLengths;
|
|
54
|
+
accumulated_data: AvmAccumulatedData;
|
|
55
|
+
transaction_fee: Field;
|
|
56
|
+
reverted: boolean;
|
|
57
|
+
};
|
|
58
|
+
export type GlobalVariables = {
|
|
59
|
+
chain_id: Field;
|
|
60
|
+
version: Field;
|
|
61
|
+
block_number: u32;
|
|
62
|
+
slot_number: Field;
|
|
63
|
+
timestamp: u64;
|
|
64
|
+
coinbase: EthAddress;
|
|
65
|
+
fee_recipient: AztecAddress;
|
|
66
|
+
gas_fees: GasFees;
|
|
67
|
+
};
|
|
68
|
+
export type ProtocolContracts = {
|
|
69
|
+
derived_addresses: FixedLengthArray<AztecAddress, 11>;
|
|
70
|
+
};
|
|
71
|
+
export type TreeSnapshots = {
|
|
72
|
+
l1_to_l2_message_tree: AppendOnlyTreeSnapshot;
|
|
73
|
+
note_hash_tree: AppendOnlyTreeSnapshot;
|
|
74
|
+
nullifier_tree: AppendOnlyTreeSnapshot;
|
|
75
|
+
public_data_tree: AppendOnlyTreeSnapshot;
|
|
76
|
+
};
|
|
77
|
+
export type Gas = {
|
|
78
|
+
da_gas: u32;
|
|
79
|
+
l2_gas: u32;
|
|
80
|
+
};
|
|
81
|
+
export type GasSettings = {
|
|
82
|
+
gas_limits: Gas;
|
|
83
|
+
teardown_gas_limits: Gas;
|
|
84
|
+
max_fees_per_gas: GasFees;
|
|
85
|
+
max_priority_fees_per_gas: GasFees;
|
|
86
|
+
};
|
|
87
|
+
export type GasFees = {
|
|
88
|
+
fee_per_da_gas: u128;
|
|
89
|
+
fee_per_l2_gas: u128;
|
|
90
|
+
};
|
|
91
|
+
export type AztecAddress = {
|
|
92
|
+
inner: Field;
|
|
93
|
+
};
|
|
94
|
+
export type PublicCallRequestArrayLengths = {
|
|
95
|
+
setup_calls: u32;
|
|
96
|
+
app_logic_calls: u32;
|
|
97
|
+
teardown_call: boolean;
|
|
98
|
+
};
|
|
99
|
+
export type PublicCallRequest = {
|
|
100
|
+
msg_sender: AztecAddress;
|
|
101
|
+
contract_address: AztecAddress;
|
|
102
|
+
is_static_call: boolean;
|
|
103
|
+
calldata_hash: Field;
|
|
104
|
+
};
|
|
105
|
+
export type PrivateToAvmAccumulatedDataArrayLengths = {
|
|
106
|
+
note_hashes: u32;
|
|
107
|
+
nullifiers: u32;
|
|
108
|
+
l2_to_l1_msgs: u32;
|
|
109
|
+
};
|
|
110
|
+
export type PrivateToAvmAccumulatedData = {
|
|
111
|
+
note_hashes: FixedLengthArray<Field, 64>;
|
|
112
|
+
nullifiers: FixedLengthArray<Field, 64>;
|
|
113
|
+
l2_to_l1_msgs: FixedLengthArray<Scoped, 8>;
|
|
114
|
+
};
|
|
115
|
+
export type AvmAccumulatedDataArrayLengths = {
|
|
116
|
+
note_hashes: u32;
|
|
117
|
+
nullifiers: u32;
|
|
118
|
+
l2_to_l1_msgs: u32;
|
|
119
|
+
public_data_writes: u32;
|
|
120
|
+
};
|
|
121
|
+
export type AvmAccumulatedData = {
|
|
122
|
+
note_hashes: FixedLengthArray<Field, 64>;
|
|
123
|
+
nullifiers: FixedLengthArray<Field, 64>;
|
|
124
|
+
l2_to_l1_msgs: FixedLengthArray<Scoped, 8>;
|
|
125
|
+
public_logs: PublicLogs;
|
|
126
|
+
public_data_writes: FixedLengthArray<PublicDataWrite, 64>;
|
|
127
|
+
};
|
|
128
|
+
export type EthAddress = {
|
|
129
|
+
inner: Field;
|
|
130
|
+
};
|
|
131
|
+
export type AppendOnlyTreeSnapshot = {
|
|
132
|
+
root: Field;
|
|
133
|
+
next_available_leaf_index: Field;
|
|
134
|
+
};
|
|
135
|
+
export type Scoped = {
|
|
136
|
+
inner: L2ToL1Message;
|
|
137
|
+
contract_address: AztecAddress;
|
|
138
|
+
};
|
|
139
|
+
export type PublicLogs = {
|
|
140
|
+
length: u32;
|
|
141
|
+
payload: FixedLengthArray<Field, 4096>;
|
|
142
|
+
};
|
|
143
|
+
export type PublicDataWrite = {
|
|
144
|
+
leaf_slot: Field;
|
|
145
|
+
value: Field;
|
|
146
|
+
};
|
|
147
|
+
export type L2ToL1Message = {
|
|
148
|
+
recipient: EthAddress;
|
|
149
|
+
content: Field;
|
|
150
|
+
};
|
|
151
|
+
export type RollupPublicInputs = {
|
|
152
|
+
accumulated: u32;
|
|
153
|
+
};
|
|
154
|
+
export type PreviousRollupData = {
|
|
155
|
+
base_or_merge_public_inputs: RollupPublicInputs;
|
|
156
|
+
proof: FixedLengthArray<Field, 480>;
|
|
157
|
+
vk: VerificationKey<115>;
|
|
158
|
+
};
|
|
159
|
+
export type AppCreatorInputType = {
|
|
160
|
+
commitments_to_create: FixedLengthArray<Field, 2>;
|
|
161
|
+
};
|
|
162
|
+
export type AppCreatorReturnType = AppPublicInputs;
|
|
163
|
+
export declare function AppCreator(commitments_to_create: FixedLengthArray<Field, 2>, AppCreator_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<AppPublicInputs>;
|
|
164
|
+
export type AppReaderInputType = {
|
|
165
|
+
commitments_to_read: FixedLengthArray<Field, 2>;
|
|
166
|
+
};
|
|
167
|
+
export type AppReaderReturnType = AppPublicInputs;
|
|
168
|
+
export declare function AppReader(commitments_to_read: FixedLengthArray<Field, 2>, AppReader_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<AppPublicInputs>;
|
|
169
|
+
export type MockHidingInputType = {
|
|
170
|
+
prev_kernel_public_inputs: KernelPublicInputs;
|
|
171
|
+
kernel_vk: VerificationKey<151>;
|
|
172
|
+
};
|
|
173
|
+
export type MockHidingReturnType = KernelPublicInputs;
|
|
174
|
+
export declare function MockHiding(prev_kernel_public_inputs: KernelPublicInputs, kernel_vk: VerificationKey<151>, MockHiding_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<KernelPublicInputs>;
|
|
175
|
+
export type MockPrivateKernelInitInputType = {
|
|
176
|
+
tx: TxRequest;
|
|
177
|
+
app_inputs: AppPublicInputs;
|
|
178
|
+
app_vk: VerificationKey<151>;
|
|
179
|
+
};
|
|
180
|
+
export type MockPrivateKernelInitReturnType = PrivateKernelPublicInputs;
|
|
181
|
+
export declare function MockPrivateKernelInit(tx: TxRequest, app_inputs: AppPublicInputs, app_vk: VerificationKey<151>, MockPrivateKernelInit_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<PrivateKernelPublicInputs>;
|
|
182
|
+
export type MockPrivateKernelInnerInputType = {
|
|
183
|
+
prev_kernel_public_inputs: PrivateKernelPublicInputs;
|
|
184
|
+
kernel_vk: VerificationKey<151>;
|
|
185
|
+
app_inputs: AppPublicInputs;
|
|
186
|
+
app_vk: VerificationKey<151>;
|
|
187
|
+
};
|
|
188
|
+
export type MockPrivateKernelInnerReturnType = PrivateKernelPublicInputs;
|
|
189
|
+
export declare function MockPrivateKernelInner(prev_kernel_public_inputs: PrivateKernelPublicInputs, kernel_vk: VerificationKey<151>, app_inputs: AppPublicInputs, app_vk: VerificationKey<151>, MockPrivateKernelInner_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<PrivateKernelPublicInputs>;
|
|
190
|
+
export type MockPrivateKernelResetInputType = {
|
|
191
|
+
prev_kernel_public_inputs: PrivateKernelPublicInputs;
|
|
192
|
+
kernel_vk: VerificationKey<151>;
|
|
193
|
+
commitment_read_hints: FixedLengthArray<u32, 4>;
|
|
194
|
+
};
|
|
195
|
+
export type MockPrivateKernelResetReturnType = PrivateKernelPublicInputs;
|
|
196
|
+
export declare function MockPrivateKernelReset(prev_kernel_public_inputs: PrivateKernelPublicInputs, kernel_vk: VerificationKey<151>, commitment_read_hints: FixedLengthArray<u32, 4>, MockPrivateKernelReset_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<PrivateKernelPublicInputs>;
|
|
197
|
+
export type MockPrivateKernelTailInputType = {
|
|
198
|
+
prev_kernel_public_inputs: PrivateKernelPublicInputs;
|
|
199
|
+
kernel_vk: VerificationKey<151>;
|
|
200
|
+
};
|
|
201
|
+
export type MockPrivateKernelTailReturnType = KernelPublicInputs;
|
|
202
|
+
export declare function MockPrivateKernelTail(prev_kernel_public_inputs: PrivateKernelPublicInputs, kernel_vk: VerificationKey<151>, MockPrivateKernelTail_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<KernelPublicInputs>;
|
|
203
|
+
export type MockRollupTxBasePublicInputType = {
|
|
204
|
+
chonk_proof_data: ChonkProofData;
|
|
205
|
+
proof: FixedLengthArray<Field, 14532>;
|
|
206
|
+
public_inputs: AvmCircuitPublicInputs;
|
|
207
|
+
};
|
|
208
|
+
export type MockRollupTxBasePublicReturnType = RollupPublicInputs;
|
|
209
|
+
export declare function MockRollupTxBasePublic(chonk_proof_data: ChonkProofData, proof: FixedLengthArray<Field, 14532>, public_inputs: AvmCircuitPublicInputs, MockRollupTxBasePublic_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<RollupPublicInputs>;
|
|
210
|
+
export type MockRollupTxBasePrivateInputType = {
|
|
211
|
+
chonk_proof_data: ChonkProofData;
|
|
212
|
+
};
|
|
213
|
+
export type MockRollupTxBasePrivateReturnType = RollupPublicInputs;
|
|
214
|
+
export declare function MockRollupTxBasePrivate(chonk_proof_data: ChonkProofData, MockRollupTxBasePrivate_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<RollupPublicInputs>;
|
|
215
|
+
export type MockRollupTxMergeInputType = {
|
|
216
|
+
a: PreviousRollupData;
|
|
217
|
+
b: PreviousRollupData;
|
|
218
|
+
};
|
|
219
|
+
export type MockRollupTxMergeReturnType = RollupPublicInputs;
|
|
220
|
+
export declare function MockRollupTxMerge(a: PreviousRollupData, b: PreviousRollupData, MockRollupTxMerge_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<RollupPublicInputs>;
|
|
221
|
+
export type MockRollupRootInputType = {
|
|
222
|
+
a: PreviousRollupData;
|
|
223
|
+
b: PreviousRollupData;
|
|
224
|
+
};
|
|
225
|
+
export type MockRollupRootReturnType = RollupPublicInputs;
|
|
226
|
+
export declare function MockRollupRoot(a: PreviousRollupData, b: PreviousRollupData, MockRollupRoot_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise<RollupPublicInputs>;
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQXVCLEtBQUssZUFBZSxFQUFFLEtBQUssa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUV4RyxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRTdELE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFFLENBQUMsRUFBRSxHQUFHO0lBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtDQUFFLENBQUE7QUFDOUYsTUFBTSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDM0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFDekIsTUFBTSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFDekIsTUFBTSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFFMUIsTUFBTSxNQUFNLGVBQWUsR0FBRztJQUM1QixXQUFXLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0FDM0MsQ0FBQTtBQUVELE1BQU0sTUFBTSxrQkFBa0IsR0FBRztJQUMvQixXQUFXLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBQ3pDLENBQUE7QUFFRCxNQUFNLE1BQU0sZUFBZSxDQUFDLENBQUMsU0FBUyxNQUFNLElBQUk7SUFDOUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoQyxJQUFJLEVBQUUsS0FBSyxDQUFDO0NBQ2IsQ0FBQTtBQUVELE1BQU0sTUFBTSxTQUFT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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|