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(final UncheckedExtrinsic value) {
int size = 1; // Version byte
switch (value.type) {
case ExtrinsicType.signed:
if (value.signature != null) {
size += _signatureCodec.sizeHint(value.signature!);
}
break;
case ExtrinsicType.general:
size += 1; // Extension version byte
if (value.extensions != null) {
final extData = Map<String, dynamic>.from(value.extensions!);
extData.remove('extensionVersion');
size += _extensionsCodec.sizeHint(extData);
}
break;
case ExtrinsicType.bare:
// No additional size for bare extrinsics
break;
}
size += _callCodec.sizeHint(value.call);
return size;
}