@exodus/headless 5.0.0-rc.35 → 5.0.0-rc.37

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,23 @@
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
+ ## [5.0.0-rc.37](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.36...@exodus/headless@5.0.0-rc.37) (2024-10-03)
7
+
8
+ **Note:** Version bump only for package @exodus/headless
9
+
10
+ ## [5.0.0-rc.36](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.35...@exodus/headless@5.0.0-rc.36) (2024-10-03)
11
+
12
+ ### Features
13
+
14
+ - add error tracking API types ([#9579](https://github.com/ExodusMovement/exodus-hydra/issues/9579)) ([317e40b](https://github.com/ExodusMovement/exodus-hydra/commit/317e40bde1007f7d192379ab390e3aed0a6ebd1a))
15
+ - **headless:** inject startup-counter redux slice ([#9615](https://github.com/ExodusMovement/exodus-hydra/issues/9615)) ([cef0696](https://github.com/ExodusMovement/exodus-hydra/commit/cef069678edb8b9518957c72a545757eb5c48bd9))
16
+ - use atoms v9 ([#9651](https://github.com/ExodusMovement/exodus-hydra/issues/9651)) ([524aa61](https://github.com/ExodusMovement/exodus-hydra/commit/524aa61f69c81e6ac00b2f94ea830688a105b3e4))
17
+
18
+ ### Bug Fixes
19
+
20
+ - **types:** add application to ExodusApi union type ([#9404](https://github.com/ExodusMovement/exodus-hydra/issues/9404)) ([b2e4577](https://github.com/ExodusMovement/exodus-hydra/commit/b2e457752c9427d480a06b9d921d74b45752fa7d)), closes [#9405](https://github.com/ExodusMovement/exodus-hydra/issues/9405)
21
+ - **ui-config:** store syncable configs in storage ([#9581](https://github.com/ExodusMovement/exodus-hydra/issues/9581)) ([73b97d3](https://github.com/ExodusMovement/exodus-hydra/commit/73b97d392975b250aef35801f6acc658b72404ec))
22
+
6
23
  ## [5.0.0-rc.35](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.34...@exodus/headless@5.0.0-rc.35) (2024-09-23)
7
24
 
8
25
  ### Features
package/README.md CHANGED
@@ -62,7 +62,7 @@ The headless wallet instance transitions through different states during his lif
62
62
  - Fires hook call: Allows modules to subscribe and halt transition until listener resolves.
63
63
  - Fires event call: Emitted after all hooks had been executed and resolved.
64
64
 
65
- For more information about lifecycle hooks, please refer to the [application feature documentation](../../features/application/README.md#lifecycle-hooks).
65
+ For more information about lifecycle hooks, please refer to the [application feature documentation](../../features/application#lifecycle-hooks).
66
66
 
67
67
  ## Port
68
68
 
@@ -206,19 +206,19 @@ exodusContainer.debug.geolocation.merge({ countryCode: 'US' })
206
206
 
207
207
  > Type: object
208
208
 
209
- | Method | Type | Description |
210
- | ---------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
211
- | getTxLog | `async ({ assetName, walletAccount }) => TxSet` | Get the TxSet for the provided `assetName`/`walletAccount` combination (AssetSource) |
212
- | getLoadedTxLogs | `async () => object` | Get the all loaded `TxSet`s as a `{ [walletAccount]: { [assetName]: TxSet } } object` |
213
- | updateTxs | `async ({ assetName: string, walletAccount: string, txs: object[] }) => void` | Add or update txs with updates provided in `txs` |
214
- | overwriteTxs | `async ({ assetName: string, walletAccount: string, txs: object[], notifyReceivedTxs: ?boolean }) => void` | Overwrite specified txs. |
215
- | clearTxs | `async ({ assetName: string, walletAccount: string }) => void` | Remove txs for AssetSource. |
216
- | removeTxs | `async ({ assetName: string, walletAccount: string, txs: object[] }) => void` | Remove provided txs. |
217
- | getAccountState | `async ({ assetName, walletAccount }) => AccountState` | Get the AccountState for the provided AssetSource |
218
- | getLoadedAccountStates | `async () => object` | Get the all loaded `AccountState`s as a `{ [walletAccount]: { [assetName]: AccountState } } object` |
219
- | updateAccountState | `async ({ assetName: string, walletAccount: string, newData: object }) => void` | Update accountState for AssetSource. |
220
- | removeAccountState | `async ({ assetName: string, walletAccount: string }) => void` | Remove accountState for AssetSource. |
221
- | batch | `() => Batch` | Create a batch of updates. See [blockchainMetadata](../../features/blockchain-metadata/README.md) README for batching details. |
209
+ | Method | Type | Description |
210
+ | ---------------------- | ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
211
+ | getTxLog | `async ({ assetName, walletAccount }) => TxSet` | Get the TxSet for the provided `assetName`/`walletAccount` combination (AssetSource) |
212
+ | getLoadedTxLogs | `async () => object` | Get the all loaded `TxSet`s as a `{ [walletAccount]: { [assetName]: TxSet } } object` |
213
+ | updateTxs | `async ({ assetName: string, walletAccount: string, txs: object[] }) => void` | Add or update txs with updates provided in `txs` |
214
+ | overwriteTxs | `async ({ assetName: string, walletAccount: string, txs: object[], notifyReceivedTxs: ?boolean }) => void` | Overwrite specified txs. |
215
+ | clearTxs | `async ({ assetName: string, walletAccount: string }) => void` | Remove txs for AssetSource. |
216
+ | removeTxs | `async ({ assetName: string, walletAccount: string, txs: object[] }) => void` | Remove provided txs. |
217
+ | getAccountState | `async ({ assetName, walletAccount }) => AccountState` | Get the AccountState for the provided AssetSource |
218
+ | getLoadedAccountStates | `async () => object` | Get the all loaded `AccountState`s as a `{ [walletAccount]: { [assetName]: AccountState } } object` |
219
+ | updateAccountState | `async ({ assetName: string, walletAccount: string, newData: object }) => void` | Update accountState for AssetSource. |
220
+ | removeAccountState | `async ({ assetName: string, walletAccount: string }) => void` | Remove accountState for AssetSource. |
221
+ | batch | `() => Batch` | Create a batch of updates. See [blockchainMetadata](../../features/blockchain-metadata/) README for batching details. |
222
222
 
223
223
  ### assets
224
224
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/headless",
3
- "version": "5.0.0-rc.35",
3
+ "version": "5.0.0-rc.37",
4
4
  "description": "The platform-agnostic Exodus wallet SDK",
5
5
  "author": "Exodus Movement, Inc.",
6
6
  "main": "src/index.js",
@@ -30,48 +30,39 @@
30
30
  "test:types": "run -T tsc --noEmit"
31
31
  },
32
32
  "dependencies": {
33
- "@exodus/address-provider": "^12.0.1",
34
- "@exodus/application": "^2.1.0",
35
- "@exodus/argo": "^2.2.0",
33
+ "@exodus/address-provider": "^12.5.0",
34
+ "@exodus/application": "^2.1.1",
35
+ "@exodus/argo": "^2.2.1",
36
36
  "@exodus/asset-sources": "^1.4.1",
37
37
  "@exodus/assets-feature": "^5.11.3",
38
- "@exodus/atoms": "^8.1.1",
38
+ "@exodus/atoms": "^9.0.0",
39
39
  "@exodus/available-assets": "^8.4.0",
40
40
  "@exodus/balances": "^13.3.1",
41
- "@exodus/basic-utils": "^3.0.1",
42
41
  "@exodus/blockchain-metadata": "^15.3.5",
43
- "@exodus/browser-extension-rpc": "^2.1.2",
44
- "@exodus/dependency-injection": "^2.1.2",
45
- "@exodus/dependency-preprocessors": "^6.0.5",
46
42
  "@exodus/enabled-assets": "^10.5.1",
47
- "@exodus/error-tracking": "^1.1.3",
43
+ "@exodus/error-tracking": "^1.3.0",
48
44
  "@exodus/feature-flags": "^6.0.4",
49
45
  "@exodus/fee-data-monitors": "^4.2.1",
50
- "@exodus/fetch": "^1.2.1",
51
46
  "@exodus/filesystem": "^1.1.2",
52
- "@exodus/fusion-atoms": "^1.2.1",
53
47
  "@exodus/geolocation": "^4.2.3",
54
- "@exodus/hd-key-slip-10": "^2.0.0",
55
48
  "@exodus/key-ids": "^1.2.3",
56
49
  "@exodus/key-viewer": "^1.1.2",
57
50
  "@exodus/keychain": "^7.1.0",
58
51
  "@exodus/locale": "^2.2.2",
59
52
  "@exodus/message-signer": "^1.3.4",
60
- "@exodus/module": "^1.2.2",
61
53
  "@exodus/pricing": "^1.3.2",
62
- "@exodus/public-key-provider": "^2.4.1",
54
+ "@exodus/public-key-provider": "^3.0.0",
63
55
  "@exodus/rates-monitor": "^4.4.1",
64
56
  "@exodus/remote-config": "^2.7.2",
65
57
  "@exodus/restore-progress-tracker": "^3.5.1",
66
58
  "@exodus/sodium-crypto": "^3.2.0",
67
- "@exodus/startup-counter": "^1.0.3",
59
+ "@exodus/startup-counter": "^1.1.0",
68
60
  "@exodus/tx-log-monitors": "^2.3.3",
69
61
  "@exodus/tx-signer": "^2.3.4",
70
62
  "@exodus/typeforce": "^1.18.1",
71
63
  "@exodus/wallet": "^15.0.0",
72
64
  "@exodus/wallet-accounts": "^16.10.2",
73
65
  "bip39": "^2.6.0",
74
- "events": "^3.3.0",
75
66
  "lodash": "npm:@exodus/lodash@^4.17.21-exodus.2",
76
67
  "minimalistic-assert": "^1.0.1",
77
68
  "ms": "^2.1.3"
@@ -84,32 +75,35 @@
84
75
  "@exodus/announcements": "^3.0.0",
85
76
  "@exodus/apy-rates": "^3.5.0",
86
77
  "@exodus/assets-feature": "workspace:^",
87
- "@exodus/bip32": "^2.1.1",
78
+ "@exodus/basic-utils": "^3.0.1",
79
+ "@exodus/bip32": "^3.3.0",
88
80
  "@exodus/bitcoin-plugin": "^1.0.14",
89
- "@exodus/connected-origins": "^3.4.0",
81
+ "@exodus/browser-extension-rpc": "^2.1.2",
82
+ "@exodus/connected-origins": "^4.0.0",
90
83
  "@exodus/crypto-news-monitor": "^5.0.2",
91
- "@exodus/currency": "^6.0.0",
84
+ "@exodus/currency": "^6.0.1",
92
85
  "@exodus/deferring-storage": "^1.0.1",
93
86
  "@exodus/domain-serialization": "^1.3.1",
94
87
  "@exodus/ethereum-lib": "^5.0.0",
95
88
  "@exodus/ethereum-meta": "^1.1.0",
96
89
  "@exodus/exodus-pricing-client": "^1.3.1",
97
- "@exodus/fetch-factory": "^2.2.0",
90
+ "@exodus/fetch": "^1.2.1",
91
+ "@exodus/fetch-factory": "^2.2.2",
98
92
  "@exodus/key-identifier": "^1.2.1",
99
- "@exodus/key-utils": "^3.6.1",
93
+ "@exodus/key-utils": "^4.0.0",
100
94
  "@exodus/kyc": "^6.1.6",
101
95
  "@exodus/litecoin-meta": "^1.0.0",
102
96
  "@exodus/market-history": "^9.0.5",
103
- "@exodus/models": "^12.0.1",
104
- "@exodus/nfts": "^9.3.7",
97
+ "@exodus/models": "^12.1.0",
98
+ "@exodus/nfts": "^9.4.0",
105
99
  "@exodus/personal-notes": "^3.6.3",
106
100
  "@exodus/referrals": "^8.8.0",
107
101
  "@exodus/solana-lib": "^2.0.0",
108
102
  "@exodus/solana-meta": "^1.0.2",
109
103
  "@exodus/storage-encrypted": "^1.4.1",
110
- "@exodus/storage-memory": "^2.2.0",
104
+ "@exodus/storage-memory": "^2.2.1",
111
105
  "@exodus/top-movers-monitor": "^4.2.3",
112
- "@exodus/ui-config": "^3.11.0",
106
+ "@exodus/ui-config": "^3.12.1",
113
107
  "@exodus/wallet-sdk": "^1.0.0",
114
108
  "@exodus/wild-emitter": "^1.0.0",
115
109
  "buffer-json": "^2.0.0",
@@ -120,5 +114,5 @@
120
114
  "msw": "^2.0.0",
121
115
  "p-defer": "^4.0.0"
122
116
  },
123
- "gitHead": "1ff5cf831e8154730887aaaa3ac3bf0e3020a386"
117
+ "gitHead": "5c386a721f22b80addc551f86519047b931dd839"
124
118
  }
package/redux/index.js CHANGED
@@ -13,6 +13,7 @@ import localeRedux from '@exodus/locale/redux'
13
13
  import ratesRedux from '@exodus/rates-monitor/redux'
14
14
  import remoteConfigRedux from '@exodus/remote-config/lib/redux'
15
15
  import restoreProgressRedux from '@exodus/restore-progress-tracker/redux'
16
+ import startupCounterRedux from '@exodus/startup-counter/redux'
16
17
  import createWalletAccountsRedux from '@exodus/wallet-accounts/redux'
17
18
 
18
19
  function createExodusRedux({ createLogger, enhancer, reducers, actionCreators }) {
@@ -34,6 +35,7 @@ function createExodusRedux({ createLogger, enhancer, reducers, actionCreators })
34
35
  ioc.use(ratesRedux)
35
36
  ioc.use(remoteConfigRedux)
36
37
  ioc.use(restoreProgressRedux)
38
+ ioc.use(startupCounterRedux)
37
39
  ioc.use(walletAccountsRedux)
38
40
 
39
41
  return ioc
package/src/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import type addressProvider from '@exodus/address-provider'
2
+ import type application from '@exodus/application'
2
3
  import type { type Node, Argo, Definition, Feature, InstanceById } from '@exodus/argo'
3
4
  import type assetSources from '@exodus/asset-sources'
4
5
  import type assets from '@exodus/assets-feature'
5
6
  import type availableAssets from '@exodus/available-assets'
6
7
  import type blockchainMetadata from '@exodus/blockchain-metadata'
7
8
  import type enabledAssets from '@exodus/enabled-assets'
9
+ import type errorTracking from '@exodus/error-tracking'
8
10
  import type featureFlags from '@exodus/feature-flags'
9
11
  import type fees from '@exodus/fee-data-monitors'
10
12
  import type keyViewer from '@exodus/key-viewer'
@@ -30,7 +32,13 @@ type FeatureFactory = (...args: any[]) => Feature
30
32
 
31
33
  type FeatureApi<F extends FeatureFactory> = Values<InstanceById<ApiDefinitions<ReturnType<F>>>>
32
34
 
33
- type DefinitionsApi<D extends Definition> = Values<InstanceById<Extract<D, { type: 'api' }>>>
35
+ type UnionToIntersection<U> = (U extends any ? (x: U) => void : never) extends (x: infer I) => void
36
+ ? I
37
+ : never
38
+
39
+ type DefinitionsApi<D extends Definition> = UnionToIntersection<
40
+ Values<InstanceById<Extract<D, { type: 'api' }>>>
41
+ >
34
42
 
35
43
  export interface ApplicationWalletApi {
36
44
  addSeed(params: { mnemonic: string; compatibilityMode: string }): Promise<string>
@@ -80,6 +88,8 @@ export type ExodusApi = FeatureApi<typeof publicKeyProvider> &
80
88
  FeatureApi<typeof keychain> &
81
89
  FeatureApi<typeof keyViewer> &
82
90
  FeatureApi<typeof assetSources> &
91
+ FeatureApi<typeof application> &
92
+ FeatureApi<typeof errorTracking> &
83
93
  WalletApi
84
94
 
85
95
  type Params = {
@@ -99,6 +109,4 @@ interface ArgoWithApiResolver<D extends Definition>
99
109
  }
100
110
 
101
111
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
102
- export default function createExodus<D extends Definition = {}>(
103
- params: Params
104
- ): ArgoWithApiResolver<D>
112
+ export default function createExodus(params: Params): ArgoWithApiResolver<{}>