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

chore: Bring in aztec3-circuits repo #281

Merged
merged 166 commits into from
Apr 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
5b12662
chore: remove circuits before inline aztec3-circuits
ludamad Apr 17, 2023
607a236
feat: aztec 3 book
iAmMichaelConnor Feb 22, 2022
4d6335e
tools for writing az3 test_apps with private states
iAmMichaelConnor Apr 4, 2022
9766e83
private kernel circuit abi, recursion, basic test
iAmMichaelConnor Jun 1, 2022
3a4707c
private kernel circuit recursive verification
iAmMichaelConnor Jun 6, 2022
d1e9379
more private kernel circuit logic
iAmMichaelConnor Jun 8, 2022
4ccd33c
move more bools to call_context
iAmMichaelConnor Jun 14, 2022
c8de4e8
tweak ABIs and return preimages
iAmMichaelConnor Jun 20, 2022
01b1ab6
refactor: add function excution context
iAmMichaelConnor Jul 16, 2022
5e2815f
feat: tx_origin percolate through nested calls
iAmMichaelConnor Jul 18, 2022
d3493bd
chore: renaming
iAmMichaelConnor Jul 18, 2022
22563eb
fix: tests
iAmMichaelConnor Jul 18, 2022
8f6e693
tying up loose ends, before pausing
iAmMichaelConnor Jul 22, 2022
b3eee49
Huge ABI changes, given Q4 2022 speccing talks
iAmMichaelConnor Dec 11, 2022
c854807
update private abi & kernel docs
iAmMichaelConnor Dec 14, 2022
3f55e73
label files as outdated, relative to latest spec
iAmMichaelConnor Dec 14, 2022
125da0c
wip: significant state var updates
iAmMichaelConnor Jan 1, 2023
a102149
wip: contract syntax
iAmMichaelConnor Jan 1, 2023
f536a80
wip: add more opcodes
iAmMichaelConnor Jan 1, 2023
3e52605
utxo finalise, and restricting permission to exec_ctx members to opco…
iAmMichaelConnor Jan 3, 2023
c467600
finalise utxos
iAmMichaelConnor Jan 4, 2023
c3799e9
deposit & transfer examples working with newer utxo syntax
iAmMichaelConnor Jan 4, 2023
401576d
tidying
iAmMichaelConnor Jan 5, 2023
a49fe51
commenting & tidying
iAmMichaelConnor Jan 5, 2023
9600f67
utxo singleton initialisation
iAmMichaelConnor Jan 6, 2023
793ef10
small refactor
iAmMichaelConnor Jan 8, 2023
6d62427
updating abi structs
iAmMichaelConnor Jan 10, 2023
153ef60
support for external private function calls
iAmMichaelConnor Jan 11, 2023
9e63931
extracting call stack item preimages
iAmMichaelConnor Jan 13, 2023
a8cefd2
fix: test fixture functions caused dangling references
iAmMichaelConnor Jan 13, 2023
52f8d5c
convert constant to fixed witness
iAmMichaelConnor Jan 13, 2023
dd600d1
wip: pushing in case mainframe loses data
iAmMichaelConnor Jan 18, 2023
3f63763
fix: array pushing of call stacks
iAmMichaelConnor Feb 2, 2023
034e4e6
Add barretenberg submodule.
suyash67 Feb 13, 2023
7171574
contract deployment data generator (#2)
dbanks12 Feb 15, 2023
9d255bc
Link All to Barretenberg (David's work) (#11)
suyash67 Feb 17, 2023
6941603
add build-system and all relevant CI (#9)
dbanks12 Feb 17, 2023
b2e7d60
Add PROJECT and VERSION for CI (#12)
suyash67 Feb 17, 2023
3b1237c
need to specify SRS_PATH in dependent project (#16)
dbanks12 Feb 17, 2023
13129e0
Get CI working (#13)
dbanks12 Feb 19, 2023
4428c01
fix: partal commitment syntax check (#18)
iAmMichaelConnor Feb 20, 2023
4ed940f
Run wasm tests ci (#14)
dbanks12 Feb 21, 2023
b7eb097
Add wasm to bootstrap (#15)
dbanks12 Feb 21, 2023
280af31
add .vscode to gitignore (#17)
iAmMichaelConnor Feb 21, 2023
f6d654b
Create LICENSE (#8)
iAmMichaelConnor Feb 21, 2023
d49fddf
Correction in Submodule Update in `bootstrap.sh` (#22)
suyash67 Feb 22, 2023
52c15fc
Make aggregator composer-agnostic. (#21)
suyash67 Feb 22, 2023
2bfcdf4
Final fixes to CI (#20)
dbanks12 Feb 22, 2023
df2359a
rename tx_object -> tx_request (same for signed_) (#1)
dbanks12 Feb 22, 2023
142bb5a
`TxContext.hash()` (#3)
dbanks12 Feb 22, 2023
7336523
tx request hash (#4)
dbanks12 Feb 22, 2023
f8f53e4
update bb/aztec3 (#24)
suyash67 Feb 22, 2023
71a351f
add spread_arr_into_vec to tx_request (#25)
dbanks12 Feb 22, 2023
bd08542
Create pull_request_template.md
suyash67 Feb 23, 2023
640fc0e
add missing to_nt conversions (#19)
iAmMichaelConnor Feb 23, 2023
cff4170
use () instead of {} in struct initalization to ensure all zeros (#27)
dbanks12 Feb 24, 2023
c0636ee
Fix mock kernel circuit: use 32-bit random values as P0 and P1 elemen…
suyash67 Feb 24, 2023
f12a3d1
update bb. (#29)
suyash67 Feb 24, 2023
22fef3b
move unnamed namespace out. (#30)
suyash67 Feb 27, 2023
066c6de
Update `bb/aztec3`.
suyash67 Mar 2, 2023
5a60764
update `bb/aztec3`. (#32)
suyash67 Mar 2, 2023
fef5d87
Linearised Prover Removed from BB (#31)
suyash67 Mar 2, 2023
dc55b1a
Add cbind for hashing tx req along with test (#26)
dbanks12 Mar 6, 2023
cc3f93e
move c++ into cpp/ (#36)
dbanks12 Mar 7, 2023
6cf29a5
Update bb (to Phated's latest barretenberg master with large cmake in…
suyash67 Mar 8, 2023
9626fc7
c_bind for computing function selector (keccak) (#35)
dbanks12 Mar 8, 2023
75d1b5c
fix bad mix of designated and non-designated intializers (#40)
dbanks12 Mar 8, 2023
78a88c1
add missing frees in cbind test (#42)
dbanks12 Mar 8, 2023
8b0ec47
Cleanup abis cbinds to use std arrays instead of pointers+malloc+free…
dbanks12 Mar 9, 2023
90784e2
Make function selector cbind more C++ like (#55)
dbanks12 Mar 10, 2023
60d0013
Function leaf (preimage struct & cbind) (#56)
dbanks12 Mar 14, 2023
66f219a
rename function signature to function data (#57)
dbanks12 Mar 15, 2023
3708a8b
Use build context.
charlielye Mar 20, 2023
fc01815
Move `CT` and `NT` types to `aztec3/utils` (#67)
suyash67 Mar 20, 2023
7b24cf3
update bb/aztec3. (#72)
suyash67 Mar 20, 2023
596f46a
feat(ts): start of merge
ludamad0 Mar 21, 2023
c8f694f
feat(ts): building after merge
ludamad0 Mar 21, 2023
2369fc3
Cbind for `compute_function_tree_root` (#65)
ludamad Apr 17, 2023
f5cbd43
feat(ts): build wasm. bundle dependencies
ludamad Apr 17, 2023
f2f0604
Use address types, fixes forVK, and serialize kernel proof
spalladino Mar 21, 2023
5212af1
Update c_bind.cpp
ludamad Mar 21, 2023
0f69abe
fix(style): remove unneeded typedefs
ludamad0 Mar 21, 2023
aabbe2a
feat(ts): TS structs for C++ circuit abis (#76)
spalladino Mar 22, 2023
bdacb63
cbinds for hash_constructor and compute_contract_address (#82)
ludamad Apr 17, 2023
870d4c0
feat(ts): ABI for base rollup public inputs (#77)
ludamad Apr 17, 2023
7b17f07
Ts structs for root and merge rollups (#81)
spalladino Mar 23, 2023
276aaf7
feat(cpp): cbind for contract leaf (#83)
dbanks12 Mar 23, 2023
1185781
fix(ts): Changes for inclusion in aztec3-packages (#85)
spalladino Mar 23, 2023
da1beff
update bb. (#90)
suyash67 Mar 23, 2023
6c9bcce
feat(cpp): cbind for hash_vk (#84)
dbanks12 Mar 23, 2023
cf783a8
Expose serialization utils (#89)
spalladino Mar 24, 2023
07d2962
feat: refactor .yalc usage (#92)
ludamad Mar 26, 2023
21d547d
Private Kernel Full Test (#93)
suyash67 Mar 27, 2023
c71d6b4
Update BB and Remove local `barretenberg` (#94)
suyash67 Mar 27, 2023
ce21779
chore: vscode C++ intellisense workspace (#96)
ludamad Mar 27, 2023
6a3aa25
readme (#98)
iAmMichaelConnor Mar 27, 2023
42fa9f6
fix: git rm --cached .yarn/install-state.gz (#97)
iAmMichaelConnor Mar 27, 2023
b49566f
fix: build (#101)
ludamad Mar 28, 2023
d4d20fb
tests(private kernel): Fix kernel set_public(), add simple private ke…
dbanks12 Mar 28, 2023
02785ed
Fix ts serialization tests (#105)
spalladino Mar 28, 2023
a0ccbcc
Kernel circuit input structs (#107)
spalladino Mar 28, 2023
df88d86
feat: private kernel cbinds (#102)
dbanks12 Mar 28, 2023
b0dba48
initial native private kernel circuit (#113)
iAmMichaelConnor Mar 28, 2023
2172ee5
feat(base_rollup_circuit): base rollup impl (wip) (#99)
Maddiaa0 Mar 28, 2023
b82e61d
chore: Kill typescript (#120)
spalladino Mar 28, 2023
d18538b
fix: generate wasm docker img (#121)
spypsy Mar 29, 2023
654184f
fix(base): calculate nullifier roots correctly (#122)
Maddiaa0 Mar 29, 2023
c5e0689
feat: new kernel interface, base rollup cbinds + tests (#115)
dbanks12 Mar 29, 2023
1f38736
add convenience commands to readme (#124)
iAmMichaelConnor Mar 29, 2023
250cbbf
chore(bb): update branch
Mar 29, 2023
84fbb24
Better dummy kernel, fix base rollup tests (#127)
dbanks12 Mar 29, 2023
0b08a3d
feat: serialization debug utility (#126)
ludamad Mar 29, 2023
dd8cc05
chore: remove second_present bool flag from base rollup cbind (#129)
dbanks12 Mar 29, 2023
0624543
Fix sibling path size in base rollup inputs (#133)
spalladino Mar 29, 2023
ac9bc0a
feat(root): root rollup native implementation wip (#128)
LHerskind Mar 29, 2023
1289c10
feat(root): Cbinds for root rollup (#132)
dbanks12 Mar 29, 2023
ee8e688
feat(root): abi serialisation cbinds (#135)
Maddiaa0 Mar 29, 2023
459c716
fix base tests around contract leaves
rahul-kothari Mar 29, 2023
9b9b545
add commitments and other basic tests
rahul-kothari Mar 29, 2023
0b12d9e
add more tests
rahul-kothari Mar 29, 2023
c54a268
fix per pr comments
rahul-kothari Mar 29, 2023
e77f1e4
Dummy PreviousRollupData (+cbind) and dummy BaseRollupInputs helper (…
dbanks12 Mar 30, 2023
f0b51ff
Print vk objects instead of pointers (#139)
spalladino Mar 30, 2023
844808e
Dockerignore update.
charlielye Mar 30, 2023
4976e9f
Add ignition script.
charlielye Mar 30, 2023
7d0dee8
bump generators for wasm in bberg (#142)
dbanks12 Mar 30, 2023
207370a
Export rollup circuits cbinds (#141)
spalladino Mar 30, 2023
0bca9aa
Native and Circuit: Contract Deployment Logic in PKC (#125)
suyash67 Mar 30, 2023
bc5380e
Avoid root rollup inputs copy constructor (#144)
spalladino Mar 30, 2023
1ae086d
dangerous nonce nullifier (#146)
iAmMichaelConnor Mar 30, 2023
4425658
Mc/default structs and assertion operators (#143)
iAmMichaelConnor Mar 30, 2023
4f3c7c6
Compute function tree (#145)
dbanks12 Mar 31, 2023
a87adc4
Test for public kernel inputs serialization (#148)
spalladino Mar 31, 2023
eaf70e9
fix: Remove call to random number in mock kernel circuit (#149)
spalladino Mar 31, 2023
8efc2f5
Fix Contract Deployment Circuit Test (#151)
suyash67 Apr 1, 2023
0755a90
Extend Root Rollup Test [WIP] (#137)
LHerskind Apr 3, 2023
85cc961
Mc/align hashing (#152)
iAmMichaelConnor Apr 4, 2023
89d6c1a
(chore) update bb.
suyash67 Apr 4, 2023
dc558c0
(chore) update bb.
suyash67 Apr 4, 2023
4db8c94
fix(base): nullifier tree fixes (#131)
Maddiaa0 Apr 5, 2023
0ca6e7a
fix: update leaf index to uint32 (#170)
Maddiaa0 Apr 5, 2023
32106f8
Use contract leaf generator and check for 0 contract address (#169)
PhilWindle Apr 5, 2023
ca11370
merge rollup (#153)
rahul-kothari Apr 5, 2023
3573727
valid contract address should be known in constructor and be a privat…
dbanks12 Apr 5, 2023
ae16dfc
Build barretenberg's primitives.wasm (#178)
spalladino Apr 6, 2023
26a6ccb
fix serialisation issues with merge/base on ts
rahul-kothari Apr 6, 2023
f4555ea
Align Merge and Root rollup (#166)
LHerskind Apr 6, 2023
93d6285
tis a good day for we have native composer
rahul-kothari Apr 6, 2023
d70bed3
remove void/unused and add const& where needed
rahul-kothari Apr 11, 2023
4c17a04
Fixes Against Latest BB Submodule (#186)
ludamad Apr 17, 2023
c4acd45
clean: rm used dir (#182)
Maddiaa0 Apr 10, 2023
1368918
build: dont always clean (#155)
ludamad Apr 10, 2023
71e515c
feat: check existence of vk in contract tree (#167)
iAmMichaelConnor Apr 10, 2023
4e7be4f
native kernel to use dummy composer
rahul-kothari Apr 11, 2023
77136e4
chore(specs): remove (#229)
Maddiaa0 Apr 12, 2023
53dff4f
feat: reusable rollup components (#183)
LHerskind Apr 12, 2023
9079a03
fix: Nullifier tree bug (#231)
Maddiaa0 Apr 12, 2023
9719e83
fix: update bootstrap to specify turbo (#237)
Maddiaa0 Apr 12, 2023
f5cd775
add cbinds for merge (#227)
rahul-kothari Apr 13, 2023
c07a6fc
chore: zero-initialize all structs & their members and arrays (#233)
dbanks12 Apr 13, 2023
6142089
fix use turbo (#240)
dbanks12 Apr 13, 2023
a0c1aed
ci: use turbo in dockerfiles (#243)
dbanks12 Apr 13, 2023
d76b0f3
feat: Kernel fix & test improvements/refactoring (#239)
dbanks12 Apr 13, 2023
f7c09de
fix: nullifier tests (#249)
Maddiaa0 Apr 14, 2023
ec1b504
chore: post merge fixup
ludamad Apr 17, 2023
aaa702f
chore: force build
ludamad Apr 17, 2023
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
109 changes: 99 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ checkout: &checkout
git fetch --depth 50 --filter=blob:none origin $CIRCLE_SHA1
git checkout FETCH_HEAD
# Initialize submodules recursively
git submodule update --init --recursive circuits build-system
git submodule update --init --recursive

# Called setup_env to setup a bunch of global variables used throughout the rest of the build process.
# It takes the required CCI environment variables as inputs, and gives them normalised names for the rest of
Expand All @@ -62,8 +62,26 @@ setup_env: &setup_env
name: "Setup environment"
command: ./build-system/scripts/setup_env "$CIRCLE_SHA1" "$CIRCLE_TAG" "$CIRCLE_JOB" "$CIRCLE_REPOSITORY_URL" "$CIRCLE_BRANCH"

# This step is used to save logs from various barretenberg test to the workspace so that they can be used later to parse benchmark values out of them
save_logs: &save_logs
persist_to_workspace:
root: /tmp/test-logs
paths:
- ./*

jobs:
wasm-linux-clang:
circuits-wasm-linux-clang:
docker:
- image: aztecprotocol/alpine-build-image
resource_class: small
steps:
- *checkout
- *setup_env
- run:
name: "Build"
command: cond_spot_run_build circuits-wasm-linux-clang 64

circuits-wasm-linux-clang-assert:
docker:
- image: aztecprotocol/alpine-build-image
resource_class: small
Expand All @@ -72,7 +90,65 @@ jobs:
- *setup_env
- run:
name: "Build"
command: cond_spot_run_build aztec3-circuits-wasm-linux-clang 64
command: cond_spot_run_build circuits-wasm-linux-clang-assert 64

circuits-x86_64-linux-clang:
docker:
- image: aztecprotocol/alpine-build-image
resource_class: small
steps:
- *checkout
- *setup_env
- run:
name: "Build"
command: cond_spot_run_build circuits-x86_64-linux-clang 64

circuits-x86_64-linux-clang-assert:
docker:
- image: aztecprotocol/alpine-build-image
resource_class: small
steps:
- *checkout
- *setup_env
- run:
name: "Build"
command: cond_spot_run_build circuits-x86_64-linux-clang-assert 64

circuits-wasm-tests:
docker:
- image: aztecprotocol/alpine-build-image
resource_class: small
steps:
- *checkout
- *setup_env
- run:
name: "Test"
command: cond_spot_run_tests circuits-wasm-linux-clang-assert 1 a3-tests USE_WASM_TIME
- *save_logs

circuits-tests:
docker:
- image: aztecprotocol/alpine-build-image
resource_class: small
steps:
- *checkout
- *setup_env
- run:
name: "Test"
command: cond_spot_run_tests circuits-x86_64-linux-clang-assert 1 a3-tests
- *save_logs

#circuits-<individual>-tests:
# docker:
# - image: aztecprotocol/alpine-build-image
# resource_class: small
# steps:
# - *checkout
# - *setup_env
# - run:
# name: 'Test'
# command: cond_spot_run_tests circuits-x86_64-linux-clang-assert 1 <individual>_tests
# - *save_logs

yarn-project-base:
machine:
Expand Down Expand Up @@ -113,7 +189,7 @@ jobs:
name: "Build and test"
command: build foundation

aztec-js:
aztec-js:
machine:
image: ubuntu-2004:202010-01
resource_class: large
Expand Down Expand Up @@ -211,7 +287,7 @@ jobs:
- run:
name: "Build and test"
command: build archiver

aztec-rpc:
machine:
image: ubuntu-2004:202010-01
Expand Down Expand Up @@ -319,17 +395,31 @@ e2e_test: &e2e_test
requires:
- e2e-join
<<: *defaults

circuits-wasm-test: &circuits-wasm-test
requires:
- circuits-wasm-linux-clang-assert
<<: *defaults
circuits-test: &circuits-test
requires:
- circuits-x86_64-linux-clang-assert
<<: *defaults
workflows:
system:
when:
equal: [system, << pipeline.parameters.workflow >>]
jobs:
- wasm-linux-clang:
<<: *defaults
- circuits-wasm-linux-clang: *defaults
- circuits-wasm-linux-clang-assert: *defaults
- circuits-x86_64-linux-clang: *defaults
- circuits-x86_64-linux-clang-assert: *defaults
- circuits-wasm-tests:
<<: *circuits-wasm-test
- circuits-tests:
<<: *circuits-test
#- aztec3-circuit-<individual>-tests: *circuits-test
- yarn-project-base:
requires:
- wasm-linux-clang
- circuits-wasm-linux-clang
<<: *defaults

- ethereum-js: *yarn_project
Expand All @@ -356,7 +446,6 @@ workflows:
- noir-contracts
- foundation
<<: *defaults

- e2e-deploy-contract: *e2e_test
- e2e-zk-token-contract: *e2e_test
- e2e-block-building: *e2e_test
8 changes: 4 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[submodule "build-system"]
path = build-system
url = [email protected]:AztecProtocol/build-system.git
[submodule "circuits"]
path = circuits
url = [email protected]:AztecProtocol/aztec3-circuits.git
dbanks12 marked this conversation as resolved.
Show resolved Hide resolved
[submodule "l1-contracts"]
path = l1-contracts
url = [email protected]:AztecProtocol/aztec3-l1-contracts.git
[submodule "barretenberg"]
path = barretenberg
path = circuits/cpp/barretenberg
url = [email protected]:AztecProtocol/barretenberg.git
[submodule "legacy-nested-build-system"]
path = circuits/build-system
url = [email protected]:AztecProtocol/build-system.git
30 changes: 1 addition & 29 deletions bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,37 +47,9 @@ nvm install
# Until we push .yarn/cache, we still need to install.
cd yarn-project
yarn install --immutable
# We do not need to build individual packages, yarn build will build the root tsconfig.json
yarn build
cd ..

PROJECTS=(
"yarn-project/foundation:yarn build"
"yarn-project/ethereum.js:yarn build"
"yarn-project/l1-contracts:yarn build"
"yarn-project/types:yarn build"
"yarn-project/merkle-tree:yarn build"
"yarn-project/archiver:yarn build"
"yarn-project/world-state:yarn build"
"yarn-project/p2p:yarn build"
"yarn-project/sequencer-client:yarn build"
"yarn-project/aztec-node:yarn build"
"yarn-project/key-store:yarn build"
"yarn-project/acir-simulator:yarn build"
"yarn-project/kernel-prover:yarn build"
"yarn-project/aztec-rpc:yarn build"
"yarn-project/aztec.js:yarn build"
"yarn-project/noir-contracts:yarn build"
)

for E in "${PROJECTS[@]}"; do
ARR=(${E//:/ })
DIR=${ARR[0]}
COMMAND=${ARR[@]:1}
echo "Bootstrapping $DIR: $COMMAND"
pushd $DIR > /dev/null
$COMMAND
popd > /dev/null
done

echo
echo "Success! You could now run e.g.: ./scripts/tmux-splits e2e_deploy_contract"
Loading