All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning with the exception of the SNIP-20 token implementation.
- BREAKING
⚠️ : Introduced theAddress
andMaybeAddress
marker traits to constrain the possible types for generic arguments as well as making it clear that an address is expected. (#177)
- BREAKING
⚠️ : Removed the underscore in the contract address attribute in the events produced by the Ensemble. (5813304)
- BREAKING
⚠️ : Renamed theimpl_contract_harness!
macro tocontract_harness!
. It now also uses the same syntax as theentrypoint!
macro and allows to optionally supply a reply entry point. (#168) - BREAKING
⚠️ : RenamedContractInstantiationInfo
toContractCode
. (#171)
- SNIP-25 allowance queries (#169)
- Methods to get a random number (
next_u32/u64
) and to fill a slice with random bytes (fill_bytes
) inPrng
(#170) - SNIP-20 decoys (#170)
- SNIP-20 support to deposit/redeem multiple native coin denominations (#173)
- Convenience methods to create init and execute messages from
ContractCode
andContractLink
(#171)
- BREAKING
⚠️ : Addresses in the Ensemble are now checked if they are less than 55 bytes and all lower case characters.MockEnv
will panic if this is not the case. Thesender
andcontract
fields are now private in order ensure this invariant. Use the getters if you need to read them. (#166)
Map
andInsertOnlyMap
storage types (#163)set
method toIterableStorage
(#163)- Convenience methods to
IterableStorage
to match the features ofSingleItem
andItemSpace
(#163) Addr
now implementsSegment
(#163)Namespace
types not also implementKey
(#163)
- BREAKING
⚠️ : Removed_at
suffix fromIterableStorage
(#163)
- Unit struct and enum variants now supported by the
Canonize
derive macro (3448523) - Fadroma DSL - procedural macro to reduce boilerplate and enable composing shared functionality or entire contracts (#155)
- BREAKING
⚠️ : Custom binary serialization for storage (#147):- Introduces the
FadromaSerialize
andFadromaDeserialize
traits which can be derived and are semantically equivalent toserde
's ownSerialize
/Deserialize
traits. - All Fadroma storage types now use these traits.
- Introduces the
-
BREAKING
⚠️ :entrypoint!
macro now supportsreply
entry points and has a slightly different interface. (d005e38) -
BREAKING
⚠️ :Permit
struct: renamedcheck_permission
->has_permission
andcheck_contract
->is_for_contract
. (693cbb0) -
BREAKING
⚠️ : The SNIP-20 implementation now uses Fadroma DSL. (#159) -
BREAKING
⚠️ :scrt::pad_response
is now implemented as an extension tocosmwasm_std::Response
via theResponseExt
trait. (#159) -
BREAKING
⚠️ : The killswitch module now only uses a singleContractStatus
enum, consolidated from previously theContractStatusLevel
enum andContractStatus
struct (#158) -
BREAKING
⚠️ : The admin module now is a single implementation that covers both immediate and two-step admin changes (#155)- Now uses the new Fadroma DSL
-
BREAKING
⚠️ : The killswitch module now uses Fadroma DSL (#155)
- BREAKING
⚠️ : the#[message]
procedural macro (6e774a2) - BREAKING
⚠️ : the contract derive procedural macro in favour of Fadroma DSL (#155)
- Removed
cosmwasm_std::to_binary
which resulted in double base64 the query result in the derive macro (b932456)
First official release on crates.io.