aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2017-09-23 04:25:08 +0800
committerDan Finlay <dan@danfinlay.com>2017-09-23 04:25:08 +0800
commit4c971ebfd1fad18368ec418c36c4d05a6bb37e6d (patch)
tree6e3b19b480de241884ed2da0809f92a5c4593f31
parente9b7fd901862f57a92614b19f7f2caa969d4a282 (diff)
downloadtangerine-wallet-browser-4c971ebfd1fad18368ec418c36c4d05a6bb37e6d.tar
tangerine-wallet-browser-4c971ebfd1fad18368ec418c36c4d05a6bb37e6d.tar.gz
tangerine-wallet-browser-4c971ebfd1fad18368ec418c36c4d05a6bb37e6d.tar.bz2
tangerine-wallet-browser-4c971ebfd1fad18368ec418c36c4d05a6bb37e6d.tar.lz
tangerine-wallet-browser-4c971ebfd1fad18368ec418c36c4d05a6bb37e6d.tar.xz
tangerine-wallet-browser-4c971ebfd1fad18368ec418c36c4d05a6bb37e6d.tar.zst
tangerine-wallet-browser-4c971ebfd1fad18368ec418c36c4d05a6bb37e6d.zip
Define encryptor in constructor params instead of platform object
-rw-r--r--app/scripts/metamask-controller.js2
-rw-r--r--docs/porting_to_new_environment.md14
2 files changed, 11 insertions, 5 deletions
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index e4fa3518f..42248827f 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -95,7 +95,7 @@ module.exports = class MetamaskController extends EventEmitter {
initState: initState.KeyringController,
ethStore: this.ethStore,
getNetwork: this.networkController.getNetworkState.bind(this.networkController),
- encryptor: opts.platform.encryptor || undefined,
+ encryptor: opts.encryptor || undefined,
})
this.keyringController.on('newAccount', (address) => {
this.preferencesController.setSelectedAddress(address)
diff --git a/docs/porting_to_new_environment.md b/docs/porting_to_new_environment.md
index c6336b9f9..729a28e5d 100644
--- a/docs/porting_to_new_environment.md
+++ b/docs/porting_to_new_environment.md
@@ -11,7 +11,16 @@ The core functionality of MetaMask all lives in what we call [The MetaMask Contr
When calling `new MetaMask(opts)`, many platform-specific options are configured. The keys on `opts` are as follows:
- initState: The last emitted state, used for restoring persistent state between sessions.
-- platform: The `platform` object defines a variety of platform-specific functions, including opening the confirmation view, and customizing the encryption method.
+- platform: The `platform` object defines a variety of platform-specific functions, including opening the confirmation view, and opening web sites.
+- encryptor - An object that provides access to the desired encryption methods.
+
+##### Encryptor
+
+An object that provides two simple methods, which can encrypt in any format you prefer. This parameter is optional, and will default to the browser-native WebCrypto API.
+
+- encrypt(password, object) - returns a Promise of a string that is ready for storage.
+- decrypt(password, encryptedString) - Accepts the encrypted output of `encrypt` and returns a Promise of a restored `object` as it was encrypted.
+
##### Platform Options
@@ -20,9 +29,6 @@ The `platform` object has a variety of options:
- reload (function) - Will be called when MetaMask would like to reload its own context.
- openWindow ({ url }) - Will be called when MetaMask would like to open a web page. It will be passed a single `options` object with a `url` key, with a string value.
- getVersion() - Should return the current MetaMask version, as described in the current `CHANGELOG.md` or `app/manifest.json`.
-- encryptor - An object that includes two methods:
- - encrypt(password, object) - returns a Promise of a string that is ready for storage.
- - decrypt(password, encryptedString) - Accepts the encrypted output of `encrypt` and returns a Promise of a restored `object` as it was encrypted.
#### [metamask.getState()](https://github.com/MetaMask/metamask-extension/blob/master/app/scripts/metamask-controller.js#L241)