@dynamic-labs/ethereum 3.0.0-alpha.2 → 3.0.0-alpha.21
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 +239 -0
- package/package.json +10 -10
- package/src/EthWalletConnector.cjs +54 -19
- package/src/EthWalletConnector.d.ts +27 -21
- package/src/EthWalletConnector.js +55 -20
- package/src/coinbase/coinbase.cjs +2 -2
- package/src/coinbase/coinbase.d.ts +3 -7125
- package/src/coinbase/coinbase.js +2 -2
- package/src/ethProviderHelper.cjs +2 -3
- package/src/ethProviderHelper.d.ts +6 -2
- package/src/ethProviderHelper.js +2 -3
- package/src/index.cjs +5 -2
- package/src/index.js +4 -1
- package/src/injected/FallbackEvmConnector.cjs +22 -0
- package/src/injected/FallbackEvmConnector.d.ts +9 -0
- package/src/injected/FallbackEvmConnector.js +18 -0
- package/src/injected/InjectedWalletBase.d.ts +2 -2
- package/src/injected/index.d.ts +1 -0
- package/src/walletConnect/walletConnect.d.ts +2 -7124
- package/src/eip6963Provider.cjs +0 -40
- package/src/eip6963Provider.d.ts +0 -25
- package/src/eip6963Provider.js +0 -35
package/src/coinbase/coinbase.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __rest, __awaiter } from '../../_virtual/_tslib.js';
|
|
3
3
|
import { toHex, toBytes, createWalletClient, custom } from 'viem';
|
|
4
|
-
import { eventListenerHandlers } from '@dynamic-labs/wallet-connector-core';
|
|
5
4
|
import { chainsMap } from '@dynamic-labs/viem-utils';
|
|
5
|
+
import { eventListenerHandlers } from '@dynamic-labs/wallet-connector-core';
|
|
6
6
|
import { EthWalletConnector } from '../EthWalletConnector.js';
|
|
7
7
|
import { getCoinbaseProvider } from './helpers.js';
|
|
8
8
|
|
|
@@ -15,7 +15,7 @@ class Coinbase extends EthWalletConnector {
|
|
|
15
15
|
this.supportedChains = ['EVM', 'ETH'];
|
|
16
16
|
this.connectedChain = 'EVM';
|
|
17
17
|
this.canConnectViaQrCode = false;
|
|
18
|
-
this.canConnectViaCustodialService =
|
|
18
|
+
this.canConnectViaCustodialService = !this.isInstalledOnBrowser();
|
|
19
19
|
this.coinbaseProviderOpts = {
|
|
20
20
|
appLogoUrl: appLogoUrl,
|
|
21
21
|
appName: appName,
|
|
@@ -8,7 +8,6 @@ var viem = require('viem');
|
|
|
8
8
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
9
9
|
var utils = require('@dynamic-labs/utils');
|
|
10
10
|
var viemUtils = require('@dynamic-labs/viem-utils');
|
|
11
|
-
var eip6963Provider = require('./eip6963Provider.cjs');
|
|
12
11
|
|
|
13
12
|
class EthProviderHelper {
|
|
14
13
|
constructor(wallet, connector) {
|
|
@@ -69,7 +68,7 @@ class EthProviderHelper {
|
|
|
69
68
|
}
|
|
70
69
|
eip6963ProviderLookup(rdns) {
|
|
71
70
|
var _a;
|
|
72
|
-
const { providers } =
|
|
71
|
+
const { providers } = utils.Eip6963ProviderSingleton.get();
|
|
73
72
|
return (_a = providers.find((provider) => provider.info.rdns === rdns)) === null || _a === void 0 ? void 0 : _a.provider;
|
|
74
73
|
}
|
|
75
74
|
isInstalledHelper() {
|
|
@@ -85,7 +84,7 @@ class EthProviderHelper {
|
|
|
85
84
|
}
|
|
86
85
|
return viem.createWalletClient({
|
|
87
86
|
account: this.connector.getActiveAccount(),
|
|
88
|
-
chain: chainId ? viemUtils.chainsMap[chainId] :
|
|
87
|
+
chain: chainId ? viemUtils.chainsMap[chainId] : this.connector.getActiveChain(),
|
|
89
88
|
transport: viem.custom(provider),
|
|
90
89
|
});
|
|
91
90
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Hex, WalletClient } from 'viem';
|
|
1
|
+
import { Hex, WalletClient, Account, Transport, Chain as ViemChain } from 'viem';
|
|
2
2
|
import { ProviderCondition, WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
3
|
import { WalletSchema } from '@dynamic-labs/wallet-book';
|
|
4
4
|
import { IEthereum, ExtensionLocator } from './types';
|
|
@@ -22,6 +22,10 @@ export declare class EthProviderHelper {
|
|
|
22
22
|
features: string[];
|
|
23
23
|
name: string;
|
|
24
24
|
} | undefined;
|
|
25
|
+
walletStandardLocators?: {
|
|
26
|
+
name: string;
|
|
27
|
+
locator: string;
|
|
28
|
+
}[] | undefined;
|
|
25
29
|
windowLocations?: string[] | undefined;
|
|
26
30
|
} | undefined;
|
|
27
31
|
installedProviders(): IEthereum[];
|
|
@@ -29,7 +33,7 @@ export declare class EthProviderHelper {
|
|
|
29
33
|
eip6963ProviderLookup(rdns: string): IEthereum | undefined;
|
|
30
34
|
isInstalledHelper(): boolean;
|
|
31
35
|
findProvider(): IEthereum | undefined;
|
|
32
|
-
findWalletClient(chainId?: string): WalletClient | undefined;
|
|
36
|
+
findWalletClient(chainId?: string): WalletClient<Transport, ViemChain, Account> | undefined;
|
|
33
37
|
getAddress(): Promise<Hex | undefined>;
|
|
34
38
|
getAddressWithProvider(client: WalletClient): Promise<Hex | undefined>;
|
|
35
39
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
package/src/ethProviderHelper.js
CHANGED
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
3
3
|
import { createWalletClient, custom, getAddress } from 'viem';
|
|
4
4
|
import { ProviderLookup, eventListenerHandlers, logger } from '@dynamic-labs/wallet-connector-core';
|
|
5
|
-
import { getProvidersFromWindow } from '@dynamic-labs/utils';
|
|
5
|
+
import { getProvidersFromWindow, Eip6963ProviderSingleton } from '@dynamic-labs/utils';
|
|
6
6
|
import { chainsMap } from '@dynamic-labs/viem-utils';
|
|
7
|
-
import { Eip6963ProviderSingleton } from './eip6963Provider.js';
|
|
8
7
|
|
|
9
8
|
class EthProviderHelper {
|
|
10
9
|
constructor(wallet, connector) {
|
|
@@ -81,7 +80,7 @@ class EthProviderHelper {
|
|
|
81
80
|
}
|
|
82
81
|
return createWalletClient({
|
|
83
82
|
account: this.connector.getActiveAccount(),
|
|
84
|
-
chain: chainId ? chainsMap[chainId] :
|
|
83
|
+
chain: chainId ? chainsMap[chainId] : this.connector.getActiveChain(),
|
|
85
84
|
transport: custom(provider),
|
|
86
85
|
});
|
|
87
86
|
}
|
package/src/index.cjs
CHANGED
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
require('./polyfills.cjs');
|
|
7
|
-
var
|
|
7
|
+
var embeddedWalletEvm = require('@dynamic-labs/embedded-wallet-evm');
|
|
8
8
|
var PhantomEvm = require('./injected/PhantomEvm.cjs');
|
|
9
9
|
var ExodusEvm = require('./injected/ExodusEvm.cjs');
|
|
10
10
|
var UnknownInjected = require('./injected/UnknownInjected.cjs');
|
|
11
|
+
var FallbackEvmConnector = require('./injected/FallbackEvmConnector.cjs');
|
|
11
12
|
var fetchInjectedWalletConnectors = require('./injected/fetchInjectedWalletConnectors.cjs');
|
|
12
13
|
require('./walletConnect/walletConnect.cjs');
|
|
13
14
|
var fetchWalletConnectWallets = require('./walletConnect/fetchWalletConnectWallets.cjs');
|
|
@@ -23,15 +24,17 @@ const EthereumWalletConnectors = (props) => [
|
|
|
23
24
|
...fetchInjectedWalletConnectors.injectedWalletOverrides,
|
|
24
25
|
...fetchInjectedWalletConnectors.fetchInjectedWalletConnector(props),
|
|
25
26
|
...fetchWalletConnectWallets.fetchWalletConnectWallets(props),
|
|
26
|
-
...
|
|
27
|
+
...embeddedWalletEvm.TurnkeyEVMWalletConnectors(props),
|
|
27
28
|
coinbase.Coinbase,
|
|
28
29
|
UnknownInjected.UnknownInjected,
|
|
30
|
+
FallbackEvmConnector.FallbackEvmConnector,
|
|
29
31
|
fetchWalletConnectWallets.getWalletConnectConnector(),
|
|
30
32
|
];
|
|
31
33
|
|
|
32
34
|
exports.PhantomEvm = PhantomEvm.PhantomEvm;
|
|
33
35
|
exports.ExodusEvm = ExodusEvm.ExodusEvm;
|
|
34
36
|
exports.UnknownInjected = UnknownInjected.UnknownInjected;
|
|
37
|
+
exports.FallbackEvmConnector = FallbackEvmConnector.FallbackEvmConnector;
|
|
35
38
|
exports.fetchInjectedWalletConnector = fetchInjectedWalletConnectors.fetchInjectedWalletConnector;
|
|
36
39
|
exports.injectedWalletOverrides = fetchInjectedWalletConnectors.injectedWalletOverrides;
|
|
37
40
|
exports.EthWalletConnector = EthWalletConnector.EthWalletConnector;
|
package/src/index.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import './polyfills.js';
|
|
3
|
-
import { TurnkeyEVMWalletConnectors } from '@dynamic-labs/
|
|
3
|
+
import { TurnkeyEVMWalletConnectors } from '@dynamic-labs/embedded-wallet-evm';
|
|
4
4
|
export { PhantomEvm } from './injected/PhantomEvm.js';
|
|
5
5
|
export { ExodusEvm } from './injected/ExodusEvm.js';
|
|
6
6
|
import { UnknownInjected } from './injected/UnknownInjected.js';
|
|
7
7
|
export { UnknownInjected } from './injected/UnknownInjected.js';
|
|
8
|
+
import { FallbackEvmConnector } from './injected/FallbackEvmConnector.js';
|
|
9
|
+
export { FallbackEvmConnector } from './injected/FallbackEvmConnector.js';
|
|
8
10
|
import { injectedWalletOverrides, fetchInjectedWalletConnector } from './injected/fetchInjectedWalletConnectors.js';
|
|
9
11
|
export { fetchInjectedWalletConnector, injectedWalletOverrides } from './injected/fetchInjectedWalletConnectors.js';
|
|
10
12
|
import './walletConnect/walletConnect.js';
|
|
@@ -24,6 +26,7 @@ const EthereumWalletConnectors = (props) => [
|
|
|
24
26
|
...TurnkeyEVMWalletConnectors(props),
|
|
25
27
|
Coinbase,
|
|
26
28
|
UnknownInjected,
|
|
29
|
+
FallbackEvmConnector,
|
|
27
30
|
getWalletConnectConnector(),
|
|
28
31
|
];
|
|
29
32
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var walletBook = require('@dynamic-labs/wallet-book');
|
|
7
|
+
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
8
|
+
|
|
9
|
+
class FallbackEvmConnector extends InjectedWalletBase {
|
|
10
|
+
constructor(props) {
|
|
11
|
+
super(props);
|
|
12
|
+
this.name = 'Fallback Connector';
|
|
13
|
+
this.overrideKey = 'fallbackconnector';
|
|
14
|
+
this.isAvailable = false;
|
|
15
|
+
this.wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
|
|
16
|
+
}
|
|
17
|
+
isInstalledOnBrowser() {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.FallbackEvmConnector = FallbackEvmConnector;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EthWalletConnectorOpts } from '..';
|
|
2
|
+
import InjectedWalletBase from './InjectedWalletBase';
|
|
3
|
+
export declare class FallbackEvmConnector extends InjectedWalletBase {
|
|
4
|
+
name: string;
|
|
5
|
+
overrideKey: string;
|
|
6
|
+
isAvailable: boolean;
|
|
7
|
+
constructor(props: EthWalletConnectorOpts);
|
|
8
|
+
isInstalledOnBrowser(): boolean;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
|
+
import InjectedWalletBase from './InjectedWalletBase.js';
|
|
4
|
+
|
|
5
|
+
class FallbackEvmConnector extends InjectedWalletBase {
|
|
6
|
+
constructor(props) {
|
|
7
|
+
super(props);
|
|
8
|
+
this.name = 'Fallback Connector';
|
|
9
|
+
this.overrideKey = 'fallbackconnector';
|
|
10
|
+
this.isAvailable = false;
|
|
11
|
+
this.wallet = findWalletBookWallet(this.walletBook, this.key);
|
|
12
|
+
}
|
|
13
|
+
isInstalledOnBrowser() {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { FallbackEvmConnector };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WalletClient } from 'viem';
|
|
1
|
+
import { WalletClient, Transport, Account, Chain as ViemChain } from 'viem';
|
|
2
2
|
import { Chain } from '@dynamic-labs/wallet-connector-core';
|
|
3
3
|
import { EvmNetwork } from '@dynamic-labs/types';
|
|
4
4
|
import { WalletSchema } from '@dynamic-labs/wallet-book';
|
|
@@ -14,7 +14,7 @@ declare abstract class InjectedWalletBase extends EthWalletConnector {
|
|
|
14
14
|
getEthProviderHelper(): EthProviderHelper | undefined;
|
|
15
15
|
getMobileOrInstalledWallet(): InjectedWalletBase;
|
|
16
16
|
setupEventListeners(): void;
|
|
17
|
-
getWalletClient(chainId?: string): WalletClient | undefined;
|
|
17
|
+
getWalletClient(chainId?: string): WalletClient<Transport, ViemChain, Account> | undefined;
|
|
18
18
|
isInstalledOnBrowser(): boolean;
|
|
19
19
|
getAddress(): Promise<string | undefined>;
|
|
20
20
|
connect(): Promise<void>;
|