getModulesPaginated method
Future<(List<ETHAddress> , ETHAddress)>
getModulesPaginated({
- required EthereumProvider provider,
- ETHAddress? start,
- required int pageSize,
override
Returns an array of modules.
If all entries fit into a single page, the next pointer will be address(0x1).
If another page is present, next will be the last element of the returned array.
Parameters:
start: Start of the page. Must be a module or the start pointer (address(0x1)).pageSize: Maximum number of modules that should be returned. Must be greater than 0.
Implementation
@override
Future<(List<ETHAddress>, ETHAddress)> getModulesPaginated({
required EthereumProvider provider,
ETHAddress? start,
required int pageSize,
}) async {
final params = [start ?? ETHAddress.one, BigInt.from(pageSize)];
return queryContract<(List<ETHAddress>, ETHAddress)>(
functionName: SafeContractFunction.getModulesPaginated,
provider: provider,
params: params,
onResponse: (result) {
final owners = JsonParser.valueEnsureAsList<SolidityAddress>(
result.elementAtOrNull(0),
);
return (
owners.map((e) => e.toEthereumAddress()).toList(),
JsonParser.valueAs<SolidityAddress>(
result.elementAtOrNull(1),
).toEthereumAddress(),
);
},
);
}