mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
3543530172
Accuracy improvements: 1. We assumed the output was a p2wpkh, but it can be user-supplied now. 2. We assumed we always had change; remove this for wallet_select_all. Calculation out-by-one fixes: 1. We need to add 1 byte (4 sipa) for the input count. 2. We need to add 1 byte (4 sipa) for the output count. 3. We need to add 1 byte (4 sipa) for the output script length for each output. 4. We need to add 1 byte (4 sipa) for the input script length for each input. 5. We need to add 1 byte (4 sipa) for the PUSH optcode for each P2SH input. The results are now a slight overestimate (due to guessing 73 bytes for signature, whereas they're 71 or 72 in practice). Fixes: #458 Reported-by: Jonas Nick @jonasnick Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 lines
515 B
C
16 lines
515 B
C
#ifndef LIGHTNING_LIGHTNINGD_BUILD_UTXOS_H
|
|
#define LIGHTNING_LIGHTNINGD_BUILD_UTXOS_H
|
|
#include "config.h"
|
|
#include <common/utxo.h>
|
|
#include <lightningd/lightningd.h>
|
|
|
|
/* Reserves UTXOs to build tx which pays this amount; returns NULL if
|
|
* impossible. */
|
|
const struct utxo **build_utxos(const tal_t *ctx,
|
|
struct lightningd *ld, u64 satoshi_out,
|
|
u32 feerate_per_kw, u64 dust_limit,
|
|
size_t outputscriptlen,
|
|
u64 *change_satoshis, u32 *change_keyindex);
|
|
|
|
#endif /* LIGHTNING_LIGHTNINGD_BUILD_UTXOS_H */
|