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']");

Contracts

Tezster dart