Browse Source

add verifier

activeAddress
Matias Alejo Garcia 10 years ago
parent
commit
c92fbb2898
  1. 15
      lib/client/Verifier.js
  2. 7
      lib/client/api.js
  3. 0
      lib/client/filestorage.js
  4. 10
      lib/client/index.js

15
lib/client/Verifier.js

@ -0,0 +1,15 @@
var $ = require('preconditions').singleton();
var _ = require('lodash');
var Bitcore = require('bitcore');
var BitcoinUtils = require('../bitcoinutils')
function Verifier(opts) {};
Verifier.checkAddress = function(data, address) {
var local = BitcoinUtils.deriveAddress(data.publicKeyRing, address.path, data.m, data.network);
if (local.address != address.address || JSON.stringify(local.publicKeys)!= JSON.stringify(address.publicKeys))
return cb('Server sent a fake address.');
};
module.exports = Verifier;

7
lib/client/API.js → lib/client/api.js

@ -9,7 +9,7 @@ log.debug = log.verbose;
var Bitcore = require('bitcore')
var SignUtils = require('../signutils');
var BitcoinUtils = require('../bitcoinutils');
var Verifier = require('./verifier');
var BASE_URL = 'http://localhost:3001/copay/api';
@ -289,10 +289,7 @@ API.prototype.createAddress = function(cb) {
if (data.publicKeyRing.length != data.n)
return cb('Wallet Incomplete, cannot derive address.')
var local = BitcoinUtils.deriveAddress(data.publicKeyRing, address.path, data.m, data.network);
if (local.address != address.address || JSON.stringify(local.publicKeys)!= JSON.stringify(address.publicKeys))
return cb('Server sent a fake address.');
Verifier.checkAddress(data, address);
return cb(null, address);
});

0
lib/client/FileStorage.js → lib/client/filestorage.js

10
lib/client/index.js

@ -1,9 +1,5 @@
//var client = ;
var client = module.exports = require('./API');
client.FileStorage = require('./FileStorage');
client.Verifier = require('./Verifier');
// TODO
//module.exports.storage = require('./storage');
var client = module.exports = require('./api');
client.FileStorage = require('./filestorage');
client.Verifier = require('./verifier');

Loading…
Cancel
Save