@dynamic-labs/utils 4.0.0-alpha.2 → 4.0.0-alpha.20

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 (34) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/package.cjs +8 -0
  3. package/package.js +4 -0
  4. package/package.json +7 -15
  5. package/src/eip6963/eip6963Provider.d.ts +1 -3
  6. package/src/index.cjs +12 -5
  7. package/src/index.d.ts +4 -3
  8. package/src/index.js +8 -2
  9. package/src/isInIframe/index.d.ts +1 -0
  10. package/src/isInIframe/isInIframe.cjs +8 -0
  11. package/src/isInIframe/isInIframe.d.ts +1 -0
  12. package/src/isInIframe/isInIframe.js +4 -0
  13. package/src/{parseEvmNetworks.cjs → parseNetworks.cjs} +2 -0
  14. package/src/parseNetworks.d.ts +3 -0
  15. package/src/{parseEvmNetworks.js → parseNetworks.js} +2 -1
  16. package/src/services/Oauth2Service/Oauth2Service.cjs +5 -6
  17. package/src/services/Oauth2Service/Oauth2Service.d.ts +1 -2
  18. package/src/services/Oauth2Service/Oauth2Service.js +5 -6
  19. package/src/services/Oauth2Service/createWindowOauth2Service/createWindowOauth2Service.cjs +12 -1
  20. package/src/services/Oauth2Service/createWindowOauth2Service/createWindowOauth2Service.js +12 -1
  21. package/src/services/StorageService/StorageService.d.ts +1 -1
  22. package/src/services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.cjs +11 -0
  23. package/src/services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.d.ts +7 -0
  24. package/src/services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.js +7 -0
  25. package/src/services/StorageService/applyPostfixToStorageService/index.d.ts +1 -0
  26. package/src/services/StorageService/createStorageService/createStorageService.cjs +4 -5
  27. package/src/services/StorageService/createStorageService/createStorageService.d.ts +1 -2
  28. package/src/services/StorageService/createStorageService/createStorageService.js +4 -5
  29. package/src/services/StorageService/index.d.ts +1 -0
  30. package/src/services/StorageService/types.d.ts +1 -1
  31. package/src/nativeMobileOauthStateParam.cjs +0 -13
  32. package/src/nativeMobileOauthStateParam.d.ts +0 -14
  33. package/src/nativeMobileOauthStateParam.js +0 -9
  34. package/src/parseEvmNetworks.d.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -1,4 +1,187 @@
1
1
 
2
+ ## [4.0.0-alpha.20](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.19...v4.0.0-alpha.20) (2024-10-30)
3
+
4
+ ## [4.0.0-alpha.19](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.18...v4.0.0-alpha.19) (2024-10-29)
5
+
6
+
7
+ ### Bug Fixes
8
+
9
+ * ensure the client js will emit a change event after the value update ([#7284](https://github.com/dynamic-labs/dynamic-auth/issues/7284)) ([930d2e9](https://github.com/dynamic-labs/dynamic-auth/commit/930d2e9fdc75fd4a38da8ef6efc9d3e29152285b))
10
+
11
+ ## [4.0.0-alpha.18](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.17...v4.0.0-alpha.18) (2024-10-29)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **web-extension:** add color scheme style to prevent broken style ([#7247](https://github.com/dynamic-labs/dynamic-auth/issues/7247)) ([c525c50](https://github.com/dynamic-labs/dynamic-auth/commit/c525c50ac02997f3baf220fd2e67c6c4b3d10903))
17
+
18
+ ## [4.0.0-alpha.17](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.16...v4.0.0-alpha.17) (2024-10-28)
19
+
20
+
21
+ ### Features
22
+
23
+ * add support for eclipse ([#7255](https://github.com/dynamic-labs/dynamic-auth/issues/7255)) ([70e9830](https://github.com/dynamic-labs/dynamic-auth/commit/70e9830c6c801e0298825b914ee825b578350cf0))
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * adds missing packages to zerodev-extension package ([#7187](https://github.com/dynamic-labs/dynamic-auth/issues/7187)) ([052a7e7](https://github.com/dynamic-labs/dynamic-auth/commit/052a7e7c08d458996d1be56f7697448ad5a9a1c9))
29
+ * unpin reactivity package for vue projects ([#7246](https://github.com/dynamic-labs/dynamic-auth/issues/7246)) ([18013e0](https://github.com/dynamic-labs/dynamic-auth/commit/18013e00d6855f8b371c9edb97594a08764c3868))
30
+
31
+ ## [4.0.0-alpha.16](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.15...v4.0.0-alpha.16) (2024-10-27)
32
+
33
+
34
+ ### Features
35
+
36
+ * add passkey to web-extension ([#7096](https://github.com/dynamic-labs/dynamic-auth/issues/7096)) ([a4b4643](https://github.com/dynamic-labs/dynamic-auth/commit/a4b4643e5307358425c878067bae095090f322ca))
37
+ * add social to web extension ([#7106](https://github.com/dynamic-labs/dynamic-auth/issues/7106)) ([422bc8e](https://github.com/dynamic-labs/dynamic-auth/commit/422bc8e2d276d960a7a76ad55a7b244c3fd83173))
38
+ * add support for compass and leap wallets ([9738749](https://github.com/dynamic-labs/dynamic-auth/commit/9738749bb5ed8e07a2582df255f683e4d408db93))
39
+ * add support for epicgames social ([#7220](https://github.com/dynamic-labs/dynamic-auth/issues/7220)) ([cb5bc30](https://github.com/dynamic-labs/dynamic-auth/commit/cb5bc30bc17d063bdaa9b427a9358b30124c4589))
40
+ * add web-extension to client ([#7180](https://github.com/dynamic-labs/dynamic-auth/issues/7180)) ([e2ccbb7](https://github.com/dynamic-labs/dynamic-auth/commit/e2ccbb77bdd0250d000a6cc4d89a2e5d7d2f4bb2))
41
+
42
+ ## [4.0.0-alpha.15](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.14...v4.0.0-alpha.15) (2024-10-19)
43
+
44
+ ## [4.0.0-alpha.14](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.13...v4.0.0-alpha.14) (2024-10-18)
45
+
46
+ ## [4.0.0-alpha.13](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.12...v4.0.0-alpha.13) (2024-10-18)
47
+
48
+
49
+ ### Bug Fixes
50
+
51
+ * improve displayed chain name in network switcher ([#7153](https://github.com/dynamic-labs/dynamic-auth/issues/7153)) ([55d2e5a](https://github.com/dynamic-labs/dynamic-auth/commit/55d2e5a9954bf0255b5caf7aba7a6f1f2e215967))
52
+
53
+ ## [4.0.0-alpha.12](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.11...v4.0.0-alpha.12) (2024-10-18)
54
+
55
+
56
+ ### Features
57
+
58
+ * add support for xverse account change event ([#7114](https://github.com/dynamic-labs/dynamic-auth/issues/7114)) ([79df047](https://github.com/dynamic-labs/dynamic-auth/commit/79df04775edb297a339e2d74adcc873584a6d8af))
59
+ * solana embedded signall headless ([#7132](https://github.com/dynamic-labs/dynamic-auth/issues/7132)) ([fe16b71](https://github.com/dynamic-labs/dynamic-auth/commit/fe16b71a4c0ad775f8de87ca899cfdd1071f11d6))
60
+
61
+
62
+ ### Bug Fixes
63
+
64
+ * bug where embeddedWalletCreated event was fired before listener … ([#7151](https://github.com/dynamic-labs/dynamic-auth/issues/7151)) ([ae9da56](https://github.com/dynamic-labs/dynamic-auth/commit/ae9da56850130491384a2d5f47c1617815dcce5b))
65
+ * edge case where wallet book fails to load ([#7148](https://github.com/dynamic-labs/dynamic-auth/issues/7148)) ([805dc6d](https://github.com/dynamic-labs/dynamic-auth/commit/805dc6d7cc4cdf0b23748d82b3bd8216d88d55b5))
66
+ * issues where native currency icons were incorrect ([#7126](https://github.com/dynamic-labs/dynamic-auth/issues/7126)) ([8b8891a](https://github.com/dynamic-labs/dynamic-auth/commit/8b8891a52397e17cc127ea3a09ade14c4b70a8ee))
67
+ * remove now-unused sessionTimeout from useSocial ([#7123](https://github.com/dynamic-labs/dynamic-auth/issues/7123)) ([7959a8a](https://github.com/dynamic-labs/dynamic-auth/commit/7959a8a4c8ceb76c5c4f1ae91af204bf9c5cae7b))
68
+ * Revert: Update Exodus extension version " ([#7130](https://github.com/dynamic-labs/dynamic-auth/issues/7130)) ([f2274ae](https://github.com/dynamic-labs/dynamic-auth/commit/f2274aefd29bb9f3fb6de8493e4a5f73946a5600)), closes [#7129](https://github.com/dynamic-labs/dynamic-auth/issues/7129)
69
+ * use embedded primaryChain when passing undefined chains list to createTurnkeyWallet ([#7149](https://github.com/dynamic-labs/dynamic-auth/issues/7149)) ([c73a3ae](https://github.com/dynamic-labs/dynamic-auth/commit/c73a3aeeda8045b936d218f7078ad79967c321ef))
70
+
71
+ ## [4.0.0-alpha.11](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.10...v4.0.0-alpha.11) (2024-10-15)
72
+
73
+
74
+ ### Bug Fixes
75
+
76
+ * missing null check in property accessor ([#7122](https://github.com/dynamic-labs/dynamic-auth/issues/7122)) ([bbb5e76](https://github.com/dynamic-labs/dynamic-auth/commit/bbb5e76c1284edad2829605444dda24971027a57))
77
+
78
+ ## [4.0.0-alpha.10](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.9...v4.0.0-alpha.10) (2024-10-15)
79
+
80
+
81
+ ### Bug Fixes
82
+
83
+ * epicgames key name without dash ([#7119](https://github.com/dynamic-labs/dynamic-auth/issues/7119)) ([7388d6c](https://github.com/dynamic-labs/dynamic-auth/commit/7388d6cf98f6ee92e12003549dfd1ad81951119e))
84
+
85
+ ## [4.0.0-alpha.9](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.8...v4.0.0-alpha.9) (2024-10-11)
86
+
87
+
88
+ ### Features
89
+
90
+ * add support for fordefi wallet ([#7109](https://github.com/dynamic-labs/dynamic-auth/issues/7109)) ([1adb6b1](https://github.com/dynamic-labs/dynamic-auth/commit/1adb6b15b7f8e9156207ac7addf4368d27c1e371))
91
+ * support ability to define additional oauth scopes ([#7105](https://github.com/dynamic-labs/dynamic-auth/issues/7105)) ([b303203](https://github.com/dynamic-labs/dynamic-auth/commit/b303203e8041c0cbf5f8968df0d3cde04ed1b22a))
92
+
93
+
94
+ ### Bug Fixes
95
+
96
+ * add eip6963 for exodus evm ([#7094](https://github.com/dynamic-labs/dynamic-auth/issues/7094)) ([c1ec5ef](https://github.com/dynamic-labs/dynamic-auth/commit/c1ec5ef4b6a531c563be4b690aa5f2bd4e7e6a16))
97
+
98
+ ## [4.0.0-alpha.8](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2024-10-07)
99
+
100
+
101
+ ### Features
102
+
103
+ * add support for dynamic event callbacks in rn ([#6997](https://github.com/dynamic-labs/dynamic-auth/issues/6997)) ([f9ac402](https://github.com/dynamic-labs/dynamic-auth/commit/f9ac40259d9168dfe69dafd5fd44478ba0e69505))
104
+ * add support for dynamic handlers in rn ([#7032](https://github.com/dynamic-labs/dynamic-auth/issues/7032)) ([f61f926](https://github.com/dynamic-labs/dynamic-auth/commit/f61f92666b6df8483dde2c47304fd4fb02690f7d))
105
+ * Support for multi-chain AA ([#6829](https://github.com/dynamic-labs/dynamic-auth/issues/6829)) ([b4a0c0a](https://github.com/dynamic-labs/dynamic-auth/commit/b4a0c0a4de48231a3748826600407c25abf6894d))
106
+
107
+
108
+ ### Bug Fixes
109
+
110
+ * persist isHardwareWalletEnabled on wallet connector ([#7025](https://github.com/dynamic-labs/dynamic-auth/issues/7025)) ([#7034](https://github.com/dynamic-labs/dynamic-auth/issues/7034)) ([4bfc301](https://github.com/dynamic-labs/dynamic-auth/commit/4bfc301d891f10db8c0bd31e5164c489a882c5c3))
111
+
112
+ ## [4.0.0-alpha.7](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2024-10-03)
113
+
114
+
115
+ ### Features
116
+
117
+ * add account abstraction module to client ([#7002](https://github.com/dynamic-labs/dynamic-auth/issues/7002)) ([2f06975](https://github.com/dynamic-labs/dynamic-auth/commit/2f06975083dfa9d40537ef4a99b414eda1a68e01))
118
+ * add support for wallet events in rn ([#7061](https://github.com/dynamic-labs/dynamic-auth/issues/7061)) ([c7c4ce5](https://github.com/dynamic-labs/dynamic-auth/commit/c7c4ce51f27a2b84a1710c120d7006a00920c1e7))
119
+ * add zerodev extension for react native ([#7028](https://github.com/dynamic-labs/dynamic-auth/issues/7028)) ([858b8a8](https://github.com/dynamic-labs/dynamic-auth/commit/858b8a851cfa0cddc8e4559541b03992cf5ccdfc))
120
+
121
+
122
+ ### Bug Fixes
123
+
124
+ * do not modify sol tx blockhash as tx could have been signed already ([#7050](https://github.com/dynamic-labs/dynamic-auth/issues/7050)) ([770edb4](https://github.com/dynamic-labs/dynamic-auth/commit/770edb49ddc231b75fb45a9f6d563f22e5185df2))
125
+ * ensure the correct auth mode is used on social redirect ([#7047](https://github.com/dynamic-labs/dynamic-auth/issues/7047)) ([7c27172](https://github.com/dynamic-labs/dynamic-auth/commit/7c271721d5ddf19e3fd1bf56ddb1d49e0e2bca07))
126
+ * prevent react native message timeout before sdk is ready ([#7051](https://github.com/dynamic-labs/dynamic-auth/issues/7051)) ([6421237](https://github.com/dynamic-labs/dynamic-auth/commit/6421237d677d788b824d53432c1a75b9d571aa78))
127
+ * update version error text ([#7054](https://github.com/dynamic-labs/dynamic-auth/issues/7054)) ([713dacb](https://github.com/dynamic-labs/dynamic-auth/commit/713dacb79c2513323c2e6840d7418716011c2dcd))
128
+ * use project settings sdk network for send flow ([#7011](https://github.com/dynamic-labs/dynamic-auth/issues/7011)) ([983e796](https://github.com/dynamic-labs/dynamic-auth/commit/983e79632762f71ee0502c92057a32ea985ae19c))
129
+
130
+ ## [4.0.0-alpha.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2024-10-01)
131
+
132
+
133
+ ### ⚠ BREAKING CHANGES
134
+
135
+ * remove support to magic ([#7033](https://github.com/dynamic-labs/dynamic-auth/issues/7033)) ([0fdc41f](https://github.com/dynamic-labs/dynamic-auth/commit/0fdc41f05f87b32f56b73db068f984f18bdf69a0))
136
+
137
+ ### Features
138
+
139
+ * global connectivity disconnect ([#7008](https://github.com/dynamic-labs/dynamic-auth/issues/7008)) ([80d705b](https://github.com/dynamic-labs/dynamic-auth/commit/80d705ba252aa3b01cbf4861507fed00e460215f))
140
+
141
+
142
+ ### Bug Fixes
143
+
144
+ * add popper context to send balance ([#7016](https://github.com/dynamic-labs/dynamic-auth/issues/7016)) ([73aa6f1](https://github.com/dynamic-labs/dynamic-auth/commit/73aa6f122afe0db660ebb654f3e018ae7bf445c5))
145
+ * add retry to useConnectWithOtp ([#7012](https://github.com/dynamic-labs/dynamic-auth/issues/7012)) ([d551d72](https://github.com/dynamic-labs/dynamic-auth/commit/d551d72a463f8a03964858b30ec174d41985a7b1))
146
+ * don't re-fetch wallet address on network change ([#7019](https://github.com/dynamic-labs/dynamic-auth/issues/7019)) ([4e7900c](https://github.com/dynamic-labs/dynamic-auth/commit/4e7900cc24b3abda736bc81466eda7512cf7fc61))
147
+ * fix sign message with solana wallet standard provider ([#7014](https://github.com/dynamic-labs/dynamic-auth/issues/7014)) ([ffaf972](https://github.com/dynamic-labs/dynamic-auth/commit/ffaf972e8b190b0b8cd0103e0ef67bfdee6c8f7c))
148
+ * update wallet reference when user switches wallet in connect-only ([#7030](https://github.com/dynamic-labs/dynamic-auth/issues/7030)) ([75d9aa6](https://github.com/dynamic-labs/dynamic-auth/commit/75d9aa66f63fc5536caeff12d8b860c0ba86106f))
149
+
150
+
151
+ ## [4.0.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.4...v4.0.0-alpha.5) (2024-09-25)
152
+
153
+
154
+ ### Features
155
+
156
+ * add isInstalledOnBrowser prop to wallet options in useWalletOptions ([#6976](https://github.com/dynamic-labs/DynamicAuth/issues/6976)) ([0fda409](https://github.com/dynamic-labs/DynamicAuth/commit/0fda409b293c83d73869d791c3d38ac421dcdecb))
157
+
158
+
159
+ ### Bug Fixes
160
+
161
+ * **client:** return user profile when using sign in with external jwt ([#7004](https://github.com/dynamic-labs/DynamicAuth/issues/7004)) ([927cfb6](https://github.com/dynamic-labs/DynamicAuth/commit/927cfb69f3dd7f8b00e3f0f975277a84c99c830b))
162
+ * react-native-extension to include esm ([#6965](https://github.com/dynamic-labs/DynamicAuth/issues/6965)) ([336825b](https://github.com/dynamic-labs/DynamicAuth/commit/336825b50142002bbc67c6f8850bd63030bf384b))
163
+
164
+ ## [4.0.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.3...v4.0.0-alpha.4) (2024-09-23)
165
+
166
+
167
+ ### Bug Fixes
168
+
169
+ * issue where builtin stream module was a dependency ([#6968](https://github.com/dynamic-labs/DynamicAuth/issues/6968)) ([0661129](https://github.com/dynamic-labs/DynamicAuth/commit/0661129920ba70ebbcd4d17ee5aa988c51d1b477))
170
+ * update in memory secure storage ([#6955](https://github.com/dynamic-labs/DynamicAuth/issues/6955)) ([697fc20](https://github.com/dynamic-labs/DynamicAuth/commit/697fc20740b243fa31ecf06e8b2ed9d09932a544))
171
+
172
+ ## [4.0.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.2...v4.0.0-alpha.3) (2024-09-20)
173
+
174
+
175
+ ### Features
176
+
177
+ * developers provide global connectivity appkit project id ([#6941](https://github.com/dynamic-labs/DynamicAuth/issues/6941)) ([83760ea](https://github.com/dynamic-labs/DynamicAuth/commit/83760ea57591685b12caee945f173f6a7f9312d1))
178
+
179
+
180
+ ### Bug Fixes
181
+
182
+ * don't try to set up event listeners if wallet provider doesn't support it ([#6943](https://github.com/dynamic-labs/DynamicAuth/issues/6943)) ([439f1bb](https://github.com/dynamic-labs/DynamicAuth/commit/439f1bbb3c765959756cfc6eeb8429e4018e0379))
183
+ * dont verify all signatures for solana embedded multisig tx ([#6953](https://github.com/dynamic-labs/DynamicAuth/issues/6953)) ([7a7973e](https://github.com/dynamic-labs/DynamicAuth/commit/7a7973e05f0960421b348a55c6a00c9fd873b0b7))
184
+
2
185
  ## [4.0.0-alpha.2](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.1...v4.0.0-alpha.2) (2024-09-18)
3
186
 
4
187
 
package/package.cjs ADDED
@@ -0,0 +1,8 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var version = "4.0.0-alpha.20";
7
+
8
+ exports.version = version;
package/package.js ADDED
@@ -0,0 +1,4 @@
1
+ 'use client'
2
+ var version = "4.0.0-alpha.20";
3
+
4
+ export { version };
package/package.json CHANGED
@@ -1,16 +1,7 @@
1
1
  {
2
2
  "name": "@dynamic-labs/utils",
3
- "version": "4.0.0-alpha.2",
4
- "repository": {
5
- "type": "git",
6
- "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
7
- "directory": "packages/utils"
8
- },
3
+ "version": "4.0.0-alpha.20",
9
4
  "description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
10
- "bugs": {
11
- "url": "https://github.com/dynamic-labs/DynamicAuth/issues"
12
- },
13
- "homepage": "https://github.com/dynamic-labs/DynamicAuth#readme",
14
5
  "author": "Dynamic Labs, Inc.",
15
6
  "license": "MIT",
16
7
  "main": "./src/index.cjs",
@@ -25,14 +16,15 @@
25
16
  },
26
17
  "./package.json": "./package.json"
27
18
  },
19
+ "homepage": "https://www.dynamic.xyz/",
28
20
  "dependencies": {
29
- "@dynamic-labs/sdk-api-core": "0.0.530",
21
+ "@dynamic-labs/sdk-api-core": "0.0.559",
30
22
  "tldts": "6.0.16",
31
- "@dynamic-labs/logger": "4.0.0-alpha.2",
32
- "@dynamic-labs/types": "4.0.0-alpha.2",
23
+ "@dynamic-labs/assert-package-version": "4.0.0-alpha.20",
24
+ "@dynamic-labs/logger": "4.0.0-alpha.20",
25
+ "@dynamic-labs/types": "4.0.0-alpha.20",
33
26
  "buffer": "6.0.3",
34
- "eventemitter3": "5.0.1",
35
- "stream": "0.0.2"
27
+ "eventemitter3": "5.0.1"
36
28
  },
37
29
  "peerDependencies": {}
38
30
  }
@@ -1,6 +1,4 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { EventEmitter } from 'stream';
1
+ import { type EventEmitter } from 'eventemitter3';
4
2
  export type IEthereum = {
5
3
  [key: string]: any;
6
4
  providers?: object[];
package/src/index.cjs CHANGED
@@ -3,8 +3,10 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var assertPackageVersion = require('@dynamic-labs/assert-package-version');
7
+ var _package = require('../package.cjs');
6
8
  var parseChainId = require('./parseChainId.cjs');
7
- var parseEvmNetworks = require('./parseEvmNetworks.cjs');
9
+ var parseNetworks = require('./parseNetworks.cjs');
8
10
  var AccountExistsError = require('./errors/AccountExistsError.cjs');
9
11
  var ChainalysisError = require('./errors/ChainalysisError.cjs');
10
12
  var SandboxMaximumThresholdReachedError = require('./errors/SandboxMaximumThresholdReachedError.cjs');
@@ -61,7 +63,6 @@ var formatNumberText = require('./formatNumberText/formatNumberText.cjs');
61
63
  var ceil = require('./ceil/ceil.cjs');
62
64
  var trimEnd = require('./trimEnd/trimEnd.cjs');
63
65
  var isLedgerAddressViaVerifiedCredentials = require('./isLedgerAddressViaVerifiedCredentials.cjs');
64
- var nativeMobileOauthStateParam = require('./nativeMobileOauthStateParam.cjs');
65
66
  var eip6963Provider = require('./eip6963/eip6963Provider.cjs');
66
67
  var runSafe = require('./runSafe/runSafe.cjs');
67
68
  var PlatformService = require('./services/PlatformService/PlatformService.cjs');
@@ -75,13 +76,17 @@ var hexToString = require('./hexToString/hexToString.cjs');
75
76
  var isHex = require('./isHex/isHex.cjs');
76
77
  var StorageService = require('./services/StorageService/StorageService.cjs');
77
78
  var createStorageService = require('./services/StorageService/createStorageService/createStorageService.cjs');
79
+ var applyPostfixToStorageService = require('./services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.cjs');
78
80
  var cloneObjectWithOverrides = require('./cloneObjectWithOverrides/cloneObjectWithOverrides.cjs');
79
81
  var promiseWithTimeout = require('./promiseWithTimeout/promiseWithTimeout.cjs');
82
+ var isInIframe = require('./isInIframe/isInIframe.cjs');
83
+ var connectWithAppleId = require('./services/Oauth2Service/utils/connectWithAppleId/connectWithAppleId.cjs');
80
84
 
81
-
85
+ assertPackageVersion.assertPackageVersion('@dynamic-labs/utils', _package.version);
82
86
 
83
87
  exports.parseChainId = parseChainId.parseChainId;
84
- exports.parseEvmNetworks = parseEvmNetworks.parseEvmNetworks;
88
+ exports.parseCosmosNetworks = parseNetworks.parseCosmosNetworks;
89
+ exports.parseEvmNetworks = parseNetworks.parseEvmNetworks;
85
90
  exports.AccountExistsError = AccountExistsError.AccountExistsError;
86
91
  exports.ChainalysisError = ChainalysisError.ChainalysisError;
87
92
  exports.SandboxMaximumThresholdReachedError = SandboxMaximumThresholdReachedError.SandboxMaximumThresholdReachedError;
@@ -151,7 +156,6 @@ exports.formatNumberText = formatNumberText.formatNumberText;
151
156
  exports.ceil = ceil.ceil;
152
157
  exports.trimEnd = trimEnd.trimEnd;
153
158
  exports.isLedgerAddressViaVerifiedCredentials = isLedgerAddressViaVerifiedCredentials.isLedgerAddressViaVerifiedCredentials;
154
- exports.nativeMobileOauthStateParam = nativeMobileOauthStateParam.nativeMobileOauthStateParam;
155
159
  exports.Eip6963Provider = eip6963Provider.Eip6963Provider;
156
160
  exports.Eip6963ProviderSingleton = eip6963Provider.Eip6963ProviderSingleton;
157
161
  exports.runSafe = runSafe.runSafe;
@@ -166,5 +170,8 @@ exports.hexToString = hexToString.hexToString;
166
170
  exports.isHex = isHex.isHex;
167
171
  exports.StorageService = StorageService.StorageService;
168
172
  exports.createStorageService = createStorageService.createStorageService;
173
+ exports.applyPostfixToStorageService = applyPostfixToStorageService.applyPostfixToStorageService;
169
174
  exports.cloneObjectWithOverrides = cloneObjectWithOverrides.cloneObjectWithOverrides;
170
175
  exports.promiseWithTimeout = promiseWithTimeout.promiseWithTimeout;
176
+ exports.isInIframe = isInIframe.isInIframe;
177
+ exports.connectWithAppleId = connectWithAppleId.connectWithAppleId;
package/src/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './parseChainId';
2
- export * from './parseEvmNetworks';
2
+ export * from './parseNetworks';
3
3
  export * from './errors';
4
4
  export * from './CancellablePromise';
5
5
  export * from './isFunction';
@@ -20,7 +20,6 @@ export * from './formatNumberText';
20
20
  export * from './ceil';
21
21
  export * from './trimEnd';
22
22
  export * from './isLedgerAddressViaVerifiedCredentials';
23
- export * from './nativeMobileOauthStateParam';
24
23
  export * from './eip6963';
25
24
  export { runSafe } from './runSafe';
26
25
  export { PlatformService, createBrowserPlatformService, type IPlatformService, } from './services/PlatformService';
@@ -30,6 +29,8 @@ export { template } from './template';
30
29
  export { get } from './get';
31
30
  export { hexToString } from './hexToString';
32
31
  export { isHex } from './isHex';
33
- export { type IStorageService, type StorageOptions, StorageService, createStorageService, } from './services/StorageService';
32
+ export { type IStorageService, type StorageOptions, StorageService, createStorageService, applyPostfixToStorageService, } from './services/StorageService';
34
33
  export { cloneObjectWithOverrides } from './cloneObjectWithOverrides';
35
34
  export { promiseWithTimeout } from './promiseWithTimeout';
35
+ export { isInIframe } from './isInIframe';
36
+ export { connectWithAppleId } from './services/Oauth2Service/utils/connectWithAppleId';
package/src/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  'use client'
2
+ import { assertPackageVersion } from '@dynamic-labs/assert-package-version';
3
+ import { version } from '../package.js';
2
4
  export { parseChainId } from './parseChainId.js';
3
- export { parseEvmNetworks } from './parseEvmNetworks.js';
5
+ export { parseCosmosNetworks, parseEvmNetworks } from './parseNetworks.js';
4
6
  export { AccountExistsError } from './errors/AccountExistsError.js';
5
7
  export { ChainalysisError } from './errors/ChainalysisError.js';
6
8
  export { SandboxMaximumThresholdReachedError } from './errors/SandboxMaximumThresholdReachedError.js';
@@ -57,7 +59,6 @@ export { formatNumberText } from './formatNumberText/formatNumberText.js';
57
59
  export { ceil } from './ceil/ceil.js';
58
60
  export { trimEnd } from './trimEnd/trimEnd.js';
59
61
  export { isLedgerAddressViaVerifiedCredentials } from './isLedgerAddressViaVerifiedCredentials.js';
60
- export { nativeMobileOauthStateParam } from './nativeMobileOauthStateParam.js';
61
62
  export { Eip6963Provider, Eip6963ProviderSingleton } from './eip6963/eip6963Provider.js';
62
63
  export { runSafe } from './runSafe/runSafe.js';
63
64
  export { PlatformService } from './services/PlatformService/PlatformService.js';
@@ -71,5 +72,10 @@ export { hexToString } from './hexToString/hexToString.js';
71
72
  export { isHex } from './isHex/isHex.js';
72
73
  export { StorageService } from './services/StorageService/StorageService.js';
73
74
  export { createStorageService } from './services/StorageService/createStorageService/createStorageService.js';
75
+ export { applyPostfixToStorageService } from './services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.js';
74
76
  export { cloneObjectWithOverrides } from './cloneObjectWithOverrides/cloneObjectWithOverrides.js';
75
77
  export { promiseWithTimeout } from './promiseWithTimeout/promiseWithTimeout.js';
78
+ export { isInIframe } from './isInIframe/isInIframe.js';
79
+ export { connectWithAppleId } from './services/Oauth2Service/utils/connectWithAppleId/connectWithAppleId.js';
80
+
81
+ assertPackageVersion('@dynamic-labs/utils', version);
@@ -0,0 +1 @@
1
+ export { isInIframe } from './isInIframe';
@@ -0,0 +1,8 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const isInIframe = () => window.self !== window.top;
7
+
8
+ exports.isInIframe = isInIframe;
@@ -0,0 +1 @@
1
+ export declare const isInIframe: () => boolean;
@@ -0,0 +1,4 @@
1
+ 'use client'
2
+ const isInIframe = () => window.self !== window.top;
3
+
4
+ export { isInIframe };
@@ -13,5 +13,7 @@ const parseEvmNetworks = (networks) => {
13
13
  return network;
14
14
  });
15
15
  };
16
+ const parseCosmosNetworks = (networks) => parseEvmNetworks(networks);
16
17
 
18
+ exports.parseCosmosNetworks = parseCosmosNetworks;
17
19
  exports.parseEvmNetworks = parseEvmNetworks;
@@ -0,0 +1,3 @@
1
+ import { CosmosNetwork, EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
2
+ export declare const parseEvmNetworks: (networks: GenericNetwork[]) => EvmNetwork[];
3
+ export declare const parseCosmosNetworks: (networks: GenericNetwork[]) => CosmosNetwork[];
@@ -9,5 +9,6 @@ const parseEvmNetworks = (networks) => {
9
9
  return network;
10
10
  });
11
11
  };
12
+ const parseCosmosNetworks = (networks) => parseEvmNetworks(networks);
12
13
 
13
- export { parseEvmNetworks };
14
+ export { parseCosmosNetworks, parseEvmNetworks };
@@ -28,11 +28,10 @@ class Oauth2Service {
28
28
  _a = Oauth2Service;
29
29
  _Oauth2Service_implementation = { value: void 0 };
30
30
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
- Oauth2Service.isGetOauthCodeError = (error) => error === 'user-cancelled' ||
32
- (typeof error === 'object' &&
33
- 'code' in error &&
34
- Object.values(types.SocialOAuthErrorCode).includes(error.code) &&
35
- 'message' in error &&
36
- typeof error.message === 'string');
31
+ Oauth2Service.isGetOauthCodeError = (error) => typeof error === 'object' &&
32
+ 'code' in error &&
33
+ Object.values(types.SocialOAuthErrorCode).includes(error.code) &&
34
+ 'message' in error &&
35
+ typeof error.message === 'string';
37
36
 
38
37
  exports.Oauth2Service = Oauth2Service;
@@ -15,7 +15,6 @@ export type GetOauthCodeProps = {
15
15
  * The preferred strategy to use for the OAuth2 flow.
16
16
  */
17
17
  strategy: 'popup' | 'redirect';
18
- sessionTimeout: number;
19
18
  /**
20
19
  * Overrides the default redirectUrl coming from the DynamicContextProvider
21
20
  */
@@ -25,7 +24,7 @@ export type GetOauthCodeProps = {
25
24
  export type IOauth2Service = {
26
25
  getOauthCode: (props: GetOauthCodeProps) => Promise<string>;
27
26
  };
28
- export type GetOauthCodeError = 'user-cancelled' | {
27
+ export type GetOauthCodeError = {
29
28
  code: SocialOAuthErrorCode;
30
29
  message: string;
31
30
  };
@@ -24,11 +24,10 @@ class Oauth2Service {
24
24
  _a = Oauth2Service;
25
25
  _Oauth2Service_implementation = { value: void 0 };
26
26
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- Oauth2Service.isGetOauthCodeError = (error) => error === 'user-cancelled' ||
28
- (typeof error === 'object' &&
29
- 'code' in error &&
30
- Object.values(SocialOAuthErrorCode).includes(error.code) &&
31
- 'message' in error &&
32
- typeof error.message === 'string');
27
+ Oauth2Service.isGetOauthCodeError = (error) => typeof error === 'object' &&
28
+ 'code' in error &&
29
+ Object.values(SocialOAuthErrorCode).includes(error.code) &&
30
+ 'message' in error &&
31
+ typeof error.message === 'string';
33
32
 
34
33
  export { Oauth2Service };
@@ -46,6 +46,14 @@ const createWindowOauth2Service = () => ({
46
46
  clearInterval(authWindowInterval);
47
47
  const providersWaitingOauthMessage = {};
48
48
  const authWindow = window.open('', '_blank', 'width=500,height=600');
49
+ if (authWindow === null || typeof authWindow === 'undefined') {
50
+ // Pop-ups are blocked
51
+ typedReject({
52
+ code: types.SocialOAuthErrorCode.OAUTH_WINDOW_BLOCKED,
53
+ message: 'Please allow popups and try again.',
54
+ });
55
+ return;
56
+ }
49
57
  const clearListeners = () => {
50
58
  window.removeEventListener('message', handleWindowMessage);
51
59
  providersWaitingOauthMessage[provider] = false;
@@ -167,7 +175,10 @@ const createWindowOauth2Service = () => ({
167
175
  setIsProcessing(false);
168
176
  // user didn't complete oauth
169
177
  if (providersWaitingOauthMessage[provider])
170
- typedReject('user-cancelled');
178
+ typedReject({
179
+ code: types.SocialOAuthErrorCode.USER_CANCELLED,
180
+ message: 'User cancelled connection',
181
+ });
171
182
  }, 2000);
172
183
  });
173
184
  }),
@@ -42,6 +42,14 @@ const createWindowOauth2Service = () => ({
42
42
  clearInterval(authWindowInterval);
43
43
  const providersWaitingOauthMessage = {};
44
44
  const authWindow = window.open('', '_blank', 'width=500,height=600');
45
+ if (authWindow === null || typeof authWindow === 'undefined') {
46
+ // Pop-ups are blocked
47
+ typedReject({
48
+ code: SocialOAuthErrorCode.OAUTH_WINDOW_BLOCKED,
49
+ message: 'Please allow popups and try again.',
50
+ });
51
+ return;
52
+ }
45
53
  const clearListeners = () => {
46
54
  window.removeEventListener('message', handleWindowMessage);
47
55
  providersWaitingOauthMessage[provider] = false;
@@ -163,7 +171,10 @@ const createWindowOauth2Service = () => ({
163
171
  setIsProcessing(false);
164
172
  // user didn't complete oauth
165
173
  if (providersWaitingOauthMessage[provider])
166
- typedReject('user-cancelled');
174
+ typedReject({
175
+ code: SocialOAuthErrorCode.USER_CANCELLED,
176
+ message: 'User cancelled connection',
177
+ });
167
178
  }, 2000);
168
179
  });
169
180
  }),
@@ -20,7 +20,7 @@ export declare class StorageService {
20
20
  static registerSourceStorage(source: StorageSource, implementation: IStorageService): void;
21
21
  static getSourceStorage(source: StorageSource): IStorageService | undefined;
22
22
  static resolveStorage(options?: StorageOptions): IStorageService;
23
- static getItem<T = string>(key: string, options?: StorageOptions): T | undefined;
23
+ static getItem<T = string>(key: string, options?: StorageOptions): T | null;
24
24
  static setItem<T>(key: string, value: T, options?: StorageOptions): void;
25
25
  static removeItem(key: string, options?: StorageOptions): void;
26
26
  static getKeys(options?: StorageOptions): string[];
@@ -0,0 +1,11 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const applyPostfixToStorageService = ({ storage, postfix, }) => {
7
+ const getKeyWithPostfix = (key) => postfix ? `${key}_${postfix}` : key;
8
+ return Object.assign(Object.assign({}, storage), { getItem: (key) => storage.getItem(getKeyWithPostfix(key)), removeItem: (key) => storage.removeItem(getKeyWithPostfix(key)), setItem: (key, data) => storage.setItem(getKeyWithPostfix(key), data) });
9
+ };
10
+
11
+ exports.applyPostfixToStorageService = applyPostfixToStorageService;
@@ -0,0 +1,7 @@
1
+ import { IStorageService } from '../types';
2
+ type ApplyPostfixToStorageServiceProps<T extends IStorageService> = {
3
+ storage: T;
4
+ postfix: string | undefined;
5
+ };
6
+ export declare const applyPostfixToStorageService: <T extends IStorageService>({ storage, postfix, }: ApplyPostfixToStorageServiceProps<T>) => T;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ 'use client'
2
+ const applyPostfixToStorageService = ({ storage, postfix, }) => {
3
+ const getKeyWithPostfix = (key) => postfix ? `${key}_${postfix}` : key;
4
+ return Object.assign(Object.assign({}, storage), { getItem: (key) => storage.getItem(getKeyWithPostfix(key)), removeItem: (key) => storage.removeItem(getKeyWithPostfix(key)), setItem: (key, data) => storage.setItem(getKeyWithPostfix(key), data) });
5
+ };
6
+
7
+ export { applyPostfixToStorageService };
@@ -0,0 +1 @@
1
+ export { applyPostfixToStorageService } from './applyPostfixToStorageService';
@@ -6,13 +6,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
6
6
  var logger = require('../../../logger/logger.cjs');
7
7
  var StorageService = require('../StorageService.cjs');
8
8
 
9
- const createStorageService = ({ postfix, storage, }) => {
10
- const getKey = (key) => (postfix ? `${key}_${postfix}` : key);
9
+ const createStorageService = ({ storage, }) => {
11
10
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
11
  const packValue = (value) => JSON.stringify(value);
13
12
  const unpackValue = (value) => JSON.parse(value);
14
13
  const getItem = (key) => {
15
- const value = storage.getItem(getKey(key));
14
+ const value = storage.getItem(key);
16
15
  if (!value) {
17
16
  return undefined;
18
17
  }
@@ -29,10 +28,10 @@ const createStorageService = ({ postfix, storage, }) => {
29
28
  return undefined;
30
29
  };
31
30
  const setItem = (key, value) => {
32
- storage.setItem(getKey(key), packValue(value));
31
+ storage.setItem(key, packValue(value));
33
32
  };
34
33
  const removeItem = (key) => {
35
- storage.removeItem(getKey(key));
34
+ storage.removeItem(key);
36
35
  };
37
36
  const getKeys = () => Object.keys(storage);
38
37
  return {
@@ -1,7 +1,6 @@
1
1
  import { IStorageService } from '../types';
2
2
  type CreateStorageServiceProps = {
3
- postfix?: string;
4
3
  storage: Storage;
5
4
  };
6
- export declare const createStorageService: ({ postfix, storage, }: CreateStorageServiceProps) => IStorageService;
5
+ export declare const createStorageService: ({ storage, }: CreateStorageServiceProps) => IStorageService;
7
6
  export {};
@@ -2,13 +2,12 @@
2
2
  import { logger } from '../../../logger/logger.js';
3
3
  import { StorageService } from '../StorageService.js';
4
4
 
5
- const createStorageService = ({ postfix, storage, }) => {
6
- const getKey = (key) => (postfix ? `${key}_${postfix}` : key);
5
+ const createStorageService = ({ storage, }) => {
7
6
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
7
  const packValue = (value) => JSON.stringify(value);
9
8
  const unpackValue = (value) => JSON.parse(value);
10
9
  const getItem = (key) => {
11
- const value = storage.getItem(getKey(key));
10
+ const value = storage.getItem(key);
12
11
  if (!value) {
13
12
  return undefined;
14
13
  }
@@ -25,10 +24,10 @@ const createStorageService = ({ postfix, storage, }) => {
25
24
  return undefined;
26
25
  };
27
26
  const setItem = (key, value) => {
28
- storage.setItem(getKey(key), packValue(value));
27
+ storage.setItem(key, packValue(value));
29
28
  };
30
29
  const removeItem = (key) => {
31
- storage.removeItem(getKey(key));
30
+ storage.removeItem(key);
32
31
  };
33
32
  const getKeys = () => Object.keys(storage);
34
33
  return {
@@ -1,3 +1,4 @@
1
1
  export { StorageService, type StorageOptions } from './StorageService';
2
2
  export { createStorageService } from './createStorageService';
3
3
  export type { IStorageService } from './types';
4
+ export { applyPostfixToStorageService } from './applyPostfixToStorageService';
@@ -1,5 +1,5 @@
1
1
  export type IStorageService = {
2
- getItem: <T = string>(key: string) => T | undefined;
2
+ getItem: <T = string>(key: string) => T | null;
3
3
  setItem: <T>(key: string, value: T) => void;
4
4
  removeItem: (key: string) => void;
5
5
  getKeys: () => string[];
@@ -1,13 +0,0 @@
1
- 'use client'
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- /**
7
- * Represents the value that separates the random string from the
8
- * mobile deeplink URL in the state param from the oauth messages
9
- * emitted from native mobile apps.
10
- */
11
- const nativeMobileOauthStateParam = '_client-redirect:';
12
-
13
- exports.nativeMobileOauthStateParam = nativeMobileOauthStateParam;
@@ -1,14 +0,0 @@
1
- /**
2
- * Represents the value that separates the random string from the
3
- * mobile deeplink URL in the state param from the oauth messages
4
- * emitted from native mobile apps.
5
- */
6
- export declare const nativeMobileOauthStateParam = "_client-redirect:";
7
- /**
8
- * Represents the format of the state variable exchanged in oauth2 messages
9
- * by native mobile devices.
10
- *
11
- * It has a random state string followed byt the client redirect URL as configured
12
- * in the Client.
13
- */
14
- export type NativeMobileOauthState = `${string}${typeof nativeMobileOauthStateParam}${string}`;
@@ -1,9 +0,0 @@
1
- 'use client'
2
- /**
3
- * Represents the value that separates the random string from the
4
- * mobile deeplink URL in the state param from the oauth messages
5
- * emitted from native mobile apps.
6
- */
7
- const nativeMobileOauthStateParam = '_client-redirect:';
8
-
9
- export { nativeMobileOauthStateParam };
@@ -1,2 +0,0 @@
1
- import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
2
- export declare const parseEvmNetworks: (networks: GenericNetwork[]) => EvmNetwork[];