Releases: ergoplatform/sigmastate-interpreter
Sigma SDK v6.0.1 for Ergo mainnets v6.x and v5.x
Sigma SDK v6.0.0 for Ergo mainnets v6.x and v5.x
This release is introducing implementation of 6.0 protocol described in EIP-50.
What's Changed
- [v6.0.0] Fix of tests due to version upgrade by @aslesarenko in #985
- [6.0] Merge with refactored SigmaCompiler by @aslesarenko in #987
- [6.0] SOption[T] (de)serialization support by @kushti in #990
- [6.0] Improved and correct testing of
newFeature
test cases by @kushti in #1001 - [6.0] Fix for downcasting BigInt to Long fails by @kushti in #1007
- [v6.0] Accumulate ErgoTree deserialization cost by @sethdusek in #938
- [6.0] Fix SubstConstants: serialize ErgoTree size by @aslesarenko in #995
- [6.0] Common SMethod and MethodCallSerializer new features by @kushti in #1002
- [6.0.0] Support Header (de)serialization by @kushti in #972
- [6.0.0] Header.checkPow method by @kushti in #968
- [6.0] Box.getReg implementation by @kushti in #1015
- [6.0] Serialize SFunc in TypeSerializer by @kushti in #1020
- [6.0] New Numeric methods by @kushti in #1017
- [6.0] Global.serialize method by @aslesarenko in #989
- [6.0] Global.fromBigEndianBytes implementation by @kushti in #1013
- [6.0] New collection methods by @kushti in #1010
- [6.0] Improve collections equality by @kushti in #1011
- [6.0] Lazy default for Option.getOrElse and Coll.getOrElse by @kushti in #1008
- [6.0] GetVar(inputIndex, varId) for reading context variable from another input and fix for Context.getVar by @kushti in #1016
- [6.0.0] Conversion from Long-encoded nBits representation to BigInt and back by @kushti in #962
- [6.0] Global.deserializeTo[] method by @kushti in #979
- [6.0.0] Autolykos 2 validation for custom message by @kushti in #965
- [6.0] Global.some() and Global.none methods by @kushti in #1026
- [6.0] UnsignedBigInt implementation by @kushti in #997
- [6.0] Revise liftToConstant method by @kushti in #1021
- [6.0] Fix semantics of AvlTree.insert & new AvlTree.insertOrUpdate method by @kushti in #1038
- Fix for Global.decodeNBits can produce bigint out of 256 bits scope by @kushti in #1045
- Coll.distinct method removed by @kushti in #1052
- Update github actions to v4. by @jozanek in #1058
- UnsignedBigInt result type for Global.powHit by @kushti in #1049
- Fix for Box.getReg v6 - different ids used now by @kushti in #1048
- Update scala, sbt, and plugins. by @jozanek in #1060
- Drop unused args argument from SigmaException. by @jozanek in #1063
- I1039 Finishes executeFromSelfReg by @novamon in #1055
- [6.0] ErgoTree version based versioning, polished activation details and revised checkSoftForkCondition by @kushti in #1043
- Getvar variant for 6.0 removed by @kushti in #1050
- #1053 merkle tree fsm ergoscript test by @ccellado in #1066
- Prohibition for using 6.0 types in register and context extension vars by @kushti in #1047
- Candidate for 6.0.0 release by @kushti in #930
New Contributors
Full Changelog: v5.0.15...v6.0.0
Sigma SDK v5.0.15 for Ergo mainnet v5.0.x
What's Changed
- unused code removed (#957, #961)
- predefined ErgoScript
bigInt
predefined function to create big integer fromString (e.g.bigInt("5")
): #967 - JavaScript serialization and deserialization of Box in registers: #971
- Correct environment for Template Compiler: #977
- Simplify IRContext: #986
- Update flatMap documentation for Interpreter V2/Ergo 5.0: #954
- Parse ContractTemplate from JSON string: #999
- Check BigInt size on serialization: #996
- Add missing JavaScript reflection metadata: #1009
- Finish executeFromVar: #976
- Update Scrypto dependency #1036
Full Changelog: v5.0.14...v5.0.15
Sigma SDK v5.0.14 for Ergo mainnet v5.0.x
This release brings many refactoring changes in the code base. The new module structure has be introduced. See updated README
What's Changed
- Move TypeSerializer and DataSerializer to
core
module (part 1) by @aslesarenko in #913 - HeaderType for ErgoTree.header by @aslesarenko in #920
- Move TypeSerializer and DataSerializer to core module (part 2) by @aslesarenko in #917
- Introduced sigma-data module by @aslesarenko in #924
- Add flag
isUsingBlockchainContext
to ErgoTree by @megatron00999 in #929 - Export missing classes to JS by @aslesarenko in #936
- Contract template compiler by @ross-weir in #937
- Removing unused code part 1 by @kushti in #944
- Removing unused code part 2 by @kushti in #946
- Removing unused code part 3 by @kushti in #949
- More tests related to ErgoTree versioning by @aslesarenko in #953
New Contributors
- @megatron00999 made their first contribution in #929
- @ross-weir made their first contribution in #937
Full Changelog: v5.0.13...v5.0.14
Sigma SDK v5.0.13 for Ergo mainnet v5.0.x
This release rollbacks changes in TX serializer introduced in v5.0.12.
Those changes broke backward compatibility, so that Ergo nodes v5.0.15 were incompatible with the previous versions.
Sigma v5.0.12 is thus deprecated, and must be upgraded to this v5.0.13 release.
What's Changed
- Fix transaction serialization by @aslesarenko in #941
Full Changelog: v5.0.12...v5.0.13
Sigma SDK v5.0.12 for Ergo mainnet v5.0.x
What's Changed
- Minimise modules and publish them separately (part 1) by @aslesarenko in #912
- P2SH address to use 126 as scriptId by @aslesarenko in #919
- Documentation improvements
Full Changelog: v5.0.11...v5.0.12
Sigma SDK v5.0.11 for Ergo mainnet v5.0.x
Key new features:
- new sigmastate-js v0.3.0 published which contains new ProverBuilder and SigmaProver classes which allow to reduce and sign transaction created using Fleet.
- ReducedTransaction class exported to JS and allows serialisation/deserialization
What's Changed
- Refactoring and improvments in #896
- Reduction and signing of Fleet transactions in #900
- Resolve all TODO v5.x in #911
Full Changelog: v5.0.10...v5.0.11
Sigma SDK v5.0.10 for Ergo mainnet v5.0.x
This release includes the following key new features:
- new sigmastate-js alpha version 0.2.2 published which contains fixes in secure random generation, typescript declarations of exported classes
- ErgoScript compiler is available from sigmastate-js module (functionally equivalent to JVM version)
- ErgoTree template method implemented to obtain contract bytes with placeholders instead of constants
- CI action set up to run JS test and publish snapshot version of sigmastate-js on npmjs.com
What's Changed
- Fix JS tests and publish script by @arobsn in #886
- Cross-compile ErgoScript compiler to JS by @aslesarenko in #885
- Add Sigma.JS types by @arobsn in #891
- Add JS CI by @arobsn in #892
- Tree template types by @arobsn in #895
- ErgoTree template by @aslesarenko in #894
- Secure random for JS by @aslesarenko in #898
Full Changelog: v5.0.9...v5.0.10
Sigma SDK v5.0.9 for Ergo mainnet v5.0.x
This release brings support of EIP-5: Contract Templates among other things.
What's Changed
- readme typing error revised by @flysky9981 in #858
- Add isEmpty method to the frontend compiler by @darkdrag00nv2 in #860
- Extract SigmaParser and deps into a new module by @darkdrag00nv2 in #864
- Move DataJsonEncoder and JsonCodecs to the sdk module by @darkdrag00nv2 in #867
- Implement ContractTemplate data structures according to EIP5 by @darkdrag00nv2 in #857
New Contributors
- @flysky9981 made their first contribution in #858
- @darkdrag00nv2 made their first contribution in #860
Full Changelog: v5.0.8...v5.0.9
Sigma SDK v5.0.8 for Ergo mainnet v5.0.x
What's Changed
This update brings a series of major changes, focusing on improving the performance, usability, and cross-platform compatibility of the library. We've introduced Scala.js compilation support for various modules, minimized consensus code, and restructured the codebase. With the implementation of new changes, Sigma SDK can now be directly utilized from Scala projects for transaction signing.
Important developments include:
- The addition of the sigmajs-crypto-facade JS dependency and a new JS implementation for CryptoFacade.
- Further separation of the consensus code from the compiler and removal of unused code.
- The introduction of a new sdk module, moving some test and code modules, and improving their execution on both JVM and JS.
- Code for EIP3 addresses implementation and some transaction signing is moved to the sdk module from the ergo-wallet repository and Appkit respectively.
- More classes are now exposed to JS via the JSExport annotation.
- ScalablyTyped is configured to import FleetSDK, and there's a new implementation for conversion between Fleet transaction JS object and ErgoLikeTransaction.
- The equality of TokenId has been fixed, and a JS version of CryptoFacade.encodePoint has been implemented.
- Comprehensive ScalaDocs have been added for all updated code, along with a series of refactorings and cleanups.
Releated PRs
- Add files filter and reorganize package.json by @anon-br in #840
- Export modules individually by @anon-br in #842
- Add new publish approach by @anon-br in #843
- Create
dist
directory on publish if it doesn't exist by @anon-br in #844 - [Sigma.js] add TypeScript as a dev dependency by @anon-br in #849
- Support Scala.js and further reorg (part1) by @aslesarenko in #878
- Support Scala.js and further reorg (part2) by @aslesarenko in #879
- Support Scala.js and further reorg (part3) by @aslesarenko in #882
- Support Scala.js and further reorg (part4) by @aslesarenko in #883
- [v5.x] Cross-compilation with Scala.js by @aslesarenko in #833
New Contributors
- @anon-br made their first contribution in #840
Full Changelog: v5.0.7...v5.0.8