Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge main to develop #1455

Merged
merged 602 commits into from
Feb 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
602 commits
Select commit Hold shift + click to select a range
d99fceb
Merge pull request #1377 from o1-labs/feature/hashed-provable
mitschabaude Feb 1, 2024
687891a
revert rename which became unnecessary
mitschabaude Feb 1, 2024
1a4bd8a
bindings
mitschabaude Feb 1, 2024
cfc8172
more renaming
mitschabaude Feb 1, 2024
d1f87be
add popIf and doccomments
mitschabaude Feb 1, 2024
c8d6bfc
improve clarity of forest iteration logic
mitschabaude Feb 1, 2024
a104c8e
Merge branch 'feature/call-forest-iterator' into tmp
mitschabaude Feb 1, 2024
085f7ab
update to new names, dump new vks
mitschabaude Feb 1, 2024
0f38354
normalize comments
mitschabaude Feb 1, 2024
1435bb5
remove unused code
mitschabaude Feb 1, 2024
943d871
remove deployZkapp
mitschabaude Feb 1, 2024
25718e0
revisit erc20 example and tweak base token contract to be more simila…
mitschabaude Feb 1, 2024
c23b64a
revert renaming towards erc20
mitschabaude Feb 1, 2024
09960d1
minor
mitschabaude Feb 1, 2024
1f46370
remove debug stuff
mitschabaude Feb 1, 2024
08f99b5
remove debug stuff
mitschabaude Feb 1, 2024
c171442
minor stuff
mitschabaude Feb 1, 2024
97cdacf
fix edge case in ecdsa unit test
mitschabaude Jan 30, 2024
c5c4c35
restructure code to fix import cycles in account_update.ts
mitschabaude Jan 30, 2024
9c74795
merge fixups
mitschabaude Feb 1, 2024
b7c9fd9
build fixup
mitschabaude Feb 1, 2024
83e0b96
fixup
mitschabaude Jan 30, 2024
b7188f4
fix import cycle mina.ts <-> zkapp.ts
mitschabaude Feb 1, 2024
bc68700
normalize comment
mitschabaude Feb 2, 2024
fea4239
Merge pull request #1399 from o1-labs/fix/ecdsa-test
mitschabaude Feb 2, 2024
4368e89
Merge pull request #1397 from cristiantroy/main
Trivo25 Feb 2, 2024
97709a6
use erc20 example for dex with actions
mitschabaude Feb 2, 2024
b593927
allow skipping dummies
mitschabaude Feb 2, 2024
4a9c05c
support skipping dummies
mitschabaude Feb 2, 2024
e6b2a4a
improve name and clean up code
mitschabaude Feb 2, 2024
b582e70
minor
mitschabaude Feb 2, 2024
36dc9a3
dump vks
mitschabaude Feb 2, 2024
e42f0d4
Merge branch 'feature/token-contract' into refactor/account-update-trees
mitschabaude Feb 2, 2024
2c52e8b
switch over how we hash calls in the circuit
mitschabaude Feb 2, 2024
40ed27a
add hint to problem
mitschabaude Feb 2, 2024
0e8aed6
fix(docs): Add backtick annotations to generic type comments
MartinMinkov Feb 2, 2024
5d8e331
Merge pull request #1403 from o1-labs/feat/fix-api-docs
MartinMinkov Feb 2, 2024
600e2ff
Merge pull request #1400 from o1-labs/fix/import-cycles
mitschabaude Feb 2, 2024
3244153
Merge branch 'berkeley' into merge/berkeley-develop-main
mitschabaude Feb 2, 2024
6f01072
bindings
mitschabaude Feb 2, 2024
69cb4aa
fix examples build
mitschabaude Feb 2, 2024
07fcbb0
fix account query
mitschabaude Feb 2, 2024
993b1da
submodule
mitschabaude Feb 2, 2024
d2d2848
dump vks
mitschabaude Feb 2, 2024
834a440
0.16.0
mitschabaude Feb 2, 2024
8caeb56
changelog
mitschabaude Feb 2, 2024
6dea1fa
changelog
mitschabaude Feb 2, 2024
2c55ad7
Merge pull request #1405 from o1-labs/merge/berkeley-develop-main
mitschabaude Feb 2, 2024
fd45ad7
simple ledger to record permissions changes throughout tx validation
mitschabaude Feb 5, 2024
dec1286
token contract unit test
mitschabaude Feb 5, 2024
1a672a5
only use internal apply on existing accounts for now
mitschabaude Feb 5, 2024
d26c792
adapt upgradability test
mitschabaude Feb 5, 2024
6212e81
simple ledger to record permissions changes throughout tx validation
mitschabaude Feb 5, 2024
c16d605
only use internal apply on existing accounts for now
mitschabaude Feb 5, 2024
191f605
adapt upgradability test
mitschabaude Feb 5, 2024
ca46087
submodules
mitschabaude Feb 5, 2024
6c9606d
don't rely on getters
mitschabaude Feb 5, 2024
dacc269
Merge branch 'main' into feature/call-forest-iterator
mitschabaude Feb 5, 2024
fbeb4ff
submodules
mitschabaude Feb 5, 2024
4703db0
fix changelog
mitschabaude Feb 5, 2024
54a6b52
Merge branch 'feature/call-forest-iterator' into feature/token-contract
mitschabaude Feb 5, 2024
516d6ce
adjust dist path in mina-signer tests. fixes for fieldToHex
robrobbins Feb 6, 2024
12774c5
changelog
mitschabaude Feb 6, 2024
82d34c3
Merge branch 'feature/token-contract' into refactor/account-update-trees
mitschabaude Feb 6, 2024
15b1b02
dump vks
mitschabaude Feb 6, 2024
1c2648c
minor
mitschabaude Feb 6, 2024
e344a31
Merge branch 'feature/token-contract' into refactor/account-update-trees
mitschabaude Feb 6, 2024
4d9bea4
Merge pull request #1369 from BorkBorked/main
Trivo25 Feb 6, 2024
9a032fc
fixup not updating unfinished forest
mitschabaude Feb 6, 2024
af6956e
adapt token contract to new hashing
mitschabaude Feb 6, 2024
755e749
add more unfinished forest helpers
mitschabaude Feb 6, 2024
ba29379
fix adaptation of token contract
mitschabaude Feb 6, 2024
a6a985a
Merge pull request #1412 from o1-labs/fix/valid-permissions
mitschabaude Feb 6, 2024
1aecab1
Merge branch 'main' into feature/call-forest-iterator
mitschabaude Feb 6, 2024
e334e0c
Merge branch 'feature/call-forest-iterator' into feature/token-contract
mitschabaude Feb 6, 2024
5f2f2d7
Merge branch 'feature/token-contract' into refactor/account-update-trees
mitschabaude Feb 6, 2024
3e533a7
minor
mitschabaude Feb 6, 2024
d69c73a
add failing unit test
mitschabaude Feb 6, 2024
765b0bd
chore(mina-signer/package.json): bump version from 2.1.2 to 3.0.0 for…
MartinMinkov Feb 6, 2024
118cc06
move smart contract context and start account update layout class
mitschabaude Feb 6, 2024
4317116
Merge pull request #1416 from o1-labs/release/mina-signer-3.0
MartinMinkov Feb 6, 2024
2bb10ac
move some of it back
mitschabaude Feb 6, 2024
521e2a5
feat(release.yml): add steps to delete existing release tag and branch
MartinMinkov Feb 6, 2024
3fe3392
Merge pull request #1417 from o1-labs/feat/delete-tag-and-branch-release
MartinMinkov Feb 6, 2024
db25335
revert mina-signer test paths to dist. add dev readme section for bui…
robrobbins Feb 6, 2024
b67432f
Apply suggestions from code review
mitschabaude Feb 6, 2024
996be22
minor
mitschabaude Feb 6, 2024
d2dd5fe
develop account update layout enough to fix unit test
mitschabaude Feb 6, 2024
c8d439a
continue expanding account update layout
mitschabaude Feb 6, 2024
b5a1317
Merge pull request #1414 from robrobbins/mina-signer-fixes
mitschabaude Feb 6, 2024
5e2b756
fixup set children
mitschabaude Feb 7, 2024
ef4b154
change name to avoid clash with ts keywored
mitschabaude Feb 7, 2024
599caca
introduce siblings to be able to disattach
mitschabaude Feb 7, 2024
43a34d5
override `instanceof`? seriously? have I become a hard-core OO progra…
mitschabaude Feb 7, 2024
54f596f
write to au layout in zkapp calls
mitschabaude Feb 7, 2024
71a4200
get from layout in token contract
mitschabaude Feb 7, 2024
4c71d09
disattach from layout in unlink
mitschabaude Feb 7, 2024
6b6b643
remove selfCalls
mitschabaude Feb 7, 2024
3884e6e
finalize layout
mitschabaude Feb 7, 2024
1ae3d64
don't store variables in aux data
mitschabaude Feb 7, 2024
f68dfcf
use layout to process zkapp calls
mitschabaude Feb 7, 2024
3778fa2
fix token test (don't use create child account update)
mitschabaude Feb 7, 2024
756ade0
dump vks
mitschabaude Feb 7, 2024
1928e17
[no children} fromFlatArray which doesn't rely on account update nesting
mitschabaude Feb 7, 2024
0f917b1
minor fix
mitschabaude Feb 7, 2024
d5ec3fb
introduce (not yet used) layout for Mina.transaction
mitschabaude Feb 7, 2024
f3e9169
match transaction.accountUpdates everywhere
mitschabaude Feb 7, 2024
f43dc3d
throw error if layout doesn't match list length
mitschabaude Feb 7, 2024
6da02d7
remove nested account updates from tx context
mitschabaude Feb 7, 2024
5c138ee
put back some code that was premature to remove
mitschabaude Feb 7, 2024
f96e6a9
[no children] remove unnecessary logic in token contract
mitschabaude Feb 7, 2024
030646e
implement to public input w/o children
mitschabaude Feb 7, 2024
09922c0
[no children] refactor recursive diff
mitschabaude Feb 7, 2024
1cbaa48
remove AccountUpdate.children
mitschabaude Feb 7, 2024
e3a66d6
some cleanup
mitschabaude Feb 7, 2024
bfa8fc9
remove obsolete method
mitschabaude Feb 7, 2024
202116e
make unfinished tree a class
mitschabaude Feb 8, 2024
a551369
move smart contract context
mitschabaude Feb 8, 2024
a4c2216
finish moving smart contract context
mitschabaude Feb 8, 2024
70302c8
play with ensuring invariants more strongly
mitschabaude Feb 8, 2024
ef9c18c
rename calls to children
mitschabaude Feb 8, 2024
c03554b
start refactoring unfinished forest
mitschabaude Feb 8, 2024
f48955a
reorder stuff
mitschabaude Feb 8, 2024
b7a74c4
tweak remove
mitschabaude Feb 8, 2024
cbc774c
better set children logic
mitschabaude Feb 8, 2024
c4b016a
completely get rid of unconstrained array after finalizing
mitschabaude Feb 8, 2024
1e6278e
cleanup, rename
mitschabaude Feb 8, 2024
ed0423b
extract tree
mitschabaude Feb 8, 2024
acbb260
minor
mitschabaude Feb 8, 2024
d437c7e
not sure if this is a good idea yet
mitschabaude Feb 8, 2024
fa935cc
refactor unfinished tree similarly
mitschabaude Feb 12, 2024
44bf6c9
fix account update create signed outside tx
mitschabaude Feb 12, 2024
0570bfb
another test case for token contract
mitschabaude Feb 12, 2024
e62be7e
approve a whole tree
mitschabaude Feb 12, 2024
ddde1de
proper type for packed/hashed.provable
mitschabaude Feb 12, 2024
fe85eb0
struct how it should be
mitschabaude Feb 12, 2024
e12edc7
make account update tree a usable class
mitschabaude Feb 12, 2024
24f9fb7
allow approving forests and some other polish
mitschabaude Feb 12, 2024
adc23a2
calls -> children
mitschabaude Feb 12, 2024
314ab5f
more explicit name for globally accessible accout update layout
mitschabaude Feb 12, 2024
e4a8729
remove unnecessary changes
mitschabaude Feb 12, 2024
aa37ee0
some code organization
mitschabaude Feb 12, 2024
694897d
fixup examples build
mitschabaude Feb 12, 2024
1cb30fa
changelog
mitschabaude Feb 12, 2024
a7b70af
support custom empty hash in merkle list
mitschabaude Feb 12, 2024
f3c1762
merkle list example that treats actions as a merkle list
mitschabaude Feb 12, 2024
8624f44
Merge pull request #1398 from o1-labs/feature/call-forest-iterator
mitschabaude Feb 12, 2024
e64c96b
Merge branch 'main' into feature/token-contract
mitschabaude Feb 12, 2024
e60b6d7
address review
mitschabaude Feb 12, 2024
b5ef432
fixup dex live test
mitschabaude Feb 12, 2024
baac0cb
Merge pull request #1384 from o1-labs/feature/token-contract
mitschabaude Feb 12, 2024
5e9e3fd
Merge branch 'main' into refactor/account-update-trees
mitschabaude Feb 12, 2024
24475dd
bump live tests timeout
mitschabaude Feb 13, 2024
9d43f86
Merge pull request #1402 from o1-labs/refactor/account-update-trees
mitschabaude Feb 13, 2024
4b78640
remove experimental callback and create-child-account-update
mitschabaude Feb 13, 2024
88e4ea6
remove "generic argument" which were only used for callbacks and coul…
mitschabaude Feb 13, 2024
ce1f241
adapt token with proofs example
mitschabaude Feb 13, 2024
138aed5
boy-scouting: token with proofs example
mitschabaude Feb 13, 2024
638ec7a
qol improvement for token transfer
mitschabaude Feb 13, 2024
ac501f5
move example to token contract
mitschabaude Feb 13, 2024
63b158c
further cleanup token example
mitschabaude Feb 13, 2024
40dc510
changelog
mitschabaude Feb 13, 2024
d7d9712
fix unit test
mitschabaude Feb 13, 2024
884a9d5
elliptic_curve
mitschabaude Feb 13, 2024
412d3ba
finite_field
mitschabaude Feb 13, 2024
9883ee2
build scripts
mitschabaude Feb 13, 2024
986796b
mina-signer
mitschabaude Feb 13, 2024
fb825c9
lib unit tests
mitschabaude Feb 13, 2024
e4c30ca
circuit_value
mitschabaude Feb 13, 2024
3bdd184
merkle tree and map
mitschabaude Feb 13, 2024
2cdfedc
proof_system
mitschabaude Feb 13, 2024
716afd6
account_update
mitschabaude Feb 13, 2024
f4e6b28
most examples
mitschabaude Feb 13, 2024
dbd7e2a
hello_world and dex
mitschabaude Feb 13, 2024
723f776
Merge pull request #1430 from o1-labs/refactor/remove-callback
mitschabaude Feb 13, 2024
a1dda36
voting
mitschabaude Feb 13, 2024
6b28285
Merge pull request #1431 from o1-labs/refactor/file-names
mitschabaude Feb 13, 2024
3b5f7c7
Missed part of the Mainnet support.
shimkiv Feb 15, 2024
ffb50a2
Changelog.
shimkiv Feb 15, 2024
91db2ce
Updated bindings pin.
shimkiv Feb 15, 2024
c998097
Updated bindings.
shimkiv Feb 15, 2024
57fbe4d
MIna-signer tests fix.
shimkiv Feb 15, 2024
2f74fdd
MIna-signer tests fix.
shimkiv Feb 15, 2024
1984c25
Additional account update hash case.
shimkiv Feb 15, 2024
1eb25ef
(WIP) Introduce the NetworkID parameter for some of the Test.hashFrom…
shimkiv Feb 15, 2024
65ea211
Tests refactoring.
shimkiv Feb 16, 2024
921c584
Bindings pin update.
shimkiv Feb 16, 2024
7d0b2ea
simplify network id hashing
Trivo25 Feb 16, 2024
b516570
simplify unit tests
Trivo25 Feb 16, 2024
f62a064
fix snarky interface
Trivo25 Feb 16, 2024
d56c092
Merge branch 'mainnet-support2' of https://github.com/o1-labs/o1js in…
Trivo25 Feb 16, 2024
ae26719
bindings
Trivo25 Feb 16, 2024
67f5882
Merge pull request #1437 from o1-labs/mainnet-support2
shimkiv Feb 16, 2024
b7b5f14
Fix for Mina-Signer exports.
shimkiv Feb 17, 2024
aa3619d
Version bump.
shimkiv Feb 17, 2024
d362809
Default export.
shimkiv Feb 17, 2024
8475a5a
Merge pull request #1442 from o1-labs/mina-signer-export
shimkiv Feb 17, 2024
401d99c
Export improvements.
shimkiv Feb 17, 2024
04d6085
add custom network id
Trivo25 Feb 17, 2024
66f0699
temp
Trivo25 Feb 17, 2024
857946d
Addressing review comments.
shimkiv Feb 18, 2024
d724468
make custom network deriver for signature
Trivo25 Feb 18, 2024
9081fb8
fix types
Trivo25 Feb 18, 2024
44070bd
refac
Trivo25 Feb 18, 2024
f4625c1
fix legacy test
Trivo25 Feb 18, 2024
eef6849
bindings
Trivo25 Feb 18, 2024
02450c4
refac derivers
Trivo25 Feb 18, 2024
33abba1
remove explicit network id declartion
Trivo25 Feb 18, 2024
90bb558
dont use deprecated function
Trivo25 Feb 18, 2024
f045991
Merge pull request #1443 from o1-labs/export-improvements
shimkiv Feb 19, 2024
3cb66fb
add optional network parameter to signature
Trivo25 Feb 19, 2024
c35b9a5
Merge branch 'main' into custom-network
Trivo25 Feb 19, 2024
105320d
changelog
Trivo25 Feb 19, 2024
90764e5
fix verify
Trivo25 Feb 19, 2024
2c3a6f2
typo
Trivo25 Feb 19, 2024
80a84cc
move token() off of account update, deprecate on smart contract
mitschabaude Feb 19, 2024
d975101
additional refactor, rename to TokenContract.internal
mitschabaude Feb 19, 2024
b721057
fix tests where immediately possible
mitschabaude Feb 19, 2024
56bd4c4
tweak comment
mitschabaude Feb 19, 2024
8f7546c
refactor dex with actions to be a token contract
mitschabaude Feb 19, 2024
7b24cc0
refactor dex to token contract
mitschabaude Feb 19, 2024
da7786e
tweak comment
mitschabaude Feb 19, 2024
f64e6cc
adapt example
mitschabaude Feb 19, 2024
cafbb52
isNew precondition
mitschabaude Feb 19, 2024
e5b2845
changelog
mitschabaude Feb 19, 2024
cd43ef7
revert sig type
Trivo25 Feb 20, 2024
1a60fd1
revert sig type
Trivo25 Feb 20, 2024
3c799af
fix build
Trivo25 Feb 20, 2024
d311e92
add NetworkID.toString
Trivo25 Feb 20, 2024
1685902
simplify
Trivo25 Feb 20, 2024
ecf67e5
cleanup
Trivo25 Feb 20, 2024
5840e76
fix tests
Trivo25 Feb 20, 2024
5b9bdcf
add check against different network hash
Trivo25 Feb 20, 2024
be96191
method to generate random keypair
mitschabaude Feb 20, 2024
1b89d81
fix token contract test
mitschabaude Feb 20, 2024
358aa27
fix dex deploy scripts to respect isNew precondition
mitschabaude Feb 20, 2024
8e9a616
changelog
mitschabaude Feb 20, 2024
71087ac
dump vks
mitschabaude Feb 20, 2024
a6a06e4
remove obsolete example
mitschabaude Feb 20, 2024
40ebf95
fixup upgradability test
mitschabaude Feb 20, 2024
6be807b
another fix
mitschabaude Feb 20, 2024
b0fb1c8
Merge pull request #1444 from o1-labs/custom-network
Trivo25 Feb 20, 2024
a5332b1
Export Mina-Signer types.
shimkiv Feb 21, 2024
88d9a70
document token contract deploy
mitschabaude Feb 21, 2024
d8079fd
minor
mitschabaude Feb 21, 2024
01614a5
link in comment
mitschabaude Feb 21, 2024
41ba6e4
Merge branch 'main' into feature/move-token-helpers
mitschabaude Feb 21, 2024
376fe57
Merge pull request #1453 from o1-labs/signer-export-types
shimkiv Feb 21, 2024
236b810
Merge pull request #1446 from o1-labs/feature/move-token-helpers
mitschabaude Feb 21, 2024
b8f3039
Merge branch 'main' into merge/main-develop-feb-24
mitschabaude Feb 21, 2024
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
3 changes: 1 addition & 2 deletions .github/actions/live-tests-shared/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,13 @@ runs:
node-version: '20'
- name: Build o1js and execute tests
env:
TEST_TYPE: 'Live integration tests'
USE_CUSTOM_LOCAL_NETWORK: 'true'
run: |
git submodule update --init --recursive
npm ci
npm run build
touch profiling.md
sh run-ci-tests.sh
bash run-ci-live-tests.sh
cat profiling.md >> $GITHUB_STEP_SUMMARY
shell: bash
- name: Upload Mina logs
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/live-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:

jobs:
main-branch:
timeout-minutes: 25
timeout-minutes: 45
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' || (github.event_name == 'pull_request' && github.base_ref == 'main')
services:
Expand All @@ -28,6 +28,7 @@ jobs:
- 5432:5432
- 8080:8080
- 8181:8181
- 8282:8282
volumes:
- /tmp:/root/logs
steps:
Expand All @@ -39,7 +40,7 @@ jobs:
mina-branch-name: o1js-main

berkeley-branch:
timeout-minutes: 25
timeout-minutes: 45
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/berkeley' || (github.event_name == 'pull_request' && github.base_ref == 'berkeley')
services:
Expand All @@ -53,6 +54,7 @@ jobs:
- 5432:5432
- 8080:8080
- 8181:8181
- 8282:8282
volumes:
- /tmp:/root/logs
steps:
Expand All @@ -64,7 +66,7 @@ jobs:
mina-branch-name: berkeley

develop-branch:
timeout-minutes: 25
timeout-minutes: 45
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/develop' || (github.event_name == 'pull_request' && github.base_ref == 'develop')
services:
Expand All @@ -78,6 +80,7 @@ jobs:
- 5432:5432
- 8080:8080
- 8181:8181
- 8282:8282
volumes:
- /tmp:/root/logs
steps:
Expand Down
30 changes: 19 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ name: Version Bump
on:
workflow_dispatch: # Allow to manually trigger the workflow
schedule:
- cron: "0 0 * * 2" # At 00:00 UTC every Tuesday
- cron: '0 0 * * 2' # At 00:00 UTC every Tuesday

jobs:
version-bump:
Expand All @@ -23,10 +23,9 @@ jobs:
- name: Check if it's an even week
run: |
WEEK_NUM=$(date +'%V')
if [ $((WEEK_NUM % 2)) -eq 0 ]; then
echo "RUN_JOB=true" >> $GITHUB_ENV
else
echo "RUN_JOB=false" >> $GITHUB_ENV
if [ $((WEEK_NUM % 2)) -ne 0 ]; then
echo "Odd week number ($WEEK_NUM), terminating job."
exit 1
fi

- name: Check out the repository
Expand All @@ -35,34 +34,43 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "18"
node-version: '18'

- name: Configure Git
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"

- name: Bump patch version
if: ${{ env.RUN_JOB }} == 'true'
run: |
git fetch --prune --unshallow
git fetch --prune --unshallow --tags --force
NEW_VERSION=$(npm version patch)
echo "New version: $NEW_VERSION"
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV

- name: Install npm dependencies
if: ${{ env.RUN_JOB }} == 'true'
run: npm install

- name: Update CHANGELOG.md
if: ${{ env.RUN_JOB }} == 'true'
run: |
npm run update-changelog
git add CHANGELOG.md
git commit -m "Update CHANGELOG for new version $NEW_VERSION"

- name: Delete existing release tag
run: |
if git rev-parse $NEW_VERSION >/dev/null 2>&1; then
git tag -d $NEW_VERSION
git push origin :refs/tags/$NEW_VERSION
fi

- name: Delete existing release branch
run: |
if git ls-remote --heads origin release/${NEW_VERSION} | grep release/${NEW_VERSION}; then
git push origin --delete release/${NEW_VERSION}
fi

- name: Create new release branch
if: ${{ env.RUN_JOB }} == 'true'
run: |
NEW_BRANCH="release/${NEW_VERSION}"
git checkout -b $NEW_BRANCH
Expand Down
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[submodule "src/snarkyjs-bindings"]
[submodule "src/o1js-bindings"]
path = src/bindings
url = https://github.com/o1-labs/snarkyjs-bindings.git
url = https://github.com/o1-labs/o1js-bindings.git
[submodule "src/mina"]
path = src/mina
url = https://github.com/MinaProtocol/mina.git
98 changes: 97 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,102 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
_Security_ in case of vulnerabilities.
-->

## [Unreleased](https://github.com/o1-labs/o1js/compare/19115a159...HEAD)
## [Unreleased](https://github.com/o1-labs/o1js/compare/3b5f7c7...HEAD)

### Added

- Support for custom network identifiers other than `mainnet` or `testnet` https://github.com/o1-labs/o1js/pull/1444
- `PrivateKey.randomKeypair()` to generate private and public key in one command https://github.com/o1-labs/o1js/pull/1446

### Deprecated

- `SmartContract.token` is deprecated in favor of new methods on `TokenContract` https://github.com/o1-labs/o1js/pull/1446
- `TokenContract.deriveTokenId()` to get the ID of the managed token
- `TokenContract.internal.{send, mint, burn}` to perform token operations from within the contract

### Fixed

- Mitigate security hazard of deploying token contracts https://github.com/o1-labs/o1js/issues/1439

## [0.16.1](https://github.com/o1-labs/o1js/compare/834a44002...3b5f7c7)

### Breaking changes

- Remove `AccountUpdate.children` and `AccountUpdate.parent` properties https://github.com/o1-labs/o1js/pull/1402
- Also removes the optional `AccountUpdatesLayout` argument to `approve()`
- Adds `AccountUpdateTree` and `AccountUpdateForest`, new classes that represent a layout of account updates explicitly
- Both of the new types are now accepted as inputs to `approve()`
- `accountUpdate.extractTree()` to obtain the tree associated with an account update in the current transaction context.
- Remove `Experimental.Callback` API https://github.com/o1-labs/o1js/pull/1430

### Added

- `MerkleList<T>` to enable provable operations on a dynamically-sized list https://github.com/o1-labs/o1js/pull/1398
- including `MerkleListIterator<T>` to iterate over a merkle list
- `TokenContract`, a new base smart contract class for token contracts https://github.com/o1-labs/o1js/pull/1384
- Usage example: `https://github.com/o1-labs/o1js/blob/main/src/lib/mina/token/token-contract.unit-test.ts`
- `TokenAccountUpdateIterator`, a primitive to iterate over all token account updates in a transaction https://github.com/o1-labs/o1js/pull/1398
- this is used to implement `TokenContract` under the hood

### Fixed

- Mainnet support. https://github.com/o1-labs/o1js/pull/1437

## [0.16.0](https://github.com/o1-labs/o1js/compare/e5d1e0f...834a44002)

### Breaking changes

- Protocol change that adds a "transaction version" to the permission to set verification keys https://github.com/MinaProtocol/mina/pull/14407
- See [the relevant RFC](https://github.com/MinaProtocol/mina/blob/9577ad689a8e4d4f97e1d0fc3d26e20219f4abd1/rfcs/0051-verification-key-permissions.md) for the motivation behind this change
- Breaks all deployed contracts, as it changes the account update layout

### Added

- Provable type `Packed<T>` to pack small field elements into fewer field elements https://github.com/o1-labs/o1js/pull/1376
- Provable type `Hashed<T>` to represent provable types by their hash https://github.com/o1-labs/o1js/pull/1377
- This also exposes `Poseidon.hashPacked()` to efficiently hash an arbitrary type

### Changed

- Reduce number of constraints of ECDSA verification by 5% https://github.com/o1-labs/o1js/pull/1376

## [0.15.4](https://github.com/o1-labs/o1js/compare/be748e42e...e5d1e0f)

### Changed

- Improve performance of Wasm Poseidon hashing by a factor of 13x https://github.com/o1-labs/o1js/pull/1378
- Speeds up local blockchain tests without proving by ~40%
- Improve performance of Field inverse https://github.com/o1-labs/o1js/pull/1373
- Speeds up proving by ~2-4%

### Added

- Configurable `networkId` when declaring a Mina instance. https://github.com/o1-labs/o1js/pull/1387
- Defaults to `"testnet"`, the other option is `"mainnet"`
- The `networkId` parameter influences the algorithm used for signatures, and ensures that testnet transactions can't be replayed on mainnet

## [0.15.3](https://github.com/o1-labs/o1js/compare/1ad7333e9e...be748e42e)

### Added

- **SHA256 hash function** exposed via `Hash.SHA2_256` or `Gadgets.SHA256`. https://github.com/o1-labs/o1js/pull/1285

### Changed

- `Mina.accountCreationFee()` is deprecated in favor of `Mina.getNetworkConstants().accountCreationFee`. https://github.com/o1-labs/o1js/pull/1367
- `Mina.getNetworkConstants()` returns:
- [default](https://github.com/o1-labs/o1js/pull/1367/files#diff-ef2c3547d64a8eaa8253cd82b3623288f3271e14f1dc893a0a3ddc1ff4b9688fR7) network constants if used outside of the transaction scope.
- [actual](https://github.com/o1-labs/o1js/pull/1367/files#diff-437f2c15df7c90ad8154c5de1677ec0838d51859bcc0a0cefd8a0424b5736f31R1051) network constants if used within the transaction scope.

### Fixed

- Fix approving of complex account update layouts https://github.com/o1-labs/o1js/pull/1364

## [0.15.2](https://github.com/o1-labs/o1js/compare/1ad7333e9e...08ba27329)

### Fixed

- Fix bug in `Hash.hash()` which always resulted in an error https://github.com/o1-labs/o1js/pull/1346

## [0.15.1](https://github.com/o1-labs/o1js/compare/1ad7333e9e...19115a159)

Expand Down Expand Up @@ -47,6 +142,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- bitwise AND via `{UInt32, UInt64}.and()`
- Example for using actions to store a map data structure https://github.com/o1-labs/o1js/pull/1300
- `Provable.constraintSystem()` and `{ZkProgram,SmartContract}.analyzeMethods()` return a `summary()` method to return a summary of the constraints used by a method https://github.com/o1-labs/o1js/pull/1007
- `assert()` asserts that a given statement is true https://github.com/o1-labs/o1js/pull/1285

### Fixed

Expand Down
Loading
Loading