@dynamic-labs/ethereum 2.1.0-alpha.0 → 2.1.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +100 -0
- package/_virtual/_tslib.cjs +1 -0
- package/_virtual/_tslib.js +1 -0
- package/package.json +10 -9
- package/src/EthWalletConnector.cjs +16 -26
- package/src/EthWalletConnector.d.ts +2785 -5
- package/src/EthWalletConnector.js +16 -26
- package/src/coinbase/coinbase.cjs +39 -72
- package/src/coinbase/coinbase.d.ts +2806 -291
- package/src/coinbase/coinbase.js +40 -73
- package/src/coinbase/helpers.cjs +29 -0
- package/src/coinbase/helpers.d.ts +3 -0
- package/src/coinbase/helpers.js +25 -0
- package/src/coinbase/types.d.ts +19 -0
- 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.d.ts +6883 -17
- package/src/walletConnect/walletConnect.js +6 -5
- package/src/coinbase/client/client.cjs +0 -72
- package/src/coinbase/client/client.d.ts +0 -7
- package/src/coinbase/client/client.js +0 -65
- package/src/coinbase/client/index.d.ts +0 -2
- package/src/coinbase/client/types.d.ts +0 -17
package/src/coinbase/coinbase.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
'use client'
|
|
1
2
|
import { __rest, __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
-
import { createWalletClient, custom } from 'viem';
|
|
3
|
-
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
|
+
import { toHex, toBytes, createWalletClient, custom } from 'viem';
|
|
4
4
|
import { eventListenerHandlers } from '@dynamic-labs/wallet-connector-core';
|
|
5
|
-
import { EthProviderHelper } from '../ethProviderHelper.js';
|
|
6
5
|
import { EthWalletConnector } from '../EthWalletConnector.js';
|
|
7
|
-
import {
|
|
6
|
+
import { getCoinbaseProvider } from './helpers.js';
|
|
8
7
|
|
|
9
8
|
class Coinbase extends EthWalletConnector {
|
|
10
9
|
constructor(_a) {
|
|
@@ -14,89 +13,57 @@ class Coinbase extends EthWalletConnector {
|
|
|
14
13
|
this.overrideKey = 'coinbase';
|
|
15
14
|
this.supportedChains = ['EVM', 'ETH'];
|
|
16
15
|
this.connectedChain = 'EVM';
|
|
17
|
-
this.canConnectViaQrCode =
|
|
18
|
-
this.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return;
|
|
26
|
-
this.ethProviderHelper = new EthProviderHelper(wallet, this);
|
|
27
|
-
}
|
|
28
|
-
setupEventListeners() {
|
|
29
|
-
var _a, _b, _c;
|
|
30
|
-
if (!this.isInstalledOnBrowser()) {
|
|
31
|
-
this.setupCoinbaseProviderEventListeners();
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const provider = (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider();
|
|
35
|
-
if (!provider) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
const setupResponse = (_c = (_b = this.ethProviderHelper) === null || _b === void 0 ? void 0 : _b._setupEventListeners) === null || _c === void 0 ? void 0 : _c.call(_b, this);
|
|
39
|
-
if (!(setupResponse === null || setupResponse === void 0 ? void 0 : setupResponse.tearDownEventListeners))
|
|
40
|
-
return;
|
|
41
|
-
this.teardownEventListeners = setupResponse.tearDownEventListeners;
|
|
42
|
-
}
|
|
43
|
-
getWalletClient(chainId) {
|
|
44
|
-
var _a;
|
|
45
|
-
if (this.isInstalledOnBrowser()) {
|
|
46
|
-
return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findWalletClient(chainId);
|
|
47
|
-
}
|
|
48
|
-
return createWalletClient({
|
|
49
|
-
transport: custom(getCoinbaseClient({
|
|
50
|
-
opts: this.coinbaseProviderOpts,
|
|
51
|
-
}).provider),
|
|
16
|
+
this.canConnectViaQrCode = false;
|
|
17
|
+
this.canConnectViaCustodialService = true;
|
|
18
|
+
this.coinbaseProvider = getCoinbaseProvider({
|
|
19
|
+
opts: {
|
|
20
|
+
appLogoUrl: appLogoUrl,
|
|
21
|
+
appName: appName,
|
|
22
|
+
evmNetworks: evmNetworks,
|
|
23
|
+
},
|
|
52
24
|
});
|
|
53
25
|
}
|
|
54
|
-
|
|
55
|
-
var _a;
|
|
56
|
-
return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
|
|
57
|
-
}
|
|
58
|
-
getAddress(opts) {
|
|
59
|
-
var _a;
|
|
26
|
+
getAddress() {
|
|
60
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
return
|
|
28
|
+
const [address] = yield this.coinbaseProvider.request({
|
|
29
|
+
method: 'eth_requestAccounts',
|
|
30
|
+
});
|
|
31
|
+
return address;
|
|
65
32
|
});
|
|
66
33
|
}
|
|
67
34
|
signMessage(messageToSign) {
|
|
68
|
-
var _a;
|
|
69
35
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
|
|
71
|
-
|
|
36
|
+
const [address] = yield this.coinbaseProvider.request({
|
|
37
|
+
method: 'eth_requestAccounts',
|
|
38
|
+
});
|
|
39
|
+
try {
|
|
40
|
+
return yield this.coinbaseProvider.request({
|
|
41
|
+
method: 'personal_sign',
|
|
42
|
+
params: [toHex(toBytes(messageToSign)), address.toLowerCase()],
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
return undefined;
|
|
72
47
|
}
|
|
73
|
-
return signMessage(this.coinbaseProviderOpts, messageToSign);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
endSession() {
|
|
77
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
if (this.isInstalledOnBrowser())
|
|
79
|
-
return;
|
|
80
|
-
killCoinbaseSession();
|
|
81
48
|
});
|
|
82
49
|
}
|
|
83
|
-
|
|
84
|
-
const { provider } = getCoinbaseClient({
|
|
85
|
-
opts: this.coinbaseProviderOpts,
|
|
86
|
-
});
|
|
87
|
-
if (!provider) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
50
|
+
setupEventListeners() {
|
|
90
51
|
const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(this);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
52
|
+
this.coinbaseProvider.on('accountsChanged', handleAccountChange);
|
|
53
|
+
this.coinbaseProvider.on('chainChanged', handleChainChange);
|
|
54
|
+
this.coinbaseProvider.on('disconnect', handleDisconnect);
|
|
94
55
|
this.teardownEventListeners = () => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
56
|
+
this.coinbaseProvider.removeListener('accountsChanged', handleAccountChange);
|
|
57
|
+
this.coinbaseProvider.removeListener('chainChanged', handleChainChange);
|
|
58
|
+
this.coinbaseProvider.removeListener('disconnect', handleDisconnect);
|
|
98
59
|
};
|
|
99
60
|
}
|
|
61
|
+
getWalletClient() {
|
|
62
|
+
return createWalletClient({
|
|
63
|
+
// add account and chain
|
|
64
|
+
transport: custom(this.coinbaseProvider),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
100
67
|
}
|
|
101
68
|
|
|
102
69
|
export { Coinbase };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var walletSdk = require('@coinbase/wallet-sdk');
|
|
7
|
+
|
|
8
|
+
// storing a reference to the coinbase provider because the provider methods work better when
|
|
9
|
+
// they are called on the same instance
|
|
10
|
+
let coinbaseProvider;
|
|
11
|
+
const getCoinbaseProvider = ({ opts: { appLogoUrl, appName } = {}, }) => {
|
|
12
|
+
if (!coinbaseProvider) {
|
|
13
|
+
const coinbaseSdk = new walletSdk.CoinbaseWalletSDK({
|
|
14
|
+
appChainIds: [
|
|
15
|
+
// hard code to work on base sepolia for now
|
|
16
|
+
84532,
|
|
17
|
+
// ...evmNetworks?.map((network) => Number(network.chainId)),
|
|
18
|
+
],
|
|
19
|
+
appLogoUrl,
|
|
20
|
+
appName,
|
|
21
|
+
});
|
|
22
|
+
coinbaseProvider = coinbaseSdk.makeWeb3Provider({
|
|
23
|
+
options: 'all',
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return coinbaseProvider;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.getCoinbaseProvider = getCoinbaseProvider;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { CoinbaseWalletSDK } from '@coinbase/wallet-sdk';
|
|
3
|
+
|
|
4
|
+
// storing a reference to the coinbase provider because the provider methods work better when
|
|
5
|
+
// they are called on the same instance
|
|
6
|
+
let coinbaseProvider;
|
|
7
|
+
const getCoinbaseProvider = ({ opts: { appLogoUrl, appName } = {}, }) => {
|
|
8
|
+
if (!coinbaseProvider) {
|
|
9
|
+
const coinbaseSdk = new CoinbaseWalletSDK({
|
|
10
|
+
appChainIds: [
|
|
11
|
+
// hard code to work on base sepolia for now
|
|
12
|
+
84532,
|
|
13
|
+
// ...evmNetworks?.map((network) => Number(network.chainId)),
|
|
14
|
+
],
|
|
15
|
+
appLogoUrl,
|
|
16
|
+
appName,
|
|
17
|
+
});
|
|
18
|
+
coinbaseProvider = coinbaseSdk.makeWeb3Provider({
|
|
19
|
+
options: 'all',
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return coinbaseProvider;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { getCoinbaseProvider };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ProviderInterface } from '@coinbase/wallet-sdk';
|
|
2
|
+
import { type GenericNetwork } from '@dynamic-labs/types';
|
|
3
|
+
import { type EthWalletConnectorOpts } from '../EthWalletConnector';
|
|
4
|
+
export type GetCoinbaseProviderOpts = {
|
|
5
|
+
appLogoUrl?: string;
|
|
6
|
+
appName?: string;
|
|
7
|
+
evmNetworks?: GenericNetwork[];
|
|
8
|
+
};
|
|
9
|
+
export type CoinbaseProviderHandlerOpts = {
|
|
10
|
+
onDisconnect(): Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
export type GetCoinbaseProvider = (args: {
|
|
13
|
+
handlers?: CoinbaseProviderHandlerOpts;
|
|
14
|
+
opts?: GetCoinbaseProviderOpts;
|
|
15
|
+
}) => ProviderInterface;
|
|
16
|
+
export type CoinbaseOpts = EthWalletConnectorOpts & {
|
|
17
|
+
appLogoUrl?: string;
|
|
18
|
+
appName?: string;
|
|
19
|
+
};
|
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