The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.9.1 - 2023-11-17
- Update deps
0.9.0 - 2023-11-13
- Support generic types in entry points
- Impl ContractApi extension trait
- Wrap contract types in
sv
module - Wrap impl types in
sv
module - Hide generated interface types in
sv
module - Move
messages
method out of EnumMsg - Support generics on every message type
- Support generic contract for simple contract
- Support generic contract for simple contract
- Support generics on
messages
attribute in maincontract
macro - Support generic interface implemented on contract
- Emit InterfaceTypes
- Check interfaces return type for used generics
- Add support for generics in interface
- [breaking] Expect
,
in:custom(msg, query)
0.8.1 - 2023-09-18
- Generate migrate entry point if message defined on contract
0.8.0 - 2023-09-05
- Cast
deps
to empty - Support QueryC associated type on interface
- Support custom queries on contracts
0.7.1 - 2023-08-14
- Prefix interface proxy with module as Path
0.7.0 - 2023-08-01
- Override generated entry_points
- Override entry_points in multitest helpers
- [breaking]
Remote
type implements all relevant traits so it can be stored in#[cw_serde]
types
- Fix dependencies in sylvia 0.6.0 (0.6.0 will be yanked)
- InstantiateCtx and ReplyCtx are no longer type aliases (breaking)
multitest::App
is using more generic multitest version ofApp
- Support for custom messages via
#[sv::custom]
attribute
- New
BoundQuerier
andRemote
types are generated. Their goal is to make querying other contracts more intuitive. module
attr forcontract
macro no longer wraps generated code in scope. As from now it will be used to provide path to contract implementation.- Removed requirement for
const fn new()
method forcontract
macro call.fn new()
method is still required.
- Added support of
#[msg(reply)]
defining handler for reply messages, currently only in the form offn reply(&self, _ctx: ReplyCtx, _msg: Reply) -> Result<Response, Err>
- Added generation of reply entrypoint forwarding to the
#[msg(reply)]
handler - Added generation of reply implementation forwarding to
#[msg(reply)]
handler in multitest helpers
- Lint fix
- Introduced new
entry_points
macro - Custom errors can be passed through
error
attribute
- Changed the way multitest helpers are generated to avoid weird
use
statements in code. - Introduced Context types in place of tuples
- Forwarding attributes on message fields
- Example usage of generated multitest helpers
- Slight improvement the invalid message received error
- Interfaces moved to separate directory to avoid errors on workspace optimizer
mt
feature added. Enabling it will:- generate
cw_multi_test::Contract
impl on a contract - generate Proxy to simplify writting tests
- generate
- Example of usage of new test framework
- Port of
cw20
contract onsylvia
framework - Default error type on contract is now
cosmwasm_std::StdError
- Reexported
schemars
- Fix: Generate Migrate as struct
- Cw20 implementation in sylvia
- Removed
#[msg(reply)]
This is the first documented and supported implementation. It provides macro to generate messsages for interfaces and contracts.
Some main points:
- Support for instantiate, execute, query, migrate and reply messages.
- Ability to implement multiple interfaces on contract.
- Mechanism of detecting overlapping of messages.
- Dispatch mechanism simplyfing entry points creation.
- Support for schema generation.