mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-18 21:35:11 +01:00
funding tx: include segwit marker + flag in fee calculation
Noticed an off by one error when running tests for dual-funding; we're not including the two 'header' segwit bytes in our weight calculations.
This commit is contained in:
parent
b0b6ddb66f
commit
c7f3fa34b2
@ -184,7 +184,8 @@ struct command_result *wtx_from_utxos(struct wallet_tx *tx,
|
||||
|
||||
/* The transaction has `tal_count(tx.utxos)` inputs and one output */
|
||||
/* (version + in count + out count + locktime) (index + value + script length) */
|
||||
weight = 4 * (4 + 1 + 1 + 4) + 4 * (8 + 1 + out_len);
|
||||
/* + segwit marker + flag */
|
||||
weight = 4 * (4 + 1 + 1 + 4) + 4 * (8 + 1 + out_len) + 1 + 1;
|
||||
for (size_t i = 0; i < tal_count(utxos); i++) {
|
||||
if (!*utxos[i]->blockheight || *utxos[i]->blockheight > maxheight) {
|
||||
tal_arr_remove(&utxos, i);
|
||||
|
@ -90,6 +90,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* nVersion, input count, output count, nLocktime */
|
||||
weight = 4 * (4 + 1 + 1 + 4);
|
||||
/* Add segwit fields: marker + flag */
|
||||
weight += 1 + 1;
|
||||
/* Single output: Satoshis, script length, p2wsh. */
|
||||
weight += 4 * (8 + 1 + BITCOIN_SCRIPTPUBKEY_P2WSH_LEN);
|
||||
/* Single input: txid, index, scriptlen, nSequence */
|
||||
|
@ -289,6 +289,9 @@ static const struct utxo **wallet_select(const tal_t *ctx, struct wallet *w,
|
||||
/* version, input count, output count, locktime */
|
||||
weight = (4 + 1 + 1 + 4) * 4;
|
||||
|
||||
/* Add segwit fields: marker + flag */
|
||||
weight += 1 + 1;
|
||||
|
||||
/* The main output: amount, len, scriptpubkey */
|
||||
weight += (8 + 1 + outscriptlen) * 4;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user