decode method
Implementation
@override
UncheckedExtrinsic decode(Input input) {
// Read version byte and extract the actual version and signed flag
final versionByte = input.read();
final isSigned = (versionByte & 0x80) != 0;
final version = versionByte & 0x7F;
// Verify version matches metadata
if (version != registry.extrinsic.version) {
throw MetadataException(
'Extrinsic version mismatch: expected ${registry.extrinsic.version}, got $version',
);
}
ExtrinsicSignature? signature;
if (isSigned) {
signature = _signatureCodec.decode(input);
}
final call = _callCodec.decode(input);
return UncheckedExtrinsic(version: version, signature: signature, call: call);
}