mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-01 17:47:30 +01:00
bitcoind_sendrawtx: tie the sending of the transaction to the particular peer.
Not important just yet, but it will be soon. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
cc9ffe6c40
commit
7d1137c45e
3 changed files with 11 additions and 8 deletions
|
@ -282,13 +282,14 @@ static void process_sendrawtx(struct bitcoin_cli *bcli)
|
||||||
cb(bcli->dstate, msg, bcli->cb_arg);
|
cb(bcli->dstate, msg, bcli->cb_arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bitcoind_sendrawtx_(struct lightningd_state *dstate,
|
void bitcoind_sendrawtx_(struct peer *peer,
|
||||||
|
struct lightningd_state *dstate,
|
||||||
const char *hextx,
|
const char *hextx,
|
||||||
void (*cb)(struct lightningd_state *dstate,
|
void (*cb)(struct lightningd_state *dstate,
|
||||||
const char *msg, void *),
|
const char *msg, void *),
|
||||||
void *arg)
|
void *arg)
|
||||||
{
|
{
|
||||||
start_bitcoin_cli(dstate, NULL, process_sendrawtx, true, cb, arg,
|
start_bitcoin_cli(dstate, peer, process_sendrawtx, true, cb, arg,
|
||||||
"sendrawtransaction", hextx, NULL);
|
"sendrawtransaction", hextx, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,14 +27,15 @@ void bitcoind_estimate_fee_(struct lightningd_state *dstate,
|
||||||
u64), \
|
u64), \
|
||||||
(arg))
|
(arg))
|
||||||
|
|
||||||
void bitcoind_sendrawtx_(struct lightningd_state *dstate,
|
void bitcoind_sendrawtx_(struct peer *peer,
|
||||||
|
struct lightningd_state *dstate,
|
||||||
const char *hextx,
|
const char *hextx,
|
||||||
void (*cb)(struct lightningd_state *dstate,
|
void (*cb)(struct lightningd_state *dstate,
|
||||||
const char *msg, void *),
|
const char *msg, void *),
|
||||||
void *arg);
|
void *arg);
|
||||||
|
|
||||||
#define bitcoind_sendrawtx(dstate, hextx, cb, arg) \
|
#define bitcoind_sendrawtx(peer_, dstate, hextx, cb, arg) \
|
||||||
bitcoind_sendrawtx_((dstate), (hextx), \
|
bitcoind_sendrawtx_((peer_), (dstate), (hextx), \
|
||||||
typesafe_cb_preargs(void, void *, \
|
typesafe_cb_preargs(void, void *, \
|
||||||
(cb), (arg), \
|
(cb), (arg), \
|
||||||
struct lightningd_state *, \
|
struct lightningd_state *, \
|
||||||
|
|
|
@ -237,7 +237,7 @@ static void try_broadcast(struct lightningd_state *dstate,
|
||||||
this_tx = txs[num_txs-1];
|
this_tx = txs[num_txs-1];
|
||||||
tal_resize(&txs, num_txs-1);
|
tal_resize(&txs, num_txs-1);
|
||||||
|
|
||||||
bitcoind_sendrawtx(dstate, this_tx, try_broadcast, txs);
|
bitcoind_sendrawtx(NULL, dstate, this_tx, try_broadcast, txs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: This is dumb. We can group txs and avoid bothering bitcoind
|
/* FIXME: This is dumb. We can group txs and avoid bothering bitcoind
|
||||||
|
@ -266,7 +266,8 @@ static void rebroadcast_txs(struct lightningd_state *dstate)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (num_txs)
|
if (num_txs)
|
||||||
bitcoind_sendrawtx(dstate, txs[num_txs-1], try_broadcast, txs);
|
bitcoind_sendrawtx(NULL, dstate, txs[num_txs-1],
|
||||||
|
try_broadcast, txs);
|
||||||
else
|
else
|
||||||
tal_free(txs);
|
tal_free(txs);
|
||||||
}
|
}
|
||||||
|
@ -291,7 +292,7 @@ void broadcast_tx(struct peer *peer, const struct bitcoin_tx *tx)
|
||||||
|
|
||||||
rawtx = linearize_tx(txs, otx->tx);
|
rawtx = linearize_tx(txs, otx->tx);
|
||||||
txs[0] = tal_hexstr(txs, rawtx, tal_count(rawtx));
|
txs[0] = tal_hexstr(txs, rawtx, tal_count(rawtx));
|
||||||
bitcoind_sendrawtx(peer->dstate, txs[0], try_broadcast, txs);
|
bitcoind_sendrawtx(peer, peer->dstate, txs[0], try_broadcast, txs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void free_blocks(struct lightningd_state *dstate, struct block *b)
|
static void free_blocks(struct lightningd_state *dstate, struct block *b)
|
||||||
|
|
Loading…
Add table
Reference in a new issue