encodeTo method
Convert self to a slice and append it to the destination.
Implementation
@override
void encodeTo(RuntimeVersion value, Output output) {
StrCodec.codec.encodeTo(value.specName, output);
StrCodec.codec.encodeTo(value.implName, output);
U32Codec.codec.encodeTo(value.authoringVersion, output);
U32Codec.codec.encodeTo(value.specVersion, output);
U32Codec.codec.encodeTo(value.implVersion, output);
const SequenceCodec<ApiVersion>(ApiVersion.codec).encodeTo(value.apis, output);
// - `Core` version < 3 is a runtime version without a transaction version and state version.
// - `Core` version 3 is a runtime version without a state version.
// - `Core` version 4 is the latest runtime version.
final int? coreVersion = coreVersionFromApis(value.apis);
if (coreVersion == null || coreVersion >= 3) {
U32Codec.codec.encodeTo(value.transactionVersion, output);
}
if (coreVersion == null || coreVersion >= 4) {
U8Codec.codec.encodeTo(value.stateVersion, output);
}
}