@dynamic-labs/embedded-wallet-evm 4.1.0 → 4.2.1
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.cjs +1 -1
- package/package.js +1 -1
- package/package.json +9 -9
- package/src/TurnkeyEVMWalletConnectors.cjs +10 -2
- package/src/TurnkeyEVMWalletConnectors.js +10 -2
- package/src/lib/TurnkeyEVMWalletConnector/TurnkeyEVMWalletConnector.cjs +4 -14
- package/src/lib/TurnkeyEVMWalletConnector/TurnkeyEVMWalletConnector.d.ts +2 -2
- package/src/lib/TurnkeyEVMWalletConnector/TurnkeyEVMWalletConnector.js +5 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
|
|
2
|
+
### [4.2.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.2.0...v4.2.1) (2025-01-15)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* remove dependency on @dynamic-labs/ethereum-aa from sdk-react core ([#7804](https://github.com/dynamic-labs/dynamic-auth/issues/7804)) ([d1692d2](https://github.com/dynamic-labs/dynamic-auth/commit/d1692d2f58d4f0e14f7978ef81c020e871973810))
|
|
8
|
+
|
|
9
|
+
## [4.2.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.1.0...v4.2.0) (2025-01-14)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* add EthereumWalletConnectorsWithConfig ([#7796](https://github.com/dynamic-labs/dynamic-auth/issues/7796)) ([52146c3](https://github.com/dynamic-labs/dynamic-auth/commit/52146c38acbbe9ad31d5f047527b06ea44846065))
|
|
15
|
+
* add new userWalletsChanged event that aggregates all user wallet events ([#7797](https://github.com/dynamic-labs/dynamic-auth/issues/7797)) ([058e629](https://github.com/dynamic-labs/dynamic-auth/commit/058e629f0e760ad9dff2b03f86354355c6f8bffe))
|
|
16
|
+
* add support for connect with OKX Wallet on Eclipse ([#7793](https://github.com/dynamic-labs/dynamic-auth/issues/7793)) ([b6cd047](https://github.com/dynamic-labs/dynamic-auth/commit/b6cd04781402868443b02cbce269dd3c02c358b5))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* getWalletClient method not returning client with chain for Coinbase ([#7799](https://github.com/dynamic-labs/dynamic-auth/issues/7799)) ([e075493](https://github.com/dynamic-labs/dynamic-auth/commit/e0754936582c19850c905fc3d62c3621df7c274c))
|
|
22
|
+
|
|
2
23
|
## [4.1.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.1...v4.1.0) (2025-01-14)
|
|
3
24
|
|
|
4
25
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/embedded-wallet-evm",
|
|
3
|
-
"version": "4.1
|
|
3
|
+
"version": "4.2.1",
|
|
4
4
|
"description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
|
|
5
5
|
"author": "Dynamic Labs, Inc.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"@turnkey/iframe-stamper": "2.0.0",
|
|
24
24
|
"@turnkey/viem": "0.6.2",
|
|
25
25
|
"@turnkey/webauthn-stamper": "0.5.0",
|
|
26
|
-
"@dynamic-labs/assert-package-version": "4.1
|
|
27
|
-
"@dynamic-labs/embedded-wallet": "4.1
|
|
28
|
-
"@dynamic-labs/ethereum-core": "4.1
|
|
29
|
-
"@dynamic-labs/types": "4.1
|
|
30
|
-
"@dynamic-labs/utils": "4.1
|
|
31
|
-
"@dynamic-labs/wallet-book": "4.1
|
|
32
|
-
"@dynamic-labs/wallet-connector-core": "4.1
|
|
33
|
-
"@dynamic-labs/webauthn": "4.1
|
|
26
|
+
"@dynamic-labs/assert-package-version": "4.2.1",
|
|
27
|
+
"@dynamic-labs/embedded-wallet": "4.2.1",
|
|
28
|
+
"@dynamic-labs/ethereum-core": "4.2.1",
|
|
29
|
+
"@dynamic-labs/types": "4.2.1",
|
|
30
|
+
"@dynamic-labs/utils": "4.2.1",
|
|
31
|
+
"@dynamic-labs/wallet-book": "4.2.1",
|
|
32
|
+
"@dynamic-labs/wallet-connector-core": "4.2.1",
|
|
33
|
+
"@dynamic-labs/webauthn": "4.2.1"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"viem": "^2.21.55"
|
|
@@ -10,8 +10,16 @@ const TurnkeyEVMWalletConnectors = (props) => {
|
|
|
10
10
|
var _a;
|
|
11
11
|
if ((_a = props.apiProviders) === null || _a === void 0 ? void 0 : _a.turnkey) {
|
|
12
12
|
return [
|
|
13
|
-
TurnkeyEVMWalletConnector.TurnkeyEVMWalletConnector
|
|
14
|
-
|
|
13
|
+
class extends TurnkeyEVMWalletConnector.TurnkeyEVMWalletConnector {
|
|
14
|
+
constructor(innerProps) {
|
|
15
|
+
super(embeddedWallet.TurnkeyWalletConnectorInfo.TurnkeyHD, Object.assign(Object.assign({}, props), innerProps));
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
class extends TurnkeyEVMWalletConnector.TurnkeyEVMWalletConnector {
|
|
19
|
+
constructor(innerProps) {
|
|
20
|
+
super(embeddedWallet.TurnkeyWalletConnectorInfo.Turnkey, Object.assign(Object.assign({}, props), innerProps));
|
|
21
|
+
}
|
|
22
|
+
},
|
|
15
23
|
];
|
|
16
24
|
}
|
|
17
25
|
return [];
|
|
@@ -6,8 +6,16 @@ const TurnkeyEVMWalletConnectors = (props) => {
|
|
|
6
6
|
var _a;
|
|
7
7
|
if ((_a = props.apiProviders) === null || _a === void 0 ? void 0 : _a.turnkey) {
|
|
8
8
|
return [
|
|
9
|
-
TurnkeyEVMWalletConnector
|
|
10
|
-
|
|
9
|
+
class extends TurnkeyEVMWalletConnector {
|
|
10
|
+
constructor(innerProps) {
|
|
11
|
+
super(TurnkeyWalletConnectorInfo.TurnkeyHD, Object.assign(Object.assign({}, props), innerProps));
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
class extends TurnkeyEVMWalletConnector {
|
|
15
|
+
constructor(innerProps) {
|
|
16
|
+
super(TurnkeyWalletConnectorInfo.Turnkey, Object.assign(Object.assign({}, props), innerProps));
|
|
17
|
+
}
|
|
18
|
+
},
|
|
11
19
|
];
|
|
12
20
|
}
|
|
13
21
|
return [];
|
|
@@ -17,7 +17,7 @@ var embeddedWallet = require('@dynamic-labs/embedded-wallet');
|
|
|
17
17
|
|
|
18
18
|
class TurnkeyEVMWalletConnector extends embeddedWallet.TurnkeyWalletConnectorBase {
|
|
19
19
|
constructor(nameAndKey, props) {
|
|
20
|
-
var _a;
|
|
20
|
+
var _a, _b;
|
|
21
21
|
super(nameAndKey, props);
|
|
22
22
|
this.walletFallback = {
|
|
23
23
|
brand: {
|
|
@@ -36,7 +36,7 @@ class TurnkeyEVMWalletConnector extends embeddedWallet.TurnkeyWalletConnectorBas
|
|
|
36
36
|
this._turnkeyAccount = undefined;
|
|
37
37
|
this._selectedChainId = this.getLastUsedChainId();
|
|
38
38
|
this.chainRpcProviders = props.chainRpcProviders;
|
|
39
|
-
(_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders();
|
|
39
|
+
(_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders((_b = props.providersConfig) !== null && _b !== void 0 ? _b : {});
|
|
40
40
|
this.__turnkeyClient = this.getTurnkeyClient();
|
|
41
41
|
}
|
|
42
42
|
getLastUsedChainId() {
|
|
@@ -102,22 +102,12 @@ class TurnkeyEVMWalletConnector extends embeddedWallet.TurnkeyWalletConnectorBas
|
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
|
-
getRpcUrl() {
|
|
106
|
-
const chain = this._selectedChainId;
|
|
107
|
-
return walletConnectorCore.getRpcUrlForChain({
|
|
108
|
-
chainId: chain,
|
|
109
|
-
networks: this.evmNetworks,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
105
|
getBalance(address) {
|
|
113
106
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
const
|
|
115
|
-
if (!
|
|
107
|
+
const client = yield this.getPublicClient();
|
|
108
|
+
if (!client) {
|
|
116
109
|
return undefined;
|
|
117
110
|
}
|
|
118
|
-
const client = viem.createPublicClient({
|
|
119
|
-
transport: viem.http(rpcUrl),
|
|
120
|
-
});
|
|
121
111
|
const balance = yield client.getBalance({
|
|
122
112
|
address: address,
|
|
123
113
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Account, LocalAccount, PublicClient, Transport, Chain as ViemChain, WalletClient } from 'viem';
|
|
2
2
|
import { JwtVerifiedCredential } from '@dynamic-labs/sdk-api-core';
|
|
3
3
|
import { EvmNetwork, GenericNetwork, IUITransaction, WalletUiUtils } from '@dynamic-labs/types';
|
|
4
|
-
import { IChainRpcProviders, EthereumWallet } from '@dynamic-labs/ethereum-core';
|
|
4
|
+
import { IChainRpcProviders, EthereumWallet, RegisterEvmProvidersConfig } from '@dynamic-labs/ethereum-core';
|
|
5
5
|
import { WalletBookSchema } from '@dynamic-labs/wallet-book';
|
|
6
6
|
import type { Chain, ISendBalanceWalletConnector, InternalWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
7
7
|
import { TurnkeyWalletConnectorNameAndKey, TurnkeyWalletConnectorBase } from '@dynamic-labs/embedded-wallet';
|
|
@@ -11,6 +11,7 @@ export type TurnkeyEVMConnectorProps = {
|
|
|
11
11
|
evmNetworks: GenericNetwork[];
|
|
12
12
|
appName?: string;
|
|
13
13
|
chainRpcProviders: IChainRpcProviders;
|
|
14
|
+
providersConfig?: RegisterEvmProvidersConfig;
|
|
14
15
|
};
|
|
15
16
|
export declare class TurnkeyEVMWalletConnector extends TurnkeyWalletConnectorBase implements ISendBalanceWalletConnector {
|
|
16
17
|
walletFallback: {
|
|
@@ -38,7 +39,6 @@ export declare class TurnkeyEVMWalletConnector extends TurnkeyWalletConnectorBas
|
|
|
38
39
|
}): Promise<void>;
|
|
39
40
|
setVerifiedCredentials(verifiedCredentials: JwtVerifiedCredential[]): void;
|
|
40
41
|
validateActiveWallet(expectedAddress: string): Promise<void>;
|
|
41
|
-
getRpcUrl(): string | undefined;
|
|
42
42
|
getBalance(address: string): Promise<string | undefined>;
|
|
43
43
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
44
44
|
getPublicClient(): Promise<void | PublicClient<Transport, ViemChain> | undefined>;
|
|
@@ -4,7 +4,7 @@ import { ApiKeyStamper } from '@turnkey/api-key-stamper';
|
|
|
4
4
|
import { IframeStamper } from '@turnkey/iframe-stamper';
|
|
5
5
|
import { createAccount } from '@turnkey/viem';
|
|
6
6
|
import { WebauthnStamper } from '@turnkey/webauthn-stamper';
|
|
7
|
-
import { http,
|
|
7
|
+
import { http, formatEther } from 'viem';
|
|
8
8
|
import { toAccount } from 'viem/accounts';
|
|
9
9
|
import { parseEvmNetworks, DynamicError } from '@dynamic-labs/utils';
|
|
10
10
|
import { EthereumWallet, createWalletClientWithUiConfirmation, getOrMapViemChain, createViemUiTransaction } from '@dynamic-labs/ethereum-core';
|
|
@@ -13,7 +13,7 @@ import { TurnkeyWalletConnectorBase, findTurnkeyVerifiedCredentialsWithSmartWall
|
|
|
13
13
|
|
|
14
14
|
class TurnkeyEVMWalletConnector extends TurnkeyWalletConnectorBase {
|
|
15
15
|
constructor(nameAndKey, props) {
|
|
16
|
-
var _a;
|
|
16
|
+
var _a, _b;
|
|
17
17
|
super(nameAndKey, props);
|
|
18
18
|
this.walletFallback = {
|
|
19
19
|
brand: {
|
|
@@ -32,7 +32,7 @@ class TurnkeyEVMWalletConnector extends TurnkeyWalletConnectorBase {
|
|
|
32
32
|
this._turnkeyAccount = undefined;
|
|
33
33
|
this._selectedChainId = this.getLastUsedChainId();
|
|
34
34
|
this.chainRpcProviders = props.chainRpcProviders;
|
|
35
|
-
(_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders();
|
|
35
|
+
(_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerEvmProviders((_b = props.providersConfig) !== null && _b !== void 0 ? _b : {});
|
|
36
36
|
this.__turnkeyClient = this.getTurnkeyClient();
|
|
37
37
|
}
|
|
38
38
|
getLastUsedChainId() {
|
|
@@ -98,22 +98,12 @@ class TurnkeyEVMWalletConnector extends TurnkeyWalletConnectorBase {
|
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
|
-
getRpcUrl() {
|
|
102
|
-
const chain = this._selectedChainId;
|
|
103
|
-
return getRpcUrlForChain({
|
|
104
|
-
chainId: chain,
|
|
105
|
-
networks: this.evmNetworks,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
101
|
getBalance(address) {
|
|
109
102
|
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
-
const
|
|
111
|
-
if (!
|
|
103
|
+
const client = yield this.getPublicClient();
|
|
104
|
+
if (!client) {
|
|
112
105
|
return undefined;
|
|
113
106
|
}
|
|
114
|
-
const client = createPublicClient({
|
|
115
|
-
transport: http(rpcUrl),
|
|
116
|
-
});
|
|
117
107
|
const balance = yield client.getBalance({
|
|
118
108
|
address: address,
|
|
119
109
|
});
|