getUserOpEncodedDataAsString method
Implementation
Future<String> getUserOpEncodedDataAsString({
required String contractAddress,
required String contractAbi,
required String functionName,
required List<dynamic> args,
// required bool usePaymaster,
BigInt? gasPrice,
BigInt? gasLimit,
}) async {
Uint8List encodedData = await Encoder().getContractEncodedDataBytes(
args: args,
contractAbi: contractAbi,
functionName: functionName,
);
// uint8 list encoded data to hex
var encodedDataHex = '0x' + hex.encode(encodedData);
// print("encoded data for calling contract function:");
// print(encodedDataHex);
var executeFunc = this.deployedContract.function('execute');
var params = [
EthereumAddress.fromHex(contractAddress),
BigInt.zero,
Uint8List.fromList(encodedData),
];
var encodedParams = executeFunc.encodeCall(params);
var encodedParamsHex = '0x' + hex.encode(encodedParams);
return encodedParamsHex;
}