extractExtrinsicParts method

ExtrinsicPartTypeIds extractExtrinsicParts(
  1. TypeId extrinsicId,
  2. List<PortableType> types
)

Implementation

ExtrinsicPartTypeIds extractExtrinsicParts(TypeId extrinsicId, List<PortableType> types) {
  final extrinsicType = types.firstWhere((t) => t.id == extrinsicId);
  final paramsMap = {for (var p in extrinsicType.type.params) p.name: p.type};

  return ExtrinsicPartTypeIds(
    addressType: paramsMap['Address'] ?? 0,
    callType: paramsMap['Call'] ?? 0,
    signatureType: paramsMap['Signature'] ?? 0,
    extraType: paramsMap['Extra'] ?? 0,
  );
}