Skip to content

Commit 94110a1

Browse files
committed
f'Add Elements-style witness serialization'
1 parent 0990de5 commit 94110a1

4 files changed

Lines changed: 13 additions & 12 deletions

File tree

src/bench/block_assemble.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ static void AssembleBlock(benchmark::State& state)
9393
for (size_t b{0}; b < NUM_BLOCKS; ++b) {
9494
CMutableTransaction tx;
9595
tx.vin.push_back(MineBlock(SCRIPT_PUB));
96+
tx.witness.vtxinwit.resize(1);
9697
tx.witness.vtxinwit.back().scriptWitness = witness;
9798
tx.vout.emplace_back(1337, SCRIPT_PUB);
9899
if (NUM_BLOCKS - b >= COINBASE_MATURITY)

src/bench/mempool_eviction.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ static void MempoolEviction(benchmark::State& state)
4141
CMutableTransaction tx2 = CMutableTransaction();
4242
tx2.vin.resize(1);
4343
tx2.vin[0].scriptSig = CScript() << OP_2;
44-
tx1.witness.vtxinwit.resize(1);
44+
tx2.witness.vtxinwit.resize(1);
4545
tx2.witness.vtxinwit[0].scriptWitness.stack.push_back({2});
4646
tx2.vout.resize(1);
4747
tx2.vout[0].scriptPubKey = CScript() << OP_2 << OP_EQUAL;
@@ -51,7 +51,7 @@ static void MempoolEviction(benchmark::State& state)
5151
tx3.vin.resize(1);
5252
tx3.vin[0].prevout = COutPoint(tx2.GetHash(), 0);
5353
tx3.vin[0].scriptSig = CScript() << OP_2;
54-
tx1.witness.vtxinwit.resize(1);
54+
tx3.witness.vtxinwit.resize(1);
5555
tx3.witness.vtxinwit[0].scriptWitness.stack.push_back({3});
5656
tx3.vout.resize(1);
5757
tx3.vout[0].scriptPubKey = CScript() << OP_3 << OP_EQUAL;
@@ -61,11 +61,11 @@ static void MempoolEviction(benchmark::State& state)
6161
tx4.vin.resize(2);
6262
tx4.vin[0].prevout.SetNull();
6363
tx4.vin[0].scriptSig = CScript() << OP_4;
64-
tx1.witness.vtxinwit.resize(1);
64+
tx4.witness.vtxinwit.resize(1);
6565
tx4.witness.vtxinwit[0].scriptWitness.stack.push_back({4});
6666
tx4.vin[1].prevout.SetNull();
6767
tx4.vin[1].scriptSig = CScript() << OP_4;
68-
tx1.witness.vtxinwit.resize(2);
68+
tx4.witness.vtxinwit.resize(2);
6969
tx4.witness.vtxinwit[1].scriptWitness.stack.push_back({4});
7070
tx4.vout.resize(2);
7171
tx4.vout[0].scriptPubKey = CScript() << OP_4 << OP_EQUAL;
@@ -77,11 +77,11 @@ static void MempoolEviction(benchmark::State& state)
7777
tx5.vin.resize(2);
7878
tx5.vin[0].prevout = COutPoint(tx4.GetHash(), 0);
7979
tx5.vin[0].scriptSig = CScript() << OP_4;
80-
tx1.witness.vtxinwit.resize(1);
80+
tx5.witness.vtxinwit.resize(1);
8181
tx5.witness.vtxinwit[0].scriptWitness.stack.push_back({4});
8282
tx5.vin[1].prevout.SetNull();
8383
tx5.vin[1].scriptSig = CScript() << OP_5;
84-
tx1.witness.vtxinwit.resize(2);
84+
tx5.witness.vtxinwit.resize(2);
8585
tx5.witness.vtxinwit[1].scriptWitness.stack.push_back({5});
8686
tx5.vout.resize(2);
8787
tx5.vout[0].scriptPubKey = CScript() << OP_5 << OP_EQUAL;
@@ -93,11 +93,11 @@ static void MempoolEviction(benchmark::State& state)
9393
tx6.vin.resize(2);
9494
tx6.vin[0].prevout = COutPoint(tx4.GetHash(), 1);
9595
tx6.vin[0].scriptSig = CScript() << OP_4;
96-
tx1.witness.vtxinwit.resize(1);
96+
tx6.witness.vtxinwit.resize(1);
9797
tx6.witness.vtxinwit[0].scriptWitness.stack.push_back({4});
9898
tx6.vin[1].prevout.SetNull();
9999
tx6.vin[1].scriptSig = CScript() << OP_6;
100-
tx1.witness.vtxinwit.resize(2);
100+
tx6.witness.vtxinwit.resize(2);
101101
tx6.witness.vtxinwit[1].scriptWitness.stack.push_back({6});
102102
tx6.vout.resize(2);
103103
tx6.vout[0].scriptPubKey = CScript() << OP_6 << OP_EQUAL;
@@ -109,11 +109,11 @@ static void MempoolEviction(benchmark::State& state)
109109
tx7.vin.resize(2);
110110
tx7.vin[0].prevout = COutPoint(tx5.GetHash(), 0);
111111
tx7.vin[0].scriptSig = CScript() << OP_5;
112-
tx1.witness.vtxinwit.resize(1);
112+
tx7.witness.vtxinwit.resize(1);
113113
tx7.witness.vtxinwit[0].scriptWitness.stack.push_back({5});
114114
tx7.vin[1].prevout = COutPoint(tx6.GetHash(), 0);
115115
tx7.vin[1].scriptSig = CScript() << OP_6;
116-
tx1.witness.vtxinwit.resize(2);
116+
tx7.witness.vtxinwit.resize(2);
117117
tx7.witness.vtxinwit[1].scriptWitness.stack.push_back({6});
118118
tx7.vout.resize(2);
119119
tx7.vout[0].scriptPubKey = CScript() << OP_7 << OP_EQUAL;

src/test/coins_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ BOOST_AUTO_TEST_CASE(updatecoins_simulation_test)
407407
if (!tx.IsCoinBase()) {
408408
const COutPoint &out = tx.vin[0].prevout;
409409
Coin coin = undo.vprevout[0];
410-
ApplyTxInUndo(std::move(coin), *(stack.back()), out, tx.vin[0], tx.witness.vtxinwit[0].m_pegin_witness);
410+
ApplyTxInUndo(std::move(coin), *(stack.back()), out, tx.vin[0], CScriptWitness());
411411
}
412412
// Store as a candidate for reconnection
413413
disconnected_coins.insert(utxod->first);

src/wallet/feebumper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ Result CreateTransaction(const CWallet* wallet, const uint256& txid, const CCoin
198198
wallet->WalletLogPrintf("Bumping fee and discarding dust output\n");
199199
new_fee += poutput->nValue;
200200
mtx.vout.erase(mtx.vout.begin() + nOutput);
201-
if (mtx.witness.vtxoutwit.size() > nOutput) {
201+
if (mtx.witness.vtxoutwit.size() > (size_t) nOutput) {
202202
mtx.witness.vtxoutwit.erase(mtx.witness.vtxoutwit.begin() + nOutput);
203203
}
204204
}

0 commit comments

Comments
 (0)