This PR updates how the Trident parses the Anchor project.
Currently the Trident was expanding the Anchor project and parsing the expanded Source code into its own light IDL definition.
This PR updates the parsing logic in a way that instead of creating our own light IDL, Trident utilizes the IDL generated by Anchor. Even though the IDL generated by Anchor does not include all of the important parts in order to generate the template completely, if makes the initialization process faster and easier as the IDL json file can be simply deserialized into structs defined within the anchor-syn.
Apart from updating this Core logic , some additional updates were made, for example:
More template code generated is generated automatically
In case of only one program in the workspace, the test_fuzz.rs is automatically filled
In case of multiple programs, the FuzzInstructions have to be filled
This can be also improved in the future as user can input the main program on trident init
get_data function contains almost all of the instruction inputs automatically set to the self.data.
This PR updates how the Trident parses the Anchor project. Currently the Trident was expanding the Anchor project and parsing the expanded Source code into its own light IDL definition.
This PR updates the parsing logic in a way that instead of creating our own light IDL, Trident utilizes the IDL generated by Anchor. Even though the IDL generated by Anchor does not include all of the important parts in order to generate the template completely, if makes the initialization process faster and easier as the IDL json file can be simply deserialized into structs defined within the anchor-syn.
Apart from updating this Core logic , some additional updates were made, for example: