コード例 #1
0
def test_suspicious_on_wrong_list_of_primaries(orderer_with_requests,
                                               state_roots, txn_roots, multi_sig, fake_requests):
    if not orderer_with_requests.is_master:
        return
    handler = Mock()
    orderer_with_requests._bus.subscribe(RaisedSuspicion, handler)
    pre_prepare_params = create_pre_prepare_params(state_root=state_roots[DOMAIN_LEDGER_ID],
                                                   ledger_id=DOMAIN_LEDGER_ID,
                                                   txn_root=txn_roots[DOMAIN_LEDGER_ID],
                                                   bls_multi_sig=multi_sig,
                                                   view_no=orderer_with_requests.view_no,
                                                   inst_id=0,
                                                   pool_state_root=state_roots[POOL_LEDGER_ID],
                                                   audit_txn_root=state_roots[AUDIT_LEDGER_ID],
                                                   reqs=fake_requests,
                                                   pp_seq_no=1,
                                                   primaries=["Some", "Other", "Primaries"])
    pre_prepare = PrePrepare(*pre_prepare_params)
    _register_pp_ts(orderer_with_requests, pre_prepare, orderer_with_requests.primary_name)

    orderer_with_requests.process_preprepare(pre_prepare, orderer_with_requests.primary_name)
    check_suspicious(handler, RaisedSuspicion(inst_id=orderer_with_requests._data.inst_id,
                                              ex=SuspiciousNode(orderer_with_requests.primary_name,
                                                                Suspicions.PPR_WITH_WRONG_PRIMARIES,
                                                                pre_prepare)))
コード例 #2
0
def test_process_pre_prepare_with_incorrect_audit_txn_root(orderer_with_requests,
                                                           state_roots, txn_roots, multi_sig, fake_requests):
    if not orderer_with_requests.is_master:
        return
    handler = Mock()
    orderer_with_requests._bus.subscribe(RaisedSuspicion, handler)
    pre_prepare_params = create_pre_prepare_params(state_root=state_roots[DOMAIN_LEDGER_ID],
                                                   ledger_id=DOMAIN_LEDGER_ID,
                                                   txn_root=txn_roots[DOMAIN_LEDGER_ID],
                                                   bls_multi_sig=multi_sig,
                                                   view_no=orderer_with_requests.view_no,
                                                   inst_id=0,
                                                   pool_state_root=state_roots[POOL_LEDGER_ID],
                                                   # INVALID!
                                                   audit_txn_root="HSai3sMHKeAva4gWMabDrm1yNhezvPHfXnGyHf2ex1L4",
                                                   reqs=fake_requests,
                                                   pp_seq_no=1)
    pre_prepare = PrePrepare(*pre_prepare_params)
    _register_pp_ts(orderer_with_requests, pre_prepare, orderer_with_requests.primary_name)

    orderer_with_requests.process_preprepare(pre_prepare, orderer_with_requests.primary_name)
    check_suspicious(handler, RaisedSuspicion(inst_id=orderer_with_requests._data.inst_id,
                                              ex=SuspiciousNode(orderer_with_requests.primary_name,
                                                                Suspicions.PPR_AUDIT_TXN_ROOT_HASH_WRONG,
                                                                pre_prepare)))
コード例 #3
0
def test_process_pre_prepare_with_incorrect_audit_txn_root(
        orderer_with_requests, state_roots, txn_roots, multi_sig,
        fake_requests):
    expect_suspicious(orderer_with_requests,
                      Suspicions.PPR_AUDIT_TXN_ROOT_HASH_WRONG.code)

    pre_prepare_params = create_pre_prepare_params(
        state_root=state_roots[DOMAIN_LEDGER_ID],
        ledger_id=DOMAIN_LEDGER_ID,
        txn_root=txn_roots[DOMAIN_LEDGER_ID],
        bls_multi_sig=multi_sig,
        view_no=orderer_with_requests.view_no,
        inst_id=0,
        pool_state_root=state_roots[POOL_LEDGER_ID],
        # INVALID!
        audit_txn_root="HSai3sMHKeAva4gWMabDrm1yNhezvPHfXnGyHf2ex1L4",
        reqs=fake_requests,
        pp_seq_no=1)
    pre_prepare = PrePrepare(*pre_prepare_params)
    _register_pp_ts(orderer_with_requests, pre_prepare,
                    orderer_with_requests.primary_name)

    with pytest.raises(SuspiciousNode):
        orderer_with_requests.process_preprepare(
            pre_prepare, orderer_with_requests.primary_name)
コード例 #4
0
def pre_prepare(o, _pre_prepare):
    _register_pp_ts(o, _pre_prepare, o.primary_name)
    return _pre_prepare
コード例 #5
0
def pre_prepare(orderer, _pre_prepare):
    _register_pp_ts(orderer, _pre_prepare, orderer.primary_name)
    return _pre_prepare