sendContractInvocationOperation static method
send a contract invocation operation fee, gasLimit and storageLimit are estimated by the fee estimation service
Implementation
static Future<Map<String, dynamic>> sendContractInvocationOperation(
String server,
SoftSigner signer,
KeyStoreModel keyStore,
List<String> contract,
List<int> amount,
List<String> entrypoint,
List<String> parameters, {
var parameterFormat = TezosParameterFormat.Michelson,
offset = 54,
bool? preapply,
bool? gasEstimation = false,
}) async {
var counter = await TezosNodeReader.getCounterForAccount(
server, keyStore.publicKeyHash) +
1;
var transactions = <OperationModel>[];
for (var i = 0; i < entrypoint.length; i++) {
transactions.add(
constructContractInvocationOperation(
keyStore.publicKeyHash,
counter + i,
contract[i],
amount[i],
entrypoint[i],
parameters[i],
parameterFormat is List ? parameterFormat[i] : parameterFormat,
),
);
}
var operations = await appendRevealOperation(server, keyStore.publicKey,
keyStore.publicKeyHash, counter - 1, [...transactions]);
return sendOperation(
server, operations, signer, offset, null, preapply, gasEstimation);
}