Releases: multiversx/mx-sdk-rs
Releases · multiversx/mx-sdk-rs
sc 0.53.1, sdk 0.6.1
- 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
- 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.
- New
- VecMapper update with index.
- Substitution list: AddressToIdMapper
- Dependencies updated.
sc 0.52.3
- Pause module events.
sc 0.52.1
ManagedBufferReadToEnd
TypeAbi
implementation.
sc 0.52.0, codec 0.20.1
- 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
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
- Major refactoring of
multiversx-sc-meta
- Crate
multiversx-sc-meta
split in 2: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.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.
- Crate
- 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
andManagedDecimalSigned
:- New types that encapulate a managed
BigUint
andBigInt
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.
- Type
- All basic arithmetic operations are implemented for these types, just like for the big integers.
- New types that encapulate a managed
- Implemented logarithms:
- Natural logarithm
ln
forManagedDecimal
,BigFloat
, andBigInt
. - Base 2 logarithm
log2
forManagedDecimal
. - 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.
- Natural logarithm
- 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.
- Framework and contract code, together with the Rust VM as a backend, can now be compiled to WebAssembly for front-end, using
- 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
- 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
#[storage_mapper_from_address]
annotation.- Added missing equality operator for test addresses (
TestAddress
,TestSCAddress
).
sc 0.50.3
- Dependency update and fix. There was an issue with the
zip
dependency in sc-meta.