Multi-contract build system
In short, it allows developers to set up their projects so as to produce multiple contracts from the same sources.
Full documentation: Smart Contract Build Reference - Docs
Support for promises
Promises are the future mechanism for performing cross-shard asynchronous calls. They are not yet available on the Mainnet, so we advise developers to stay away from them. They were, however, included for testing purposes and in preparation for the next Mainnet release.
Contracts cannot yet use this feature without adding feature flag promises
under elrond-wasm
in Cargo.toml
.
Refactor on elrond-codec
We removed some old traits and mechanisms that were no longer in use:
TopEncodeNoErr
;NestedEncodeNoErr
;TypeInfo
;
This should not affect smart contract developers.
Improvements on the System SC Proxy
We had 2 PRs from the community, adding missing functionality to the system SC proxy:
controlChanges
method;- transfer create role;
We use proxies to call smart contracts easier, either from other contracts, or from off-chain code. We usually generate these proxies automatically for contracts. The System SC Proxy is a special proxy, built by us to call the System SC that deals, among other things, with issuing and managing tokens.
Module updates
- New
MergedTokenInstances
module; - Governance module improvements;
set_if_empty
forFungibleTokenMapper
andNonFungibleTokenMapper
.
Storage mapper improvements
- Storage mappers can read from another contract;
BiDiMapper
improvements;- Fixed missing substitution rules for
FungibleTokenMapper
,NonFungibleTokenMapper
,UniqueIdMapper
,BiDiMapper
,WhitelistMapper
,RandomnessSource
. Make sure to remove the Api declaration, e.g.FungibleTokenMapper<Self::Api>
becomes justFungibleTokenMapper
. - Added
take
andreplace
methods forSingleValueMapper
; - Implemented
Extend
trait forUnorderedSetMapper
.
Github Release Link: elrond-wasm-rs: v0.37.0, elrond-codec 0.15.0 .
Feel free to send us feedback or open a topic in our Github Discussions tab and share your thoughts so that the entire MultiversX community can hear you. If you have a great idea, share it with us and let’s make it happen by implementing and integrating it in our ecosystem.
Stay Hungry! Stay Foolish!