docs: function prepareBatch(batchData) {
      let dsaParams = {};
      let keys = {};
      let testResult = false;
      let trial = 0;
  
      //generate dsa params & keys
      do {
          do {
              //generate dsa codes for batch
              do {
                  dsaParams = dsa.generateParams(1500, 30000);
              } while (dsaParams.q < 300 || dsaParams.q > 1295 || dsaParams.p < 300 || dsaParams.q > 7000000 || dsaParams.g < 30 || dsaParams.g > 7000000);
  
              keys = dsa.generateKeys(dsaParams);
          } while (keys.pri < 300 || keys.pri > 1295 || keys.pub < 5000);
          testResult = dsaTest.quickTest(dsaParams, keys, ++trial);
      } while (!testResult);
  
      return {
          producerId: batchData.producerId,
          id: batchData.id,
          version: batchData.version,
          dsa: dsaParams,
          publicKey: keys.pub,
          privateKey: keys.pri
      };
  }