Merge pull request #1329 from matiaspando/error/fullWallet

Adding full wallet message
This commit is contained in:
Matias Alejo Garcia 2014-09-10 12:01:14 -03:00
commit 676863f192
2 changed files with 13 additions and 2 deletions

View File

@ -386,6 +386,8 @@ WalletFactory.prototype.joinCreateSession = function(secret, nickname, passphras
w.sendWalletReady(s.pubKey);
//w.seedCopayer(s.pubKey);
return cb(null, w);
} else {
return cb('walletFull', w);
}
});
});

View File

@ -83,6 +83,14 @@ Network.prototype._sendHello = function(copayerId,secretNumber) {
});
};
Network.prototype._sendRejectConnection = function(copayerId) {
this.send(copayerId, {
type: 'rejectConnection',
copayerId: this.copayerId,
});
};
Network.prototype._deletePeer = function(peerId) {
delete this.isInboundPeerAuth[peerId];
delete this.copayerForPeer[peerId];
@ -184,26 +192,27 @@ Network.prototype._onMessage = function(enc) {
this._deletePeer(sender);
return;
}
log.debug('receiving ' + JSON.stringify(payload));
var self = this;
switch (payload.type) {
case 'hello':
if (typeof payload.secretNumber === 'undefined' || payload.secretNumber !== this.secretNumber)
{
this._sendRejectConnection(sender);
this._deletePeer(enc.pubkey, 'incorrect secret number');
return;
}
// if we locked allowed copayers, check if it belongs
if (this.allowedCopayerIds && !this.allowedCopayerIds[payload.copayerId]) {
this._sendRejectConnection(sender);
this._deletePeer(sender);
return;
}
//ensure claimed public key is actually the public key of the peer
//e.g., their public key should hash to be their peerId
if (sender !== payload.copayerId) {
this._sendRejectConnection(sender);
this._deletePeer(enc.pubkey, 'incorrect pubkey for peerId');
return;
}