Skip to content
Closed
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.14.5 (2026-04-23)

- Fixed note script compilation: all note scripts are now compiled as libraries ([#2822](https://github.com/0xMiden/protocol/pull/2822)).

## 0.14.4 (2026-04-09)

- Fixed AggLayer `write_mint_note_storage` stack padding before loading the mint serial number ([#2749](https://github.com/0xMiden/protocol/pull/2749)).

## 0.14.3 (2026-04-07)

- [BREAKING] Updated for compatibility with miden-vm v0.22.1 (`Arc<Library>` return types, `MastArtifact`/`PackageKind` removal) ([#2742](https://github.com/0xMiden/protocol/pull/2742)).
Expand Down
58 changes: 30 additions & 28 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ homepage = "https://miden.xyz"
license = "MIT"
repository = "https://github.com/0xMiden/protocol"
rust-version = "1.90"
version = "0.14.3"
version = "0.14.5"

[profile.release]
codegen-units = 1
Expand Down
2 changes: 1 addition & 1 deletion bin/bench-note-checker/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ pub fn setup_mixed_notes_benchmark(config: MixedNotesConfig) -> anyhow::Result<M
seed[0] = i as u8;
let mut rng = RandomCoin::new([i as u32, 0, 0, 0].into());
let failing_note = NoteBuilder::new(sender, &mut rng)
.code("begin push.0 div end") // Division by zero - will fail.
.code("@note_script pub proc main push.0 div end") // Division by zero - will fail.
.build()?;
failing_notes.push(failing_note);
}
Expand Down
4 changes: 3 additions & 1 deletion bin/bench-transaction/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,16 @@ path = "src/time_counting_benchmarks/prove.rs"

[dependencies]
# Workspace dependencies
miden-agglayer = { features = ["testing"], workspace = true }
miden-protocol = { features = ["testing"], workspace = true }
miden-standards = { workspace = true }
miden-testing = { workspace = true }
miden-tx = { workspace = true }

# External dependencies
anyhow = { workspace = true }
serde = { features = ["derive"], workspace = true }
rand = { workspace = true }
serde = { features = ["derive", "std"], workspace = true }
serde_json = { features = ["preserve_order"], package = "serde_json", version = "1.0" }
tokio = { features = ["macros", "rt"], workspace = true }

Expand Down
21 changes: 20 additions & 1 deletion bin/bench-transaction/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,26 @@

Below we describe how to benchmark Miden transactions.

Benchmarks consist of two groups:
### Benchmarked Transactions

The following transactions are benchmarked:

- **P2ID notes**: Consume single/two P2ID notes, create single P2ID note
- **CLAIM notes (agglayer bridge-in)**: Consume CLAIM note for L1-to-Miden bridging and L2-to-Miden bridging
- **B2AGG note (agglayer bridge-out)**: Consume B2AGG note for Miden-to-AggLayer bridging

The CLAIM note benchmarks measure the full bridge-in flow: the benchmark setup executes
prerequisite transactions (CONFIG_AGG_BRIDGE and UPDATE_GER) to prepare the bridge account,
then benchmarks the CLAIM note consumption transaction itself.

The B2AGG note benchmark measures the bridge-out flow: the benchmark setup registers a faucet
in the bridge via CONFIG_AGG_BRIDGE, then benchmarks the B2AGG note consumption which validates
the faucet, performs FPI to get origin asset data, computes the Keccak leaf hash for the MMR,
and creates a BURN note.

### Benchmark Groups

Each of the above transactions is measured in two groups:
- Benchmarking the transaction execution.

For each transaction, data is collected on the number of cycles required to complete:
Expand Down
Loading