Releases: multiversx/mx-sdk-rs
Releases · multiversx/mx-sdk-rs
elrond-wasm 0.32.0, mandos 0.14.0
- 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 flagbig-float
to use.- Major refactoring of the call value mechanism:
TokenIdentifier
now only refers to ESDT, for mixed EGLD+ESDT we haveEgldOrEsdtTokenIdentifier
.EsdtTokenPayment
now only refers to ESDT, for mixed EGLD+ESDT we haveEgldOrEsdtTokenPayment
.- 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
- Bugfix - formatter single char issue.
elrond-wasm 0.31.0, elrond-codec 0.11.0, mandos 0.13.0
- 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, managedsha256
andkeccak256
APIs can be used freely. CodecFrom
andCodecInto
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
- 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
ManagedVec
backwards compatible implementation forset
.- Implemented
ManagedVecItem
forOption<T>
.
elrond-wasm 0.29.2
- Disabled git tag/commit info in ABI due to issue in standard modules.
elrond-wasm 0.29.0
- 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 bycb_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
- 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
- Backwards compatibility fix.
elrond-wasm 0.27.3
- Backwards compatibility fix.
- Trailing commas are allowed in
sc_panic!
,require!
andsc_print!
. - EsdtTokenData
decode_attributes_or_exit
for easier error handling.