Skip to content

Releases: multiversx/mx-sdk-rs

sc 0.56.1, chain 0.13.1, sdk 0.8.2

06 Feb 21:33
v0.56.1
98e4390
Compare
Choose a tag to compare
  • Allow setting gas for callback for direct transfers.
  • NestedEncode for interaction types: TestAddress, TestScAddress and TestTokenIdentifier.
  • Bugfix: pretty representation for ManagedAddress when debugging.
  • Upgrade dependency: ruplacer.

sc 0.56.0, chain 0.13.0, sdk 0.8.1

23 Jan 00:49
v0.56.0
12f9169
Compare
Choose a tag to compare
  • Rust VM support for readonly sync calls.
  • ManagedMapEncoded, a map type that can use any key or value types that are serializable.
  • ManagedDecimal implements ManagedVecItem.
  • Bugfixes, improvements:
    • Fixed a bug regarding the ESDT roles VM hook;
    • Pretty representation for ManagedBuffer and other string-like types when debugging;
    • API fix of an issue that was preventing set state in chain simulator;
    • Snippets generator fixes involving the crate path and the upgrade result handler.

sc 0.55.0, codec 0.21.2, chain 0.12.0, sdk 0.8.0

08 Jan 22:49
v0.55.0
1771a27
Compare
Choose a tag to compare
  • Integrating Spica changes into the framework:
    • EGLD+ESDT multi-transfers are now possible:
      • changed the handling of call values: EGLD is treated almost the same as an ESDT in all_transfers and multi_egld_or_esdt, old ESDT methods are given some protection against unexpected scenarios
      • changed the tx unified syntax for sending EGLD+ESDT from contracts, interactors and tests;
      • support in the Rust VM.
    • New built-in functions in the ESDTSystemSCProxy: ESDTModifyRoyalties, SDTSetNewURIs, ESDTModifyCreator, ESDTMetaDataRecreate, ESDTMetaDataUpdate.
  • Interactor support for "set state" on the chain simulator.
  • Fixed ownership for ManagedVec iterators, specifically reference iterators only produce references to the items.
  • Syntax cleanup:
    • #[payable] now allowed instead of #[payable("*")];
    • register_promise allows callback, without calling a function on destination.
  • Refactoring and optimizations:
    • Simplified the callback selector;
    • Performance improvements in ManagedVec iterators;
    • Removed some unnecessary bound checks in multi_esdt.

sc 0.54.5

28 Nov 12:46
v0.54.5
b4b40e0
Compare
Choose a tag to compare
  • ManagedVec - deprecated sort and guarded it by the alloc feature, since it uses the allocator.
  • sc-meta
    • versioning fix;
    • interactor generator fix.
  • Interactors - fixed code metadata on deploy.

sc 0.54.4

22 Nov 16:15
v0.54.4
dfc22b1
Compare
Choose a tag to compare
  • sc-meta
    • install debugger CLI that prepares VSCode extension for debugging;
    • fixed a crash involving templates and installers.
  • Deprecated #[derive(TypeAbi)] and added an additional warning in the macro.

sc 0.54.3

18 Nov 16:04
v0.54.3
f58ab4f
Compare
Choose a tag to compare
  • #[storage_mapper_from_address] fixes for: FungibleTokenMapper, NonFungibleTokenMapper, TokenAttributesMapper, UniqueIdMapper, UserMapper, AddressToIdMapper.

sc 0.54.2, codec 0.21.1, chain 0.11.1, sdk 0.7.1

15 Nov 18:58
v0.54.2
fa9b34a
Compare
Choose a tag to compare
  • Codec improvements:
    • MultiValueX - TopDecodeMultiLength implementation fix;
    • ManagedVecItem implented for MultiValue2 and MultiValue3.
  • sc-meta snippets improvements.

sc 0.54.1

13 Nov 18:19
v0.54.1
83425ab
Compare
Choose a tag to compare
  • sc-meta cs - ChainSimulator CLI, which provides handy functionality to:
    • install the chain simulator image in Docker;
    • start/stop the chain simulator;
    • quick testing using the chain-simulator-tests feature flag.
  • Adder interactor cleanup, including in template.
  • Interactor - use_chain_simulator builder method, for improved backwards compatibility.
  • MultiValueEncodedCounted - a lazy multi-value encoding, but with known number of elements.

sc 0.54.0, sdk 0.7.0, chain 0.11.0

06 Nov 17:46
v0.54.0
9f13417
Compare
Choose a tag to compare
  • New crate, multiversx-chain-core, to be used in both framework and Rust VM. It contains common types, flags, and constants that refer to the protocol.
  • Major SDK/interactor refactor:
    • Added support for Chain Simulator in interactors:
      • Added chain-simulator-specific endpoints: feed account, advance blocks
      • Added a system to set up accounts in the chain simulator from the interactor;
      • Support for advancing blocks in the interactor;
    • Split SDK crate into:
      • multiversx-sdk - only contains the specifications of the gateway API, without a mechanism to call the API;
      • multiversx-sdk-http - functionality to call the gateway via reqwest;
      • multiversx-sdk-dapp - functionality to call the gateway via wasm-bindgen, to be used in WebAssembly front-ends;
    • Major improvements in the retrieving of transactions and other blockchain data fron the API, many bugs fixed;
    • Support for writing integration tests for interactors, using the Chain Simulator;
      • Also added support for test-related chain-simulator-tests feature flag in sc-meta;
    • Interactors on the front-end:
      • Interactor type made generic over the gateway API implementation, so that it can be used in both front-end and back-end, with no change in the code base;
      • Support for custom random number generation for the front-end;
    • Mechanism for fixing file paths in the interactor context;
    • Fixed an issue with the account tool;
    • Adjusted sc-meta snippets for the new syntax and the chain simulator support;
  • Unified syntax:
    • ReturnsHandledOrError result handler, which can gracefully deal with failed transactions;
    • ReturnsGasUsed result handler;
    • PassValue result handler for providing a closure-like context for multi-transaction call/deploy;
    • More specific back transfer result handlers: ReturnsBackTransfersEGLD, ReturnsBackTransfersMultiESDT, ReturnsBackTransfersSingleESDT;
    • Fixed an issue with the update functionality not being general enough;
    • Deprecated prepare_async(), developers can now call run() directly, asynchronously;
  • sc-meta improvements:
    • New mechanism for detecting and warning about storage writes in readonly endpoints, integrated into the build system;
    • Support for referencing the framework via git commit, branch, or tag, to make it easier to try out unreleased versions;
    • Support for default-features;
    • Better representation in console of the contract/lib folders, as well as better error messages.
    • Refactoring of the dependency handling logic.
  • Fixed the debugger, following changes in the Rust debug tooling.
  • ManagedVec set always consumes ownership. Preparations for a profound memory management cleanup.
  • ABI:
    • title field and annotation;
    • Refactoring.

sc 0.53.2

02 Oct 11:56
v0.53.2
07cbebb
Compare
Choose a tag to compare
  • StakingModule fix.