def create_pre_prepare_params(state_root, ledger_id=DOMAIN_LEDGER_ID, txn_root=None, timestamp=None, bls_multi_sig=None, view_no=0, pool_state_root=None, pp_seq_no=0, inst_id=0, audit_txn_root=None, reqs=None, bls_multi_sigs=None):
    if (timestamp is None):
        timestamp = get_utc_epoch()
    req_idrs = ([req.key for req in reqs] if (reqs is not None) else [random_string(32)])
    digest = OrderingService.generate_pp_digest(req_idrs, view_no, timestamp)
    params = [inst_id, view_no, pp_seq_no, timestamp, req_idrs, init_discarded(0), digest, ledger_id, state_root, (txn_root or ('1' * 32)), 0, True, (pool_state_root or generate_state_root()), (audit_txn_root or generate_state_root())]
    if bls_multi_sig:
        params.append(None)
        params.append([bls_multi_sig.as_list()])
    elif (bls_multi_sigs is not None):
        params.append(None)
        params.append([sig.as_list() for sig in bls_multi_sigs])
    return params
def create_pre_prepare_params(state_root, ledger_id=DOMAIN_LEDGER_ID, txn_root=None, timestamp=None, bls_multi_sig=None, view_no=0, pool_state_root=None, pp_seq_no=0, inst_id=0, audit_txn_root=None, reqs=None, bls_multi_sigs=None):
    if (timestamp is None):
        timestamp = get_utc_epoch()
    req_idrs = ([req.key for req in reqs] if (reqs is not None) else [random_string(32)])
    digest = OrderingService.generate_pp_digest(req_idrs, view_no, timestamp)
    params = [inst_id, view_no, pp_seq_no, timestamp, req_idrs, init_discarded(0), digest, ledger_id, state_root, (txn_root or ('1' * 32)), 0, True, (pool_state_root or generate_state_root()), (audit_txn_root or generate_state_root())]
    if bls_multi_sig:
        params.append(None)
        params.append([bls_multi_sig.as_list()])
    elif (bls_multi_sigs is not None):
        params.append(None)
        params.append([sig.as_list() for sig in bls_multi_sigs])
    return params