@dynamic-labs/utils 4.0.0-alpha.0 → 4.0.0-alpha.10

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 (29) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/package.cjs +8 -0
  3. package/package.js +4 -0
  4. package/package.json +7 -15
  5. package/src/cloneObjectWithOverrides/cloneObjectWithOverrides.cjs +10 -1
  6. package/src/cloneObjectWithOverrides/cloneObjectWithOverrides.js +10 -1
  7. package/src/eip6963/eip6963Provider.d.ts +1 -3
  8. package/src/errors/InvalidEmbeddedWalletSessionKeyError.cjs +14 -0
  9. package/src/errors/InvalidEmbeddedWalletSessionKeyError.d.ts +4 -0
  10. package/src/errors/InvalidEmbeddedWalletSessionKeyError.js +10 -0
  11. package/src/errors/RequestChannelNotHandledError.cjs +11 -0
  12. package/src/errors/RequestChannelNotHandledError.d.ts +3 -0
  13. package/src/errors/RequestChannelNotHandledError.js +7 -0
  14. package/src/errors/index.d.ts +2 -0
  15. package/src/index.cjs +9 -3
  16. package/src/index.d.ts +1 -1
  17. package/src/index.js +7 -1
  18. package/src/promiseWithTimeout/index.d.ts +1 -0
  19. package/src/promiseWithTimeout/promiseWithTimeout.cjs +19 -0
  20. package/src/promiseWithTimeout/promiseWithTimeout.d.ts +5 -0
  21. package/src/promiseWithTimeout/promiseWithTimeout.js +15 -0
  22. package/src/services/Oauth2Service/Oauth2Service.cjs +5 -6
  23. package/src/services/Oauth2Service/Oauth2Service.d.ts +1 -1
  24. package/src/services/Oauth2Service/Oauth2Service.js +5 -6
  25. package/src/services/Oauth2Service/createWindowOauth2Service/createWindowOauth2Service.cjs +4 -1
  26. package/src/services/Oauth2Service/createWindowOauth2Service/createWindowOauth2Service.js +4 -1
  27. package/src/nativeMobileOauthStateParam.cjs +0 -13
  28. package/src/nativeMobileOauthStateParam.d.ts +0 -14
  29. package/src/nativeMobileOauthStateParam.js +0 -9
package/CHANGELOG.md CHANGED
@@ -1,4 +1,136 @@
1
1
 
2
+ ## [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)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * 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))
8
+
9
+ ## [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)
10
+
11
+
12
+ ### Features
13
+
14
+ * 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))
15
+ * 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))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * 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))
21
+
22
+ ## [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)
23
+
24
+
25
+ ### Features
26
+
27
+ * 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))
28
+ * 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))
29
+ * 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))
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * 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))
35
+
36
+ ## [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)
37
+
38
+
39
+ ### Features
40
+
41
+ * 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))
42
+ * 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))
43
+ * 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))
44
+
45
+
46
+ ### Bug Fixes
47
+
48
+ * 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))
49
+ * 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))
50
+ * 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))
51
+ * update version error text ([#7054](https://github.com/dynamic-labs/dynamic-auth/issues/7054)) ([713dacb](https://github.com/dynamic-labs/dynamic-auth/commit/713dacb79c2513323c2e6840d7418716011c2dcd))
52
+ * 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))
53
+
54
+ ## [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)
55
+
56
+
57
+ ### ⚠ BREAKING CHANGES
58
+
59
+ * remove support to magic ([#7033](https://github.com/dynamic-labs/dynamic-auth/issues/7033)) ([0fdc41f](https://github.com/dynamic-labs/dynamic-auth/commit/0fdc41f05f87b32f56b73db068f984f18bdf69a0))
60
+
61
+ ### Features
62
+
63
+ * global connectivity disconnect ([#7008](https://github.com/dynamic-labs/dynamic-auth/issues/7008)) ([80d705b](https://github.com/dynamic-labs/dynamic-auth/commit/80d705ba252aa3b01cbf4861507fed00e460215f))
64
+
65
+
66
+ ### Bug Fixes
67
+
68
+ * 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))
69
+ * add retry to useConnectWithOtp ([#7012](https://github.com/dynamic-labs/dynamic-auth/issues/7012)) ([d551d72](https://github.com/dynamic-labs/dynamic-auth/commit/d551d72a463f8a03964858b30ec174d41985a7b1))
70
+ * 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))
71
+ * 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))
72
+ * 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))
73
+
74
+
75
+ ## [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)
76
+
77
+
78
+ ### Features
79
+
80
+ * 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))
81
+
82
+
83
+ ### Bug Fixes
84
+
85
+ * **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))
86
+ * react-native-extension to include esm ([#6965](https://github.com/dynamic-labs/DynamicAuth/issues/6965)) ([336825b](https://github.com/dynamic-labs/DynamicAuth/commit/336825b50142002bbc67c6f8850bd63030bf384b))
87
+
88
+ ## [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)
89
+
90
+
91
+ ### Bug Fixes
92
+
93
+ * 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))
94
+ * update in memory secure storage ([#6955](https://github.com/dynamic-labs/DynamicAuth/issues/6955)) ([697fc20](https://github.com/dynamic-labs/DynamicAuth/commit/697fc20740b243fa31ecf06e8b2ed9d09932a544))
95
+
96
+ ## [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)
97
+
98
+
99
+ ### Features
100
+
101
+ * 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))
102
+
103
+
104
+ ### Bug Fixes
105
+
106
+ * 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))
107
+ * 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))
108
+
109
+ ## [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)
110
+
111
+
112
+ ### Features
113
+
114
+ * add iconVariant prop to DynamicBridgeWidget ([#6915](https://github.com/dynamic-labs/DynamicAuth/issues/6915)) ([8aa0f3d](https://github.com/dynamic-labs/DynamicAuth/commit/8aa0f3d8d8c41c7b5c4796106f611f208010cb6d))
115
+ * allow to create extra embedded wallets in react-native ([#6923](https://github.com/dynamic-labs/DynamicAuth/issues/6923)) ([ba22f7b](https://github.com/dynamic-labs/DynamicAuth/commit/ba22f7bcf41a444a4df0aff9b6aec257457e9402))
116
+ * **client:** add hide method for auth and userProfile ui modules ([#6928](https://github.com/dynamic-labs/DynamicAuth/issues/6928)) ([a11a4a5](https://github.com/dynamic-labs/DynamicAuth/commit/a11a4a5d6e25ce2a916ebd52f0b341020dc1a7e5))
117
+
118
+ ## [4.0.0-alpha.1](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.0...v4.0.0-alpha.1) (2024-09-17)
119
+
120
+
121
+ ### Features
122
+
123
+ * blockaid website scanning for global connectivity ([#6874](https://github.com/dynamic-labs/DynamicAuth/issues/6874)) ([f8cbabd](https://github.com/dynamic-labs/DynamicAuth/commit/f8cbabd92fd4b5b096f47ff8e24c572ad7720dd8))
124
+
125
+
126
+ ### Bug Fixes
127
+
128
+ * deeplinking on ethereum and bitcoin sats connector ([#6917](https://github.com/dynamic-labs/DynamicAuth/issues/6917)) ([3896c3a](https://github.com/dynamic-labs/DynamicAuth/commit/3896c3a97819459da74dc5b4771796d7991c1f07))
129
+ * emit walletAdded event when createEmbeddedWalletAccount called ([#6922](https://github.com/dynamic-labs/DynamicAuth/issues/6922)) ([2a8bdd6](https://github.com/dynamic-labs/DynamicAuth/commit/2a8bdd68c50efd946c6f9b398dfae2b3585db34f))
130
+ * interface for sendBitcoin on unisat ([37a1bc2](https://github.com/dynamic-labs/DynamicAuth/commit/37a1bc216f43eef817c40e23b9161327f9d29c59))
131
+ * remove ballet crypto and duplicate keplr entry ([#6906](https://github.com/dynamic-labs/DynamicAuth/issues/6906)) ([14aeeea](https://github.com/dynamic-labs/DynamicAuth/commit/14aeeeaa8d906344f4aeddf9e73527df346b9ea0))
132
+ * solana and cosmos signers not working properly ([#6898](https://github.com/dynamic-labs/DynamicAuth/issues/6898)) ([6f07981](https://github.com/dynamic-labs/DynamicAuth/commit/6f079811c0d7e45b97d2dae72f4141268ab4fe0c))
133
+
2
134
  ## [4.0.0-alpha.0](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0...v4.0.0-alpha.0) (2024-09-13)
3
135
 
4
136
 
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.10";
7
+
8
+ exports.version = version;
package/package.js ADDED
@@ -0,0 +1,4 @@
1
+ 'use client'
2
+ var version = "4.0.0-alpha.10";
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.0",
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.10",
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.529",
21
+ "@dynamic-labs/sdk-api-core": "0.0.545",
30
22
  "tldts": "6.0.16",
31
- "@dynamic-labs/logger": "4.0.0-alpha.0",
32
- "@dynamic-labs/types": "4.0.0-alpha.0",
23
+ "@dynamic-labs/assert-package-version": "4.0.0-alpha.10",
24
+ "@dynamic-labs/logger": "4.0.0-alpha.10",
25
+ "@dynamic-labs/types": "4.0.0-alpha.10",
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
  }
@@ -18,7 +18,7 @@ const cloneObjectWithOverrides = (original, overrides = {}) => {
18
18
  // Get the property descriptors from the original object
19
19
  const descriptors = Object.getOwnPropertyDescriptors(original);
20
20
  // Create a new object using the same prototype as the original
21
- const clone = Object.create(Object.getPrototypeOf(original), descriptors);
21
+ const clone = Object.create(Object.getPrototypeOf(original));
22
22
  // // Loop through the overrides to redefine any read-only methods
23
23
  for (const [key, value] of Object.entries(overrides)) {
24
24
  // Redefine the method even if it was read-only on the original object
@@ -31,6 +31,15 @@ const cloneObjectWithOverrides = (original, overrides = {}) => {
31
31
  writable: true, // Preserve enumerability
32
32
  });
33
33
  }
34
+ const overridesKeys = Object.keys(overrides);
35
+ // add properties from original object if they're not in overrides
36
+ // if we add all of them, read-only props/methods might not get properly overwritten
37
+ for (const [key, descriptor] of Object.entries(descriptors)) {
38
+ // if has not been overwritten, add original
39
+ if (!overridesKeys.includes(key)) {
40
+ Object.defineProperty(clone, key, descriptor);
41
+ }
42
+ }
34
43
  return clone;
35
44
  };
36
45
 
@@ -14,7 +14,7 @@ const cloneObjectWithOverrides = (original, overrides = {}) => {
14
14
  // Get the property descriptors from the original object
15
15
  const descriptors = Object.getOwnPropertyDescriptors(original);
16
16
  // Create a new object using the same prototype as the original
17
- const clone = Object.create(Object.getPrototypeOf(original), descriptors);
17
+ const clone = Object.create(Object.getPrototypeOf(original));
18
18
  // // Loop through the overrides to redefine any read-only methods
19
19
  for (const [key, value] of Object.entries(overrides)) {
20
20
  // Redefine the method even if it was read-only on the original object
@@ -27,6 +27,15 @@ const cloneObjectWithOverrides = (original, overrides = {}) => {
27
27
  writable: true, // Preserve enumerability
28
28
  });
29
29
  }
30
+ const overridesKeys = Object.keys(overrides);
31
+ // add properties from original object if they're not in overrides
32
+ // if we add all of them, read-only props/methods might not get properly overwritten
33
+ for (const [key, descriptor] of Object.entries(descriptors)) {
34
+ // if has not been overwritten, add original
35
+ if (!overridesKeys.includes(key)) {
36
+ Object.defineProperty(clone, key, descriptor);
37
+ }
38
+ }
30
39
  return clone;
31
40
  };
32
41
 
@@ -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[];
@@ -0,0 +1,14 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var DynamicError = require('./DynamicError.cjs');
7
+
8
+ class InvalidEmbeddedWalletSessionKeyError extends DynamicError.DynamicError {
9
+ constructor(error) {
10
+ super(error !== null && error !== void 0 ? error : 'Invalid embedded wallet session key.');
11
+ }
12
+ }
13
+
14
+ exports.InvalidEmbeddedWalletSessionKeyError = InvalidEmbeddedWalletSessionKeyError;
@@ -0,0 +1,4 @@
1
+ import { DynamicError } from './DynamicError';
2
+ export declare class InvalidEmbeddedWalletSessionKeyError extends DynamicError {
3
+ constructor(error?: string);
4
+ }
@@ -0,0 +1,10 @@
1
+ 'use client'
2
+ import { DynamicError } from './DynamicError.js';
3
+
4
+ class InvalidEmbeddedWalletSessionKeyError extends DynamicError {
5
+ constructor(error) {
6
+ super(error !== null && error !== void 0 ? error : 'Invalid embedded wallet session key.');
7
+ }
8
+ }
9
+
10
+ export { InvalidEmbeddedWalletSessionKeyError };
@@ -0,0 +1,11 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var DynamicError = require('./DynamicError.cjs');
7
+
8
+ class RequestChannelNotHandledError extends DynamicError.DynamicError {
9
+ }
10
+
11
+ exports.RequestChannelNotHandledError = RequestChannelNotHandledError;
@@ -0,0 +1,3 @@
1
+ import { DynamicError } from './DynamicError';
2
+ export declare class RequestChannelNotHandledError extends DynamicError {
3
+ }
@@ -0,0 +1,7 @@
1
+ 'use client'
2
+ import { DynamicError } from './DynamicError.js';
3
+
4
+ class RequestChannelNotHandledError extends DynamicError {
5
+ }
6
+
7
+ export { RequestChannelNotHandledError };
@@ -27,6 +27,7 @@ export * from './InvalidPhoneNumberError';
27
27
  export * from './MergeAccountsConfirmationError';
28
28
  export * from './CustomFieldNotUniqueError';
29
29
  export * from './CookieInvalidError';
30
+ export * from './RequestChannelNotHandledError';
30
31
  export * from './AccessBlockedError';
31
32
  export * from './EmbeddedWalletException';
32
33
  export * from './MfaInvalidOtpError';
@@ -34,3 +35,4 @@ export * from './MfaRateLimitedError';
34
35
  export * from './ExternalAuthError';
35
36
  export * from './WalletAddressMismatchError';
36
37
  export * from './UserRejectedRequestError';
38
+ export * from './InvalidEmbeddedWalletSessionKeyError';
package/src/index.cjs CHANGED
@@ -3,6 +3,8 @@
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
9
  var parseEvmNetworks = require('./parseEvmNetworks.cjs');
8
10
  var AccountExistsError = require('./errors/AccountExistsError.cjs');
@@ -33,6 +35,7 @@ var InvalidPhoneNumberError = require('./errors/InvalidPhoneNumberError.cjs');
33
35
  var MergeAccountsConfirmationError = require('./errors/MergeAccountsConfirmationError.cjs');
34
36
  var CustomFieldNotUniqueError = require('./errors/CustomFieldNotUniqueError.cjs');
35
37
  var CookieInvalidError = require('./errors/CookieInvalidError.cjs');
38
+ var RequestChannelNotHandledError = require('./errors/RequestChannelNotHandledError.cjs');
36
39
  var AccessBlockedError = require('./errors/AccessBlockedError.cjs');
37
40
  var EmbeddedWalletException = require('./errors/EmbeddedWalletException.cjs');
38
41
  var MfaInvalidOtpError = require('./errors/MfaInvalidOtpError.cjs');
@@ -40,6 +43,7 @@ var MfaRateLimitedError = require('./errors/MfaRateLimitedError.cjs');
40
43
  var ExternalAuthError = require('./errors/ExternalAuthError.cjs');
41
44
  var WalletAddressMismatchError = require('./errors/WalletAddressMismatchError.cjs');
42
45
  var UserRejectedRequestError = require('./errors/UserRejectedRequestError.cjs');
46
+ var InvalidEmbeddedWalletSessionKeyError = require('./errors/InvalidEmbeddedWalletSessionKeyError.cjs');
43
47
  var CancellablePromise = require('./CancellablePromise/CancellablePromise.cjs');
44
48
  var isFunction = require('./isFunction/isFunction.cjs');
45
49
  var isMobile = require('./isMobile.cjs');
@@ -59,7 +63,6 @@ var formatNumberText = require('./formatNumberText/formatNumberText.cjs');
59
63
  var ceil = require('./ceil/ceil.cjs');
60
64
  var trimEnd = require('./trimEnd/trimEnd.cjs');
61
65
  var isLedgerAddressViaVerifiedCredentials = require('./isLedgerAddressViaVerifiedCredentials.cjs');
62
- var nativeMobileOauthStateParam = require('./nativeMobileOauthStateParam.cjs');
63
66
  var eip6963Provider = require('./eip6963/eip6963Provider.cjs');
64
67
  var runSafe = require('./runSafe/runSafe.cjs');
65
68
  var PlatformService = require('./services/PlatformService/PlatformService.cjs');
@@ -74,8 +77,9 @@ var isHex = require('./isHex/isHex.cjs');
74
77
  var StorageService = require('./services/StorageService/StorageService.cjs');
75
78
  var createStorageService = require('./services/StorageService/createStorageService/createStorageService.cjs');
76
79
  var cloneObjectWithOverrides = require('./cloneObjectWithOverrides/cloneObjectWithOverrides.cjs');
80
+ var promiseWithTimeout = require('./promiseWithTimeout/promiseWithTimeout.cjs');
77
81
 
78
-
82
+ assertPackageVersion.assertPackageVersion('@dynamic-labs/utils', _package.version);
79
83
 
80
84
  exports.parseChainId = parseChainId.parseChainId;
81
85
  exports.parseEvmNetworks = parseEvmNetworks.parseEvmNetworks;
@@ -107,6 +111,7 @@ exports.InvalidPhoneNumberError = InvalidPhoneNumberError.InvalidPhoneNumberErro
107
111
  exports.MergeAccountsConfirmationError = MergeAccountsConfirmationError.MergeAccountsConfirmationError;
108
112
  exports.CustomFieldNotUniqueError = CustomFieldNotUniqueError.CustomFieldNotUniqueError;
109
113
  exports.CookieInvalidError = CookieInvalidError.CookieInvalidError;
114
+ exports.RequestChannelNotHandledError = RequestChannelNotHandledError.RequestChannelNotHandledError;
110
115
  exports.AccessBlockedError = AccessBlockedError.AccessBlockedError;
111
116
  exports.EmbeddedWalletException = EmbeddedWalletException.EmbeddedWalletException;
112
117
  exports.MfaInvalidOtpError = MfaInvalidOtpError.MfaInvalidOtpError;
@@ -114,6 +119,7 @@ exports.MfaRateLimitedError = MfaRateLimitedError.MfaRateLimitedError;
114
119
  exports.ExternalAuthError = ExternalAuthError.ExternalAuthError;
115
120
  exports.WalletAddressMismatchError = WalletAddressMismatchError.WalletAddressMismatchError;
116
121
  exports.UserRejectedRequestError = UserRejectedRequestError.UserRejectedRequestError;
122
+ exports.InvalidEmbeddedWalletSessionKeyError = InvalidEmbeddedWalletSessionKeyError.InvalidEmbeddedWalletSessionKeyError;
117
123
  exports.CancellablePromise = CancellablePromise.CancellablePromise;
118
124
  exports.isFunction = isFunction.isFunction;
119
125
  exports.getAndroidVersion = isMobile.getAndroidVersion;
@@ -146,7 +152,6 @@ exports.formatNumberText = formatNumberText.formatNumberText;
146
152
  exports.ceil = ceil.ceil;
147
153
  exports.trimEnd = trimEnd.trimEnd;
148
154
  exports.isLedgerAddressViaVerifiedCredentials = isLedgerAddressViaVerifiedCredentials.isLedgerAddressViaVerifiedCredentials;
149
- exports.nativeMobileOauthStateParam = nativeMobileOauthStateParam.nativeMobileOauthStateParam;
150
155
  exports.Eip6963Provider = eip6963Provider.Eip6963Provider;
151
156
  exports.Eip6963ProviderSingleton = eip6963Provider.Eip6963ProviderSingleton;
152
157
  exports.runSafe = runSafe.runSafe;
@@ -162,3 +167,4 @@ exports.isHex = isHex.isHex;
162
167
  exports.StorageService = StorageService.StorageService;
163
168
  exports.createStorageService = createStorageService.createStorageService;
164
169
  exports.cloneObjectWithOverrides = cloneObjectWithOverrides.cloneObjectWithOverrides;
170
+ exports.promiseWithTimeout = promiseWithTimeout.promiseWithTimeout;
package/src/index.d.ts CHANGED
@@ -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';
@@ -32,3 +31,4 @@ export { hexToString } from './hexToString';
32
31
  export { isHex } from './isHex';
33
32
  export { type IStorageService, type StorageOptions, StorageService, createStorageService, } from './services/StorageService';
34
33
  export { cloneObjectWithOverrides } from './cloneObjectWithOverrides';
34
+ export { promiseWithTimeout } from './promiseWithTimeout';
package/src/index.js CHANGED
@@ -1,4 +1,6 @@
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
5
  export { parseEvmNetworks } from './parseEvmNetworks.js';
4
6
  export { AccountExistsError } from './errors/AccountExistsError.js';
@@ -29,6 +31,7 @@ export { InvalidPhoneNumberError } from './errors/InvalidPhoneNumberError.js';
29
31
  export { MergeAccountsConfirmationError } from './errors/MergeAccountsConfirmationError.js';
30
32
  export { CustomFieldNotUniqueError } from './errors/CustomFieldNotUniqueError.js';
31
33
  export { CookieInvalidError } from './errors/CookieInvalidError.js';
34
+ export { RequestChannelNotHandledError } from './errors/RequestChannelNotHandledError.js';
32
35
  export { AccessBlockedError } from './errors/AccessBlockedError.js';
33
36
  export { EmbeddedWalletException } from './errors/EmbeddedWalletException.js';
34
37
  export { MfaInvalidOtpError } from './errors/MfaInvalidOtpError.js';
@@ -36,6 +39,7 @@ export { MfaRateLimitedError } from './errors/MfaRateLimitedError.js';
36
39
  export { ExternalAuthError } from './errors/ExternalAuthError.js';
37
40
  export { WalletAddressMismatchError } from './errors/WalletAddressMismatchError.js';
38
41
  export { UserRejectedRequestError } from './errors/UserRejectedRequestError.js';
42
+ export { InvalidEmbeddedWalletSessionKeyError } from './errors/InvalidEmbeddedWalletSessionKeyError.js';
39
43
  export { CancellablePromise } from './CancellablePromise/CancellablePromise.js';
40
44
  export { isFunction } from './isFunction/isFunction.js';
41
45
  export { getAndroidVersion, isAndroid, isIOS, isIPad, isIPhone, isIPhone8OrEarlier, isLegacySafari, isMobile, isSafariBrowser, isSamsungBrowser, isWindows } from './isMobile.js';
@@ -55,7 +59,6 @@ export { formatNumberText } from './formatNumberText/formatNumberText.js';
55
59
  export { ceil } from './ceil/ceil.js';
56
60
  export { trimEnd } from './trimEnd/trimEnd.js';
57
61
  export { isLedgerAddressViaVerifiedCredentials } from './isLedgerAddressViaVerifiedCredentials.js';
58
- export { nativeMobileOauthStateParam } from './nativeMobileOauthStateParam.js';
59
62
  export { Eip6963Provider, Eip6963ProviderSingleton } from './eip6963/eip6963Provider.js';
60
63
  export { runSafe } from './runSafe/runSafe.js';
61
64
  export { PlatformService } from './services/PlatformService/PlatformService.js';
@@ -70,3 +73,6 @@ export { isHex } from './isHex/isHex.js';
70
73
  export { StorageService } from './services/StorageService/StorageService.js';
71
74
  export { createStorageService } from './services/StorageService/createStorageService/createStorageService.js';
72
75
  export { cloneObjectWithOverrides } from './cloneObjectWithOverrides/cloneObjectWithOverrides.js';
76
+ export { promiseWithTimeout } from './promiseWithTimeout/promiseWithTimeout.js';
77
+
78
+ assertPackageVersion('@dynamic-labs/utils', version);
@@ -0,0 +1 @@
1
+ export { promiseWithTimeout } from './promiseWithTimeout';
@@ -0,0 +1,19 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const promiseWithTimeout = (promise, ms, { timeoutMessage = 'Operation timed out' } = {}) => {
7
+ let timerId;
8
+ const timeoutPromise = new Promise((_, reject) => {
9
+ timerId = setTimeout(() => {
10
+ reject(new Error(timeoutMessage));
11
+ }, ms);
12
+ });
13
+ const wrappedPromise = promise.finally(() => {
14
+ clearTimeout(timerId);
15
+ });
16
+ return Promise.race([wrappedPromise, timeoutPromise]);
17
+ };
18
+
19
+ exports.promiseWithTimeout = promiseWithTimeout;
@@ -0,0 +1,5 @@
1
+ type PromiseWithTimeoutOptions = {
2
+ timeoutMessage?: string;
3
+ };
4
+ export declare const promiseWithTimeout: <T>(promise: Promise<T>, ms: number, { timeoutMessage }?: PromiseWithTimeoutOptions) => Promise<T>;
5
+ export {};
@@ -0,0 +1,15 @@
1
+ 'use client'
2
+ const promiseWithTimeout = (promise, ms, { timeoutMessage = 'Operation timed out' } = {}) => {
3
+ let timerId;
4
+ const timeoutPromise = new Promise((_, reject) => {
5
+ timerId = setTimeout(() => {
6
+ reject(new Error(timeoutMessage));
7
+ }, ms);
8
+ });
9
+ const wrappedPromise = promise.finally(() => {
10
+ clearTimeout(timerId);
11
+ });
12
+ return Promise.race([wrappedPromise, timeoutPromise]);
13
+ };
14
+
15
+ export { promiseWithTimeout };
@@ -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;
@@ -25,7 +25,7 @@ export type GetOauthCodeProps = {
25
25
  export type IOauth2Service = {
26
26
  getOauthCode: (props: GetOauthCodeProps) => Promise<string>;
27
27
  };
28
- export type GetOauthCodeError = 'user-cancelled' | {
28
+ export type GetOauthCodeError = {
29
29
  code: SocialOAuthErrorCode;
30
30
  message: string;
31
31
  };
@@ -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 };
@@ -167,7 +167,10 @@ const createWindowOauth2Service = () => ({
167
167
  setIsProcessing(false);
168
168
  // user didn't complete oauth
169
169
  if (providersWaitingOauthMessage[provider])
170
- typedReject('user-cancelled');
170
+ typedReject({
171
+ code: types.SocialOAuthErrorCode.USER_CANCELLED,
172
+ message: 'User cancelled connection',
173
+ });
171
174
  }, 2000);
172
175
  });
173
176
  }),
@@ -163,7 +163,10 @@ const createWindowOauth2Service = () => ({
163
163
  setIsProcessing(false);
164
164
  // user didn't complete oauth
165
165
  if (providersWaitingOauthMessage[provider])
166
- typedReject('user-cancelled');
166
+ typedReject({
167
+ code: SocialOAuthErrorCode.USER_CANCELLED,
168
+ message: 'User cancelled connection',
169
+ });
167
170
  }, 2000);
168
171
  });
169
172
  }),
@@ -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 };