Add base weight const to TxIn
This commit is contained in:
parent
02890d3fba
commit
5496feb5c1
|
@ -199,6 +199,9 @@ pub struct TxIn {
|
|||
}
|
||||
|
||||
impl TxIn {
|
||||
/// The weight of a `TxIn` excluding the `script_sig` and `witness`.
|
||||
pub const BASE_WEIGHT: Weight = Weight::from_wu(32 + 4 + 4);
|
||||
|
||||
/// Returns true if this input enables the [`absolute::LockTime`] (aka `nLockTime`) of its
|
||||
/// [`Transaction`].
|
||||
///
|
||||
|
@ -713,9 +716,9 @@ impl Transaction {
|
|||
pub fn strippedsize(&self) -> usize {
|
||||
let mut input_size = 0;
|
||||
for input in &self.input {
|
||||
input_size += 32 + 4 + 4 + // outpoint (32+4) + nSequence
|
||||
VarInt(input.script_sig.len() as u64).len() +
|
||||
input.script_sig.len();
|
||||
input_size += TxIn::BASE_WEIGHT.to_wu() as usize
|
||||
+ VarInt(input.script_sig.len() as u64).len()
|
||||
+ input.script_sig.len();
|
||||
}
|
||||
let mut output_size = 0;
|
||||
for output in &self.output {
|
||||
|
@ -741,9 +744,9 @@ impl Transaction {
|
|||
let mut inputs_with_witnesses = 0;
|
||||
for input in &self.input {
|
||||
input_weight += scale_factor
|
||||
* (32 + 4 + 4 + // outpoint (32+4) + nSequence
|
||||
VarInt(input.script_sig.len() as u64).len() +
|
||||
input.script_sig.len());
|
||||
* (TxIn::BASE_WEIGHT.to_wu() as usize
|
||||
+ VarInt(input.script_sig.len() as u64).len()
|
||||
+ input.script_sig.len());
|
||||
if !input.witness.is_empty() {
|
||||
inputs_with_witnesses += 1;
|
||||
input_weight += input.witness.serialized_len();
|
||||
|
|
Loading…
Reference in New Issue