decode method

  1. @override
ExtrinsicMetadataV14 decode(
  1. Input input, {
  2. List<PortableType> types = const <PortableType>[],
})
override

Decodes ExtrinsicMetadataV14 with type extraction

Implementation

@override
ExtrinsicMetadataV14 decode(Input input, {List<PortableType> types = const <PortableType>[]}) {
  // Decode type ID (Compact<u32>)
  final type = CompactCodec.codec.decode(input);

  // Decode version (u8)
  final version = U8Codec.codec.decode(input);

  // Decode signed extensions
  final signedExtensions = SequenceCodec(SignedExtensionMetadata.codec).decode(input);

  final (address, call, signature, extra) = extractExtrinsicPartTypes(type, types);

  return ExtrinsicMetadataV14(
    type: type,
    version: version,
    addressType: address,
    callType: call,
    signatureType: signature,
    extraType: extra,
    signedExtensions: signedExtensions,
  );
}