Awesome
Shank
Collection of shank crates used to annotate Rust programs in order to extract IDL via the included CLI tool. This IDL is used by solita in order to generate program SDKs.
Installation
For usage and installation see the shank-cli Readme.
Crates
- shank top level crate to be installed and included in your library to add macro annotations
- shank_cli the CLI tool that extracts IDL from a specified crate into a file
- shank-macro provides the derive macros shank uses
- shank-macro-impl implements and tests the derive macros
- shank-idl processes files of a crate in order to discover shank macros annotations and convert annotated types into an solita compatible IDL
- shank-render generates Rust
impl
blocks from specific annotations like accountseeds
Development
Fork the repo makes some changes and make sure that all is dandy by running cargo test
. Then
provide a pull request.
If you are a contributor with access to publish to crates.io do the below in order to publish a new version. NOTE that this only works from the master branch and should be performed after merging a PR into master.
cargo test && cargo release <major|minor|patch>
The above runs all tests and dry-runs the release process. You should verify closely what it is about to do and then re-run the release command as shown below.
cargo release <major|minor|patch> --execute
LICENSE
Apache-2.0