/contracts

A smart-contract infrastructure layer for chain-agnostic smart-contracts.

Primary LanguageSolidityGNU General Public License v3.0GPL-3.0

Abstract

Manual Schema Generation

To generate the schemas for all the packages in this ws, run the following command. You may have to install [cargo workspaces(https://github.com/pksunkara/cargo-workspaces):

cargo install cargo-workspaces

When it is installed, run the following to generate schemas for each:

cargo ws exec --no-bail cargo schema

Schemas

To publish the schemas to the schema repo, run the following command:

cargo 
SCHEMA_OUT_DIR=$(cd ../schemas && echo "$PWD") \
VERSION=0.4.0 \
  cargo ws exec --no-bail bash -lc 'cargo schema && { outdir="$SCHEMA_OUT_DIR/abstract/${PWD##*/}/$VERSION"; echo $outdir; mkdir -p "$outdir"; cp -a "schema/." "$outdir"; }'

CI

Read the CI document for more information.

Formatting

We use rustfmt and taplo to format our code. To format the code, run the following command:

# format rust code
cargo fmt
# format toml files
find . -type f -iname "*.toml" -print0 | xargs -0 taplo format