@exodus/headless 2.0.0-alpha.23 → 2.0.0-alpha.25

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 CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.0.0-alpha.25](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@2.0.0-alpha.24...@exodus/headless@2.0.0-alpha.25) (2023-05-26)
7
+
8
+ ### Features
9
+
10
+ - migrate connected origins to headless ([#1702](https://github.com/ExodusMovement/exodus-hydra/issues/1702)) ([7f6678e](https://github.com/ExodusMovement/exodus-hydra/commit/7f6678eabc5a66dbf11002f021bb700bec3d32f3))
11
+
12
+ ## [2.0.0-alpha.24](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@2.0.0-alpha.23...@exodus/headless@2.0.0-alpha.24) (2023-05-26)
13
+
14
+ ### Features
15
+
16
+ - emit extra payload on application create hook ([#1709](https://github.com/ExodusMovement/exodus-hydra/issues/1709)) ([23412f6](https://github.com/ExodusMovement/exodus-hydra/commit/23412f603cb36c1249d0ed8248a1e44742d5dac9))
17
+
6
18
  ## [2.0.0-alpha.23](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@2.0.0-alpha.22...@exodus/headless@2.0.0-alpha.23) (2023-05-24)
7
19
 
8
20
  ### Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/headless",
3
- "version": "2.0.0-alpha.23",
3
+ "version": "2.0.0-alpha.25",
4
4
  "description": "The headless Exodus wallet SDK",
5
5
  "author": "Exodus Movement Inc",
6
6
  "main": "src/index.js",
@@ -33,11 +33,12 @@
33
33
  "@exodus/basic-utils": "^2.0.0",
34
34
  "@exodus/blockchain-metadata": "^8.0.1",
35
35
  "@exodus/config": "^7.0.0",
36
+ "@exodus/connected-origins": "^1.1.2",
36
37
  "@exodus/dependency-injection": "^1.2.0",
37
38
  "@exodus/dependency-preprocessors": "^2.4.0",
38
- "@exodus/enabled-assets": "^6.0.0",
39
+ "@exodus/enabled-assets": "^6.0.1",
39
40
  "@exodus/exodus-pricing-client": "^1.1.0",
40
- "@exodus/feature-flags": "^2.0.0",
41
+ "@exodus/feature-flags": "^2.0.1",
41
42
  "@exodus/fetch": "^1.2.1",
42
43
  "@exodus/geolocation": "^2.0.0",
43
44
  "@exodus/key-identifier-provider": "^1.1.3",
@@ -78,5 +79,5 @@
78
79
  "nock": "^13.3.1",
79
80
  "p-defer": "^4.0.0"
80
81
  },
81
- "gitHead": "a3e8ebd383398275e9052791f6b7ead965a5a82b"
82
+ "gitHead": "915212f45e3bf3f938dd1f985448b9714e7ade96"
82
83
  }
package/src/api.js CHANGED
@@ -14,6 +14,7 @@ const createApi = ({ ioc, port }) => {
14
14
  remoteConfig,
15
15
  wallet,
16
16
  walletAccounts,
17
+ connectedOrigins,
17
18
  } = ioc.getByType('module')
18
19
 
19
20
  const { ratesMonitor } = ioc.getByType('monitor')
@@ -23,6 +24,7 @@ const createApi = ({ ioc, port }) => {
23
24
  currencyAtom,
24
25
  enabledWalletAccountsAtom,
25
26
  languageAtom,
27
+ connectedOriginsAtom,
26
28
  } = ioc.getByType('atom')
27
29
 
28
30
  // TODO: do this on 'unload'
@@ -115,6 +117,19 @@ const createApi = ({ ioc, port }) => {
115
117
  subscribe: port.subscribe.bind(port),
116
118
  unsubscribe: port.unsubscribe.bind(port),
117
119
  stop,
120
+ connectedOrigins: {
121
+ get: connectedOriginsAtom.get,
122
+ add: connectedOrigins.add,
123
+ untrust: connectedOrigins.untrust,
124
+ isTrusted: connectedOrigins.isTrusted,
125
+ isAutoApprove: connectedOrigins.isAutoApprove,
126
+ setFavorite: connectedOrigins.setFavorite,
127
+ setAutoApprove: connectedOrigins.setAutoApprove,
128
+ connect: connectedOrigins.connect,
129
+ disconnect: connectedOrigins.disconnect,
130
+ updateConnection: connectedOrigins.updateConnection,
131
+ clearConnections: connectedOrigins.clearConnections,
132
+ },
118
133
  }
119
134
  }
120
135
 
@@ -139,7 +139,15 @@ class Application extends ExodusModule {
139
139
  await this.#applicationStarted
140
140
  await this.#wallet.create(opts)
141
141
 
142
- await this.fire(Hook.Create, { hasPassphraseSet: !!opts?.passphrase })
142
+ const isLocked = await this.#wallet.isLocked()
143
+
144
+ await this.fire(Hook.Create, {
145
+ hasPassphraseSet: !!opts?.passphrase,
146
+ isBackedUp: false,
147
+ isLocked,
148
+ isRestoring: false,
149
+ walletExists: true,
150
+ })
143
151
  }
144
152
 
145
153
  import = async (opts) => {
package/src/constants.js CHANGED
@@ -10,4 +10,5 @@ export const atomsToAttach = [
10
10
  'personalNotesAtom',
11
11
  'referralsAtom',
12
12
  'walletAccountsAtom',
13
+ 'connectedOriginsAtom',
13
14
  ]
@@ -6,6 +6,7 @@ import {
6
6
  } from '@exodus/atoms'
7
7
  import { availableAssetNamesAtomDefinition } from '@exodus/available-assets/atoms'
8
8
  import { balancesAtomDefinition } from '@exodus/balances/atoms'
9
+ import { connectedOriginsAtomDefinition } from '@exodus/connected-origins/atoms'
9
10
  import {
10
11
  enabledAndDisabledAssetsAtomDefinition,
11
12
  enabledAssetsAtomDefinition,
@@ -144,6 +145,16 @@ const createAtomDependencies = () =>
144
145
  },
145
146
  ],
146
147
  },
148
+ {
149
+ definition: connectedOriginsAtomDefinition,
150
+ storage: { namespace: 'connectedOrigins' },
151
+ aliases: [
152
+ {
153
+ implementationId: 'unsafeStorage',
154
+ interfaceId: 'storage',
155
+ },
156
+ ],
157
+ },
147
158
  ].map(withType('atom'))
148
159
 
149
160
  export default createAtomDependencies
@@ -5,6 +5,7 @@ import availableAssetsModuleDefinition from '@exodus/available-assets/module'
5
5
  import balancesDefinition from '@exodus/balances/module'
6
6
  import blockchainMetadataDefinition from '@exodus/blockchain-metadata/module'
7
7
  import createRemoteConfig from '@exodus/config/remote'
8
+ import connectedOriginsDefinition from '@exodus/connected-origins/module'
8
9
  import enabledAssetsModuleDefinition from '@exodus/enabled-assets/module'
9
10
  import createExodusPricingClient from '@exodus/exodus-pricing-client'
10
11
  import featureFlagsDefinition from '@exodus/feature-flags/module'
@@ -130,6 +131,10 @@ const createModuleDependencies = ({ config }) =>
130
131
  {
131
132
  definition: personalNotesDefinition,
132
133
  },
134
+ {
135
+ definition: connectedOriginsDefinition,
136
+ writesAtoms: ['connectedOriginsAtom'],
137
+ },
133
138
  ].map(withType('module'))
134
139
 
135
140
  export default createModuleDependencies
package/src/index.js CHANGED
@@ -29,6 +29,7 @@ const createExodus = ({ adapters, config, port }) => {
29
29
  remoteConfig,
30
30
  unlockEncryptedStorage,
31
31
  walletAccounts,
32
+ connectedOrigins,
32
33
  } = ioc.getByType('module')
33
34
 
34
35
  const { geolocationMonitor, marketHistory, ratesMonitor } = ioc.getByType('monitor')
@@ -73,6 +74,7 @@ const createExodus = ({ adapters, config, port }) => {
73
74
  ratesMonitor.start()
74
75
 
75
76
  await assetsModule.load()
77
+ await connectedOrigins.load()
76
78
  await walletAccounts.load()
77
79
  await Promise.all([
78
80
  //
@@ -98,6 +100,7 @@ const createExodus = ({ adapters, config, port }) => {
98
100
  walletAccounts.clear(),
99
101
  blockchainMetadata.clear(),
100
102
  enabledAssets.clear(),
103
+ connectedOrigins.clear(),
101
104
  ])
102
105
 
103
106
  // TEMP: dont wait for set to complete as encrypted storage is not yet unlocked