Concordium Contracts Common library

Contributor Covenant

This library provides the core API that can be used to write smart contracts for the Concordium blockchain in the Rust programming language. It aims to provide safe wrappers around the core primitives exposed by the chain and accessible to smart contracts.

The functionality in this library is re-exported via the concordium-std and the concordium-rust-sdk crate.

Features

MSRV

The minimum supported rust version is specified in Cargo.toml manifest.

Links

Contributing

Contributor Covenant

This repository's CI automatically checks formatting and common problems in rust. Changes to any of the packages must be such that

Everything in this repository should build with rust version 1.60 however the fmt tool must be from a nightly release since some of the configuration options are not stable. One way to run the fmt tool is cargo +nightly-2023-04-01 fmt

(the exact version used by the CI can be found in .github/workflows/linter.yml file). You will need to have a recent enough nightly version installed, which can be done via

rustup toolchain install nightly-2023-04-01

or similar, using the rustup tool. See the documentation of the tool for more details.

In order to contribute you should make a pull request and ask at least two people familiar with the code to do a review.