Skip to content

chore: upgrade vm & crypto#2320

Open
juan518munoz wants to merge 2 commits into
nextfrom
jmunoz-update-miden-vm
Open

chore: upgrade vm & crypto#2320
juan518munoz wants to merge 2 commits into
nextfrom
jmunoz-update-miden-vm

Conversation

@juan518munoz

@juan518munoz juan518munoz commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

Continuation of #2282

Upgrades miden-vm and miden-crypto to its latest versions.

Changelog

[[entry]]
scope       = "protocol"
impact      = "breaking"
description = "Upgraded `miden-vm` to v0.24 and `miden-crypto` to v0.27 (via the `miden-protocol` `next` branch). The minimum supported Rust version is now 1.96. Vault keys are now the typed `AssetId` and the asset callback flag moved into the faucet's account ID. The `LargeSmt` on-disk layout changed (in-memory horizon moved from depth 24 to depth 16)."

@juan518munoz juan518munoz marked this pull request as ready for review July 7, 2026 19:47
Comment thread bin/benchmark/Cargo.toml
futures = { workspace = true }
miden-node-proto = { workspace = true }
miden-node-utils = { workspace = true }
miden-processor = { workspace = true } # TODO: removable by re-exporting LoadedMastForest from miden-tx

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to create an issue for this?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sergerad sergerad left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I'm unfamiliar with the MASM and AccountId changes. Also the RocksDbStorage will be removed soon so its not super important.

@igamigo igamigo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Left some minor comments. Feel free to disregard the nits if you prefer the current approaches.

let delta = delta.get();
let source = format!(
"begin\n push.{delta} exec.::miden::protocol::tx::update_expiration_block_delta\nend"
"@transaction_script\npub proc main\n push.{delta} exec.::miden::protocol::tx::update_expiration_block_delta\nend"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I think we could write this in a multi-line string to make it just a bit more readable

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually I think this would be replaced soon with the usage of ExpirationTransactionScript so no need to do anything (or maybe change this to use that if it's simple enough?)

miden-node-proto = { workspace = true }
miden-node-proto-build = { features = ["internal"], workspace = true }
miden-node-utils = { workspace = true }
miden-processor = { workspace = true } # TODO: removable by re-exporting LoadedMastForest from miden-tx

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that this can be addressed now as the PR was merged, leaving this comment just to track that

.compile_component_code("benchmark::storage_map", "pub proc noop push.0 drop end")
.compile_component_code(
"benchmark::storage_map",
"@account_procedure pub proc noop push.0 drop end",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: This reads a bit weird now so maybe it could be laid out in multiple lines

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't review this as I assume it's the same as the crypto backend which is getting removed soon. Some name constants appear to not be identical but this should be no problem AFAICT.

I think we are still nuking the database once 0.16 is released, but if we are not there should be a migration path for the persisted trees. cc @Mirko-von-Leipzig @sergerad just in acse

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are actually removing RocksDbStorage from miden-node, and keeping it in crypto. Opposite of what the linked issue states. I have added a comment to the issue to make sure all are aligned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants