Merge pull request #89 from matiu/feature/ux2

fix p2p connecting
This commit is contained in:
Manuel Aráoz 2014-04-18 11:29:27 -03:00
commit cf4140ab2b
6 changed files with 42 additions and 11 deletions

View File

@ -3,7 +3,7 @@
var config = {
networkName: 'testnet',
network: {
key: 'lwjd5qra8257b9',
key: 'lwjd5qra8257b9',
// This is for running local peerJs with params: ./peerjs -p 10009 -k 'sdfjhwefh'
// key: 'sdfjhwefh',
// host: 'localhost',

View File

@ -7,11 +7,13 @@ angular.module('copay.transactions').controller('TransactionsController',
$scope.oneAtATime = true;
var _updateTxs = function() {
var inT = $rootScope.wallet.getTxProposals();
var ts = [];
var w =$rootScope.wallet;
var inT = w.getTxProposals();
var ts = [];
inT.forEach(function(i){
var b =i.txp.builder;
var tx = b.build();
var b = i.txp.builder;
var tx = b.build();
var one = {
valueOutSat: b.valueOutSat,
feeSat: b.feeSat,
@ -21,7 +23,8 @@ angular.module('copay.transactions').controller('TransactionsController',
tx.outs.forEach(function(o) {
var s = o.getScript();
var aStr = bitcore.Address.fromScript(s, config.networkName).toString();
outs.push({address: aStr, value: bitcore.util.valueToBigInt(o.getValue())});
if (!w.addressIsOwn(aStr))
outs.push({address: aStr, value: bitcore.util.valueToBigInt(o.getValue())});
});
one.outs = outs;
ts.push(one);
@ -42,7 +45,6 @@ angular.module('copay.transactions').controller('TransactionsController',
$scope.sign = function (ntxid) {
var w = $rootScope.wallet;
var ret = w.sign(ntxid);
console.log('[transactions.js.28:ret:]',ret); //TODO
$rootScope.flashMessage = {type:'success', message: 'Transactions SEND! : ' + ret};
_updateTxs();
};

View File

@ -311,6 +311,22 @@ Wallet.prototype.getAddressesStr = function(onlyMain) {
return ret;
};
Wallet.prototype.addressIsOwn = function(addrStr) {
var addrList = this.getAddressesStr();
var l = addrList.length;
var ret = false;
for(var i=0; i<l; i++) {
if (addrList[i] === addrStr) {
ret = true;
break;
}
}
return ret;
};
Wallet.prototype.getTotalBalance = function(cb) {
this.getBalance(this.getAddressesStr(), function(balance) {
return cb(balance);

View File

@ -44,12 +44,12 @@ WalletFactory.prototype._checkRead = function(walletId) {
s.get(walletId, 'opts') &&
s.get(walletId, 'privateKey')
;
return ret;
return ret?true:false;
};
WalletFactory.prototype.read = function(walletId) {
if (! this._checkRead(walletId))
throw Error('Check read failed');
return false;
var s = this.storage;
var opts = s.get(walletId, 'opts');
@ -175,7 +175,7 @@ WalletFactory.prototype.connectTo = function(peerId, cb) {
self.network.start(function() {
self.network.connectTo(peerId)
self.network.on('walletId', function(walletId) {
console.log('[WalletFactory.js.187]'); //TODO
self.log('Opening walletId:' + walletId);
return cb(self.open(walletId));
});
});

View File

@ -133,7 +133,14 @@ describe('Wallet model', function() {
Object.keys(t.txps[0].seenBy).length.should.equal(1);
});
it('#addressIsOwn', function () {
var w = createW2();
var l = w.getAddressesStr();
for (var i=0; i<l.length; i++)
w.addressIsOwn(l[i]).should.equal(true);
w.addressIsOwn('mmHqhvTVbxgJTnePa7cfweSRjBCy9bQQXJ').should.equal(false);
w.addressIsOwn('mgtUfP9sTJ6vPLoBxZLPEccGpcjNVryaCX').should.equal(false);
});
it('#create. Signing with derivate keys', function () {

View File

@ -39,6 +39,12 @@ describe('WalletFactory model', function() {
var wf = new WalletFactory(config);
should.exist(wf);
});
it('#_checkRead should return false', function() {
var wf = new WalletFactory(config);
wf._checkRead('dummy').should.equal(false);
wf.read('dummy').should.equal(false);
});
it('should be able to create wallets', function() {
var wf = new WalletFactory(config);
var w = wf.create();