Skip to content

v0.12.0

Choose a tag to compare

@bobbinth bobbinth released this 05 Nov 10:22
· 840 commits to main since this release
db5342d

Features

  • Added prove_dummy APIs on LocalTransactionProver (#1674).
  • Added update_signers_and_threshold procedure to update owner public keys and threshold config in multisig authentication component (#1707).
  • Added add_signature helper to simplify loading signatures into advice map (#1725).
  • Added build_recipient procedure to miden::note module (#1807).
  • Added prove_dummy APIs on LocalBatchProver and LocalBlockProver (#1811).
  • Added get_native_id and get_native_nonce procedures to the miden library (#1844).
  • Enabled lazy loading of assets during transaction execution (#1848).
  • Added lazy loading of the native asset (#1855).
  • [BREAKING] Enabled lazy loading of storage map entries during transaction execution (#1857).
  • [BREAKING] Enabled lazy loading of foreign accounts during transaction execution (#1873).
  • [BREAKING] Move account seed into PartialAccount (#1875, #2003).
  • Added get_initial_item and get_map_item_init procedures to miden::account module for accessing initial storage state (#1883).
  • Updated rpo_falcon512::verify_signatures to use account::get_map_item_init (#1885).
  • [BREAKING] Enabled lazy loading of assets and storage map items for foreign accounts during transaction execution (#1888).
  • [BREAKING] Represent new accounts as account deltas (#1896).
  • Implement SlotName for named storage slots (#1932)
  • [BREAKING] Removed get_falcon_signature from miden-tx crate (#1924).
  • Created a Signature wrapper to simplify the preparation of "native" signatures for use in the VM (#1924).
  • Added per-procedure approval thresholds to AuthRpoFalcon512Multisig auth component (#1968).
  • Implemented input_note::get_sender and active_note::get_metadata procedures in miden lib (#1933).
  • Added Address serialization and deserialization (#1937).
  • Added StorageMap::{num_entries, num_leaves} to retrieve the number of entries in a storage map (#1935).
  • Added AssetVault::{num_assets, num_leaves, inner_nodes} (#1939).
  • [BREAKING] Enabled computing the transaction ID from the data in a TransactionHeader (#1973).
  • Added account::get_initial_balance procedure to miden lib (#1959).
  • [BREAKING] Changed Account to PartialAccount conversion to generally track only minimal data (#1963).
  • Added MastArtifact, PackageExport, PackageManifest, AttributeSet, QualifiedProcedureName, Section and SectionId to re-export section (#1984 and #2015).
  • [BREAKING] Enable computing the transaction ID from the data in a TransactionHeader (#1973).
  • [BREAKING] Introduce AssetVaultKey newtype wrapper for asset vault keys (#1978, #2024).
  • [BREAKING] Change Account to PartialAccount conversion to generally track only minimal data (#1963).
  • Added network_fungible_faucet and MINT & BURN notes (#1925)
  • Removed create_p2id_note and create_p2any_note methods from MockChainBuilder, users should use add_p2id_note and add_p2any_note instead (#1990).
  • [BREAKING] Introduced AuthScheme and PublicKey enums in miden-objects::account::auth module (#1994).
  • [BREAKING] Added get_note_script() method to DataStore trait to enable lazy loading of note scripts during transaction execution (#1995).
  • Added AccountTree::apply_mutations_with_reversions (#2002).
  • [BREAKING] Change AccountTree to be generic over trait AccountTreeBackend implementations (#2006).
  • Added Display trait for AddressInterface (#2016).
  • Added has_procedure procedure to the miden::account module (#2017).
  • Re-add bech32 encoding for AccountId (#2018).
  • [BREAKING] Separate account APIs in miden::account into active_account and native_account (#2026).
  • [BREAKING] Remove miden::account::get_native_nonce procedure (#2026).
  • [BREAKING] Refactor Address to make routing parameters optional (#2032, #2047).
  • [BREAKING] Refactor PartialVault, PartialStorageMap, PartialAccountTree and PartialNullifierTree to allow construction from a root (#2042).
  • [BREAKING] Refactor Address to make routing parameters optional (#2032).
  • Added encryption_key to RoutingParameters (#2050).
  • [BREAKING] Added EcdsaK256Keccak variant to auth enums (#2052).
  • Implemented storage map templates, which can be initialized through key/value lists provided via InitStorageData TOML (#2053).

Changes

  • [BREAKING] Incremented MSRV to 1.90.
  • [BREAKING] Migrated to miden-vm v0.18 and miden-crypto v0.17 (#1832).
  • [BREAKING] Removed MockChain::add_pending_p2id_note in favor of using MockChainBuilder (#1842).
  • [BREAKING] Removed versioning of the transaction kernel, leaving only one latest version (#1793).
  • [BREAKING] Moved miden::asset::{create_fungible_asset, create_non_fungible_asset} procedures to miden::faucet (#1850).
  • [BREAKING] Removed versioning of the transaction kernel, leaving only one latest version (#1793).
  • Added AccountComponent::from_package() method to create components from miden-mast-package::Package (#1802).
  • [BREAKING] Removed some of the note kernel procedures and use input_note procedures instead (#1834).
  • [BREAKING] Replaced Account with PartialAccount in TransactionInputs (#1840).
  • [BREAKING] Renamed Account::init_commitment to Account::initial_commitment (#1840).
  • [BREAKING] Renamed the is_onchain method to has_public_state for AccountId, AccountIdPrefix, Account, AccountInterface and AccountStorageMode (#1846).
  • [BREAKING] Moved NetworkId from account ID to address module (#1851).
  • Removed ProvenTransactionExt(#1867).
  • [BREAKING] Renamed the is_onchain method to has_public_state for AccountId, AccountIdPrefix, Account, AccountInterface and AccountStorageMode (#1846).
  • [BREAKING] Moved miden::asset::{create_fungible_asset, create_non_fungible_asset} procedures to miden::faucet (#1850).
  • [BREAKING] Moved NetworkId from account ID to address module (#1851).
  • [BREAKING] Moved TransactionKernelError to miden-tx (#1859).
  • [BREAKING] Changed PartialStorageMap to track the correct set of key+value pairings (#1878, #1921).
  • Change terminology of "current note" to "active note" (#1863).
  • [BREAKING] Moved and rename miden::tx::{add_asset_to_note, create_note} procedures to miden::output_note::{add_asset, create} (#1874).
  • Merge bench-prover into bench-tx crate (#1894).
  • Replace eqw usages with exec.word::test_eq and exec.word::eq, remove is_key_greater and is_key_less from link_map module (#1897).
  • [BREAKING] Make AssetVault and PartialVault APIs more type safe (#1916).
  • [BREAKING] Remove MockChain::add_pending_note to simplify mock chain internals (#1903).
  • [BREAKING] Moved active note procedures from miden::note to miden::active_note module (#1901).
  • [BREAKING] Removed account_seed from AccountFile (#1917).
  • [BREAKING] Renamed TransactionInputs to TransactionExecutionInputs and make a new TransactionInputs struct which does not contain InputNotes<InputNote> (#1934).
  • [BREAKING] Refactored TransactionInputs and remove TransactionWitness (#1934).
  • Simplify MockChain internals and rework its documentation (#1942).
  • [BREAKING] Changed the signature of TransactionAuthenticator to return the native signature (#1945).
  • [BREAKING] Renamed MockChainBuilder::add_note to add_output_note (#1946).
  • Dynamically lookup all masm EventIds from source (#1954).
  • [BREAKING] Return ExecutionOutput from TransactionContext::execute_code (#1955).
  • [BREAKING] Renamed get_item_init and get_map_item_init to get_initial_item and get_initial_map_item respectively (#1959).
  • Update the type signature syntax in the account_components module (#1971).
  • [BREAKING] Assert nonce is non-zero after the auth procedure (#1982).
  • [BREAKING] Removed Rng from BasicAuthenticator (#1994).
  • [BREAKING] Changed the outputs of the output_note::add_asset procedure: now the values that are the same as the passed parameters are dropped (#2031).
  • [BREAKING] Upgraded VM to 0.19 (#2042).