Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
cd0b8de
first aproach
Thunkar May 19, 2025
19b0e62
playground working
Thunkar May 20, 2025
0ebd105
fix box build
Thunkar May 20, 2025
4966a08
attempt to get rid of debug
Thunkar May 20, 2025
4b89c83
removed workaround
Thunkar May 20, 2025
0ffef8c
lock
Thunkar May 20, 2025
a97cf1a
fixes
Thunkar May 20, 2025
2387c86
as buffer
Thunkar May 20, 2025
522e052
simplification
Thunkar May 20, 2025
7ca8777
whoops
Thunkar May 20, 2025
5067fcf
Merge branch 'master' of github.com:AztecProtocol/aztec-packages into…
Thunkar May 21, 2025
ec44c2c
comments from PR
Thunkar May 21, 2025
b971bc0
got rid of debug completely
Thunkar May 21, 2025
99f58b5
package.json and locks
Thunkar May 21, 2025
aee1d89
typo
Thunkar May 21, 2025
92b6911
attempted cleanup
Thunkar May 21, 2025
62b4271
pino
Thunkar May 21, 2025
f908b92
customlevels
Thunkar May 21, 2025
12dbd12
default level
Thunkar May 21, 2025
3aed431
renaming
Thunkar May 21, 2025
f1f6a91
completely remove process from unbundled bb
Thunkar May 21, 2025
4ff9670
murder of webpack
Thunkar May 21, 2025
2246e5e
lock
Thunkar May 21, 2025
4fd3f39
keep the provider
Thunkar May 21, 2025
183a652
Merge branch 'master' of github.com:AztecProtocol/aztec-packages into…
Thunkar May 21, 2025
218fc04
wtf
Thunkar May 21, 2025
912d1ab
attempt at getting more info
Thunkar May 21, 2025
1274c67
proper logger
Thunkar May 22, 2025
e614b64
Merge branch 'master' of github.com:AztecProtocol/aztec-packages into…
Thunkar May 22, 2025
4531fb5
make node logger inherit log level from process.env
Thunkar May 22, 2025
bcbfc44
fix
Thunkar May 22, 2025
09aeb49
Merge branch 'master' into gj/unbundled_bb.js
Thunkar May 22, 2025
d19a446
fixed logging
Thunkar May 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 13 additions & 9 deletions barretenberg/acir_tests/bbjs-test/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
import createDebug from "debug";
import fs from "fs/promises";
import path from "path";
import { Command } from "commander";
import assert from "assert";
import { ILogObj, Logger } from "tslog";

createDebug.enable("*");
const debug = createDebug("bbjs-test");
const logger = new Logger<ILogObj>({
name: "bbjs-test",
stylePrettyLogs: false,
prettyLogTemplate: "{{dateIsoStr}} {{name}} ",
hideLogPositionForProduction: true,
});

const UH_PROOF_FIELDS_LENGTH = 456;
const BYTES_PER_FIELD = 32;
Expand All @@ -32,7 +36,7 @@ async function generateProof({
}) {
const { UltraHonkBackend, deflattenFields } = await import("@aztec/bb.js");

debug(`Generating proof for ${bytecodePath}...`);
logger.debug(`Generating proof for ${bytecodePath}...`);
const circuitArtifact = await fs.readFile(bytecodePath);
const bytecode = JSON.parse(circuitArtifact.toString()).bytecode;
const backend = new UltraHonkBackend(bytecode, {
Expand All @@ -50,13 +54,13 @@ async function generateProof({
);

await fs.writeFile(proofPath(outputDirectory), Buffer.from(proof.proof));
debug("Proof written to " + proofPath(outputDirectory));
logger.debug("Proof written to " + proofPath(outputDirectory));

await fs.writeFile(
publicInputsAsFieldsPath(outputDirectory),
JSON.stringify(proof.publicInputs)
);
debug(
logger.debug(
"Public inputs written to " + publicInputsAsFieldsPath(outputDirectory)
);

Expand All @@ -70,7 +74,7 @@ async function generateProof({
starknet: oracleHash === "starknet",
});
await fs.writeFile(vkeyPath(outputDirectory), Buffer.from(verificationKey));
debug("Verification key written to " + vkeyPath(outputDirectory));
logger.debug("Verification key written to " + vkeyPath(outputDirectory));

await backend.destroy();
}
Expand All @@ -89,7 +93,7 @@ async function verifyProof({ directory }: { directory: string }) {
const publicInputs = JSON.parse(
await fs.readFile(publicInputsAsFieldsPath(directory), "utf8")
);
debug(`publicInputs: ${JSON.stringify(publicInputs)}`);
logger.debug(`publicInputs: ${JSON.stringify(publicInputs)}`);
const vkey = await fs.readFile(vkeyPath(directory));

const verified = await verifier.verifyUltraHonkProof(
Expand All @@ -98,7 +102,7 @@ async function verifyProof({ directory }: { directory: string }) {
);

await verifier.destroy();
debug(`Proof verified: ${verified}`);
logger.debug(`Proof verified: ${verified}`);
return verified;
}

Expand Down
2 changes: 1 addition & 1 deletion barretenberg/acir_tests/browser-test-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
},
"devDependencies": {
"@aztec/bb.js": "portal:../../ts",
"@types/debug": "^4.1.12",
"@types/pako": "^2.0.3",
"debug": "^4.3.4",
"html-webpack-plugin": "^5.6.0",
"pako": "^2.1.0",
"serve": "^14.2.1",
"ts-loader": "^9.5.1",
"tslog": "^4.9.3",
"typescript": "^5.4.2",
"webpack": "^5.99.6",
"webpack-cli": "^6.0.1",
Expand Down
22 changes: 13 additions & 9 deletions barretenberg/acir_tests/browser-test-app/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
import type { ProofData } from "@aztec/bb.js";
import createDebug from "debug";
import { ILogObj, Logger } from "tslog";

createDebug.enable("*");
const debug = createDebug("browser-test-app");
const logger = new Logger<ILogObj>({
name: "browser-test-app",
stylePrettyLogs: false,
prettyLogTemplate: "{{dateIsoStr}} {{name}} ",
hideLogPositionForProduction: true,
});

async function prove(
bytecode: string,
Expand All @@ -11,31 +15,31 @@ async function prove(
): Promise<{ proofData: ProofData; verificationKey: Uint8Array }> {
const { UltraHonkBackend } = await import("@aztec/bb.js");

debug("starting test...");
logger.debug("starting test...");
const backend = new UltraHonkBackend(bytecode, { threads });
const proofData = await backend.generateProof(witness);

debug(`getting the verification key...`);
logger.debug(`getting the verification key...`);
const verificationKey = await backend.getVerificationKey();
debug(`destroying the backend...`);
logger.debug(`destroying the backend...`);
await backend.destroy();
return { proofData, verificationKey };
}

async function verify(proofData: ProofData, verificationKey: Uint8Array) {
const { BarretenbergVerifier } = await import("@aztec/bb.js");

debug(`verifying...`);
logger.debug(`verifying...`);
const verifier = new BarretenbergVerifier();
const verified = await verifier.verifyUltraHonkProof(
proofData,
verificationKey
);
debug(`verified: ${verified}`);
logger.debug(`verified: ${verified}`);

await verifier.destroy();

debug("test complete.");
logger.debug("test complete.");
return verified;
}

Expand Down
13 changes: 1 addition & 12 deletions barretenberg/acir_tests/browser-test-app/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,11 @@ export default {
},
output: {
path: resolve(dirname(fileURLToPath(import.meta.url)), "./dest"),
filename: "[name].js",
chunkFormat: 'module',
},
experiments: {
outputModule: true,
},
optimization: {
splitChunks: {
// Cannot use async due to https://github.com/webpack/webpack/issues/17014
// messing with module workers loaded asynchronously.
chunks: /barretenberg.*.js/,
},
},
plugins: [
new HtmlWebpackPlugin({ inject: false, template: "./src/index.html" }),
new webpack.DefinePlugin({ "process.env.NODE_DEBUG": false }),
new webpack.ProvidePlugin({ Buffer: ['buffer', 'Buffer'] }),
],
resolve: {
extensions: ['.tsx', '.ts', '.js'],
Expand Down
6 changes: 5 additions & 1 deletion barretenberg/acir_tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,9 @@
"headless-test",
"sol-test",
"bbjs-test"
]
],
"dependencies": {
"debug": "^4.4.1",
"tslog": "^4.9.3"
}
}
53 changes: 25 additions & 28 deletions barretenberg/acir_tests/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ __metadata:
"@aztec/acir-tests@workspace:.":
version: 0.0.0-use.local
resolution: "@aztec/acir-tests@workspace:."
dependencies:
debug: "npm:^4.4.1"
tslog: "npm:^4.9.3"
languageName: unknown
linkType: soft

Expand All @@ -24,11 +27,10 @@ __metadata:
dependencies:
comlink: "npm:^4.4.1"
commander: "npm:^12.1.0"
debug: "npm:^4.3.4"
fflate: "npm:^0.8.0"
msgpackr: "npm:^1.11.2"
pako: "npm:^2.1.0"
tslib: "npm:^2.4.0"
tslog: "npm:^4.9.3"
bin:
bb.js: dest/node/main.js
languageName: node
Expand All @@ -40,11 +42,10 @@ __metadata:
dependencies:
comlink: "npm:^4.4.1"
commander: "npm:^12.1.0"
debug: "npm:^4.3.4"
fflate: "npm:^0.8.0"
msgpackr: "npm:^1.11.2"
pako: "npm:^2.1.0"
tslib: "npm:^2.4.0"
tslog: "npm:^4.9.3"
bin:
bb.js: dest/node/main.js
languageName: node
Expand Down Expand Up @@ -386,15 +387,6 @@ __metadata:
languageName: node
linkType: hard

"@types/debug@npm:^4.1.12":
version: 4.1.12
resolution: "@types/debug@npm:4.1.12"
dependencies:
"@types/ms": "npm:*"
checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f
languageName: node
linkType: hard

"@types/eslint-scope@npm:^3.7.7":
version: 3.7.7
resolution: "@types/eslint-scope@npm:3.7.7"
Expand Down Expand Up @@ -507,13 +499,6 @@ __metadata:
languageName: node
linkType: hard

"@types/ms@npm:*":
version: 2.1.0
resolution: "@types/ms@npm:2.1.0"
checksum: 10c0/5ce692ffe1549e1b827d99ef8ff71187457e0eb44adbae38fdf7b9a74bae8d20642ee963c14516db1d35fa2652e65f47680fdf679dcbde52bbfadd021f497225
languageName: node
linkType: hard

"@types/node-forge@npm:^1.3.0":
version: 1.3.11
resolution: "@types/node-forge@npm:1.3.11"
Expand Down Expand Up @@ -1220,13 +1205,13 @@ __metadata:
resolution: "browser-test-app@workspace:browser-test-app"
dependencies:
"@aztec/bb.js": "portal:../../ts"
"@types/debug": "npm:^4.1.12"
"@types/pako": "npm:^2.0.3"
debug: "npm:^4.3.4"
html-webpack-plugin: "npm:^5.6.0"
pako: "npm:^2.1.0"
serve: "npm:^14.2.1"
ts-loader: "npm:^9.5.1"
tslog: "npm:^4.9.3"
typescript: "npm:^5.4.2"
webpack: "npm:^5.99.6"
webpack-cli: "npm:^6.0.1"
Expand Down Expand Up @@ -1732,6 +1717,18 @@ __metadata:
languageName: node
linkType: hard

"debug@npm:^4.4.1":
version: 4.4.1
resolution: "debug@npm:4.4.1"
dependencies:
ms: "npm:^2.1.3"
peerDependenciesMeta:
supports-color:
optional: true
checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55
languageName: node
linkType: hard

"deep-extend@npm:^0.6.0":
version: 0.6.0
resolution: "deep-extend@npm:0.6.0"
Expand Down Expand Up @@ -2290,13 +2287,6 @@ __metadata:
languageName: node
linkType: hard

"fflate@npm:^0.8.0":
version: 0.8.2
resolution: "fflate@npm:0.8.2"
checksum: 10c0/03448d630c0a583abea594835a9fdb2aaf7d67787055a761515bf4ed862913cfd693b4c4ffd5c3f3b355a70cf1e19033e9ae5aedcca103188aaff91b8bd6e293
languageName: node
linkType: hard

"fill-range@npm:^7.1.1":
version: 7.1.1
resolution: "fill-range@npm:7.1.1"
Expand Down Expand Up @@ -5049,6 +5039,13 @@ __metadata:
languageName: node
linkType: hard

"tslog@npm:^4.9.3":
version: 4.9.3
resolution: "tslog@npm:4.9.3"
checksum: 10c0/9db2c02b01be44a97e447061958565ceb8faf33a241cf9c030d5f1ebefff74434b66090985f5a75189a514aae2267999851c281b8cd8dc8cd93dd158b1033319
languageName: node
linkType: hard

"type-fest@npm:^2.13.0":
version: 2.19.0
resolution: "type-fest@npm:2.19.0"
Expand Down
3 changes: 2 additions & 1 deletion barretenberg/ts/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ function build {
if ! cache_download bb.js-$hash.tar.gz; then
find . -exec touch -d "@0" {} + 2>/dev/null || true
yarn clean
parallel -v --line-buffered --tag 'denoise "yarn {}"' ::: build:wasm build:esm build:cjs build:browser
yarn build:wasm
parallel -v --line-buffered --tag 'denoise "yarn {}"' ::: build:esm build:cjs build:browser build:browser:bundle
cache_upload bb.js-$hash.tar.gz dest
fi

Expand Down
16 changes: 9 additions & 7 deletions barretenberg/ts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@
"exports": {
".": {
"require": "./dest/node-cjs/index.js",
"browser": "./dest/browser/index.js",
"browser": {
"script": "./dest/browser-bundle/index.js",
Comment thread
Thunkar marked this conversation as resolved.
Outdated
"default": "./dest/browser/index.js"
},
"default": "./dest/node/index.js"
}
},
Expand All @@ -26,7 +29,8 @@
"build:wasm": "./scripts/build_wasm.sh",
"build:esm": "tsc -b tsconfig.esm.json && chmod +x ./dest/node/main.js",
"build:cjs": "tsc -b tsconfig.cjs.json && ./scripts/cjs_postprocess.sh",
"build:browser": "webpack",
"build:browser": "tsc -b tsconfig.browser.json && ./scripts/browser_postprocess.sh",
"build:browser:bundle": "webpack",
"build:bindings": "cd .. && ./scripts/bindgen.sh",
"formatting": "prettier --check ./src && eslint --max-warnings 0 ./src",
"formatting:fix": "prettier -w ./src",
Expand Down Expand Up @@ -65,17 +69,15 @@
"dependencies": {
"comlink": "^4.4.1",
"commander": "^12.1.0",
"debug": "^4.3.4",
"fflate": "^0.8.0",
"msgpackr": "^1.11.2",
"pako": "^2.1.0",
"tslib": "^2.4.0"
"tslib": "^2.4.0",
"tslog": "^4.9.3"
},
"devDependencies": {
"@jest/globals": "^29.4.3",
"@swc/core": "^1.10.1",
"@swc/jest": "^0.2.37",
"@types/debug": "^4.1.7",
"@types/detect-node": "^2.0.0",
"@types/jest": "^29.4.0",
"@types/node": "^22.15.17",
Expand All @@ -93,7 +95,7 @@
"ts-jest": "^29.1.0",
"ts-loader": "^9.4.2",
"ts-node": "^10.9.1",
"typescript": "5.4.5",
"typescript": "^5.3.3",
"typescript-eslint": "^8.32.1",
"webpack": "^5.99.6",
"webpack-cli": "^6.0.1",
Expand Down
21 changes: 21 additions & 0 deletions barretenberg/ts/scripts/browser_postprocess.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

DIR="./dest/browser"

# Remove all files under **/node/**
for node_file in $(find $DIR -type d -path "./*/node*"); do
rm -rf $node_file;
done

# Replace all **/node/** imports ante exports with **/browser/**
Comment thread
Thunkar marked this conversation as resolved.
Outdated
for file in $(find $DIR -type f -name "*.js"); do
sed -i 's/\([import|export]\)\(.*\)from\(.*\)\(\/node\/\)\(.*\)/\1\2from\3\/browser\/\5/' $file;
done

# Provide default wasm files as gziped base64 strings
for file in barretenberg barretenberg-threads; do
GZIP_FILE=${DIR}/barretenberg_wasm/$file.wasm.gz
BB_THREADS_BASE64=$(cat ${GZIP_FILE} | base64 -w0)
printf "const barretenberg = \"data:application/gzip;base64,$BB_THREADS_BASE64\"; \\nexport default barretenberg;" > $DIR/barretenberg_wasm/fetch_code/browser/$file.js
rm $GZIP_FILE
done
4 changes: 4 additions & 0 deletions barretenberg/ts/scripts/build_wasm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,9 @@ fi
# When building the browser bundle, both wasms are inlined directly.
mkdir -p ./dest/node/barretenberg_wasm
mkdir -p ./dest/node-cjs/barretenberg_wasm
mkdir -p ./dest/browser/barretenberg_wasm

cp ../cpp/build-wasm-threads/bin/barretenberg.wasm.gz ./dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz
cp ../cpp/build-wasm-threads/bin/barretenberg.wasm.gz ./dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz
cp ../cpp/build-wasm-threads/bin/barretenberg.wasm.gz ./dest/browser/barretenberg_wasm/barretenberg-threads.wasm.gz
cp ../cpp/build-wasm/bin/barretenberg.wasm.gz ./dest/browser/barretenberg_wasm/barretenberg.wasm.gz
Loading