@dynamic-labs/ethereum-core 4.0.0-alpha.13 → 4.0.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
1
 
2
+ ## [4.0.0-alpha.15](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.14...v4.0.0-alpha.15) (2024-10-19)
3
+
4
+ ## [4.0.0-alpha.14](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.13...v4.0.0-alpha.14) (2024-10-18)
5
+
2
6
  ## [4.0.0-alpha.13](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.12...v4.0.0-alpha.13) (2024-10-18)
3
7
 
4
8
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.0.0-alpha.13";
6
+ var version = "4.0.0-alpha.15";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.0.0-alpha.13";
2
+ var version = "4.0.0-alpha.15";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum-core",
3
- "version": "4.0.0-alpha.13",
3
+ "version": "4.0.0-alpha.15",
4
4
  "description": "Core package for utilities and types for viem",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -18,16 +18,16 @@
18
18
  },
19
19
  "homepage": "https://www.dynamic.xyz/",
20
20
  "dependencies": {
21
- "@dynamic-labs/sdk-api-core": "0.0.547"
21
+ "@dynamic-labs/sdk-api-core": "0.0.549"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "viem": "^2.7.6",
25
- "@dynamic-labs/assert-package-version": "4.0.0-alpha.13",
26
- "@dynamic-labs/logger": "4.0.0-alpha.13",
27
- "@dynamic-labs/rpc-providers": "4.0.0-alpha.13",
28
- "@dynamic-labs/types": "4.0.0-alpha.13",
29
- "@dynamic-labs/utils": "4.0.0-alpha.13",
30
- "@dynamic-labs/wallet-book": "4.0.0-alpha.13",
31
- "@dynamic-labs/wallet-connector-core": "4.0.0-alpha.13"
25
+ "@dynamic-labs/assert-package-version": "4.0.0-alpha.15",
26
+ "@dynamic-labs/logger": "4.0.0-alpha.15",
27
+ "@dynamic-labs/rpc-providers": "4.0.0-alpha.15",
28
+ "@dynamic-labs/types": "4.0.0-alpha.15",
29
+ "@dynamic-labs/utils": "4.0.0-alpha.15",
30
+ "@dynamic-labs/wallet-book": "4.0.0-alpha.15",
31
+ "@dynamic-labs/wallet-connector-core": "4.0.0-alpha.15"
32
32
  }
33
33
  }
@@ -18,6 +18,22 @@ var getNameservice = require('../utils/getNameservice/getNameservice.cjs');
18
18
  var EthereumWallet = require('../wallet/EthereumWallet.cjs');
19
19
 
20
20
  class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
21
+ constructor(props) {
22
+ var _a;
23
+ super(props);
24
+ this.ChainWallet = EthereumWallet.EthereumWallet;
25
+ this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
26
+ var _a;
27
+ [acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
28
+ ? network.privateCustomerRpcUrls
29
+ : network.rpcUrls;
30
+ return acc;
31
+ }, {});
32
+ this.walletUiUtils = props.walletUiUtils;
33
+ this.evmNetworks = utils.parseEvmNetworks(props.evmNetworks);
34
+ this.chainRpcProviders = props.chainRpcProviders;
35
+ (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders();
36
+ }
21
37
  getPublicClient() {
22
38
  return _tslib.__awaiter(this, void 0, void 0, function* () {
23
39
  var _a, _b;
@@ -37,21 +53,6 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
37
53
  return (_b = this.chainRpcProviders.getEvmProviderByChainId(providers, networkId)) === null || _b === void 0 ? void 0 : _b.provider;
38
54
  });
39
55
  }
40
- constructor(props) {
41
- var _a;
42
- super(props);
43
- this.ChainWallet = EthereumWallet.EthereumWallet;
44
- this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
45
- var _a;
46
- [acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
47
- ? network.privateCustomerRpcUrls
48
- : network.rpcUrls;
49
- return acc;
50
- }, {});
51
- this.evmNetworks = utils.parseEvmNetworks(props.evmNetworks);
52
- this.chainRpcProviders = props.chainRpcProviders;
53
- (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders();
54
- }
55
56
  getNetwork() {
56
57
  return _tslib.__awaiter(this, void 0, void 0, function* () {
57
58
  const provider = this.getWalletClient();
@@ -230,7 +231,16 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
230
231
  return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
231
232
  var _b;
232
233
  try {
233
- return yield provider.addChain({ chain: getOrMapViemChain.getOrMapViemChain(network) });
234
+ if (utils.isMobile()) {
235
+ yield this.walletUiUtils.addNetwork({
236
+ handler: () => provider.addChain({ chain: getOrMapViemChain.getOrMapViemChain(network) }),
237
+ network,
238
+ walletKey: this.key,
239
+ });
240
+ }
241
+ else {
242
+ yield provider.addChain({ chain: getOrMapViemChain.getOrMapViemChain(network) });
243
+ }
234
244
  }
235
245
  catch (error) {
236
246
  if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||
@@ -1,7 +1,7 @@
1
1
  import { Account, Hex, PublicClient, Transport, Chain as ViemChain, WalletClient } from 'viem';
2
- import { EvmNetwork, GenericNetwork, IUITransaction, TransactionReceipt } from '@dynamic-labs/types';
2
+ import { EvmNetwork, GenericNetwork, IUITransaction, TransactionReceipt, WalletUiUtils } from '@dynamic-labs/types';
3
3
  import { WalletBookSchema } from '@dynamic-labs/wallet-book';
4
- import { ISendBalanceWalletConnector, NameServiceData, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
4
+ import { ISendBalanceWalletConnector, InternalWalletConnector, NameServiceData, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
5
5
  import { IChainRpcProviders } from '../rpc';
6
6
  import { EthereumWallet } from '../wallet';
7
7
  export type SwitchNetworkOps = {
@@ -15,15 +15,17 @@ export type EthWalletConnectorOpts = {
15
15
  chainRpcProviders: IChainRpcProviders;
16
16
  evmNetworks: GenericNetwork[];
17
17
  walletBook: WalletBookSchema;
18
+ walletUiUtils: WalletUiUtils<InternalWalletConnector>;
18
19
  };
19
20
  export declare abstract class EthWalletConnector extends WalletConnectorBase<typeof EthereumWallet> implements ISendBalanceWalletConnector {
20
21
  ChainWallet: typeof EthereumWallet;
21
22
  evmNetworks: EvmNetwork[];
22
23
  private activeAccount;
23
24
  private activeChain;
25
+ private walletUiUtils;
24
26
  abstract getWalletClient(chainId?: string): WalletClient<Transport, ViemChain, Account> | undefined;
25
- getPublicClient(): Promise<void | PublicClient<Transport, ViemChain> | undefined>;
26
27
  constructor(props: EthWalletConnectorOpts);
28
+ getPublicClient(): Promise<void | PublicClient<Transport, ViemChain> | undefined>;
27
29
  getNetwork(): Promise<number | undefined>;
28
30
  getNameService(address: string): Promise<NameServiceData | undefined>;
29
31
  isTestnet(): Promise<boolean>;
@@ -2,7 +2,7 @@
2
2
  import { __awaiter } from '../../_virtual/_tslib.js';
3
3
  import { getAddress, formatEther } from 'viem';
4
4
  import { toAccount } from 'viem/accounts';
5
- import { parseEvmNetworks, retryableFn, FALLBACK_UNDEFINED, DynamicError, UserRejectedRequestError } from '@dynamic-labs/utils';
5
+ import { parseEvmNetworks, retryableFn, FALLBACK_UNDEFINED, DynamicError, UserRejectedRequestError, isMobile } from '@dynamic-labs/utils';
6
6
  import { WalletConnectorBase, logger } from '@dynamic-labs/wallet-connector-core';
7
7
  import '../utils/logger.js';
8
8
  import '../utils/viem/estimateL1Fee/opStack/estimateL1Fee.js';
@@ -14,6 +14,22 @@ import { getNameservice } from '../utils/getNameservice/getNameservice.js';
14
14
  import { EthereumWallet } from '../wallet/EthereumWallet.js';
15
15
 
16
16
  class EthWalletConnector extends WalletConnectorBase {
17
+ constructor(props) {
18
+ var _a;
19
+ super(props);
20
+ this.ChainWallet = EthereumWallet;
21
+ this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
22
+ var _a;
23
+ [acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
24
+ ? network.privateCustomerRpcUrls
25
+ : network.rpcUrls;
26
+ return acc;
27
+ }, {});
28
+ this.walletUiUtils = props.walletUiUtils;
29
+ this.evmNetworks = parseEvmNetworks(props.evmNetworks);
30
+ this.chainRpcProviders = props.chainRpcProviders;
31
+ (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders();
32
+ }
17
33
  getPublicClient() {
18
34
  return __awaiter(this, void 0, void 0, function* () {
19
35
  var _a, _b;
@@ -33,21 +49,6 @@ class EthWalletConnector extends WalletConnectorBase {
33
49
  return (_b = this.chainRpcProviders.getEvmProviderByChainId(providers, networkId)) === null || _b === void 0 ? void 0 : _b.provider;
34
50
  });
35
51
  }
36
- constructor(props) {
37
- var _a;
38
- super(props);
39
- this.ChainWallet = EthereumWallet;
40
- this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
41
- var _a;
42
- [acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
43
- ? network.privateCustomerRpcUrls
44
- : network.rpcUrls;
45
- return acc;
46
- }, {});
47
- this.evmNetworks = parseEvmNetworks(props.evmNetworks);
48
- this.chainRpcProviders = props.chainRpcProviders;
49
- (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders();
50
- }
51
52
  getNetwork() {
52
53
  return __awaiter(this, void 0, void 0, function* () {
53
54
  const provider = this.getWalletClient();
@@ -226,7 +227,16 @@ class EthWalletConnector extends WalletConnectorBase {
226
227
  return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
227
228
  var _b;
228
229
  try {
229
- return yield provider.addChain({ chain: getOrMapViemChain(network) });
230
+ if (isMobile()) {
231
+ yield this.walletUiUtils.addNetwork({
232
+ handler: () => provider.addChain({ chain: getOrMapViemChain(network) }),
233
+ network,
234
+ walletKey: this.key,
235
+ });
236
+ }
237
+ else {
238
+ yield provider.addChain({ chain: getOrMapViemChain(network) });
239
+ }
230
240
  }
231
241
  catch (error) {
232
242
  if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||