def send_pre_prepare(view_no, pp_seq_no, nodes, state_root=None, txn_root=None):
    pre_prepare = PrePrepare(0, view_no, pp_seq_no, get_utc_epoch(), ['requests digest'], 0, 'random digest', DOMAIN_LEDGER_ID, (state_root or ('0' * 44)), (txn_root or ('0' * 44)), 0, True)
    primary_node = getPrimaryReplica(nodes).node
    non_primary_nodes = (set(nodes) - {primary_node})
    sendMessageToAll(nodes, primary_node, pre_prepare)
    for non_primary_node in non_primary_nodes:
        sendMessageToAll(nodes, non_primary_node, pre_prepare)
def send_pre_prepare(view_no, pp_seq_no, nodes, state_root=None, txn_root=None):
    pre_prepare = PrePrepare(0, view_no, pp_seq_no, get_utc_epoch(), ['requests digest'], 0, 'random digest', DOMAIN_LEDGER_ID, (state_root or ('0' * 44)), (txn_root or ('0' * 44)), 0, True)
    primary_node = getPrimaryReplica(nodes).node
    non_primary_nodes = (set(nodes) - {primary_node})
    sendMessageToAll(nodes, primary_node, pre_prepare)
    for non_primary_node in non_primary_nodes:
        sendMessageToAll(nodes, non_primary_node, pre_prepare)