Documentation ¶
Index ¶
Constants ¶
View Source
const ( // RedeemP2PKHSigScriptSize is the worst case (largest) serialize size // of a transaction input script that redeems a compressed P2PKH output. // It is calculated as: // // - OP_DATA_73 // - 72 bytes DER signature + 1 byte sighash // - OP_DATA_33 // - 33 bytes serialized compressed pubkey RedeemP2PKHSigScriptSize = 1 + 73 + 1 + 33 // RedeemP2SHSigScriptSize is the worst case (largest) serialize size // of a transaction input script that redeems a P2SH output. // It is calculated as: // // - OP_DATA_73 // - 73-byte signature // - OP_DATA_35 // - OP_DATA_33 // - 33 bytes serialized compressed pubkey // - OP_CHECKSIG RedeemP2SHSigScriptSize = 1 + 73 + 1 + 1 + 33 + 1 // RedeemP2PKHInputSize is the worst case (largest) serialize size of a // transaction input redeeming a compressed P2PKH output. It is // calculated as: // // - 32 bytes previous tx // - 4 bytes output index // - 1 byte tree // - 8 bytes amount // - 4 bytes block height // - 4 bytes block index // - 1 byte compact int encoding value 107 // - 107 bytes signature script // - 4 bytes sequence RedeemP2PKHInputSize = 32 + 4 + 1 + 8 + 4 + 4 + 1 + RedeemP2PKHSigScriptSize + 4 // P2PKHPkScriptSize is the size of a transaction output script that // pays to a compressed pubkey hash. It is calculated as: // // - OP_DUP // - OP_HASH160 // - OP_DATA_20 // - 20 bytes pubkey hash // - OP_EQUALVERIFY // - OP_CHECKSIG P2PKHPkScriptSize = 1 + 1 + 1 + 20 + 1 + 1 // P2PKHOutputSize is the serialize size of a transaction output with a // P2PKH output script. It is calculated as: // // - 8 bytes output value // - 2 bytes version // - 1 byte compact int encoding value 25 // - 25 bytes P2PKH output script P2PKHOutputSize = 8 + 2 + 1 + 25 // signature script definitions P2SHScriptSize = sigScriptSize(RedeemP2SHSigScriptSize) P2PKHScriptSize = sigScriptSize(RedeemP2PKHSigScriptSize) )
Worst case script and input/output size estimates.
Variables ¶
This section is empty.
Functions ¶
func EstimateInputSize ¶ added in v1.2.0
EstimateInputSize returns the worst case serialize size estimate for a tx input
- 32 bytes previous tx
- 4 bytes output index
- 1 byte tree
- 8 bytes amount
- 4 bytes block height
- 4 bytes block index
- the compact int representation of the script size
- the supplied script size
- 4 bytes sequence
func EstimateSerializeSize ¶
func EstimateSerializeSize(scriptSizers []ScriptSizer, txOuts []*wire.TxOut, addChangeOutput bool) int
EstimateSerializeSize returns a worst case serialize size estimate for a signed transaction that spends a number of outputs and contains each transaction output from txOuts. The estimated size is incremented for an additional P2PKH change output if addChangeOutput is true.
Types ¶
type ScriptSizer ¶ added in v1.2.0
type ScriptSizer interface {
ScriptSize() int
}
ScriptSizer signature script sizing interface
Click to show internal directories.
Click to hide internal directories.