aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib
diff options
context:
space:
mode:
authorEllie Day <heyellieday@gmail.com>2017-12-23 22:23:34 +0800
committerEllie Day <heyellieday@gmail.com>2017-12-23 22:23:34 +0800
commita76324f6d397c3e746ba501cfd858c4869cb0af7 (patch)
treef29403ceaa71a7c374046d223b79f032e6045604 /app/scripts/lib
parentd3f5ad874e4bf90cda4e440f9b0635c6ac416382 (diff)
downloadtangerine-wallet-browser-a76324f6d397c3e746ba501cfd858c4869cb0af7.tar.gz
tangerine-wallet-browser-a76324f6d397c3e746ba501cfd858c4869cb0af7.tar.zst
tangerine-wallet-browser-a76324f6d397c3e746ba501cfd858c4869cb0af7.zip
Add ExtensionStore and add basic store instance syncing to main controller
Diffstat (limited to 'app/scripts/lib')
-rw-r--r--app/scripts/lib/extension-store.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/app/scripts/lib/extension-store.js b/app/scripts/lib/extension-store.js
new file mode 100644
index 000000000..a8b730a65
--- /dev/null
+++ b/app/scripts/lib/extension-store.js
@@ -0,0 +1,20 @@
+const extension = require('extensionizer')
+
+const KEYS_TO_SYNC = ['KeyringController', 'PreferencesController']
+
+module.exports = class ExtensionStore {
+ async fetch() {
+ return new Promise((resolve) => {
+ extension.storage.sync.get(KEYS_TO_SYNC, data => resolve(data))
+ })
+ }
+ async sync(state) {
+ const dataToSync = KEYS_TO_SYNC.reduce((result, key) => {
+ result[key] = state.data[key]
+ return result
+ }, {})
+ return new Promise((resolve) => {
+ extension.storage.sync.set(dataToSync, () => resolve())
+ })
+ }
+}