This repo contains the Wasm smart contract for Babylon integrations. It will be deployed on a Cosmos zone that integrates Babylon, and will maintain BTC timestamps of headers in this Cosmos zone.
Make sure you have cargo-run-script
installed and docker running.
cargo install cargo-run-script
cargo clean
cargo build
Check whether the code is formatted correctly.
cargo fmt --all -- --check
cargo check
cargo clippy --all-targets -- -D warnings
Alternatively, you can run the following command to run all the checks at once.
cargo run-script lint
Note: Requires the optimized contract to be built (cargo optimize
)
Runs all the CI checks locally (in your actual toolchain).
cargo test --lib
Note: Requires the optimized contract to be built (cargo optimize
)
cargo test --test integration
Alternatively, you can run the following command, that makes sure to build the optimized contract before running the integration tests.
cargo run-script integration
cargo run-script gen-schema
cargo run-script gen-proto
cargo run-script gen-data
cargo run-script optimize