Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.87.2"
".": "0.87.3"
}
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# Changelog

## [0.87.3](https://github.com/AztecProtocol/aztec-packages/compare/v0.87.2...v0.88.0) (2025-05-22)


### ⚠ BREAKING CHANGES

* Removes normalize() calls on pairing points ([#14285](https://github.com/AztecProtocol/aztec-packages/issues/14285))

### Features

* Adds StarknetZK WASM bindings to bb.js ([#14372](https://github.com/AztecProtocol/aztec-packages/issues/14372)) ([224b219](https://github.com/AztecProtocol/aztec-packages/commit/224b219356f8094853e817d6a00e10b7ae5f887d))
* Removes normalize() calls on pairing points ([#14285](https://github.com/AztecProtocol/aztec-packages/issues/14285)) ([942b948](https://github.com/AztecProtocol/aztec-packages/commit/942b94825d019279e93c26732f45d0b82fd8998d))
* unbundled bb.js ([#14401](https://github.com/AztecProtocol/aztec-packages/issues/14401)) ([e0d9662](https://github.com/AztecProtocol/aztec-packages/commit/e0d96625c97dc95d90b533968ec42626e6d88618))
* validating partial note sender ([#14379](https://github.com/AztecProtocol/aztec-packages/issues/14379)) ([de9880c](https://github.com/AztecProtocol/aztec-packages/commit/de9880c3d564f1315c59dcd5a252e5461c69e897)), closes [#14363](https://github.com/AztecProtocol/aztec-packages/issues/14363)


### Bug Fixes

* bump defaults ([#14474](https://github.com/AztecProtocol/aztec-packages/issues/14474)) ([ade9a56](https://github.com/AztecProtocol/aztec-packages/commit/ade9a56aeb7c0adaeb72ff518858ad152228baed))
* eccvm_circuit_builder overrun ([#14484](https://github.com/AztecProtocol/aztec-packages/issues/14484)) ([5e01c07](https://github.com/AztecProtocol/aztec-packages/commit/5e01c07afa22e04c0c4554a9acbf22d8a8f90f70))
* issues with syncNotes --> syncPrivateState renaming ([#14442](https://github.com/AztecProtocol/aztec-packages/issues/14442)) ([78de410](https://github.com/AztecProtocol/aztec-packages/commit/78de4109fdda96180a549cc22a2134057bbc784d))
* **playground:** fix sfpc version when creating account ([#14481](https://github.com/AztecProtocol/aztec-packages/issues/14481)) ([5486a22](https://github.com/AztecProtocol/aztec-packages/commit/5486a22ae7777b2c3a6187f3439d722032aded3b))
* update sponsored fpc address in playground ([#14472](https://github.com/AztecProtocol/aztec-packages/issues/14472)) ([4c14bc9](https://github.com/AztecProtocol/aztec-packages/commit/4c14bc906c248cb9b2597af84a1129d35f8b6e0e))
* wip merge master to next ([249ab4c](https://github.com/AztecProtocol/aztec-packages/commit/249ab4c966d31e1c3fe3a4b33b2b0614abb032ae))
* wip merge master to next ([b7850c9](https://github.com/AztecProtocol/aztec-packages/commit/b7850c94a796ddcef1a8a4a524b2577e6c499212))

## [0.87.2](https://github.com/AztecProtocol/aztec-packages/compare/v0.87.1...v0.87.2) (2025-05-21)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ In this tutorial you will learn how to:

We are going to start with a blank project and fill in the token contract source code defined [here (GitHub Link)](https://github.com/AztecProtocol/aztec-packages/blob/#include_aztec_version/noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr), and explain what is being added as we go.

This tutorial is compatible with the Aztec version `#include_aztec_version`. Install the correct version with `aztec-up #include_version_without_prefix`. Or if you'd like to use a different version, you can find the relevant tutorial by clicking the version dropdown at the top of the page.
This tutorial is compatible with the Aztec version `#include_aztec_version`. Install the correct version with `aztec-up -v #include_version_without_prefix`. Or if you'd like to use a different version, you can find the relevant tutorial by clicking the version dropdown at the top of the page.

## Requirements

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ However if one wants to implement authorization logic containing signatures (e.g

This is a snippet of our Schnorr Account contract implementation, which uses Schnorr signatures for authentication:

```rust title="is_valid_impl" showLineNumbers
```rust title="is_valid_impl" showLineNumbers
// Load public key from storage
let storage = Storage::init(context);
let public_key = storage.signing_public_key.get_note();
Expand All @@ -102,7 +102,7 @@ let pub_key = std::embedded_curve_ops::EmbeddedCurvePoint {
// Verify signature of the payload bytes
schnorr::verify_signature(pub_key, signature, outer_hash.to_be_bytes::<32>())
```
> <sup><sub><a href="https://github.com/AztecProtocol/aztec-packages/blob/v0.87.0/noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L65-L86" target="_blank" rel="noopener noreferrer">Source code: noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L65-L86</a></sub></sup>
> <sup><sub><a href="https://github.com/AztecProtocol/aztec-packages/blob/v0.87.3/noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L65-L86" target="_blank" rel="noopener noreferrer">Source code: noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L65-L86</a></sub></sup>


### Storing signing keys
Expand All @@ -117,10 +117,10 @@ Storing the signing public key in a private note makes it accessible from the `e

Using an immutable private note removes the need to nullify the note on every read. This generates no nullifiers or new commitments per transaction. However, it does not allow the user to rotate their key.

```rust title="public_key" showLineNumbers
```rust title="public_key" showLineNumbers
signing_public_key: PrivateImmutable<PublicKeyNote, Context>,
```
> <sup><sub><a href="https://github.com/AztecProtocol/aztec-packages/blob/v0.87.0/noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L28-L30" target="_blank" rel="noopener noreferrer">Source code: noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L28-L30</a></sub></sup>
> <sup><sub><a href="https://github.com/AztecProtocol/aztec-packages/blob/v0.87.3/noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L28-L30" target="_blank" rel="noopener noreferrer">Source code: noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L28-L30</a></sub></sup>


:::note
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ We also need to create a point for the owner of the FPC (whom we call Bob) to re
So in the contract we compute $\text{rand}_b := h(\text{rand}_a, \text{msg sender})$.

:::warning
We need to use different randomness for Bob's note here to avoid potential privacy leak (see [description](https://github.com/AztecProtocol/aztec-packages/blob/v0.87.0/noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L491) of `setup_refund` function)
We need to use different randomness for Bob's note here to avoid potential privacy leak (see [description](https://github.com/AztecProtocol/aztec-packages/blob/v0.87.3/noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L491) of `setup_refund` function)
:::

$$
Expand Down Expand Up @@ -144,7 +144,7 @@ We can see the complete implementation of creating and completing partial notes

#### `fee_entrypoint_private`

```rust title="fee_entrypoint_private" showLineNumbers
```rust title="fee_entrypoint_private" showLineNumbers
#[private]
fn fee_entrypoint_private(max_fee: u128, nonce: Field) {
let accepted_asset = storage.config.read().accepted_asset;
Expand All @@ -170,15 +170,15 @@ fn fee_entrypoint_private(max_fee: u128, nonce: Field) {
context.set_as_fee_payer();
}
```
> <sup><sub><a href="https://github.com/AztecProtocol/aztec-packages/blob/v0.87.0/noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L78-L103" target="_blank" rel="noopener noreferrer">Source code: noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L78-L103</a></sub></sup>
> <sup><sub><a href="https://github.com/AztecProtocol/aztec-packages/blob/v0.87.3/noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L78-L103" target="_blank" rel="noopener noreferrer">Source code: noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L78-L103</a></sub></sup>


The `fee_entrypoint_private` function sets the `complete_refund` function to be called at the end of the public function execution (`set_public_teardown_function`).
This ensures that the refund partial note will be completed for the user.

#### `complete_refund`

```rust title="complete_refund" showLineNumbers
```rust title="complete_refund" showLineNumbers
#[public]
#[internal]
fn _complete_refund(
Expand All @@ -201,7 +201,7 @@ fn _complete_refund(
);
}
```
> <sup><sub><a href="https://github.com/AztecProtocol/aztec-packages/blob/v0.87.0/noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L107-L129" target="_blank" rel="noopener noreferrer">Source code: noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L107-L129</a></sub></sup>
> <sup><sub><a href="https://github.com/AztecProtocol/aztec-packages/blob/v0.87.3/noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L107-L129" target="_blank" rel="noopener noreferrer">Source code: noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L107-L129</a></sub></sup>


## Note discovery
Expand Down
Loading