#specification #ibc #codegen #validation #ics23

no-std ics23

Merkle proof verification library - implements Cosmos ICS23 Spec

20 releases

0.12.0 Jul 17, 2024
0.11.1 Jan 30, 2024
0.11.0 Oct 4, 2023
0.10.1 Apr 27, 2023
0.5.0 Aug 27, 2019

#2 in #ibc

Download history 8126/week @ 2024-12-17 3148/week @ 2024-12-24 4698/week @ 2024-12-31 8721/week @ 2025-01-07 7600/week @ 2025-01-14 9465/week @ 2025-01-21 14837/week @ 2025-01-28 11747/week @ 2025-02-04 11212/week @ 2025-02-11 9033/week @ 2025-02-18 9084/week @ 2025-02-25 10123/week @ 2025-03-04 13056/week @ 2025-03-11 10277/week @ 2025-03-18 8865/week @ 2025-03-25 6083/week @ 2025-04-01

40,159 downloads per month
Used in 195 crates (21 directly)

Apache-2.0

175KB
4K SLoC

Rust Proof Validation

Codegen

To avoid direct dependencies on protoc in the build system, I have separated codegen into a sub-crate. This will generate the rust proofs.rs file from the proofs.proto file. The rest of the main build/test cycle is now independent of the protoc binary.

To rebuild protobuf, simply: cargo protoc (on a dev machine with protoc in path). Unless you modify the protobuf file, you can ignore this step.

Formatting

cargo fmt

Testing

cargo test

Linting

cargo clippy -- --test -W clippy::pedantic

Code Coverage

cargo llvm-cov

MSRV

The minimum supported Rust version (MSRV) is 1.60.

Dependencies

~0.4–1.4MB
~26K SLoC