@dynamic-labs/utils 1.0.0-alpha.0 → 1.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,52 @@
1
1
 
2
+ ## [1.0.0-alpha.1](https://github.com/dynamic-labs/DynamicAuth/compare/v1.0.0-alpha.0...v1.0.0-alpha.1) (2023-11-22)
3
+
4
+
5
+ ### Features
6
+
7
+ * add basic zerodev connector ([#3782](https://github.com/dynamic-labs/DynamicAuth/issues/3782)) ([3f8debd](https://github.com/dynamic-labs/DynamicAuth/commit/3f8debddb1bff325389193e0348128ebb9ba59b9))
8
+ * add hcaptcha to dynamic signin methods ([#3853](https://github.com/dynamic-labs/DynamicAuth/issues/3853)) ([a4a9ad3](https://github.com/dynamic-labs/DynamicAuth/commit/a4a9ad3b048e33acc5b885cd797697ca4f41995e))
9
+ * add hcaptcha to magic login methods ([#3894](https://github.com/dynamic-labs/DynamicAuth/issues/3894)) ([c76b750](https://github.com/dynamic-labs/DynamicAuth/commit/c76b750351557ad9cf5bbcc39bd7fd0970b66312))
10
+ * add need help section to sign message modal ([#3847](https://github.com/dynamic-labs/DynamicAuth/issues/3847)) ([4f90617](https://github.com/dynamic-labs/DynamicAuth/commit/4f90617bcf400a7171062435c731d95c6bbf41c7))
11
+ * add perawallet to wallet book ([#3868](https://github.com/dynamic-labs/DynamicAuth/issues/3868)) ([5f4e79d](https://github.com/dynamic-labs/DynamicAuth/commit/5f4e79df202b02088b15c5dfab7feee5789e9ece))
12
+ * add serialization to allow sending events callbacks and wallet connectors used by customers ([0077eb0](https://github.com/dynamic-labs/DynamicAuth/commit/0077eb0af05feb765d0c61911a48d5e98554760a))
13
+ * add support for dynamic domains for starknet signatures ([#3927](https://github.com/dynamic-labs/DynamicAuth/issues/3927)) ([52797ce](https://github.com/dynamic-labs/DynamicAuth/commit/52797ce867c956049bfa5021cf5b1c562e771a2e))
14
+ * add support for Pera Wallet ([#3866](https://github.com/dynamic-labs/DynamicAuth/issues/3866)) ([cb99ae7](https://github.com/dynamic-labs/DynamicAuth/commit/cb99ae77605d913932a77bf2ea565b7e7baf781a))
15
+ * add support for private starknet rpc providers ([#3881](https://github.com/dynamic-labs/DynamicAuth/issues/3881)) ([8fd5ef9](https://github.com/dynamic-labs/DynamicAuth/commit/8fd5ef902d48ef828b1cb89d0e462ea5b54f4e42))
16
+ * add zerodev to wallet book and render generic wallet icon ([#3822](https://github.com/dynamic-labs/DynamicAuth/issues/3822)) ([9c5768d](https://github.com/dynamic-labs/DynamicAuth/commit/9c5768d0fc1169c62927926c0e436b6a448d5656))
17
+ * allow updating evmNetworks in real time ([#3877](https://github.com/dynamic-labs/DynamicAuth/issues/3877)) ([b4a2521](https://github.com/dynamic-labs/DynamicAuth/commit/b4a2521830b859a129d70bad2ae1213db075550d))
18
+ * editable copies as typed data ([#3784](https://github.com/dynamic-labs/DynamicAuth/issues/3784)) ([d6c6d74](https://github.com/dynamic-labs/DynamicAuth/commit/d6c6d74e60c9c9d459414c452fbd780d3f6bc2f9))
19
+ * email inputs now use email keyboard ([#3843](https://github.com/dynamic-labs/DynamicAuth/issues/3843)) ([76926e2](https://github.com/dynamic-labs/DynamicAuth/commit/76926e26b6a188d9d8e3bba2512340610e218e9f))
20
+ * hide unlink if disabled in dashboard ([#3825](https://github.com/dynamic-labs/DynamicAuth/issues/3825)) ([a0625e6](https://github.com/dynamic-labs/DynamicAuth/commit/a0625e6fd01aa5b57e6b8542efe04e280e0c6830))
21
+ * initialize smart wallet from verified credentials ([#3790](https://github.com/dynamic-labs/DynamicAuth/issues/3790)) ([1fc5890](https://github.com/dynamic-labs/DynamicAuth/commit/1fc5890f2e0ef458bfb59d38d536c41d183bc2a2))
22
+ * set smart wallet as primary when owner is an embedded wallet ([#3898](https://github.com/dynamic-labs/DynamicAuth/issues/3898)) ([ec40172](https://github.com/dynamic-labs/DynamicAuth/commit/ec401729f38d946d5431bbbb15c5c1cdc66acb73))
23
+ * support forced network validation via DynamicContext setting ([#3879](https://github.com/dynamic-labs/DynamicAuth/issues/3879)) ([a7993b9](https://github.com/dynamic-labs/DynamicAuth/commit/a7993b9b6bdd739bcb4e66e46d14e7f8623bed66))
24
+ * **transaction:** add sponsored gas transaction ([#3869](https://github.com/dynamic-labs/DynamicAuth/issues/3869)) ([ccceb24](https://github.com/dynamic-labs/DynamicAuth/commit/ccceb2421e029dc60e53912e404b574324d6772f))
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * **account-abstraction:** set verified credentials before setting EOA to wallet connector ([#3941](https://github.com/dynamic-labs/DynamicAuth/issues/3941)) ([7475c46](https://github.com/dynamic-labs/DynamicAuth/commit/7475c465f5ddf9e27d0b05d23e58d9b474fa8fd4))
30
+ * add brand to zerodev object ([#3828](https://github.com/dynamic-labs/DynamicAuth/issues/3828)) ([81cb237](https://github.com/dynamic-labs/DynamicAuth/commit/81cb237df4def8e1c53b4ae145afafccf3b04683))
31
+ * add spriteId to zerodev ([#3829](https://github.com/dynamic-labs/DynamicAuth/issues/3829)) ([6b87c5c](https://github.com/dynamic-labs/DynamicAuth/commit/6b87c5c3d5869f6cd15a7534fb0260932845fbb1))
32
+ * allow metadata to be updated in updateUser hook ([#3928](https://github.com/dynamic-labs/DynamicAuth/issues/3928)) ([4f39fbd](https://github.com/dynamic-labs/DynamicAuth/commit/4f39fbd757b4e816dd60651252575c1f7e4d80aa))
33
+ * blocto flow connect only infinite recursion ([#3883](https://github.com/dynamic-labs/DynamicAuth/issues/3883)) ([6c6f5ba](https://github.com/dynamic-labs/DynamicAuth/commit/6c6f5ba5dc0657cc7ffdc82a4ea7935f65686088))
34
+ * clear project settings on page refresh ([#3826](https://github.com/dynamic-labs/DynamicAuth/issues/3826)) ([da5b8f0](https://github.com/dynamic-labs/DynamicAuth/commit/da5b8f0a99bf913ea11314954e5f08c2b019f50f))
35
+ * don't call computeConnectedStateForWallets too often to avoid infinite loops ([#3946](https://github.com/dynamic-labs/DynamicAuth/issues/3946)) ([de4e61a](https://github.com/dynamic-labs/DynamicAuth/commit/de4e61a3fcdc9c25cbe030c3c25cbc2c04929a93))
36
+ * don't call disconnect multiple times ([#3940](https://github.com/dynamic-labs/DynamicAuth/issues/3940)) ([3ea8623](https://github.com/dynamic-labs/DynamicAuth/commit/3ea86233d8d07dfb3c751a5fec45d5df84e9e143))
37
+ * **embedded wallet:** stop overriding primary wallet selection ([#3796](https://github.com/dynamic-labs/DynamicAuth/issues/3796)) ([75b81e7](https://github.com/dynamic-labs/DynamicAuth/commit/75b81e74d472ce8cc493646b441d2b4fe3962373))
38
+ * exodusevm wallet connect and mobile deep linking ([#3855](https://github.com/dynamic-labs/DynamicAuth/issues/3855)) ([cf0b3f0](https://github.com/dynamic-labs/DynamicAuth/commit/cf0b3f077f935eab32ce45947f62e73342d6c169))
39
+ * handle errors properly when engaging captcha ([#3896](https://github.com/dynamic-labs/DynamicAuth/issues/3896)) ([2596315](https://github.com/dynamic-labs/DynamicAuth/commit/25963153d699b26c6e04ea38b267446d3a3af13b))
40
+ * null safe check to window object ([#3882](https://github.com/dynamic-labs/DynamicAuth/issues/3882)) ([8856b5a](https://github.com/dynamic-labs/DynamicAuth/commit/8856b5ae40d43285eac667401387971b9e3f077d))
41
+ * pass correct wallet connector onLinkSuccess ([#3904](https://github.com/dynamic-labs/DynamicAuth/issues/3904)) ([79cca69](https://github.com/dynamic-labs/DynamicAuth/commit/79cca69ed53a5ef2c4e4d712ce0934e1a4c11459))
42
+ * remove extra captcha context provider instantiation causing unecessary rerenderings ([#3914](https://github.com/dynamic-labs/DynamicAuth/issues/3914)) ([14120a6](https://github.com/dynamic-labs/DynamicAuth/commit/14120a6ac0415f9a59608b376e88de6c729d4e5d))
43
+ * remove the coming soon label ([#3860](https://github.com/dynamic-labs/DynamicAuth/issues/3860)) ([1effb7f](https://github.com/dynamic-labs/DynamicAuth/commit/1effb7f124bda66aae3e8991b5386a1cee28fd99))
44
+ * Revert "chore: fix vite build ([#3849](https://github.com/dynamic-labs/DynamicAuth/issues/3849))" ([#3870](https://github.com/dynamic-labs/DynamicAuth/issues/3870)) ([13bc424](https://github.com/dynamic-labs/DynamicAuth/commit/13bc42483bcb9338babd46eae00988acada83578))
45
+ * **single-wallet:** prompt user to select correct wallet ([#3742](https://github.com/dynamic-labs/DynamicAuth/issues/3742)) ([ccfdd3c](https://github.com/dynamic-labs/DynamicAuth/commit/ccfdd3cc6a4ac7f3b1ea13be92e58982ecfb1c59))
46
+ * update walletconnect.json and walletconnect source schema ([#3854](https://github.com/dynamic-labs/DynamicAuth/issues/3854)) ([88ee546](https://github.com/dynamic-labs/DynamicAuth/commit/88ee5468db0130b19c6637a5632e64e0bb5197ba))
47
+ * useEmailProvider not checking for enabled providers properly ([7c16edc](https://github.com/dynamic-labs/DynamicAuth/commit/7c16edc3785ba10d69762b174f054b0d10b8a072))
48
+ * **wagmi:** ensure chain is defined on wallet client ([#3888](https://github.com/dynamic-labs/DynamicAuth/issues/3888)) ([0e145f6](https://github.com/dynamic-labs/DynamicAuth/commit/0e145f6ac42f55df7a020716d4ddc023554d72f9))
49
+
2
50
  ## [1.0.0-alpha.0](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0...v1.0.0-alpha.0) (2023-10-31)
3
51
 
4
52
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/utils",
3
- "version": "1.0.0-alpha.0",
3
+ "version": "1.0.0-alpha.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -29,7 +29,7 @@
29
29
  "viem": "^1.5.3"
30
30
  },
31
31
  "dependencies": {
32
- "@dynamic-labs/logger": "1.0.0-alpha.0",
33
- "@dynamic-labs/types": "1.0.0-alpha.0"
32
+ "@dynamic-labs/logger": "1.0.0-alpha.1",
33
+ "@dynamic-labs/types": "1.0.0-alpha.1"
34
34
  }
35
35
  }
package/src/index.cjs CHANGED
@@ -29,8 +29,6 @@ var last = require('./last.cjs');
29
29
  var getProvidersFromWindow = require('./getProvidersFromWindow.cjs');
30
30
  var sleep = require('./sleep/sleep.cjs');
31
31
  var getOrMapViemChain = require('./getOrMapViemChain.cjs');
32
- var bigIntToHex = require('./bigIntToHex/bigIntToHex.cjs');
33
- var isBigInt = require('./isBigInt/isBigInt.cjs');
34
32
  var retryableFn = require('./retryableFn.cjs');
35
33
 
36
34
 
@@ -75,7 +73,5 @@ exports.sleep = sleep.sleep;
75
73
  exports.getChain = getOrMapViemChain.getChain;
76
74
  exports.getOrMapViemChain = getOrMapViemChain.getOrMapViemChain;
77
75
  exports.mapChain = getOrMapViemChain.mapChain;
78
- exports.bigIntToHex = bigIntToHex.bigIntToHex;
79
- exports.isBigInt = isBigInt.isBigInt;
80
76
  exports.FALLBACK_UNDEFINED = retryableFn.FALLBACK_UNDEFINED;
81
77
  exports.retryableFn = retryableFn.retryableFn;
package/src/index.d.ts CHANGED
@@ -10,6 +10,4 @@ export * from './last';
10
10
  export * from './getProvidersFromWindow';
11
11
  export * from './sleep';
12
12
  export * from './getOrMapViemChain';
13
- export * from './bigIntToHex';
14
- export * from './isBigInt';
15
13
  export * from './retryableFn';
package/src/index.js CHANGED
@@ -25,6 +25,4 @@ export { last } from './last.js';
25
25
  export { getProvidersFromWindow } from './getProvidersFromWindow.js';
26
26
  export { sleep } from './sleep/sleep.js';
27
27
  export { getChain, getOrMapViemChain, mapChain } from './getOrMapViemChain.js';
28
- export { bigIntToHex } from './bigIntToHex/bigIntToHex.js';
29
- export { isBigInt } from './isBigInt/isBigInt.js';
30
28
  export { FALLBACK_UNDEFINED, retryableFn } from './retryableFn.js';
package/src/isMobile.cjs CHANGED
@@ -47,7 +47,9 @@ const isAndroid = () => isMobile() && !isIOS();
47
47
  const isLegacySafari = () => {
48
48
  // We need to check if window.CSS exists and if it has supports function.
49
49
  // We can use it only in browsers. This prevents customer tests from failing because of that.
50
- if (!window.CSS || typeof window.CSS.supports !== 'function') {
50
+ if (typeof window === 'undefined' ||
51
+ !window.CSS ||
52
+ typeof window.CSS.supports !== 'function') {
51
53
  return false;
52
54
  }
53
55
  // Older versions of Safari <15 are not supporting aspect-ratio css property.
@@ -62,7 +64,12 @@ const isSamsungBrowser = () => {
62
64
  }
63
65
  return navigator.userAgent.includes('SamsungBrowser');
64
66
  };
65
- const isWindows = () => window.navigator.userAgent.indexOf('Windows') !== -1;
67
+ const isWindows = () => {
68
+ if (typeof window === 'undefined' || typeof navigator === 'undefined') {
69
+ return false;
70
+ }
71
+ return navigator.userAgent.indexOf('Windows') !== -1;
72
+ };
66
73
  // regex from: https://github.com/matomo-org/device-detector/blob/master/regexes/device/mobiles.yml
67
74
  const iPhoneLegacyRegex = [
68
75
  {
@@ -115,6 +122,9 @@ const iPhoneLegacyRegex = [
115
122
  },
116
123
  ];
117
124
  const getAndroidVersion = () => {
125
+ if (typeof navigator === 'undefined') {
126
+ return;
127
+ }
118
128
  const androidVersionMatch = navigator.userAgent.match(/Android (\d+(\.\d+)?)/);
119
129
  if (!androidVersionMatch) {
120
130
  return;
package/src/isMobile.js CHANGED
@@ -43,7 +43,9 @@ const isAndroid = () => isMobile() && !isIOS();
43
43
  const isLegacySafari = () => {
44
44
  // We need to check if window.CSS exists and if it has supports function.
45
45
  // We can use it only in browsers. This prevents customer tests from failing because of that.
46
- if (!window.CSS || typeof window.CSS.supports !== 'function') {
46
+ if (typeof window === 'undefined' ||
47
+ !window.CSS ||
48
+ typeof window.CSS.supports !== 'function') {
47
49
  return false;
48
50
  }
49
51
  // Older versions of Safari <15 are not supporting aspect-ratio css property.
@@ -58,7 +60,12 @@ const isSamsungBrowser = () => {
58
60
  }
59
61
  return navigator.userAgent.includes('SamsungBrowser');
60
62
  };
61
- const isWindows = () => window.navigator.userAgent.indexOf('Windows') !== -1;
63
+ const isWindows = () => {
64
+ if (typeof window === 'undefined' || typeof navigator === 'undefined') {
65
+ return false;
66
+ }
67
+ return navigator.userAgent.indexOf('Windows') !== -1;
68
+ };
62
69
  // regex from: https://github.com/matomo-org/device-detector/blob/master/regexes/device/mobiles.yml
63
70
  const iPhoneLegacyRegex = [
64
71
  {
@@ -111,6 +118,9 @@ const iPhoneLegacyRegex = [
111
118
  },
112
119
  ];
113
120
  const getAndroidVersion = () => {
121
+ if (typeof navigator === 'undefined') {
122
+ return;
123
+ }
114
124
  const androidVersionMatch = navigator.userAgent.match(/Android (\d+(\.\d+)?)/);
115
125
  if (!androidVersionMatch) {
116
126
  return;
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const bigIntToHex = (value) => {
6
- if (typeof value !== 'bigint') {
7
- throw new TypeError('Input must be of type BigInt');
8
- }
9
- if (value < 0) {
10
- throw new RangeError('Negative BigInt values are not supported');
11
- }
12
- return `0x${value.toString(16)}`;
13
- };
14
-
15
- exports.bigIntToHex = bigIntToHex;
@@ -1 +0,0 @@
1
- export declare const bigIntToHex: (value: bigint) => `0x${string}`;
@@ -1,11 +0,0 @@
1
- const bigIntToHex = (value) => {
2
- if (typeof value !== 'bigint') {
3
- throw new TypeError('Input must be of type BigInt');
4
- }
5
- if (value < 0) {
6
- throw new RangeError('Negative BigInt values are not supported');
7
- }
8
- return `0x${value.toString(16)}`;
9
- };
10
-
11
- export { bigIntToHex };
@@ -1 +0,0 @@
1
- export { bigIntToHex } from './bigIntToHex';
@@ -1 +0,0 @@
1
- export { isBigInt } from './isBigInt';
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const isBigInt = (value) => typeof value === 'bigint';
6
-
7
- exports.isBigInt = isBigInt;
@@ -1 +0,0 @@
1
- export declare const isBigInt: (value: bigint | unknown) => value is bigint;
@@ -1,3 +0,0 @@
1
- const isBigInt = (value) => typeof value === 'bigint';
2
-
3
- export { isBigInt };