Releases: ergoplatform/sigma-rust
Releases · ergoplatform/sigma-rust
ergo-lib-v0.28.0
Breaking Changes
ErgoStateContext::new now requires Parameters for blockchain parameters. For consensus-critical applications it is important that Parameters represents the latest state of the blockchain. For most users however, using Parameters::default() will be sufficient as this will not affect signing:
- let state_context = ErgoStateContext::new(pre_header, headers);
+ let state_context = ErgoStateContext::new(pre_header, headers, Parameters::default());
Added
- Support for validating transactions using sigma-rust (without costing), using TransactionContext::validate: https://docs.rs/ergo-lib/0.28.0/ergo_lib/wallet/tx_context/struct.TransactionContext.html#method.validate
- Performance improvements for ErgoScript interpreter, which should improve signing and validation times for complex scripts and large transactions significantly
- Support for creating transactions that spend storage rent boxes
- WASM/C bindings now include more functions #745 #742 #751
What's Changed
- Don't clone env on each call of Expr::eval by @SethDusek in #740
- i741 expose missing types and functions by @Alesfatalis in #742
- Transaction Validation by @SethDusek in #736
- I744 add missing functions by @Alesfatalis in #745
- Swift: avoid undefined behavior when creating SecretKey from array that is too short by @SethDusek in #743
- fix storage fee calculation by @Alesfatalis in #747
- i748 storage rent by @Alesfatalis in #749
- Add method for signing multi-sig input by @SethDusek in #751
- Export WASM binding TS types by @arobsn in #754
- Optimizations by @SethDusek in #752
New Contributors
Full Changelog: ergo-lib-v0.27.1...ergo-lib-v0.28.0
v0.26.0
v0.25.0
v0.24.1
[0.24.1] - 2023-09-20
Added
- add
Coll[Long]
parsing from an array of strings in Wasm APIConstant.from_js
; - impl
From
forEcPoint
;
Fixed
- updated
wasm-bindgen
with a fix for wrong memory address when exceeding 2GB;
v0.24.0
[0.24.0] - 2023-05-12
Added
- Introduce Wallet::sign_tx_input; by @greenhat in #689
- Introduce transaction::verify_tx_input_proof by @greenhat in #691
- Tuple expression support in register values by @greenhat in #702
- Include backtrace on error in Expr::check_post_eval_tpe by @greenhat in #713
- enable TC39 weak ref support in wasm-bindgen by @greenhat in #682
Changed
Fixed
v0.23.0
[0.23.0] - 2023-02-08
Added
- serde serialization for NetworkAddress #667;
- expose constant value and type in C bindings #669
- Parse tx input's spending proof as either string or struct (explorer API) #671;
- Add FullBlock type #678;
- Validate parsed ErgoTree header, check no bytes are left unconsumed after ErgoTree is parsed #684;
- Preserve ContextExtension items order in JSON encoding #687;
Fixed
- Fix scientific notion deserialization with powSolutions d parameter #668;
v0.22.0
v0.21.1
[0.21.1] - 2022-11-21
Added
ErgoBox::from_box_candidate
in Wasm API #651;
Changed
- unparseable register value should not prevent parsing
ErgoBox
from JSON #647; - rename
NonMandatoryRegisters:get
toNonMandatoryRegisters::get_constant
and returnNone
if the register value is unparseable #647; - add
NonMandatoryRegisters:get
returning newRegisterValue
holding either aConstant
or unparseable bytes #647;