Releases: 0xPolygonMiden/miden-client
Releases · 0xPolygonMiden/miden-client
v0.6.0
Features
- Added FPI (Foreign Procedure Invocation) support for
TransactionRequest
(#560). - [BREAKING] Added transaction prover component to
Client
(#550). - Added WASM consumable notes API + improved note models (#561).
- Added remote prover support to the web client with CI tests (#562).
- Added delegated proving for web client + improved note models (#566).
- Enabled setting expiration delta for
TransactionRequest
(#553). - Implemented
GetAccountProof
endpoint (#556). - [BREAKING] Added support for committed and discarded transactions (#531).
- [BREAKING] Added note tags for future notes in
TransactionRequest
(#538). - Added support for multiple input note inserts at once (#538).
- Added support for custom transactions in web client (#519).
- Added support for remote proving in the CLI (#552).
- Added Transaction Integration Tests for Web Client (#569).
- Added WASM Input note tests + updated input note models (#554)
- Added Account Integration Tests for Web Client (#532).
Fixes
- Fixed WASM + added additional WASM models (#548).
- [BREAKING] Added IDs to
SyncSummary
fields (#513). - Added better error handling for WASM sync state (#558).
- Fixed Broken WASM (#519).
- [BREAKING] Refactored Client struct to use trait objects for inner struct fields (#539).
- Fixed panic on export command without type (#537).
Changes
- Moved note update logic outside of the
Store
(#559). - [BREAKING] Refactored the
Store
structure and interface for input notes (#520). - [BREAKING] Replaced
maybe_await
fromClient
andStore
withasync
, removedasync
feature (#565, #570). - [BREAKING] Refactored
OutputNoteRecord
to use states and transitions for updates (#551). - Rebuilt WASM with latest dependencies (#575).
- [BREAKING] Removed serde's de/serialization from
NoteRecordDetails
andNoteStatus
(#514). - Added new variants for the
NoteFilter
struct (#538). - [BREAKING] Re-exported
TransactionRequest
from submodule, renamedAccountDetails::Offchain
toAccountDetails::Private
, renamedNoteDetails::OffChain
toNoteDetails::Private
(#508). - Expose full SyncSummary from WASM (#555).
- [BREAKING] Changed
PaymentTransactionData
andTransactionRequest
to allow for multiple assets per note (#525). - Added dedicated separate table for tracked tags (#535).
- [BREAKING] Renamed
off-chain
andon-chain
toprivate
andpublic
respectively for the account storage modes (#516).
v0.4.0
Features
- [BREAKING] Separated
prove_transaction
fromsubmit_transaction
inClient
. (#339) - Note importing in client now uses the
NoteFile
type (#375). - Added
wasm
andasync
feature to make the code compatible with WASM-32 target (#378). - Added WebStore to the miden-client to support WASM-compatible store mechanisms (#401).
- Added WebTonicClient to the miden-client to support WASM-compatible RPC calls (#409).
- [BREAKING] Added unauthenticated notes to
TransactionRequest
and necessary changes to consume unauthenticated notes with the client (#417). - Added advice map to
TransactionRequest
and updated integration test with example using the advice map to provide more than a singleWord
asNoteArgs
for a note (#422). - Made the client
no_std
compatible (#428).
Enhancements
- Fixed the error message when trying to consume a pending note (now it shows that the transaction is not yet ready to be consumed).
- Added created and consumed note info when printing the transaction summary on the CLI. (#348).
- [BREAKING] Updated CLI commands so assets are now passed as
<AMOUNT>::<FAUCET_ACCOUNT_ID>
(#349). - Changed
consume-notes
to pick up the default account ID if none is provided, and to consume all notes that are consumable by the ID if no notes are provided to the list. (#350). - Added integration tests using the CLI (#353).
- Simplified and separated the
notes --list
table (#356). - Fixed bug when exporting a note into a file (#368).
- Added a new check on account creation / import on the CLI to set the account as the default one if none is set (#372).
- Changed
cargo-make
usage formake
andMakefile.toml
for a regularMakefile
(#359). - [BREAKING] Library API reorganization (#367).
- New note status added to reflect more possible states (#355).
- Renamed "pending" notes to "expected" notes (#373).
- Implemented retrieval of executed transaction info (id, commit height, account_id) from sync state RPC endpoint (#387).
- Added build script to import Miden node protobuf files to generate types for
tonic_client
and removedmiden-node-proto
dependency (#395). - [BREAKING] Split cli and client into workspace (#407).
- Moved CLI tests to the
miden-cli
crate (#413). - Restructured the client crate module organization (#417).
v0.3.0
- Added swap transactions and example flows on integration tests.
- Flatten the CLI subcommand tree.
- Added a mechanism to retrieve MMR data whenever a note created on a past block is imported.
- Changed the way notes are added to the database based on
ExecutedTransaction
. - Added more feedback information to commands
info
,notes list
,notes show
,account new
,notes import
,tx new
andsync
. - Add
consumer_account_id
toInputNoteRecord
with an implementation for sqlite store. - Renamed the CLI
input-notes
command tonotes
. Now we only export notes that were created on this client as the result of a transaction. - Added validation using the
NoteScreener
to see if a block has relevant notes. - Added flags to
init
command for non-interactive environments - Added an option to verify note existence in the chain before importing.
- Add new store note filter to fetch multiple notes by their id in a single query.
- [BREAKING]
Client::new()
now does not need adata_store_store
parameter, andSqliteStore
's implements interior mutability. - [BREAKING] The store's
get_input_note
was replaced byget_input_notes
and aNoteFilter::Unique
was added. - Refactored
get_account
to create the account from a single query. - Added support for using an account as the default for the CLI
- Replace instead of ignore note scripts with when inserting input/output notes with a previously-existing note script root to support adding debug statements.
- Added RPC timeout configuration field
- Add off-chain account support for the tonic client method
get_account_update
. - Refactored
get_account
to create the account from a single query. - Admit partial account IDs for the commands that need them.
- Added nextest to be used as test runner.
- Added config file to run integration tests against a remote node.
- Added
CONTRIBUTING.MD
file. - Renamed
format
command fromMakefile.toml
tocheck-format
and added a newformat
command that applies the formatting. - Added methods to get output notes from client.
- Added a
input-notes list-consumable
command to the CLI.
v0.2.1
v0.2.0
- Added an
init
command to the CLI. - Added support for on-chain accounts.
- Added support for public notes.
- Added
NoteScreener
struct capable of detecting notes consumable by a client (via heuristics), for storing only relevant notes. - Added
TransactionRequest
for defining transactions with arbitrary scripts, inputs and outputs and changed the client API to use this definition. - Added
ClientRng
trait for randomness component withinClient
. - Refactored integration tests to be ran as regular rust tests.
- Normalized note script fields for input note and output note tables in SQLite implementation.
- Added support for P2IDR (pay-to-id with recall) transactions on both the CLI and the lib.
- Removed the
mock-data
command from the CLI.