Remove unused ledger::could_fit (#4457)

This commit is contained in:
clemahieu 2024-03-05 12:02:17 +00:00 committed by GitHub
commit 65de6fe3e5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 0 additions and 151 deletions

View file

@ -4158,148 +4158,6 @@ TEST (ledger, block_hash_account_conflict)
ASSERT_EQ (*open_epoch1, *winner4);
}
TEST (ledger, could_fit)
{
nano::logger logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
auto transaction (store->tx_begin_write ());
store->initialize (transaction, ledger.cache, ledger.constants);
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
nano::keypair destination;
// Test legacy and state change blocks could_fit
nano::block_builder builder;
auto change1 = builder
.change ()
.previous (nano::dev::genesis->hash ())
.representative (nano::dev::genesis->account ())
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
.work (*pool.generate (nano::dev::genesis->hash ()))
.build ();
auto change2 = builder
.state ()
.account (nano::dev::genesis->account ())
.previous (nano::dev::genesis->hash ())
.representative (nano::dev::genesis->account ())
.balance (nano::dev::constants.genesis_amount)
.link (0)
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
.work (*pool.generate (nano::dev::genesis->hash ()))
.build ();
ASSERT_TRUE (ledger.could_fit (transaction, *change1));
ASSERT_TRUE (ledger.could_fit (transaction, *change2));
// Test legacy and state send
nano::keypair key1;
auto send1 = builder
.send ()
.previous (change1->hash ())
.destination (key1.pub)
.balance (nano::dev::constants.genesis_amount - 1)
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
.work (*pool.generate (change1->hash ()))
.build ();
auto send2 = builder
.state ()
.account (nano::dev::genesis->account ())
.previous (change1->hash ())
.representative (nano::dev::genesis->account ())
.balance (nano::dev::constants.genesis_amount - 1)
.link (key1.pub)
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
.work (*pool.generate (change1->hash ()))
.build ();
ASSERT_FALSE (ledger.could_fit (transaction, *send1));
ASSERT_FALSE (ledger.could_fit (transaction, *send2));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, change1));
ASSERT_TRUE (ledger.could_fit (transaction, *change1));
ASSERT_TRUE (ledger.could_fit (transaction, *change2));
ASSERT_TRUE (ledger.could_fit (transaction, *send1));
ASSERT_TRUE (ledger.could_fit (transaction, *send2));
// Test legacy and state open
auto open1 = builder
.open ()
.source (send2->hash ())
.representative (nano::dev::genesis->account ())
.account (key1.pub)
.sign (key1.prv, key1.pub)
.work (*pool.generate (key1.pub))
.build ();
auto open2 = builder
.state ()
.account (key1.pub)
.previous (0)
.representative (nano::dev::genesis->account ())
.balance (1)
.link (send2->hash ())
.sign (key1.prv, key1.pub)
.work (*pool.generate (key1.pub))
.build ();
ASSERT_FALSE (ledger.could_fit (transaction, *open1));
ASSERT_FALSE (ledger.could_fit (transaction, *open2));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, send2));
ASSERT_TRUE (ledger.could_fit (transaction, *send1));
ASSERT_TRUE (ledger.could_fit (transaction, *send2));
ASSERT_TRUE (ledger.could_fit (transaction, *open1));
ASSERT_TRUE (ledger.could_fit (transaction, *open2));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, open1));
ASSERT_TRUE (ledger.could_fit (transaction, *open1));
ASSERT_TRUE (ledger.could_fit (transaction, *open2));
// Create another send to receive
auto send3 = builder
.state ()
.account (nano::dev::genesis->account ())
.previous (send2->hash ())
.representative (nano::dev::genesis->account ())
.balance (nano::dev::constants.genesis_amount - 2)
.link (key1.pub)
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
.work (*pool.generate (send2->hash ()))
.build ();
// Test legacy and state receive
auto receive1 = builder
.receive ()
.previous (open1->hash ())
.source (send3->hash ())
.sign (key1.prv, key1.pub)
.work (*pool.generate (open1->hash ()))
.build ();
auto receive2 = builder
.state ()
.account (key1.pub)
.previous (open1->hash ())
.representative (nano::dev::genesis->account ())
.balance (2)
.link (send3->hash ())
.sign (key1.prv, key1.pub)
.work (*pool.generate (open1->hash ()))
.build ();
ASSERT_FALSE (ledger.could_fit (transaction, *receive1));
ASSERT_FALSE (ledger.could_fit (transaction, *receive2));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, send3));
ASSERT_TRUE (ledger.could_fit (transaction, *receive1));
ASSERT_TRUE (ledger.could_fit (transaction, *receive2));
// Test epoch (state)
auto epoch1 = builder
.state ()
.account (key1.pub)
.previous (receive1->hash ())
.representative (nano::dev::genesis->account ())
.balance (2)
.link (ledger.epoch_link (nano::epoch::epoch_1))
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
.work (*pool.generate (receive1->hash ()))
.build ();
ASSERT_FALSE (ledger.could_fit (transaction, *epoch1));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, receive1));
ASSERT_TRUE (ledger.could_fit (transaction, *receive1));
ASSERT_TRUE (ledger.could_fit (transaction, *receive2));
ASSERT_TRUE (ledger.could_fit (transaction, *epoch1));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, epoch1));
ASSERT_TRUE (ledger.could_fit (transaction, *epoch1));
}
TEST (ledger, unchecked_epoch)
{
nano::test::system system (1);

View file

@ -1244,14 +1244,6 @@ void nano::ledger::dump_account_chain (nano::account const & account_a, std::ost
}
}
bool nano::ledger::could_fit (store::transaction const & transaction_a, nano::block const & block_a) const
{
auto dependencies (dependent_blocks (transaction_a, block_a));
return std::all_of (dependencies.begin (), dependencies.end (), [this, &transaction_a] (nano::block_hash const & hash_a) {
return hash_a.is_zero () || store.block.exists (transaction_a, hash_a);
});
}
bool nano::ledger::dependents_confirmed (store::transaction const & transaction_a, nano::block const & block_a) const
{
auto dependencies (dependent_blocks (transaction_a, block_a));

View file

@ -78,7 +78,6 @@ public:
void update_account (store::write_transaction const &, nano::account const &, nano::account_info const &, nano::account_info const &);
uint64_t pruning_action (store::write_transaction &, nano::block_hash const &, uint64_t const);
void dump_account_chain (nano::account const &, std::ostream & = std::cout);
bool could_fit (store::transaction const &, nano::block const &) const;
bool dependents_confirmed (store::transaction const &, nano::block const &) const;
bool is_epoch_link (nano::link const &) const;
std::array<nano::block_hash, 2> dependent_blocks (store::transaction const &, nano::block const &) const;