sizeHint method
If possible give a hint of expected size of the encoding.
This method is used inside default implementation of encode
to avoid re-allocations.
Implementation
@override
int sizeHint(ExtrinsicMetadataV16 value) {
var size = 0;
size += SequenceCodec(U8Codec.codec).sizeHint(value.versions);
size += CompactCodec.codec.sizeHint(value.addressType);
size += CompactCodec.codec.sizeHint(value.callType);
size += CompactCodec.codec.sizeHint(value.signatureType);
// BTreeMap size hint
size += CompactCodec.codec.sizeHint(value.transactionExtensionsByVersion.length);
for (final entry in value.transactionExtensionsByVersion.entries) {
size += 1; // u8 key
size += CompactCodec.codec.sizeHint(entry.value.length);
for (final v in entry.value) {
size += CompactCodec.codec.sizeHint(v);
}
}
size += SequenceCodec(TransactionExtensionMetadata.codec).sizeHint(value.transactionExtensions);
return size;
}