Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
dcd7ffa
chore: use `get_balance` helper in account_delta
PhilippGackstatter Jan 27, 2026
67718c7
chore: Add `TryFrom<Word> for AssetVaultKey`
PhilippGackstatter Feb 2, 2026
2052f82
feat: refactor `asset.masm`
PhilippGackstatter Jan 29, 2026
acdc97b
feat: add `fungible_asset.masm`
PhilippGackstatter Jan 30, 2026
0374da3
feat: refactor `asset_vault.masm`
PhilippGackstatter Jan 30, 2026
9b4e83b
feat: refactor `faucet.masm`
PhilippGackstatter Jan 30, 2026
09ac617
feat: refactor `account.masm`
PhilippGackstatter Jan 30, 2026
aff2d9d
feat: refactor `account_delta.masm`
PhilippGackstatter Jan 30, 2026
7137504
feat: refactor `epilogue.masm`
PhilippGackstatter Feb 2, 2026
a8086f1
feat: refactor `output_note.masm`
PhilippGackstatter Feb 2, 2026
f7d8454
feat: refactor `prologue.masm`
PhilippGackstatter Feb 2, 2026
9be1b36
chore: increase `NOTE_MEM_SIZE` to 3072
PhilippGackstatter Feb 2, 2026
d7552fb
chore: adapt `NoteAssets` commitment
PhilippGackstatter Feb 2, 2026
798df71
feat: refactor `note.masm`
PhilippGackstatter Feb 3, 2026
d7c4094
chore: refactor `api.masm`
PhilippGackstatter Feb 3, 2026
f83cd68
chore: regenerate kernel proc hashes
PhilippGackstatter Feb 4, 2026
3ea65e5
chore: add changelog
PhilippGackstatter Feb 4, 2026
199643b
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 4, 2026
349a829
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 5, 2026
c1b163f
fix: faucet::mint output docs
PhilippGackstatter Feb 5, 2026
96fe20e
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 5, 2026
be81101
Merge branch 'next' into pgackst-kernel-asset-key-value
PhilippGackstatter Feb 5, 2026
1774785
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 6, 2026
23263d6
chore: update memory.rs input/output note memory layouts
PhilippGackstatter Feb 6, 2026
d85482b
fix: duplicate num assets in memory.rs table
PhilippGackstatter Feb 6, 2026
e6909da
feat: move `build_asset_vault_key` to shared utils
PhilippGackstatter Feb 4, 2026
2f200d5
feat: refactor `faucet::mint`
PhilippGackstatter Feb 5, 2026
02502ee
feat: refactor `faucet::burn`
PhilippGackstatter Feb 5, 2026
2a6cc50
chore: refactor `create_non_fungible_asset` for uniformity
PhilippGackstatter Feb 5, 2026
01a0591
feat: refactor `native_account::remove_asset`
PhilippGackstatter Feb 5, 2026
7256ad2
chore: move `mock::util` lib to miden-standards
PhilippGackstatter Feb 5, 2026
d3c7220
feat: refactor `move_asset_to_note`
PhilippGackstatter Feb 5, 2026
82df521
feat: add asset key to SWAP storage
PhilippGackstatter Feb 5, 2026
0b650bf
feat: refactor `native_account::add_asset`
PhilippGackstatter Feb 5, 2026
5ff13bd
chore: refactor `receive_asset`
PhilippGackstatter Feb 5, 2026
b8bab15
feat: refactor `output_note::add_asset`
PhilippGackstatter Feb 6, 2026
6a8dfd9
chore: deduplicate epilogue asset preservation test
PhilippGackstatter Feb 6, 2026
21b0b02
chore: remove re-export of vault key builder procedures
PhilippGackstatter Feb 6, 2026
fc0e850
chore: regenerate kernel procedure hashes
PhilippGackstatter Feb 6, 2026
77f4984
chore: add changelog
PhilippGackstatter Feb 6, 2026
8530a46
fix: doc link to mock util lib
PhilippGackstatter Feb 6, 2026
b360b7d
chore: improve send_note_body impl and test
PhilippGackstatter Feb 6, 2026
b1af2ca
fix: replace leftover `ASSET`s with `ASSET_VALUE`
PhilippGackstatter Feb 6, 2026
23daea6
chore: update protocol library docs
PhilippGackstatter Feb 6, 2026
1a9963f
fix: rename leftover `ASSET` to `ASSET_VALUE`
PhilippGackstatter Feb 6, 2026
136678c
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 9, 2026
abb0a94
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 9, 2026
7ca82dd
chore: remove unused error
PhilippGackstatter Feb 9, 2026
e11fb33
chore: regenerate tx kernel errors
PhilippGackstatter Feb 9, 2026
f2f062c
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 10, 2026
65a15aa
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 10, 2026
60a00c7
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 11, 2026
fd47b2e
chore: improve note assets commitment computation
PhilippGackstatter Feb 11, 2026
51c91f2
fix: input notes memory assertions
PhilippGackstatter Feb 11, 2026
d8de731
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 11, 2026
625a3c8
chore: add renamed procedures to changelog
PhilippGackstatter Feb 11, 2026
04a5fef
fix: incorrect stack and doc comment
PhilippGackstatter Feb 11, 2026
f416eec
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 12, 2026
ac817c4
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 12, 2026
955d92b
fix: p2id::new test
PhilippGackstatter Feb 12, 2026
eb30d26
feat: validate new asset layouts
PhilippGackstatter Feb 9, 2026
eea3291
chore: update asset procedure calls in faucet
PhilippGackstatter Feb 9, 2026
710c4ac
feat: add create_fungible_asset_unchecked
PhilippGackstatter Feb 9, 2026
c0d5af8
chore: change has_non_fungible_asset to take asset key
PhilippGackstatter Feb 9, 2026
6349f9f
feat: include full faucet ID limbs in asset delta
PhilippGackstatter Feb 10, 2026
fc47776
chore: remove into `Word` conversions for assets
PhilippGackstatter Feb 10, 2026
4b5fd93
feat: Implement strongly typed asset vault key
PhilippGackstatter Feb 10, 2026
3fc8b42
chore: temporarily remove asset vault key hash
PhilippGackstatter Feb 10, 2026
53d5b1d
chore: remove asset from word conversion
PhilippGackstatter Feb 11, 2026
706e801
feat: update `Asset` docs
PhilippGackstatter Feb 11, 2026
0c5bb28
chore: remove unused (non-)fungible asset builders
PhilippGackstatter Feb 11, 2026
883cdb3
feat: refactor asset serialization and tests
PhilippGackstatter Feb 11, 2026
27cf64b
chore: add validation in get_asset and get_initial_asset
PhilippGackstatter Feb 11, 2026
bc34f2e
chore: adapt miden-standards to changed asset def
PhilippGackstatter Feb 12, 2026
4e701b6
chore: adapt miden-tx to changed asset def
PhilippGackstatter Feb 12, 2026
01ade5b
feat: return native asset ID and fee amount as tx output
PhilippGackstatter Feb 12, 2026
b431aaa
chore: update create_non_fungible_asset faucet/asset APIs
PhilippGackstatter Feb 12, 2026
15963ee
chore: adapt tests to new asset layouts
PhilippGackstatter Feb 12, 2026
9358879
feat: validate asset ID prefix in non-fungible assets
PhilippGackstatter Feb 12, 2026
201e062
chore: drop trailing "asset" from `asset::validate_asset`
PhilippGackstatter Feb 12, 2026
14ae7c8
chore: rewrite asset validation tests
PhilippGackstatter Feb 12, 2026
8f8c577
chore: merge validate_value in `fungible_asset`
PhilippGackstatter Feb 12, 2026
6fe782b
chore: remove unused build_asset_vault_key procedures
PhilippGackstatter Feb 12, 2026
b7ebe5b
chore: remove `LexicographicWord` wrapper in non-fungible asset delta
PhilippGackstatter Feb 12, 2026
cfac902
chore: update asset::create_non_fungible_asset signature in docs
PhilippGackstatter Feb 12, 2026
12370c9
fix: test name, vault key display impl, remove unused errors
PhilippGackstatter Feb 12, 2026
a3af7a6
fix: intra doc links
PhilippGackstatter Feb 12, 2026
ddf536a
chore: add changelog
PhilippGackstatter Feb 12, 2026
1550298
Initial plan
Copilot Feb 12, 2026
c4bf16a
Address review nits: add load_asset_key_and_value utility, use explic…
Copilot Feb 12, 2026
e81a8ea
Fix load_asset_key_and_value procedure and usages in prologue and epi…
Copilot Feb 12, 2026
7a57963
Run cargo fmt to fix formatting issues
Copilot Feb 12, 2026
1ce31fa
Rename asset_value back to asset in tx_event.rs
Copilot Feb 14, 2026
7bb2c67
Run cargo fmt to fix formatting after variable rename
Copilot Feb 14, 2026
e0ac414
Merge pull request #2438 from 0xMiden/copilot/sub-pr-2396
PhilippGackstatter Feb 14, 2026
525d94f
Merge branch 'next' into pgackst-kernel-asset-key-value
PhilippGackstatter Feb 14, 2026
7639505
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 14, 2026
2169c67
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 14, 2026
0a49bb4
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 16, 2026
0ff5601
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 16, 2026
b1bd887
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 16, 2026
baf7474
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 17, 2026
76f343e
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 17, 2026
cb789d6
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 17, 2026
2aadfc0
chore: simplify fungible_asset merge and add split
PhilippGackstatter Feb 19, 2026
14e80e5
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 19, 2026
2d42665
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 19, 2026
8d5f5d2
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 19, 2026
7abde8b
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 20, 2026
c06263a
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 20, 2026
6ee5980
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 20, 2026
c37323d
chore: remove outdated edge case handling in vault
PhilippGackstatter Feb 21, 2026
8c82bea
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 23, 2026
98bf47d
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 23, 2026
7f6f05f
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 23, 2026
e31542d
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 24, 2026
ee4ccff
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 24, 2026
97d02da
fix: avoid using undeclared stack
PhilippGackstatter Feb 24, 2026
934f049
feat: reexport asset::mem_load
PhilippGackstatter Feb 24, 2026
fa660cd
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 24, 2026
8ddcfd2
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 24, 2026
be7a28f
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 24, 2026
9fc1662
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 25, 2026
f90acc8
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 25, 2026
9727700
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 25, 2026
4a552a1
feat: Add `Asset::as_elements`
PhilippGackstatter Feb 25, 2026
069ba66
chore: use `asset::mem_load` in swap note
PhilippGackstatter Feb 25, 2026
ca6f8da
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 25, 2026
25e1d54
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Feb 26, 2026
e4bc64f
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Feb 26, 2026
c401798
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Feb 26, 2026
ea88aca
fix: update agglayer::bridge::bridge_out to new asset layout
PhilippGackstatter Feb 26, 2026
3360252
chore: remove `Ord for Asset` impl
PhilippGackstatter Feb 26, 2026
e38c1de
chore: re-add error when asset-to-be-removed is not present
PhilippGackstatter Feb 26, 2026
12cdc84
chore: remove whitespace in docs
PhilippGackstatter Feb 26, 2026
905d840
chore: reword non-fungible asset key collision resistance
PhilippGackstatter Mar 2, 2026
315864b
chore: add `AssetId::is_empty`
PhilippGackstatter Mar 2, 2026
cbe9715
chore: remove unnecessary imports in `AssetVault`
PhilippGackstatter Mar 2, 2026
7430f73
chore: spell out asset key layout in has_non_fungible_asset
PhilippGackstatter Mar 2, 2026
d3e9b6b
chore: validate account ID type in AssetVaultKey::new
PhilippGackstatter Mar 2, 2026
a613e94
fix: typo in Asset docs
PhilippGackstatter Mar 2, 2026
a7c52b2
Merge remote-tracking branch 'origin/next' into pgackst-kernel-asset-…
PhilippGackstatter Mar 2, 2026
9f61f79
Merge branch 'pgackst-kernel-asset-key-value' into pgackst-user-asset…
PhilippGackstatter Mar 2, 2026
b7bb8c2
Merge branch 'pgackst-user-asset-key-value' into pgackst-asset-layout
PhilippGackstatter Mar 2, 2026
206ec8d
chore: prefix `get/into_faucet_id` with `key`
PhilippGackstatter Mar 2, 2026
fc6fcef
chore: prefix `get/into_asset_id` with `key`
PhilippGackstatter Mar 2, 2026
2963fe1
chore: suffix `is_(non_)fungible_asset` with `key`
PhilippGackstatter Mar 2, 2026
24a98a6
Merge remote-tracking branch 'origin/next' into pgackst-asset-layout
PhilippGackstatter Mar 3, 2026
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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
- [BREAKING] Refactored assets in the tx kernel and `miden::protocol` from one to two words, i.e. `ASSET` becomes `ASSET_KEY` and `ASSET_VALUE` ([#2396](https://github.com/0xMiden/miden-base/pull/2396), [#2410](https://github.com/0xMiden/miden-base/pull/2410)).
- [BREAKING] Rename `miden::protocol::asset::build_fungible_asset` to `miden::protocol::asset::create_fungible_asset` ([#2410](https://github.com/0xMiden/miden-base/pull/2410)).
- [BREAKING] Rename `miden::protocol::asset::build_non_fungible_asset` to `miden::protocol::asset::create_non_fungible_asset` ([#2410](https://github.com/0xMiden/miden-base/pull/2410)).
- [BREAKING] Change the layout of fungible and non-fungible assets ([#2437](https://github.com/0xMiden/miden-base/pull/2437)).
- [BREAKING] Refactored assets in the tx kernel from one to two words, i.e. `ASSET` becomes `ASSET_KEY` and `ASSET_VALUE` ([#2396](https://github.com/0xMiden/miden-base/pull/2396)).
- Unified the underlying representation of `ExitRoot` and `SmtNode` and use type aliases ([#2387](https://github.com/0xMiden/miden-base/pull/2387)).
- [BREAKING] Moved padding to the end of `CLAIM` `NoteStorage` layout ([#2405](https://github.com/0xMiden/miden-base/pull/2405)).
Expand Down
24 changes: 11 additions & 13 deletions crates/miden-agglayer/asm/agglayer/bridge/bridge_out.masm
Original file line number Diff line number Diff line change
Expand Up @@ -215,26 +215,25 @@ end
#!
#! Invocation: exec
proc convert_asset
# => [faucet_id_prefix, faucet_id_suffix, 0, 0, faucet_id_prefix, faucet_id_suffix, 0, amount]

# --- Step 1: Assert faucet is registered ---
swapw
exec.asset::get_balance_from_fungible_asset
movdn.4
# => [ASSET_KEY, amount]

exec.asset::key_into_faucet_id
# => [faucet_id_prefix, faucet_id_suffix, amount]

dup.1 dup.1
exec.bridge_config::assert_faucet_registered
dropw
# => [faucet_id_prefix, faucet_id_suffix, 0, amount]
# => [faucet_id_prefix, faucet_id_suffix, amount]

# --- Step 2: FPI to faucet's asset_to_origin_asset ---

# Drop the zero padding between faucet_id and amount.
# TODO(expand_assets): Use asset::get_faucet_id helper.
movup.2 drop
# => [faucet_id_prefix, faucet_id_suffix, amount]

procref.agglayer_faucet::asset_to_origin_asset
# => [PROC_MAST_ROOT(4), faucet_id_prefix, faucet_id_suffix, amount]

# Move faucet_id above PROC_MAST_ROOT
# TODO(expand_assets): This needs an update in 2437.
movup.5 movup.5
# => [faucet_id_prefix, faucet_id_suffix, PROC_MAST_ROOT(4), amount]

Expand Down Expand Up @@ -466,8 +465,7 @@ proc create_burn_note
exec.asset::mem_store
# => [ASSET_KEY]

# TODO(expand_assets): Use asset::get_faucet_id helper.
dupw movup.2 drop movup.2 drop
dupw exec.asset::key_to_faucet_id
# => [faucet_id_prefix, faucet_id_suffix, ASSET_KEY]

# Create NetworkAccountTarget attachment for the faucet
Expand Down Expand Up @@ -531,6 +529,6 @@ proc create_burn_note

# TODO: Check where the extra elements are coming from by adding pad comments throughout the
# procedure.
drop
dropw drop
# => []
end
2 changes: 1 addition & 1 deletion crates/miden-agglayer/asm/note_scripts/B2AGG.masm
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ begin
push.STORAGE_START_PTR add.4 mem_loadw_le swapw mem_loadw_le.STORAGE_START_PTR
# => [dest_network, dest_address(5), pad(10)]

# Load ASSET_VALUE onto the stack from ASSET_PTR + ASSET_VALUE_MEMORY_OFFSET
# Load asset onto the stack from ASSET_PTR
push.ASSET_PTR exec.asset::mem_load
# => [ASSET_KEY, ASSET_VALUE, dest_network, dest_address(5), pad(10)]

Expand Down
6 changes: 4 additions & 2 deletions crates/miden-protocol/asm/kernels/transaction/api.masm
Original file line number Diff line number Diff line change
Expand Up @@ -628,7 +628,8 @@ end
#!
#! Invocation: dynexec
pub proc account_get_asset
# TODO(expand_assets): Validate ASSET_KEY once validation logic exists.
exec.asset::validate_key
# => [ASSET_KEY, pad(12)]

exec.account::get_asset
# => [ASSET_VALUE, pad(12)]
Expand All @@ -646,7 +647,8 @@ end
#!
#! Invocation: dynexec
pub proc account_get_initial_asset
# TODO(expand_assets): Validate ASSET_KEY once validation logic exists.
exec.asset::validate_key
# => [ASSET_KEY, pad(12)]

exec.account::get_initial_asset
# => [ASSET_VALUE, pad(12)]
Expand Down
Loading