Releases: 0xMiden/protocol
Releases · 0xMiden/protocol
Release list
v0.11.3
0.11.2
v0.11.1
v0.11.0
Features
- Added arguments to the auth procedure (#1501).
- [BREAKING] Refactored
SWAPnote & 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, andtx_get_num_output_notesprocedures to the transaction kernel (#1609). - [BREAKING] Refactor
TransactionAuthenticatorto support arbitrary data signing (#1616). - Implemented new
from_unauthenticated_notesconstructor forInputNotes(#1629). - Added
output_note_get_assets_infoprocedure to the transaction kernel (#1638). - Pass the full
TransactionSummarytoTransactionAuthenticator(#1618). - Added
PartialBlockchain::num_tracked_blocks()(#1643). - Removed
TransactionScript::compile&NoteScript::compilemethods in favor ofScriptBuilder(#1665). - Added
get_initial_code_commitment,get_initial_storage_commitmentandget_initial_vault_rootprocedures tomiden::accountmodule (#1667). - Added
FeeParameterstoBlockHeader(#1652). - Added
input_note_get_recipient,output_note_get_recipient,input_note_get_metadata,output_note_get_metadataprocedures to the transaction kernel (#1648). - Added
input_notes::get_assetsandoutput_notes::get_assetsprocedures tomidenlibrary (#1648). - Added issuance accessor for fungible faucet accounts. (#1660).
- Added
FeeParameterstoBlockHeader, implementcompute_feeand outputFEE_ASSETon the transaction stack (#1652, #1654, #1659). - Added
FeeParameterstoBlockHeaderand 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
Addresstype 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_schememethod toAccountComponentInterfaceandAccountInterfacefor better authentication scheme extraction (#1759). - Added
AddressInterfacetype to represent the interface of the account to which anAddresspoints (#1761).
Changes
- [BREAKING] Incremented MSRV to 1.88.
- Refactored account documentation into multiple sections (#1523).
- Implemented
WellKnownComponentsenum (#1532). - [BREAKING] Remove pending account APIs on
MockChainand introduceMockChainBuilderto simplify mock chain creation (#1557). - Made
ExecutedTransactionimplementSendfor easier consumption (#1560). - [BREAKING]
Digestwas removed in favor ofWord(#1564). - [BREAKING] Upgraded Miden VM to
0.16,miden-cryptoto0.15andwinterfellcrates to0.13(#1564, #1594). - [BREAKING] Renamed
{NoteInclusionProof, AccountWitness}::inner_nodestoauthenticated_nodes(#1564). - [BREAKING] Renamed
{TransactionId, NoteId, Nullifier}::inner->as_word(#1571). - Replaced
MerklePathwithSparseMerklePathinNoteInclusionProof(#1572) . - [BREAKING] Renamed authentication components to include "auth" prefix for clarity (#1575).
- [BREAKING] Split
TransactionHostintoTransactionProverHostandTransactionExecutorHost(#1581). - Added
TransactionEvent::Unauthorizedto enable aborting the transaction execution to get its transaction summary for signing purposes (#1596, #1634, #1651). - [BREAKING] Implemented
SequentialCommitforAccountDeltaand renamedAccountDelta::commitment()toAccountDelta::to_commitment()(#1603). - Added robustness check to
create_swap_note: error ifrequested_asset!=offered_asset(#1604). - [BREAKING] Changed
account::incr_nonceto 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()andAccountTree::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
RpoFalcon512family of account components (#1624). - [BREAKING] Renamed
TransactionEvent::FalconSigToStacktoTransactionEvent::AuthRequest(#1626). - [BREAKING] Made the naming of the transaction script arguments consistent (#1632).
- [BREAKING] Moved
TransactionProverHostandTransactionExecutorHostfrom dynamic dispatch to generics (#1037) - [BREAKING] Changed
PartialStorageandPartialVaultto usePartialSmtinstead of separate merkle proofs (#1590). - [BREAKING] Moved transaction inputs insertion out of transaction hosts (#1639)
- Implemented serialization for
MockChain(#1642). - [BREAKING] Reduced
FungibleAsset::MAX_AMOUNTby 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_consumabilityandTransactionExecutor::try_execute_notesto returnNoteConsumptionInfocontaining lists ofNoterather thanNoteId(#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_accounttonote::add_assets_to_account(#1694). - Refactor
contracts::auth::basicinto a reusable library procedureauth::rpo_falcon512(#1712). - [BREAKING] Refactored
FungibleAsset::subto be more similar toFungibleAsset::add(#1720). - Update
NoteConsumptionChecker::check_notes_consumabilityto use iterative elimination strategy to find a set of executable notes (#1721). - [BREAKING] Moved
IncrNonceAuthComponent,ConditionalAuthComponentandAccountMockComponenttomiden-lib(#1722). - [BREA...
v0.10.1
v0.10.0
Features
- Added
bench-provercrate 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_componenttoAccountBuilder(#1480). - Added
ScriptBuilderto streamline building note & transaction scripts (#1507). - Added procedure
was_procedure_calledtomiden::accountlibrary module (#1521). - Enabled loading MASM source files into
TransactionKernel::assemblerfor better errors (#1527).
Changes
- [BREAKING] Refactored
NoteTagto an enum (#1322). - [BREAKING] Removed
AccountIdAnchorfrom 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-serviceproxy (#1405). - Added support for workers configuration in the proxy with environment variables (#1412).
- Implemented
DisplayforNoteType(#1420). - [BREAKING] Removed
NoteExecutionModefromfrom_account_id(#1422). - [BREAKING] Refactored transaction kernel advice inputs (#1425).
- [BREAKING] Moved transaction script argument from
TransactionScripttoTransactionArgs. (#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
ScriptMastForestStoreand refactor MAST forest provisioning in theTransactionExecutor(#1438). - [BREAKING] Allowed list of keys in
AccountFile(#1451). - [BREAKING]
TransactionHost::newnow expects&PartialAccountinsteadAccountHeader(#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::runandTransactionContext::execute_code(#1458). - Temporarily bumped ACCOUNT_UPDATE_MAX_SIZE to 256 KiB for compiler testing (#1464).
- [BREAKING]
TransactionExecutornow holds plain references instead ofArcfor 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>toFelt(#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
TransactionExecutorthat acceptsExecutionOptions(#1502). - [BREAKING] Introduced errors in
MockChainAPI (#1508). - [BREAKING]
TransactionAdviceInputscannot returnErranymore (#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_commitmenttoaccount_compute_current_commitmentand include the latest storage commitment in the returned commitment (#1529). - [BREAKING] Remove
create_notefromBasicWallet, expose it andadd_asset_to_noteinmiden::tx(#1525). - Add a new auth component
RpoFalcon512ProcedureAcl(#1531). - [BREAKING] Change
BasicFungibleFaucetto useRpoFalcon512ProcedureAclfor authentication (#1531).
Fixes
- [BREAKING] Forbid the execution of the empty transactions (#1459).