@dynamic-labs/wallet-connector-core 1.1.0-phantom.0 → 1.1.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +152 -2
  2. package/_virtual/_tslib.cjs +6 -1
  3. package/_virtual/_tslib.js +6 -1
  4. package/package.json +8 -7
  5. package/src/index.cjs +10 -5
  6. package/src/index.d.ts +1 -0
  7. package/src/index.js +5 -2
  8. package/src/lib/IBitcoinWalletConnector.d.ts +15 -0
  9. package/src/lib/IEmailOTPWalletConnector.d.ts +1 -0
  10. package/src/lib/IHardwareWalletConnector.d.ts +4 -0
  11. package/src/lib/IPasskeyWalletConnector.d.ts +7 -3
  12. package/src/lib/{IPhantomMobileConnector.d.ts → IPhantomRedirectConnector.d.ts} +1 -1
  13. package/src/lib/WalletConnector.cjs +2 -2
  14. package/src/lib/WalletConnector.d.ts +2 -2
  15. package/src/lib/WalletConnector.js +2 -2
  16. package/src/lib/index.d.ts +2 -1
  17. package/src/types.d.ts +5 -0
  18. package/src/utils/eventListenerHandlers.cjs +37 -0
  19. package/src/utils/eventListenerHandlers.d.ts +7 -0
  20. package/src/utils/eventListenerHandlers.js +33 -0
  21. package/src/utils/getRpcUrlForChain/getRpcUrlForChain.cjs +14 -0
  22. package/src/utils/getRpcUrlForChain/getRpcUrlForChain.d.ts +5 -0
  23. package/src/utils/getRpcUrlForChain/getRpcUrlForChain.js +10 -0
  24. package/src/utils/getRpcUrlForChain/index.d.ts +1 -0
  25. package/src/utils/index.d.ts +5 -2
  26. package/src/utils/isHardwareWalletConnector/index.d.ts +1 -0
  27. package/src/utils/isHardwareWalletConnector/isHardwareWalletConnector.cjs +7 -0
  28. package/src/utils/isHardwareWalletConnector/isHardwareWalletConnector.d.ts +2 -0
  29. package/src/utils/isHardwareWalletConnector/isHardwareWalletConnector.js +3 -0
  30. package/src/utils/isHex/index.d.ts +1 -0
  31. package/src/utils/isHex/isHex.cjs +13 -0
  32. package/src/utils/isHex/isHex.d.ts +1 -0
  33. package/src/utils/isHex/isHex.js +9 -0
  34. package/src/utils/isPhantomRedirectConnector/index.d.ts +1 -0
  35. package/src/utils/isPhantomRedirectConnector/isPhantomRedirectConnector.cjs +8 -0
  36. package/src/utils/isPhantomRedirectConnector/isPhantomRedirectConnector.d.ts +2 -0
  37. package/src/utils/isPhantomRedirectConnector/isPhantomRedirectConnector.js +4 -0
  38. package/src/utils/PhantomLedgerWalletName.cjs +0 -13
  39. package/src/utils/PhantomLedgerWalletName.d.ts +0 -6
  40. package/src/utils/PhantomLedgerWalletName.js +0 -8
  41. package/src/utils/isPhantomMobileConnector/index.d.ts +0 -1
  42. package/src/utils/isPhantomMobileConnector/isPhantomMobileConnector.cjs +0 -8
  43. package/src/utils/isPhantomMobileConnector/isPhantomMobileConnector.d.ts +0 -2
  44. package/src/utils/isPhantomMobileConnector/isPhantomMobileConnector.js +0 -4
package/CHANGELOG.md CHANGED
@@ -1,18 +1,168 @@
1
1
 
2
- ## [1.1.0-phantom.0](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.12...v1.1.0-phantom.0) (2024-01-22)
2
+ ### [1.1.1](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0...v1.1.1) (2024-02-13)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * current wallet being clipped inside a circle ([#4470](https://github.com/dynamic-labs/DynamicAuth/issues/4470)) ([#4649](https://github.com/dynamic-labs/DynamicAuth/issues/4649)) ([43537af](https://github.com/dynamic-labs/DynamicAuth/commit/43537af0809c96bc8ae8726d9260e2c526d2921b))
8
+ * old iconic dependency version ([#4674](https://github.com/dynamic-labs/DynamicAuth/issues/4674)) ([04f5b03](https://github.com/dynamic-labs/DynamicAuth/commit/04f5b0387303563637ad414eda0170186aad0e44))
9
+ * solana turnkey connector not refreshing account after session expiration ([#4637](https://github.com/dynamic-labs/DynamicAuth/issues/4637)) ([ed0f964](https://github.com/dynamic-labs/DynamicAuth/commit/ed0f964bc1e0ab2e5069c51b9e6f3c0bc2a16df7))
10
+
11
+ ## [1.1.0](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.25...v1.1.0) (2024-02-07)
12
+
13
+ Check out our changelog here: https://docs.dynamic.xyz/changelog/v1-1
14
+
15
+
16
+ ### Features
17
+
18
+ * add retry when using magic ([#4579](https://github.com/dynamic-labs/DynamicAuth/issues/4579)) ([183561c](https://github.com/dynamic-labs/DynamicAuth/commit/183561cc64f083fd1489c38a8cc8b1c4c51d2924))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * bug where deprecated fields were still being used in the SDK ([#4604](https://github.com/dynamic-labs/DynamicAuth/issues/4604)) ([4fd15fc](https://github.com/dynamic-labs/DynamicAuth/commit/4fd15fc4daa9c5b7bbc81ce05a3b046c80a6d5b4))
24
+ * log magic RPC error and update magic network error ([#4606](https://github.com/dynamic-labs/DynamicAuth/issues/4606)) ([2206961](https://github.com/dynamic-labs/DynamicAuth/commit/22069618a317bc40b1a17fd521eadf0956983de4))
25
+ * onConnect is properly called for additional connected wallets ([#4607](https://github.com/dynamic-labs/DynamicAuth/issues/4607)) ([23241f4](https://github.com/dynamic-labs/DynamicAuth/commit/23241f4d5dc91ac9ca1251710161efbfce42dc40))
26
+
27
+ ## [1.1.0-alpha.25](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.24...v1.1.0-alpha.25) (2024-02-05)
28
+
29
+
30
+ ### Features
31
+
32
+ * add signin with coinbase to sdk ([#4581](https://github.com/dynamic-labs/DynamicAuth/issues/4581)) ([08a31ed](https://github.com/dynamic-labs/DynamicAuth/commit/08a31ed3552c48645b398881f184440800af21ec))
33
+ * exposing hook for creating either one-time code or passkeys authenticators ([#4591](https://github.com/dynamic-labs/DynamicAuth/issues/4591)) ([864d755](https://github.com/dynamic-labs/DynamicAuth/commit/864d75576152a10f73f5901bc06e2d66892b63ab))
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * solana wallet sign message with one-time code session ([#4588](https://github.com/dynamic-labs/DynamicAuth/issues/4588)) ([a738d10](https://github.com/dynamic-labs/DynamicAuth/commit/a738d10814dc5058158b9c0c59a399a375c69c10))
39
+
40
+ ## [1.1.0-alpha.24](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.23...v1.1.0-alpha.24) (2024-02-02)
41
+
42
+
43
+ ### Bug Fixes
44
+
45
+ * remove isFullyConnected when unable to restore wallet ([#4575](https://github.com/dynamic-labs/DynamicAuth/issues/4575)) ([4504ff0](https://github.com/dynamic-labs/DynamicAuth/commit/4504ff03f594cd9a60055e6f52b7ea8001542bbe))
46
+
47
+ ## [1.1.0-alpha.23](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.22...v1.1.0-alpha.23) (2024-02-01)
48
+
49
+
50
+ ### Features
51
+
52
+ * bitcoin signPsbt ([3c964de](https://github.com/dynamic-labs/DynamicAuth/commit/3c964dea8a55debaf184c5a94f0f5fabdda3c877))
53
+ * embedded wallet email auth flow ([#4353](https://github.com/dynamic-labs/DynamicAuth/issues/4353)) ([4875da3](https://github.com/dynamic-labs/DynamicAuth/commit/4875da32c47c27facef1b1cdbdc214566bbfd171))
54
+
55
+ ## [1.1.0-alpha.22](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.21...v1.1.0-alpha.22) (2024-02-01)
56
+
57
+
58
+ ### Bug Fixes
59
+
60
+ * onAuthFlowClose not being called ([#4563](https://github.com/dynamic-labs/DynamicAuth/issues/4563)) ([c4b2648](https://github.com/dynamic-labs/DynamicAuth/commit/c4b264885b7dba6e204ef49bf642d25c7d287b04))
61
+
62
+ ## [1.1.0-alpha.21](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.20...v1.1.0-alpha.21) (2024-02-01)
63
+
64
+
65
+ ### Features
66
+
67
+ * add phantom redirect handling context ([#4479](https://github.com/dynamic-labs/DynamicAuth/issues/4479)) ([e0218ee](https://github.com/dynamic-labs/DynamicAuth/commit/e0218eec1a67787f5c0e7483d542a5f773e911ef))
68
+ * add signPsbt method to bitcoin wallet connectors ([dfdc0fe](https://github.com/dynamic-labs/DynamicAuth/commit/dfdc0fe0e6894c1307b286e89b43a4c58a8808f3))
69
+
70
+
71
+ ### Bug Fixes
72
+
73
+ * relax passkey feature detection check in sdk to avoid false nega… ([#4556](https://github.com/dynamic-labs/DynamicAuth/issues/4556)) ([4554f7d](https://github.com/dynamic-labs/DynamicAuth/commit/4554f7d7c5339859481cdecca95a9c07fae4ba5c))
74
+ * workaround braavos undefined selectedWallet on chainChange event ([#4552](https://github.com/dynamic-labs/DynamicAuth/issues/4552)) ([aa35df0](https://github.com/dynamic-labs/DynamicAuth/commit/aa35df0e894feafa0606aa1c87bd3d3879ebc594))
75
+
76
+ ## [1.1.0-alpha.20](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.19...v1.1.0-alpha.20) (2024-01-31)
77
+
78
+
79
+ ### Bug Fixes
80
+
81
+ * return all enabled chains in getSupportedNetworks instead of undefined ([#4547](https://github.com/dynamic-labs/DynamicAuth/issues/4547)) ([08e7889](https://github.com/dynamic-labs/DynamicAuth/commit/08e78896e045f24bbd96e39416a7f58006929da0))
82
+ * show modal for existing social account from other signin provider ([#4535](https://github.com/dynamic-labs/DynamicAuth/issues/4535)) ([282914a](https://github.com/dynamic-labs/DynamicAuth/commit/282914ac94b3ef5bd66e0b2265d9e414203a7406))
83
+
84
+ ## [1.1.0-alpha.19](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.18...v1.1.0-alpha.19) (2024-01-31)
85
+
86
+
87
+ ### Features
88
+
89
+ * add PhantomRedirect connector ([#4467](https://github.com/dynamic-labs/DynamicAuth/issues/4467)) ([75d6c95](https://github.com/dynamic-labs/DynamicAuth/commit/75d6c95940fcec185a699c2100b3e2d21a8233d5))
90
+
91
+
92
+ ### Bug Fixes
93
+
94
+ * lock starknet to 5.25.0 since 5.27.0 breaks the build ([#4541](https://github.com/dynamic-labs/DynamicAuth/issues/4541)) ([00b4799](https://github.com/dynamic-labs/DynamicAuth/commit/00b479977f768cb067480e2e565eabf45e1000a2))
95
+
96
+ ## [1.1.0-alpha.18](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.17...v1.1.0-alpha.18) (2024-01-30)
97
+
98
+
99
+ ### Bug Fixes
100
+
101
+ * catch email_associated_with_different_provider from response ([#4532](https://github.com/dynamic-labs/DynamicAuth/issues/4532)) ([52be1b4](https://github.com/dynamic-labs/DynamicAuth/commit/52be1b45af46c2b70972b99d73387eb4d7161ec6))
102
+
103
+ ## [1.1.0-alpha.17](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.16...v1.1.0-alpha.17) (2024-01-30)
104
+
105
+
106
+ ### Features
107
+
108
+ * add sendRawTransaction to BitcoinWalletConnector ([2e86c5a](https://github.com/dynamic-labs/DynamicAuth/commit/2e86c5a5245bd0fc29162ef1f7fe2fbd65245fe1))
109
+
110
+
111
+ ### Bug Fixes
112
+
113
+ * properly handle AccountExistsError for signInOAuth ([#4529](https://github.com/dynamic-labs/DynamicAuth/issues/4529)) ([d37fdc3](https://github.com/dynamic-labs/DynamicAuth/commit/d37fdc310fe4b70f8948fd5ed3d058342afbe08f))
114
+
115
+ ## [1.1.0-alpha.16](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.15...v1.1.0-alpha.16) (2024-01-30)
116
+
117
+
118
+ ### Bug Fixes
119
+
120
+ * add fallback to getWalletBookWallet for customers still passing in name, add deprecation warn ([#4518](https://github.com/dynamic-labs/DynamicAuth/issues/4518)) ([b233ea1](https://github.com/dynamic-labs/DynamicAuth/commit/b233ea1cd640d8d9d94c52ab230787f3d869151a))
121
+ * handle braavos network change to account which doesn not exist ([#4519](https://github.com/dynamic-labs/DynamicAuth/issues/4519)) ([486020f](https://github.com/dynamic-labs/DynamicAuth/commit/486020fb09a274388ba34c8d1b37ac3a1ff3dba6))
122
+
123
+ ## [1.1.0-alpha.15](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.14...v1.1.0-alpha.15) (2024-01-28)
124
+
125
+
126
+ ### Features
127
+
128
+ * add wallet group override to wallet book ([#4488](https://github.com/dynamic-labs/DynamicAuth/issues/4488)) ([cb19ad3](https://github.com/dynamic-labs/DynamicAuth/commit/cb19ad3ea82de488752ceceeaf0e1458a388df6e))
129
+ * enable solana embedded wallets ([#4457](https://github.com/dynamic-labs/DynamicAuth/issues/4457)) ([b0c47f4](https://github.com/dynamic-labs/DynamicAuth/commit/b0c47f4475baa12f52076da46ef993c13bd2c243))
130
+ * group ArgentX wallets ([#4495](https://github.com/dynamic-labs/DynamicAuth/issues/4495)) ([b10d79a](https://github.com/dynamic-labs/DynamicAuth/commit/b10d79a668efecedca37ddb358e6adf95319650d))
131
+
132
+
133
+ ### Bug Fixes
134
+
135
+ * add support for newest backpack extension ([#4468](https://github.com/dynamic-labs/DynamicAuth/issues/4468)) ([a219f32](https://github.com/dynamic-labs/DynamicAuth/commit/a219f325be672599e50b07f6751234a7fc98286e))
136
+ * bump timeout for slower connections ([#4475](https://github.com/dynamic-labs/DynamicAuth/issues/4475)) ([7a07ff5](https://github.com/dynamic-labs/DynamicAuth/commit/7a07ff589eaaf3b28a94d277df3eedabbca60702))
137
+ * change out getWalletBookWallet for findWalletBookWallet to avoid throwing during lookup ([#4477](https://github.com/dynamic-labs/DynamicAuth/issues/4477)) ([4648040](https://github.com/dynamic-labs/DynamicAuth/commit/4648040c166e73dd2c31b0e27897713339436c2f))
138
+ * connect to wallet with wallet connect even if network is not supported ([#4465](https://github.com/dynamic-labs/DynamicAuth/issues/4465)) ([9dbca3e](https://github.com/dynamic-labs/DynamicAuth/commit/9dbca3eb4d4990ee4be642677c1604170b425dc3))
139
+ * pass id to wagmi chain override ([#4512](https://github.com/dynamic-labs/DynamicAuth/issues/4512)) ([2bf2f04](https://github.com/dynamic-labs/DynamicAuth/commit/2bf2f0487f5b1be936dd279107c11fe5d2b42666))
140
+ * switching wallet in extension caused connected flag to be false temporarily ([#4454](https://github.com/dynamic-labs/DynamicAuth/issues/4454)) ([3650f6e](https://github.com/dynamic-labs/DynamicAuth/commit/3650f6ec471a7c779f4d304ab94c9350dd55055b))
141
+
142
+ ## [1.1.0-alpha.14](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.13...v1.1.0-alpha.14) (2024-01-23)
143
+
144
+
145
+ ### Features
146
+
147
+ * add wallet-book retryable ([#4462](https://github.com/dynamic-labs/DynamicAuth/issues/4462)) ([513b1a6](https://github.com/dynamic-labs/DynamicAuth/commit/513b1a67d6c49624398ad4b0cdca4f5618c9583f))
148
+
149
+ ## [1.1.0-alpha.13](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.12...v1.1.0-alpha.13) (2024-01-23)
3
150
 
4
151
 
5
152
  ### Features
6
153
 
7
154
  * add createWalletClientFromWallet helper function ([#4416](https://github.com/dynamic-labs/DynamicAuth/issues/4416)) ([b384898](https://github.com/dynamic-labs/DynamicAuth/commit/b384898061bb3f9b38b2ed670b6650cfc1d4b429))
8
155
  * add hardware wallets to wallet book ([#4445](https://github.com/dynamic-labs/DynamicAuth/issues/4445)) ([66c0f5b](https://github.com/dynamic-labs/DynamicAuth/commit/66c0f5b29a6a700099bb95a6f7622f6178e0bccf))
9
- * add redirect based phantom deeplinking ([c40dfd2](https://github.com/dynamic-labs/DynamicAuth/commit/c40dfd21d0692b9d33593d564ae6879ab15547e2))
156
+ * add support for Argent Web and Mobile ([#4328](https://github.com/dynamic-labs/DynamicAuth/issues/4328)) ([bce20b8](https://github.com/dynamic-labs/DynamicAuth/commit/bce20b8f35a8630f2621f53a541a1acb06a38fc0))
157
+ * enable ledger for glow, solflare and backpack ([#4392](https://github.com/dynamic-labs/DynamicAuth/issues/4392)) ([fa7b992](https://github.com/dynamic-labs/DynamicAuth/commit/fa7b992f87ebc43560f87b43ac56f2cd9909b306))
10
158
 
11
159
 
12
160
  ### Bug Fixes
13
161
 
14
162
  * breaking changes script ([#4440](https://github.com/dynamic-labs/DynamicAuth/issues/4440)) ([446173d](https://github.com/dynamic-labs/DynamicAuth/commit/446173d074d652d81856c6412e304b46b1565320))
15
163
  * broken help icon in create passkey view ([#4428](https://github.com/dynamic-labs/DynamicAuth/issues/4428)) ([e0ffc02](https://github.com/dynamic-labs/DynamicAuth/commit/e0ffc02ffea34b7ac3198ff6e1baf7f9907acddd))
164
+ * infinite loop when connecting with trust wallet ([#4448](https://github.com/dynamic-labs/DynamicAuth/issues/4448)) ([4e20edf](https://github.com/dynamic-labs/DynamicAuth/commit/4e20edf9abaabf20e5e9f9167b44d7f691e844f1))
165
+ * render wagmi elements based on react version ([#4453](https://github.com/dynamic-labs/DynamicAuth/issues/4453)) ([43c624c](https://github.com/dynamic-labs/DynamicAuth/commit/43c624ca996b0c51de1454910f19fdf908149938))
16
166
 
17
167
  ## [1.1.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.11...v1.1.0-alpha.12) (2024-01-18)
18
168
 
@@ -31,7 +31,12 @@ function __classPrivateFieldGet(receiver, state, kind, f) {
31
31
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
32
32
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
33
33
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
34
- }
34
+ }
35
+
36
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
37
+ var e = new Error(message);
38
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
39
+ };
35
40
 
36
41
  exports.__awaiter = __awaiter;
37
42
  exports.__classPrivateFieldGet = __classPrivateFieldGet;
@@ -27,6 +27,11 @@ function __classPrivateFieldGet(receiver, state, kind, f) {
27
27
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
28
28
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
29
29
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
30
- }
30
+ }
31
+
32
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
33
+ var e = new Error(message);
34
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
35
+ };
31
36
 
32
37
  export { __awaiter, __classPrivateFieldGet };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/wallet-connector-core",
3
- "version": "1.1.0-phantom.0",
3
+ "version": "1.1.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -26,14 +26,15 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "devDependency": {
29
- "@dynamic-labs/sdk-api": "0.0.349"
29
+ "@dynamic-labs/sdk-api": "0.0.363"
30
30
  },
31
31
  "peerDependencies": {
32
- "@dynamic-labs/logger": "1.1.0-phantom.0",
33
- "@dynamic-labs/rpc-providers": "1.1.0-phantom.0",
34
- "@dynamic-labs/sdk-api": "0.0.349",
35
- "@dynamic-labs/utils": "1.1.0-phantom.0",
36
- "@dynamic-labs/wallet-book": "1.1.0-phantom.0",
32
+ "@dynamic-labs/logger": "1.1.1",
33
+ "@dynamic-labs/rpc-providers": "1.1.1",
34
+ "@dynamic-labs/sdk-api": "0.0.363",
35
+ "@dynamic-labs/types": "1.1.1",
36
+ "@dynamic-labs/utils": "1.1.1",
37
+ "@dynamic-labs/wallet-book": "1.1.1",
37
38
  "eventemitter3": "5.0.1"
38
39
  }
39
40
  }
package/src/index.cjs CHANGED
@@ -14,7 +14,6 @@ var encoding = require('./utils/encoding.cjs');
14
14
  var getWalletConnectorByKey = require('./utils/getWalletConnectorByKey.cjs');
15
15
  var shouldLowercaseAddress = require('./utils/shouldLowercaseAddress.cjs');
16
16
  var normalizeWalletName = require('./utils/normalizeWalletName/normalizeWalletName.cjs');
17
- var PhantomLedgerWalletName = require('./utils/PhantomLedgerWalletName.cjs');
18
17
  var walletConnectDeepLinks = require('./utils/walletConnectDeepLinks/walletConnectDeepLinks.cjs');
19
18
  var performPlatformSpecificConnectionMethod = require('./utils/walletConnectDeepLinks/performPlatformSpecificConnectionMethod.cjs');
20
19
  var isEmbeddedConnector = require('./utils/isEmbeddedConnector/isEmbeddedConnector.cjs');
@@ -24,7 +23,11 @@ var isPasskeyWalletConnector = require('./utils/isPasskeyWalletConnector/isPassk
24
23
  var isSmartWalletConnector = require('./utils/isSmartWalletConnector/isSmartWalletConnector.cjs');
25
24
  var isAccountAbstractionConnector = require('./utils/isAccountAbstractionConnector/isAccountAbstractionConnector.cjs');
26
25
  var isBitcoinConnector = require('./utils/isBitcoinConnector/isBitcoinConnector.cjs');
27
- var isPhantomMobileConnector = require('./utils/isPhantomMobileConnector/isPhantomMobileConnector.cjs');
26
+ var isHardwareWalletConnector = require('./utils/isHardwareWalletConnector/isHardwareWalletConnector.cjs');
27
+ var eventListenerHandlers = require('./utils/eventListenerHandlers.cjs');
28
+ var isHex = require('./utils/isHex/isHex.cjs');
29
+ var isPhantomRedirectConnector = require('./utils/isPhantomRedirectConnector/isPhantomRedirectConnector.cjs');
30
+ var getRpcUrlForChain = require('./utils/getRpcUrlForChain/getRpcUrlForChain.cjs');
28
31
 
29
32
 
30
33
 
@@ -44,8 +47,6 @@ exports.utf8ToHex = encoding.utf8ToHex;
44
47
  exports.getWalletConnectorByKey = getWalletConnectorByKey.getWalletConnectorByKey;
45
48
  exports.shouldLowercaseAddress = shouldLowercaseAddress.shouldLowercaseAddress;
46
49
  exports.normalizeWalletName = normalizeWalletName.normalizeWalletName;
47
- exports.PhantomLedgerWalletKey = PhantomLedgerWalletName.PhantomLedgerWalletKey;
48
- exports.PhantomLedgerWalletName = PhantomLedgerWalletName.PhantomLedgerWalletName;
49
50
  exports.getDeepLink = walletConnectDeepLinks.getDeepLink;
50
51
  exports.performPlatformSpecificConnectionMethod = performPlatformSpecificConnectionMethod.performPlatformSpecificConnectionMethod;
51
52
  exports.isEmbeddedConnector = isEmbeddedConnector.isEmbeddedConnector;
@@ -55,4 +56,8 @@ exports.isPasskeyWalletConnector = isPasskeyWalletConnector.isPasskeyWalletConne
55
56
  exports.isSmartWalletConnector = isSmartWalletConnector.isSmartWalletConnector;
56
57
  exports.isAccountAbstractionConnector = isAccountAbstractionConnector.isAccountAbstractionConnector;
57
58
  exports.isBitcoinConnector = isBitcoinConnector.isBitcoinConnector;
58
- exports.isPhantomMobileConnector = isPhantomMobileConnector.isPhantomMobileConnector;
59
+ exports.isHardwareWalletConnector = isHardwareWalletConnector.isHardwareWalletConnector;
60
+ exports.eventListenerHandlers = eventListenerHandlers.eventListenerHandlers;
61
+ exports.isHex = isHex.isHex;
62
+ exports.isPhantomRedirectConnector = isPhantomRedirectConnector.isPhantomRedirectConnector;
63
+ exports.getRpcUrlForChain = getRpcUrlForChain.getRpcUrlForChain;
package/src/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './lib';
2
+ export * from './types';
2
3
  export * from './utils';
3
4
  export type { WalletConnectorExtension } from './lib/WalletConnectorExtension';
package/src/index.js CHANGED
@@ -10,7 +10,6 @@ export { addHexPrefix, bufferToHex, utf8ToHex } from './utils/encoding.js';
10
10
  export { getWalletConnectorByKey } from './utils/getWalletConnectorByKey.js';
11
11
  export { shouldLowercaseAddress } from './utils/shouldLowercaseAddress.js';
12
12
  export { normalizeWalletName } from './utils/normalizeWalletName/normalizeWalletName.js';
13
- export { PhantomLedgerWalletKey, PhantomLedgerWalletName } from './utils/PhantomLedgerWalletName.js';
14
13
  export { getDeepLink } from './utils/walletConnectDeepLinks/walletConnectDeepLinks.js';
15
14
  export { performPlatformSpecificConnectionMethod } from './utils/walletConnectDeepLinks/performPlatformSpecificConnectionMethod.js';
16
15
  export { isEmbeddedConnector } from './utils/isEmbeddedConnector/isEmbeddedConnector.js';
@@ -20,4 +19,8 @@ export { isPasskeyWalletConnector } from './utils/isPasskeyWalletConnector/isPas
20
19
  export { isSmartWalletConnector } from './utils/isSmartWalletConnector/isSmartWalletConnector.js';
21
20
  export { isAccountAbstractionConnector } from './utils/isAccountAbstractionConnector/isAccountAbstractionConnector.js';
22
21
  export { isBitcoinConnector } from './utils/isBitcoinConnector/isBitcoinConnector.js';
23
- export { isPhantomMobileConnector } from './utils/isPhantomMobileConnector/isPhantomMobileConnector.js';
22
+ export { isHardwareWalletConnector } from './utils/isHardwareWalletConnector/isHardwareWalletConnector.js';
23
+ export { eventListenerHandlers } from './utils/eventListenerHandlers.js';
24
+ export { isHex } from './utils/isHex/isHex.js';
25
+ export { isPhantomRedirectConnector } from './utils/isPhantomRedirectConnector/isPhantomRedirectConnector.js';
26
+ export { getRpcUrlForChain } from './utils/getRpcUrlForChain/getRpcUrlForChain.js';
@@ -3,7 +3,22 @@ type BitcoinTransaction = {
3
3
  amount: bigint;
4
4
  recipientAddress: string;
5
5
  };
6
+ export type BitcoinSignPsbtRequest = {
7
+ allowedSighash: number[];
8
+ unsignedPsbtBase64: string;
9
+ signature?: BitcoinSignPsbtRequestSignature[];
10
+ };
11
+ export type BitcoinSignPsbtRequestSignature = {
12
+ address: string;
13
+ signingIndexes: number[] | undefined;
14
+ disableAddressValidation?: boolean;
15
+ };
16
+ export type BitcoinSignPsbtResponse = {
17
+ signedPsbt: string;
18
+ };
6
19
  export interface IBitcoinWalletConnector extends WalletConnectorBase {
7
20
  sendBitcoin(transaction: BitcoinTransaction): Promise<string | undefined>;
21
+ sendRawTransaction(transactionHex: string): Promise<string | undefined>;
22
+ signPsbt(request: BitcoinSignPsbtRequest): Promise<BitcoinSignPsbtResponse | undefined>;
8
23
  }
9
24
  export {};
@@ -1,4 +1,5 @@
1
1
  import { IEmailWalletConnector } from './IEmailWalletConnector';
2
2
  export interface IEmailOTPWalletConnector extends IEmailWalletConnector {
3
3
  verifyOneTimePassword(otp: string): Promise<boolean>;
4
+ retryOneTypePassword(): Promise<void>;
4
5
  }
@@ -0,0 +1,4 @@
1
+ export interface IHardwareWalletConnector {
2
+ canConnectWithHardwareWallet(): boolean;
3
+ isHardwareWalletEnabled: boolean;
4
+ }
@@ -12,17 +12,21 @@ export interface WebAuthnAttestation {
12
12
  export type RecoveryWebAuthnAttestation = WebAuthnAttestation & {
13
13
  organizationId: string;
14
14
  };
15
+ export type AuthenticatorType = 'passkey' | 'email';
15
16
  export interface IPasskeyWalletConnector extends WalletConnectorBase {
16
17
  getWebAuthnAttestation(): Promise<WebAuthnAttestation>;
17
- getRecoverPasskeyHandler: () => PasskeyRecoveryHandler;
18
+ getAuthenticatorHandler: () => AuthenticatorRecoveryHandler;
18
19
  getExportHandler: () => ExportHandler;
19
20
  }
20
- export interface PasskeyRecoveryHandler {
21
- initRecovery: (iframeContainer: HTMLElement, iframeElementId: string) => Promise<string | null>;
21
+ export interface AuthenticatorRecoveryHandler {
22
+ initRecovery: (authType: AuthenticatorType, iframeContainer: HTMLElement, iframeElementId: string, sessionExpiration?: number) => Promise<string | null>;
22
23
  verifyRecoveryCode: (recoveryBundle: string, organizationId?: string) => Promise<unknown>;
23
24
  completeRecovery: (recoveryParams: RecoveryWebAuthnAttestation) => Promise<unknown>;
25
+ addPasskeyAuthenticator: (passkeyAuthenticatorParams: RecoveryWebAuthnAttestation) => Promise<unknown>;
24
26
  clear: () => void;
27
+ isSessionActive: () => boolean;
25
28
  get publicKey(): string | undefined | null;
29
+ get recoveryType(): AuthenticatorType | undefined | null;
26
30
  set recoveryUserId(recoveryUserId: string);
27
31
  }
28
32
  export interface ExportHandler {
@@ -1,5 +1,5 @@
1
1
  import { WalletConnectorBase } from '.';
2
- export interface IPhantomMobileConnector extends WalletConnectorBase {
2
+ export interface IPhantomRedirectConnector extends WalletConnectorBase {
3
3
  extractSignature(): {
4
4
  signature: string;
5
5
  message: string;
@@ -183,10 +183,10 @@ class WalletConnectorBase extends EventEmitter__default["default"] {
183
183
  /**
184
184
  * Gets the additional addresses of the wallet, given the main address
185
185
  *
186
- * @default Promise<undefined>
186
+ * @default Promise<[]>
187
187
  */
188
188
  getAdditionalAddresses(mainAddress) {
189
- return Promise.resolve(undefined);
189
+ return Promise.resolve([]);
190
190
  }
191
191
  /**
192
192
  * Sets the additional addresses of the wallet, given the main address
@@ -123,9 +123,9 @@ export declare abstract class WalletConnectorBase extends EventEmitter<WalletCon
123
123
  /**
124
124
  * Gets the additional addresses of the wallet, given the main address
125
125
  *
126
- * @default Promise<undefined>
126
+ * @default Promise<[]>
127
127
  */
128
- getAdditionalAddresses(mainAddress?: string): Promise<WalletAdditionalAddress[] | undefined>;
128
+ getAdditionalAddresses(mainAddress?: string): Promise<WalletAdditionalAddress[]>;
129
129
  /**
130
130
  * Sets the additional addresses of the wallet, given the main address
131
131
  *
@@ -175,10 +175,10 @@ class WalletConnectorBase extends EventEmitter {
175
175
  /**
176
176
  * Gets the additional addresses of the wallet, given the main address
177
177
  *
178
- * @default Promise<undefined>
178
+ * @default Promise<[]>
179
179
  */
180
180
  getAdditionalAddresses(mainAddress) {
181
- return Promise.resolve(undefined);
181
+ return Promise.resolve([]);
182
182
  }
183
183
  /**
184
184
  * Sets the additional addresses of the wallet, given the main address
@@ -6,4 +6,5 @@ export * from './IPasskeyWalletConnector';
6
6
  export * from './SmartWalletConnector';
7
7
  export * from './IAccountAbstractionWalletConnector';
8
8
  export * from './IBitcoinWalletConnector';
9
- export * from './IPhantomMobileConnector';
9
+ export * from './IHardwareWalletConnector';
10
+ export * from './IPhantomRedirectConnector';
package/src/types.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export type AccountChangeEventHandler = (accounts: string[]) => Promise<void>;
2
+ export type ChainChangeEventHandler = (chainId: string | number) => Promise<void>;
3
+ export type DisconnectEventHandler = (error?: {
4
+ code: number;
5
+ }) => Promise<void>;
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../_virtual/_tslib.cjs');
6
+ var isHex = require('./isHex/isHex.cjs');
7
+
8
+ const eventListenerHandlers = (walletConnector) => {
9
+ const handleAccountChange = (accounts) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
10
+ if (accounts.length === 0) {
11
+ walletConnector.emit('disconnect');
12
+ return;
13
+ }
14
+ walletConnector.emit('accountChange', { accounts });
15
+ });
16
+ const handleChainChange = (chain) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
17
+ const chainStr = isHex.isHex(chain)
18
+ ? parseInt(chain, 16).toString()
19
+ : chain.toString();
20
+ walletConnector.emit('chainChange', {
21
+ chain: chainStr,
22
+ });
23
+ });
24
+ const handleDisconnect = (error) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
25
+ if ((error === null || error === void 0 ? void 0 : error.code) === 1013) {
26
+ return;
27
+ }
28
+ walletConnector.emit('disconnect');
29
+ });
30
+ return {
31
+ handleAccountChange,
32
+ handleChainChange,
33
+ handleDisconnect,
34
+ };
35
+ };
36
+
37
+ exports.eventListenerHandlers = eventListenerHandlers;
@@ -0,0 +1,7 @@
1
+ import { WalletConnector } from '../lib';
2
+ import { AccountChangeEventHandler, ChainChangeEventHandler, DisconnectEventHandler } from '../types';
3
+ export declare const eventListenerHandlers: (walletConnector: WalletConnector) => {
4
+ handleAccountChange: AccountChangeEventHandler;
5
+ handleChainChange: ChainChangeEventHandler;
6
+ handleDisconnect: DisconnectEventHandler;
7
+ };
@@ -0,0 +1,33 @@
1
+ import { __awaiter } from '../../_virtual/_tslib.js';
2
+ import { isHex } from './isHex/isHex.js';
3
+
4
+ const eventListenerHandlers = (walletConnector) => {
5
+ const handleAccountChange = (accounts) => __awaiter(void 0, void 0, void 0, function* () {
6
+ if (accounts.length === 0) {
7
+ walletConnector.emit('disconnect');
8
+ return;
9
+ }
10
+ walletConnector.emit('accountChange', { accounts });
11
+ });
12
+ const handleChainChange = (chain) => __awaiter(void 0, void 0, void 0, function* () {
13
+ const chainStr = isHex(chain)
14
+ ? parseInt(chain, 16).toString()
15
+ : chain.toString();
16
+ walletConnector.emit('chainChange', {
17
+ chain: chainStr,
18
+ });
19
+ });
20
+ const handleDisconnect = (error) => __awaiter(void 0, void 0, void 0, function* () {
21
+ if ((error === null || error === void 0 ? void 0 : error.code) === 1013) {
22
+ return;
23
+ }
24
+ walletConnector.emit('disconnect');
25
+ });
26
+ return {
27
+ handleAccountChange,
28
+ handleChainChange,
29
+ handleDisconnect,
30
+ };
31
+ };
32
+
33
+ export { eventListenerHandlers };
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const getRpcUrlForChain = ({ networks, chainId, }) => {
6
+ var _a;
7
+ const network = networks.find((network) => network.chainId === chainId);
8
+ if (!network) {
9
+ return undefined;
10
+ }
11
+ return ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
12
+ };
13
+
14
+ exports.getRpcUrlForChain = getRpcUrlForChain;
@@ -0,0 +1,5 @@
1
+ import { EvmNetwork } from '@dynamic-labs/types';
2
+ export declare const getRpcUrlForChain: ({ networks, chainId, }: {
3
+ networks: EvmNetwork[];
4
+ chainId: number | undefined;
5
+ }) => string | undefined;
@@ -0,0 +1,10 @@
1
+ const getRpcUrlForChain = ({ networks, chainId, }) => {
2
+ var _a;
3
+ const network = networks.find((network) => network.chainId === chainId);
4
+ if (!network) {
5
+ return undefined;
6
+ }
7
+ return ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
8
+ };
9
+
10
+ export { getRpcUrlForChain };
@@ -0,0 +1 @@
1
+ export { getRpcUrlForChain } from './getRpcUrlForChain';
@@ -9,7 +9,6 @@ export * from './encoding';
9
9
  export * from './getWalletConnectorByKey';
10
10
  export * from './shouldLowercaseAddress';
11
11
  export * from './normalizeWalletName';
12
- export * from './PhantomLedgerWalletName';
13
12
  export * from './walletConnectDeepLinks';
14
13
  export * from './isEmbeddedConnector';
15
14
  export * from './isMagicConnector';
@@ -18,4 +17,8 @@ export * from './isPasskeyWalletConnector';
18
17
  export * from './isSmartWalletConnector';
19
18
  export * from './isAccountAbstractionConnector';
20
19
  export * from './isBitcoinConnector';
21
- export * from './isPhantomMobileConnector';
20
+ export * from './isHardwareWalletConnector';
21
+ export * from './eventListenerHandlers';
22
+ export * from './isHex';
23
+ export * from './isPhantomRedirectConnector';
24
+ export * from './getRpcUrlForChain';
@@ -0,0 +1 @@
1
+ export { isHardwareWalletConnector } from './isHardwareWalletConnector';
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const isHardwareWalletConnector = (connector) => 'canConnectWithHardwareWallet' in connector;
6
+
7
+ exports.isHardwareWalletConnector = isHardwareWalletConnector;
@@ -0,0 +1,2 @@
1
+ import { IHardwareWalletConnector, WalletConnector } from '../../lib';
2
+ export declare const isHardwareWalletConnector: (connector: WalletConnector | IHardwareWalletConnector) => connector is IHardwareWalletConnector & import("../../lib").WalletConnectorCore.WalletConnector;
@@ -0,0 +1,3 @@
1
+ const isHardwareWalletConnector = (connector) => 'canConnectWithHardwareWallet' in connector;
2
+
3
+ export { isHardwareWalletConnector };
@@ -0,0 +1 @@
1
+ export { isHex } from './isHex';
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const isHex = (value) => {
6
+ if (!value)
7
+ return false;
8
+ if (typeof value !== 'string')
9
+ return false;
10
+ return /^0x[0-9a-fA-F]*$/.test(value);
11
+ };
12
+
13
+ exports.isHex = isHex;
@@ -0,0 +1 @@
1
+ export declare const isHex: (value: unknown) => value is `0x${string}`;
@@ -0,0 +1,9 @@
1
+ const isHex = (value) => {
2
+ if (!value)
3
+ return false;
4
+ if (typeof value !== 'string')
5
+ return false;
6
+ return /^0x[0-9a-fA-F]*$/.test(value);
7
+ };
8
+
9
+ export { isHex };
@@ -0,0 +1 @@
1
+ export * from './isPhantomRedirectConnector';
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const isPhantomRedirectConnector = (connector) => connector.key === 'phantom' &&
6
+ connector.extractSignature !== undefined;
7
+
8
+ exports.isPhantomRedirectConnector = isPhantomRedirectConnector;
@@ -0,0 +1,2 @@
1
+ import { IPhantomRedirectConnector } from '../../lib';
2
+ export declare const isPhantomRedirectConnector: (connector: unknown) => connector is IPhantomRedirectConnector;
@@ -0,0 +1,4 @@
1
+ const isPhantomRedirectConnector = (connector) => connector.key === 'phantom' &&
2
+ connector.extractSignature !== undefined;
3
+
4
+ export { isPhantomRedirectConnector };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- /**
6
- * I'm exporting the walletName to use it for DYN-1447. As we only need the wallet name,
7
- * exporting it in this way, we avoid to instantiate the whole PhantomLedger class every time.
8
- */
9
- const PhantomLedgerWalletName = 'Phantom Ledger';
10
- const PhantomLedgerWalletKey = 'phantomledger';
11
-
12
- exports.PhantomLedgerWalletKey = PhantomLedgerWalletKey;
13
- exports.PhantomLedgerWalletName = PhantomLedgerWalletName;
@@ -1,6 +0,0 @@
1
- /**
2
- * I'm exporting the walletName to use it for DYN-1447. As we only need the wallet name,
3
- * exporting it in this way, we avoid to instantiate the whole PhantomLedger class every time.
4
- */
5
- export declare const PhantomLedgerWalletName = "Phantom Ledger";
6
- export declare const PhantomLedgerWalletKey = "phantomledger";
@@ -1,8 +0,0 @@
1
- /**
2
- * I'm exporting the walletName to use it for DYN-1447. As we only need the wallet name,
3
- * exporting it in this way, we avoid to instantiate the whole PhantomLedger class every time.
4
- */
5
- const PhantomLedgerWalletName = 'Phantom Ledger';
6
- const PhantomLedgerWalletKey = 'phantomledger';
7
-
8
- export { PhantomLedgerWalletKey, PhantomLedgerWalletName };
@@ -1 +0,0 @@
1
- export * from './isPhantomMobileConnector';
@@ -1,8 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const isPhantomMobileConnector = (connector) => connector.key === 'phantom' &&
6
- connector.extractSignature !== undefined;
7
-
8
- exports.isPhantomMobileConnector = isPhantomMobileConnector;
@@ -1,2 +0,0 @@
1
- import { IPhantomMobileConnector } from '../../lib';
2
- export declare const isPhantomMobileConnector: (connector: unknown) => connector is IPhantomMobileConnector;
@@ -1,4 +0,0 @@
1
- const isPhantomMobileConnector = (connector) => connector.key === 'phantom' &&
2
- connector.extractSignature !== undefined;
3
-
4
- export { isPhantomMobileConnector };