@dynamic-labs/ethereum 2.1.0-alpha.0 → 2.1.0-alpha.2
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 +28 -0
- package/_virtual/_tslib.cjs +1 -0
- package/_virtual/_tslib.js +1 -0
- package/package.json +9 -8
- package/src/EthWalletConnector.cjs +16 -26
- package/src/EthWalletConnector.js +16 -26
- package/src/coinbase/client/client.cjs +1 -0
- package/src/coinbase/client/client.js +1 -0
- package/src/coinbase/coinbase.cjs +3 -2
- package/src/coinbase/coinbase.js +3 -2
- package/src/constants.cjs +1 -0
- package/src/constants.js +1 -0
- package/src/eip6963Provider.cjs +1 -0
- package/src/eip6963Provider.js +1 -0
- package/src/ethProviderHelper.cjs +1 -0
- package/src/ethProviderHelper.js +1 -0
- package/src/index.cjs +3 -0
- package/src/index.js +2 -0
- package/src/injected/ExodusEvm.cjs +1 -0
- package/src/injected/ExodusEvm.js +1 -0
- package/src/injected/InjectedWalletBase.cjs +5 -4
- package/src/injected/InjectedWalletBase.js +5 -4
- package/src/injected/PhantomEvm.cjs +1 -0
- package/src/injected/PhantomEvm.js +1 -0
- package/src/injected/Zerion.cjs +1 -0
- package/src/injected/Zerion.js +1 -0
- package/src/injected/fetchInjectedWalletConnectors.cjs +2 -1
- package/src/injected/fetchInjectedWalletConnectors.js +2 -1
- package/src/polyfills.cjs +1 -0
- package/src/polyfills.js +1 -0
- package/src/types.d.ts +1 -0
- package/src/utils/findEvmNetwork.cjs +1 -0
- package/src/utils/findEvmNetwork.d.ts +2 -2
- package/src/utils/findEvmNetwork.js +1 -0
- package/src/utils/getNameservice.cjs +46 -0
- package/src/utils/getNameservice.d.ts +6 -0
- package/src/utils/getNameservice.js +42 -0
- package/src/utils/index.d.ts +1 -0
- package/src/utils/isEthWalletConnector/isEthWalletConnector.cjs +1 -0
- package/src/utils/isEthWalletConnector/isEthWalletConnector.js +1 -0
- package/src/utils/parseIntSafe.cjs +1 -0
- package/src/utils/parseIntSafe.js +1 -0
- package/src/walletConnect/fetchWalletConnectWallets.cjs +1 -0
- package/src/walletConnect/fetchWalletConnectWallets.js +1 -0
- package/src/walletConnect/walletConnect.cjs +6 -5
- package/src/walletConnect/walletConnect.js +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,32 @@
|
|
|
1
1
|
|
|
2
|
+
## [2.1.0-alpha.2](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.1...v2.1.0-alpha.2) (2024-04-19)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* buffer polyfill for utils package ([#5404](https://github.com/dynamic-labs/DynamicAuth/issues/5404)) ([bd40441](https://github.com/dynamic-labs/DynamicAuth/commit/bd404414a2e51d79fad86d7603dae89628c225b9))
|
|
8
|
+
|
|
9
|
+
## [2.1.0-alpha.1](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.0...v2.1.0-alpha.1) (2024-04-18)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* add frame metadata to demo index page ([#5327](https://github.com/dynamic-labs/DynamicAuth/issues/5327)) ([34a071a](https://github.com/dynamic-labs/DynamicAuth/commit/34a071af8faa8a867ad747ec2a607056a883568d))
|
|
15
|
+
* add MfaChooseDeviceView and MfaSecureDeviceView ([#5343](https://github.com/dynamic-labs/DynamicAuth/issues/5343)) ([4c39b1c](https://github.com/dynamic-labs/DynamicAuth/commit/4c39b1c34b5091190b095770e95a733c8f458ca2)), closes [#5356](https://github.com/dynamic-labs/DynamicAuth/issues/5356)
|
|
16
|
+
* add redirectUri to farcaster connect ([#5373](https://github.com/dynamic-labs/DynamicAuth/issues/5373)) ([ed13fc2](https://github.com/dynamic-labs/DynamicAuth/commit/ed13fc2948e06df0017ac122db54aca44f264a6d))
|
|
17
|
+
* add useMfa hook ([#5337](https://github.com/dynamic-labs/DynamicAuth/issues/5337)) ([a7682ba](https://github.com/dynamic-labs/DynamicAuth/commit/a7682ba10fd0f0809af802e0172154726f1bd857))
|
|
18
|
+
* headless create session and is session active ([#5346](https://github.com/dynamic-labs/DynamicAuth/issues/5346)) ([a787bbc](https://github.com/dynamic-labs/DynamicAuth/commit/a787bbcbb44104d2d0bd263579bd87a78453681d))
|
|
19
|
+
* secure enclave wallet generate one-time code headless ([#5329](https://github.com/dynamic-labs/DynamicAuth/issues/5329)) ([cab80a2](https://github.com/dynamic-labs/DynamicAuth/commit/cab80a2bfa77e48263d47cdcb813c54ef5b831d5))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* always stringify the message before signing a message using walletUiUtils ([#5325](https://github.com/dynamic-labs/DynamicAuth/issues/5325)) ([7abf094](https://github.com/dynamic-labs/DynamicAuth/commit/7abf09456e30ad0657892e9ba58d7391f0f430e6))
|
|
25
|
+
* bitcoin network connector sendBitcoin methods updates ([#5369](https://github.com/dynamic-labs/DynamicAuth/issues/5369)) ([e9bf444](https://github.com/dynamic-labs/DynamicAuth/commit/e9bf444122ee86030d85b84ede96bdfb9772425e))
|
|
26
|
+
* buffer missing when using buffer util function ([#5360](https://github.com/dynamic-labs/DynamicAuth/issues/5360)) ([e998e46](https://github.com/dynamic-labs/DynamicAuth/commit/e998e464bd2671a82aa271b407a7d8fc49a16bd0))
|
|
27
|
+
* embedded solana send transaction shouldn't sign a signed transaction ([#5357](https://github.com/dynamic-labs/DynamicAuth/issues/5357)) ([c2ae2fa](https://github.com/dynamic-labs/DynamicAuth/commit/c2ae2faa509b62fc5ceb345fbc0f0b47217bf4b0))
|
|
28
|
+
* use network.name if vanity name is missing ([#5338](https://github.com/dynamic-labs/DynamicAuth/issues/5338)) ([34ec2ae](https://github.com/dynamic-labs/DynamicAuth/commit/34ec2ae5c4dad5376a3b9c5a07221f68a2f7756c))
|
|
29
|
+
|
|
2
30
|
## [2.1.0-alpha.0](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.32...v2.1.0-alpha.0) (2024-04-15)
|
|
3
31
|
|
|
4
32
|
## [2.0.0-alpha.32](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.31...v2.0.0-alpha.32) (2024-04-15)
|
package/_virtual/_tslib.cjs
CHANGED
package/_virtual/_tslib.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/ethereum",
|
|
3
|
-
"version": "2.1.0-alpha.
|
|
3
|
+
"version": "2.1.0-alpha.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -26,17 +26,18 @@
|
|
|
26
26
|
"./package.json": "./package.json"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
+
"@dynamic-labs/sdk-api-core": "0.0.423",
|
|
29
30
|
"@coinbase/wallet-sdk": "3.9.3",
|
|
30
31
|
"@walletconnect/ethereum-provider": "2.11.2",
|
|
31
32
|
"eventemitter3": "5.0.1",
|
|
32
33
|
"buffer": "6.0.3",
|
|
33
|
-
"@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.
|
|
34
|
-
"@dynamic-labs/turnkey": "2.1.0-alpha.
|
|
35
|
-
"@dynamic-labs/types": "2.1.0-alpha.
|
|
36
|
-
"@dynamic-labs/utils": "2.1.0-alpha.
|
|
37
|
-
"@dynamic-labs/viem-utils": "2.1.0-alpha.
|
|
38
|
-
"@dynamic-labs/wallet-book": "2.1.0-alpha.
|
|
39
|
-
"@dynamic-labs/wallet-connector-core": "2.1.0-alpha.
|
|
34
|
+
"@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.2",
|
|
35
|
+
"@dynamic-labs/turnkey": "2.1.0-alpha.2",
|
|
36
|
+
"@dynamic-labs/types": "2.1.0-alpha.2",
|
|
37
|
+
"@dynamic-labs/utils": "2.1.0-alpha.2",
|
|
38
|
+
"@dynamic-labs/viem-utils": "2.1.0-alpha.2",
|
|
39
|
+
"@dynamic-labs/wallet-book": "2.1.0-alpha.2",
|
|
40
|
+
"@dynamic-labs/wallet-connector-core": "2.1.0-alpha.2",
|
|
40
41
|
"stream": "0.0.2"
|
|
41
42
|
},
|
|
42
43
|
"peerDependencies": {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -8,11 +9,12 @@ var accounts = require('viem/accounts');
|
|
|
8
9
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
9
10
|
var utils = require('@dynamic-labs/utils');
|
|
10
11
|
var findEvmNetwork = require('./utils/findEvmNetwork.cjs');
|
|
12
|
+
var getNameservice = require('./utils/getNameservice.cjs');
|
|
11
13
|
|
|
12
14
|
class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
13
15
|
getPublicClient() {
|
|
14
|
-
var _a, _b, _c;
|
|
15
16
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
var _a, _b, _c;
|
|
16
18
|
const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
|
|
17
19
|
if (this.evmNetworks.length === 0) {
|
|
18
20
|
return undefined;
|
|
@@ -67,19 +69,7 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
67
69
|
if (!address || !rpcProvider) {
|
|
68
70
|
return;
|
|
69
71
|
}
|
|
70
|
-
|
|
71
|
-
address: address,
|
|
72
|
-
});
|
|
73
|
-
const ensAvatar = ensName
|
|
74
|
-
? yield rpcProvider.getEnsAvatar({
|
|
75
|
-
name: ensName,
|
|
76
|
-
})
|
|
77
|
-
: undefined;
|
|
78
|
-
const ensData = {
|
|
79
|
-
avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
|
|
80
|
-
name: ensName !== null && ensName !== void 0 ? ensName : undefined,
|
|
81
|
-
};
|
|
82
|
-
return ensData;
|
|
72
|
+
return getNameservice.getNameservice({ address, rpcProvider });
|
|
83
73
|
});
|
|
84
74
|
}
|
|
85
75
|
getSigner() {
|
|
@@ -106,8 +96,8 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
106
96
|
supportsNetworkSwitching() {
|
|
107
97
|
return true;
|
|
108
98
|
}
|
|
109
|
-
switchNetwork(
|
|
110
|
-
return _tslib.__awaiter(this,
|
|
99
|
+
switchNetwork(_a) {
|
|
100
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ networkName, networkChainId, }) {
|
|
111
101
|
const network = findEvmNetwork.findEvmNetwork({
|
|
112
102
|
chainId: networkChainId,
|
|
113
103
|
name: networkName,
|
|
@@ -141,9 +131,9 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
141
131
|
return addresses;
|
|
142
132
|
});
|
|
143
133
|
}
|
|
144
|
-
providerSwitchNetwork(
|
|
145
|
-
|
|
146
|
-
|
|
134
|
+
providerSwitchNetwork(_a) {
|
|
135
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
136
|
+
var _b, _c, _d, _e;
|
|
147
137
|
const { chainId } = network;
|
|
148
138
|
const currentNetworkId = yield this.getNetwork();
|
|
149
139
|
if (currentNetworkId && currentNetworkId === chainId) {
|
|
@@ -158,14 +148,14 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
158
148
|
catch (error) {
|
|
159
149
|
// we need to check for unrecognized chain error first because it also contains 'rejected' in message
|
|
160
150
|
if (error.code === 4902 ||
|
|
161
|
-
((
|
|
151
|
+
((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Unrecognized chain')) ||
|
|
162
152
|
// https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
|
|
163
|
-
((
|
|
153
|
+
((_d = (_c = error.data) === null || _c === void 0 ? void 0 : _c.orginalError) === null || _d === void 0 ? void 0 : _d.code) === 4902) {
|
|
164
154
|
// error code indicates the chain has not been added yet
|
|
165
155
|
// https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
|
|
166
156
|
return this.providerAddNetwork({ network, provider });
|
|
167
157
|
}
|
|
168
|
-
else if (((
|
|
158
|
+
else if (((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('rejected')) ||
|
|
169
159
|
(typeof error === 'string' && error.includes('rejected'))) {
|
|
170
160
|
throw new utils.DynamicError("User rejected the wallet's request to switch network");
|
|
171
161
|
}
|
|
@@ -175,14 +165,14 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
175
165
|
}
|
|
176
166
|
});
|
|
177
167
|
}
|
|
178
|
-
providerAddNetwork(
|
|
179
|
-
|
|
180
|
-
|
|
168
|
+
providerAddNetwork(_a) {
|
|
169
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
170
|
+
var _b;
|
|
181
171
|
try {
|
|
182
172
|
return yield provider.addChain({ chain: utils.getOrMapViemChain(network) });
|
|
183
173
|
}
|
|
184
174
|
catch (error) {
|
|
185
|
-
if (((
|
|
175
|
+
if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||
|
|
186
176
|
(typeof error === 'string' && error.includes('rejected'))) {
|
|
187
177
|
throw new utils.DynamicError("User rejected the wallet's request to add network");
|
|
188
178
|
}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
2
3
|
import { formatEther } from 'viem';
|
|
3
4
|
import { toAccount } from 'viem/accounts';
|
|
4
5
|
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
5
6
|
import { parseEvmNetworks, retryableFn, FALLBACK_UNDEFINED, DynamicError, getOrMapViemChain } from '@dynamic-labs/utils';
|
|
6
7
|
import { findEvmNetwork } from './utils/findEvmNetwork.js';
|
|
8
|
+
import { getNameservice } from './utils/getNameservice.js';
|
|
7
9
|
|
|
8
10
|
class EthWalletConnector extends WalletConnectorBase {
|
|
9
11
|
getPublicClient() {
|
|
10
|
-
var _a, _b, _c;
|
|
11
12
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13
|
+
var _a, _b, _c;
|
|
12
14
|
const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
|
|
13
15
|
if (this.evmNetworks.length === 0) {
|
|
14
16
|
return undefined;
|
|
@@ -63,19 +65,7 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
63
65
|
if (!address || !rpcProvider) {
|
|
64
66
|
return;
|
|
65
67
|
}
|
|
66
|
-
|
|
67
|
-
address: address,
|
|
68
|
-
});
|
|
69
|
-
const ensAvatar = ensName
|
|
70
|
-
? yield rpcProvider.getEnsAvatar({
|
|
71
|
-
name: ensName,
|
|
72
|
-
})
|
|
73
|
-
: undefined;
|
|
74
|
-
const ensData = {
|
|
75
|
-
avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
|
|
76
|
-
name: ensName !== null && ensName !== void 0 ? ensName : undefined,
|
|
77
|
-
};
|
|
78
|
-
return ensData;
|
|
68
|
+
return getNameservice({ address, rpcProvider });
|
|
79
69
|
});
|
|
80
70
|
}
|
|
81
71
|
getSigner() {
|
|
@@ -102,8 +92,8 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
102
92
|
supportsNetworkSwitching() {
|
|
103
93
|
return true;
|
|
104
94
|
}
|
|
105
|
-
switchNetwork(
|
|
106
|
-
return __awaiter(this,
|
|
95
|
+
switchNetwork(_a) {
|
|
96
|
+
return __awaiter(this, arguments, void 0, function* ({ networkName, networkChainId, }) {
|
|
107
97
|
const network = findEvmNetwork({
|
|
108
98
|
chainId: networkChainId,
|
|
109
99
|
name: networkName,
|
|
@@ -137,9 +127,9 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
137
127
|
return addresses;
|
|
138
128
|
});
|
|
139
129
|
}
|
|
140
|
-
providerSwitchNetwork(
|
|
141
|
-
|
|
142
|
-
|
|
130
|
+
providerSwitchNetwork(_a) {
|
|
131
|
+
return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
132
|
+
var _b, _c, _d, _e;
|
|
143
133
|
const { chainId } = network;
|
|
144
134
|
const currentNetworkId = yield this.getNetwork();
|
|
145
135
|
if (currentNetworkId && currentNetworkId === chainId) {
|
|
@@ -154,14 +144,14 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
154
144
|
catch (error) {
|
|
155
145
|
// we need to check for unrecognized chain error first because it also contains 'rejected' in message
|
|
156
146
|
if (error.code === 4902 ||
|
|
157
|
-
((
|
|
147
|
+
((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Unrecognized chain')) ||
|
|
158
148
|
// https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
|
|
159
|
-
((
|
|
149
|
+
((_d = (_c = error.data) === null || _c === void 0 ? void 0 : _c.orginalError) === null || _d === void 0 ? void 0 : _d.code) === 4902) {
|
|
160
150
|
// error code indicates the chain has not been added yet
|
|
161
151
|
// https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
|
|
162
152
|
return this.providerAddNetwork({ network, provider });
|
|
163
153
|
}
|
|
164
|
-
else if (((
|
|
154
|
+
else if (((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('rejected')) ||
|
|
165
155
|
(typeof error === 'string' && error.includes('rejected'))) {
|
|
166
156
|
throw new DynamicError("User rejected the wallet's request to switch network");
|
|
167
157
|
}
|
|
@@ -171,14 +161,14 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
171
161
|
}
|
|
172
162
|
});
|
|
173
163
|
}
|
|
174
|
-
providerAddNetwork(
|
|
175
|
-
|
|
176
|
-
|
|
164
|
+
providerAddNetwork(_a) {
|
|
165
|
+
return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
166
|
+
var _b;
|
|
177
167
|
try {
|
|
178
168
|
return yield provider.addChain({ chain: getOrMapViemChain(network) });
|
|
179
169
|
}
|
|
180
170
|
catch (error) {
|
|
181
|
-
if (((
|
|
171
|
+
if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||
|
|
182
172
|
(typeof error === 'string' && error.includes('rejected'))) {
|
|
183
173
|
throw new DynamicError("User rejected the wallet's request to add network");
|
|
184
174
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -60,8 +61,8 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
|
|
|
60
61
|
return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
|
|
61
62
|
}
|
|
62
63
|
getAddress(opts) {
|
|
63
|
-
var _a;
|
|
64
64
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
var _a;
|
|
65
66
|
if (this.isInstalledOnBrowser()) {
|
|
66
67
|
return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
|
|
67
68
|
}
|
|
@@ -69,8 +70,8 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
|
|
|
69
70
|
});
|
|
70
71
|
}
|
|
71
72
|
signMessage(messageToSign) {
|
|
72
|
-
var _a;
|
|
73
73
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
var _a;
|
|
74
75
|
if (this.isInstalledOnBrowser()) {
|
|
75
76
|
return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
|
|
76
77
|
}
|
package/src/coinbase/coinbase.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
import { __rest, __awaiter } from '../../_virtual/_tslib.js';
|
|
2
3
|
import { createWalletClient, custom } from 'viem';
|
|
3
4
|
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
@@ -56,8 +57,8 @@ class Coinbase extends EthWalletConnector {
|
|
|
56
57
|
return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
|
|
57
58
|
}
|
|
58
59
|
getAddress(opts) {
|
|
59
|
-
var _a;
|
|
60
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
var _a;
|
|
61
62
|
if (this.isInstalledOnBrowser()) {
|
|
62
63
|
return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
|
|
63
64
|
}
|
|
@@ -65,8 +66,8 @@ class Coinbase extends EthWalletConnector {
|
|
|
65
66
|
});
|
|
66
67
|
}
|
|
67
68
|
signMessage(messageToSign) {
|
|
68
|
-
var _a;
|
|
69
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
var _a;
|
|
70
71
|
if (this.isInstalledOnBrowser()) {
|
|
71
72
|
return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
|
|
72
73
|
}
|
package/src/constants.cjs
CHANGED
package/src/constants.js
CHANGED
package/src/eip6963Provider.cjs
CHANGED
package/src/eip6963Provider.js
CHANGED
package/src/ethProviderHelper.js
CHANGED
package/src/index.cjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -15,6 +16,7 @@ var EthWalletConnector = require('./EthWalletConnector.cjs');
|
|
|
15
16
|
var ethProviderHelper = require('./ethProviderHelper.cjs');
|
|
16
17
|
var constants = require('./constants.cjs');
|
|
17
18
|
var isEthWalletConnector = require('./utils/isEthWalletConnector/isEthWalletConnector.cjs');
|
|
19
|
+
var getNameservice = require('./utils/getNameservice.cjs');
|
|
18
20
|
|
|
19
21
|
const EthereumWalletConnectors = (props) => [
|
|
20
22
|
...fetchInjectedWalletConnectors.injectedWalletOverrides,
|
|
@@ -33,4 +35,5 @@ exports.EthWalletConnector = EthWalletConnector.EthWalletConnector;
|
|
|
33
35
|
exports.EthProviderHelper = ethProviderHelper.EthProviderHelper;
|
|
34
36
|
exports.INFURA_ID = constants.INFURA_ID;
|
|
35
37
|
exports.isEthWalletConnector = isEthWalletConnector.isEthWalletConnector;
|
|
38
|
+
exports.getNameservice = getNameservice.getNameservice;
|
|
36
39
|
exports.EthereumWalletConnectors = EthereumWalletConnectors;
|
package/src/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
import './polyfills.js';
|
|
2
3
|
import { TurnkeyEVMWalletConnectors } from '@dynamic-labs/turnkey';
|
|
3
4
|
export { PhantomEvm } from './injected/PhantomEvm.js';
|
|
@@ -12,6 +13,7 @@ export { EthWalletConnector } from './EthWalletConnector.js';
|
|
|
12
13
|
export { EthProviderHelper } from './ethProviderHelper.js';
|
|
13
14
|
export { INFURA_ID } from './constants.js';
|
|
14
15
|
export { isEthWalletConnector } from './utils/isEthWalletConnector/isEthWalletConnector.js';
|
|
16
|
+
export { getNameservice } from './utils/getNameservice.js';
|
|
15
17
|
|
|
16
18
|
const EthereumWalletConnectors = (props) => [
|
|
17
19
|
...injectedWalletOverrides,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
@@ -69,8 +70,8 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
|
|
|
69
70
|
return ((_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
|
|
70
71
|
}
|
|
71
72
|
getAddress() {
|
|
72
|
-
var _a;
|
|
73
73
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
var _a;
|
|
74
75
|
return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.getAddress();
|
|
75
76
|
});
|
|
76
77
|
}
|
|
@@ -80,8 +81,8 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
|
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
83
|
signMessage(messageToSign) {
|
|
83
|
-
var _a;
|
|
84
84
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
var _a;
|
|
85
86
|
return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
|
|
86
87
|
});
|
|
87
88
|
}
|
|
@@ -96,11 +97,11 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
|
|
|
96
97
|
return;
|
|
97
98
|
});
|
|
98
99
|
}
|
|
99
|
-
providerSwitchNetwork(
|
|
100
|
+
providerSwitchNetwork(_a) {
|
|
100
101
|
const _super = Object.create(null, {
|
|
101
102
|
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
102
103
|
});
|
|
103
|
-
return _tslib.__awaiter(this,
|
|
104
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
104
105
|
return _super.providerSwitchNetwork.call(this, { network, provider });
|
|
105
106
|
});
|
|
106
107
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
3
|
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
4
|
import { isMobile } from '@dynamic-labs/utils';
|
|
@@ -67,8 +68,8 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
67
68
|
return ((_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
|
|
68
69
|
}
|
|
69
70
|
getAddress() {
|
|
70
|
-
var _a;
|
|
71
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
var _a;
|
|
72
73
|
return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.getAddress();
|
|
73
74
|
});
|
|
74
75
|
}
|
|
@@ -78,8 +79,8 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
81
|
signMessage(messageToSign) {
|
|
81
|
-
var _a;
|
|
82
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
var _a;
|
|
83
84
|
return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
|
|
84
85
|
});
|
|
85
86
|
}
|
|
@@ -94,11 +95,11 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
94
95
|
return;
|
|
95
96
|
});
|
|
96
97
|
}
|
|
97
|
-
providerSwitchNetwork(
|
|
98
|
+
providerSwitchNetwork(_a) {
|
|
98
99
|
const _super = Object.create(null, {
|
|
99
100
|
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
100
101
|
});
|
|
101
|
-
return __awaiter(this,
|
|
102
|
+
return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
102
103
|
return _super.providerSwitchNetwork.call(this, { network, provider });
|
|
103
104
|
});
|
|
104
105
|
}
|
package/src/injected/Zerion.cjs
CHANGED
package/src/injected/Zerion.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -45,8 +46,8 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
|
|
|
45
46
|
const _super = Object.create(null, {
|
|
46
47
|
getAddress: { get: () => super.getAddress }
|
|
47
48
|
});
|
|
48
|
-
var _a;
|
|
49
49
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
var _a;
|
|
50
51
|
if (this.isInstalledOnBrowser()) {
|
|
51
52
|
return _super.getAddress.call(this);
|
|
52
53
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
3
|
import { logger } from '@dynamic-labs/wallet-connector-core';
|
|
3
4
|
import InjectedWalletBase from './InjectedWalletBase.js';
|
|
@@ -41,8 +42,8 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
|
|
|
41
42
|
const _super = Object.create(null, {
|
|
42
43
|
getAddress: { get: () => super.getAddress }
|
|
43
44
|
});
|
|
44
|
-
var _a;
|
|
45
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
var _a;
|
|
46
47
|
if (this.isInstalledOnBrowser()) {
|
|
47
48
|
return _super.getAddress.call(this);
|
|
48
49
|
}
|
package/src/polyfills.cjs
CHANGED
package/src/polyfills.js
CHANGED
package/src/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EvmNetwork } from '@dynamic-labs/types';
|
|
2
2
|
export declare const findEvmNetwork: ({ chainId, name, networks, }: {
|
|
3
|
-
chainId?: number
|
|
4
|
-
name?: string
|
|
3
|
+
chainId?: number;
|
|
4
|
+
name?: string;
|
|
5
5
|
networks: EvmNetwork[];
|
|
6
6
|
}) => EvmNetwork | undefined;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
7
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
|
+
|
|
9
|
+
const getNameservice = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ rpcProvider, address, }) {
|
|
10
|
+
var _b;
|
|
11
|
+
const nsData = {
|
|
12
|
+
avatar: undefined,
|
|
13
|
+
name: undefined,
|
|
14
|
+
};
|
|
15
|
+
const network = yield rpcProvider.getChainId();
|
|
16
|
+
if (!network) {
|
|
17
|
+
return nsData;
|
|
18
|
+
}
|
|
19
|
+
// Handle Base name service requests
|
|
20
|
+
if (network === 8453) {
|
|
21
|
+
try {
|
|
22
|
+
const response = yield fetch(`https://resolver-api.basename.app/v1/addresses/${address}`);
|
|
23
|
+
if (response.ok) {
|
|
24
|
+
const data = yield response.json();
|
|
25
|
+
nsData.name = (_b = data.name) !== null && _b !== void 0 ? _b : undefined;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
walletConnectorCore.logger.debug('Failed to fetch ens data', e);
|
|
30
|
+
}
|
|
31
|
+
return nsData;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
nsData.name = (yield rpcProvider.getEnsName({
|
|
35
|
+
address: address,
|
|
36
|
+
}));
|
|
37
|
+
nsData.avatar = nsData.name
|
|
38
|
+
? (yield rpcProvider.getEnsAvatar({
|
|
39
|
+
name: nsData.name,
|
|
40
|
+
}))
|
|
41
|
+
: undefined;
|
|
42
|
+
}
|
|
43
|
+
return nsData;
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
exports.getNameservice = getNameservice;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
3
|
+
import { logger } from '@dynamic-labs/wallet-connector-core';
|
|
4
|
+
|
|
5
|
+
const getNameservice = (_a) => __awaiter(void 0, [_a], void 0, function* ({ rpcProvider, address, }) {
|
|
6
|
+
var _b;
|
|
7
|
+
const nsData = {
|
|
8
|
+
avatar: undefined,
|
|
9
|
+
name: undefined,
|
|
10
|
+
};
|
|
11
|
+
const network = yield rpcProvider.getChainId();
|
|
12
|
+
if (!network) {
|
|
13
|
+
return nsData;
|
|
14
|
+
}
|
|
15
|
+
// Handle Base name service requests
|
|
16
|
+
if (network === 8453) {
|
|
17
|
+
try {
|
|
18
|
+
const response = yield fetch(`https://resolver-api.basename.app/v1/addresses/${address}`);
|
|
19
|
+
if (response.ok) {
|
|
20
|
+
const data = yield response.json();
|
|
21
|
+
nsData.name = (_b = data.name) !== null && _b !== void 0 ? _b : undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
logger.debug('Failed to fetch ens data', e);
|
|
26
|
+
}
|
|
27
|
+
return nsData;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
nsData.name = (yield rpcProvider.getEnsName({
|
|
31
|
+
address: address,
|
|
32
|
+
}));
|
|
33
|
+
nsData.avatar = nsData.name
|
|
34
|
+
? (yield rpcProvider.getEnsAvatar({
|
|
35
|
+
name: nsData.name,
|
|
36
|
+
}))
|
|
37
|
+
: undefined;
|
|
38
|
+
}
|
|
39
|
+
return nsData;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
export { getNameservice };
|
package/src/utils/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -250,8 +251,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
|
|
|
250
251
|
});
|
|
251
252
|
}
|
|
252
253
|
getAddress(opts) {
|
|
253
|
-
var _a, _b;
|
|
254
254
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
255
|
+
var _a, _b;
|
|
255
256
|
const activeAccount = this.getActiveAccount();
|
|
256
257
|
if (activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.address) {
|
|
257
258
|
return activeAccount.address;
|
|
@@ -413,8 +414,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
|
|
|
413
414
|
this.session = session;
|
|
414
415
|
}
|
|
415
416
|
endSession() {
|
|
416
|
-
var _a;
|
|
417
417
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
418
|
+
var _a;
|
|
418
419
|
this.clearActiveAccount();
|
|
419
420
|
this.clearSession();
|
|
420
421
|
this.hasSwitchedNetwork = false;
|
|
@@ -445,11 +446,11 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
|
|
|
445
446
|
return _super.getNetwork.call(this);
|
|
446
447
|
});
|
|
447
448
|
}
|
|
448
|
-
providerSwitchNetwork(
|
|
449
|
+
providerSwitchNetwork(_a) {
|
|
449
450
|
const _super = Object.create(null, {
|
|
450
451
|
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
451
452
|
});
|
|
452
|
-
return _tslib.__awaiter(this,
|
|
453
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ network, }) {
|
|
453
454
|
const supportedNetworks = yield this.getSupportedNetworks();
|
|
454
455
|
if (!(supportedNetworks === null || supportedNetworks === void 0 ? void 0 : supportedNetworks.includes(network.chainId.toString()))) {
|
|
455
456
|
const error = new utils.DynamicError('Network switching is not available at this time. The user should manually switch network in their wallet');
|
|
@@ -498,8 +499,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
|
|
|
498
499
|
return ((_e = (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.peer) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.name) === null || _d === void 0 ? void 0 : _d.toLowerCase().startsWith('metamask')) !== null && _e !== void 0 ? _e : false);
|
|
499
500
|
}
|
|
500
501
|
getSupportedNetworks() {
|
|
501
|
-
var _a;
|
|
502
502
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
503
|
+
var _a;
|
|
503
504
|
yield this.initProvider();
|
|
504
505
|
this.refreshSession();
|
|
505
506
|
if (this.isMetaMask()) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
3
|
import EthereumProvider from '@walletconnect/ethereum-provider';
|
|
3
4
|
import EventEmitter from 'eventemitter3';
|
|
@@ -241,8 +242,8 @@ class WalletConnect extends EthWalletConnector {
|
|
|
241
242
|
});
|
|
242
243
|
}
|
|
243
244
|
getAddress(opts) {
|
|
244
|
-
var _a, _b;
|
|
245
245
|
return __awaiter(this, void 0, void 0, function* () {
|
|
246
|
+
var _a, _b;
|
|
246
247
|
const activeAccount = this.getActiveAccount();
|
|
247
248
|
if (activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.address) {
|
|
248
249
|
return activeAccount.address;
|
|
@@ -404,8 +405,8 @@ class WalletConnect extends EthWalletConnector {
|
|
|
404
405
|
this.session = session;
|
|
405
406
|
}
|
|
406
407
|
endSession() {
|
|
407
|
-
var _a;
|
|
408
408
|
return __awaiter(this, void 0, void 0, function* () {
|
|
409
|
+
var _a;
|
|
409
410
|
this.clearActiveAccount();
|
|
410
411
|
this.clearSession();
|
|
411
412
|
this.hasSwitchedNetwork = false;
|
|
@@ -436,11 +437,11 @@ class WalletConnect extends EthWalletConnector {
|
|
|
436
437
|
return _super.getNetwork.call(this);
|
|
437
438
|
});
|
|
438
439
|
}
|
|
439
|
-
providerSwitchNetwork(
|
|
440
|
+
providerSwitchNetwork(_a) {
|
|
440
441
|
const _super = Object.create(null, {
|
|
441
442
|
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
442
443
|
});
|
|
443
|
-
return __awaiter(this,
|
|
444
|
+
return __awaiter(this, arguments, void 0, function* ({ network, }) {
|
|
444
445
|
const supportedNetworks = yield this.getSupportedNetworks();
|
|
445
446
|
if (!(supportedNetworks === null || supportedNetworks === void 0 ? void 0 : supportedNetworks.includes(network.chainId.toString()))) {
|
|
446
447
|
const error = new DynamicError('Network switching is not available at this time. The user should manually switch network in their wallet');
|
|
@@ -489,8 +490,8 @@ class WalletConnect extends EthWalletConnector {
|
|
|
489
490
|
return ((_e = (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.peer) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.name) === null || _d === void 0 ? void 0 : _d.toLowerCase().startsWith('metamask')) !== null && _e !== void 0 ? _e : false);
|
|
490
491
|
}
|
|
491
492
|
getSupportedNetworks() {
|
|
492
|
-
var _a;
|
|
493
493
|
return __awaiter(this, void 0, void 0, function* () {
|
|
494
|
+
var _a;
|
|
494
495
|
yield this.initProvider();
|
|
495
496
|
this.refreshSession();
|
|
496
497
|
if (this.isMetaMask()) {
|