#solana #anchor-gen #gen #anchor

anchor-gen

Generates an Anchor CPI crate from a JSON IDL

8 releases

new 0.4.1 May 10, 2025
0.4.0 May 9, 2025
0.3.1 Sep 27, 2022
0.3.0 Jul 26, 2022
0.1.2 Jun 6, 2022

#77 in Magic Beans

Download history 2066/week @ 2025-01-19 3106/week @ 2025-01-26 3269/week @ 2025-02-02 2949/week @ 2025-02-09 3302/week @ 2025-02-16 2664/week @ 2025-02-23 2259/week @ 2025-03-02 2302/week @ 2025-03-09 2809/week @ 2025-03-16 2781/week @ 2025-03-23 1648/week @ 2025-03-30 2980/week @ 2025-04-06 2984/week @ 2025-04-13 3574/week @ 2025-04-20 3719/week @ 2025-04-27 1522/week @ 2025-05-04

11,912 downloads per month
Used in 35 crates (33 directly)

Apache-2.0

9KB

anchor-gen

Generates a crate for cross-program invocations to an Anchor program from a JSON IDL.

Crates.io License Build Status Contributors Code Coverage

Now updated for Anchor 0.31.1!

Warning: this code has not been audited. Please use it at your own risk.

Usage

First, add the following to a Cargo.toml file in a new crate:

[dependencies]
anchor-gen = "0.31.1"

Then, in lib.rs, write:

anchor_gen::generate_cpi_crate!("../../examples/govern-cpi/idl.json");

This will generate a fully functional Rust CPI client for your IDL.

Usage examples can be found in the examples/ directory.

Note: This does not work on legacy IDLs. To migrate a legacy IDL, use anchor idl convert idl.json.

License: Apache-2.0

Dependencies

~3MB
~67K SLoC