encodeData method
Encodes a Map<String, dynamic> by encoding and concatenating each of its members
@param {string} primaryType - Root type @param {Map<String,dynamic>} data - Map<String,dynamic> to encode @param {Map<String,dynamic>} types - Type definitions @returns {Uint8List} - Encoded representation of an Map<String,dynamic>
Implementation
String encodeData(
String primaryType,
Map<String, dynamic> data,
Map<String, dynamic> types,
) {
List<String> encodedTypes = ['bytes32'];
List<dynamic> encodedValues = List<dynamic>.from([]);
encodedValues.add(hashType(primaryType, types));
for (var field in types[primaryType]) {
final _enc = encodeField(
field["name"],
field["type"],
data[field["name"]],
types,
);
encodedTypes.add(_enc[0]);
encodedValues.add(_enc[1]);
}
final _res = _abiHelper.rawEncode(encodedTypes, encodedValues);
return HEX.encode(_res);
}