Skip to content

Releases: multiversx/mx-sdk-rs

sc 0.53.1, sdk 0.6.1

01 Oct 14:01
v0.53.1
0811855
Compare
Choose a tag to compare
  • Interactor:
    • Allow signature to be empty in TransactionOnNetwork;
    • Allow return data to be empty in VMOutputApi.

sc 0.53.0 codec 0.21.0, vm 0.10.0, sdk 0.6.0, scenario-format 0.23.0

04 Sep 10:46
v0.53.0
083012e
Compare
Choose a tag to compare
  • Unified syntax:
    • Whitebox testing;
    • Proxy fix for ManagedOption;
    • TestTokenIdentifier syntactic sugar.
  • New ResultHandler: ReturnsLogs.
  • Interactor:
    • Fix on API fetch process status;
    • Fix on ReturnsNewTokenIdentifier edge cases solved;
    • Fix on ESDTTransfer for transfer step;
    • Support for Keystore + password.
  • Framework API support: EI 1.4 crypto functions.
  • sc-meta:
    • New wallet command: PEM and keystore generator and conversions;
    • New report command:
      • Generate json or Markdown report based on size, path, allocator and panic messages;
      • Compare reports;
      • Convert reports.
  • VecMapper update with index.
  • Substitution list: AddressToIdMapper
  • Dependencies updated.

sc 0.52.3

06 Aug 13:18
v0.52.3
f7e81bf
Compare
Choose a tag to compare
  • Pause module events.

sc 0.52.1

31 Jul 13:21
v0.52.1
49bc839
Compare
Choose a tag to compare
  • ManagedBufferReadToEnd TypeAbi implementation.

sc 0.52.0, codec 0.20.1

31 Jul 01:56
v0.52.0
2148c69
Compare
Choose a tag to compare
  • ManagedBufferReadToEnd type, which flushed a nested data buffer.
  • Fixed hex and binary formatters for byte slices.
  • Added EI 1.4 and 1.5 configs.
  • Dependency upgrades.

sc 0.51.1

06 Jul 15:28
v0.51.1
4a4dfae
Compare
Choose a tag to compare
  • sc-meta upgrade bugfix.

sc 0.51.0, codec 0.20.0, vm 0.9.0, sdk 0.5.0, scenario-format 0.22.3

06 Jul 14:46
v0.51.0
c4608cc
Compare
Choose a tag to compare
  • Major refactoring of multiversx-sc-meta
    • Crate multiversx-sc-meta split in 2:
      1. multiversx-sc-meta remains the standalone tool. For backwards compatibility, it can still be used in contract meta crates, but a warning will be issued.
      2. multiversx-sc-meta-lib is the contract-only library to contract meta crates.
    • The refactoring came with few code changes, but dependencies were disentangled and cleaned up.
    • Account retrieval tool was merged into sc-meta standalone. Previously little known feature, it enables downloading the full state of an account and formatting it as a mandos set state step. Very useful for generating tests and investigating state.
    • multiversx-sdk was also refactored, especially the gateway proxy.
  • A new code report is available in the .mxsc.json build output. The report analyzes the wasm code after build and always offers the following information:
    • imports: what VM hooks are used;
    • eiCheck: if the used imports comply with the environment interface (EI, allowed VM hooks);
    • hasAllocator: is it allocates on the heap;
    • hasPanic: whether it produces Rust panics and formats error messages using the standard Rust formatter (a source of code bloat).
  • ManagedDecimal and ManagedDecimalSigned:
    • New types that encapulate a managed BigUint and BigInt respectively, but treat them as base 10 fixed point rational numbers.
    • Two flavors are allowed: the number of decimals is known at compile time (e.g. EGLD always has 18 decimals), or only at runtime.
      • Type ConstDecimals is able to resolve conversions at compile time, reducing code size and making encoding and decoding easier, since the number of decimals does not need to be encoded.
      • Regular usize number of decimals is resolved at runtime.
    • All basic arithmetic operations are implemented for these types, just like for the big integers.
  • Implemented logarithms:
    • Natural logarithm ln for ManagedDecimal, BigFloat, and BigInt.
    • Base 2 logarithm log2 for ManagedDecimal.
    • Precision is about 5 decimals, largely irrespective of input.
    • The operation is cheap, ln costs 44980 gas for managed decimals and 153772 for big floats, largely irrespective of input.
  • Smart contract code on the front-end:
    • Framework and contract code, together with the Rust VM as a backend, can now be compiled to WebAssembly for front-end, using wasm-bindgen.
    • A few incompatible Rust VM features needed to be made optional for this to work.
  • Reverted changes in sc 0.50.6 (diagnostic::on_unimplemented & rustc 1.78 dependency).
  • Bugfix: sync_call_readonly can now be used with proxies.

sc 0.50.6

05 Jul 09:14
v0.50.6
f7d20c1
Compare
Choose a tag to compare
  • Temporarily removed dependency to rustc 1.78, to ease transition from older versions. Will be re-enabled in 0.51.0.

sc 0.50.5

21 Jun 17:46
v0.50.5
0b43491
Compare
Choose a tag to compare
  • #[storage_mapper_from_address] annotation.
  • Added missing equality operator for test addresses (TestAddress, TestSCAddress).

sc 0.50.3

25 May 17:26
v0.50.3
5db5e25
Compare
Choose a tag to compare
  • Dependency update and fix. There was an issue with the zip dependency in sc-meta.