Crates.io | exonum-derive |
lib.rs | exonum-derive |
version | 1.0.0 |
source | src |
created_at | 2018-12-14 10:10:58.487129 |
updated_at | 2020-03-31 15:35:15.948157 |
description | Procedural macros for Exonum framework. |
homepage | https://exonum.com/ |
repository | https://github.com/exonum/exonum |
max_upload_size | |
id | 101871 |
size | 83,927 |
This crate provides several procedural macros for Exonum core and Exonum services.
Overview of presented macros:
BinaryValue
: derive macro for BinaryValue
trait of MerkleDB.
Depending on codec, the implementation may use ProtobufConvert
trait as base (default), or serde
traits using bincode
.ObjectHash
: derive macro for ObjectHash
trait of MerkleDB.
It can be used for any type that implements BinaryValue
trait.FromAccess
: derive macro for FromAccess
trait for schemas of
MerkleDB indexes.ServiceDispatcher
: derive macro for generating dispatching mechanisms
of Rust Exonum services.ServiceFactory
: derive macro for generating factory mechanisms
of Rust Exonum services.exonum_interface
: attribute macro for transforming trait into interface
of Rust Exonum service.ExecutionFail
: derive macro similar to failure::Fail
, implementing
ExecutionFail
trait for an enum.RequireArtifact
: derive macro for RequireArtifact
trait.Consult the crate docs for more details.
Include exonum-derive
as a dependency in your Cargo.toml
:
[dependencies]
exonum-derive = "1.0.0"
exonum-derive
is licensed under the Apache License (Version 2.0).
See LICENSE for details.