Releases: 0xMiden/protocol
Releases · 0xMiden/protocol
v0.14.0-beta.1
What's Changed
- chore: refactor tx kernel from
ASSETtoASSET_KEYandASSET_VALUEby @PhilippGackstatter in #2396 - chore: refactor
miden::protocolfromASSETtoASSET_KEYandASSET_VALUEby @PhilippGackstatter in #2410 - feat: adapt the layout of
Assets to the double word representation by @PhilippGackstatter in #2437 - feat: migrate to miden VM 0.21 and miden crypto 0.22 by @PhilippGackstatter in #2508
- feat: optimize layouts and procedures for little-endian by @PhilippGackstatter in #2512
- fix: remove unused MASM imports by @PhilippGackstatter in #2543
- fix: enable
miden-crypto/stdintestingfeature to fix MSRV check by @mmagician in #2544 - chore: enable CI on merge queue trigger by @mmagician in #2540
- feat: enable warning as errors for CodeBuilder by @igamigo in #2558
- refactor: enforce defining supported types on metadata by @igamigo in #2554
- feat: enforce maximum serialized size for output notes by @Forostovec in #2205
- Refactor(account) introducing account id key by @swaploard in #2495
- fix: make format and remove unused import by @PhilippGackstatter in #2564
- feat: make
NoteMetadataHeaderpublic by @SantiagoPittella in #2561 - chore: ProvenBlock constructor with validation by @sergerad in #2553
- refactor: remove
OrdandPartialOrdfromStorageSlotby @PercyDikec in #2549 - chore: Replace SMT leaf conversion function by @sergerad in #2271
- feat(MockChain): add ability to submit user batches by @igamigo in #2565
- Integrate PSM Contracts to AuthMultisig by @onurinanc in #2527
- refactor: remove
ProvenTransactionBuilderin favor ofProvenTransaction::newby @Himess in #2567 - Ownable 2 step feature by @afa7789 in #2292
- feat(standards): prefix account components with miden::standards namespace by @Himess in #2400
- Rename output note structs by @bobbinth in #2569
- feat(asm): add
create_fungible_keyproc for fungible asset vault keys by @PoulavBhowmick03 in #2575 - feat: migrate miden-agglayer to VM 0.21 and crypto 0.22 by @mmagician in #2546
- chore: bump versions to v0.14.0-beta.1 by @mmagician in #2582
- Make Ownable2Step AccountComponent by @onurinanc in #2572
- feat: add
from_parts_unchecked()method forInputNoteCommitmentby @juan518munoz in #2588 - chore: bring in latest changes from
nexttov0.14-betaby @mmagician in #2589
Full Changelog: v0.14.0-alpha.1...v0.14.0-beta.1
v0.14.0-alpha.1
What's Changed
- feat(testing): improve error message quality in miden-testing by @avorylli in #2251
- Make TransactionAuthenticator return Arc for public key by @bobbinth in #2304
- chore: use workspace dependencies for
serde,tokioandfs-errby @mmagician in #2313 - Remove
asset_witnessesfield fromTransactionInputsby @bobbinth in #2298 - chore: deduplicate attachment constants by @PhilippGackstatter in #2311
- feat: rename NoteInputs to NoteStorage by @Farukest in #2282
- refactor: remove Encrypted note type and update related documentation by @swaploard in #2315
- feat: Enable CodeBuilder to add advice map entries to compiled scripts by @huitseeker in #2275
- chore: note inputs to note storage rename followup by @PhilippGackstatter in #2316
- feat: add BlockNumber::MAX by @SantiagoPittella in #2324
- fix: rename note inputs to note storage in docs by @PhilippGackstatter in #2322
- chore: replace release-plz with cargo publish workflow by @huitseeker in #2325
- refactor: rename WellKnown.. types to Standard.. by @sashass1315 in #2332
- feat: Single-word
Arrayabstraction by @mmagician in #2203 - feat: Add SignedBlock struct by @sergerad in #2355
- feat: re-export
PackageKind&ProcedureExportby @lima-limon-inc in #2358 - chore: use
bytes_to_packed_u32_feltsinstead of defining our own inmiden-baseby @mmagician in #2359 - Note tag 32bit routing(#2309) by @swaploard in #2329
- Move standard notes into individual files by @bobbinth in #2363
- feat: add
miden::standards::note_tagmodule by @PhilippGackstatter in #2366 - refactor: prefix tx kernel events with
miden::protocolby @VolodymyrBg in #2364 - refactor: convert note scripts from program to library format by @Farukest in #2340
- feat(AggLayer): implement
verify_leaf_bridgeby @mmagician in #2288 - chore: remove faucet sysdata storage slot by @PhilippGackstatter in #2335
- Feat/remove note libraries by @Farukest in #2374
- refactor: remove redundant note storage item count from advice map by @Farukest in #2376
- Simplify
NoteMetadataconstructor by making tag optional by @Copilot in #2384 - feat: double-word Array abstraction by @mmagician in #2299
- refactor: add miden::protocol::auth module with public auth event constants by @Farukest in #2377
- feat: Replace
get_balanceandhas_non_fungible_assetwithget_assetby @PhilippGackstatter in #2369 - refactor: move NoteExecutionHint to miden-standards by @Farukest in #2378
- chore: Add safe constructor and validation fns to signed block by @sergerad in #2382
- Implement
verify_merkle_proofformiden::agglayerby @Fumuran in #2361 - feat(AggLayer):
B2AGGnote consumption check by @mmagician in #2334 - chore:
InitStorageDatafollowups by @igamigo in #2296 - chore: merge
agglayerintonextby @mmagician in #2354 - feat: introduce TokenMetadata type for fungible faucet metadata by @Farukest in #2380
- refactor: replace auth event constant workarounds with direct imports by @Farukest in #2404
- MASM lowercase inline comments by @mmagician in #2398
- fix(AggLayer): use correct byte<>
Feltconversion by @mmagician in #2387 - feat: add
StandardNoteconstructor from note script by @TomasArrachea in #2411 - refactor: enforce component metadata in account component by @igamigo in #2373
- chore: rename error by @igamigo in #2395
- refactor: make tx kernel procedure offset constants public by @Farukest in #2375
- feat: handle standards scripts directly in
TransactionExecutorHostw/oDataStorequery by @mmagician in #2417 - feat: add p2id::new MASM constructor for creating P2ID notes by @Farukest in #2381
- fix: u64 limb ordering by @PhilippGackstatter in #2441
- feat(AggLayer claim e2e #1): Move padding to the end of
NoteStorageforCLAIMnote by @mmagician in #2405 - feat(AggLayer claim e2e #2): byte packing from felts by @mmagician in #2401
- feat(AggLayer claim e2e #3):
GlobalIndexwrapper by @mmagician in #2407 - feat(AggLayer claim e2e #4): e2e bridge-in flow with real bridge data by @mmagician in #2413
- chore(Agglayer): refactors to make scaling down easier by @mmagician in #2446
- Execute FPI with one
syscallby @Fumuran in #2408 - chore: reorder account ID and nonce memory and advice layout by @PhilippGackstatter in #2442
- feat: add
make test-releasecommand running without debug mode by @PhilippGackstatter in #2448 - feat: increase
TokenSymbolmax length from 6 to 12 uppercase characters by @Farukest in #2420 - feat: u256 to felt scaling procedure by @partylikeits1983 in #2331
- feat(AggLayer bridge-out e2e #1): process bridging-out data and load
LeafDatato memory by @mmagician in #2425 - feat(AggLayer): Store
hash(GER)in the bridge storage and implementassert_valid_gerby @mmagician in #2388 - feat(AggLayer bridge-out e2e #2): store Local Exit Tree in
AggLayerBridgecontract and update it uponB2AGGconsumption by @mmagician in #2424 - chore: Remove BlockSigner trait by @sergerad in #2447
- feat: account builder helper for schema commitment by @igamigo in #2419
- feat(AggLayer): faucet registry by @mmagician in #2426
- Adding p2id p2ide note storage(#2368) by @swaploard in #2389
- feat: add
DEFAULT_TAGconstant tonote_tagMASM module by @mmagician in #2482 - fix: batch test assumes wrong input note order by @PhilippGackstatter in #2485
- feat: add solidity-compat test for generating local
claimAsset()param data by @partylikeits1983 in #2474 - refactor: address review nits from PR #2474 by @mmagician in #2489
- fix: avoid collisions in random numbers by @PhilippGackstatter in #2492
- feat: add native asset claim amount as element in
NoteStorageofCLAIMnote by @partylikeits1983 in #2460 - Consolidation of Authentication Components by @onurinanc in #2390
- feat(AggLayer): Note checks tracking PR by @mmagician in #2490
- refactor(Agglayer): restructure tracking PR by @mmagician in #2477
- refactor: refactor
verify_u256_to_native_amountto be a wrapper procedure by @partylikeits1983 in #2504 - feat(standards): add
NoteExecutionHintconstants to MASM standards by @mmagician in #2493 - refactor: enforce
CLAIMnote consumer viaNetworkAccountTargetattachment, notNoteStorageby @mmagician in #2480 - chore: update stale miden-base references to protocol by @Himess in #2503
- fix: Move sender validation from note script into bridge procedures by @mmagician in #2511
- docs(AggLayer): fix doc comments and inline comments for bridge components by @mmagician in #2510
- refactor: remove
OutputNoteDatafromAdviceMapinCLAIMnote by @partylikeits1983 in #2509 - chore: rename
SchemaTypeIdby @igamigo in #2494 - Agglayer tracking PR by @mmagician ...
v0.13.3
- Fixed
CLAIMnote creation to useNetworkAccountTargetattachment (#2352). - Added standards for working with
NetworkAccountTargetattachments (#2338). - Fixed
PartialBlockchain::add_block()not adding block headers to theblocksmap whentrack=true, which causedprune_to()to never untrack old blocks, leading to unbounded memory growth (#2353).
v0.13.2
v0.13.1
v0.13.0
0.13.0 (2026-01-16)
Features
- [BREAKING] Refactored storage slots to be accessed by names instead of indices (#1987, #2025, #2149, #2150, #2153, #2154, #2160, #2161, #2170).
- [BREAKING] Allowed account components to share identical account code procedures (#2164).
- Add
AccountId::parse()helper function to parse both hex and bech32 formats (#2223). - Add
read_foreign_account_inputs(),read_vault_asset_witnesses(), andread_storage_map_witness()forTransactionInputs(#2246). - [BREAKING] Introduced
NoteAttachmentas part ofNoteMetadataand removeauxandexecution_hint(#2249, #2252, #2260, #2268, #2279). - Added
AccountSchemaCommitmentcomponent to expose account storage schema commitments (#2253). - Introduced standard
NetworkAccountTargetattachment for use in network transactions which replacesNoteTag::NetworkAccount(#2257). - Added an
AccountBuilderextension trait to help build the schema commitment; addedAccountComponentMetadatatoAccountComponent(#2269). - Added
miden::standards::access::ownablestandard module for component ownership management, and integrated it into thenetwork_fungiblefaucet (including new tests). (#2228).
Changes
- Added proc-macro
WordWrapperto ease implementation ofWord-wrapping types (#2071). - [BREAKING] Added
BlockBodyandBlockProofstructs in preparation for validator signatures and deferred block proving (#2012). - [BREAKING] Renamed
TransactionEventintoTransactionEventIdand split event handling into data extraction and handling logic (#2071). - Split tx progress events out into a separate enum (#2103).
- Added
note::get_network_account_tagprocedure (#2120). - [BREAKING] Updated MINT note to support both private and public output note creation (#2123).
- [BREAKING] Removed
AccountComponentTemplatein favor of instantiating components viaAccountComponent::from_package(#2127). - [BREAKING] Added public key to, remove proof commitment from,
BlockHeader, and add signing functionality throughBlockSignertrait (#2128). - [BREAKING] Added fee to
TransactionHeader(#2131). - Created
NullifierLeafValuenewtype wrapper (#2136). - [BREAKING] Increased
MAX_INPUTS_PER_NOTEfrom 128 to 1024 (#2139). - Added the ability to get full public key from
TransactionAuthenticator(#2145). - Added
TokenSymbol::from_static_strconst function for compile-time token symbol validation (#2148). - [BREAKING] Migrated to
miden-vmv0.20 andmiden-cryptov0.19 (#2158). - [BREAKING] Renamed
AccountProcedureInfointoAccountProcedureRootand remove storage offset and size (#2162). - [BREAKING] Made
AccountProcedureIndexMapconstruction infallible (#2163). - [BREAKING] Renamed
tracked_procedure_roots_slottotrigger_procedure_roots_slotin ACL auth components for naming consistency (#2166). - [BREAKING] Refactored
miden-objectsandmiden-libintomiden-protocolandmiden-standards(#2184, #2191, #2197, #2255). - Added
From<&ExecutedTransaction> for TransactionHeaderimplementation (#2178). - [BREAKING] Refactored
AccountStorageDeltato use a newStorageSlotDeltatype (#2182). - [BREAKING] Removed OLD_MAP_ROOT from being returned when calling
native_account::set_map_item(#2194). - [BREAKING] Refactored account component templates into
StorageSchema(#2193). - [BREAKING] Refactored account component templates into
AccountStorageSchema(#2193). - [BREAKING] Refactor note tags to be arbitrary
u32values and drop previous validation (#2219). - [BREAKING] Refactored
InitStorageDatato support native types (#2230). - Refactored to no longer pad the note inputs on insertion into advice map (#2232).
- Added
StorageSchema::commitment()(#2244). - [BREAKING]
RpoFalcon512was renamed toFalcon512Rpoeverywhere, including procedure and file names (#2264). - [BREAKING] Removed top-level error exports from
miden-protocolcrate (the are still accessible undermiden_protocol::errors).
v0.12.4
v0.12.3
v0.12.2
- Added
create_mint_noteandcreate_burn_notehelper functions for creating standardized MINT and BURN notes (#2061). - [BREAKING] Fix ECDSA signature preparation in
Signature::to_prepared_signature()method (#2074). - Skip value slot normalization for new account's deltas (#2075).
- Skip value and map slot normalization for new account's deltas (#2075, #2077).
- Added
AuthEcdsaK256KeccakandAuthEcdsaK256KeccakMultisigauth components (#2083).