@dynamic-labs/multi-wallet 0.16.11 → 0.16.12-viem.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 +9 -0
- package/package.json +4 -4
- package/src/getOrMapViemChain.cjs +77 -0
- package/src/getOrMapViemChain.d.ts +11 -0
- package/src/getOrMapViemChain.js +51 -0
- package/src/multi-wallet.cjs +2 -3
- package/src/multi-wallet.js +2 -3
- package/src/rpcProviders.cjs +6 -2
- package/src/rpcProviders.js +6 -2
- package/src/types.d.ts +16 -8
- package/src/utils/message.cjs +2 -2
- package/src/utils/message.js +1 -1
- package/src/wallets/algorand/myalgo.d.ts +1 -2
- package/src/wallets/clients/coinbase/coinbase.cjs +2 -2
- package/src/wallets/clients/coinbase/coinbase.js +2 -2
- package/src/wallets/clients/walletConnect/walletConnect.cjs +9 -5
- package/src/wallets/clients/walletConnect/walletConnect.d.ts +2 -2
- package/src/wallets/clients/walletConnect/walletConnect.js +9 -5
- package/src/wallets/ethereum/BloctoEvm.d.ts +4 -2
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +35 -14
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +4 -4
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +35 -14
- package/src/wallets/ethereum/coinbase.cjs +18 -7
- package/src/wallets/ethereum/coinbase.d.ts +750 -2
- package/src/wallets/ethereum/coinbase.js +18 -7
- package/src/wallets/ethereum/ethProvider.cjs +13 -29
- package/src/wallets/ethereum/ethProvider.d.ts +7 -7
- package/src/wallets/ethereum/ethProvider.js +13 -29
- package/src/wallets/ethereum/ethProviderHelper.cjs +52 -34
- package/src/wallets/ethereum/ethProviderHelper.d.ts +20 -20
- package/src/wallets/ethereum/ethProviderHelper.js +52 -34
- package/src/wallets/ethereum/fortmatic.cjs +15 -7
- package/src/wallets/ethereum/fortmatic.d.ts +5 -3
- package/src/wallets/ethereum/fortmatic.js +15 -7
- package/src/wallets/ethereum/meta-mask.cjs +13 -2
- package/src/wallets/ethereum/meta-mask.d.ts +752 -3
- package/src/wallets/ethereum/meta-mask.js +13 -2
- package/src/wallets/walletConnect/walletConnect.cjs +8 -6
- package/src/wallets/walletConnect/walletConnect.d.ts +751 -4
- package/src/wallets/walletConnect/walletConnect.js +8 -6
- package/src/wallets/walletConnect/walletConnectV2.cjs +11 -7
- package/src/wallets/walletConnect/walletConnectV2.d.ts +751 -4
- package/src/wallets/walletConnect/walletConnectV2.js +11 -7
- package/src/wallets/window.d.ts +3 -1
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
- package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
- package/src/utils/isFunction/isFunction.cjs +0 -8
- package/src/utils/isFunction/isFunction.js +0 -4
- package/src/wallets/ethereum/BloctoEvm.cjs +0 -140
- package/src/wallets/ethereum/BloctoEvm.js +0 -134
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
-
import {
|
|
3
|
-
import { DynamicError } from '../../../../errors.js';
|
|
2
|
+
import { formatEther, createWalletClient, custom, createPublicClient, fromHex } from 'viem';
|
|
4
3
|
import { logger } from '../../../../utils/logger.js';
|
|
5
|
-
import { assignConfirmationScreenToProvider } from '../../../../utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js';
|
|
6
4
|
import { CancellablePromise } from '../../../../utils/CancellablePromise/CancellablePromise.js';
|
|
7
5
|
import { MagicClientNetworkHandler } from '../MagicClientNetworkHandler/MagicClientNetworkHandler.js';
|
|
8
6
|
|
|
@@ -80,12 +78,10 @@ class MagicWalletConnector extends MagicClientNetworkHandler {
|
|
|
80
78
|
}
|
|
81
79
|
getBalance() {
|
|
82
80
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
const signer = yield this.getSigner();
|
|
83
82
|
const provider = yield this.getWeb3Provider();
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const signer = provider.getSigner();
|
|
87
|
-
const userAddress = yield signer.getAddress();
|
|
88
|
-
return ethers.utils.formatEther(yield provider.getBalance(userAddress));
|
|
83
|
+
const [userAddress] = yield signer.getAddresses();
|
|
84
|
+
return formatEther(yield provider.getBalance({ address: userAddress }));
|
|
89
85
|
});
|
|
90
86
|
}
|
|
91
87
|
getConnectedAccounts() {
|
|
@@ -109,15 +105,37 @@ class MagicWalletConnector extends MagicClientNetworkHandler {
|
|
|
109
105
|
getSigner() {
|
|
110
106
|
return __awaiter(this, void 0, void 0, function* () {
|
|
111
107
|
const provider = yield this.getWeb3Provider();
|
|
112
|
-
return provider
|
|
108
|
+
return createWalletClient({ transport: custom(provider) });
|
|
113
109
|
});
|
|
114
110
|
}
|
|
115
111
|
getWeb3Provider() {
|
|
116
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
113
|
const client = this.getClient();
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
114
|
+
const publicClient = createPublicClient({
|
|
115
|
+
transport: custom({
|
|
116
|
+
request: (args) => __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
var _a, _b;
|
|
118
|
+
if (args.method === 'personal_sign') {
|
|
119
|
+
return this._walletUiUtils.signMessage({
|
|
120
|
+
handler: () => client.rpcProvider.request(args),
|
|
121
|
+
message: fromHex((_a = args.params) === null || _a === void 0 ? void 0 : _a[0], 'string'),
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
else if (args.method === 'eth_sendTransaction') {
|
|
125
|
+
return this._walletUiUtils.sendTransaction({
|
|
126
|
+
handler: () => client.rpcProvider.request(args),
|
|
127
|
+
transaction: (_b = args.params) === null || _b === void 0 ? void 0 : _b[0],
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
return client.rpcProvider.request(args);
|
|
132
|
+
}
|
|
133
|
+
}),
|
|
134
|
+
}, {
|
|
135
|
+
retryCount: 0,
|
|
136
|
+
}),
|
|
137
|
+
});
|
|
138
|
+
return publicClient;
|
|
121
139
|
});
|
|
122
140
|
}
|
|
123
141
|
isInstalledOnBrowser() {
|
|
@@ -136,8 +154,11 @@ class MagicWalletConnector extends MagicClientNetworkHandler {
|
|
|
136
154
|
}
|
|
137
155
|
signMessage(messageToSign) {
|
|
138
156
|
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
-
const
|
|
140
|
-
return
|
|
157
|
+
const signer = yield this.getSigner();
|
|
158
|
+
return signer.signMessage({
|
|
159
|
+
account: (yield this.fetchPublicAddress()),
|
|
160
|
+
message: messageToSign,
|
|
161
|
+
});
|
|
141
162
|
});
|
|
142
163
|
}
|
|
143
164
|
supportsNetworkSwitching() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
|
-
var
|
|
4
|
+
var viem = require('viem');
|
|
5
5
|
var coinbase = require('../clients/coinbase/coinbase.cjs');
|
|
6
6
|
var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
|
|
7
7
|
var ethProviderHelper = require('./ethProviderHelper.cjs');
|
|
@@ -27,18 +27,29 @@ class Coinbase extends ethProvider.EthProvider {
|
|
|
27
27
|
return normalizeWalletName.normalizeWalletName(this.name);
|
|
28
28
|
}
|
|
29
29
|
setupEventListeners(listeners) {
|
|
30
|
-
|
|
30
|
+
const provider = this.ethProviderHelper.findProvider(this.name);
|
|
31
|
+
if (!provider) {
|
|
32
|
+
return () => { };
|
|
33
|
+
}
|
|
34
|
+
return this.ethProviderHelper._setupEventListeners(listeners, this.name, viem.createPublicClient({
|
|
35
|
+
transport: viem.custom(provider),
|
|
36
|
+
}));
|
|
31
37
|
}
|
|
32
38
|
teardownEventListeners() {
|
|
33
39
|
return this.ethProviderHelper._teardownEventListeners(this.name);
|
|
34
40
|
}
|
|
35
41
|
getWeb3Provider() {
|
|
36
|
-
|
|
37
|
-
|
|
42
|
+
const provider = this.ethProviderHelper.findProvider(this.name);
|
|
43
|
+
if (this.isInstalledOnBrowser() && provider) {
|
|
44
|
+
return viem.createWalletClient({
|
|
45
|
+
transport: viem.custom(provider),
|
|
46
|
+
});
|
|
38
47
|
}
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
return viem.createWalletClient({
|
|
49
|
+
transport: viem.custom(coinbase.getCoinbaseProvider({
|
|
50
|
+
opts: this.coinbaseProviderOpts,
|
|
51
|
+
})),
|
|
52
|
+
});
|
|
42
53
|
}
|
|
43
54
|
isInstalledOnBrowser() {
|
|
44
55
|
return this.ethProviderHelper.isInstalledHelper(this.name);
|