From e8240e5e3d0dc07e423d6298a7a13e238900a13d Mon Sep 17 00:00:00 2001 From: Richard Bonichon Date: Thu, 26 Oct 2023 15:31:59 +0200 Subject: [PATCH 01/42] Update bindings --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index 014c1f245e..8abaf15041 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 014c1f245ed620c3c1e4a939aa36a728ad148cc3 +Subproject commit 8abaf15041b27a55cab2c2c15f5646c313f32d91 From 06d95ed8f52013fb1ccd51ed096637df0413bb82 Mon Sep 17 00:00:00 2001 From: Richard Bonichon Date: Sun, 29 Oct 2023 22:17:43 +0100 Subject: [PATCH 02/42] Update regression tests --- src/examples/regression_test.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/examples/regression_test.json b/src/examples/regression_test.json index 4b8abc7521..c8916cc0c4 100644 --- a/src/examples/regression_test.json +++ b/src/examples/regression_test.json @@ -24,8 +24,8 @@ } }, "verificationKey": { - "data": "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", - "hash": "21462580856298000408039819846448252784015090129029961950407537341141126974675" + "data": "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", + "hash": "11565671297372915311669581079391063231397733208021234592662736001743584177724" } }, "Membership_": { @@ -45,8 +45,8 @@ } }, "verificationKey": { - "data": "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", - "hash": "10521275425053135358416581035189809085015014181948017829202402642785509990588" + "data": "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", + "hash": "11513384784058506063139870141763328684986961462198948028100954667309086537868" } }, "HelloWorld": { @@ -58,8 +58,8 @@ } }, "verificationKey": { - "data": "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", - "hash": "13944830619261861637084800274869061964414944600762609764051490926432990784450" + "data": "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", + "hash": "16374078687847242751733960472737775252305759960836159362409166419576402399087" } }, "TokenContract": { @@ -103,8 +103,8 @@ } }, "verificationKey": { - "data": "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", - "hash": "26014910633277885880116405732523760752779596685768035552816258944310550523123" + "data": "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", + "hash": "19471120960548999816351394077166332230185600464930675317083534065611063009411" } }, "Dex": { @@ -132,8 +132,8 @@ } }, "verificationKey": { - "data": "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", - "hash": "15086103482217764849797385791989057539041480977574988157913770221410426744249" + "data": "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", + "hash": "14012766312159048636010037107657830276597168503405582242210403680501924916774" } }, "Group Primitive": { From 045da22258149f01f90a374bb13441503d25aa38 Mon Sep 17 00:00:00 2001 From: Richard Bonichon Date: Sun, 29 Oct 2023 22:47:11 +0100 Subject: [PATCH 03/42] Use /usr/bin/env bash instead of /bin/bash Some systems do not have bash in /bin, e.g., Nix-based setups. --- run-ci-tests.sh | 2 +- run-integration-tests.sh | 2 +- run-jest-tests.sh | 2 +- run-mina-integration-tests.sh | 2 +- run-minimal-mina-tests.sh | 2 +- run-unit-tests.sh | 2 +- src/mina-signer/build-cjs.sh | 2 +- src/mina-signer/build-web.sh | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/run-ci-tests.sh b/run-ci-tests.sh index 246b93f769..4a494ddd62 100755 --- a/run-ci-tests.sh +++ b/run-ci-tests.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e case $TEST_TYPE in diff --git a/run-integration-tests.sh b/run-integration-tests.sh index 7c2241ed17..ca14d93719 100755 --- a/run-integration-tests.sh +++ b/run-integration-tests.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e ./run src/examples/zkapps/hello_world/run.ts --bundle diff --git a/run-jest-tests.sh b/run-jest-tests.sh index d103274798..54b84b73c5 100755 --- a/run-jest-tests.sh +++ b/run-jest-tests.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e shopt -s globstar # to expand '**' into nested directories diff --git a/run-mina-integration-tests.sh b/run-mina-integration-tests.sh index 2ed8854fd7..dfacdbc68f 100755 --- a/run-mina-integration-tests.sh +++ b/run-mina-integration-tests.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e node tests/integration/simple-zkapp-mock-apply.js diff --git a/run-minimal-mina-tests.sh b/run-minimal-mina-tests.sh index 3aae238cce..01ebacee11 100755 --- a/run-minimal-mina-tests.sh +++ b/run-minimal-mina-tests.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e ./run src/tests/inductive-proofs-small.ts --bundle diff --git a/run-unit-tests.sh b/run-unit-tests.sh index 44881eca5d..349496a06f 100755 --- a/run-unit-tests.sh +++ b/run-unit-tests.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e shopt -s globstar # to expand '**' into nested directories./ diff --git a/src/mina-signer/build-cjs.sh b/src/mina-signer/build-cjs.sh index 9c939d28cc..4c9fd72586 100755 --- a/src/mina-signer/build-cjs.sh +++ b/src/mina-signer/build-cjs.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e cp index.cjs dist/node/mina-signer/index.cjs diff --git a/src/mina-signer/build-web.sh b/src/mina-signer/build-web.sh index d3a0305851..6a2395a764 100755 --- a/src/mina-signer/build-web.sh +++ b/src/mina-signer/build-web.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e tsc -p ../../tsconfig.mina-signer-web.json From 92698d6f3fd9e23a32a51a0974fe634d85f8b97b Mon Sep 17 00:00:00 2001 From: Mikhail Volkhov Date: Thu, 12 Oct 2023 13:23:42 +0100 Subject: [PATCH 04/42] Update o1js-bindings --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index 8abaf15041..667090e2cb 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 8abaf15041b27a55cab2c2c15f5646c313f32d91 +Subproject commit 667090e2cb079fee53ca76487820ed41a6a4e088 From 31db2c5e5165da29648a3f5cda934ece871b7643 Mon Sep 17 00:00:00 2001 From: Mikhail Volkhov Date: Thu, 16 Nov 2023 18:38:31 +0000 Subject: [PATCH 05/42] Update bindings --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index 667090e2cb..6e15f080f9 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 667090e2cb079fee53ca76487820ed41a6a4e088 +Subproject commit 6e15f080f913266182d6002ec91cfeec6dea12d9 From d92893c03f5d2450abab1b2c0abe2218e365556c Mon Sep 17 00:00:00 2001 From: Mikhail Volkhov Date: Sat, 18 Nov 2023 14:55:25 +0000 Subject: [PATCH 06/42] Update bindings --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index 6e15f080f9..a5556ddcf5 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 6e15f080f913266182d6002ec91cfeec6dea12d9 +Subproject commit a5556ddcf56815674eaaa0b8362906a4a6671a04 From b1dfd22f39598ce334aec982682f5ab84f90b984 Mon Sep 17 00:00:00 2001 From: Danny Willems Date: Mon, 4 Dec 2023 22:35:33 +0100 Subject: [PATCH 07/42] Bump up bindings on top of develop before fixing --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index a5556ddcf5..3b1c94f304 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit a5556ddcf56815674eaaa0b8362906a4a6671a04 +Subproject commit 3b1c94f304a7403ca42c0335697dc0fcab12c42e From 921501e2fb5ef487f1b4310cc6a9a320791cb71c Mon Sep 17 00:00:00 2001 From: Danny Willems Date: Mon, 4 Dec 2023 22:36:28 +0100 Subject: [PATCH 08/42] Bump up bindings with reverted commits --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index 3b1c94f304..b7a71dae01 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 3b1c94f304a7403ca42c0335697dc0fcab12c42e +Subproject commit b7a71dae0144a3e4ba2bf0878eb3e981ea0e33cf From 65537bf7b9674c2ac91105faf06c1f9290a3eee1 Mon Sep 17 00:00:00 2001 From: Danny Willems Date: Mon, 4 Dec 2023 22:42:51 +0100 Subject: [PATCH 09/42] Bump up bindings after commiting artefacts --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index b7a71dae01..6d5cdbd34d 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit b7a71dae0144a3e4ba2bf0878eb3e981ea0e33cf +Subproject commit 6d5cdbd34d30d3d2b61ef021b311dac7741ab188 From 0a823ec40443faca6a95c5abfea7a9b247ce39a6 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Thu, 28 Sep 2023 13:48:08 -0300 Subject: [PATCH 10/42] feat: add ocaml build directory to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index fcb737b159..4571a23f08 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ tests/test-artifacts/ profiling.md snarkyjs-reference *.tmp.js +_build/ From 0fe99ff294f9e5cee4f8e92c16497a913287a735 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Thu, 28 Sep 2023 13:48:36 -0300 Subject: [PATCH 11/42] feat: add dune-project file to build bindings from o1js root directory --- dune-project | 1 + 1 file changed, 1 insertion(+) create mode 100644 dune-project diff --git a/dune-project b/dune-project new file mode 100644 index 0000000000..7b17fb2d30 --- /dev/null +++ b/dune-project @@ -0,0 +1 @@ +(lang dune 3.3) From 9864ffb257836f53bcdfd48061b5a3ef50efc047 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Thu, 5 Oct 2023 14:32:07 -0700 Subject: [PATCH 12/42] chore(bindings): update subproject commit --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index d40dd6c6a5..285d40ffe3 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit d40dd6c6a5517bbebd3c77abd54c2f9813724d7f +Subproject commit 285d40ffe37f8e4f73199080ba113d515b83861e From 3fcaa6565c0432a72f990f09f8ec1269c598e8f7 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Fri, 27 Oct 2023 12:36:26 -0700 Subject: [PATCH 13/42] fix(package.json): update 'make' script to use local script --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f82d5a5afe..c295598c12 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "scripts": { "type-check": "tsc --noEmit", "dev": "npx tsc -p tsconfig.node.json && node src/build/copy-to-dist.js", - "make": "make -C ../../.. snarkyjs", + "make": "./src/bindings/scripts/update-snarkyjs-bindings.sh", "make:no-types": "npm run clean && make -C ../../.. snarkyjs_no_types", "bindings": "cd ../../.. && ./scripts/update-snarkyjs-bindings.sh && cd src/lib/snarkyjs", "build": "node src/build/copy-artifacts.js && rimraf ./dist/node && npm run dev && node src/build/buildNode.js", From b278770916ae7cee6076b7361354e6949ab4f5f3 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Fri, 27 Oct 2023 12:36:57 -0700 Subject: [PATCH 14/42] fix(tsconfig.json): add './src/mina' to exclude list to prevent unnecessary compilation of mina directory --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index 268b0f8b3a..367f1cc41d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "include": ["./src/**/*.ts"], - "exclude": ["./src/**/*.bc.js", "./src/build", "./src/examples"], + "exclude": ["./src/**/*.bc.js", "./src/build", "./src/examples", "./src/mina"], "compilerOptions": { "rootDir": "./src", "outDir": "dist", From 750451fce1a79aae24d4361c91e1fcc4516aac60 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Fri, 27 Oct 2023 16:47:05 -0700 Subject: [PATCH 15/42] feat(jest.config.js): add 'src/mina/' to modulePathIgnorePatterns to prevent Jest from running tests in this directory --- jest.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/jest.config.js b/jest.config.js index b24c895d96..7f6d944074 100644 --- a/jest.config.js +++ b/jest.config.js @@ -3,6 +3,7 @@ export default { testEnvironment: 'node', extensionsToTreatAsEsm: ['.ts'], transformIgnorePatterns: ['node_modules/', 'dist/node/'], + modulePathIgnorePatterns: ['src/mina/'], globals: { 'ts-jest': { useESM: true, From 0c242033d8793ab8bf06e07d1fea45aeea1a3eaa Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Sun, 29 Oct 2023 10:42:24 -0700 Subject: [PATCH 16/42] feat(run-jest-tests.sh): add condition to exclude 'src/mina' from jest tests This change is temporary until 'snarkyjs' is removed from the mina repo. --- run-jest-tests.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/run-jest-tests.sh b/run-jest-tests.sh index d103274798..f034d80158 100755 --- a/run-jest-tests.sh +++ b/run-jest-tests.sh @@ -3,5 +3,8 @@ set -e shopt -s globstar # to expand '**' into nested directories for f in ./src/**/*.test.ts; do - NODE_OPTIONS=--experimental-vm-modules npx jest $f; -done + # TODO: Remove this once we remove the `snarkyjs` inside the mina repo + if [[ $f != *"src/mina"* ]]; then + NODE_OPTIONS=--experimental-vm-modules npx jest $f; + fi +done \ No newline at end of file From db7ccba2b0b22a189751eb004ef2fd6236fea1f4 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Sun, 29 Oct 2023 20:22:32 -0700 Subject: [PATCH 17/42] feat(README-dev): first draft --- README-dev.md | 127 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 93 insertions(+), 34 deletions(-) diff --git a/README-dev.md b/README-dev.md index 2276795050..602e24e0e2 100644 --- a/README-dev.md +++ b/README-dev.md @@ -1,74 +1,133 @@ +<<<<<<< HEAD # How to contribute to the SnarkyJS codebase This README includes information that is helpful for SnarkyJS core contributors. +======= +# o1js README-dev -## Run examples using Node.js +o1js is a TypeScript framework designed for zk-SNARKs and zkApps on the Mina blockchain. +>>>>>>> e3c20452a... feat(README-dev): first draft + +- [zkApps Overview](https://docs.minaprotocol.com/zkapps) +- [Mina README](/src/mina/README.md) + +For more information on our development process and how to contribute, see [CONTRIBUTING.md](https://github.com/o1-labs/o1js/blob/main/CONTRIBUTING.md). This document is meant to guide you through building o1js from source and understanding the development workflow. + +## Prerequisites + +Before starting, ensure you have the following tools installed: + +- [Git](https://git-scm.com/) +- [Node.js and npm](https://nodejs.org/) +- [opam](https://opam.ocaml.org/) +- [Cargo](https://www.rust-lang.org/learn/get-started) + +After cloning the repository, you need to fetch the submodules: + +```sh +git submodule update --init --recursive +``` + +## Building o1js + +For most users, building o1js is as simple as running: ```sh npm install npm run build - -./run src/examples/api_exploration.ts ``` -## Build and run the web version +This will compile the TypeScript source files, making it ready for use. The compiled OCaml and WebAssembly artifacts are version-controlled to simplify the build process for end-users. These artifacts are stored under `src/bindings/compiled`, and contain the artifacts needed for both node and web builds. These files do not have to be regenerated unless there are changes to the OCaml or Rust source files. + +## Building Bindings + +If you need to regenerate the OCaml and WebAssembly artifacts, you can do so within the o1js repo. The [bindings](https://github.com/o1-labs/o1js-bindings) and [Mina](https://github.com/MinaProtocol/mina) repos are both submodules of o1js, so you can build them from within the o1js repo. + +o1js depends on OCaml code that is transplied to JavaScript using [Js_of_ocaml](https://github.com/ocsigen/js_of_ocaml), and Rust code that is transpiled to WebAssembly using [wasm-pack](https://github.com/rustwasm/wasm-pack). These artifacts allow o1js to call into [snarky](https://github.com/o1-labs/snarky) and [Kimchi](https://github.com/o1-labs/proof-systems) to write zk-SNARKs and zkApps. + +The compiled artifacts are stored under `src/bindings/compiled`, and are version-controlled to simplify the build process for end-users. + +If you wish to rebuild the OCaml and Rust artifacts, you must be able to build the Mina repo before building the bindings. See the [Mina Dev Readme](https://github.com/MinaProtocol/mina/blob/develop/README-dev.md) for more information. Once you have configured your environment to build Mina, you can build the bindings: ```sh -npm install -npm run build:web -npm run serve:web +npm run make ``` -To see the test running in a web browser, go to `http://localhost:8000/`. +This will build the OCaml and Rust artifacts, and copy them to the `src/bindings/compiled` directory. + +### OCaml Bindings -## Run tests +The OCaml bindings are located under `src/bindings`, and they specify all of the low-level OCaml code that is exposed to o1js. See the [OCaml Bindings README](https://github.com/o1-labs/o1js-bindings/blob/main/README.md) for more information. -- Unit tests +### WebAssembly Bindings - ```sh - npm run test - npm run test:unit - ``` +The WebAssembly bindings are built using Rust's `wasm-pack`. Ensure you have it installed and configured correctly. -- Integration tests +## Development - ```sh - npm run test:integration - ``` +### Branch Compatibility -- E2E tests +When working with submodules and various interconnected parts of the stack, ensure you are on the correct branches that are compatible with each other. - ```sh - npm install - npm run e2e:install - npm run build:web +#### How to Use the Branches - npm run e2e:prepare-server - npm run test:e2e - npm run e2e:show-report - ``` +| Repository | mina -> o1js -> o1js-bindings | +| ---------- | -------------------------------- | +| Branches | o1js-main -> main -> main | +| | berkeley -> berkeley -> berkeley | +| | develop -> develop -> develop | -## Branch Compatibility +- `o1js-main`: The o1js-main branch in the Mina repository corresponds to the main branch in both o1js and o1js-bindings repositories. This is where stable releases and ramp-up features are maintained. +- `berkeley`: The berkeley branch is maintained across all three repositories. This branch is used for features and updates specific to the Berkeley release of the project. + +<<<<<<< HEAD SnarkyJS is mostly used to write Mina Smart Contracts and must be compatible with the latest Berkeley Testnet (or soon Mainnet). The OCaml code is in the snarkyjs-bindings repository, not directly in SnarkyJS. To maintain compatibility between the repositories and build SnarkyJS from the [Mina repository](https://github.com/MinaProtocol/mina), make changes to its core, such as the OCaml-bindings in the [snarkyjs-bindings repository](https://github.com/o1-labs/snarkyjs-bindings), you must follow a certain branch compatibility pattern: +======= +- `develop`: The develop branch is also maintained across all three repositories. It is used for ongoing development, testing new features, and integration work. + +### Running Tests -The following branches are compatible: +To ensure your changes don't break existing functionality, run the test suite: +>>>>>>> e3c20452a... feat(README-dev): first draft +```sh +npm run test +npm run test:unit +``` + +<<<<<<< HEAD | repository | mina -> snarkyjs -> snarkyjs-bindings | | ---------- | ------------------------------------- | | branches | rampup -> main -> main | | | berkeley -> berkeley -> berkeley | | | develop -> develop -> develop | +======= +This will run all the unit tests and provide you with a summary of the test results. +>>>>>>> e3c20452a... feat(README-dev): first draft -## Run the GitHub actions locally +You can additionally run integration tests by running: - -You can execute the CI locally by using [act](https://github.com/nektos/act). First generate a GitHub token and use: +```sh +npm run test:integration ``` -act -j Build-And-Test-Server --matrix test_type:"Simple integration tests" -s $GITHUB_TOKEN + +Finally, we have a set of end-to-end tests that run against the browser. These tests are not run by default, but you can run them by running: + +```sh +npm install +npm run e2e:install +npm run build:web + +npm run e2e:prepare-server +npm run test:e2e +npm run e2e:show-report ``` -to execute the job "Build-And-Test-Server for the test type `Simple integration tests`. + +### Releasing + +To release a new version of o1js, you must first update the version number in `package.json`. Then, you can create a new pull request to merge your changes into the main branch. Once the pull request is merged, a CI job will automatically publish the new version to npm. From 96d07348300639ed599db7fd5afd402950cd55fb Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Mon, 13 Nov 2023 15:36:27 -0800 Subject: [PATCH 18/42] docs(README-dev.md): clarify bindings --- README-dev.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README-dev.md b/README-dev.md index 602e24e0e2..51d6cf75e5 100644 --- a/README-dev.md +++ b/README-dev.md @@ -43,7 +43,7 @@ This will compile the TypeScript source files, making it ready for use. The comp If you need to regenerate the OCaml and WebAssembly artifacts, you can do so within the o1js repo. The [bindings](https://github.com/o1-labs/o1js-bindings) and [Mina](https://github.com/MinaProtocol/mina) repos are both submodules of o1js, so you can build them from within the o1js repo. -o1js depends on OCaml code that is transplied to JavaScript using [Js_of_ocaml](https://github.com/ocsigen/js_of_ocaml), and Rust code that is transpiled to WebAssembly using [wasm-pack](https://github.com/rustwasm/wasm-pack). These artifacts allow o1js to call into [snarky](https://github.com/o1-labs/snarky) and [Kimchi](https://github.com/o1-labs/proof-systems) to write zk-SNARKs and zkApps. +o1js depends on OCaml code that is transplied to JavaScript using [Js_of_ocaml](https://github.com/ocsigen/js_of_ocaml), and Rust code that is transpiled to WebAssembly using [wasm-pack](https://github.com/rustwasm/wasm-pack). These artifacts allow o1js to call into [Pickles](https://github.com/o1-labs/snarkyhttps://github.com/MinaProtocol/mina/blob/develop/src/lib/pickles/README.md), [snarky](https://github.com/o1-labs/snarky), and [Kimchi](https://github.com/o1-labs/proof-systems) to write zk-SNARKs and zkApps. The compiled artifacts are stored under `src/bindings/compiled`, and are version-controlled to simplify the build process for end-users. @@ -57,11 +57,11 @@ This will build the OCaml and Rust artifacts, and copy them to the `src/bindings ### OCaml Bindings -The OCaml bindings are located under `src/bindings`, and they specify all of the low-level OCaml code that is exposed to o1js. See the [OCaml Bindings README](https://github.com/o1-labs/o1js-bindings/blob/main/README.md) for more information. +o1js depends on Pickles, snarky, and parts of the Mina transaction logic, all of which are compiled to JavaScript and stored as artifacts to be used by o1js natively. The OCaml bindings are located under `src/bindings`. See the [OCaml Bindings README](https://github.com/o1-labs/o1js-bindings/blob/main/README.md) for more information. ### WebAssembly Bindings -The WebAssembly bindings are built using Rust's `wasm-pack`. Ensure you have it installed and configured correctly. +o1js additionally depends on Kimchi, which is compiled to WebAssembly. Kimchi is located in the Mina repo, under `src/mina`. See the [Kimchi README](https://github.com/o1-labs/proof-systems/blob/master/README.md) for more information. ## Development From 7e9529c0685098347ee0f51233cda205b4e8e3c4 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Tue, 14 Nov 2023 12:55:13 -0800 Subject: [PATCH 19/42] refactor(run-jest-tests.sh): remove condition excluding 'src/mina' from jest tests This change was made because the 'snarkyjs' inside the mina repo has been removed, making the condition unnecessary. --- run-jest-tests.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/run-jest-tests.sh b/run-jest-tests.sh index f034d80158..b15b30d311 100755 --- a/run-jest-tests.sh +++ b/run-jest-tests.sh @@ -3,8 +3,5 @@ set -e shopt -s globstar # to expand '**' into nested directories for f in ./src/**/*.test.ts; do - # TODO: Remove this once we remove the `snarkyjs` inside the mina repo - if [[ $f != *"src/mina"* ]]; then - NODE_OPTIONS=--experimental-vm-modules npx jest $f; - fi + NODE_OPTIONS=--experimental-vm-modules npx jest $f; done \ No newline at end of file From a7aec5ad85565ff7b5bfa17afbf5e2e177d90d2f Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Tue, 14 Nov 2023 13:40:47 -0800 Subject: [PATCH 20/42] refactor: rename npm script 'make' to 'build:bindings' in package.json and README-dev.md for better clarity and consistency --- README-dev.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README-dev.md b/README-dev.md index 51d6cf75e5..41aaf1de9f 100644 --- a/README-dev.md +++ b/README-dev.md @@ -50,7 +50,7 @@ The compiled artifacts are stored under `src/bindings/compiled`, and are version If you wish to rebuild the OCaml and Rust artifacts, you must be able to build the Mina repo before building the bindings. See the [Mina Dev Readme](https://github.com/MinaProtocol/mina/blob/develop/README-dev.md) for more information. Once you have configured your environment to build Mina, you can build the bindings: ```sh -npm run make +npm run build:bindings ``` This will build the OCaml and Rust artifacts, and copy them to the `src/bindings/compiled` directory. diff --git a/package.json b/package.json index c295598c12..f6f3bd8c4a 100644 --- a/package.json +++ b/package.json @@ -45,10 +45,10 @@ "scripts": { "type-check": "tsc --noEmit", "dev": "npx tsc -p tsconfig.node.json && node src/build/copy-to-dist.js", - "make": "./src/bindings/scripts/update-snarkyjs-bindings.sh", "make:no-types": "npm run clean && make -C ../../.. snarkyjs_no_types", "bindings": "cd ../../.. && ./scripts/update-snarkyjs-bindings.sh && cd src/lib/snarkyjs", "build": "node src/build/copy-artifacts.js && rimraf ./dist/node && npm run dev && node src/build/buildNode.js", + "build:bindings": "./src/bindings/scripts/update-snarkyjs-bindings.sh", "build:test": "npx tsc -p tsconfig.test.json && cp src/snarky.d.ts dist/node/snarky.d.ts", "build:node": "npm run build", "build:web": "rimraf ./dist/web && node src/build/buildWeb.js", From 11d8a64c973c35d382167dbbd82017227122161d Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Tue, 14 Nov 2023 13:58:50 -0800 Subject: [PATCH 21/42] fix(.prettierignore): update path for kimchi js files to reflect new directory structure, ensuring correct files are ignored by Prettier --- .prettierignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.prettierignore b/.prettierignore index 099c3fecca..fe67df0c2c 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,4 +2,4 @@ src/bindings/compiled/web_bindings/**/plonk_wasm* src/bindings/compiled/web_bindings/**/*.bc.js src/bindings/compiled/node_bindings/* dist/**/* -src/bindings/kimchi/js/**/*.js +src/mina/src/lib/crypto/kimchi/js/**/*.js From b6ecded32266e9340fda83f3b4df10c9795cb7d4 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Wed, 15 Nov 2023 11:20:47 -0800 Subject: [PATCH 22/42] docs(README-dev.md): update build instructions and add details about build scripts - Replace opam with Dune in the list of required tools to reflect changes in the build process - Add a new section about build scripts, explaining the role of update-snarkyjs-bindings.sh - Expand on the OCaml bindings section, detailing the use of Dune and Js_of_ocaml in the build process - Add information about the WebAssembly bindings build process, including the output files - Introduce a section about generated constant types, explaining how they are created and their role in ensuring protocol consistency --- README-dev.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/README-dev.md b/README-dev.md index 41aaf1de9f..69ec6c7d61 100644 --- a/README-dev.md +++ b/README-dev.md @@ -19,7 +19,7 @@ Before starting, ensure you have the following tools installed: - [Git](https://git-scm.com/) - [Node.js and npm](https://nodejs.org/) -- [opam](https://opam.ocaml.org/) +- [Dune](https://github.com/ocaml/dune) - [Cargo](https://www.rust-lang.org/learn/get-started) After cloning the repository, you need to fetch the submodules: @@ -55,14 +55,35 @@ npm run build:bindings This will build the OCaml and Rust artifacts, and copy them to the `src/bindings/compiled` directory. +### Build Scripts + +The root build script which kicks off the build process is under `src/bindings/scripts/update-snarkyjs-bindings.sh`. This script is responsible for building the Node.js and web artifacts for o1js, and places them under `src/bindings/compiled`, to be used by o1js. + ### OCaml Bindings o1js depends on Pickles, snarky, and parts of the Mina transaction logic, all of which are compiled to JavaScript and stored as artifacts to be used by o1js natively. The OCaml bindings are located under `src/bindings`. See the [OCaml Bindings README](https://github.com/o1-labs/o1js-bindings/blob/main/README.md) for more information. +To compile the OCaml code, a build tool called Dune is used. Dune is a build system for OCaml projects, and is used in addition with Js_of_ocaml to compile the OCaml code to JavaScript. The dune file that is responsible for compiling the OCaml code is located under `src/bindings/ocaml/dune`. There are two build targets: `snarky_js_node` and `snarky_js_web`, which compile the Mina dependencies as well as link the wasm artifacts to build the Node.js and web artifacts, respectively. The output file is `snark_js_node.bc.js`, which is used by o1js. + ### WebAssembly Bindings o1js additionally depends on Kimchi, which is compiled to WebAssembly. Kimchi is located in the Mina repo, under `src/mina`. See the [Kimchi README](https://github.com/o1-labs/proof-systems/blob/master/README.md) for more information. +To compile the wasm code, a combination of Cargo and Dune is used. Both build files are located under `src/mina/src/lib/crypto/kimchi`, where the `wasm` folder contains the Rust code which is compiled to wasm, and the `js` folder which contains a wrapper around the wasm code which allows Js_of_ocaml to compile against the wasm backend. + +For the wasm build, the output files are: + +- `plonk_wasm_bg.wasm.d.ts`: TypeScript definition files describing the types of .wasm or .js files. +- `plonk_wasm.d.ts`: TypeScript definition file for plonk_wasm.js. +- `plonk_wasm_bg.wasm`: The compiled WebAssembly binary. +- `plonk_wasm.js`: JavaScript file that wraps the WASM code for use in Node.js. + +### Generated Constant Types + +In addition to building the OCaml and Rust code, the build script also generates TypeScript types for constants used in the Mina protocol. These types are generated from the OCaml source files, and are located under `src/bindings/crypto/constants.ts` and `src/bindings/mina-transaction/gen`. When building the bindings, these constants are auto-generated by Dune. If you wish to add a new constant, you can edit the `src/bindings/ocaml/snarky_js_constants` file, and then run `npm run build:bindings` to regenerate the TypeScript files. + +These types are used by o1js to ensure that the constants used in the protocol are consistent with the OCaml source files. + ## Development ### Branch Compatibility From ccc927bf46db2cdc7f796ae3ea968876aee39ce4 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Wed, 13 Dec 2023 09:33:00 -0800 Subject: [PATCH 23/42] fix(README-dev.md): specify info for installing deps Co-authored-by: Gregor Mitscha-Baude --- README-dev.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README-dev.md b/README-dev.md index 69ec6c7d61..777b318912 100644 --- a/README-dev.md +++ b/README-dev.md @@ -19,8 +19,8 @@ Before starting, ensure you have the following tools installed: - [Git](https://git-scm.com/) - [Node.js and npm](https://nodejs.org/) -- [Dune](https://github.com/ocaml/dune) -- [Cargo](https://www.rust-lang.org/learn/get-started) +- [Dune](https://github.com/ocaml/dune) (only needed when compiling o1js from source) +- [Cargo](https://www.rust-lang.org/learn/get-started) (only needed when compiling o1js from source) After cloning the repository, you need to fetch the submodules: From f3c5a81cf51a16c2d5bc7201cc4ee5d90daae687 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Wed, 13 Dec 2023 09:33:18 -0800 Subject: [PATCH 24/42] feat(README-dev.md): spelling mistake Co-authored-by: Gregor Mitscha-Baude --- README-dev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-dev.md b/README-dev.md index 777b318912..1eeb402e4a 100644 --- a/README-dev.md +++ b/README-dev.md @@ -43,7 +43,7 @@ This will compile the TypeScript source files, making it ready for use. The comp If you need to regenerate the OCaml and WebAssembly artifacts, you can do so within the o1js repo. The [bindings](https://github.com/o1-labs/o1js-bindings) and [Mina](https://github.com/MinaProtocol/mina) repos are both submodules of o1js, so you can build them from within the o1js repo. -o1js depends on OCaml code that is transplied to JavaScript using [Js_of_ocaml](https://github.com/ocsigen/js_of_ocaml), and Rust code that is transpiled to WebAssembly using [wasm-pack](https://github.com/rustwasm/wasm-pack). These artifacts allow o1js to call into [Pickles](https://github.com/o1-labs/snarkyhttps://github.com/MinaProtocol/mina/blob/develop/src/lib/pickles/README.md), [snarky](https://github.com/o1-labs/snarky), and [Kimchi](https://github.com/o1-labs/proof-systems) to write zk-SNARKs and zkApps. +o1js depends on OCaml code that is transpiled to JavaScript using [Js_of_ocaml](https://github.com/ocsigen/js_of_ocaml), and Rust code that is transpiled to WebAssembly using [wasm-pack](https://github.com/rustwasm/wasm-pack). These artifacts allow o1js to call into [Pickles](https://github.com/o1-labs/snarkyhttps://github.com/MinaProtocol/mina/blob/develop/src/lib/pickles/README.md), [snarky](https://github.com/o1-labs/snarky), and [Kimchi](https://github.com/o1-labs/proof-systems) to write zk-SNARKs and zkApps. The compiled artifacts are stored under `src/bindings/compiled`, and are version-controlled to simplify the build process for end-users. From 74e2d599bb0b5c81709d3192d9b5e96f9044e6c7 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Wed, 13 Dec 2023 09:33:30 -0800 Subject: [PATCH 25/42] Update README-dev.md Co-authored-by: Gregor Mitscha-Baude --- README-dev.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README-dev.md b/README-dev.md index 1eeb402e4a..85b2979f37 100644 --- a/README-dev.md +++ b/README-dev.md @@ -73,10 +73,10 @@ To compile the wasm code, a combination of Cargo and Dune is used. Both build fi For the wasm build, the output files are: -- `plonk_wasm_bg.wasm.d.ts`: TypeScript definition files describing the types of .wasm or .js files. -- `plonk_wasm.d.ts`: TypeScript definition file for plonk_wasm.js. - `plonk_wasm_bg.wasm`: The compiled WebAssembly binary. +- `plonk_wasm_bg.wasm.d.ts`: TypeScript definition files describing the types of .wasm or .js files. - `plonk_wasm.js`: JavaScript file that wraps the WASM code for use in Node.js. +- `plonk_wasm.d.ts`: TypeScript definition file for plonk_wasm.js. ### Generated Constant Types From f410f1d6e8546bc8812e5ebc1300ebc59addb7e8 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Wed, 13 Dec 2023 09:53:05 -0800 Subject: [PATCH 26/42] refactor(package.json): streamline script commands for better readability and maintainability feat(package.json): add new build commands for bindings, update-bindings, and wasm chore(src/bindings): update subproject commit hash for latest changes --- package.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index f6f3bd8c4a..ebb2d0a3e8 100644 --- a/package.json +++ b/package.json @@ -45,10 +45,15 @@ "scripts": { "type-check": "tsc --noEmit", "dev": "npx tsc -p tsconfig.node.json && node src/build/copy-to-dist.js", +<<<<<<< HEAD "make:no-types": "npm run clean && make -C ../../.. snarkyjs_no_types", "bindings": "cd ../../.. && ./scripts/update-snarkyjs-bindings.sh && cd src/lib/snarkyjs", +======= +>>>>>>> cb6190dfa... refactor(package.json): streamline script commands for better readability and maintainability "build": "node src/build/copy-artifacts.js && rimraf ./dist/node && npm run dev && node src/build/buildNode.js", - "build:bindings": "./src/bindings/scripts/update-snarkyjs-bindings.sh", + "build:bindings": "./src/bindings/scripts/build-snarkyjs-node.sh", + "build:update-bindings": "./src/bindings/scripts/update-snarkyjs-bindings.sh", + "build:wasm": "./src/bindings/scripts/update-wasm-and-types.sh", "build:test": "npx tsc -p tsconfig.test.json && cp src/snarky.d.ts dist/node/snarky.d.ts", "build:node": "npm run build", "build:web": "rimraf ./dist/web && node src/build/buildWeb.js", From 9b6561accc5468991f0251107661f49f17f04568 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Wed, 13 Dec 2023 11:00:53 -0800 Subject: [PATCH 27/42] feat(mina): add new submodule 'mina' to enhance project functionality --- .gitmodules | 3 +++ src/mina | 1 + 2 files changed, 4 insertions(+) create mode 160000 src/mina diff --git a/.gitmodules b/.gitmodules index b343059624..76a36100bc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "src/snarkyjs-bindings"] path = src/bindings url = https://github.com/o1-labs/snarkyjs-bindings.git +[submodule "src/mina"] + path = src/mina + url = https://github.com/MinaProtocol/mina.git diff --git a/src/mina b/src/mina new file mode 160000 index 0000000000..4b2ffbc0eb --- /dev/null +++ b/src/mina @@ -0,0 +1 @@ +Subproject commit 4b2ffbc0eb8d9566b38f0deac93747b03586b0c4 From acb2f8dc8c3ec11172087ba9c3f512fb8a833cc5 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Wed, 13 Dec 2023 11:01:25 -0800 Subject: [PATCH 28/42] refactor(package.json): remove merge conflict markers and redundant script commands for better readability and maintainability --- package.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/package.json b/package.json index ebb2d0a3e8..71787f8b3a 100644 --- a/package.json +++ b/package.json @@ -45,11 +45,6 @@ "scripts": { "type-check": "tsc --noEmit", "dev": "npx tsc -p tsconfig.node.json && node src/build/copy-to-dist.js", -<<<<<<< HEAD - "make:no-types": "npm run clean && make -C ../../.. snarkyjs_no_types", - "bindings": "cd ../../.. && ./scripts/update-snarkyjs-bindings.sh && cd src/lib/snarkyjs", -======= ->>>>>>> cb6190dfa... refactor(package.json): streamline script commands for better readability and maintainability "build": "node src/build/copy-artifacts.js && rimraf ./dist/node && npm run dev && node src/build/buildNode.js", "build:bindings": "./src/bindings/scripts/build-snarkyjs-node.sh", "build:update-bindings": "./src/bindings/scripts/update-snarkyjs-bindings.sh", From 097fb2eb6dc44c112f07e39922e599862e386d7e Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Wed, 13 Dec 2023 12:26:06 -0800 Subject: [PATCH 29/42] chore(bindings, mina): update submodules to latest commits for up-to-date functionalities and bug fixes --- src/bindings | 2 +- src/mina | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bindings b/src/bindings index 285d40ffe3..f5fa4cabe5 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 285d40ffe37f8e4f73199080ba113d515b83861e +Subproject commit f5fa4cabe536014af4c3ad00700f1b267d4956e3 diff --git a/src/mina b/src/mina index 4b2ffbc0eb..4c9d45ce46 160000 --- a/src/mina +++ b/src/mina @@ -1 +1 @@ -Subproject commit 4b2ffbc0eb8d9566b38f0deac93747b03586b0c4 +Subproject commit 4c9d45ce46afd65ff18dc5f3ff8648cd87c9c697 From 78452c4f317b2f53cc7c6d29d61b0e27f0ed0159 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Thu, 14 Dec 2023 10:24:27 -0800 Subject: [PATCH 30/42] Update package.json Co-authored-by: Gregor Mitscha-Baude --- package.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/package.json b/package.json index 33d4096bc4..c4e1c73dbf 100644 --- a/package.json +++ b/package.json @@ -42,14 +42,11 @@ "node": ">=16.4.0" }, "scripts": { - "type-check": "tsc --noEmit", - "dev": "npx tsc -p tsconfig.node.json && node src/build/copy-to-dist.js", + "dev": "npx tsc -p tsconfig.test.json && node src/build/copy-to-dist.js", "build": "node src/build/copy-artifacts.js && rimraf ./dist/node && npm run dev && node src/build/buildNode.js", "build:bindings": "./src/bindings/scripts/build-snarkyjs-node.sh", "build:update-bindings": "./src/bindings/scripts/update-snarkyjs-bindings.sh", "build:wasm": "./src/bindings/scripts/update-wasm-and-types.sh", - "build:test": "npx tsc -p tsconfig.test.json && cp src/snarky.d.ts dist/node/snarky.d.ts", - "build:node": "npm run build", "build:web": "rimraf ./dist/web && node src/build/buildWeb.js", "build:examples": "rimraf ./dist/examples && npx tsc -p tsconfig.examples.json || exit 0", "build:docs": "npx typedoc", From 0977aceb7e2255354aba71390b588b1c2a2a8d96 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Thu, 14 Dec 2023 10:26:21 -0800 Subject: [PATCH 31/42] style(run-jest-tests.sh): add newline at end of file to comply with POSIX standards --- run-jest-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run-jest-tests.sh b/run-jest-tests.sh index 279218575d..54b84b73c5 100755 --- a/run-jest-tests.sh +++ b/run-jest-tests.sh @@ -4,4 +4,4 @@ shopt -s globstar # to expand '**' into nested directories for f in ./src/**/*.test.ts; do NODE_OPTIONS=--experimental-vm-modules npx jest $f; -done \ No newline at end of file +done From 244924aab9cff2dde270df1c7636cf549b0adf04 Mon Sep 17 00:00:00 2001 From: Martin Minkov Date: Thu, 14 Dec 2023 10:45:41 -0800 Subject: [PATCH 32/42] Revert "Update package.json" This reverts commit 78452c4f317b2f53cc7c6d29d61b0e27f0ed0159. --- package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c4e1c73dbf..33d4096bc4 100644 --- a/package.json +++ b/package.json @@ -42,11 +42,14 @@ "node": ">=16.4.0" }, "scripts": { - "dev": "npx tsc -p tsconfig.test.json && node src/build/copy-to-dist.js", + "type-check": "tsc --noEmit", + "dev": "npx tsc -p tsconfig.node.json && node src/build/copy-to-dist.js", "build": "node src/build/copy-artifacts.js && rimraf ./dist/node && npm run dev && node src/build/buildNode.js", "build:bindings": "./src/bindings/scripts/build-snarkyjs-node.sh", "build:update-bindings": "./src/bindings/scripts/update-snarkyjs-bindings.sh", "build:wasm": "./src/bindings/scripts/update-wasm-and-types.sh", + "build:test": "npx tsc -p tsconfig.test.json && cp src/snarky.d.ts dist/node/snarky.d.ts", + "build:node": "npm run build", "build:web": "rimraf ./dist/web && node src/build/buildWeb.js", "build:examples": "rimraf ./dist/examples && npx tsc -p tsconfig.examples.json || exit 0", "build:docs": "npx typedoc", From 6c6e466360a10456bef8558784a94e757f82d56e Mon Sep 17 00:00:00 2001 From: Gregor Date: Tue, 19 Dec 2023 15:49:01 +0100 Subject: [PATCH 33/42] bindings --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index 4aa040e262..e9dac8627d 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 4aa040e26248696114eea50f6cae363351815f5e +Subproject commit e9dac8627d7318d4b0c858b552483db45134709f From e91e0b08a4d4da10ac2dcb985ae613cc277e92d0 Mon Sep 17 00:00:00 2001 From: Gregor Date: Tue, 19 Dec 2023 15:54:47 +0100 Subject: [PATCH 34/42] trigger CI --- src/lib/field.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/field.ts b/src/lib/field.ts index 891390619d..a46c00b840 100644 --- a/src/lib/field.ts +++ b/src/lib/field.ts @@ -280,7 +280,7 @@ class Field { } /** - * Add a "field-like" value to this {@link Field} element. + * Add a field-like value to this {@link Field} element. * * @example * ```ts From 87815784f4997e97edb503d5dbc9fb8b424431b1 Mon Sep 17 00:00:00 2001 From: Gregor Date: Tue, 19 Dec 2023 18:30:43 +0100 Subject: [PATCH 35/42] bump submodules --- .prettierignore | 1 - src/bindings | 2 +- src/mina | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.prettierignore b/.prettierignore index fe67df0c2c..c3f051e6bb 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,4 +2,3 @@ src/bindings/compiled/web_bindings/**/plonk_wasm* src/bindings/compiled/web_bindings/**/*.bc.js src/bindings/compiled/node_bindings/* dist/**/* -src/mina/src/lib/crypto/kimchi/js/**/*.js diff --git a/src/bindings b/src/bindings index f5fa4cabe5..863867bd1e 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit f5fa4cabe536014af4c3ad00700f1b267d4956e3 +Subproject commit 863867bd1e987590bd9ff44059c48dee2bbc7b6d diff --git a/src/mina b/src/mina index 4c9d45ce46..a681b130eb 160000 --- a/src/mina +++ b/src/mina @@ -1 +1 @@ -Subproject commit 4c9d45ce46afd65ff18dc5f3ff8648cd87c9c697 +Subproject commit a681b130eb1c11817fcea241c0c003ce36950c2b From e76b97f6fc780e693b8240317793ab3cb20b7bb2 Mon Sep 17 00:00:00 2001 From: Gregor Date: Wed, 20 Dec 2023 13:08:13 +0100 Subject: [PATCH 36/42] submodules --- src/bindings | 2 +- src/mina | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bindings b/src/bindings index d93087e42e..fd92331289 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit d93087e42e15beb18890f53584c38cb3ceac7c8a +Subproject commit fd923312894b408704916e65e26706bbc7def62a diff --git a/src/mina b/src/mina index 6acef0df1d..8cb46511e6 160000 --- a/src/mina +++ b/src/mina @@ -1 +1 @@ -Subproject commit 6acef0df1de82410f4932853b570f778701c09cf +Subproject commit 8cb46511e61d0d15bb70a6e819dcdde0b84d97ad From 3fa0a45f6d0bc4b1e8f9fd5c11d1215fe3680f8a Mon Sep 17 00:00:00 2001 From: Gregor Date: Wed, 20 Dec 2023 15:08:53 +0100 Subject: [PATCH 37/42] make hello world contract deterministic --- src/examples/zkapps/hello_world/hello_world.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/examples/zkapps/hello_world/hello_world.ts b/src/examples/zkapps/hello_world/hello_world.ts index 4ccd77bdd9..77eb191d9d 100644 --- a/src/examples/zkapps/hello_world/hello_world.ts +++ b/src/examples/zkapps/hello_world/hello_world.ts @@ -1,6 +1,8 @@ import { Field, PrivateKey, SmartContract, State, method, state } from 'o1js'; -export const adminPrivateKey = PrivateKey.random(); +export const adminPrivateKey = PrivateKey.fromBase58( + 'EKFcef5HKXAn7V2rQntLiXtJr15dkxrsrQ1G4pnYemhMEAWYbkZW' +); export const adminPublicKey = adminPrivateKey.toPublicKey(); export class HelloWorld extends SmartContract { From 5b9fa631a2882723a8977ffd9274737ac17d11ac Mon Sep 17 00:00:00 2001 From: Gregor Date: Mon, 18 Dec 2023 09:02:39 +0100 Subject: [PATCH 38/42] gitignore temp files added during build --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 8f62404233..78d26c7d8a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ profiling.md o1js-reference *.tmp.js _build/ +src/config/ +src/config.mlh From 4ad3ae8e756ad628ed46565dbf17dbbef8fb7947 Mon Sep 17 00:00:00 2001 From: Gregor Date: Mon, 8 Jan 2024 11:39:23 +0100 Subject: [PATCH 39/42] bindings --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index 863867bd1e..9910553ff7 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 863867bd1e987590bd9ff44059c48dee2bbc7b6d +Subproject commit 9910553ff7746a8b13100ba6cf34eb7749f03226 From f06284493a86d70659ca41f7ae6acb33f64e0b50 Mon Sep 17 00:00:00 2001 From: Gregor Date: Thu, 11 Jan 2024 15:49:42 +0100 Subject: [PATCH 40/42] bindings --- src/bindings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings b/src/bindings index 4b6d70b9b4..1db0524c5c 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 4b6d70b9b47c08396e4965ca0cba2c194c944d01 +Subproject commit 1db0524c5c7c93f0df9db3fb3bdfa0414bdaf90b From 253f4e2ac6b99df46c6da7cdd50dd3a0755c4d14 Mon Sep 17 00:00:00 2001 From: Mikhail Volkhov Date: Fri, 12 Jan 2024 14:41:28 +0000 Subject: [PATCH 41/42] Update mina dependency --- src/mina | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mina b/src/mina index 5a4e6cf36c..2e1ea42105 160000 --- a/src/mina +++ b/src/mina @@ -1 +1 @@ -Subproject commit 5a4e6cf36c153bc292fc6f6ed7710ae19b6d2e4d +Subproject commit 2e1ea42105b95cc981b9869b75b324262a3378e7 From bfeb09ec6ef4be29cea8ebee193f065c92c23fed Mon Sep 17 00:00:00 2001 From: Mikhail Volkhov Date: Wed, 21 Feb 2024 14:22:49 +0100 Subject: [PATCH 42/42] Update mina and bindings --- src/bindings | 2 +- src/mina | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bindings b/src/bindings index 38d41cbe78..bfd6360b3f 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit 38d41cbe782ca962bd60563b638d74e3f1134dd9 +Subproject commit bfd6360b3f2b7351ff2087a2eb8b1096ac513ea2 diff --git a/src/mina b/src/mina index 96453589a3..4db3fb7e8d 160000 --- a/src/mina +++ b/src/mina @@ -1 +1 @@ -Subproject commit 96453589a34653d5f6d54a2c56458b88e459f35f +Subproject commit 4db3fb7e8dc949f51d5d64f9bc8a78c483750c24