@exodus/headless 5.0.0-rc.4 → 5.0.0-rc.41

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +257 -0
  2. package/README.md +14 -64
  3. package/package.json +70 -65
  4. package/redux/index.d.ts +1 -0
  5. package/redux/index.js +44 -0
  6. package/src/api/index.js +36 -26
  7. package/src/api/reporting.js +10 -1
  8. package/src/atoms/base-asset-names-to-monitor.js +14 -2
  9. package/src/dependencies/atoms.js +6 -1
  10. package/src/dependencies/configs.js +1 -0
  11. package/src/dependencies/index.js +1 -8
  12. package/src/dependencies/plugins.js +2 -0
  13. package/src/dependencies/utils.js +6 -1
  14. package/src/features/keychain-rpc/index.js +5 -0
  15. package/src/features/wallet-rpc/index.js +55 -0
  16. package/src/index.d.ts +53 -26
  17. package/src/index.js +66 -30
  18. package/src/migrations/attach.js +18 -6
  19. package/src/plugins/analytics.js +1 -0
  20. package/src/plugins/attach.js +11 -7
  21. package/src/plugins/headless-ui.js +16 -0
  22. package/src/plugins/log-lifecycle.js +1 -0
  23. package/src/unlock-encrypted-storage.js +1 -0
  24. package/src/utils/ioc.js +45 -0
  25. package/src/application/atoms/backed-up.js +0 -9
  26. package/src/application/atoms/created-at.js +0 -4
  27. package/src/application/atoms/index.js +0 -40
  28. package/src/application/atoms/lock-history.js +0 -15
  29. package/src/application/atoms/locked.js +0 -5
  30. package/src/application/atoms/restore.js +0 -5
  31. package/src/application/constants.js +0 -18
  32. package/src/application/index.js +0 -30
  33. package/src/application/module/application.js +0 -344
  34. package/src/application/module/index.js +0 -17
  35. package/src/application/plugins/index.js +0 -1
  36. package/src/application/plugins/lifecycle.js +0 -52
  37. package/src/utils/fusion.js +0 -17
package/CHANGELOG.md CHANGED
@@ -3,6 +3,263 @@
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.41](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.40...@exodus/headless@5.0.0-rc.41) (2024-10-31)
7
+
8
+ ### Features
9
+
10
+ - **headless:** throw if both address cache and xpub mocks are enabled ([#10065](https://github.com/ExodusMovement/exodus-hydra/issues/10065)) ([220bb91](https://github.com/ExodusMovement/exodus-hydra/commit/220bb91cfc9deff3d28a045eccecb2afcd6ed325))
11
+ - **referrals:** add kyc token if missing and kyc user exists ([#10265](https://github.com/ExodusMovement/exodus-hydra/issues/10265)) ([89fb5d2](https://github.com/ExodusMovement/exodus-hydra/commit/89fb5d2a87e33646fb794ce22b919f513fd8f3d1))
12
+ - use wallet-accounts v17.0.1 in headless ([#10111](https://github.com/ExodusMovement/exodus-hydra/issues/10111)) ([0996153](https://github.com/ExodusMovement/exodus-hydra/commit/09961538441a94a075e05de3bc5b066ba6ade44e))
13
+
14
+ ## [5.0.0-rc.40](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.39...@exodus/headless@5.0.0-rc.40) (2024-10-17)
15
+
16
+ ### Features
17
+
18
+ - bump wallet-accounts in headless ([#10038](https://github.com/ExodusMovement/exodus-hydra/issues/10038)) ([326bba6](https://github.com/ExodusMovement/exodus-hydra/commit/326bba6a3093563db41c8ded93c8804dc3a512f2))
19
+
20
+ ## [5.0.0-rc.39](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.38...@exodus/headless@5.0.0-rc.39) (2024-10-14)
21
+
22
+ **Note:** Version bump only for package @exodus/headless
23
+
24
+ ## [5.0.0-rc.38](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.37...@exodus/headless@5.0.0-rc.38) (2024-10-10)
25
+
26
+ **Note:** Version bump only for package @exodus/headless
27
+
28
+ ## [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)
29
+
30
+ **Note:** Version bump only for package @exodus/headless
31
+
32
+ ## [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)
33
+
34
+ ### Features
35
+
36
+ - add error tracking API types ([#9579](https://github.com/ExodusMovement/exodus-hydra/issues/9579)) ([317e40b](https://github.com/ExodusMovement/exodus-hydra/commit/317e40bde1007f7d192379ab390e3aed0a6ebd1a))
37
+ - **headless:** inject startup-counter redux slice ([#9615](https://github.com/ExodusMovement/exodus-hydra/issues/9615)) ([cef0696](https://github.com/ExodusMovement/exodus-hydra/commit/cef069678edb8b9518957c72a545757eb5c48bd9))
38
+ - use atoms v9 ([#9651](https://github.com/ExodusMovement/exodus-hydra/issues/9651)) ([524aa61](https://github.com/ExodusMovement/exodus-hydra/commit/524aa61f69c81e6ac00b2f94ea830688a105b3e4))
39
+
40
+ ### Bug Fixes
41
+
42
+ - **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)
43
+ - **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))
44
+
45
+ ## [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)
46
+
47
+ ### Features
48
+
49
+ - add ability to ignore all sunset asset monitors ([#8875](https://github.com/ExodusMovement/exodus-hydra/issues/8875)) ([e7fafa4](https://github.com/ExodusMovement/exodus-hydra/commit/e7fafa437a17edd1aca2f430ce8cecfcd6088a72))
50
+ - allow supplying the wallet sdk as adapter to headless ([#9317](https://github.com/ExodusMovement/exodus-hydra/issues/9317)) ([de4dcca](https://github.com/ExodusMovement/exodus-hydra/commit/de4dccabd0126e28e5de08c946e60056eb9d149a))
51
+ - type dependency injection container ([#9398](https://github.com/ExodusMovement/exodus-hydra/issues/9398)) ([e347bfa](https://github.com/ExodusMovement/exodus-hydra/commit/e347bfaf210751fcfb62600f276402eb7fdce46d))
52
+
53
+ ### Bug Fixes
54
+
55
+ - **headless:** bump @exodus/application ([#9230](https://github.com/ExodusMovement/exodus-hydra/issues/9230)) ([819597b](https://github.com/ExodusMovement/exodus-hydra/commit/819597b2042c5677651bf81f16d04b806bcfadec))
56
+
57
+ ## [5.0.0-rc.34](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.32...@exodus/headless@5.0.0-rc.34) (2024-09-09)
58
+
59
+ ### Features
60
+
61
+ - **headless:** move headless-ui plugin alongside others ([#8971](https://github.com/ExodusMovement/exodus-hydra/issues/8971)) ([4a5c72c](https://github.com/ExodusMovement/exodus-hydra/commit/4a5c72cd2271e835080e84be14d3a49364e43f3a))
62
+ - **headless:** clear headless-ui storage ([#8964](https://github.com/ExodusMovement/exodus-hydra/issues/8964)) ([5840128](https://github.com/ExodusMovement/exodus-hydra/commit/5840128c8d626278db51c4d06da33315603f3dc0))
63
+ - implement headless redux IOC ([#8857](https://github.com/ExodusMovement/exodus-hydra/issues/8857)) ([8520a07](https://github.com/ExodusMovement/exodus-hydra/commit/8520a07ba7d83db12051ad713fafbe00ad14ee13))
64
+
65
+ ## [5.0.0-rc.33](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.32...@exodus/headless@5.0.0-rc.33) (2024-09-09)
66
+
67
+ ### Features
68
+
69
+ - implement headless redux IOC ([#8857](https://github.com/ExodusMovement/exodus-hydra/issues/8857)) ([8520a07](https://github.com/ExodusMovement/exodus-hydra/commit/8520a07ba7d83db12051ad713fafbe00ad14ee13))
70
+
71
+ ## [5.0.0-rc.32](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.31...@exodus/headless@5.0.0-rc.32) (2024-09-04)
72
+
73
+ ### Bug Fixes
74
+
75
+ - required vs optional config ([#7987](https://github.com/ExodusMovement/exodus-hydra/issues/7987)) ([d9b5db1](https://github.com/ExodusMovement/exodus-hydra/commit/d9b5db1325d009a4970890f017736be04d086fe9))
76
+
77
+ ## [5.0.0-rc.31](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.30...@exodus/headless@5.0.0-rc.31) (2024-08-26)
78
+
79
+ ### Bug Fixes
80
+
81
+ - conditional customTokensMonitor creation ([#8269](https://github.com/ExodusMovement/exodus-hydra/issues/8269)) ([622bca7](https://github.com/ExodusMovement/exodus-hydra/commit/622bca7ae230ae302e9589ac00f3f7c8d5809a79))
82
+
83
+ ## [5.0.0-rc.30](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.29...@exodus/headless@5.0.0-rc.30) (2024-08-12)
84
+
85
+ ### Features
86
+
87
+ - **headless:** pass error tracking config ([#8328](https://github.com/ExodusMovement/exodus-hydra/issues/8328)) ([00d25c7](https://github.com/ExodusMovement/exodus-hydra/commit/00d25c794231565988e90ba3c5e1aba41159caba))
88
+
89
+ ## [5.0.0-rc.29](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.28...@exodus/headless@5.0.0-rc.29) (2024-08-06)
90
+
91
+ ### Features
92
+
93
+ - move passphrase-cache to application feature ([#8213](https://github.com/ExodusMovement/exodus-hydra/issues/8213)) ([8b6cbf0](https://github.com/ExodusMovement/exodus-hydra/commit/8b6cbf02089cf6183767061757190fe7fc396262))
94
+
95
+ ## [5.0.0-rc.28](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.27...@exodus/headless@5.0.0-rc.28) (2024-07-29)
96
+
97
+ ### Features
98
+
99
+ - **headless:** add timeout log for plugin methods ([#8044](https://github.com/ExodusMovement/exodus-hydra/issues/8044)) ([1fb051f](https://github.com/ExodusMovement/exodus-hydra/commit/1fb051fcb0478b7a3278efe8922339984fda0539))
100
+
101
+ ## [5.0.0-rc.27](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.26...@exodus/headless@5.0.0-rc.27) (2024-07-25)
102
+
103
+ ### Bug Fixes
104
+
105
+ - migrate definitions ([#8030](https://github.com/ExodusMovement/exodus-hydra/issues/8030)) ([d2dfde5](https://github.com/ExodusMovement/exodus-hydra/commit/d2dfde55dfa843eb52842f64b3aac3a6f9a59069))
106
+
107
+ ## [5.0.0-rc.26](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.25...@exodus/headless@5.0.0-rc.26) (2024-07-22)
108
+
109
+ - update address-provider version to v12.0.0 and updates its usage. config structure has not changed.
110
+
111
+ ## [5.0.0-rc.25](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.24...@exodus/headless@5.0.0-rc.25) (2024-07-18)
112
+
113
+ ### Features
114
+
115
+ - **headless:** add txlog monitors feature ([#7879](https://github.com/ExodusMovement/exodus-hydra/issues/7879)) ([cc5eaf4](https://github.com/ExodusMovement/exodus-hydra/commit/cc5eaf4fa46b2c1fe29bc4fd485c5adf724739a1))
116
+
117
+ ## [5.0.0-rc.24](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.23...@exodus/headless@5.0.0-rc.24) (2024-07-18)
118
+
119
+ **Note:** Version bump only for package @exodus/headless
120
+
121
+ ## [5.0.0-rc.23](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.22...@exodus/headless@5.0.0-rc.23) (2024-07-17)
122
+
123
+ ### Features
124
+
125
+ - chainable ioc methods to infer types of external features ([#7892](https://github.com/ExodusMovement/exodus-hydra/issues/7892)) ([213e3ab](https://github.com/ExodusMovement/exodus-hydra/commit/213e3ab064cb5796a581b78c590b7c22246b8219))
126
+
127
+ ## [5.0.0-rc.22](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.21...@exodus/headless@5.0.0-rc.22) (2024-07-16)
128
+
129
+ **Note:** Version bump only for package @exodus/headless
130
+
131
+ ## [5.0.0-rc.21](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.20...@exodus/headless@5.0.0-rc.21) (2024-07-16)
132
+
133
+ ### Bug Fixes
134
+
135
+ - use key identifier with enumerable derivation path ([#7854](https://github.com/ExodusMovement/exodus-hydra/issues/7854)) ([afd9653](https://github.com/ExodusMovement/exodus-hydra/commit/afd96533198a870568a83c4ecf03ead17d7797c1))
136
+
137
+ ## [5.0.0-rc.20](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.19...@exodus/headless@5.0.0-rc.20) (2024-07-12)
138
+
139
+ ### Features
140
+
141
+ - bump @exodus/error-tracking in headless ([#7824](https://github.com/ExodusMovement/exodus-hydra/issues/7824)) ([8e247f7](https://github.com/ExodusMovement/exodus-hydra/commit/8e247f7111bf847f6b06c0305be1f60f0061a9a2))
142
+
143
+ ## [5.0.0-rc.19](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.18...@exodus/headless@5.0.0-rc.19) (2024-07-12)
144
+
145
+ ### Features
146
+
147
+ - add errorTracking feature to sdk ([#7670](https://github.com/ExodusMovement/exodus-hydra/issues/7670)) ([34dbc5c](https://github.com/ExodusMovement/exodus-hydra/commit/34dbc5c1f0b94ef4213dfaec788790c475eb962c)), closes [#7708](https://github.com/ExodusMovement/exodus-hydra/issues/7708)
148
+
149
+ ## [5.0.0-rc.18](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.17...@exodus/headless@5.0.0-rc.18) (2024-07-12)
150
+
151
+ ### Features
152
+
153
+ - bump @exodus/assets in headless pkg ([#7802](https://github.com/ExodusMovement/exodus-hydra/issues/7802)) ([5a67601](https://github.com/ExodusMovement/exodus-hydra/commit/5a67601cfd72a6b76aec2abc3cf0d8212d80edca))
154
+
155
+ ### Bug Fixes
156
+
157
+ - update referrals config key ([#7666](https://github.com/ExodusMovement/exodus-hydra/issues/7666)) ([17fd92a](https://github.com/ExodusMovement/exodus-hydra/commit/17fd92ab4c95757c4fbbd26b8bb7a4cf6fed87d8))
158
+
159
+ ## [5.0.0-rc.17](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.16...@exodus/headless@5.0.0-rc.17) (2024-07-03)
160
+
161
+ ### Features
162
+
163
+ - allow subscribing to when a new seed is done restoring ([#7565](https://github.com/ExodusMovement/exodus-hydra/issues/7565)) ([1c9464e](https://github.com/ExodusMovement/exodus-hydra/commit/1c9464e8a9e1aafb6a9ebb5e9567ab33de6f2e33))
164
+ - log reporting duration per node ([#7574](https://github.com/ExodusMovement/exodus-hydra/issues/7574)) ([26ba1cb](https://github.com/ExodusMovement/exodus-hydra/commit/26ba1cbb8281072289e99b9ebdd26a940f23d605))
165
+
166
+ ### Bug Fixes
167
+
168
+ - headless test ([#7476](https://github.com/ExodusMovement/exodus-hydra/issues/7476)) ([a901f32](https://github.com/ExodusMovement/exodus-hydra/commit/a901f32c0e9b5f23b04a322f4904a03b1d18f694))
169
+
170
+ ## [5.0.0-rc.16](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.15...@exodus/headless@5.0.0-rc.16) (2024-06-25)
171
+
172
+ **Note:** Version bump only for package @exodus/headless
173
+
174
+ ## [5.0.0-rc.15](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.14...@exodus/headless@5.0.0-rc.15) (2024-06-24)
175
+
176
+ **Note:** Version bump only for package @exodus/headless
177
+
178
+ ### Features
179
+
180
+ - add header handling per domain ([#7439](https://github.com/ExodusMovement/exodus-hydra/issues/7439)) ([7c45192](https://github.com/ExodusMovement/exodus-hydra/commit/7c451924901bd118765bea8bc7e1bb6f8bf1b5f5))
181
+
182
+ ## [5.0.0-rc.14](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.13...@exodus/headless@5.0.0-rc.14) (2024-06-19)
183
+
184
+ ### Bug Fixes
185
+
186
+ - get kyc api-version && url from remote-config ([#7320](https://github.com/ExodusMovement/exodus-hydra/issues/7320)) ([5d22b13](https://github.com/ExodusMovement/exodus-hydra/commit/5d22b13e1c8d5e265f1f93498de7d83be25924ee))
187
+ - revert to use legacy kyc ([#7294](https://github.com/ExodusMovement/exodus-hydra/issues/7294)) ([6b52bcc](https://github.com/ExodusMovement/exodus-hydra/commit/6b52bcc1aa1ed1f1553403d64bb1e3f209be72a6))
188
+ - chore: bump wallet-accounts in headless ([#7431](https://github.com/ExodusMovement/exodus-hydra/issues/7431)) ([d39d9cf](https://github.com/ExodusMovement/exodus-hydra/commit/ad94a2948ffe03aee9c86d3acc6a15e57d39d9cf))
189
+
190
+ ## [5.0.0-rc.13](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.12...@exodus/headless@5.0.0-rc.13) (2024-06-04)
191
+
192
+ ### Bug Fixes
193
+
194
+ - use updated api to persist referral info ([#7224](https://github.com/ExodusMovement/exodus-hydra/issues/7224)) ([4a9906a](https://github.com/ExodusMovement/exodus-hydra/commit/4a9906a8a1746a76fb6dbfd574c4c48865c463c1)), closes [#7225](https://github.com/ExodusMovement/exodus-hydra/issues/7225)
195
+
196
+ ## [5.0.0-rc.12](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.11...@exodus/headless@5.0.0-rc.12) (2024-05-29)
197
+
198
+ ### Features
199
+
200
+ - export `ApplicationWalletApi` type ([#7189](https://github.com/ExodusMovement/exodus-hydra/issues/7189)) ([3aced97](https://github.com/ExodusMovement/exodus-hydra/commit/3aced9749447cca0ebdc1824770eb8a0711f7d65))
201
+
202
+ ### Bug Fixes
203
+
204
+ - await clearing personal notes storage ([#7055](https://github.com/ExodusMovement/exodus-hydra/issues/7055)) ([5522284](https://github.com/ExodusMovement/exodus-hydra/commit/5522284ccc3db4bf837a3ff752234396d10d8bce))
205
+
206
+ ## [5.0.0-rc.11](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.10...@exodus/headless@5.0.0-rc.11) (2024-05-28)
207
+
208
+ ### Bug Fixes
209
+
210
+ - set walletAccount defaultLabel in migration ([#7134](https://github.com/ExodusMovement/exodus-hydra/issues/7134)) ([3a24900](https://github.com/ExodusMovement/exodus-hydra/commit/3a24900e000af929e34f094fd4406e39b48c58dc))
211
+
212
+ ## [5.0.0-rc.10](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.9...@exodus/headless@5.0.0-rc.10) (2024-05-22)
213
+
214
+ ### ⚠ BREAKING CHANGES
215
+
216
+ - update kyc server url and endpoints (#6906)
217
+
218
+ ### Features
219
+
220
+ - addressProvider.getDefaultPurpose ([#6910](https://github.com/ExodusMovement/exodus-hydra/issues/6910)) ([533a105](https://github.com/ExodusMovement/exodus-hydra/commit/533a105af69fabb690e2c0c5fd4b3a21a2500526))
221
+ - include assetSources feature in headless by default ([#7029](https://github.com/ExodusMovement/exodus-hydra/issues/7029)) ([7a9321e](https://github.com/ExodusMovement/exodus-hydra/commit/7a9321ef8503ecaf4bd126f5620720a520a5eda8))
222
+ - update analytics in headless to kill keychain-atoms ([#7052](https://github.com/ExodusMovement/exodus-hydra/issues/7052)) ([c77e7fb](https://github.com/ExodusMovement/exodus-hydra/commit/c77e7fbabcd71ff70c69ce4057312b58b3cf2f77))
223
+
224
+ ### Bug Fixes
225
+
226
+ - atoms should not hit storage after first read or write ([#6834](https://github.com/ExodusMovement/exodus-hydra/issues/6834)) ([63e23f1](https://github.com/ExodusMovement/exodus-hydra/commit/63e23f1f0bf33732f67b70feb9e95e854a8fd90e))
227
+ - improve perf of onAssetsSynced ([#6893](https://github.com/ExodusMovement/exodus-hydra/issues/6893)) ([3a7ce3a](https://github.com/ExodusMovement/exodus-hydra/commit/3a7ce3a28e3a2890118f7f1702120136c2f6fff8))
228
+ - remove `compatibilityMode` from flagsStorage ([#7039](https://github.com/ExodusMovement/exodus-hydra/issues/7039)) ([50f5a7d](https://github.com/ExodusMovement/exodus-hydra/commit/50f5a7d48e039c1629cba6b64d0c952b86cdda3c))
229
+ - update kyc server url and endpoints ([#6906](https://github.com/ExodusMovement/exodus-hydra/issues/6906)) ([485cf5b](https://github.com/ExodusMovement/exodus-hydra/commit/485cf5bc3abc0cfa65b106c0f8af1ddb21f026f6))
230
+
231
+ ## [5.0.0-rc.9](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.8...@exodus/headless@5.0.0-rc.9) (2024-05-08)
232
+
233
+ ### Features
234
+
235
+ - **announcements:** add shownForcedAnnouncement ([#6797](https://github.com/ExodusMovement/exodus-hydra/issues/6797)) ([3af46d1](https://github.com/ExodusMovement/exodus-hydra/commit/3af46d196abdb03885091c03c9e8c86ced500193))
236
+
237
+ ## [5.0.0-rc.8](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.7...@exodus/headless@5.0.0-rc.8) (2024-05-06)
238
+
239
+ ### Features
240
+
241
+ - always pass config to features ([#6820](https://github.com/ExodusMovement/exodus-hydra/issues/6820)) ([656501d](https://github.com/ExodusMovement/exodus-hydra/commit/656501dc47948bf055decfed3a404bc92170532b))
242
+
243
+ ### Bug Fixes
244
+
245
+ - `createExodus` return type ([#6739](https://github.com/ExodusMovement/exodus-hydra/issues/6739)) ([efa2d18](https://github.com/ExodusMovement/exodus-hydra/commit/efa2d18b60a60f625223515f38b065d0cb6b3827))
246
+
247
+ ## [5.0.0-rc.7](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.6...@exodus/headless@5.0.0-rc.7) (2024-04-29)
248
+
249
+ ### Features
250
+
251
+ - add key-viewer to export encoded private keys ([#6713](https://github.com/ExodusMovement/exodus-hydra/issues/6713)) ([272a0cb](https://github.com/ExodusMovement/exodus-hydra/commit/272a0cb23cd5d76df801d661d16b0238b301e88c))
252
+
253
+ ## [5.0.0-rc.6](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.5...@exodus/headless@5.0.0-rc.6) (2024-04-26)
254
+
255
+ **Note:** Version bump only for package @exodus/headless
256
+
257
+ ## [5.0.0-rc.5](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.3...@exodus/headless@5.0.0-rc.5) (2024-04-26)
258
+
259
+ ### Features
260
+
261
+ - add keychain api types ([#6679](https://github.com/ExodusMovement/exodus-hydra/issues/6679)) ([57d1bfc](https://github.com/ExodusMovement/exodus-hydra/commit/57d1bfcd6d98c5ec13a5801a2172e558fb4c3e1e))
262
+
6
263
  ## [5.0.0-rc.4](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/headless@5.0.0-rc.3...@exodus/headless@5.0.0-rc.4) (2024-04-25)
7
264
 
8
265
  ### Features
package/README.md CHANGED
@@ -62,57 +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
- Below you can find a state diagram that visualize what hooks are triggered between state transitions:
66
-
67
- ```mermaid
68
- stateDiagram-v2
69
- direction LR
70
- [*] --> Starting
71
-
72
- state Starting {
73
- direction LR
74
-
75
- state "Needs clear storage?*" as NeedsClear
76
- state "Is importing?" as IsImporting
77
-
78
- NeedsClear --> Clearing : CLEAR
79
- Clearing --> IsImporting
80
- IsImporting --> Importing : IMPORT
81
- }
82
-
83
- Starting --> Started : START
84
-
85
- state Started {
86
- direction LR
87
-
88
- state "Has seed?" as HasSeed
89
-
90
- HasSeed --> Empty : No
91
- HasSeed --> Locked : Yes
92
-
93
- Empty --> Locked : CREATE \n---or---\nIMPORT
94
-
95
- Locked --> Migrating : MIGRATE
96
- Migrating --> Unlocked : UNLOCK
97
- Unlocked --> Locked : LOCK
98
-
99
- Unlocked --> Restarting : DELETE
100
-
101
-
102
- }
103
-
104
- Restarting --> [*] : RESTART
105
-
106
- Started --> Started : LOAD
107
-
108
- classDef conditional fill:#ededed,stroke:#c2c2c2,color:#a6a6a6,stroke-width:2;
109
-
110
- class NeedsClear conditional
111
- class IsImporting conditional
112
- class HasSeed conditional
113
- ```
114
-
115
- \* Wallet needs to clear storage if seed is not present or is restoring a new wallet
65
+ For more information about lifecycle hooks, please refer to the [application feature documentation](../../features/application#lifecycle-hooks).
116
66
 
117
67
  ## Port
118
68
 
@@ -256,19 +206,19 @@ exodusContainer.debug.geolocation.merge({ countryCode: 'US' })
256
206
 
257
207
  > Type: object
258
208
 
259
- | Method | Type | Description |
260
- | ---------------------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
261
- | getTxLog | `async ({ assetName, walletAccount }) => TxSet` | Get the TxSet for the provided `assetName`/`walletAccount` combination (AssetSource) |
262
- | getLoadedTxLogs | `async () => object` | Get the all loaded `TxSet`s as a `{ [walletAccount]: { [assetName]: TxSet } } object` |
263
- | updateTxs | `async ({ assetName: string, walletAccount: string, txs: object[] }) => void` | Add or update txs with updates provided in `txs` |
264
- | overwriteTxs | `async ({ assetName: string, walletAccount: string, txs: object[], notifyReceivedTxs: ?boolean }) => void` | Overwrite specified txs. |
265
- | clearTxs | `async ({ assetName: string, walletAccount: string }) => void` | Remove txs for AssetSource. |
266
- | removeTxs | `async ({ assetName: string, walletAccount: string, txs: object[] }) => void` | Remove provided txs. |
267
- | getAccountState | `async ({ assetName, walletAccount }) => AccountState` | Get the AccountState for the provided AssetSource |
268
- | getLoadedAccountStates | `async () => object` | Get the all loaded `AccountState`s as a `{ [walletAccount]: { [assetName]: AccountState } } object` |
269
- | updateAccountState | `async ({ assetName: string, walletAccount: string, newData: object }) => void` | Update accountState for AssetSource. |
270
- | removeAccountState | `async ({ assetName: string, walletAccount: string }) => void` | Remove accountState for AssetSource. |
271
- | batch | `() => Batch` | Create a batch of updates. See [blockchainMetadata](../blockchain-metadata) 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. |
272
222
 
273
223
  ### assets
274
224
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/headless",
3
- "version": "5.0.0-rc.4",
3
+ "version": "5.0.0-rc.41",
4
4
  "description": "The platform-agnostic Exodus wallet SDK",
5
5
  "author": "Exodus Movement, Inc.",
6
6
  "main": "src/index.js",
@@ -15,96 +15,101 @@
15
15
  },
16
16
  "files": [
17
17
  "src",
18
+ "redux",
18
19
  "README.md",
19
20
  "CHANGELOG.md",
20
21
  "!**/__tests__/**",
21
22
  "!**/*.test.js"
22
23
  ],
23
24
  "scripts": {
24
- "lint": "run -T eslint . --ignore-path ../../.gitignore",
25
+ "lint": "run -T eslint .",
25
26
  "lint:fix": "yarn lint --fix",
26
- "test": "NODE_OPTIONS=--max-old-space-size=4096 run -T jest"
27
+ "test": "yarn test:types && yarn test:single-process **/*.test.js && yarn test:multi-process **/*.test.js",
28
+ "test:integration": "run test:single-process jest **/*.integration-test.js && run test:multi-process jest **/*.integration-test.js",
29
+ "test:single-process": "NODE_OPTIONS=--max-old-space-size=4096 run -T jest",
30
+ "test:multi-process": "MULTI_PROCESS=1 NODE_OPTIONS=--max-old-space-size=4096 run -T jest",
31
+ "test:types": "run -T tsc --noEmit"
27
32
  },
28
33
  "dependencies": {
29
- "@exodus/address-provider": "^10.0.1",
30
- "@exodus/argo": "^1.0.0",
31
- "@exodus/assets-feature": "^5.1.0",
32
- "@exodus/atoms": "^7.0.0",
33
- "@exodus/available-assets": "^8.1.0",
34
- "@exodus/balances": "^13.0.0",
35
- "@exodus/basic-utils": "^2.0.0",
36
- "@exodus/blockchain-metadata": "^15.3.0",
37
- "@exodus/dependency-injection": "^2.1.2",
38
- "@exodus/dependency-preprocessors": "^5.1.0",
39
- "@exodus/enabled-assets": "^10.2.0",
40
- "@exodus/feature-flags": "^6.0.0",
41
- "@exodus/fee-data-monitors": "^4.2.0",
42
- "@exodus/fetch": "^1.2.1",
43
- "@exodus/filesystem": "^1.1.0",
44
- "@exodus/fusion-atoms": "^1.1.2",
45
- "@exodus/geolocation": "^4.1.0",
46
- "@exodus/hd-key-slip-10": "^2.0.0",
47
- "@exodus/key-ids": "^1.0.0",
48
- "@exodus/keychain": "^6.3.0",
49
- "@exodus/locale": "^2.2.0",
50
- "@exodus/message-signer": "^1.1.1",
51
- "@exodus/module": "^1.2.2",
52
- "@exodus/pricing": "^1.2.0",
53
- "@exodus/public-key-provider": "^2.0.0",
54
- "@exodus/public-key-store": "^1.2.0",
55
- "@exodus/rates-monitor": "^4.2.0",
56
- "@exodus/remote-config": "^2.4.0",
57
- "@exodus/restore-progress-tracker": "^3.0.0",
34
+ "@exodus/address-provider": "^12.5.0",
35
+ "@exodus/application": "^2.1.1",
36
+ "@exodus/argo": "^2.2.1",
37
+ "@exodus/asset-sources": "^1.4.1",
38
+ "@exodus/assets-feature": "^5.11.3",
39
+ "@exodus/atoms": "^9.0.0",
40
+ "@exodus/available-assets": "^8.4.0",
41
+ "@exodus/balances": "^13.3.1",
42
+ "@exodus/blockchain-metadata": "^15.3.5",
43
+ "@exodus/enabled-assets": "^10.5.1",
44
+ "@exodus/error-tracking": "^1.3.0",
45
+ "@exodus/feature-flags": "^6.0.4",
46
+ "@exodus/fee-data-monitors": "^5.0.0",
47
+ "@exodus/filesystem": "^1.1.2",
48
+ "@exodus/geolocation": "^4.2.3",
49
+ "@exodus/key-ids": "^1.2.3",
50
+ "@exodus/key-viewer": "^1.1.2",
51
+ "@exodus/keychain": "^7.1.0",
52
+ "@exodus/locale": "^2.2.2",
53
+ "@exodus/message-signer": "^1.3.4",
54
+ "@exodus/pricing": "^1.3.2",
55
+ "@exodus/public-key-provider": "^3.0.0",
56
+ "@exodus/rates-monitor": "^4.4.1",
57
+ "@exodus/remote-config": "^2.7.2",
58
+ "@exodus/restore-progress-tracker": "^3.5.1",
58
59
  "@exodus/sodium-crypto": "^3.2.0",
59
- "@exodus/startup-counter": "^1.0.0",
60
- "@exodus/tx-signer": "^2.0.1",
60
+ "@exodus/startup-counter": "^1.1.0",
61
+ "@exodus/tx-log-monitors": "^2.3.3",
62
+ "@exodus/tx-signer": "^2.3.4",
61
63
  "@exodus/typeforce": "^1.18.1",
62
- "@exodus/wallet": "^14.1.0",
63
- "@exodus/wallet-accounts": "^16.2.0",
64
+ "@exodus/wallet": "^15.1.0",
65
+ "@exodus/wallet-accounts": "^17.0.1",
64
66
  "bip39": "^2.6.0",
65
- "events": "^3.3.0",
66
67
  "lodash": "npm:@exodus/lodash@^4.17.21-exodus.2",
67
- "minimalistic-assert": "^1.0.1"
68
+ "minimalistic-assert": "^1.0.1",
69
+ "ms": "^2.1.3"
68
70
  },
69
71
  "devDependencies": {
70
- "@exodus/ab-testing": "^7.3.0",
72
+ "@exodus/ab-testing": "^7.6.1",
71
73
  "@exodus/algorand-lib": "^2.0.1",
72
74
  "@exodus/algorand-meta": "^1.1.4",
73
- "@exodus/analytics": "^12.0.0",
74
- "@exodus/announcements": "^2.7.0",
75
- "@exodus/apy-rates": "^3.3.1",
76
- "@exodus/assets-feature": "workspace:^",
77
- "@exodus/bip32": "^2.1.1",
75
+ "@exodus/analytics": "^15.0.0",
76
+ "@exodus/announcements": "^3.0.0",
77
+ "@exodus/apy-rates": "^3.5.0",
78
+ "@exodus/basic-utils": "^3.0.1",
79
+ "@exodus/bip32": "^3.3.0",
78
80
  "@exodus/bitcoin-plugin": "^1.0.14",
79
- "@exodus/connected-origins": "^3.3.0",
80
- "@exodus/crypto-news-monitor": "^5.0.0",
81
- "@exodus/currency": "^2.2.0",
82
- "@exodus/ethereum-lib": "^4.5.0",
81
+ "@exodus/browser-extension-rpc": "^2.1.2",
82
+ "@exodus/connected-origins": "^4.0.0",
83
+ "@exodus/crypto-news-monitor": "^5.0.2",
84
+ "@exodus/deferring-storage": "^1.0.1",
85
+ "@exodus/dependency-types": "^2.1.0",
86
+ "@exodus/domain-serialization": "^1.3.1",
87
+ "@exodus/ethereum-lib": "^5.0.0",
83
88
  "@exodus/ethereum-meta": "^1.1.0",
84
- "@exodus/exodus-pricing-client": "^1.2.0",
85
- "@exodus/fetch-factory": "^1.0.0",
86
- "@exodus/key-utils": "^3.0.0",
87
- "@exodus/kyc": "^5.0.0",
88
- "@exodus/litecoin-meta": "^1.0.0",
89
- "@exodus/market-history": "^7.4.0",
90
- "@exodus/models": "^11.9.0",
91
- "@exodus/nfts": "^9.1.6",
92
- "@exodus/personal-notes": "^3.6.0",
93
- "@exodus/referrals": "^8.3.0",
94
- "@exodus/solana-lib": "^2.0.0",
89
+ "@exodus/exodus-pricing-client": "^1.3.1",
90
+ "@exodus/fetch": "^1.2.1",
91
+ "@exodus/fetch-factory": "^2.2.3",
92
+ "@exodus/key-identifier": "^1.2.1",
93
+ "@exodus/kyc": "^6.2.0",
94
+ "@exodus/market-history": "^9.1.0",
95
+ "@exodus/models": "^12.1.1",
96
+ "@exodus/nfts": "^9.4.1",
97
+ "@exodus/personal-notes": "^3.6.3",
98
+ "@exodus/referrals": "^8.9.0",
99
+ "@exodus/solana-lib": "^3.6.0",
95
100
  "@exodus/solana-meta": "^1.0.2",
96
- "@exodus/storage-encrypted": "^1.3.0",
97
- "@exodus/storage-memory": "^2.1.1",
98
- "@exodus/top-movers-monitor": "^4.1.0",
99
- "@exodus/ui-config": "^3.6.1",
101
+ "@exodus/storage-encrypted": "^1.4.1",
102
+ "@exodus/storage-memory": "^2.2.1",
103
+ "@exodus/top-movers-monitor": "^4.2.3",
104
+ "@exodus/ui-config": "^3.12.1",
105
+ "@exodus/wallet-sdk": "^1.1.1",
100
106
  "@exodus/wild-emitter": "^1.0.0",
101
107
  "buffer-json": "^2.0.0",
102
108
  "deepmerge": "^4.2.2",
103
109
  "delay": "^5.0.0",
104
- "eslint-plugin-simple-import-sort": "^7.0.0",
105
110
  "events": "^3.3.0",
106
111
  "msw": "^2.0.0",
107
112
  "p-defer": "^4.0.0"
108
113
  },
109
- "gitHead": "452c36dc78f06002027a1d5f7923970afcba18ad"
114
+ "gitHead": "2a90133533b75ab6f24a97d74e24390e5f925c50"
110
115
  }
@@ -0,0 +1 @@
1
+ export { default } from '@exodus/argo/redux'
package/redux/index.js ADDED
@@ -0,0 +1,44 @@
1
+ import applicationRedux from '@exodus/application/redux'
2
+ import createReduxIOC from '@exodus/argo/redux'
3
+ import assetsRedux from '@exodus/assets-feature/redux'
4
+ import availableAssetsRedux from '@exodus/available-assets/redux'
5
+ import balancesRedux from '@exodus/balances/redux'
6
+ import accountStatesRedux from '@exodus/blockchain-metadata/redux/account-states'
7
+ import txLogsRedux from '@exodus/blockchain-metadata/redux/tx-logs'
8
+ import enabledAssetsRedux from '@exodus/enabled-assets/redux'
9
+ import featureflagsRedux from '@exodus/feature-flags/redux'
10
+ import feeDataRedux from '@exodus/fee-data-monitors/redux'
11
+ import geolocationRedux from '@exodus/geolocation/redux'
12
+ import localeRedux from '@exodus/locale/redux'
13
+ import ratesRedux from '@exodus/rates-monitor/redux'
14
+ import remoteConfigRedux from '@exodus/remote-config/lib/redux'
15
+ import restoreProgressRedux from '@exodus/restore-progress-tracker/redux'
16
+ import startupCounterRedux from '@exodus/startup-counter/redux'
17
+ import createWalletAccountsRedux from '@exodus/wallet-accounts/redux'
18
+
19
+ function createExodusRedux({ createLogger, enhancer, reducers, actionCreators }) {
20
+ const ioc = createReduxIOC({ createLogger, enhancer, reducers, actionCreators })
21
+
22
+ const walletAccountsRedux = createWalletAccountsRedux()
23
+
24
+ ioc.use(applicationRedux)
25
+ ioc.use(assetsRedux)
26
+ ioc.use(availableAssetsRedux)
27
+ ioc.use(balancesRedux)
28
+ ioc.use(accountStatesRedux)
29
+ ioc.use(txLogsRedux)
30
+ ioc.use(enabledAssetsRedux)
31
+ ioc.use(featureflagsRedux)
32
+ ioc.use(feeDataRedux)
33
+ ioc.use(geolocationRedux)
34
+ ioc.use(localeRedux)
35
+ ioc.use(ratesRedux)
36
+ ioc.use(remoteConfigRedux)
37
+ ioc.use(restoreProgressRedux)
38
+ ioc.use(startupCounterRedux)
39
+ ioc.use(walletAccountsRedux)
40
+
41
+ return ioc
42
+ }
43
+
44
+ export default createExodusRedux