change name to Encrypted

This commit is contained in:
Matias Alejo Garcia 2014-09-01 15:40:31 -03:00
commit 2849f773e2
8 changed files with 66 additions and 49 deletions

View file

@ -42,7 +42,8 @@ module.exports = function(grunt) {
}, },
scripts: { scripts: {
files: [ files: [
'js/models/**/*.js' 'js/models/**/*.js',
'plugins/*.js',
], ],
tasks: ['shell:dev'] tasks: ['shell:dev']
}, },
@ -129,7 +130,7 @@ module.exports = function(grunt) {
'js/controllers/*.js', 'js/controllers/*.js',
'js/translations.js', 'js/translations.js',
'js/mobile.js', // PLACEHOLDER: CORDOVA SRIPT 'js/mobile.js', // PLACEHOLDER: CORDOVA SRIPT
'js/init.js' 'js/init.js',
], ],
dest: 'js/copayMain.js' dest: 'js/copayMain.js'
} }

View file

@ -24,7 +24,8 @@
"zeroclipboard": "~1.3.5", "zeroclipboard": "~1.3.5",
"ng-idle": "*", "ng-idle": "*",
"underscore": "~1.7.0", "underscore": "~1.7.0",
"inherits": "~0.0.1" "inherits": "~0.0.1",
"angular-load": "0.2.0"
}, },
"resolutions": { "resolutions": {
"angular": "=1.2.19" "angular": "=1.2.19"

View file

@ -11,7 +11,7 @@ module.exports.HDParams = require('./js/models/core/HDParams');
// components // components
var Async = module.exports.Async = require('./js/models/network/Async'); var Async = module.exports.Async = require('./js/models/network/Async');
var Insight = module.exports.Insight = require('./js/models/blockchain/Insight'); var Insight = module.exports.Insight = require('./js/models/blockchain/Insight');
var StorageLocalEncrypted = module.exports.StorageLocalEncrypted = require('./js/models/storage/LocalEncrypted'); var StorageEncrypted = module.exports.StorageEncrypted = require('./js/models/storage/Encrypted');
module.exports.WalletFactory = require('./js/models/core/WalletFactory'); module.exports.WalletFactory = require('./js/models/core/WalletFactory');
module.exports.Wallet = require('./js/models/core/Wallet'); module.exports.Wallet = require('./js/models/core/Wallet');

View file

@ -37,9 +37,17 @@ var modules = [
'copayApp.directives', 'copayApp.directives',
]; ];
if (config.plugins.googleDrive) if (config.plugins.length)
modules.push('angularLoad'); modules.push('angularLoad');
if (config.plugins.googleDrive) {
var googleDrive = require('../plugins/googleDrive');
var a = new googleDrive();
a.init();
console.log('[app.js.41:new:]',a); //TODO
}
var copayApp = window.copayApp = angular.module('copayApp', modules); var copayApp = window.copayApp = angular.module('copayApp', modules);
copayApp.config(function($sceDelegateProvider) { copayApp.config(function($sceDelegateProvider) {

View file

@ -8,7 +8,7 @@ var _ = require('underscore');
var log = require('../../log'); var log = require('../../log');
var Async = module.exports.Async = require('../network/Async'); var Async = module.exports.Async = require('../network/Async');
var Insight = module.exports.Insight = require('../blockchain/Insight'); var Insight = module.exports.Insight = require('../blockchain/Insight');
var StorageLocalEncrypted = module.exports.StorageLocalEncrypted = require('../storage/LocalEncrypted'); var StorageEncrypted = module.exports.StorageEncrypted = require('../storage/Encrypted');
var preconditions = require('preconditions').singleton(); var preconditions = require('preconditions').singleton();
/** /**
@ -36,7 +36,7 @@ function WalletFactory(config, version) {
var self = this; var self = this;
config = config || {}; config = config || {};
this.Storage = config.Storage || StorageLocalEncrypted; this.Storage = config.Storage || StorageEncrypted;
this.Network = config.Network || Async; this.Network = config.Network || Async;
this.Blockchain = config.Blockchain || Insight; this.Blockchain = config.Blockchain || Insight;

View file

@ -13,9 +13,12 @@ function Storage(opts) {
this._setPassphrase(opts.password); this._setPassphrase(opts.password);
try { try {
this.localStorage = opts.localStorage || localStorage; this.storage = opts.storage || localStorage;
this.sessionStorage = opts.sessionStorage || sessionStorage; this.sessionStorage = opts.sessionStorage || sessionStorage;
} catch (e) {} } catch (e) {
console.log('Error in storage:', e); //TODO
};
preconditions.checkState(this.localStorage, 'No localstorage found'); preconditions.checkState(this.localStorage, 'No localstorage found');
preconditions.checkState(this.sessionStorage, 'No sessionStorage found'); preconditions.checkState(this.sessionStorage, 'No sessionStorage found');
} }
@ -54,7 +57,7 @@ Storage.prototype._decrypt = function(base64) {
Storage.prototype._read = function(k) { Storage.prototype._read = function(k) {
var ret; var ret;
ret = this.localStorage.getItem(k); ret = this.storage.getItem(k);
if (!ret) return null; if (!ret) return null;
ret = this._decrypt(ret); ret = this._decrypt(ret);
if (!ret) return null; if (!ret) return null;
@ -67,23 +70,23 @@ Storage.prototype._write = function(k, v) {
v = JSON.stringify(v); v = JSON.stringify(v);
v = this._encrypt(v); v = this._encrypt(v);
this.localStorage.setItem(k, v); this.storage.setItem(k, v);
}; };
// get value by key // get value by key
Storage.prototype.getGlobal = function(k) { Storage.prototype.getGlobal = function(k) {
var item = this.localStorage.getItem(k); var item = this.storage.getItem(k);
return item == 'undefined' ? undefined : item; return item == 'undefined' ? undefined : item;
}; };
// set value for key // set value for key
Storage.prototype.setGlobal = function(k, v) { Storage.prototype.setGlobal = function(k, v) {
this.localStorage.setItem(k, typeof v === 'object' ? JSON.stringify(v) : v); this.storage.setItem(k, typeof v === 'object' ? JSON.stringify(v) : v);
}; };
// remove value for key // remove value for key
Storage.prototype.removeGlobal = function(k) { Storage.prototype.removeGlobal = function(k) {
this.localStorage.removeItem(k); this.storage.removeItem(k);
}; };
Storage.prototype.getSessionId = function() { Storage.prototype.getSessionId = function() {
@ -127,8 +130,8 @@ Storage.prototype.getWalletIds = function() {
var walletIds = []; var walletIds = [];
var uniq = {}; var uniq = {};
for (var i = 0; i < this.localStorage.length; i++) { for (var i = 0; i < this.storage.length; i++) {
var key = this.localStorage.key(i); var key = this.storage.key(i);
var split = key.split('::'); var split = key.split('::');
if (split.length == 2) { if (split.length == 2) {
var walletId = split[0]; var walletId = split[0];
@ -162,8 +165,8 @@ Storage.prototype.deleteWallet = function(walletId) {
var toDelete = {}; var toDelete = {};
toDelete['nameFor::' + walletId] = 1; toDelete['nameFor::' + walletId] = 1;
for (var i = 0; i < this.localStorage.length; i++) { for (var i = 0; i < this.storage.length; i++) {
var key = this.localStorage.key(i); var key = this.storage.key(i);
var split = key.split('::'); var split = key.split('::');
if (split.length == 2 && split[0] === walletId) { if (split.length == 2 && split[0] === walletId) {
toDelete[key] = 1; toDelete[key] = 1;
@ -192,7 +195,7 @@ Storage.prototype.setFromObj = function(walletId, obj) {
// remove all values // remove all values
Storage.prototype.clearAll = function() { Storage.prototype.clearAll = function() {
this.localStorage.clear(); this.storage.clear();
}; };
Storage.prototype.import = function(base64) { Storage.prototype.import = function(base64) {

View file

@ -3,7 +3,7 @@ var chai = chai || require('chai');
var should = chai.should(); var should = chai.should();
var is_browser = typeof process == 'undefined' || typeof process.versions === 'undefined'; var is_browser = typeof process == 'undefined' || typeof process.versions === 'undefined';
var copay = copay || require('../copay'); var copay = copay || require('../copay');
var LocalEncrypted = copay.StorageLocalEncrypted; var Encrypted = copay.StorageEncrypted;
var fakeWallet = 'fake-wallet-id'; var fakeWallet = 'fake-wallet-id';
var timeStamp = Date.now(); var timeStamp = Date.now();
@ -11,23 +11,23 @@ var localMock = require('./mocks/FakeLocalStorage');
var sessionMock = require('./mocks/FakeLocalStorage'); var sessionMock = require('./mocks/FakeLocalStorage');
describe('Storage/LocalEncrypted model', function() { describe('Storage/Encrypted model', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
}); });
s._setPassphrase('mysupercoolpassword'); s._setPassphrase('mysupercoolpassword');
it('should create an instance', function() { it('should create an instance', function() {
var s2 = new LocalEncrypted({ var s2 = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
}); });
should.exist(s2); should.exist(s2);
}); });
it('should fail when encrypting without a password', function() { it('should fail when encrypting without a password', function() {
var s2 = new LocalEncrypted({ var s2 = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
}); });
(function() { (function() {
@ -71,8 +71,8 @@ describe('Storage/LocalEncrypted model', function() {
describe('#export', function() { describe('#export', function() {
it('should export the encrypted wallet', function() { it('should export the encrypted wallet', function() {
var storage = new LocalEncrypted({ var storage = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password', password: 'password',
}); });
@ -89,8 +89,8 @@ describe('Storage/LocalEncrypted model', function() {
describe('#remove', function() { describe('#remove', function() {
it('should remove an item', function() { it('should remove an item', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });
@ -105,8 +105,8 @@ describe('Storage/LocalEncrypted model', function() {
describe('#getWalletIds', function() { describe('#getWalletIds', function() {
it('should get wallet ids', function() { it('should get wallet ids', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });
@ -118,8 +118,8 @@ describe('Storage/LocalEncrypted model', function() {
describe('#getName #setName', function() { describe('#getName #setName', function() {
it('should get/set names', function() { it('should get/set names', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });
@ -130,8 +130,8 @@ describe('Storage/LocalEncrypted model', function() {
describe('#getLastOpened #setLastOpened', function() { describe('#getLastOpened #setLastOpened', function() {
it('should get/set names', function() { it('should get/set names', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });
@ -143,8 +143,8 @@ describe('Storage/LocalEncrypted model', function() {
if (is_browser) { if (is_browser) {
describe('#getSessionId', function() { describe('#getSessionId', function() {
it('should get SessionId', function() { it('should get SessionId', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });
@ -158,8 +158,8 @@ describe('Storage/LocalEncrypted model', function() {
describe('#getWallets', function() { describe('#getWallets', function() {
it('should retreive wallets from storage', function() { it('should retreive wallets from storage', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });
@ -178,8 +178,8 @@ describe('Storage/LocalEncrypted model', function() {
}); });
describe('#deleteWallet', function() { describe('#deleteWallet', function() {
it('should delete a wallet', function() { it('should delete a wallet', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });
@ -198,8 +198,8 @@ describe('Storage/LocalEncrypted model', function() {
describe('#setFromObj', function() { describe('#setFromObj', function() {
it('set localstorage from an object', function() { it('set localstorage from an object', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });
@ -218,8 +218,8 @@ describe('Storage/LocalEncrypted model', function() {
describe('#globals', function() { describe('#globals', function() {
it('should set, get and remove keys', function() { it('should set, get and remove keys', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });
@ -237,8 +237,8 @@ describe('Storage/LocalEncrypted model', function() {
describe('session storage', function() { describe('session storage', function() {
it('should get a session ID', function() { it('should get a session ID', function() {
var s = new LocalEncrypted({ var s = new Encrypted({
localStorage: localMock, storage: localMock,
sessionStorage: sessionMock, sessionStorage: sessionMock,
password: 'password' password: 'password'
}); });

View file

@ -83,6 +83,10 @@ var createBundle = function(opts) {
b.require('./js/models/core/HDPath', { b.require('./js/models/core/HDPath', {
expose: '../js/models/core/HDPath' expose: '../js/models/core/HDPath'
}); });
b.require('./plugins/googleDrive', {
expose: '../plugins/googleDrive'
});
b.require('./config', { b.require('./config', {
expose: '../config' expose: '../config'
}); });