Releases: 0xPolygonMiden/miden-base
Releases · 0xPolygonMiden/miden-base
v0.6.1
v0.6.0
Features
- Created a proving service that receives
TransactionWitness
and returns the proof using gRPC (#881). - Implemented ability to invoke procedures against the foreign account (#882, #890, #896).
- Implemented kernel procedure to set transaction expiration block delta (#897).
- [BREAKING] Introduce a new way to build
Account
s fromAccountComponent
s (#941). - [BREAKING] Introduce an
AccountBuilder
(#952).
Changes
- [BREAKING] Changed
TransactionExecutor
andTransactionHost
to use trait objects (#897). - Made note scripts public (#880).
- Implemented serialization for
TransactionWitness
,ChainMmr
,TransactionInputs
andTransactionArgs
(#888). - [BREAKING] Renamed the
TransactionProver
struct toLocalTransactionProver
and added theTransactionProver
trait (#865). - Implemented
Display
,TryFrom<&str>
andFromStr
forAccountStorageMode
(#861). - Implemented offset based storage access (#843).
- [BREAKING]
AccountStorageType
enum was renamed toAccountStorageMode
along with its variants (#854). - [BREAKING]
AccountStub
structure was renamed toAccountHeader
(#855). - [BREAKING] Kernel procedures now have to be invoked using
dynexec
instruction (#803). - Refactored
AccountStorage
fromSmt
to sequential hash (#846). - [BREAKING] Refactored batch/block note trees (#834).
- Set all procedures storage offsets of faucet accounts to
1
(#875). - Added
AccountStorageHeader
(#876). - Implemented generation of transaction kernel procedure hashes in build.rs (#887).
- [BREAKING]
send_asset
procedure was removed from the basic wallet (#829). - [BREAKING] Updated limits, introduced additional limits (#889).
- Introduced
AccountDelta
maximum size limit of 32 KiB (#889). - [BREAKING] Moved
MAX_NUM_FOREIGN_ACCOUNTS
intomiden-objects
(#904). - Implemented
storage_size
, updated storage bounds (#886). - [BREAKING] Auto-generate
KERNEL_ERRORS
list from the transaction kernel's MASM files and rework error constant names (#906). - Implement
Serializable
forFungibleAsset
(#907). - [BREAKING] Changed
TransactionProver
trait to bemaybe_async_trait
based on theasync
feature (#913). - [BREAKING] Changed type of
EMPTY_STORAGE_MAP_ROOT
constant toRpoDigst
, which references constant frommiden-crypto
(#916). - Added
RemoteTransactionProver
struct tomiden-tx-prover
(#921). - [BREAKING] Migrated to v0.11 version of Miden VM (#929).
- Added
total_cycles
andtrace_length
to theTransactionMeasurements
(#953). - Added ability to load libraries into
TransactionExecutor
andLocalTransactionProver
(#954).
v0.5.0
Features
- [BREAKING] Increase of nonce does not require changes in account state any more (#796).
- Changed
AccountCode
procedures from merkle tree to sequential hash + added storage_offset support (#763). - Implemented merging of account deltas (#797).
- Implemented
create_note
andmove_asset_into_note
basic wallet procedures (#808). - Made
miden_lib::notes::build_swap_tag()
function public (#817). - [BREAKING] Changed the
NoteFile::NoteDetails
type to struct and added aafter_block_num
field (#823).
Changes
- Renamed "consumed" and "created" notes into "input" and "output" respectively (#791).
- [BREAKING] Renamed
NoteType::OffChain
intoNoteType::Private
. - [BREAKING] Renamed public accessors of the
Block
struct to match the updated fields (#791). - [BREAKING] Changed the
TransactionArgs
to useAdviceInputs
(#793). - Setters in
memory
module don't drop the settingWord
anymore (#795). - Added
CHANGELOG.md
warning message on CI (#799). - Added high-level methods for
MockChain
and related structures (#807). - [BREAKING] Renamed
NoteExecutionHint
toNoteExecutionMode
and added newNoteExecutionHint
toNoteMetadata
(#812, #816). - [BREAKING] Changed the interface of the
miden::tx::add_asset_to_note
(#808). - [BREAKING] Refactored and simplified
NoteOrigin
andNoteInclusionProof
structs (#810, #814). - [BREAKING] Refactored account storage and vault deltas (#822).
- Added serialization and equality comparison for
TransactionScript
(#824). - [BREAKING] Migrated to Miden VM v0.10 (#826).
- Added conversions for
NoteExecutionHint
(#827).
v0.4.0
Features
- [BREAKING] Introduce
OutputNote::Partial
variant (#698). - [BREAKING] Added support for input notes with delayed verification of inclusion proofs (#724, #732, #759, #770, #772).
- Added new
NoteFile
object to represent serialized notes (#721). - Added transaction IDs to the
Block
struct (#734). - Added ability for users to set the aux field when creating a note (#752).
Enhancements
- Replaced
cargo-make
with justmake
for running tasks (#696). - [BREAKING] Split
Account
struct constructor intonew()
andfrom_parts()
(#699). - Generalized
build_recipient_hash
procedure to build recipient hash for custom notes (#706). - [BREAKING] Changed the encoding of inputs notes in the advice map for consumed notes (#707).
- Created additional
emit
events for kernel related.masm
procedures (#708). - Implemented
build_recipient_hash
procedure to build recipient hash for custom notes (#710). - Removed the
mock
crate in favor of having mock code behind thetesting
flag in remaining crates (#711). - [BREAKING] Created
auth
module forTransactionAuthenticator
and other related objects (#714). - Added validation for the output stack to make sure it was properly cleaned (#717).
- Made
DataStore
conditionally async usingwinter-maybe-async
(#725). - Changed note pointer from Memory
note_ptr
tonote_index
(#728). - [BREAKING] Changed rng to mutable reference in note creation functions (#733).
- [BREAKING] Replaced
ToNullifier
trait withToInputNoteCommitments
, which includes thenote_id
for delayed note authentication (#732). - Added
Option<NoteTag>
toNoteFile
(#741). - Fixed documentation and added
make doc
CI job (#746). - Updated and improved .pre-commit-config.yaml file (#748).
- Created
get_serial_number
procedure to get the serial num of the currently processed note (#760). - [BREAKING] Added support for conversion from
Nullifier
toInputNoteCommitment
, commitment header return reference (#774). - Added
compute_inputs_hash
procedure for hash computation of the arbitrary number of note inputs (#750).
v0.3.1
v0.3.0
- Introduce the
miden-bench-tx
crate used for transactions benchmarking (#577). - [BREAKING] Removed the transaction script root output from the transaction kernel (#608).
- [BREAKING] Refactored account update details, moved
Block
tomiden-objects
(#618, #621). - [BREAKING] Made
TransactionExecutor
generic overTransactionAuthenticator
(#628). - [BREAKING] Changed type of
version
andtimestamp
fields tou32
, movedversion
to the beginning of block header (#639). - [BREAKING] Renamed
NoteEnvelope
intoNoteHeader
and introducedNoteDetails
(#664). - [BREAKING] Updated
create_swap_note()
procedure to returnNoteDetails
and defined SWAP note tag format (#665). - Implemented
OutputNoteBuilder
(#669). - [BREAKING] Added support for full details of private notes, renamed
OutputNote
variants and changed their meaning (#673). - [BREAKING] Added
add_asset_to_note
procedure to the transaction kernel (#674). - Made
TransactionArgs::add_expected_output_note()
more flexible (#681). - [BREAKING] Enabled support for notes without assets and refactored
create_note
procedure in the transaction kernel (#686).
v0.2.1
v0.2.0
- [BREAKING] Implement support for public accounts (#481, #485, #538).
- [BREAKING] Implement support for public notes (#515, #540, #572).
- Improved
ProvenTransaction
validation (#532). - [BREAKING] Updated
no-std
setup (#533). - Improved
ProvenTransaction
serialization (#543). - Implemented note tree wrapper structs (#560).
- [BREAKING] Migrated to v0.9 version of Miden VM (#567).
- [BREAKING] Added account storage type parameter to
create_basic_wallet
andcreate_basic_fungible_faucet
(miden-lib crate only) (#587). - Removed serialization of source locations from account code (#590).