Skip to content

Releases: 0xMiden/protocol

v0.11.3

Choose a tag to compare

@bobbinth bobbinth released this 16 Sep 07:55
6450731
  • Added Serialize and Deserialize Traits on SigningInputs (#1858).

0.11.2

Choose a tag to compare

@bobbinth bobbinth released this 08 Sep 22:19
3bf6c40
  • Fixed foreign account inputs not being loaded in LocalTransactionProver (#1866).

v0.11.1

Choose a tag to compare

@bobbinth bobbinth released this 29 Aug 01:25
f508016
  • Added AddressInterface::Unspecified to represent default addresses (#1801).

v0.11.0

Choose a tag to compare

@bobbinth bobbinth released this 27 Aug 06:19
f3240f7

Features

  • Added arguments to the auth procedure (#1501).
  • [BREAKING] Refactored SWAP note & added option to select the visibility of the associated payback note (#1539).
  • Added multi-signature authentication component as standard authentication component (#1599).
  • Added account_compute_delta_commitment, input_note_get_assets_info, tx_get_num_input_notes, and tx_get_num_output_notes procedures to the transaction kernel (#1609).
  • [BREAKING] Refactor TransactionAuthenticator to support arbitrary data signing (#1616).
  • Implemented new from_unauthenticated_notes constructor for InputNotes (#1629).
  • Added output_note_get_assets_info procedure to the transaction kernel (#1638).
  • Pass the full TransactionSummary to TransactionAuthenticator (#1618).
  • Added PartialBlockchain::num_tracked_blocks() (#1643).
  • Removed TransactionScript::compile & NoteScript::compile methods in favor of ScriptBuilder (#1665).
  • Added get_initial_code_commitment, get_initial_storage_commitment and get_initial_vault_root procedures to miden::account module (#1667).
  • Added FeeParameters to BlockHeader (#1652).
  • Added input_note_get_recipient, output_note_get_recipient, input_note_get_metadata, output_note_get_metadata procedures to the transaction kernel (#1648).
  • Added input_notes::get_assets and output_notes::get_assets procedures to miden library (#1648).
  • Added issuance accessor for fungible faucet accounts. (#1660).
  • Added FeeParameters to BlockHeader, implement compute_fee and output FEE_ASSET on the transaction stack (#1652, #1654, #1659).
  • Added FeeParameters to BlockHeader and automatically compute and remove fees from account in the transaction kernel epilogue (#1652, #1654, #1659, #1664, #1775).
  • [BREAKING] Consolidated to a single async interface and drop #[maybe_async] usage (#1666).
  • [BREAKING] Made transaction execution and transaction authentication asynchronous (#1699).
  • Added Address type to represent account-id based addresses (#1713, #1750).
  • [BREAKING] Return dedicated insufficient fee error from transaction host if account balance is too low (#1744).
  • Added asset_vault::peek_balance (#1745).
  • Added get_auth_scheme method to AccountComponentInterface and AccountInterface for better authentication scheme extraction (#1759).
  • Added AddressInterface type to represent the interface of the account to which an Address points (#1761).

Changes

  • [BREAKING] Incremented MSRV to 1.88.
  • Refactored account documentation into multiple sections (#1523).
  • Implemented WellKnownComponents enum (#1532).
  • [BREAKING] Remove pending account APIs on MockChain and introduce MockChainBuilder to simplify mock chain creation (#1557).
  • Made ExecutedTransaction implement Send for easier consumption (#1560).
  • [BREAKING] Digest was removed in favor of Word (#1564).
  • [BREAKING] Upgraded Miden VM to 0.16, miden-crypto to 0.15 and winterfell crates to 0.13 (#1564, #1594).
  • [BREAKING] Renamed {NoteInclusionProof, AccountWitness}::inner_nodes to authenticated_nodes (#1564).
  • [BREAKING] Renamed {TransactionId, NoteId, Nullifier}::inner -> as_word (#1571).
  • Replaced MerklePath with SparseMerklePath in NoteInclusionProof (#1572) .
  • [BREAKING] Renamed authentication components to include "auth" prefix for clarity (#1575).
  • [BREAKING] Split TransactionHost into TransactionProverHost and TransactionExecutorHost (#1581).
  • Added TransactionEvent::Unauthorized to enable aborting the transaction execution to get its transaction summary for signing purposes (#1596, #1634, #1651).
  • [BREAKING] Implemented SequentialCommit for AccountDelta and renamed AccountDelta::commitment() to AccountDelta::to_commitment() (#1603).
  • Added robustness check to create_swap_note: error if requested_asset != offered_asset (#1604).
  • [BREAKING] Changed account::incr_nonce to always increment the nonce by one, disallow incrementing more than once and return the new nonce after incrementing (#1608, #1633).
  • Added AccountTree::contains_account_id_prefix() and AccountTree::id_prefix_to_smt_key() (#1610).
  • Added functions for pruning PartialBlockchain (#1619).
  • [BREAKING] Disallowed calling the auth procedure explicitly (from outside the epilogue) (#1622).
  • [BREAKING] Included account delta commitment in signing message for the RpoFalcon512 family of account components (#1624).
  • [BREAKING] Renamed TransactionEvent::FalconSigToStack to TransactionEvent::AuthRequest (#1626).
  • [BREAKING] Made the naming of the transaction script arguments consistent (#1632).
  • [BREAKING] Moved TransactionProverHost and TransactionExecutorHost from dynamic dispatch to generics (#1037)
  • [BREAKING] Changed PartialStorage and PartialVault to use PartialSmt instead of separate merkle proofs (#1590).
  • [BREAKING] Moved transaction inputs insertion out of transaction hosts (#1639)
  • Implemented serialization for MockChain (#1642).
  • [BREAKING] Reduced FungibleAsset::MAX_AMOUNT by a small fraction which allows using felt-based arithmetic in the fungible asset account delta (#1681).
  • Avoid modifying an asset vault when adding a fungible asset with amount zero and the asset does not already exist (#1668).
  • [BREAKING] Updated NoteConsumptionChecker::check_notes_consumability and TransactionExecutor::try_execute_notes to return NoteConsumptionInfo containing lists of Note rather than NoteId (#1680).
  • Refactored epilogue to run as much code as possible before fees are computed (#1698).
  • Refactored epilogue to run as much code as possible before fees are computed (#1698, #1705).
  • [BREAKING] Removed note script utils and rename note::add_note_assets_to_account to note::add_assets_to_account (#1694).
  • Refactor contracts::auth::basic into a reusable library procedure auth::rpo_falcon512 (#1712).
  • [BREAKING] Refactored FungibleAsset::sub to be more similar to FungibleAsset::add (#1720).
  • Update NoteConsumptionChecker::check_notes_consumability to use iterative elimination strategy to find a set of executable notes (#1721).
  • [BREAKING] Moved IncrNonceAuthComponent, ConditionalAuthComponent and AccountMockComponent to miden-lib (#1722).
  • [BREA...
Read more

v0.10.1

Choose a tag to compare

@bobbinth bobbinth released this 02 Aug 19:43
280a53f
  • Added NoAuth component to the set of standard components (#1620).

v0.10.0

Choose a tag to compare

@bobbinth bobbinth released this 09 Jul 05:57
fb286d3

Features

  • Added bench-prover crate to benchmark proving times (#1378).
  • Allowed NOOP transactions and state-updating transactions against the same account in the same block (#1393).
  • Added P2IDE standard note (#1421).
  • [BREAKING] Implemented transaction script arguments for the TransactionScript (#1406).
  • [BREAKING] Implemented in-kernel account delta tracking (#1471, #1404, #1460, #1481, #1491).
  • Add with_auth_component to AccountBuilder (#1480).
  • Added ScriptBuilder to streamline building note & transaction scripts (#1507).
  • Added procedure was_procedure_called to miden::account library module (#1521).
  • Enabled loading MASM source files into TransactionKernel::assembler for better errors (#1527).

Changes

  • [BREAKING] Refactored NoteTag to an enum (#1322).
  • [BREAKING] Removed AccountIdAnchor from account ID generation process (#1391).
  • Implemented map based on a sorted linked list in transaction kernel library (#1396, #1428, #1478).
  • Added shutdown configuration options to the miden-proving-service proxy (#1405).
  • Added support for workers configuration in the proxy with environment variables (#1412).
  • Implemented Display for NoteType (#1420).
  • [BREAKING] Removed NoteExecutionMode from from_account_id (#1422).
  • [BREAKING] Refactored transaction kernel advice inputs (#1425).
  • [BREAKING] Moved transaction script argument from TransactionScript to TransactionArgs. (#1426).
  • [BREAKING] Removed transaction inputs from TransactionScript. (#1426).
  • Removed miden-proving-service binary crate and miden-proving-service-client crate (#1427).
  • Removed doc update checks on CI (#1435).
  • [BREAKING] Introduced ScriptMastForestStore and refactor MAST forest provisioning in the TransactionExecutor (#1438).
  • [BREAKING] Allowed list of keys in AccountFile (#1451).
  • [BREAKING] TransactionHost::new now expects &PartialAccount instead AccountHeader (#1452).
  • Load account and input notes advice maps into the advice provider before executing them (#1452).
  • Added support for private accounts in MockChain (#1453).
  • Improved error message quality in CodeExecutor::run and TransactionContext::execute_code (#1458).
  • Temporarily bumped ACCOUNT_UPDATE_MAX_SIZE to 256 KiB for compiler testing (#1464).
  • [BREAKING] TransactionExecutor now holds plain references instead of Arc for its trait objects (#1469).
  • [BREAKING] Store account ID in account delta (#1493).
  • [BREAKING] Removed P2IDR and replace with P2IDE (#1483).
  • [BREAKING] Refactored nonce in delta from Option<Felt> to Felt (#1492).
  • Normalized account deltas to avoid including no-op updates (#1496).
  • Added Note::is_network_note() accessor (#1485).
  • [BREAKING] Refactored account authentication to require a procedure containing auth__ in its name (#1480).
  • [BREAKING] Updated handling of the shared modules (#1490).
  • [BREAKING] Refactored transaction to output ACCOUNT_UPDATE_COMMITMENT (#1500).
  • Added a new constructor for TransactionExecutor that accepts ExecutionOptions (#1502).
  • [BREAKING] Introduced errors in MockChain API (#1508).
  • [BREAKING] TransactionAdviceInputs cannot return Err anymore (#1517).
  • Implemented serialization for LexicographicWord (#1524).
  • Made Account:increment_nonce() method public (#1533).
  • Defined the commitment to an empty account delta as EMPTY_WORD (#1528).
  • [BREAKING] Renamed account_get_current_commitment to account_compute_current_commitment and include the latest storage commitment in the returned commitment (#1529).
  • [BREAKING] Remove create_note from BasicWallet, expose it and add_asset_to_note in miden::tx (#1525).
  • Add a new auth component RpoFalcon512ProcedureAcl (#1531).
  • [BREAKING] Change BasicFungibleFaucet to use RpoFalcon512ProcedureAcl for authentication (#1531).

Fixes

  • [BREAKING] Forbid the execution of the empty transactions (#1459).

v0.9.4

Choose a tag to compare

@bobbinth bobbinth released this 11 Jun 23:58
f9072f0
  • Refactor proving service client errors (#1448)

v0.9.3

Choose a tag to compare

@bobbinth bobbinth released this 11 Jun 22:29
4ae0046
  • Add TLS support to miden-proving-service-client (#1447)

v0.9.2

Choose a tag to compare

@bobbinth bobbinth released this 10 Jun 07:18
74e8ed9
  • Refreshed Cargo.lock file (#1439).

v0.9.1

Choose a tag to compare

@bobbinth bobbinth released this 31 May 06:51
91e35bb
  • Expose types used in public APIs (#1385).
  • Version check always fails in proxy (#1407).