It's not possible to convert legacy IDLs to the new IDL spec from the CLI.
Summary of changes
Add anchor idl convert command to convert legacy IDLs to the new IDL spec.
Note
This conversion is aimed at making this transition period smoother when there are both legacy and new IDLs.
The conversion will not/cannot be perfect as the legacy IDLs does not store enough information that can reliably be converted to the new IDL spec. Therefore, it is preferred for old projects that don't want to upgrade Anchor to 0.30 to generate their IDLs using the newest Anchor version, so that everyone else can compose with their programs much easier.
Problem
It's not possible to convert legacy IDLs to the new IDL spec from the CLI.
Summary of changes
Add
anchor idl convert
command to convert legacy IDLs to the new IDL spec.Note
This conversion is aimed at making this transition period smoother when there are both legacy and new IDLs.
The conversion will not/cannot be perfect as the legacy IDLs does not store enough information that can reliably be converted to the new IDL spec. Therefore, it is preferred for old projects that don't want to upgrade Anchor to
0.30
to generate their IDLs using the newest Anchor version, so that everyone else can compose with their programs much easier.