decode method
Implementation
@override
ExtrinsicMetadataV16 decode(Input input) {
// Decode versions as Vec<u8>
final versions = SequenceCodec(U8Codec.codec).decode(input);
final addressType = CompactCodec.codec.decode(input);
final callType = CompactCodec.codec.decode(input);
final signatureType = CompactCodec.codec.decode(input);
// Decode BTreeMap<u8, Vec<Compact<u32>>>
final mapLength = CompactCodec.codec.decode(input);
final transactionExtensionsByVersion = <int, List<int>>{};
for (var i = 0; i < mapLength; i++) {
final key = U8Codec.codec.decode(input);
final valueLength = CompactCodec.codec.decode(input);
final value = <int>[];
for (var j = 0; j < valueLength; j++) {
value.add(CompactCodec.codec.decode(input));
}
transactionExtensionsByVersion[key] = value;
}
final transactionExtensions = SequenceCodec(TransactionExtensionMetadata.codec).decode(input);
return ExtrinsicMetadataV16(
versions: versions,
addressType: addressType,
callType: callType,
signatureType: signatureType,
transactionExtensionsByVersion: transactionExtensionsByVersion,
transactionExtensions: transactionExtensions,
);
}