We have also included the feature to call or invoke multiple deployed contracts and in a single Instruction. All the the call are atomic which means if one of them fail, all in the batch fail. We provide sendContractInvocationOperation
you can pass a list of contracts, a corresponding list of amount, parameters and entry points. You can pass the instructions in either Michelson, Micheline and Michelson Lambda format.
var server = '';//rpc
var keyStore = KeyStoreModel(
publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj',
secretKey:
'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH',
publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy',
);
var signer = await TezsterDart.createSigner(
TezsterDart.writeKeyWithHint(keyStore.secretKey, 'edsk'));
var contractAddress = 'KT1KA7DqFjShLC4CPtChPX8QtRYECUb99xMY';
var resultInvoke = await TezsterDart.sendContractInvocationOperation(
server,
signer,
keyStore,
[contractAddress],//contract address
[10000],
100000,
1000,
100000,
[''],//paramters
['entrypoint'], //entrypoint name
codeFormat: TezosParameterFormat.Michelson);//paramter type
print("Operation groupID ===> $result['operationGroupID']");