In Substrate code, there is logic to determine the way in which extrinsics should be submitted to the runtime (ref: https://github.com/paritytech/substrate/blob/v3.0.0/client/transaction-pool/src/api.rs#L174). This logic is based on the version of Substrate's TaggedTransactionQueue
. Does the version of the transaction queue line up with any of the versions that Substrate runtimes advertise via their metadata (e.g. extrinsic version, metadata version)? What versions of Polkadot use which transaction versions?
It seems like maybe this should be advertised by way of the apis
attribute on the RuntimeVersion
type, but I'm not sure how to decode the API ID.
TaggedTransactionQueue
, because there was added a new parameter for thevalidate_transaction
function. For your other questions, I don't really get what you speak about? What version do you speak about or what format? Would be better if you could be more specific.