3 releases
new 0.1.2 | Nov 22, 2024 |
---|---|
0.1.1 | Oct 22, 2024 |
0.1.0 | Sep 28, 2024 |
#3 in #drift
201 downloads per month
Used in drift-rs
29KB
664 lines
drfit-idl-gen
Generates rust anchor structs from IDL json This is implemented rather than another project for a couple reasons:
#[repr(C)]
other IDL generation tools do not provide the ability to market structs withrepr(C)
which is necessary for ffi functionality throught the drift-rs project.- does not rely on anchor vendored solana crates. anchor is pinned to older versions of the solana crates. drift-rs seeks to be readily upgradable to use lastest solana crates.
Dev Note ⚠️
- An important assumption in this code is that the underlying types (serialization and deserialization) does not change among solana crate versions i.e
solana_sdk_1.16::Pubkey == solana_sdk_2.x::Pubkey == anchor_lang::solana_sdk::Pubkey
this allows the generated IDL code to ignore the anchor version of crates.
lib.rs
:
Auto-generated IDL types, manual edits do not persist (see crates/drift-idl-gen
)
IDL instruction types IDL types IDL Account types IDL error types IDL event types
Dependencies
~1–2MB
~45K SLoC