Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: AztecProtocol/aztec-packages
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 36336ab11571c54df42d6a70dd7d7d7f0d272f8b
Choose a base ref
..
head repository: AztecProtocol/aztec-packages
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2f4775a9051fb416c5c28ef8a9a09436c2f5477e
Choose a head ref
Showing with 4,513 additions and 68,897 deletions.
  1. +16 −3 .circleci/config.yml
  2. +0 −3 .github/workflows/pull-request.yml
  3. +46 −0 .github/workflows/release_please.yml
  4. +50 −0 CHANGELOG.md
  5. +3 −0 README.md
  6. +1 −35 bootstrap.sh
  7. +164 −0 circuits/cpp/barretenberg/.github/workflows/publish.yml
  8. +9 −140 circuits/cpp/barretenberg/.github/workflows/release-please.yml
  9. +2 −2 circuits/cpp/barretenberg/.gitrepo
  10. +1 −1 circuits/cpp/barretenberg/.release-please-manifest.json
  11. +16 −0 circuits/cpp/barretenberg/CHANGELOG.md
  12. +1 −1 circuits/cpp/barretenberg/VERSION
  13. +1 −1 circuits/cpp/barretenberg/barretenberg-wasm.nix
  14. +1 −1 circuits/cpp/barretenberg/barretenberg.nix
  15. +1 −1 circuits/cpp/barretenberg/cpp/CMakeLists.txt
  16. +58 −32 circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_crs.hpp
  17. +5 −2 circuits/cpp/barretenberg/cpp/src/barretenberg/bb/main.cpp
  18. +8 −0 circuits/cpp/barretenberg/ts/CHANGELOG.md
  19. +1 −1 circuits/cpp/barretenberg/ts/package.json
  20. +2 −2 circuits/cpp/barretenberg/ts/src/crs/net_crs.ts
  21. +2 −2 circuits/cpp/barretenberg/ts/src/main.ts
  22. +1 −0 circuits/cpp/bootstrap.sh
  23. +8 −2 circuits/cpp/src/aztec3/circuits/abis/.test.cpp
  24. +10 −2 circuits/cpp/src/aztec3/circuits/abis/c_bind.test.cpp
  25. +7 −5 circuits/cpp/src/aztec3/circuits/abis/function_data.hpp
  26. +10 −4 circuits/cpp/src/aztec3/circuits/abis/function_leaf_preimage.hpp
  27. +59 −0 circuits/cpp/src/aztec3/circuits/abis/function_selector.hpp
  28. +4 −1 circuits/cpp/src/aztec3/circuits/apps/.test.cpp
  29. +5 −1 circuits/cpp/src/aztec3/circuits/apps/contract.tpp
  30. +4 −1 circuits/cpp/src/aztec3/circuits/apps/function_execution_context.hpp
  31. +4 −1 circuits/cpp/src/aztec3/circuits/apps/test_apps/escrow/.test.cpp
  32. +4 −1 circuits/cpp/src/aztec3/circuits/apps/test_apps/private_to_private_function_call/.test.cpp
  33. +3 −1 circuits/cpp/src/aztec3/circuits/hash.hpp
  34. +3 −1 circuits/cpp/src/aztec3/circuits/kernel/private/native_private_kernel_circuit_init.test.cpp
  35. +4 −1 circuits/cpp/src/aztec3/circuits/kernel/private/testing_harness.cpp
  36. +11 −3 circuits/cpp/src/aztec3/circuits/kernel/public/.test.cpp
  37. +1 −1 circuits/cpp/src/aztec3/circuits/kernel/public/common.hpp
  38. +4 −4 circuits/cpp/src/aztec3/constants.hpp
  39. +2 −2 docs/.gitrepo
  40. +8 −40 docs/docs/concepts/foundation/accounts/keys.md
  41. +103 −4 docs/docs/dev_docs/contracts/events.md
  42. +2 −15 docs/docs/dev_docs/getting_started/cli.md
  43. +15 −41 docs/docs/dev_docs/getting_started/sandbox.md
  44. +0 −151 docs/src/code_examples/sandbox_example.ts
  45. +7 −7 l1-contracts/src/core/libraries/ConstantsGen.sol
  46. +2 −1 l1-contracts/test/Rollup.t.sol
  47. +1 −1 yarn-project/acir-simulator/package.json
  48. +0 −3 yarn-project/acir-simulator/src/acvm/acvm.ts
  49. +0 −9 yarn-project/acir-simulator/src/acvm/deserialize.ts
  50. +1 −1 yarn-project/acir-simulator/src/acvm/serialize.ts
  51. +3 −3 yarn-project/acir-simulator/src/client/db_oracle.ts
  52. +2 −6 yarn-project/acir-simulator/src/client/function_selectors.ts
  53. +24 −16 yarn-project/acir-simulator/src/client/private_execution.test.ts
  54. +8 −8 yarn-project/acir-simulator/src/client/private_execution.ts
  55. +2 −2 yarn-project/acir-simulator/src/client/unconstrained_execution.test.ts
  56. +2 −4 yarn-project/acir-simulator/src/client/unconstrained_execution.ts
  57. +5 −5 yarn-project/acir-simulator/src/public/db.ts
  58. +17 −29 yarn-project/acir-simulator/src/public/executor.ts
  59. +7 −7 yarn-project/acir-simulator/src/public/index.test.ts
  60. +3 −3 yarn-project/archiver/src/archiver/archiver.test.ts
  61. +6 −5 yarn-project/archiver/src/archiver/archiver.ts
  62. +2 −2 yarn-project/archiver/src/archiver/archiver_store.ts
  63. +1 −1 yarn-project/aztec-cli/README.md
  64. +1 −1 yarn-project/aztec-cli/src/index.ts
  65. +5 −5 yarn-project/aztec-node/src/aztec-node/http-node.test.ts
  66. +5 −5 yarn-project/aztec-node/src/aztec-node/http-node.ts
  67. +52 −26 yarn-project/aztec-node/src/aztec-node/server.ts
  68. +20 −17 yarn-project/aztec-rpc/src/aztec_rpc_server/aztec_rpc_server.ts
  69. +1 −1 yarn-project/aztec-rpc/src/aztec_rpc_server/test/aztec_rpc_server.test.ts
  70. +16 −10 yarn-project/aztec-rpc/src/aztec_rpc_server/test/aztec_rpc_test_suite.ts
  71. +13 −13 yarn-project/aztec-rpc/src/contract_data_oracle/index.ts
  72. +4 −3 yarn-project/aztec-rpc/src/contract_database/memory_contract_database.ts
  73. +13 −15 yarn-project/aztec-rpc/src/contract_tree/index.ts
  74. +4 −2 yarn-project/aztec-rpc/src/database/database.ts
  75. +7 −3 yarn-project/aztec-rpc/src/database/memory_db.ts
  76. +3 −3 yarn-project/aztec-rpc/src/kernel_oracle/index.ts
  77. +1 −1 yarn-project/aztec-rpc/src/kernel_prover/kernel_prover.ts
  78. +3 −2 yarn-project/aztec-rpc/src/kernel_prover/proving_data_oracle.ts
  79. +5 −5 yarn-project/aztec-rpc/src/note_processor/note_processor.ts
  80. +8 −4 yarn-project/aztec-rpc/src/simulator_oracle/index.ts
  81. +4 −4 yarn-project/aztec-rpc/src/synchroniser/synchroniser.test.ts
  82. +7 −7 yarn-project/aztec-rpc/src/synchroniser/synchroniser.ts
  83. +1 −1 yarn-project/aztec-sandbox/src/examples/uniswap_trade_on_l1_from_l2.ts
  84. +1 −1 yarn-project/aztec-sandbox/src/index.ts
  85. +3 −26,084 yarn-project/aztec.js/src/abis/ecdsa_account_contract.json
  86. +3 −20,750 yarn-project/aztec.js/src/abis/schnorr_account_contract.json
  87. +2 −19,849 yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json
  88. +1 −1 yarn-project/aztec.js/src/account/entrypoint/entrypoint_payload.ts
  89. +2 −2 yarn-project/aztec.js/src/aztec_rpc_client/wallet.ts
  90. +3 −3 yarn-project/aztec.js/src/contract/contract_base.ts
  91. +1 −1 yarn-project/aztec.js/src/utils/cheat_codes.ts
  92. +38 −0 yarn-project/bootstrap.sh
  93. +2 −2 yarn-project/canary/src/uniswap_trade_on_l1_from_l2.test.ts
  94. +1 −1 yarn-project/circuits.js/src/abis/__snapshots__/abis.test.ts.snap
  95. +3 −19 yarn-project/circuits.js/src/abis/abis.test.ts
  96. +29 −8 yarn-project/circuits.js/src/cbind/circuits.gen.ts
  97. +7 −7 yarn-project/circuits.js/src/cbind/constants.gen.ts
  98. +1 −0 yarn-project/circuits.js/src/cbind/types.ts
  99. +2 −2 yarn-project/circuits.js/src/contract/contract_deployment_info.ts
  100. +2 −2 yarn-project/circuits.js/src/contract/contract_tree/contract_tree.ts
  101. +3 −3 yarn-project/circuits.js/src/crs/index.ts
  102. +3 −1 yarn-project/circuits.js/src/structs/__snapshots__/function_data.test.ts.snap
  103. +3 −1 yarn-project/circuits.js/src/structs/__snapshots__/function_leaf_preimage.test.ts.snap
  104. +40 −0 yarn-project/circuits.js/src/structs/__snapshots__/public_circuit_public_inputs.test.ts.snap
  105. +3 −1 yarn-project/circuits.js/src/structs/function_data.test.ts
  106. +12 −33 yarn-project/circuits.js/src/structs/function_data.ts
  107. +2 −1 yarn-project/circuits.js/src/structs/function_leaf_preimage.test.ts
  108. +5 −22 yarn-project/circuits.js/src/structs/function_leaf_preimage.ts
  109. +1 −0 yarn-project/circuits.js/src/structs/index.ts
  110. +509 −37 yarn-project/circuits.js/src/structs/kernel/__snapshots__/index.test.ts.snap
  111. +106 −10 yarn-project/circuits.js/src/structs/rollup/__snapshots__/base_rollup.test.ts.snap
  112. +3 −4 yarn-project/circuits.js/src/tests/factories.ts
  113. +3 −1 yarn-project/circuits.js/src/types/contract_function_dao.ts
  114. +1 −0 yarn-project/end-to-end/.prettierignore
  115. +1 −9 yarn-project/end-to-end/src/e2e_2_rpc_servers.test.ts
  116. +3 −1 yarn-project/end-to-end/src/e2e_account_contracts.test.ts
  117. +5 −5 yarn-project/end-to-end/src/e2e_aztec_js_browser.test.ts
  118. +12 −17 yarn-project/end-to-end/src/e2e_cheat_codes.test.ts
  119. +3 −4 yarn-project/end-to-end/src/e2e_escrow_contract.test.ts
  120. +409 −229 yarn-project/end-to-end/src/e2e_lending_contract.test.ts
  121. +3 −3 yarn-project/end-to-end/src/e2e_multi_transfer.test.ts
  122. +1 −6 yarn-project/end-to-end/src/e2e_multiple_accounts_1_enc_key.test.ts
  123. +7 −15 yarn-project/end-to-end/src/e2e_nested_contract.test.ts
  124. +3 −3 yarn-project/end-to-end/src/e2e_ordering.test.ts
  125. +15 −15 yarn-project/end-to-end/src/e2e_pending_commitments_contract.test.ts
  126. +1 −9 yarn-project/end-to-end/src/e2e_private_token_contract.test.ts
  127. +4 −13 yarn-project/end-to-end/src/e2e_public_token_contract.test.ts
  128. +180 −0 yarn-project/end-to-end/src/e2e_sandbox_example.test.ts
  129. +10 −15 yarn-project/end-to-end/src/fixtures/utils.ts
  130. +1 −1 yarn-project/end-to-end/src/uniswap_trade_on_l1_from_l2.test.ts
  131. +2 −0 yarn-project/foundation/package.json
  132. +7 −3 yarn-project/foundation/src/abi/abi.ts
  133. +1 −38 yarn-project/foundation/src/abi/abi_coder.ts
  134. +111 −0 yarn-project/foundation/src/abi/function_selector.ts
  135. +1 −0 yarn-project/foundation/src/abi/index.ts
  136. +2 −0 yarn-project/noir-compiler/package.json
  137. +3 −1 yarn-project/noir-compiler/src/contract-interface-gen/abi.ts
  138. +6 −6 yarn-project/noir-compiler/src/contract-interface-gen/noir.ts
  139. +0 −7 yarn-project/noir-contracts/src/contracts/easy_private_token_contract/src/main.nr
  140. +3 −3 yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/ecdsa_public_key_note.nr
  141. +6 −1 yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/main.nr
  142. +3 −3 yarn-project/noir-contracts/src/contracts/escrow_contract/src/address_note.nr
  143. +0 −1 yarn-project/noir-contracts/src/contracts/example_public_state_increment_BROKE/src/main.nr
  144. +91 −0 yarn-project/noir-contracts/src/contracts/lending_contract/src/helpers.nr
  145. +38 −0 yarn-project/noir-contracts/src/contracts/lending_contract/src/interest_math.nr
  146. +96 −0 yarn-project/noir-contracts/src/contracts/lending_contract/src/interfaces.nr
  147. +170 −171 yarn-project/noir-contracts/src/contracts/lending_contract/src/main.nr
  148. +82 −0 yarn-project/noir-contracts/src/contracts/lending_contract/src/safe_math.nr
  149. +29 −66 yarn-project/noir-contracts/src/contracts/lending_contract/src/storage.nr
  150. +10 −0 yarn-project/noir-contracts/src/contracts/native_token_contract/Nargo.toml
  151. +484 −0 yarn-project/noir-contracts/src/contracts/native_token_contract/src/main.nr
  152. +45 −0 yarn-project/noir-contracts/src/contracts/native_token_contract/src/storage.nr
  153. +3 −13 yarn-project/noir-contracts/src/contracts/non_native_token_contract/src/main.nr
  154. +2 −3 yarn-project/noir-contracts/src/contracts/non_native_token_contract/src/transparent_note.nr
  155. +3 −3 yarn-project/noir-contracts/src/contracts/pokeable_token_contract/src/address_note.nr
  156. +8 −0 yarn-project/noir-contracts/src/contracts/price_feed_contract/Nargo.toml
  157. +52 −0 yarn-project/noir-contracts/src/contracts/price_feed_contract/src/main.nr
  158. +46 −0 yarn-project/noir-contracts/src/contracts/price_feed_contract/src/storage.nr
  159. +2 −0 yarn-project/noir-contracts/src/contracts/private_token_airdrop_contract/src/claim_note.nr
  160. +0 −4 yarn-project/noir-contracts/src/contracts/private_token_airdrop_contract/src/main.nr
  161. +2 −5 yarn-project/noir-contracts/src/contracts/private_token_contract/src/main.nr
  162. +6 −0 yarn-project/noir-contracts/src/contracts/public_token_contract/src/main.nr
  163. +10 −1 yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/main.nr
  164. +3 −3 yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/public_key_note.nr
  165. +6 −2 yarn-project/noir-contracts/src/contracts/schnorr_single_key_account_contract/src/main.nr
  166. +14 −4 yarn-project/noir-contracts/src/contracts/test_contract/src/main.nr
  167. +12 −0 yarn-project/noir-contracts/src/contracts/test_contract/src/test_contract_interface.nr
  168. +2 −0 yarn-project/noir-contracts/src/scripts/copy_output.ts
  169. +7 −7 yarn-project/noir-libs/noir-aztec/src/constants_gen.nr
  170. +2 −2 yarn-project/noir-libs/noir-aztec/src/context.nr
  171. +0 −9 yarn-project/noir-libs/noir-aztec/src/messaging.nr
  172. +4 −5 yarn-project/noir-libs/noir-aztec/src/note/lifecycle.nr
  173. +0 −3 yarn-project/noir-libs/noir-aztec/src/oracle.nr
  174. +0 −7 yarn-project/noir-libs/noir-aztec/src/oracle/create_l2_to_l1_message.nr
  175. +0 −7 yarn-project/noir-libs/noir-aztec/src/oracle/create_nullifier.nr
  176. +4 −2 yarn-project/noir-libs/noir-aztec/src/oracle/get_secret_key.nr
  177. +1 −1 yarn-project/noir-libs/noir-aztec/src/state_vars/set.nr
  178. +15 −3 yarn-project/noir-libs/value-note/src/utils.nr
  179. +7 −5 yarn-project/noir-libs/value-note/src/value_note.nr
  180. +13 −13 yarn-project/p2p/package.json
  181. +1 −1 yarn-project/p2p/src/client/mocks.ts
  182. +1 −1 yarn-project/p2p/src/client/p2p_client.ts
  183. +3 −3 yarn-project/p2p/src/service/libp2p_service.ts
  184. +2 −2 yarn-project/rollup-provider/src/app.ts
  185. +1 −1 yarn-project/sequencer-client/src/sequencer/public_processor.ts
  186. +1 −1 yarn-project/sequencer-client/src/sequencer/sequencer.test.ts
  187. +1 −1 yarn-project/sequencer-client/src/sequencer/sequencer.ts
  188. +5 −5 yarn-project/sequencer-client/src/simulator/public_executor.ts
  189. +3 −3 yarn-project/types/src/contract_dao.ts
  190. +10 −10 yarn-project/types/src/contract_data.ts
  191. +3 −3 yarn-project/types/src/interfaces/aztec-node.ts
  192. +4 −5 yarn-project/types/src/interfaces/aztec_rpc.ts
  193. +47 −23 yarn-project/types/src/l2_block_downloader/l2_block_downloader.ts
  194. +1 −1 yarn-project/types/src/l2_block_source.ts
  195. +3 −2 yarn-project/world-state/src/merkle-tree/merkle_tree_operations_facade.ts
  196. +148 −7 yarn-project/world-state/src/synchroniser/server_world_state_synchroniser.test.ts
  197. +61 −7 yarn-project/world-state/src/synchroniser/server_world_state_synchroniser.ts
  198. +7 −0 yarn-project/world-state/src/synchroniser/world_state_synchroniser.ts
  199. +1 −1 yarn-project/world-state/src/world-state-db/index.ts
  200. +417 −477 yarn-project/yarn.lock
19 changes: 16 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -703,7 +703,7 @@ jobs:
command: ./scripts/cond_run_script end-to-end $JOB_NAME ./scripts/run_tests_local e2e_lending_contract.test.ts
working_directory: yarn-project/end-to-end

e2e-zk-token-contract:
e2e-private-token-contract:
machine:
image: ubuntu-2004:202010-01
resource_class: large
@@ -715,6 +715,17 @@ jobs:
command: ./scripts/cond_run_script end-to-end $JOB_NAME ./scripts/run_tests_local e2e_private_token_contract.test.ts
working_directory: yarn-project/end-to-end

e2e-sandbox-example:
docker:
- image: aztecprotocol/alpine-build-image
resource_class: small
steps:
- *checkout
- *setup_env
- run:
name: "Test"
command: cond_spot_run_tests end-to-end e2e_sandbox_example.test.ts docker-compose-e2e-sandbox.yml

e2e-multi-transfer-contract:
docker:
- image: aztecprotocol/alpine-build-image
@@ -1322,7 +1333,8 @@ workflows:
- e2e-2-rpc-servers: *e2e_test
- e2e-deploy-contract: *e2e_test
- e2e-lending-contract: *e2e_test
- e2e-zk-token-contract: *e2e_test
- e2e-private-token-contract: *e2e_test
- e2e-sandbox-example: *e2e_test
- e2e-multi-transfer-contract: *e2e_test
- e2e-block-building: *e2e_test
- e2e-nested-contract: *e2e_test
@@ -1351,7 +1363,8 @@ workflows:
- e2e-2-rpc-servers
- e2e-deploy-contract
- e2e-lending-contract
- e2e-zk-token-contract
- e2e-private-token-contract
- e2e-sandbox-example
- e2e-multi-transfer-contract
- e2e-block-building
- e2e-nested-contract
3 changes: 0 additions & 3 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -28,7 +28,4 @@ jobs:
chore
refactor
docs
ci
build
perf
test
46 changes: 46 additions & 0 deletions .github/workflows/release_please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: release-please

# Trigger on merges to 'master' branch
on:
push:
branches:
- master

permissions:
contents: write
pull-requests: write

jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
with:
# Our release type is simple as all we really want is to update the changelog and trigger a github release
release-type: simple
# Self explanatory
package-name: aztec-packages
# Marks github releases as 'Pre-Release'
prerelease: true
# Our default branch
default-branch: master
# Uses the 'prerelease' versioning strategy to update the pre-release number only e.g. 0.1.0-alpha23 -> 0.1.0-alpha24
versioning-strategy: prerelease
# Don't include the component name in the tag name
include-component-in-tag: false
# Influences the versioning strategy to only update the pre-release number
bump-minor-pre-major: true
# Influences the versioning strategy to only update the pre-release number
bump-patch-for-minor-pre-major: true
# Just a bit of test at the top of the 'Release PR'
pull-request-header: ":robot: I have created a new Aztec Packages release"
# The sections into which changes are grouped on the github release notes
changelog-types: >
[
{"type":"feat","section":"Features","hidden":false},
{"type":"fix","section":"Bug Fixes","hidden":false},
{"type":"chore","section":"Miscellaneous","hidden":false},
{"type":"test","section":"Miscellaneous","hidden":false},
{"type":"refactor","section":"Miscellaneous","hidden":false},
{"type":"docs","section":"Documentation","hidden":false}
]
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Changelog

## [0.1.0-alpha46](https://github.com/AztecProtocol/aztec-packages/compare/v0.1.0-alpha45...v0.1.0-alpha46) (2023-08-24)


### Features

* CDP/Lending example contract ([#1554](https://github.com/AztecProtocol/aztec-packages/issues/1554)) ([ecf6df2](https://github.com/AztecProtocol/aztec-packages/commit/ecf6df201047dcaa61c270cdb512cdc62086b356))
* no unencrypted logs in private functions ([#1780](https://github.com/AztecProtocol/aztec-packages/issues/1780)) ([4d8002e](https://github.com/AztecProtocol/aztec-packages/commit/4d8002e0d101a14c465929d92ea05d0be6e8d99a)), closes [#1689](https://github.com/AztecProtocol/aztec-packages/issues/1689)


### Miscellaneous

* **ci:** Updated release please configuration ([#1787](https://github.com/AztecProtocol/aztec-packages/issues/1787)) ([6eb2f7a](https://github.com/AztecProtocol/aztec-packages/commit/6eb2f7abc40bae88ebeec546ad9f8f2c7d810a24))
* sync bb master ([#1776](https://github.com/AztecProtocol/aztec-packages/issues/1776)) ([7c6fb15](https://github.com/AztecProtocol/aztec-packages/commit/7c6fb15979b48d4d4d5eb5a1ea83d3c0d0ee3b5e))


### Documentation

* events ([#1768](https://github.com/AztecProtocol/aztec-packages/issues/1768)) ([5a38cea](https://github.com/AztecProtocol/aztec-packages/commit/5a38cea3f7c1567a8eea3d6c2c58cad6f79b05f2)), closes [#1756](https://github.com/AztecProtocol/aztec-packages/issues/1756)

## [0.1.0-alpha45](https://github.com/AztecProtocol/aztec-packages/compare/v0.1.0-alpha44...v0.1.0-alpha45) (2023-08-23)


### Features

* **bb:** Use an environment variable to set the transcript URL ([#1750](https://github.com/AztecProtocol/aztec-packages/issues/1750)) ([31488c1](https://github.com/AztecProtocol/aztec-packages/commit/31488c19acfdfd5ff0c3e7f242f94dc0aa049158))
* **ci:** Initial release please config ([#1769](https://github.com/AztecProtocol/aztec-packages/issues/1769)) ([4207559](https://github.com/AztecProtocol/aztec-packages/commit/42075590058b21f38b5e745af54b2062371f9ebe))
* compress debug symbols ([#1760](https://github.com/AztecProtocol/aztec-packages/issues/1760)) ([9464b25](https://github.com/AztecProtocol/aztec-packages/commit/9464b25c1a2a809db559ddc4e2d4ee5ade1fa65a))
* not retrying unrecoverable errors ([#1752](https://github.com/AztecProtocol/aztec-packages/issues/1752)) ([c0f2820](https://github.com/AztecProtocol/aztec-packages/commit/c0f28204f53152c941704ece66287eddfe13c047))


### Bug Fixes

* Download SRS using one canonical URL across the codebase ([#1748](https://github.com/AztecProtocol/aztec-packages/issues/1748)) ([899b055](https://github.com/AztecProtocol/aztec-packages/commit/899b05557365a5bf97e64793dd563a1b4bfa0f3f))
* proving fails when circuit has size > ~500K ([#1739](https://github.com/AztecProtocol/aztec-packages/issues/1739)) ([708b05c](https://github.com/AztecProtocol/aztec-packages/commit/708b05ca6638dc0d6ca7cb34fb8de76665a43b58))


### Miscellaneous

* **ci:** set up nightly barretenberg releases ([#1761](https://github.com/AztecProtocol/aztec-packages/issues/1761)) ([e0078da](https://github.com/AztecProtocol/aztec-packages/commit/e0078dabfcd9e006c2a489c7142ab141d5d81b80))
* **ci:** Updated release please config ([#1775](https://github.com/AztecProtocol/aztec-packages/issues/1775)) ([0085e8b](https://github.com/AztecProtocol/aztec-packages/commit/0085e8b17efc36256974f82525530c39ed182639))
* consistent block number method naming ([#1751](https://github.com/AztecProtocol/aztec-packages/issues/1751)) ([df1afe2](https://github.com/AztecProtocol/aztec-packages/commit/df1afe255d3095a9b2851b47480801c06d116eed))
* Use context instead of custom oracles for public functions ([#1754](https://github.com/AztecProtocol/aztec-packages/issues/1754)) ([46de77a](https://github.com/AztecProtocol/aztec-packages/commit/46de77ad3e5e91b9276146410381c69ccba1ae2b))


### Documentation

* convert quick start guides into e2e tests ([#1726](https://github.com/AztecProtocol/aztec-packages/issues/1726)) ([802a678](https://github.com/AztecProtocol/aztec-packages/commit/802a678e3dd19339cd88b105a0ce341026b58054)), closes [#1564](https://github.com/AztecProtocol/aztec-packages/issues/1564)
* including "real" code in keys docs ([#1767](https://github.com/AztecProtocol/aztec-packages/issues/1767)) ([cd9cadb](https://github.com/AztecProtocol/aztec-packages/commit/cd9cadbfb6b0311c381586799588a5f64df98f29))
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -30,6 +30,9 @@ All packages need to be included in the [build manifest](`build_manifest.json`),

Logging goes through the [`info` and `debug`](circuits/cpp/barretenberg/cpp/src/barretenberg/common/log.hpp) functions in C++, and through the [DebugLogger](yarn-project/foundation/src/log/debug.ts) module in Typescript. To see the log output, set a `DEBUG` environment variable to the name of the module you want to debug, to `aztec:*`, or to `*` to see all logs.

## Releases

Releases are driven by [release-please](https://github.com/googleapis/release-please), which maintains a 'Release PR' containing an updated CHANGELOG.md since the last release. Triggering a new release is simply a case of merging this PR to master. A [github workflow](./.github/workflows/release_please.yml) will create the tagged release triggering CircleCI to build and deploy the version at that tag.

## Contribute

36 changes: 1 addition & 35 deletions bootstrap.sh
Original file line number Diff line number Diff line change
@@ -35,38 +35,4 @@ if [ ! -f ~/.nvm/nvm.sh ]; then
fi

circuits/cpp/bootstrap.sh

if [ "$(uname)" = "Darwin" ]; then
# works around https://github.com/AztecProtocol/aztec3-packages/issues/158
echo "Note: not sourcing nvm on Mac, see github #158"
else
\. ~/.nvm/nvm.sh
fi
nvm install

cd yarn-project
yarn install --immutable

# Build the necessary dependencies for noir contracts typegen.
for DIR in foundation noir-compiler circuits.js; do
echo "Building $DIR..."
cd $DIR
yarn build
cd ..
done

# Run remake bindings before building noir contracts or l1 contracts as they depend on files created by it.
yarn --cwd circuits.js remake-bindings
yarn --cwd circuits.js remake-constants

(cd noir-contracts && ./bootstrap.sh)
(cd .. && l1-contracts/bootstrap.sh)

# Until we push .yarn/cache, we still need to install.
yarn
# We do not need to build individual packages, yarn build will build the root tsconfig.json
yarn build
cd ..

echo
echo "Success! You could now run e.g.: ./scripts/tmux-splits e2e_deploy_contract"
yarn-project/bootstrap.sh
164 changes: 164 additions & 0 deletions circuits/cpp/barretenberg/.github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
name: Publish Barretenberg
on:
workflow_dispatch:
# Allow pushing a manual nightly release
inputs:
tag:
description: The tag to build from (leave empty to build a nightly release from master)
required: false
publish:
description: Whether to publish the build artifacts
type: boolean
default: false
schedule:
# Run a nightly release at 2 AM UTC
- cron: "0 2 * * *"

permissions:
# Necessary to upload new release artifacts
contents: write

jobs:
build-linux:
name: Build on Linux
runs-on: ubuntu-20.04
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
ref: ${{ inputs.tag || env.GITHUB_REF }}

- name: Install bleeding edge cmake
run: |
sudo apt -y remove --purge cmake
sudo snap install cmake --classic
- name: Create Build Environment
run: |
sudo apt-get update
sudo apt-get -y install ninja-build yarn
- name: Install Clang16
run: |
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
tar -xvf clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
sudo cp clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/* /usr/local/bin/
sudo cp -r clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04/include/* /usr/local/include/
sudo cp -r clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/* /usr/local/lib/
sudo cp -r clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04/share/* /usr/local/share/
- name: Install yarn
run: |
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt -y update && sudo apt -y install yarn
- name: Compile Barretenberg
run: |
cd cpp
cmake --preset default -DCMAKE_BUILD_TYPE=RelWithAssert
cmake --build --preset default --target bb
- name: Install WASI-SDK
run: |
cd cpp
./scripts/install-wasi-sdk.sh
- name: Compile Typescript
run: |
cd ts
yarn install && yarn && yarn build
- name: Tar and GZip barretenberg.wasm
run: tar -cvzf barretenberg.wasm.tar.gz cpp/build-wasm/bin/barretenberg.wasm

- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: "18"
registry-url: "https://registry.npmjs.org"

- name: Deploy Typescript to NPM
run: |
cd ts
yarn deploy
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

- name: Tar and GZip bb Binary (Ubuntu)
run: tar -cvzf bb-ubuntu.tar.gz cpp/build/bin/bb

- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: release-linux-wasm
path: |
barretenberg.wasm.tar.gz
bb-ubuntu.tar.gz
build-mac:
name: Build on Mac
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ inputs.tag || env.GITHUB_REF }}

# We need clang 14.0.3 or higher, as lower versions do not seem
# to be spec conformant. In particular std::span does not seem
# to follow the specifications.
- name: Select Xcode version
run: |
sudo xcode-select -switch /Applications/Xcode_14.3.1.app
- name: Create Mac Build Environment
run: |
brew install cmake ninja
- name: Compile Barretenberg
working-directory: cpp
run: |
cmake --preset default -DCMAKE_BUILD_TYPE=RelWithAssert
cmake --build --preset default --target bb
- name: Package barretenberg artifact
working-directory: cpp/build/bin
run: |
mkdir dist
cp ./bb ./dist/bb
7z a -ttar -so -an ./dist/* | 7z a -si ./barretenberg-x86_64-apple-darwin.tar.gz
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: barretenberg-x86_64-apple-darwin
path: ./cpp/build/bin/barretenberg-x86_64-apple-darwin.tar.gz
retention-days: 3

release:
name: Publish
needs: [build-linux, build-mac]
runs-on: ubuntu-latest
steps:
- name: Download files from Linux Runner
uses: actions/download-artifact@v2
with:
name: release-linux-wasm

- name: Download files from Mac Runner
uses: actions/download-artifact@v2
with:
name: barretenberg-x86_64-apple-darwin

- name: Publish to GitHub
uses: softprops/action-gh-release@v1
if: ${{ inputs.publish || github.event_name == 'schedule' }}
with:
tag_name: ${{ inputs.tag || 'nightly' }} # This will fail if `inputs.tag` is not a tag (e.g. testing a branch)
prerelease: true
files: |
barretenberg.wasm.tar.gz
bb-ubuntu.tar.gz
barretenberg-x86_64-apple-darwin.tar.gz
Loading