Skip to content

Releases: multiversx/mx-sdk-rs

elrond-wasm 0.32.0, mandos 0.14.0

03 Jun 16:52
v0.32.0
9e0f13a
Compare
Choose a tag to compare
  • VM new functionality added as part of the environment interface 1.2:
    • Fully managed functionality for elliptic curves (no allocator);
    • Fully managed cryptographic functions (no allocator);
    • More efficient printing of big ints and hex;
    • Functionality available by adding the ei-1-2 flag to contracts.
  • BigFloat functionality. Since the functionality is not yet deployed on mainnet, use flag big-float to use.
  • Major refactoring of the call value mechanism:
    • TokenIdentifier now only refers to ESDT, for mixed EGLD+ESDT we have EgldOrEsdtTokenIdentifier.
    • EsdtTokenPayment now only refers to ESDT, for mixed EGLD+ESDT we have EgldOrEsdtTokenPayment.
    • Compact version for multi-transfer: let [payment_a, payment_b, payment_c] = self.call_value().multi_esdt();.
    • Explicit single_esdt vs. single_fungible_esdt vs. egld_or_single_esdt vs. egld_or_single_fungible_esdt.
    • Payment arguments are still supported, although discouraged. They always assume the EGLD+ESDT scenario.
  • ManagedOption provides some minor optimization for specific use-cases. Mostly for use in the framework.
  • Cleanup in the callback mechanism and in the SendApi.
  • SparseArray implementation.
  • UniqueIdMapper - efficient storage mapper for holding unique values.
  • The ABI also contains events.
  • New standard module: StakingModule.

elrond-wasm 0.31.1, mandos 0.13.1

06 May 08:00
v0.31.1
e54acf9
Compare
Choose a tag to compare
  • Bugfix - formatter single char issue.

elrond-wasm 0.31.0, elrond-codec 0.11.0, mandos 0.13.0

02 May 09:48
v0.31.0
83eb85a
Compare
Choose a tag to compare
  • Improved formatter. Strings can be formatted similarly to the standard Rust ones, but without allocator, using managed buffers. Macros require!, sc_panic!, sc_format!, sc_print! use it.
  • Removed build flag ei-1-1, following mainnet updated and new VM endpoints being available. Among others, managed sha256 and keccak256 APIs can be used freely.
  • CodecFrom and CodecInto traits to define equivalent encodings and conversions via codec.
  • Generated smart contract proxies use the CodecFrom/CodecInto traits to accept a wider range of types.
  • Mandos Rust testing framework v2, which uses contract proxies for composing calls and is capable of building and exporting mandos scenarios.
  • Managed type handle management system in the contract, to reduce the number of API calls to the VM. General VM API refactor.
  • Eliminated #[var_args] annotation. The framework can now distinguish between single-values and multi-values solely based on type.
  • Contract cleans up return data after performing synchronous calls. Getting return data by range is no longer needed and the respective methods have been removed.
  • Fixed behavior of blockchain API get_esdt_token_data.
  • Git tag/commit info in ABI (fixed & reintroduced).

elrond-wasm 0.30.0, elrond-codec 0.10.0

17 Mar 15:52
v0.30.0
71e8f06
Compare
Choose a tag to compare
  • Feature flags in elrond-wasm:
    • alloc allows contracts to use the heap allocator. It is not a hard restriction, there is still access to the implementations of the heap-allocated types, but they are not imported. Some methods are only available with this flag.
    • ei-1-1 allows contracts to use VM endpoints that are not yet available on the mainnet.
  • Fixes with async calls, smart contract deploy & upgrade.
  • Refactoring regarding small number types in the API.
  • Rust testing framework: Allow checking NFT balance without also checking attributes.
  • View for MapMapper.

elrond-wasm 0.29.3

03 Mar 18:14
v0.29.3
976c83b
Compare
Choose a tag to compare
  • ManagedVec backwards compatible implementation for set.
  • Implemented ManagedVecItem for Option<T>.

elrond-wasm 0.29.2

01 Mar 12:18
v0.29.2
d383aeb
Compare
Choose a tag to compare
  • Disabled git tag/commit info in ABI due to issue in standard modules.

elrond-wasm 0.29.0

01 Mar 10:23
v0.29.0
54e16cc
Compare
Choose a tag to compare
  • Cleaned up allocator from modules: DnsModule, EsdtModule, FeaturesModule, PauseModule, UsersModule.
  • Crypto API managed wrapper over legacy VM endpoints.
  • Managed multi-value types refactor and rename.
  • ManagedVec - remove, contains, find.
  • ManagedVecItem derive for simple enums.
  • Feature cb_closure_managed_deser replaced by cb_closure_unmanaged_deser, managed implementation is now the default.
  • Git tag/commit info in ABI.

elrond-wasm 0.28.0, elrond-codec 0.9.0, mandos 0.12.0

22 Feb 21:46
v0.28.0
3894497
Compare
Choose a tag to compare
  • Major elrond-codec refactor:
    • Redesigned the error handling for single value encoding
    • Introduced multi-value encoding, which replaces the previous endpoint argument and result mechanisms
  • Mandos improvements:
    • Multi-values: out, topics, ESDT uri
    • Logs "+" wildcard
  • Builtin function mocks: ESDTNFTUpdateAttributes, ESDTNFTAddURI
  • New storage mappers: FungibleTokenMapper, NonFungibleTokenMapper, WhitelistMapper
  • Call value wrapper avoids using invalid token index in requests

elrond-wasm 0.27.4, elrond-codec 0.8.5

02 Feb 10:40
v0.27.4
a49a7a4
Compare
Choose a tag to compare
  • Backwards compatibility fix.

elrond-wasm 0.27.3

31 Jan 12:15
v0.27.3
85ca75c
Compare
Choose a tag to compare
  • Backwards compatibility fix.
  • Trailing commas are allowed in sc_panic!, require! and sc_print!.
  • EsdtTokenData decode_attributes_or_exit for easier error handling.