Skip to content

Commit 8079770

Browse files
committed
Style, comments.
1 parent 9205b81 commit 8079770

File tree

6 files changed

+21
-17
lines changed

6 files changed

+21
-17
lines changed

include/bitcoin/system/chain/block.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ class BC_API block
193193

194194
void assign_data(reader& source, bool witness) NOEXCEPT;
195195
static block from_data(reader& source, bool witness) NOEXCEPT;
196-
static sizes serialized_size(const chain::transaction_cptrs& txs) NOEXCEPT;
196+
static sizes serialized_size(const transaction_cptrs& txs) NOEXCEPT;
197197

198198
// context free
199199
hash_digest generate_merkle_root(bool witness) const NOEXCEPT;

include/bitcoin/system/chain/transaction.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,8 @@ class BC_API transaction
167167
code confirm(const context& ctx) const NOEXCEPT;
168168

169169
protected:
170-
transaction(uint32_t version, const chain::inputs_cptr& inputs,
171-
const chain::outputs_cptr& outputs, uint32_t locktime, bool segregated,
170+
transaction(uint32_t version, const inputs_cptr& inputs,
171+
const outputs_cptr& outputs, uint32_t locktime, bool segregated,
172172
bool valid) NOEXCEPT;
173173

174174
/// Guard (context free).
@@ -237,9 +237,9 @@ class BC_API transaction
237237
} sighash_cache;
238238

239239
static bool segregated(const chain::inputs& inputs) NOEXCEPT;
240-
static bool segregated(const chain::input_cptrs& inputs) NOEXCEPT;
241-
static sizes serialized_size(const chain::input_cptrs& inputs,
242-
const chain::output_cptrs& outputs, bool segregated) NOEXCEPT;
240+
static bool segregated(const input_cptrs& inputs) NOEXCEPT;
241+
static sizes serialized_size(const input_cptrs& inputs,
242+
const output_cptrs& outputs, bool segregated) NOEXCEPT;
243243

244244
void assign_data(reader& source, bool witness) NOEXCEPT;
245245

include/bitcoin/system/chain/witness.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ class BC_API witness
9090
const chunk_cptrs& stack() const NOEXCEPT;
9191

9292
/// Computed properties.
93+
/// serialized_size(true) returns one for an empty witness stack.
9394
size_t serialized_size(bool prefix) const NOEXCEPT;
9495

9596
/// Utilities.

src/chain/block.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -332,8 +332,7 @@ void block::set_hashes(const data_chunk& data) NOEXCEPT
332332
}
333333

334334
// static/private
335-
block::sizes block::serialized_size(
336-
const chain::transaction_cptrs& txs) NOEXCEPT
335+
block::sizes block::serialized_size(const transaction_cptrs& txs) NOEXCEPT
337336
{
338337
sizes size{};
339338
std::for_each(txs.begin(), txs.end(), [&](const auto& tx) NOEXCEPT
@@ -342,11 +341,11 @@ block::sizes block::serialized_size(
342341
size.witnessed = ceilinged_add(size.witnessed, tx->serialized_size(true));
343342
});
344343

345-
const auto common_size = ceilinged_add(header::serialized_size(),
344+
const auto base_size = ceilinged_add(header::serialized_size(),
346345
variable_size(txs.size()));
347346

348-
const auto nominal_size = ceilinged_add(common_size, size.nominal);
349-
const auto witnessed_size = ceilinged_add(common_size, size.witnessed);
347+
const auto nominal_size = ceilinged_add(base_size, size.nominal);
348+
const auto witnessed_size = ceilinged_add(base_size, size.witnessed);
350349

351350
return { nominal_size, witnessed_size };
352351
}

src/chain/input.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,14 @@ input::sizes input::serialized_size(const chain::script& script,
284284
const auto nominal_size = ceilinged_add(const_size,
285285
script.serialized_size(true));
286286

287+
// The input has no way to determine if its tx is segregated, as an empty
288+
// witness applies to segregated tx as a one byte (zero) serialization.
289+
// This determination is therefore left to the transaction, and witness
290+
// retains both serialization options from construction.
287291
const auto witnessed_size = ceilinged_add(nominal_size,
288292
witness.serialized_size(true));
289293

294+
// Values are the same for non-segregated transactions.
290295
return { nominal_size, witnessed_size };
291296
}
292297

src/chain/transaction.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ transaction::transaction(uint32_t version, const chain::inputs& inputs,
9292
{
9393
}
9494

95-
transaction::transaction(uint32_t version, const chain::inputs_cptr& inputs,
96-
const chain::outputs_cptr& outputs, uint32_t locktime) NOEXCEPT
95+
transaction::transaction(uint32_t version, const inputs_cptr& inputs,
96+
const outputs_cptr& outputs, uint32_t locktime) NOEXCEPT
9797
: transaction(version, inputs, outputs, locktime, segregated(*inputs), true)
9898
{
9999
}
@@ -284,9 +284,8 @@ void transaction::to_data(writer& sink, bool witness) const NOEXCEPT
284284
}
285285

286286
// static/private
287-
transaction::sizes transaction::serialized_size(
288-
const chain::input_cptrs& inputs,
289-
const chain::output_cptrs& outputs, bool segregated) NOEXCEPT
287+
transaction::sizes transaction::serialized_size(const input_cptrs& inputs,
288+
const output_cptrs& outputs, bool segregated) NOEXCEPT
290289
{
291290
sizes size{ zero, zero };
292291

@@ -988,7 +987,7 @@ bool transaction::segregated(const chain::inputs& inputs) NOEXCEPT
988987
}
989988

990989
// static/private
991-
bool transaction::segregated(const chain::input_cptrs& inputs) NOEXCEPT
990+
bool transaction::segregated(const input_cptrs& inputs) NOEXCEPT
992991
{
993992
const auto witnessed = [](const auto& input) NOEXCEPT
994993
{

0 commit comments

Comments
 (0)