From cdc851dce7eafa764089581cd5c43d0c6c088765 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Fri, 10 Sep 2021 21:33:08 +0300 Subject: [PATCH] changelog --- CHANGELOG.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c544fd35a8..ebdbbcbe56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,32 @@ There are several crates in this repo, this changelog will keep track of all of Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. ## [elrond-wasm 0.19.0, elrond-codec 0.6.0, mandos 0.9.0] - 2021-09-10 -- Managed APIs used everywhere +- Managed types used extensively. Because of this, the recommended Arwen minimum version is `v1.4.10`. + - Redesigned parts of the elrond-codec, so as to allow custom type specializations. These specializations allow serializers and types to bypass the limitations of the codec traits to provide optimized implementations. Managed type serialization relies on this. + - Redesigned existing managed types: `BigInt`, `BigUint`, `EllipticCurve`. + - Added the `ManagedBuffer` type, which can be used to store anything on the VM side. + - Support for complex operations using managed buffers, such as storing lists of elements in a managed buffer via the `ManagedVec` type. + - There are `ManagedAddress`es now. They rely on another managed type, the `ManagedByteArray`, which is a fixed size managed structure. + - `TokenIdentifier` is now a managed type. + - Serializer based on a managed buffer. + - Storage keys are now based on managed buffers. + - All error messages generated by the framework are assembled using a managed buffer. + - The blockchain API uses managed types for most interactions. + - The contract call API uses managed types for most interactions. + - The call value API supports multi transfer via managed `EsdtTokenPayment` objects. + - Event logs are sent to the VM via managed types (`ManagedVec` for topics, `ManagedBuffer` for data). + - Type conversion traits for managed types: `ManagedFrom` and `ManagedInto`. + - There are now 2 types of `SCError`: `StaticSCError` for static messages and `ManagedSCError`, which is backed by a managed buffer. + - Contract errors can now be triggered immediately, without the need to return them from an endpoint. +- Improved macro preprocessor: more complex patterns can now be substituted. + - Generic API parameter needs not be specified every time. + - Substitutions available for most managed types and storage mappers. +- Separated contract API into low-level VM API connectors and high-level utility objects to be used in the contracts. +- Mandos-rs improvements: + - Self tests synchronized with mandos-go. Some missing features needed to be added to make them pass. + - Support for ESDT tokens. + - Support for ESDT multi-transfer. + ## [elrond-wasm 0.18.2] - 2021-08-20 - Crypto API: `ripemd160` function, custom secp256k1 signature verification (`verify_custom_secp256k1`) and signature generation (`encode_secp256k1_der_signature`).