This PR is prepping for the ability to pull metadata straight from the nodes for use in decoding runtime API results.
The return types are only available in the metadata if they are set in the runtime API declarations.
To keep the RPCs, we will still be using the Vec<u8> encoding/decoding process in just the RPC call but the RuntimeAPIs will use the expected types as the client will now be expected to adjust when decoding based on the block metadata.
This change breaks the RuntimeAPIs, but not the RPCs. However, it guarantees that future RuntimeAPI changes will not break the client.
Related
831: A RAO branch companion-PR
Type of Change
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please describe):
Breaking Change
If this PR introduces a breaking change, please provide a detailed description of the impact and the migration path for existing applications.
Checklist
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have run cargo fmt and cargo clippy to ensure my code is formatted and linted correctly
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
Description
Note: depends on https://github.com/opentensor/btcli/pull/188
This PR is prepping for the ability to pull metadata straight from the nodes for use in decoding runtime API results. The return types are only available in the metadata if they are set in the runtime API declarations.
To keep the RPCs, we will still be using the
Vec<u8>
encoding/decoding process in just the RPC call but the RuntimeAPIs will use the expected types as the client will now be expected to adjust when decoding based on the block metadata.This change breaks the RuntimeAPIs, but not the RPCs. However, it guarantees that future RuntimeAPI changes will not break the client.
Related
831: A RAO branch companion-PR
Type of Change
Breaking Change
If this PR introduces a breaking change, please provide a detailed description of the impact and the migration path for existing applications.
Checklist
cargo fmt
andcargo clippy
to ensure my code is formatted and linted correctly