Releases: Concordium/concordium-rust-smart-contracts
Releases · Concordium/concordium-rust-smart-contracts
Release concordium-std-derive 5.0.0
concordium-std-derive 5.0.0 (2022-11-21)
- Add support for event schemas (V3 schemas) in the schema derivation macro.
Release concordium-cis2 2.0.0
concordium-cis2 2.0.0 (2022-11-21)
- Update
concordium-std
to version 5. - Add
From
implementation from types implementingFrom<UpgradeError>
,From<QueryAccountBalanceError>
orFrom<QueryContractBalanceError>
toCis2Error
. - Add SchemaType for Cis2Event<T, A>
Release concordium-std-derive 4.1.0
concordium-std-derive 4.1.0 (2022-10-31)
- Allow
#[concordium(state_parameter)]
's value be not just identifier but any type path
forderive(DeserialWithState)
andderive(Deletable)
to generate implementations.
Release concordium-cis2 1.2.0
concordium-cis2 1.2.0
- Add TokenAmountU256
- Fix overflow during deserialization of amounts.
Release concordium-cis2 1.1.0
concordium-cis2 (2022-08-22)
- Update concordium-std to version 4.
- Support schemas for error types defined in the library.
Release concordium-cis2 1.0.0
Initial release of the concordium-cis2 on crates.io
Release concordium-std 3.1.0
concordium-std 3.1.0 (2022-08-04)
- Change SchemaType implementation for cryptographic primitives to ByteArray, meaning that the primitives(e.g., hashes and signatures) are now supplied as hex strings in JSON.
- Add Seek requirement for HasParameter.
- Implement Seek for ExternParameter.
- Add wrapper type TestParameterCursor instead of exposing Cursor directly, when using TestContext. This is changing the type returned by parameter_cursor for TestContext, but provides the same interface.
Release concordium-std-derive 3.1.0
concordium-std-derive 3.1.0 (2022-08-04)
- Removed derive(Serial) and derive(Deserial) (moved to concordium-contracts-common-derive).
Release concordium-std 3.0.0
concordium-std 3.0.0 (2022-05-17)
- Remove support for v0 smart contracts and add support for v1:
- Replace message passing with synchronous calls:
- Remove the
Action
type. - Add
HasHost
, which has (synchronous) functions for making
transfers,invoke_transfer
, and calling other contracts,invoke_contract
.
- Remove the
- Enable arbitary, serializable, return values for contract functions.
- Overhaul test infrastructure to support v1 contracts:
- Add ability to mock contract invocations.
- Add a number of helper functions and types to ease testing.
- Change of the contract state works
- Make the state a tree of byte arrays instead of a bytearray.
- Remove the 16kb limit to state size.
- Introduce high-level abstractions over the new state, including the
StateBuilder
,StateMap
,StateSet
, andStateBox
. - Add new traits for the low-level state interaction:
HasStateApi
andHasStateEntry
.
- The Seek trait now works with i32 instead of i64. This is more efficient,
and sufficient for the target architecture.
- Replace message passing with synchronous calls:
- Expose the module of primitive host functions with an unsafe API.
- Add cryptographic primitives:
- Add a new attribute
crypto-primitives
(on both init and receive functions), which gives the function an additional parameter,&impl HasCryptoPrimitives
. - Add the trait
HasCryptoPrimitives
with two implementations (host-backed + test). - For the test implementation, the default option uses mocks. But the actual implementations can be used if you enable the feature
crypto-primitives
. - Add new feature flag
crypto-primitives
.
- Add a new attribute
Release concordium-std-derive 3.0.0
concordium-std-derive 3.0.0 (2022-05-17)
- Add
#[concordium_cfg_not_test]
macro, that excludes parts of code for testing. - Add
derive(Deletable)
macro for deriving theDeletable
trait. - Add
derive(DeserialWithState)
macro. - Change
receive
andinit
macros to support the new V1 contract state and
sync calls.