@exodus/headless 2.0.0-alpha.5 → 2.0.0-alpha.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +351 -0
- package/README.md +133 -4
- package/package.json +53 -14
- package/src/api.js +11 -23
- package/src/application.js +44 -34
- package/src/atoms/attach.js +31 -0
- package/src/atoms/base-asset-names-to-monitor.js +36 -0
- package/src/constants.js +36 -0
- package/src/dependencies/atoms.js +21 -4
- package/src/dependencies/index.js +8 -1
- package/src/dependencies/modules.js +6 -12
- package/src/dependencies/plugins.js +7 -0
- package/src/index.js +76 -5
- package/src/ioc.js +40 -7
- package/src/modules/ab-testing/api.js +13 -0
- package/src/modules/ab-testing/index.js +26 -0
- package/src/modules/ab-testing/plugin.js +21 -0
- package/src/modules/address-provider/api.js +14 -0
- package/src/modules/address-provider/index.js +15 -0
- package/src/modules/apy-rates/index.js +20 -0
- package/src/modules/apy-rates/plugin.js +14 -0
- package/src/modules/balances/index.js +14 -0
- package/src/modules/blockchain-metadata/api.js +22 -0
- package/src/modules/blockchain-metadata/index.js +20 -0
- package/src/modules/blockchain-metadata/plugin.js +30 -0
- package/src/modules/blockchain-metadata/utils.js +11 -0
- package/src/modules/connected-origins/api.js +23 -0
- package/src/modules/connected-origins/index.js +31 -0
- package/src/modules/connected-origins/plugin.js +18 -0
- package/src/modules/crypto-news/index.js +20 -0
- package/src/modules/crypto-news/plugin.js +17 -0
- package/src/modules/enabled-assets/api.js +18 -0
- package/src/modules/enabled-assets/index.js +26 -0
- package/src/modules/enabled-assets/plugin.js +18 -0
- package/src/modules/feature-flags/api.js +14 -0
- package/src/modules/feature-flags/index.js +37 -0
- package/src/modules/feature-flags/plugin.js +18 -0
- package/src/modules/fees/index.js +16 -0
- package/src/modules/fees/plugin.js +17 -0
- package/src/modules/fiat-balances/index.js +10 -0
- package/src/modules/fiat-balances/non-dust-balance-asset-names-atom.js +10 -0
- package/src/modules/geolocation/index.js +20 -0
- package/src/modules/geolocation/plugin.js +14 -0
- package/src/modules/kyc/api.js +14 -0
- package/src/modules/kyc/index.js +19 -0
- package/src/modules/kyc/plugin.js +21 -0
- package/src/modules/locale/api.js +13 -0
- package/src/modules/locale/index.js +50 -0
- package/src/modules/locale/plugin.js +14 -0
- package/src/modules/market-history/index.js +66 -0
- package/src/modules/market-history/plugin.js +21 -0
- package/src/modules/nfts/api.js +13 -0
- package/src/modules/nfts/index.js +33 -0
- package/src/modules/nfts/plugin.js +23 -0
- package/src/modules/personal-notes/api.js +12 -0
- package/src/modules/personal-notes/index.js +31 -0
- package/src/modules/personal-notes/plugin.js +15 -0
- package/src/modules/pricing/api.js +14 -0
- package/src/modules/pricing/index.js +35 -0
- package/src/modules/rates/api.js +12 -0
- package/src/modules/rates/index.js +22 -0
- package/src/modules/rates/plugin.js +17 -0
- package/src/modules/referrals/api.js +13 -0
- package/src/modules/referrals/index.js +28 -0
- package/src/modules/referrals/plugin.js +21 -0
- package/src/modules/remote-config/api.js +13 -0
- package/src/modules/remote-config/index.js +28 -0
- package/src/modules/remote-config/plugin.js +20 -0
- package/src/modules/top-movers/index.js +23 -0
- package/src/modules/top-movers/plugin.js +17 -0
- package/src/modules/wallet/api.js +34 -0
- package/src/modules/wallet/index.js +24 -0
- package/src/modules/wallet/locked-atom.js +10 -0
- package/src/modules/wallet/restore-atom.js +10 -0
- package/src/modules/wallet/restore-plugin.js +17 -0
- package/src/modules/wallet-accounts/api.js +16 -0
- package/src/modules/wallet-accounts/index.js +29 -0
- package/src/modules/wallet-accounts/plugin.js +18 -0
- package/src/plugins/attach.js +25 -0
- package/src/plugins/index.js +5 -0
- package/src/plugins/log-lifecycle.js +25 -0
- package/src/unlock-encrypted-storage.js +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const walletAccountsPlugin = ({ walletAccounts }) => {
|
|
2
|
+
const onUnlock = async () => {
|
|
3
|
+
await walletAccounts.load()
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
const onClear = async () => {
|
|
7
|
+
await walletAccounts.clear()
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return { onUnlock, onClear }
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default {
|
|
14
|
+
id: 'walletAccountsLifecyclePlugin',
|
|
15
|
+
type: 'plugin',
|
|
16
|
+
factory: walletAccountsPlugin,
|
|
17
|
+
dependencies: ['walletAccounts'],
|
|
18
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LifecycleHook } from '../constants'
|
|
2
|
+
|
|
3
|
+
const LIFECYCLE_METHOD_TO_HOOK_NAME = Object.fromEntries(
|
|
4
|
+
Object.entries(LifecycleHook).map(([pascalCaseName, hookName]) => [
|
|
5
|
+
`on${pascalCaseName}`,
|
|
6
|
+
hookName,
|
|
7
|
+
])
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
const attachPlugins = ({ plugins, application, logger }) => {
|
|
11
|
+
Object.entries(plugins).forEach(([name, lifecycleMethods]) => {
|
|
12
|
+
const entries = Object.entries(lifecycleMethods || {})
|
|
13
|
+
|
|
14
|
+
for (const [lifecycleMethod, fn] of entries) {
|
|
15
|
+
const hookName = LIFECYCLE_METHOD_TO_HOOK_NAME[lifecycleMethod]
|
|
16
|
+
if (hookName) {
|
|
17
|
+
application.hook(hookName, fn)
|
|
18
|
+
} else {
|
|
19
|
+
logger.error(`plugin "${name}" declares unsupported lifecycle method "${lifecycleMethod}"`)
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default attachPlugins
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const logLifecycle = {
|
|
2
|
+
id: 'logLifecyclePlugin',
|
|
3
|
+
type: 'plugin',
|
|
4
|
+
factory: ({ logger }) => {
|
|
5
|
+
return {
|
|
6
|
+
onLock: () => logger.debug('onLock'),
|
|
7
|
+
onUnlock: () => logger.debug('onUnlock'),
|
|
8
|
+
onClear: () => logger.debug('onClear'),
|
|
9
|
+
onImport: () => logger.debug('onImport'),
|
|
10
|
+
onMigrate: () => logger.debug('onMigrate'),
|
|
11
|
+
onStart: () => logger.debug('onStart'),
|
|
12
|
+
onLoad: () => logger.debug('onLoad'),
|
|
13
|
+
onUnload: () => logger.debug('onUnload'),
|
|
14
|
+
onCreate: () => logger.debug('onCreate'),
|
|
15
|
+
onBackup: () => logger.debug('onBackup'),
|
|
16
|
+
onRestore: () => logger.debug('onRestore'),
|
|
17
|
+
onRestoreCompleted: () => logger.debug('onRestoreCompleted'),
|
|
18
|
+
onAssetsSynced: () => logger.debug('onAssetsSynced'),
|
|
19
|
+
onChangePassphrase: () => logger.debug('onChangePassphrase'),
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
dependencies: ['logger'],
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default logLifecycle
|