opentensor / subtensor

Bittensor Blockchain Layer
The Unlicense
159 stars 157 forks source link

Feat/runtime apis return types #832

Open camfairchild opened 1 month ago

camfairchild commented 1 month ago

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

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