As much as I don't like the ever-changing metadata of Substrate, I realize that it should be utilized for a reliable and maintainable client.
A metadata tool crate should be created that pulls current metadata from all the supported chains (DOT, WND, KSM) which will be parsed and required datatypes should be extracted and generated into Rust code that we will pull into pdotc (i.e only the stuff needed for current pdotc features).
Each version of pdotc will have a metadata version (metadata magic number from getMetadata() RPC call).
When metadata should be updated, the metadata tool is run, then the pdotc is adapted and its version is bumped.
Might be possible to utilize https://github.com/paritytech/subxt/tree/master/codegen but pruned to only include the stuff that we need.
As much as I don't like the ever-changing metadata of Substrate, I realize that it should be utilized for a reliable and maintainable client.
A metadata tool crate should be created that pulls current metadata from all the supported chains (DOT, WND, KSM) which will be parsed and required datatypes should be extracted and generated into Rust code that we will pull into
pdotc(i.e only the stuff needed for currentpdotcfeatures).Each version of pdotc will have a metadata version (metadata magic number from
getMetadata()RPC call).When metadata should be updated, the metadata tool is run, then the
pdotcis adapted and its version is bumped.Might be possible to utilize https://github.com/paritytech/subxt/tree/master/codegen but pruned to only include the stuff that we need.