extractExtrinsicPartTypes method

(int, int, int, int) extractExtrinsicPartTypes(
  1. int extrinsicTypeId,
  2. List<PortableType> types
)

Implementation

(int address, int call, int signature, int extra) extractExtrinsicPartTypes(
  int extrinsicTypeId,
  List<PortableType> types,
) {
  try {
    final extrinsicType = types.firstWhere((t) => t.id == extrinsicTypeId);
    final paramsMap = <String, int>{};

    for (var param in extrinsicType.type.params) {
      if (param.type != null) {
        paramsMap[param.name] = param.type!;
      }
    }
    return (
      paramsMap['Address'] ?? 0,
      paramsMap['Call'] ?? 0,
      paramsMap['Signature'] ?? 0,
      paramsMap['Extra'] ?? 0,
    );
  } catch (e) {
    return (0, 0, 0, 0);
  }
}