@dynamic-labs/ethereum 2.0.0 → 2.0.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 +21 -0
- package/package.json +9 -8
- package/src/EthWalletConnector.cjs +15 -26
- package/src/EthWalletConnector.js +15 -26
- package/src/coinbase/coinbase.cjs +2 -2
- package/src/coinbase/coinbase.js +2 -2
- package/src/index.cjs +2 -0
- package/src/index.js +1 -0
- package/src/injected/InjectedWalletBase.cjs +4 -4
- package/src/injected/InjectedWalletBase.js +4 -4
- package/src/injected/fetchInjectedWalletConnectors.cjs +1 -1
- package/src/injected/fetchInjectedWalletConnectors.js +1 -1
- package/src/types.d.ts +1 -0
- package/src/utils/findEvmNetwork.d.ts +2 -2
- package/src/utils/getNameservice.cjs +45 -0
- package/src/utils/getNameservice.d.ts +6 -0
- package/src/utils/getNameservice.js +41 -0
- package/src/utils/index.d.ts +1 -0
- package/src/walletConnect/walletConnect.cjs +5 -5
- package/src/walletConnect/walletConnect.js +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
|
|
2
|
+
### [2.0.2](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.1...v2.0.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)) ([#5405](https://github.com/dynamic-labs/DynamicAuth/issues/5405)) ([679c197](https://github.com/dynamic-labs/DynamicAuth/commit/679c197a52969a0db614ed280d7b9a0bf172bf72))
|
|
8
|
+
|
|
9
|
+
### [2.0.1](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0...v2.0.1) (2024-04-18)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* add redirectUri to farcaster connect ([#5373](https://github.com/dynamic-labs/DynamicAuth/issues/5373)) ([#5383](https://github.com/dynamic-labs/DynamicAuth/issues/5383)) ([d031d7e](https://github.com/dynamic-labs/DynamicAuth/commit/d031d7ee5705de5ec83ef328f03633d5f3524786))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* copy and ui fixes ([#5367](https://github.com/dynamic-labs/DynamicAuth/issues/5367)) ([e39ea97](https://github.com/dynamic-labs/DynamicAuth/commit/e39ea97d98de6b7087c24f2326a5fdc07ab9c8c3))
|
|
20
|
+
* bitcoin connector improvements
|
|
21
|
+
* solana package improvements ([#5360](https://github.com/dynamic-labs/DynamicAuth/issues/5360)) ([#5385](https://github.com/dynamic-labs/DynamicAuth/issues/5385)) ([9010bce](https://github.com/dynamic-labs/DynamicAuth/commit/9010bcebb4b0f2d293d517347187d38accbac0d3))
|
|
22
|
+
|
|
2
23
|
## [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)
|
|
3
24
|
|
|
4
25
|
## [2.0.0-alpha.31](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.30...v2.0.0-alpha.31) (2024-04-11)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/ethereum",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.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.418",
|
|
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.0.
|
|
34
|
-
"@dynamic-labs/turnkey": "2.0.
|
|
35
|
-
"@dynamic-labs/types": "2.0.
|
|
36
|
-
"@dynamic-labs/utils": "2.0.
|
|
37
|
-
"@dynamic-labs/viem-utils": "2.0.
|
|
38
|
-
"@dynamic-labs/wallet-book": "2.0.
|
|
39
|
-
"@dynamic-labs/wallet-connector-core": "2.0.
|
|
34
|
+
"@dynamic-labs/rpc-provider-ethereum": "2.0.2",
|
|
35
|
+
"@dynamic-labs/turnkey": "2.0.2",
|
|
36
|
+
"@dynamic-labs/types": "2.0.2",
|
|
37
|
+
"@dynamic-labs/utils": "2.0.2",
|
|
38
|
+
"@dynamic-labs/viem-utils": "2.0.2",
|
|
39
|
+
"@dynamic-labs/wallet-book": "2.0.2",
|
|
40
|
+
"@dynamic-labs/wallet-connector-core": "2.0.2",
|
|
40
41
|
"stream": "0.0.2"
|
|
41
42
|
},
|
|
42
43
|
"peerDependencies": {
|
|
@@ -8,11 +8,12 @@ var accounts = require('viem/accounts');
|
|
|
8
8
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
9
9
|
var utils = require('@dynamic-labs/utils');
|
|
10
10
|
var findEvmNetwork = require('./utils/findEvmNetwork.cjs');
|
|
11
|
+
var getNameservice = require('./utils/getNameservice.cjs');
|
|
11
12
|
|
|
12
13
|
class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
13
14
|
getPublicClient() {
|
|
14
|
-
var _a, _b, _c;
|
|
15
15
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
var _a, _b, _c;
|
|
16
17
|
const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
|
|
17
18
|
if (this.evmNetworks.length === 0) {
|
|
18
19
|
return undefined;
|
|
@@ -67,19 +68,7 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
67
68
|
if (!address || !rpcProvider) {
|
|
68
69
|
return;
|
|
69
70
|
}
|
|
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;
|
|
71
|
+
return getNameservice.getNameservice({ address, rpcProvider });
|
|
83
72
|
});
|
|
84
73
|
}
|
|
85
74
|
getSigner() {
|
|
@@ -106,8 +95,8 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
106
95
|
supportsNetworkSwitching() {
|
|
107
96
|
return true;
|
|
108
97
|
}
|
|
109
|
-
switchNetwork(
|
|
110
|
-
return _tslib.__awaiter(this,
|
|
98
|
+
switchNetwork(_a) {
|
|
99
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ networkName, networkChainId, }) {
|
|
111
100
|
const network = findEvmNetwork.findEvmNetwork({
|
|
112
101
|
chainId: networkChainId,
|
|
113
102
|
name: networkName,
|
|
@@ -141,9 +130,9 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
141
130
|
return addresses;
|
|
142
131
|
});
|
|
143
132
|
}
|
|
144
|
-
providerSwitchNetwork(
|
|
145
|
-
|
|
146
|
-
|
|
133
|
+
providerSwitchNetwork(_a) {
|
|
134
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
135
|
+
var _b, _c, _d, _e;
|
|
147
136
|
const { chainId } = network;
|
|
148
137
|
const currentNetworkId = yield this.getNetwork();
|
|
149
138
|
if (currentNetworkId && currentNetworkId === chainId) {
|
|
@@ -158,14 +147,14 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
158
147
|
catch (error) {
|
|
159
148
|
// we need to check for unrecognized chain error first because it also contains 'rejected' in message
|
|
160
149
|
if (error.code === 4902 ||
|
|
161
|
-
((
|
|
150
|
+
((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Unrecognized chain')) ||
|
|
162
151
|
// https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
|
|
163
|
-
((
|
|
152
|
+
((_d = (_c = error.data) === null || _c === void 0 ? void 0 : _c.orginalError) === null || _d === void 0 ? void 0 : _d.code) === 4902) {
|
|
164
153
|
// error code indicates the chain has not been added yet
|
|
165
154
|
// https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
|
|
166
155
|
return this.providerAddNetwork({ network, provider });
|
|
167
156
|
}
|
|
168
|
-
else if (((
|
|
157
|
+
else if (((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('rejected')) ||
|
|
169
158
|
(typeof error === 'string' && error.includes('rejected'))) {
|
|
170
159
|
throw new utils.DynamicError("User rejected the wallet's request to switch network");
|
|
171
160
|
}
|
|
@@ -175,14 +164,14 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
175
164
|
}
|
|
176
165
|
});
|
|
177
166
|
}
|
|
178
|
-
providerAddNetwork(
|
|
179
|
-
|
|
180
|
-
|
|
167
|
+
providerAddNetwork(_a) {
|
|
168
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
169
|
+
var _b;
|
|
181
170
|
try {
|
|
182
171
|
return yield provider.addChain({ chain: utils.getOrMapViemChain(network) });
|
|
183
172
|
}
|
|
184
173
|
catch (error) {
|
|
185
|
-
if (((
|
|
174
|
+
if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||
|
|
186
175
|
(typeof error === 'string' && error.includes('rejected'))) {
|
|
187
176
|
throw new utils.DynamicError("User rejected the wallet's request to add network");
|
|
188
177
|
}
|
|
@@ -4,11 +4,12 @@ import { toAccount } from 'viem/accounts';
|
|
|
4
4
|
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
5
5
|
import { parseEvmNetworks, retryableFn, FALLBACK_UNDEFINED, DynamicError, getOrMapViemChain } from '@dynamic-labs/utils';
|
|
6
6
|
import { findEvmNetwork } from './utils/findEvmNetwork.js';
|
|
7
|
+
import { getNameservice } from './utils/getNameservice.js';
|
|
7
8
|
|
|
8
9
|
class EthWalletConnector extends WalletConnectorBase {
|
|
9
10
|
getPublicClient() {
|
|
10
|
-
var _a, _b, _c;
|
|
11
11
|
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
var _a, _b, _c;
|
|
12
13
|
const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
|
|
13
14
|
if (this.evmNetworks.length === 0) {
|
|
14
15
|
return undefined;
|
|
@@ -63,19 +64,7 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
63
64
|
if (!address || !rpcProvider) {
|
|
64
65
|
return;
|
|
65
66
|
}
|
|
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;
|
|
67
|
+
return getNameservice({ address, rpcProvider });
|
|
79
68
|
});
|
|
80
69
|
}
|
|
81
70
|
getSigner() {
|
|
@@ -102,8 +91,8 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
102
91
|
supportsNetworkSwitching() {
|
|
103
92
|
return true;
|
|
104
93
|
}
|
|
105
|
-
switchNetwork(
|
|
106
|
-
return __awaiter(this,
|
|
94
|
+
switchNetwork(_a) {
|
|
95
|
+
return __awaiter(this, arguments, void 0, function* ({ networkName, networkChainId, }) {
|
|
107
96
|
const network = findEvmNetwork({
|
|
108
97
|
chainId: networkChainId,
|
|
109
98
|
name: networkName,
|
|
@@ -137,9 +126,9 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
137
126
|
return addresses;
|
|
138
127
|
});
|
|
139
128
|
}
|
|
140
|
-
providerSwitchNetwork(
|
|
141
|
-
|
|
142
|
-
|
|
129
|
+
providerSwitchNetwork(_a) {
|
|
130
|
+
return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
131
|
+
var _b, _c, _d, _e;
|
|
143
132
|
const { chainId } = network;
|
|
144
133
|
const currentNetworkId = yield this.getNetwork();
|
|
145
134
|
if (currentNetworkId && currentNetworkId === chainId) {
|
|
@@ -154,14 +143,14 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
154
143
|
catch (error) {
|
|
155
144
|
// we need to check for unrecognized chain error first because it also contains 'rejected' in message
|
|
156
145
|
if (error.code === 4902 ||
|
|
157
|
-
((
|
|
146
|
+
((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Unrecognized chain')) ||
|
|
158
147
|
// https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
|
|
159
|
-
((
|
|
148
|
+
((_d = (_c = error.data) === null || _c === void 0 ? void 0 : _c.orginalError) === null || _d === void 0 ? void 0 : _d.code) === 4902) {
|
|
160
149
|
// error code indicates the chain has not been added yet
|
|
161
150
|
// https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
|
|
162
151
|
return this.providerAddNetwork({ network, provider });
|
|
163
152
|
}
|
|
164
|
-
else if (((
|
|
153
|
+
else if (((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('rejected')) ||
|
|
165
154
|
(typeof error === 'string' && error.includes('rejected'))) {
|
|
166
155
|
throw new DynamicError("User rejected the wallet's request to switch network");
|
|
167
156
|
}
|
|
@@ -171,14 +160,14 @@ class EthWalletConnector extends WalletConnectorBase {
|
|
|
171
160
|
}
|
|
172
161
|
});
|
|
173
162
|
}
|
|
174
|
-
providerAddNetwork(
|
|
175
|
-
|
|
176
|
-
|
|
163
|
+
providerAddNetwork(_a) {
|
|
164
|
+
return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
165
|
+
var _b;
|
|
177
166
|
try {
|
|
178
167
|
return yield provider.addChain({ chain: getOrMapViemChain(network) });
|
|
179
168
|
}
|
|
180
169
|
catch (error) {
|
|
181
|
-
if (((
|
|
170
|
+
if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||
|
|
182
171
|
(typeof error === 'string' && error.includes('rejected'))) {
|
|
183
172
|
throw new DynamicError("User rejected the wallet's request to add network");
|
|
184
173
|
}
|
|
@@ -60,8 +60,8 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
|
|
|
60
60
|
return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
|
|
61
61
|
}
|
|
62
62
|
getAddress(opts) {
|
|
63
|
-
var _a;
|
|
64
63
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
var _a;
|
|
65
65
|
if (this.isInstalledOnBrowser()) {
|
|
66
66
|
return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
|
|
67
67
|
}
|
|
@@ -69,8 +69,8 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
|
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
signMessage(messageToSign) {
|
|
72
|
-
var _a;
|
|
73
72
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
var _a;
|
|
74
74
|
if (this.isInstalledOnBrowser()) {
|
|
75
75
|
return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
|
|
76
76
|
}
|
package/src/coinbase/coinbase.js
CHANGED
|
@@ -56,8 +56,8 @@ class Coinbase extends EthWalletConnector {
|
|
|
56
56
|
return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
|
|
57
57
|
}
|
|
58
58
|
getAddress(opts) {
|
|
59
|
-
var _a;
|
|
60
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
var _a;
|
|
61
61
|
if (this.isInstalledOnBrowser()) {
|
|
62
62
|
return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
|
|
63
63
|
}
|
|
@@ -65,8 +65,8 @@ class Coinbase extends EthWalletConnector {
|
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
signMessage(messageToSign) {
|
|
68
|
-
var _a;
|
|
69
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
var _a;
|
|
70
70
|
if (this.isInstalledOnBrowser()) {
|
|
71
71
|
return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
|
|
72
72
|
}
|
package/src/index.cjs
CHANGED
|
@@ -15,6 +15,7 @@ var EthWalletConnector = require('./EthWalletConnector.cjs');
|
|
|
15
15
|
var ethProviderHelper = require('./ethProviderHelper.cjs');
|
|
16
16
|
var constants = require('./constants.cjs');
|
|
17
17
|
var isEthWalletConnector = require('./utils/isEthWalletConnector/isEthWalletConnector.cjs');
|
|
18
|
+
var getNameservice = require('./utils/getNameservice.cjs');
|
|
18
19
|
|
|
19
20
|
const EthereumWalletConnectors = (props) => [
|
|
20
21
|
...fetchInjectedWalletConnectors.injectedWalletOverrides,
|
|
@@ -33,4 +34,5 @@ exports.EthWalletConnector = EthWalletConnector.EthWalletConnector;
|
|
|
33
34
|
exports.EthProviderHelper = ethProviderHelper.EthProviderHelper;
|
|
34
35
|
exports.INFURA_ID = constants.INFURA_ID;
|
|
35
36
|
exports.isEthWalletConnector = isEthWalletConnector.isEthWalletConnector;
|
|
37
|
+
exports.getNameservice = getNameservice.getNameservice;
|
|
36
38
|
exports.EthereumWalletConnectors = EthereumWalletConnectors;
|
package/src/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export { EthWalletConnector } from './EthWalletConnector.js';
|
|
|
12
12
|
export { EthProviderHelper } from './ethProviderHelper.js';
|
|
13
13
|
export { INFURA_ID } from './constants.js';
|
|
14
14
|
export { isEthWalletConnector } from './utils/isEthWalletConnector/isEthWalletConnector.js';
|
|
15
|
+
export { getNameservice } from './utils/getNameservice.js';
|
|
15
16
|
|
|
16
17
|
const EthereumWalletConnectors = (props) => [
|
|
17
18
|
...injectedWalletOverrides,
|
|
@@ -69,8 +69,8 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
|
|
|
69
69
|
return ((_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
|
|
70
70
|
}
|
|
71
71
|
getAddress() {
|
|
72
|
-
var _a;
|
|
73
72
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
var _a;
|
|
74
74
|
return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.getAddress();
|
|
75
75
|
});
|
|
76
76
|
}
|
|
@@ -80,8 +80,8 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
|
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
signMessage(messageToSign) {
|
|
83
|
-
var _a;
|
|
84
83
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
var _a;
|
|
85
85
|
return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
|
|
86
86
|
});
|
|
87
87
|
}
|
|
@@ -96,11 +96,11 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
|
|
|
96
96
|
return;
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
|
-
providerSwitchNetwork(
|
|
99
|
+
providerSwitchNetwork(_a) {
|
|
100
100
|
const _super = Object.create(null, {
|
|
101
101
|
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
102
102
|
});
|
|
103
|
-
return _tslib.__awaiter(this,
|
|
103
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
104
104
|
return _super.providerSwitchNetwork.call(this, { network, provider });
|
|
105
105
|
});
|
|
106
106
|
}
|
|
@@ -67,8 +67,8 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
67
67
|
return ((_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
|
|
68
68
|
}
|
|
69
69
|
getAddress() {
|
|
70
|
-
var _a;
|
|
71
70
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
var _a;
|
|
72
72
|
return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.getAddress();
|
|
73
73
|
});
|
|
74
74
|
}
|
|
@@ -78,8 +78,8 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
80
|
signMessage(messageToSign) {
|
|
81
|
-
var _a;
|
|
82
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
var _a;
|
|
83
83
|
return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
|
|
84
84
|
});
|
|
85
85
|
}
|
|
@@ -94,11 +94,11 @@ class InjectedWalletBase extends EthWalletConnector {
|
|
|
94
94
|
return;
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
|
-
providerSwitchNetwork(
|
|
97
|
+
providerSwitchNetwork(_a) {
|
|
98
98
|
const _super = Object.create(null, {
|
|
99
99
|
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
100
100
|
});
|
|
101
|
-
return __awaiter(this,
|
|
101
|
+
return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
|
|
102
102
|
return _super.providerSwitchNetwork.call(this, { network, provider });
|
|
103
103
|
});
|
|
104
104
|
}
|
|
@@ -45,8 +45,8 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
|
|
|
45
45
|
const _super = Object.create(null, {
|
|
46
46
|
getAddress: { get: () => super.getAddress }
|
|
47
47
|
});
|
|
48
|
-
var _a;
|
|
49
48
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
var _a;
|
|
50
50
|
if (this.isInstalledOnBrowser()) {
|
|
51
51
|
return _super.getAddress.call(this);
|
|
52
52
|
}
|
|
@@ -41,8 +41,8 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
|
|
|
41
41
|
const _super = Object.create(null, {
|
|
42
42
|
getAddress: { get: () => super.getAddress }
|
|
43
43
|
});
|
|
44
|
-
var _a;
|
|
45
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
var _a;
|
|
46
46
|
if (this.isInstalledOnBrowser()) {
|
|
47
47
|
return _super.getAddress.call(this);
|
|
48
48
|
}
|
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,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
6
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
7
|
+
|
|
8
|
+
const getNameservice = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ rpcProvider, address, }) {
|
|
9
|
+
var _b;
|
|
10
|
+
const nsData = {
|
|
11
|
+
avatar: undefined,
|
|
12
|
+
name: undefined,
|
|
13
|
+
};
|
|
14
|
+
const network = yield rpcProvider.getChainId();
|
|
15
|
+
if (!network) {
|
|
16
|
+
return nsData;
|
|
17
|
+
}
|
|
18
|
+
// Handle Base name service requests
|
|
19
|
+
if (network === 8453) {
|
|
20
|
+
try {
|
|
21
|
+
const response = yield fetch(`https://resolver-api.basename.app/v1/addresses/${address}`);
|
|
22
|
+
if (response.ok) {
|
|
23
|
+
const data = yield response.json();
|
|
24
|
+
nsData.name = (_b = data.name) !== null && _b !== void 0 ? _b : undefined;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
walletConnectorCore.logger.debug('Failed to fetch ens data', e);
|
|
29
|
+
}
|
|
30
|
+
return nsData;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
nsData.name = (yield rpcProvider.getEnsName({
|
|
34
|
+
address: address,
|
|
35
|
+
}));
|
|
36
|
+
nsData.avatar = nsData.name
|
|
37
|
+
? (yield rpcProvider.getEnsAvatar({
|
|
38
|
+
name: nsData.name,
|
|
39
|
+
}))
|
|
40
|
+
: undefined;
|
|
41
|
+
}
|
|
42
|
+
return nsData;
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
exports.getNameservice = getNameservice;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
+
import { logger } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
+
|
|
4
|
+
const getNameservice = (_a) => __awaiter(void 0, [_a], void 0, function* ({ rpcProvider, address, }) {
|
|
5
|
+
var _b;
|
|
6
|
+
const nsData = {
|
|
7
|
+
avatar: undefined,
|
|
8
|
+
name: undefined,
|
|
9
|
+
};
|
|
10
|
+
const network = yield rpcProvider.getChainId();
|
|
11
|
+
if (!network) {
|
|
12
|
+
return nsData;
|
|
13
|
+
}
|
|
14
|
+
// Handle Base name service requests
|
|
15
|
+
if (network === 8453) {
|
|
16
|
+
try {
|
|
17
|
+
const response = yield fetch(`https://resolver-api.basename.app/v1/addresses/${address}`);
|
|
18
|
+
if (response.ok) {
|
|
19
|
+
const data = yield response.json();
|
|
20
|
+
nsData.name = (_b = data.name) !== null && _b !== void 0 ? _b : undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
logger.debug('Failed to fetch ens data', e);
|
|
25
|
+
}
|
|
26
|
+
return nsData;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
nsData.name = (yield rpcProvider.getEnsName({
|
|
30
|
+
address: address,
|
|
31
|
+
}));
|
|
32
|
+
nsData.avatar = nsData.name
|
|
33
|
+
? (yield rpcProvider.getEnsAvatar({
|
|
34
|
+
name: nsData.name,
|
|
35
|
+
}))
|
|
36
|
+
: undefined;
|
|
37
|
+
}
|
|
38
|
+
return nsData;
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export { getNameservice };
|
package/src/utils/index.d.ts
CHANGED
|
@@ -250,8 +250,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
|
|
|
250
250
|
});
|
|
251
251
|
}
|
|
252
252
|
getAddress(opts) {
|
|
253
|
-
var _a, _b;
|
|
254
253
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
254
|
+
var _a, _b;
|
|
255
255
|
const activeAccount = this.getActiveAccount();
|
|
256
256
|
if (activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.address) {
|
|
257
257
|
return activeAccount.address;
|
|
@@ -413,8 +413,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
|
|
|
413
413
|
this.session = session;
|
|
414
414
|
}
|
|
415
415
|
endSession() {
|
|
416
|
-
var _a;
|
|
417
416
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
417
|
+
var _a;
|
|
418
418
|
this.clearActiveAccount();
|
|
419
419
|
this.clearSession();
|
|
420
420
|
this.hasSwitchedNetwork = false;
|
|
@@ -445,11 +445,11 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
|
|
|
445
445
|
return _super.getNetwork.call(this);
|
|
446
446
|
});
|
|
447
447
|
}
|
|
448
|
-
providerSwitchNetwork(
|
|
448
|
+
providerSwitchNetwork(_a) {
|
|
449
449
|
const _super = Object.create(null, {
|
|
450
450
|
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
451
451
|
});
|
|
452
|
-
return _tslib.__awaiter(this,
|
|
452
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ network, }) {
|
|
453
453
|
const supportedNetworks = yield this.getSupportedNetworks();
|
|
454
454
|
if (!(supportedNetworks === null || supportedNetworks === void 0 ? void 0 : supportedNetworks.includes(network.chainId.toString()))) {
|
|
455
455
|
const error = new utils.DynamicError('Network switching is not available at this time. The user should manually switch network in their wallet');
|
|
@@ -498,8 +498,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
|
|
|
498
498
|
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
499
|
}
|
|
500
500
|
getSupportedNetworks() {
|
|
501
|
-
var _a;
|
|
502
501
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
502
|
+
var _a;
|
|
503
503
|
yield this.initProvider();
|
|
504
504
|
this.refreshSession();
|
|
505
505
|
if (this.isMetaMask()) {
|
|
@@ -241,8 +241,8 @@ class WalletConnect extends EthWalletConnector {
|
|
|
241
241
|
});
|
|
242
242
|
}
|
|
243
243
|
getAddress(opts) {
|
|
244
|
-
var _a, _b;
|
|
245
244
|
return __awaiter(this, void 0, void 0, function* () {
|
|
245
|
+
var _a, _b;
|
|
246
246
|
const activeAccount = this.getActiveAccount();
|
|
247
247
|
if (activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.address) {
|
|
248
248
|
return activeAccount.address;
|
|
@@ -404,8 +404,8 @@ class WalletConnect extends EthWalletConnector {
|
|
|
404
404
|
this.session = session;
|
|
405
405
|
}
|
|
406
406
|
endSession() {
|
|
407
|
-
var _a;
|
|
408
407
|
return __awaiter(this, void 0, void 0, function* () {
|
|
408
|
+
var _a;
|
|
409
409
|
this.clearActiveAccount();
|
|
410
410
|
this.clearSession();
|
|
411
411
|
this.hasSwitchedNetwork = false;
|
|
@@ -436,11 +436,11 @@ class WalletConnect extends EthWalletConnector {
|
|
|
436
436
|
return _super.getNetwork.call(this);
|
|
437
437
|
});
|
|
438
438
|
}
|
|
439
|
-
providerSwitchNetwork(
|
|
439
|
+
providerSwitchNetwork(_a) {
|
|
440
440
|
const _super = Object.create(null, {
|
|
441
441
|
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
442
442
|
});
|
|
443
|
-
return __awaiter(this,
|
|
443
|
+
return __awaiter(this, arguments, void 0, function* ({ network, }) {
|
|
444
444
|
const supportedNetworks = yield this.getSupportedNetworks();
|
|
445
445
|
if (!(supportedNetworks === null || supportedNetworks === void 0 ? void 0 : supportedNetworks.includes(network.chainId.toString()))) {
|
|
446
446
|
const error = new DynamicError('Network switching is not available at this time. The user should manually switch network in their wallet');
|
|
@@ -489,8 +489,8 @@ class WalletConnect extends EthWalletConnector {
|
|
|
489
489
|
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
490
|
}
|
|
491
491
|
getSupportedNetworks() {
|
|
492
|
-
var _a;
|
|
493
492
|
return __awaiter(this, void 0, void 0, function* () {
|
|
493
|
+
var _a;
|
|
494
494
|
yield this.initProvider();
|
|
495
495
|
this.refreshSession();
|
|
496
496
|
if (this.isMetaMask()) {
|