return tx on broadcast.

This commit is contained in:
Christopher Jeffrey 2014-09-25 14:01:50 -07:00
parent b681642132
commit 5f21978a44
2 changed files with 13 additions and 5 deletions

View File

@ -482,10 +482,11 @@ Transaction.broadcast = function(tx, options, callback) {
tx.toHex(); tx.toHex();
} }
return bitcoindjs.broadcastTx(tx, fee, own, function(err, hash) { return bitcoindjs.broadcastTx(tx, fee, own, function(err, hash, tx) {
if (err) return callback(err); if (err) return callback(err);
bitcoin.global.emit('broadcast', hash); tx = bitcoin.tx(tx);
return callback(null, err); bitcoin.global.emit('broadcast', tx);
return callback(null, hash, tx);
}); });
}; };

View File

@ -1059,10 +1059,17 @@ async_broadcast_tx_after(uv_work_t *req) {
node::FatalException(try_catch); node::FatalException(try_catch);
} }
} else { } else {
const unsigned argc = 2; CDataStream ssData(ParseHex(data->tx_hex), SER_NETWORK, PROTOCOL_VERSION);
CTransaction tx;
ssData >> tx;
Local<Object> entry = NanNew<Object>();
ctx_to_js(tx, 0, entry);
const unsigned argc = 3;
Local<Value> argv[argc] = { Local<Value> argv[argc] = {
Local<Value>::New(Null()), Local<Value>::New(Null()),
Local<Value>::New(NanNew<String>(data->tx_hash)) Local<Value>::New(NanNew<String>(data->tx_hash)),
Local<Value>::New(entry)
}; };
TryCatch try_catch; TryCatch try_catch;
data->callback->Call(Context::GetCurrent()->Global(), argc, argv); data->callback->Call(Context::GetCurrent()->Global(), argc, argv);