Skip to content
This repository has been archived by the owner on Oct 30, 2023. It is now read-only.

AbstractSDK/contracts

Repository files navigation

Abstract

This repository moved to the Abstract Monorepo.

To learn more about Abstract, go to The Abstract Book.

Schemas

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:

cargo install cargo-workspaces

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

cargo ws exec --no-bail cargo schema

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.

Documentation

The documentation is generated using mdbook.
You can install mdbook and the mermaid pre-processor by running just install-docs.

Then you can edit the files in the docs/src folder and run

just serve-docs

This will serve you the documentation and automatically re-compiles it when you make changes.

Release Docs Dev Docs

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