Decouple Nautilus' IDL crate from the main crate
buffalojoec opened this issue · 0 comments
buffalojoec commented
Solana Labs and ecosystem members have long been discussing an "IDL Standard" - which would basically impose an interface for all IDLs to adhere to, but allow them to implement their own additional configurations.
https://forum.solana.com/t/srfc-00008-idl-standard/66/8
Nautilus currently uses it's own IDL crate, which was by design so that it could leverage additional configs.
We should:
- Fork the IDL crate from one of the following repositories:
- Modify that crate so that it establishes an IDL interface with extendible configurations
- This can be done with generics such as
Option<T>
- As long as the main IDL created using this crate adheres to the interface
- This can be done with generics such as
The idea here is to introduce a crate - for everyone across Solana to use - that allows you to create your own custom IDL that adheres to the interface.
Nautilus would then just use this crate within its source like any other project would.