Skip to content

Commit

Permalink
[no ci] migration notes
Browse files Browse the repository at this point in the history
  • Loading branch information
benesjan committed Jan 20, 2025
1 parent 5436baa commit 2d64573
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions docs/docs/migration_notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,27 @@ Aztec is in full-speed development. Literally every version breaks compatibility
### [Aztec.nr] Removal of `getSiblingPath` oracle
Use `getMembershipWitness` oracle instead that returns both the sibling path and index.

### [Aztec.nr] Introduction of `Packable` trait
We have introduced a `Packable` trait allows types to be serialized and deserialized with a focus on minimizing the size of the resulting Field array, even at the cost of additional constraints.
This is in contrast to the `Serialize` and `Deserialize` traits, which prioritize minimizing constraint costs but may result in larger arrays.
This is a breaking change because we now require `Packable` trait implementation for any type that is to be stored in contract storage.

Example implementation of Packable trait for `U128` type from `noir::std`:

```
use crate::traits::{Packable, ToField};
impl Packable<U128_PACKED_LEN> for U128 {
fn pack(self) -> [Field; U128_PACKED_LEN] {
[self.to_field()]
}
fn unpack(fields: [Field; U128_PACKED_LEN]) -> Self {
U128::from_integer(fields[0])
}
}
```

## 0.68.0
### [archiver, node, pxe] Remove contract artifacts in node and archiver and store function names instead
Contract artifacts were only in the archiver for debugging purposes. Instead function names are now (optionally) emitted
Expand Down

0 comments on commit 2d64573

Please sign in to comment.