AbiEntry.fromJson constructor
AbiEntry.fromJson(
- Map<String, dynamic> json
)
Implementation
factory AbiEntry.fromJson(Map<String, dynamic> json) {
final anonymous = json['anonymous'] ?? false;
final name = json['name'] as String? ?? '';
final inputs = (json['inputs'] as List<dynamic>? ?? [])
.map((e) => AbiEntryParam.fromJson(e))
.toList();
final outputs = (json['outputs'] as List<dynamic>? ?? [])
.map((e) => AbiEntryParam.fromJson(e))
.toList();
final typeString = (json['type'] ?? 'constructor') as String;
final type = abiEntryTypeMapping[typeString] ?? AbiEntryType.constructor;
final payable = json['payable'] as bool? ?? false;
switch (type) {
case AbiEntryType.constructor:
return ConstructorEntry(inputs: inputs);
case AbiEntryType.function:
return FunctionEntry(
name: name,
inputs: inputs,
outputs: outputs,
payable: payable,
);
case AbiEntryType.offchain:
return OffchainEntry(
name: name,
inputs: inputs,
outputs: outputs,
payable: payable,
);
case AbiEntryType.event:
return EventEntry(
anonymous: anonymous,
name: name,
inputs: inputs,
);
}
}