tx broadcasting working
This commit is contained in:
parent
73e7b0d0e0
commit
df23125f5e
6 changed files with 41 additions and 14 deletions
|
|
@ -25,13 +25,15 @@ function Wallet(opts) {
|
|||
console.log('creating '+opts.requiredCopayers+' of '+opts.totalCopayers+' wallet');
|
||||
|
||||
this.id = opts.id || Wallet.getRandomId();
|
||||
this.verbose = opts.verbose;
|
||||
this.publicKeyRing.walletId = this.id;
|
||||
this.txProposals.walletId = this.id;
|
||||
|
||||
}
|
||||
|
||||
Wallet.parent=EventEmitter;
|
||||
Wallet.prototype.log = function(){
|
||||
if (!this.verbose) return;
|
||||
// if (!this.verbose) return;
|
||||
console.log(arguments);
|
||||
};
|
||||
|
||||
|
|
@ -61,7 +63,6 @@ Wallet.prototype._handlePublicKeyRing = function(senderId, data, isInbound) {
|
|||
if (shouldSend) {
|
||||
this.sendPublicKeyRing(recipients);
|
||||
}
|
||||
|
||||
this.store();
|
||||
};
|
||||
|
||||
|
|
@ -98,6 +99,7 @@ Wallet.prototype._handleData = function(senderId, data, isInbound) {
|
|||
if (this.id !== data.walletId)
|
||||
throw new Error('wrong message received: Bad wallet ID');
|
||||
|
||||
console.log('[Wallet.js.98]' , data.type); //TODO
|
||||
|
||||
switch(data.type) {
|
||||
case 'publicKeyRing':
|
||||
|
|
@ -113,11 +115,7 @@ Wallet.prototype._handleData = function(senderId, data, isInbound) {
|
|||
};
|
||||
|
||||
Wallet.prototype._handleNetworkChange = function(newPeer) {
|
||||
|
||||
console.log('[Wallet.js.112:newPeer:]',newPeer); //TODO
|
||||
if (!newPeer) return;
|
||||
|
||||
console.log('[Wallet.js.112:newPeer:]',newPeer); //TODO
|
||||
this.log('#### Setting new PEER:', newPeer);
|
||||
this.sendWalletId(newPeer);
|
||||
this.sendPublicKeyRing(newPeer);
|
||||
|
|
@ -137,6 +135,7 @@ Wallet.prototype.netStart = function() {
|
|||
};
|
||||
|
||||
Wallet.prototype.store = function() {
|
||||
console.log('[Wallet.js.135:store:]'); //TODO
|
||||
this.storage.set(this.id,'opts', {
|
||||
id: this.id,
|
||||
spendUnconfirmed: this.spendUnconfirmed,
|
||||
|
|
@ -146,6 +145,9 @@ Wallet.prototype.store = function() {
|
|||
this.storage.set(this.id,'publicKeyRing', this.publicKeyRing.toObj());
|
||||
this.storage.set(this.id,'txProposals', this.txProposals.toObj());
|
||||
this.storage.set(this.id,'privateKey', this.privateKey.toObj());
|
||||
|
||||
console.log('[Wallet.js.146] EMIT REFRESH'); //TODO
|
||||
this.emit('refresh');
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -227,8 +229,22 @@ Wallet.prototype.sign = function(ntxid) {
|
|||
|
||||
if (ret.signaturesAdded) {
|
||||
txp.signedBy[this.privateKey.id] = Date.now();
|
||||
w.store();
|
||||
this.sendTxProposals();
|
||||
console.log('[Wallet.js.230:ret:]',ret); //TODO
|
||||
if (ret.isFullySigned) {
|
||||
console.log('[Wallet.js.231] BROADCASTING TX!!!'); //TODO
|
||||
var tx = txp.builder.build();
|
||||
var txHex = tx.serialize().toString('hex');
|
||||
this.blockchain.sendRawTransaction(txHex, function(txid) {
|
||||
console.log('[Wallet.js.235:txid:]',txid); //TODO
|
||||
if (txid) {
|
||||
this.store();
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
this.sendTxProposals();
|
||||
this.store();
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -114,7 +114,10 @@ WalletFactory.prototype.create = function(opts) {
|
|||
};
|
||||
|
||||
WalletFactory.prototype.open = function(walletId) {
|
||||
var w = this.read(walletId) || this.create({id: walletId});
|
||||
var w = this.read(walletId) || this.create({
|
||||
id: walletId,
|
||||
verbose: this.verbose,
|
||||
});
|
||||
return w;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue