diff --git a/src/block_template.cpp b/src/block_template.cpp index 0363e93..fb6fc3e 100644 --- a/src/block_template.cpp +++ b/src/block_template.cpp @@ -631,8 +631,8 @@ void BlockTemplate::update(const MinerData& data, const Mempool& mempool, const const hash& key = subaddress.view_public_key(); v.insert(v.end(), key.h, key.h + HASH_SIZE); - v.emplace_back(0); - v.emplace_back(0); + v.push_back(0); + v.push_back(0); m_poolBlockTemplate->m_mergeMiningExtra.emplace(keccak_subaddress_viewpub, std::move(v)); } diff --git a/tests/src/block_template_tests.cpp b/tests/src/block_template_tests.cpp index 5719ce3..71663d1 100644 --- a/tests/src/block_template_tests.cpp +++ b/tests/src/block_template_tests.cpp @@ -53,9 +53,10 @@ TEST(block_template, update) Mempool mempool; Wallet wallet("44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg"); + Wallet subaddress{ nullptr }; // Test 1: empty template - tpl.update(data, mempool, &wallet); + tpl.update(data, mempool, wallet, subaddress); ASSERT_EQ(tpl.get_reward(), 600000000000ULL); const PoolBlock* b = tpl.pool_block_template(); @@ -90,7 +91,7 @@ TEST(block_template, update) } ASSERT_EQ(mempool.size(), 512); - tpl.update(data, mempool, &wallet); + tpl.update(data, mempool, wallet, subaddress); ASSERT_EQ(tpl.get_reward(), 612054770773ULL); ASSERT_EQ(b->m_sidechainId, H("c9df4853003ab436416b9fc9a5a072d16b4dede849e697a8be2ebb9c88c8ec72")); @@ -128,7 +129,7 @@ TEST(block_template, update) data.aux_chains.emplace_back(H("01f0cf665bd4cd31cbb2b2470236389c483522b350335e10a4a5dca34cb85990"), H("d9de1cfba7cdbd47f12f77addcb39b24c1ae7a16c35372bf28d6aee5d7579ee6"), difficulty_type(1000000)); - tpl.update(data, mempool, &wallet); + tpl.update(data, mempool, wallet, subaddress); ASSERT_EQ(tpl.get_reward(), 600300000000ULL); ASSERT_EQ(b->m_sidechainId, H("c32abac2cad40e263a94f5f43f90e0a7d7d4b151305b79951dbc8c88c3180613")); @@ -164,7 +165,7 @@ TEST(block_template, update) } ASSERT_EQ(mempool.size(), 10000); - tpl.update(data, mempool, &wallet); + tpl.update(data, mempool, wallet, subaddress); ASSERT_EQ(tpl.get_reward(), 619742028747ULL); ASSERT_EQ(b->m_sidechainId, H("69e7dd43dd99ac6be3f57ca333cc0d814189e83aee1773c99a341aca085c0d46")); @@ -214,17 +215,18 @@ TEST(block_template, submit_sidechain_block) Mempool mempool; Wallet wallet("44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg"); + Wallet subaddress{ nullptr }; std::mt19937_64 rng(101112); for (uint64_t i = 0, i2 = 0, i3 = 0; i < sidechain.chain_window_size() * 3; ++i) { - tpl.update(data, mempool, &wallet); + tpl.update(data, mempool, wallet, subaddress); if ((rng() % 31) == 0) { - tpl2.update(data, mempool, &wallet); + tpl2.update(data, mempool, wallet, subaddress); if ((rng() % 11) == 0) { - tpl3.update(data, mempool, &wallet); + tpl3.update(data, mempool, wallet, subaddress); ++i3; ASSERT_TRUE(tpl3.submit_sidechain_block(i3, 0, 0)); }