@dynamic-labs/ethereum-core 4.14.0 → 4.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +9 -9
  5. package/src/connector/EthereumWalletConnector.cjs +33 -0
  6. package/src/connector/EthereumWalletConnector.d.ts +4 -2
  7. package/src/connector/EthereumWalletConnector.js +33 -0
  8. package/src/index.cjs +6 -0
  9. package/src/index.js +3 -0
  10. package/src/types.d.ts +4 -0
  11. package/src/utils/viem/getWalletCapabilities/getWalletCapabilities.cjs +11 -0
  12. package/src/utils/viem/getWalletCapabilities/getWalletCapabilities.d.ts +4 -0
  13. package/src/utils/viem/getWalletCapabilities/getWalletCapabilities.js +7 -0
  14. package/src/utils/viem/getWalletCapabilities/index.d.ts +1 -0
  15. package/src/utils/viem/hasAtomicStatusCapability/hasAtomicStatusCapability.cjs +16 -0
  16. package/src/utils/viem/hasAtomicStatusCapability/hasAtomicStatusCapability.d.ts +2 -0
  17. package/src/utils/viem/hasAtomicStatusCapability/hasAtomicStatusCapability.js +12 -0
  18. package/src/utils/viem/hasAtomicStatusCapability/index.d.ts +1 -0
  19. package/src/utils/viem/hasPaymasterServiceCapability/hasPaymasterServiceCapability.cjs +15 -0
  20. package/src/utils/viem/hasPaymasterServiceCapability/hasPaymasterServiceCapability.d.ts +2 -0
  21. package/src/utils/viem/hasPaymasterServiceCapability/hasPaymasterServiceCapability.js +11 -0
  22. package/src/utils/viem/hasPaymasterServiceCapability/index.d.ts +1 -0
  23. package/src/utils/viem/index.d.ts +3 -0
  24. package/src/wallet/EthereumWallet.cjs +11 -0
  25. package/src/wallet/EthereumWallet.d.ts +2 -0
  26. package/src/wallet/EthereumWallet.js +11 -0
package/CHANGELOG.md CHANGED
@@ -1,4 +1,35 @@
1
1
 
2
+ ## [4.16.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.15.0...v4.16.0) (2025-05-03)
3
+
4
+
5
+ ### Features
6
+
7
+ * (GVTY-3020) add send balance to waas sui connector ([#8638](https://github.com/dynamic-labs/dynamic-auth/issues/8638)) ([97f0af0](https://github.com/dynamic-labs/dynamic-auth/commit/97f0af0504a0079ebf0958fde1f8edc34c035927))
8
+ * add isAtomicSupported and isPaymasterServiceSupported methods to EthereumWallet ([#8627](https://github.com/dynamic-labs/dynamic-auth/issues/8627)) ([df82b9e](https://github.com/dynamic-labs/dynamic-auth/commit/df82b9e86eafea9dd6c505227722450bc56d7c57))
9
+ * add solana mpc to global wallets ([#8605](https://github.com/dynamic-labs/dynamic-auth/issues/8605)) ([6261bf9](https://github.com/dynamic-labs/dynamic-auth/commit/6261bf9bec45b1d1afa13869cf5d10cda215783e))
10
+
11
+ ## [4.15.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.14.0...v4.15.0) (2025-04-30)
12
+
13
+
14
+ ### Features
15
+
16
+ * add end session override for waas sui connector ([#8602](https://github.com/dynamic-labs/dynamic-auth/issues/8602)) ([6c9e6fd](https://github.com/dynamic-labs/dynamic-auth/commit/6c9e6fda4581a4e3b9e1544f22d6e5f03723d928))
17
+ * add presets and demo fixes ([#8609](https://github.com/dynamic-labs/dynamic-auth/issues/8609)) ([2201914](https://github.com/dynamic-labs/dynamic-auth/commit/2201914d2029ff0b67dfc2c6e696f728f32f57b3))
18
+ * add ShareConfig component with modal and styling ([74aff97](https://github.com/dynamic-labs/dynamic-auth/commit/74aff97689c9e7c9abc892c1deac4d748b498909))
19
+ * add wallet actions section and update UI components ([#8598](https://github.com/dynamic-labs/dynamic-auth/issues/8598)) ([d6170b7](https://github.com/dynamic-labs/dynamic-auth/commit/d6170b7f6abd963e6a081541e2c674b7141f1c15))
20
+ * dynamic waas to sign 7702 authorization ([#8603](https://github.com/dynamic-labs/dynamic-auth/issues/8603)) ([74e1722](https://github.com/dynamic-labs/dynamic-auth/commit/74e1722f417aab621f4062093e109dc45cf542ea))
21
+ * add signMessage feature to global wallet client ([#8563](https://github.com/dynamic-labs/dynamic-auth/issues/8563)) ([c3f9734](https://github.com/dynamic-labs/dynamic-auth/commit/c3f9734c097f5c9b88c35e0f642632f261e40fe7))
22
+ * allow displaying custom links in the global wallet profile dropdown menu ([#8617](https://github.com/dynamic-labs/dynamic-auth/issues/8617)) ([5fb956c](https://github.com/dynamic-labs/dynamic-auth/commit/5fb956c0c2b681fece56104b330a0e90fc8fb936))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * add default base api url for dynamic waas config on connector initialization ([#8604](https://github.com/dynamic-labs/dynamic-auth/issues/8604)) ([6218a7e](https://github.com/dynamic-labs/dynamic-auth/commit/6218a7edda4feb9028be548acfe8eff64578f0a0))
28
+ * enables caching for sprite.svg ([#8610](https://github.com/dynamic-labs/dynamic-auth/issues/8610)) ([decdb69](https://github.com/dynamic-labs/dynamic-auth/commit/decdb69b4df8bc2d97ee579fa423e9682ab1720b))
29
+ * change mobile experience to redirect ([#8003](https://github.com/dynamic-labs/dynamic-auth/issues/8003)) ([2e8a1d8](https://github.com/dynamic-labs/dynamic-auth/commit/2e8a1d8b54f54386e1abc9f4e6e5e9acf859e5fa))
30
+ * optimize wallet finder when performing eth and sol operations in global wallet popup ([#8564](https://github.com/dynamic-labs/dynamic-auth/issues/8564)) ([2eaf424](https://github.com/dynamic-labs/dynamic-auth/commit/2eaf4244d4aa1b1cc5c6e32574db10ab34f8ed80))
31
+ * loading state for v3 connect-only embedded wallet generation ([#8600](https://github.com/dynamic-labs/dynamic-auth/issues/8600)) ([af34d16](https://github.com/dynamic-labs/dynamic-auth/commit/af34d168a765aa82867116541e73c59672ab2341))
32
+
2
33
  ## [4.14.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.13.0...v4.14.0) (2025-04-25)
3
34
 
4
35
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.14.0";
6
+ var version = "4.16.0";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.14.0";
2
+ var version = "4.16.0";
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.14.0",
3
+ "version": "4.16.0",
4
4
  "description": "Core package for utilities and types for viem",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -18,14 +18,14 @@
18
18
  },
19
19
  "homepage": "https://www.dynamic.xyz/",
20
20
  "dependencies": {
21
- "@dynamic-labs/sdk-api-core": "0.0.658",
22
- "@dynamic-labs/assert-package-version": "4.14.0",
23
- "@dynamic-labs/logger": "4.14.0",
24
- "@dynamic-labs/rpc-providers": "4.14.0",
25
- "@dynamic-labs/types": "4.14.0",
26
- "@dynamic-labs/utils": "4.14.0",
27
- "@dynamic-labs/wallet-book": "4.14.0",
28
- "@dynamic-labs/wallet-connector-core": "4.14.0"
21
+ "@dynamic-labs/sdk-api-core": "0.0.660",
22
+ "@dynamic-labs/assert-package-version": "4.16.0",
23
+ "@dynamic-labs/logger": "4.16.0",
24
+ "@dynamic-labs/rpc-providers": "4.16.0",
25
+ "@dynamic-labs/types": "4.16.0",
26
+ "@dynamic-labs/utils": "4.16.0",
27
+ "@dynamic-labs/wallet-book": "4.16.0",
28
+ "@dynamic-labs/wallet-connector-core": "4.16.0"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "viem": "^2.21.60"
@@ -13,6 +13,9 @@ require('../utils/viem/estimateL1Fee/opStack/estimateL1Fee.cjs');
13
13
  var chainsMap = require('../utils/viem/chainsMap/chainsMap.cjs');
14
14
  var createViemUiTransaction = require('../utils/viem/createViemUiTransaction/createViemUiTransaction.cjs');
15
15
  var getOrMapViemChain = require('../utils/viem/getOrMapViemChain/getOrMapViemChain.cjs');
16
+ var getWalletCapabilities = require('../utils/viem/getWalletCapabilities/getWalletCapabilities.cjs');
17
+ var hasAtomicStatusCapability = require('../utils/viem/hasAtomicStatusCapability/hasAtomicStatusCapability.cjs');
18
+ var hasPaymasterServiceCapability = require('../utils/viem/hasPaymasterServiceCapability/hasPaymasterServiceCapability.cjs');
16
19
  var findEvmNetwork = require('../utils/findEvmNetwork/findEvmNetwork.cjs');
17
20
  var getNameservice = require('../utils/getNameservice/getNameservice.cjs');
18
21
  var EthereumWallet = require('../wallet/EthereumWallet.cjs');
@@ -307,6 +310,36 @@ class EthereumWalletConnector extends walletConnectorCore.WalletConnectorBase {
307
310
  getEnabledNetworks() {
308
311
  return this.evmNetworks;
309
312
  }
313
+ isAtomicSupported(chainId) {
314
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
315
+ const walletClient = yield this.getWalletClient();
316
+ if (!walletClient) {
317
+ return false;
318
+ }
319
+ const capabilities = yield getWalletCapabilities.getWalletCapabilities(walletClient);
320
+ const chainIdToCheck = chainId !== null && chainId !== void 0 ? chainId : (yield walletClient.getChainId());
321
+ walletConnectorCore.logger.debug('[EthereumWalletConnector] isAtomicSupported', {
322
+ capabilities,
323
+ chainId: chainIdToCheck,
324
+ });
325
+ return hasAtomicStatusCapability.hasAtomicStatusCapability(capabilities, chainIdToCheck);
326
+ });
327
+ }
328
+ isPaymasterServiceSupported(chainId) {
329
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
330
+ const walletClient = yield this.getWalletClient();
331
+ if (!walletClient) {
332
+ return false;
333
+ }
334
+ const capabilities = yield getWalletCapabilities.getWalletCapabilities(walletClient);
335
+ const chainIdToCheck = chainId !== null && chainId !== void 0 ? chainId : (yield walletClient.getChainId());
336
+ walletConnectorCore.logger.debug('[EthereumWalletConnector] isPaymasterServiceSupported', {
337
+ capabilities,
338
+ chainId: chainIdToCheck,
339
+ });
340
+ return hasPaymasterServiceCapability.hasPaymasterServiceCapability(capabilities, chainIdToCheck);
341
+ });
342
+ }
310
343
  }
311
344
 
312
345
  exports.EthereumWalletConnector = EthereumWalletConnector;
@@ -60,7 +60,7 @@ export declare abstract class EthereumWalletConnector extends WalletConnectorBas
60
60
  getAddresses: () => Promise<import("viem").GetAddressesReturnType>;
61
61
  getChainId: () => Promise<number>;
62
62
  getPermissions: () => Promise<import("viem").GetPermissionsReturnType>;
63
- prepareAuthorization: (parameters: import("node_modules/viem/_types/actions/wallet/prepareAuthorization").PrepareAuthorizationParameters<Account>) => Promise<import("node_modules/viem/_types/actions/wallet/prepareAuthorization").PrepareAuthorizationReturnType>;
63
+ prepareAuthorization: (parameters: import("viem/experimental").PrepareAuthorizationParameters<Account>) => Promise<import("viem/experimental").PrepareAuthorizationReturnType>;
64
64
  prepareTransactionRequest: <const request extends import("viem").PrepareTransactionRequestRequest<ViemChain, chainOverride_1>, chainOverride_1 extends ViemChain | undefined = undefined, accountOverride extends `0x${string}` | Account | undefined = undefined>(args: import("viem").PrepareTransactionRequestParameters<ViemChain, Account, chainOverride_1, accountOverride, request>) => Promise<import("viem").UnionRequiredBy<Extract<import("viem").UnionOmit<import("viem").ExtractChainFormatterParameters<import("viem").DeriveChain<ViemChain, chainOverride_1>, "transactionRequest", import("viem").TransactionRequest>, "from"> & (import("viem").DeriveChain<ViemChain, chainOverride_1> extends infer T_14 ? T_14 extends import("viem").DeriveChain<ViemChain, chainOverride_1> ? T_14 extends ViemChain ? {
65
65
  chain: T_14;
66
66
  } : {
@@ -6573,7 +6573,7 @@ export declare abstract class EthereumWalletConnector extends WalletConnectorBas
6573
6573
  }) => Promise<import("viem").RequestPermissionsReturnType>;
6574
6574
  sendRawTransaction: (args: import("viem").SendRawTransactionParameters) => Promise<`0x${string}`>;
6575
6575
  sendTransaction: <const request_1 extends import("viem").SendTransactionRequest<ViemChain, chainOverride_2>, chainOverride_2 extends ViemChain | undefined = undefined>(args: import("viem").SendTransactionParameters<ViemChain, Account, chainOverride_2, request_1>) => Promise<`0x${string}`>;
6576
- signAuthorization: (parameters: import("node_modules/viem/_types/actions/wallet/signAuthorization").SignAuthorizationParameters<Account>) => Promise<import("node_modules/viem/_types/actions/wallet/signAuthorization").SignAuthorizationReturnType>;
6576
+ signAuthorization: (parameters: import("viem/experimental").SignAuthorizationParameters<Account>) => Promise<import("viem/experimental").SignAuthorizationReturnType>;
6577
6577
  signMessage: (args: import("viem").SignMessageParameters<Account>) => Promise<`0x${string}`>;
6578
6578
  signTransaction: <chainOverride_3 extends ViemChain | undefined, const request_2 extends import("viem").UnionOmit<import("viem").ExtractChainFormatterParameters<import("viem").DeriveChain<ViemChain, chainOverride_3>, "transactionRequest", import("viem").TransactionRequest>, "from"> = import("viem").UnionOmit<import("viem").ExtractChainFormatterParameters<import("viem").DeriveChain<ViemChain, chainOverride_3>, "transactionRequest", import("viem").TransactionRequest>, "from">>(args: import("viem").SignTransactionParameters<ViemChain, Account, chainOverride_3, request_2>) => Promise<import("viem").TransactionSerialized<import("viem").GetTransactionType<request_2, (request_2 extends {
6579
6579
  accessList?: undefined;
@@ -7716,5 +7716,7 @@ export declare abstract class EthereumWalletConnector extends WalletConnectorBas
7716
7716
  confirmTransactionStatus(txHash: string): Promise<TransactionReceipt>;
7717
7717
  getBlockExplorerUrlsForCurrentNetwork(): Promise<string[]>;
7718
7718
  getEnabledNetworks(): GenericNetwork[];
7719
+ isAtomicSupported(chainId?: number): Promise<boolean>;
7720
+ isPaymasterServiceSupported(chainId?: number): Promise<boolean>;
7719
7721
  }
7720
7722
  export {};
@@ -9,6 +9,9 @@ import '../utils/viem/estimateL1Fee/opStack/estimateL1Fee.js';
9
9
  import { chainsMap } from '../utils/viem/chainsMap/chainsMap.js';
10
10
  import { createViemUiTransaction } from '../utils/viem/createViemUiTransaction/createViemUiTransaction.js';
11
11
  import { getOrMapViemChain } from '../utils/viem/getOrMapViemChain/getOrMapViemChain.js';
12
+ import { getWalletCapabilities } from '../utils/viem/getWalletCapabilities/getWalletCapabilities.js';
13
+ import { hasAtomicStatusCapability } from '../utils/viem/hasAtomicStatusCapability/hasAtomicStatusCapability.js';
14
+ import { hasPaymasterServiceCapability } from '../utils/viem/hasPaymasterServiceCapability/hasPaymasterServiceCapability.js';
12
15
  import { findEvmNetwork } from '../utils/findEvmNetwork/findEvmNetwork.js';
13
16
  import { getNameservice } from '../utils/getNameservice/getNameservice.js';
14
17
  import { EthereumWallet } from '../wallet/EthereumWallet.js';
@@ -303,6 +306,36 @@ class EthereumWalletConnector extends WalletConnectorBase {
303
306
  getEnabledNetworks() {
304
307
  return this.evmNetworks;
305
308
  }
309
+ isAtomicSupported(chainId) {
310
+ return __awaiter(this, void 0, void 0, function* () {
311
+ const walletClient = yield this.getWalletClient();
312
+ if (!walletClient) {
313
+ return false;
314
+ }
315
+ const capabilities = yield getWalletCapabilities(walletClient);
316
+ const chainIdToCheck = chainId !== null && chainId !== void 0 ? chainId : (yield walletClient.getChainId());
317
+ logger.debug('[EthereumWalletConnector] isAtomicSupported', {
318
+ capabilities,
319
+ chainId: chainIdToCheck,
320
+ });
321
+ return hasAtomicStatusCapability(capabilities, chainIdToCheck);
322
+ });
323
+ }
324
+ isPaymasterServiceSupported(chainId) {
325
+ return __awaiter(this, void 0, void 0, function* () {
326
+ const walletClient = yield this.getWalletClient();
327
+ if (!walletClient) {
328
+ return false;
329
+ }
330
+ const capabilities = yield getWalletCapabilities(walletClient);
331
+ const chainIdToCheck = chainId !== null && chainId !== void 0 ? chainId : (yield walletClient.getChainId());
332
+ logger.debug('[EthereumWalletConnector] isPaymasterServiceSupported', {
333
+ capabilities,
334
+ chainId: chainIdToCheck,
335
+ });
336
+ return hasPaymasterServiceCapability(capabilities, chainIdToCheck);
337
+ });
338
+ }
306
339
  }
307
340
 
308
341
  export { EthereumWalletConnector };
package/src/index.cjs CHANGED
@@ -19,6 +19,9 @@ var createTransportWithUiConfirmation = require('./utils/viem/createTransportWit
19
19
  var createViemUiTransaction = require('./utils/viem/createViemUiTransaction/createViemUiTransaction.cjs');
20
20
  var createWalletClientWithUiConfirmation = require('./utils/viem/createWalletClientWithUiConfirmation/createWalletClientWithUiConfirmation.cjs');
21
21
  var getOrMapViemChain = require('./utils/viem/getOrMapViemChain/getOrMapViemChain.cjs');
22
+ var getWalletCapabilities = require('./utils/viem/getWalletCapabilities/getWalletCapabilities.cjs');
23
+ var hasAtomicStatusCapability = require('./utils/viem/hasAtomicStatusCapability/hasAtomicStatusCapability.cjs');
24
+ var hasPaymasterServiceCapability = require('./utils/viem/hasPaymasterServiceCapability/hasPaymasterServiceCapability.cjs');
22
25
  var unFormatTransaction = require('./utils/viem/unFormatTransaction/unFormatTransaction.cjs');
23
26
  var abi = require('./utils/viem/erc20/abi.cjs');
24
27
  var interceptTransport = require('./utils/viem/interceptTransport/interceptTransport.cjs');
@@ -45,6 +48,9 @@ exports.createWalletClientWithUiConfirmation = createWalletClientWithUiConfirmat
45
48
  exports.getChain = getOrMapViemChain.getChain;
46
49
  exports.getOrMapViemChain = getOrMapViemChain.getOrMapViemChain;
47
50
  exports.mapChain = getOrMapViemChain.mapChain;
51
+ exports.getWalletCapabilities = getWalletCapabilities.getWalletCapabilities;
52
+ exports.hasAtomicStatusCapability = hasAtomicStatusCapability.hasAtomicStatusCapability;
53
+ exports.hasPaymasterServiceCapability = hasPaymasterServiceCapability.hasPaymasterServiceCapability;
48
54
  exports.unFormatTransaction = unFormatTransaction.unFormatTransaction;
49
55
  exports.erc20Abi = abi.erc20Abi;
50
56
  exports.interceptTransport = interceptTransport.interceptTransport;
package/src/index.js CHANGED
@@ -15,6 +15,9 @@ export { createTransportWithUiConfirmation } from './utils/viem/createTransportW
15
15
  export { createViemUiTransaction } from './utils/viem/createViemUiTransaction/createViemUiTransaction.js';
16
16
  export { createWalletClientWithUiConfirmation } from './utils/viem/createWalletClientWithUiConfirmation/createWalletClientWithUiConfirmation.js';
17
17
  export { getChain, getOrMapViemChain, mapChain } from './utils/viem/getOrMapViemChain/getOrMapViemChain.js';
18
+ export { getWalletCapabilities } from './utils/viem/getWalletCapabilities/getWalletCapabilities.js';
19
+ export { hasAtomicStatusCapability } from './utils/viem/hasAtomicStatusCapability/hasAtomicStatusCapability.js';
20
+ export { hasPaymasterServiceCapability } from './utils/viem/hasPaymasterServiceCapability/hasPaymasterServiceCapability.js';
18
21
  export { unFormatTransaction } from './utils/viem/unFormatTransaction/unFormatTransaction.js';
19
22
  export { erc20Abi } from './utils/viem/erc20/abi.js';
20
23
  export { interceptTransport } from './utils/viem/interceptTransport/interceptTransport.js';
package/src/types.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { WalletCapabilities } from 'viem';
2
+ export type WalletCapabilitiesMap = {
3
+ [chainId: number]: WalletCapabilities;
4
+ };
@@ -0,0 +1,11 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
+ var experimental = require('viem/experimental');
8
+
9
+ const getWalletCapabilities = (walletClient) => _tslib.__awaiter(void 0, void 0, void 0, function* () { return walletClient.extend(experimental.eip5792Actions()).getCapabilities(); });
10
+
11
+ exports.getWalletCapabilities = getWalletCapabilities;
@@ -0,0 +1,4 @@
1
+ import { WalletClient } from 'viem';
2
+ export declare const getWalletCapabilities: (walletClient: WalletClient) => Promise<{
3
+ [x: number]: import("viem").WalletCapabilities;
4
+ }>;
@@ -0,0 +1,7 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
3
+ import { eip5792Actions } from 'viem/experimental';
4
+
5
+ const getWalletCapabilities = (walletClient) => __awaiter(void 0, void 0, void 0, function* () { return walletClient.extend(eip5792Actions()).getCapabilities(); });
6
+
7
+ export { getWalletCapabilities };
@@ -0,0 +1 @@
1
+ export { getWalletCapabilities } from './getWalletCapabilities';
@@ -0,0 +1,16 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const hasAtomicStatusCapability = (capabilities, chainId) => {
7
+ if (!(capabilities === null || capabilities === void 0 ? void 0 : capabilities[chainId])) {
8
+ return false;
9
+ }
10
+ const chainCapabilities = capabilities[chainId];
11
+ return Boolean(chainCapabilities['atomic'] &&
12
+ (chainCapabilities['atomic'].status === 'ready' ||
13
+ chainCapabilities['atomic'].status === 'supported'));
14
+ };
15
+
16
+ exports.hasAtomicStatusCapability = hasAtomicStatusCapability;
@@ -0,0 +1,2 @@
1
+ import { WalletCapabilitiesMap } from '../../../types';
2
+ export declare const hasAtomicStatusCapability: (capabilities: WalletCapabilitiesMap, chainId: number) => boolean;
@@ -0,0 +1,12 @@
1
+ 'use client'
2
+ const hasAtomicStatusCapability = (capabilities, chainId) => {
3
+ if (!(capabilities === null || capabilities === void 0 ? void 0 : capabilities[chainId])) {
4
+ return false;
5
+ }
6
+ const chainCapabilities = capabilities[chainId];
7
+ return Boolean(chainCapabilities['atomic'] &&
8
+ (chainCapabilities['atomic'].status === 'ready' ||
9
+ chainCapabilities['atomic'].status === 'supported'));
10
+ };
11
+
12
+ export { hasAtomicStatusCapability };
@@ -0,0 +1 @@
1
+ export { hasAtomicStatusCapability } from './hasAtomicStatusCapability';
@@ -0,0 +1,15 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const hasPaymasterServiceCapability = (capabilities, chainId) => {
7
+ var _a;
8
+ if (!(capabilities === null || capabilities === void 0 ? void 0 : capabilities[chainId])) {
9
+ return false;
10
+ }
11
+ const chainCapabilities = capabilities[chainId];
12
+ return Boolean((_a = chainCapabilities['paymasterService']) === null || _a === void 0 ? void 0 : _a.supported);
13
+ };
14
+
15
+ exports.hasPaymasterServiceCapability = hasPaymasterServiceCapability;
@@ -0,0 +1,2 @@
1
+ import { WalletCapabilitiesMap } from '../../../types';
2
+ export declare const hasPaymasterServiceCapability: (capabilities: WalletCapabilitiesMap, chainId: number) => boolean;
@@ -0,0 +1,11 @@
1
+ 'use client'
2
+ const hasPaymasterServiceCapability = (capabilities, chainId) => {
3
+ var _a;
4
+ if (!(capabilities === null || capabilities === void 0 ? void 0 : capabilities[chainId])) {
5
+ return false;
6
+ }
7
+ const chainCapabilities = capabilities[chainId];
8
+ return Boolean((_a = chainCapabilities['paymasterService']) === null || _a === void 0 ? void 0 : _a.supported);
9
+ };
10
+
11
+ export { hasPaymasterServiceCapability };
@@ -0,0 +1 @@
1
+ export { hasPaymasterServiceCapability } from './hasPaymasterServiceCapability';
@@ -6,6 +6,9 @@ export * from './createTransportWithUiConfirmation';
6
6
  export * from './createViemUiTransaction';
7
7
  export * from './createWalletClientWithUiConfirmation';
8
8
  export * from './getOrMapViemChain';
9
+ export * from './getWalletCapabilities';
10
+ export * from './hasAtomicStatusCapability';
11
+ export * from './hasPaymasterServiceCapability';
9
12
  export * from './unFormatTransaction';
10
13
  export * from './erc20';
11
14
  export * from './interceptTransport';
@@ -14,6 +14,7 @@ var interceptTransport = require('../utils/viem/interceptTransport/interceptTran
14
14
  var abi = require('../utils/viem/erc20/abi.cjs');
15
15
  require('viem/accounts');
16
16
  var getOrMapViemChain = require('../utils/viem/getOrMapViemChain/getOrMapViemChain.cjs');
17
+ require('viem/experimental');
17
18
  var parseAddress = require('../utils/parseAddress/parseAddress.cjs');
18
19
 
19
20
  class EthereumWallet extends walletConnectorCore.Wallet {
@@ -109,6 +110,16 @@ class EthereumWallet extends walletConnectorCore.Wallet {
109
110
  getTransportConfig() {
110
111
  return this._connector.providersConfig.httpTransportConfig;
111
112
  }
113
+ isPaymasterServiceSupported() {
114
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
115
+ return this._connector.isPaymasterServiceSupported();
116
+ });
117
+ }
118
+ isAtomicSupported() {
119
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
120
+ return this._connector.isAtomicSupported();
121
+ });
122
+ }
112
123
  }
113
124
 
114
125
  exports.EthereumWallet = EthereumWallet;
@@ -34,4 +34,6 @@ export declare class EthereumWallet extends Wallet<EthereumWalletConnector> {
34
34
  */
35
35
  getWalletClient(chainId?: string): Promise<WalletClient<Transport, Chain, Account>>;
36
36
  getTransportConfig(): HttpTransportConfig | undefined;
37
+ isPaymasterServiceSupported(): Promise<boolean>;
38
+ isAtomicSupported(): Promise<boolean>;
37
39
  }
@@ -10,6 +10,7 @@ import { interceptTransport } from '../utils/viem/interceptTransport/interceptTr
10
10
  import { erc20Abi } from '../utils/viem/erc20/abi.js';
11
11
  import 'viem/accounts';
12
12
  import { getChain } from '../utils/viem/getOrMapViemChain/getOrMapViemChain.js';
13
+ import 'viem/experimental';
13
14
  import { parseAddress } from '../utils/parseAddress/parseAddress.js';
14
15
 
15
16
  class EthereumWallet extends Wallet {
@@ -105,6 +106,16 @@ class EthereumWallet extends Wallet {
105
106
  getTransportConfig() {
106
107
  return this._connector.providersConfig.httpTransportConfig;
107
108
  }
109
+ isPaymasterServiceSupported() {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ return this._connector.isPaymasterServiceSupported();
112
+ });
113
+ }
114
+ isAtomicSupported() {
115
+ return __awaiter(this, void 0, void 0, function* () {
116
+ return this._connector.isAtomicSupported();
117
+ });
118
+ }
108
119
  }
109
120
 
110
121
  export { EthereumWallet };