encodePacked method
Legacy EIP-712 encoding for tuple values.
Optionally keeps the size unchanged based on the keepSize parameter.
Implementation
@override
EncoderResult encodePacked(AbiParameter params, List<dynamic> input) {
final List<EncoderResult> encoded = [];
if (input.length != params.components.length) {
throw const SolidityAbiException('Invalid argument length detected.');
}
for (int i = 0; i < params.components.length; i++) {
final paramComponent = params.components[i];
final EncoderResult result = paramComponent.encodePacked(input[i]);
encoded.add(result);
}
return EncoderResult(
isDynamic: false,
encoded: encoded.expand((e) => e.encoded).toList(),
name: params.name,
);
}