diff options
author | Dan Finlay <dan@danfinlay.com> | 2016-10-21 07:44:31 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2016-10-21 07:45:58 +0800 |
commit | 55d56f77cf42a9c4e80768fd7e4a9bb6f0485606 (patch) | |
tree | 188e95248f865459b5a816ea51f889145f43d92b /app/scripts/keyrings | |
parent | 351c8e2086e043ee66e42f653dcb2b446dd88808 (diff) | |
download | tangerine-wallet-browser-55d56f77cf42a9c4e80768fd7e4a9bb6f0485606.tar.gz tangerine-wallet-browser-55d56f77cf42a9c4e80768fd7e4a9bb6f0485606.tar.zst tangerine-wallet-browser-55d56f77cf42a9c4e80768fd7e4a9bb6f0485606.zip |
Began adding first basic keyring
Diffstat (limited to 'app/scripts/keyrings')
-rw-r--r-- | app/scripts/keyrings/simple.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/app/scripts/keyrings/simple.js b/app/scripts/keyrings/simple.js new file mode 100644 index 000000000..3eda9b8f9 --- /dev/null +++ b/app/scripts/keyrings/simple.js @@ -0,0 +1,41 @@ +const EventEmitter = require('events').EventEmitter +const Wallet = require('ethereumjs-wallet') +const type = 'Simple Key Pair' + +module.exports = class SimpleKeyring extends EventEmitter { + + static type() { + return type + } + + constructor(opts) { + super() + this.type = type + this.opts = opts || {} + const walletData = this.opts.wallets || [] + this.wallets = walletData.map((w) => { + return Wallet.fromPrivateKey(w) + }) + } + + serialize() { + return { + type, + wallets: this.wallets.map(w => w.getPrivateKey()), + } + } + + addAccounts(n = 1) { + var newWallets = [] + for (var i = 0; i < n; i++) { + newWallets.push(Wallet.generate()) + } + this.wallets.concat(newWallets) + return newWallets.map(w => w.getAddress()) + } + + getAccounts() { + return this.wallets.map(w => w.getAddress()) + } + +} |