Skip to content

Commit 6d3012e

Browse files
committed
Merge branch 'feature/declare-proofs' into feature/zkprogram-qol
2 parents db8a120 + 0d04ccc commit 6d3012e

26 files changed

+943
-193
lines changed

.github/workflows/build-action.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,13 +301,25 @@ jobs:
301301
run: |
302302
npm ci
303303
npm run prepublishOnly
304+
304305
- name: Publish to NPM if version has changed
306+
id: publish
305307
uses: JS-DevTools/npm-publish@v3
306308
with:
307309
token: ${{ secrets.NPM_TOKEN }}
308310
strategy: upgrade
309311
env:
310312
INPUT_TOKEN: ${{ secrets.NPM_TOKEN }}
313+
314+
- name: Tag new version
315+
if: ${{ steps.publish.outputs.type }} # https://github.com/JS-DevTools/npm-publish?tab=readme-ov-file#action-output
316+
env:
317+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
318+
RELEASED_VERSION: ${{ steps.publish.outputs.version }}
319+
run: |
320+
git tag $RELEASED_VERSION
321+
git push origin $RELEASED_VERSION
322+
311323
312324
Release-mina-signer-on-NPM:
313325
if: github.ref == 'refs/heads/main'

.github/workflows/build-bindings.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,15 @@ jobs:
2727
run: |
2828
set -Eeu
2929
./pin.sh
30-
nix develop o1js --command bash -c "npm run build:update-bindings"
30+
nix run o1js#update-bindings --max-jobs 4
31+
#fail if this changes any files
32+
cd src/bindings
33+
git diff --exit-code
34+
- name: add build to gc-root if on main
35+
if: github.ref == 'refs/heads/main'
36+
run: |
37+
nix build o1js#o1js-bindings --out-link /home/app/actions-runner/nix-cache/main-bindings-gcroot
3138
- name: Cleanup the Nix store
3239
run: |
33-
nix-env --delete-generations old
34-
nix-collect-garbage -d --quiet
3540
nix-store --gc --print-dead
3641
nix-store --optimise

.github/workflows/release.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,6 @@ jobs:
5858
git add CHANGELOG.md
5959
git commit -m "Update CHANGELOG for new version $NEW_VERSION"
6060
61-
- name: Delete existing release tag
62-
run: |
63-
if git rev-parse $NEW_VERSION >/dev/null 2>&1; then
64-
git tag -d $NEW_VERSION
65-
git push origin :refs/tags/$NEW_VERSION
66-
fi
67-
6861
- name: Delete existing release branch
6962
run: |
7063
if git ls-remote --heads origin release/${NEW_VERSION} | grep release/${NEW_VERSION}; then

CHANGELOG.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,20 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
1515
_Security_ in case of vulnerabilities.
1616
-->
1717

18-
## [Unreleased](https://github.com/o1-labs/o1js/compare/e1bac02...HEAD)
18+
## [Unreleased](https://github.com/o1-labs/o1js/compare/b857516...HEAD)
19+
20+
## [2.2.0](https://github.com/o1-labs/o1js/compare/e1bac02...b857516) - 2024-12-10
1921

2022
### Added
2123

24+
- `ZkProgram` to support non-pure provable types as inputs and outputs https://github.com/o1-labs/o1js/pull/1828
2225
- API for recursively proving a ZkProgram method from within another https://github.com/o1-labs/o1js/pull/1931
23-
- `program.proveRecursively.<methodName>(...args): Promise<PublicOutput>`
26+
- `let recursive = Experimental.Recursive(program); recursive.<methodName>(...args): Promise<PublicOutput>`
2427
- This also works within the same program, as long as the return value is type-annotated
2528
- Add `enforceTransactionLimits` parameter on Network https://github.com/o1-labs/o1js/issues/1910
2629
- Method for optional types to assert none https://github.com/o1-labs/o1js/pull/1922
30+
- Increased maximum supported amount of methods in a `SmartContract` or `ZkProgram` to 30. https://github.com/o1-labs/o1js/pull/1918
31+
- Expose low-level conversion methods `Proof.{_proofToBase64,_proofFromBase64}` https://github.com/o1-labs/o1js/pull/1928
2732

2833
### Fixed
2934

@@ -65,7 +70,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
6570
- `divMod64()` division modulo 2^64 that returns the remainder and quotient of the operation
6671
- `addMod64()` addition modulo 2^64
6772
- Bitwise OR via `{UInt32, UInt64}.or()`
68-
- **BLAKE2B hash function** gadget [#1285](https://github.com/o1-labs/o1js/pull/1285)
73+
- **BLAKE2B hash function** gadget. https://github.com/o1-labs/o1js/pull/1767
6974

7075
## [1.9.1](https://github.com/o1-labs/o1js/compare/f15293a69...7e9394) - 2024-10-15
7176

README-dev.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ Before starting, ensure you have the following tools installed:
1515

1616
- [Git](https://git-scm.com/)
1717
- [Node.js and npm](https://nodejs.org/)
18-
- [Dune](https://github.com/ocaml/dune) (only needed when compiling o1js from source)
19-
- [Cargo](https://www.rust-lang.org/learn/get-started) (only needed when compiling o1js from source)
18+
- [Dune, ocamlc, opam](https://github.com/ocaml/dune) (only needed when compiling o1js from source)
19+
- [Cargo, rustup](https://www.rust-lang.org/learn/get-started) (only needed when compiling o1js from source)
2020

2121
After cloning the repository, you need to fetch the submodules:
2222

0 commit comments

Comments
 (0)