SethDusek
released this
09 Aug 15:09
·
46 commits
to develop
since this release
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