diff --git a/lib/client/Verifier.js b/lib/client/Verifier.js new file mode 100644 index 0000000..1fbbb47 --- /dev/null +++ b/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; diff --git a/lib/client/API.js b/lib/client/api.js similarity index 96% rename from lib/client/API.js rename to lib/client/api.js index 8667d95..9ffd70a 100644 --- a/lib/client/API.js +++ b/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); }); diff --git a/lib/client/FileStorage.js b/lib/client/filestorage.js similarity index 100% rename from lib/client/FileStorage.js rename to lib/client/filestorage.js diff --git a/lib/client/index.js b/lib/client/index.js index a033b7d..fd416f1 100644 --- a/lib/client/index.js +++ b/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');