encodeTuple method
Implementation
Uint8List encodeTuple(List<Object> list) {
final elements = BytesBuilder(copy: false);
if (elementType.isDynamicType) {
final types = BytesBuilder(copy: false);
final elems = BytesBuilder(copy: false);
var offset = list.length * SolidityType.int32Size;
for (int i = 0; i < list.length; ++i) {
types.add(IntType.encodeFromInt(offset));
final encoded = elementType.encode(list[i]);
elems.add(encoded);
offset += SolidityType.int32Size *
((encoded.lengthInBytes - 1) ~/ SolidityType.int32Size + 1);
}
elements
..add(types.takeBytes())
..add(elems.takeBytes());
} else {
for (final object in list) {
elements.add(elementType.encode(object));
}
}
return elements.takeBytes();
}