Releases: 0xMiden/protocol
Releases · 0xMiden/protocol
v0.14.5
v0.14.4
What's Changed
- fix(agglayer): must
padwbefore loadingSERIAL_NUMby @mmagician in #2749 - chore: release v0.14.4 by @mmagician in #2751
Full Changelog: v0.14.3...v0.14.4
v0.14.3
v0.14.2
v0.14.1
v0.14.0
Features
- Added single-word
Arraystandard (#2203). - Added
SignedBlockstruct (#2355). - Enabled
CodeBuilderto add advice map entries to compiled scripts (#2275). - Implemented verification of AggLayer deposits (claims) against GER (#2288, #2295).
- Added
Ownable2Stepaccount component with two-step ownership transfer (transfer_ownership,accept_ownership,renounce_ownership) andowner,nominated_ownerprocedures (#2292). - Added double-word array data structure abstraction over storage maps (#2299).
- Added
BlockNumber::MAXconstant to represent the maximum block number (#2324). - Introduced
TokenMetadatatype to encapsulate fungible faucet metadata (#2344). - Added
PackageKindandProcedureExport(#2358). - Added
AccountTargetNetworkNotetype andNetworkNoteExttrait withis_network_note()/as_account_target_network_note()helpers (#2365). - [BREAKING] Added
get_assetandget_initial_assetkernel procedures and removedget_balance,get_initial_balanceandhas_non_fungible_assetkernel procedures (#2369). - Added
p2id::newMASM constructor procedure for creating P2ID notes from MASM code (#2381). - Implemented
assert_valid_gerprocedure for verifying GER against storage (#2388). - Added
P2idNoteStorageandP2ideNoteStorage(#2389). - Added
StandardNote::from_script_root()andStandardNote::name()methods, and exposedNoteTypePUBLIC/PRIVATEmasks as public constants (#2411). - Resolve standard note scripts directly in
TransactionExecutorHostinstead of querying the data store (#2417). - Added AggLayer faucet registry to bridge account with conversion metadata,
CONFIG_AGG_BRIDGEnote for faucet registration, and FPI-based asset conversion inbridge_out(#2426). - Added
DEFAULT_TAGconstant tomiden::standards::note_tagMASM module (#2482). - Added
NoteExecutionHintvariant constants (NONE,ALWAYS,AFTER_BLOCK,ON_BLOCK_SLOT) tomiden::standards::note::execution_hintMASM module (#2493). - Added
Packagesupport inMockChainBuilder&NoteScript(#2502). - Added PSM authentication procedures and integrated them into
AuthMultisig(#2527). - Added
CodeBuilder::with_warnings_as_errors()to promote assembler warning diagnostics to errors (#2558). - Added
MintPolicyConfigfor flexible minting policy enforcement (#2559) - Added
MockChain::add_pending_batch()to allow submitting user batches directly (#2565). - Implemented the
on_before_asset_added_to_accountasset callback (#2571). - Added
ProgramExecutorhooks to support DAP and other custom transaction program executors (#2574). - Added
create_fungible_keyfor construction of fungible asset keys (#2575). - Added metadata hash storage to AggLayer faucet and FPI retrieval during bridge-out leaf construction (#2583).
- Added
SwapNoteStoragefor typed serialization/deserialization of SWAP note storage (#2585). - Added
InputNoteCommitment::from_parts()for construction of input note commitments from a nullifier and optional note header (#2588). - Added
boolschema type to the type registry and updated ACL auth component to use it for boolean config fields (#2591). - Implemented the
on_before_asset_added_to_noteasset callback (#2595). - Added
component_metadata()to all account components to expose their metadata (#2596). - [BREAKING] Changed
native_account::remove_assetto return the asset value remaining in the vault instead of the removed value (#2626). - Implemented
TransactionEventId::event_nameandHost::resolve_eventfor better VM diagnostics during even handler failures (#2628). - Added
FixedWidthStringfor fixed-width UTF-8 string storage inmiden-standards(miden::standards::utils::string). (#2633)
Changes
- [BREAKING] Renamed
NoteInputstoNoteStorageto better reflect that values are stored data associated with a note rather than inputs (#1662, #2316). - Introduced NOTE_MAX_SIZE (256 KiB) and enforce it on individual output notes (#2205, #2651).
- Restructured
miden-agglayer/asmdirectory to separate bridge and faucet into per-component libraries, preventing cross-component procedure exposure (#2294). - Skip requests to the
DataStorefor asset vault witnesses which are already in transaction inputs (#2298). - [BREAKING] Refactored
TransactionAuthenticator::get_public_key()method to returnArc<PublicKey>instead of&PublicKey(#2304). - Removed
NoteType::Encrypted(#2315). - [BREAKING] Updated note tag length to support up to 32 bits (#2329).
- [BREAKING] Renamed
WellKnownComponenttoStandardAccountComponent,WellKnownNotetoStandardNote, andWellKnownNoteAttachmenttoStandardNoteAttachment(#2332). - Added B2AGG and UPDATE_GER note attachment target checks (#2334).
- Removed protocol-reserved faucet sysdata storage slot (#2335).
- [BREAKING] Moved standard note code into individual note modules (#2363).
- [BREAKING] Prefixed transaction kernel events with
miden::protocol(#2364). - [BREAKING] Added
miden::standards::note_tagmodule for account target note tags (#2366). - [BREAKING] Made
AccountComponentMetadataa required parameter ofAccountComponent::new(); removedwith_supported_type,with_supports_all_types, andwith_metadatamethods fromAccountComponent; simplifiedAccountComponentMetadata::new()to take justname; renamedAccountComponentTemplateErrortoComponentMetadataError(#2373, #2395). - [BREAKING] Changed note scripts to be compiled as libraries with
@note_scriptannotation for marking the entrypoint procedure (#2339, #2374). - Made kernel procedure offset constants public and replaced accessor procedures with direct constant usage (#2375).
- Removed redundant note storage item count from advice map (#2376).
- Added
miden::protocol::authmodule with public auth event constants (#2377). - Moved
NoteExecutionHinttomiden-standards(#2378). - [BREAKING] Simplified
NoteMetadata::new()constructor to not require tag parameter; tag defaults to zero and can be set viawith_tag()builder method (#2384). - Unified the underlying representation of
ExitRootandSmtNodeand use type aliases (#2387). - Changed GER storage to a map (#2388).
- [BREAKING] Consolidated authentication components ([#2390] (#2390))
- [BREAKING] Refactored assets in the tx kernel and
miden::protocolfrom one to two words, i.e.ASSETbecomesASSET_KEYandASSET_VALUE(#2396, #2410). - Fixed MASM inline comment casing to adhere to commenting conventions (#2398).
- Prefixed standar...
v0.14.0-rc.1
What's Changed
- feat(AggLayer): bridging spec by @mmagician in #2469
- Fix numbering and formatting in algorithm steps by @krlosMata in #2547
- feat: support bool types on schemas by @igamigo in #2591
- fix: move recompute logic to
OutputNoteBuilder::add_assetto avoid repeated hashing by @PoulavBhowmick03 in #2577 - Create storage helpers for
AggLayerBridgeby @Fumuran in #2562 - feat: expose
AccountComponentMetadatathrough public method by @juan518munoz in #2596 - Fix
TokenSymbol::try_from(Felt)underflow by @Himess in #2568 - feat: implement asset callbacks by @PhilippGackstatter in #2571
- feat: implement
on_before_asset_added_to_notecallback by @PhilippGackstatter in #2595 - feat: validate asset metadata by @PhilippGackstatter in #2609
- refactor: reorient
CLAIMnote consumption flow by @partylikeits1983 in #2528 - Flexible Minting Policies for Token Standards by @onurinanc in #2559
- feat(agglayer): process CLAIM notes from a rollup by @mmagician in #2573
- Compute claimed global index chain hash by @Fumuran in #2516
- refactor: move storage schema component into a separate file by @bobbinth in #2603
- chore(AggLayer):
verify_leaf_bridgeis no longer part of the bridge interface by @mmagician in #2612 - feat: add
Packagesupport inMockChainBuilder&NoteScriptby @lima-limon-inc in #2502 - Refactor asset handling and introduce SwapNoteStorage by @PoulavBhowmick03 in #2592
- feat: add callback docs by @PhilippGackstatter in #2604
- Add hooks to enable TX debugging by @djolertrk in #2574
- feat: implement CLAIM note nullifier tracking by @partylikeits1983 in #2610
- Migrate to Miden VM
v0.22.0-alpha.1by @Fumuran in #2625 - AggLayer: Normalize storage slot naming by @Fumuran in #2521
- feat: add FixedWidthString utility by @afa7789 in #2633
- feat(agglayer): store and use metadata hash for bridge-out leaves by @mmagician in #2583
- feat: implement
TransactionEventId::event_nameand host name resolution by @PhilippGackstatter in #2628 - chore: merge tx kernel audit fixes to
nextby @PhilippGackstatter in #2635 - feat: change
native_account::remove_assetto return the remaining asset by @PhilippGackstatter in #2626 - chore: bring changes from v0.14.0-beta into
nextby @mmagician in #2647 - refactor: minor improvements to
AccountComponentCodeby @igamigo in #2597
Full Changelog: v0.14.0-beta.2...v0.14.0-rc.1
v0.14.0-beta.4
What's Changed
- chore: Bump
NOTE_MAX_SIZEto 256 KiB by @PhilippGackstatter in #2651
Full Changelog: v0.14.0-beta.2...v0.14.0-beta.4
v0.14.0-alpha.2
What's Changed
- feat(AggLayer): bridging spec by @mmagician in #2469
- Fix numbering and formatting in algorithm steps by @krlosMata in #2547
- Create storage helpers for
AggLayerBridgeby @Fumuran in #2562