Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions src/injector.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,9 @@ class UnitEInjector : public Injector<UnitEInjector> {

COMPONENT(Network, staking::Network, staking::Network::New)

COMPONENT(ActiveChain, staking::ActiveChain, staking::ActiveChain::New,
blockchain::Behavior)
COMPONENT(ActiveChain, staking::ActiveChain, staking::ActiveChain::New)

COMPONENT(StakeValidator, staking::StakeValidator, staking::StakeValidator::New,
blockchain::Behavior)
COMPONENT(StakeValidator, staking::StakeValidator, staking::StakeValidator::New)

COMPONENT(BlockValidator, staking::BlockValidator, staking::BlockValidator::New,
blockchain::Behavior)
Expand Down
9 changes: 3 additions & 6 deletions src/proposer/proposer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ class ProposerImpl : public Proposer {
private:
static constexpr const char *THREAD_NAME = "unite-proposer";

Dependency<Settings> m_settings;
Dependency<blockchain::Behavior> m_blockchain_behavior;
Dependency<MultiWallet> m_multi_wallet;
Dependency<staking::Network> m_network;
Expand Down Expand Up @@ -135,16 +134,14 @@ class ProposerImpl : public Proposer {
}

public:
ProposerImpl(Dependency<Settings> settings,
Dependency<blockchain::Behavior> blockchain_behavior,
ProposerImpl(Dependency<blockchain::Behavior> blockchain_behavior,
Dependency<MultiWallet> multi_wallet,
Dependency<staking::Network> network,
Dependency<staking::ActiveChain> active_chain,
Dependency<staking::TransactionPicker> transaction_picker,
Dependency<proposer::BlockBuilder> block_builder,
Dependency<proposer::Logic> proposer_logic)
: m_settings(settings),
m_blockchain_behavior(blockchain_behavior),
: m_blockchain_behavior(blockchain_behavior),
m_multi_wallet(multi_wallet),
m_network(network),
m_active_chain(active_chain),
Expand Down Expand Up @@ -189,7 +186,7 @@ std::unique_ptr<Proposer> Proposer::New(
Dependency<proposer::BlockBuilder> block_builder,
Dependency<proposer::Logic> proposer_logic) {
if (settings->node_is_proposer) {
return std::unique_ptr<Proposer>(new ProposerImpl(settings, behavior, multi_wallet, network, active_chain, transaction_picker, block_builder, proposer_logic));
return std::unique_ptr<Proposer>(new ProposerImpl(behavior, multi_wallet, network, active_chain, transaction_picker, block_builder, proposer_logic));
} else {
return std::unique_ptr<Proposer>(new ProposerStub());
}
Expand Down
11 changes: 3 additions & 8 deletions src/staking/active_chain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,8 @@ namespace staking {

class ActiveChainAdapter final : public ActiveChain {

private:
Dependency<blockchain::Behavior> m_blockchain_behavior;

public:
explicit ActiveChainAdapter(Dependency<blockchain::Behavior> blockchain_behavior)
: m_blockchain_behavior(blockchain_behavior) {}
explicit ActiveChainAdapter() {}

CCriticalSection &GetLock() const override { return cs_main; }

Expand Down Expand Up @@ -57,9 +53,8 @@ class ActiveChainAdapter final : public ActiveChain {
}
};

std::unique_ptr<ActiveChain> ActiveChain::New(
Dependency<blockchain::Behavior> blockchain_behavior) {
return std::unique_ptr<ActiveChain>(new ActiveChainAdapter(blockchain_behavior));
std::unique_ptr<ActiveChain> ActiveChain::New() {
return std::unique_ptr<ActiveChain>(new ActiveChainAdapter());
}

} // namespace staking
2 changes: 1 addition & 1 deletion src/staking/active_chain.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ class ActiveChain : public blockchain::ChainAccess {
~ActiveChain() override = default;

//! \brief Factory method for creating a Chain.
static std::unique_ptr<ActiveChain> New(Dependency<blockchain::Behavior>);
static std::unique_ptr<ActiveChain> New();
};

} // namespace staking
Expand Down
10 changes: 3 additions & 7 deletions src/staking/stake_validator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,11 @@ namespace staking {
class StakeValidatorImpl : public StakeValidator {

private:
Dependency<blockchain::Behavior> m_blockchain_behavior;

CCriticalSection m_cs;
std::set<uint256> m_kernel_seen;

public:
StakeValidatorImpl(Dependency<blockchain::Behavior> blockchain_behavior)
: m_blockchain_behavior(blockchain_behavior) {}
StakeValidatorImpl() {}

CCriticalSection &GetLock() override {
return m_cs;
Expand Down Expand Up @@ -110,9 +107,8 @@ class StakeValidatorImpl : public StakeValidator {
}
};

std::unique_ptr<StakeValidator> StakeValidator::New(
Dependency<blockchain::Behavior> blockchain_behavior) {
return std::unique_ptr<StakeValidator>(new StakeValidatorImpl(blockchain_behavior));
std::unique_ptr<StakeValidator> StakeValidator::New() {
return std::unique_ptr<StakeValidator>(new StakeValidatorImpl());
}

} // namespace staking
2 changes: 1 addition & 1 deletion src/staking/stake_validator.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class StakeValidator {

virtual ~StakeValidator() = default;

static std::unique_ptr<StakeValidator> New(Dependency<blockchain::Behavior>);
static std::unique_ptr<StakeValidator> New();
};

} // namespace staking
Expand Down
6 changes: 3 additions & 3 deletions src/test/staking/stake_validator_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,21 @@ std::unique_ptr<blockchain::Behavior> b =
BOOST_AUTO_TEST_SUITE(stake_validator_tests)

BOOST_AUTO_TEST_CASE(check_kernel) {
const auto stake_validator = staking::StakeValidator::New(b.get());
const auto stake_validator = staking::StakeValidator::New();
const uint256 kernel;
const auto difficulty = blockchain::GenesisBlockBuilder().Build(p).nBits;
BOOST_CHECK(stake_validator->CheckKernel(1, kernel, difficulty));
}

BOOST_AUTO_TEST_CASE(check_kernel_fail) {
const auto stake_validator = staking::StakeValidator::New(b.get());
const auto stake_validator = staking::StakeValidator::New();
const uint256 kernel = uint256S("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
const auto difficulty = blockchain::GenesisBlockBuilder().Build(p).nBits;
BOOST_CHECK(!stake_validator->CheckKernel(1, kernel, difficulty));
}

BOOST_AUTO_TEST_CASE(remember_and_forget) {
const auto stake_validator = staking::StakeValidator::New(b.get());
const auto stake_validator = staking::StakeValidator::New();
const uint256 kernel = uint256S("000000000000000000000000e6b8347d447e02ed383a3e96986815d576fb2a5a");
LOCK(stake_validator->GetLock());
BOOST_CHECK(!stake_validator->IsKernelKnown(kernel));
Expand Down
1 change: 0 additions & 1 deletion src/validation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3323,7 +3323,6 @@ std::vector<unsigned char> GenerateCoinbaseCommitment(CBlock& block, const CBloc
static bool ContextualCheckBlockHeader(const CBlockHeader& block, CValidationState& state, const CChainParams& params, const CBlockIndex* pindexPrev, int64_t nAdjustedTime)
{
assert(pindexPrev != nullptr);
const int nHeight = pindexPrev->nHeight + 1;

// Check proof of work
const Consensus::Params& consensusParams = params.GetConsensus();
Expand Down