@wagmi/core 0.6.12 → 0.7.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.
- package/chains/package.json +2 -2
- package/connectors/coinbaseWallet/package.json +2 -2
- package/connectors/metaMask/package.json +2 -2
- package/connectors/mock/package.json +2 -2
- package/connectors/walletConnect/package.json +2 -2
- package/dist/{declarations/src/connectors/base.d.ts → base-5bd9b5ed.d.ts} +8 -5
- package/dist/chains.d.ts +3 -0
- package/dist/chains.js +29 -0
- package/dist/chunk-2EDVJWOA.js +3496 -0
- package/dist/chunk-4DNFSL2K.js +376 -0
- package/dist/chunk-MQXBDTVK.js +29 -0
- package/dist/{declarations/src/connectors → connectors}/coinbaseWallet.d.ts +10 -6
- package/dist/connectors/coinbaseWallet.js +215 -0
- package/dist/{declarations/src/connectors → connectors}/metaMask.d.ts +11 -4
- package/dist/connectors/metaMask.js +115 -0
- package/dist/connectors/mock/index.d.ts +78 -0
- package/dist/connectors/mock/index.js +190 -0
- package/dist/{declarations/src/connectors → connectors}/walletConnect.d.ts +9 -5
- package/dist/connectors/walletConnect.js +160 -0
- package/dist/{declarations/src/types/contracts.d.ts → contracts-fb6a6ff0.d.ts} +122 -17
- package/dist/{declarations/src/types/index.d.ts → index-bacc1c49.d.ts} +83 -15
- package/dist/index.d.ts +1738 -0
- package/dist/index.js +165 -0
- package/dist/{declarations/src/connectors/injected.d.ts → injected-6980e5c3.d.ts} +9 -6
- package/dist/internal.d.ts +8 -0
- package/dist/internal.js +8 -0
- package/dist/providers/alchemy.d.ts +11 -0
- package/dist/providers/alchemy.js +32 -0
- package/dist/providers/infura.d.ts +11 -0
- package/dist/providers/infura.js +32 -0
- package/dist/providers/jsonRpc.d.ts +14 -0
- package/dist/providers/jsonRpc.js +44 -0
- package/dist/providers/public.d.ts +8 -0
- package/dist/providers/public.js +30 -0
- package/internal/package.json +2 -2
- package/package.json +40 -51
- package/providers/alchemy/package.json +2 -2
- package/providers/infura/package.json +2 -2
- package/providers/jsonRpc/package.json +2 -2
- package/providers/public/package.json +2 -2
- package/chains/dist/wagmi-core-chains.cjs.d.ts +0 -1
- package/chains/dist/wagmi-core-chains.cjs.dev.js +0 -26
- package/chains/dist/wagmi-core-chains.cjs.js +0 -7
- package/chains/dist/wagmi-core-chains.cjs.prod.js +0 -26
- package/chains/dist/wagmi-core-chains.esm.js +0 -2
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.d.ts +0 -1
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +0 -274
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.js +0 -7
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +0 -274
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +0 -252
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.d.ts +0 -1
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +0 -153
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.js +0 -7
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +0 -153
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +0 -149
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.d.ts +0 -1
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +0 -262
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.js +0 -7
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +0 -262
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +0 -253
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.d.ts +0 -1
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +0 -228
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.js +0 -7
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +0 -228
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +0 -206
- package/dist/chains-73cc6c23.cjs.prod.js +0 -526
- package/dist/chains-8fce19d8.esm.js +0 -502
- package/dist/chains-fe1f4131.cjs.dev.js +0 -526
- package/dist/debounce-0862bf88.esm.js +0 -18
- package/dist/debounce-2d836dc9.cjs.prod.js +0 -20
- package/dist/debounce-46ac0312.cjs.dev.js +0 -20
- package/dist/declarations/src/actions/accounts/connect.d.ts +0 -18
- package/dist/declarations/src/actions/accounts/disconnect.d.ts +0 -1
- package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +0 -19
- package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +0 -7
- package/dist/declarations/src/actions/accounts/getAccount.d.ts +0 -36
- package/dist/declarations/src/actions/accounts/getNetwork.d.ts +0 -8
- package/dist/declarations/src/actions/accounts/index.d.ts +0 -12
- package/dist/declarations/src/actions/accounts/signMessage.d.ts +0 -7
- package/dist/declarations/src/actions/accounts/signTypedData.d.ts +0 -23
- package/dist/declarations/src/actions/accounts/switchNetwork.d.ts +0 -6
- package/dist/declarations/src/actions/accounts/watchAccount.d.ts +0 -12
- package/dist/declarations/src/actions/accounts/watchNetwork.d.ts +0 -10
- package/dist/declarations/src/actions/accounts/watchSigner.d.ts +0 -5
- package/dist/declarations/src/actions/contracts/fetchToken.d.ts +0 -21
- package/dist/declarations/src/actions/contracts/getContract.d.ts +0 -113
- package/dist/declarations/src/actions/contracts/index.d.ts +0 -11
- package/dist/declarations/src/actions/contracts/multicall.d.ts +0 -17
- package/dist/declarations/src/actions/contracts/prepareWriteContract.d.ts +0 -47
- package/dist/declarations/src/actions/contracts/readContract.d.ts +0 -15
- package/dist/declarations/src/actions/contracts/readContracts.d.ts +0 -28
- package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +0 -28
- package/dist/declarations/src/actions/contracts/watchMulticall.d.ts +0 -10
- package/dist/declarations/src/actions/contracts/watchReadContract.d.ts +0 -7
- package/dist/declarations/src/actions/contracts/watchReadContracts.d.ts +0 -10
- package/dist/declarations/src/actions/contracts/writeContract.d.ts +0 -72
- package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +0 -9
- package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +0 -8
- package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +0 -9
- package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +0 -9
- package/dist/declarations/src/actions/ens/index.d.ts +0 -4
- package/dist/declarations/src/actions/index.d.ts +0 -6
- package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +0 -5
- package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +0 -16
- package/dist/declarations/src/actions/network-status/index.d.ts +0 -3
- package/dist/declarations/src/actions/network-status/watchBlockNumber.d.ts +0 -7
- package/dist/declarations/src/actions/providers/getProvider.d.ts +0 -7
- package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +0 -7
- package/dist/declarations/src/actions/providers/index.d.ts +0 -4
- package/dist/declarations/src/actions/providers/watchProvider.d.ts +0 -4
- package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +0 -4
- package/dist/declarations/src/actions/transactions/fetchTransaction.d.ts +0 -21
- package/dist/declarations/src/actions/transactions/index.d.ts +0 -4
- package/dist/declarations/src/actions/transactions/prepareSendTransaction.d.ts +0 -37
- package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +0 -48
- package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +0 -18
- package/dist/declarations/src/chains.d.ts +0 -1
- package/dist/declarations/src/client.d.ts +0 -91
- package/dist/declarations/src/connectors/index.d.ts +0 -2
- package/dist/declarations/src/connectors/mock/connector.d.ts +0 -34
- package/dist/declarations/src/connectors/mock/index.d.ts +0 -2
- package/dist/declarations/src/connectors/mock/provider.d.ts +0 -41
- package/dist/declarations/src/constants/abis.d.ts +0 -941
- package/dist/declarations/src/constants/blockExplorers.d.ts +0 -9
- package/dist/declarations/src/constants/chains.d.ts +0 -64
- package/dist/declarations/src/constants/index.d.ts +0 -7
- package/dist/declarations/src/constants/rpcs.d.ts +0 -11
- package/dist/declarations/src/constants/units.d.ts +0 -1
- package/dist/declarations/src/errors.d.ts +0 -134
- package/dist/declarations/src/index.d.ts +0 -14
- package/dist/declarations/src/internal.d.ts +0 -3
- package/dist/declarations/src/providers/alchemy.d.ts +0 -6
- package/dist/declarations/src/providers/infura.d.ts +0 -6
- package/dist/declarations/src/providers/jsonRpc.d.ts +0 -10
- package/dist/declarations/src/providers/public.d.ts +0 -4
- package/dist/declarations/src/storage.d.ts +0 -12
- package/dist/declarations/src/types/utils.d.ts +0 -103
- package/dist/declarations/src/utils/assertActiveChain.d.ts +0 -5
- package/dist/declarations/src/utils/configureChains.d.ts +0 -26
- package/dist/declarations/src/utils/debounce.d.ts +0 -1
- package/dist/declarations/src/utils/deepEqual.d.ts +0 -2
- package/dist/declarations/src/utils/getInjectedName.d.ts +0 -2
- package/dist/declarations/src/utils/index.d.ts +0 -11
- package/dist/declarations/src/utils/logger.d.ts +0 -1
- package/dist/declarations/src/utils/minimizeContractInterface.d.ts +0 -5
- package/dist/declarations/src/utils/normalizeChainId.d.ts +0 -1
- package/dist/declarations/src/utils/normalizeFunctionName.d.ts +0 -17
- package/dist/declarations/src/utils/parseContractResult.d.ts +0 -7
- package/dist/getProvider-3b1af4e6.cjs.dev.js +0 -1143
- package/dist/getProvider-84f303a1.cjs.prod.js +0 -1143
- package/dist/getProvider-97db849e.esm.js +0 -1105
- package/dist/rpcs-38f4faba.cjs.prod.js +0 -57
- package/dist/rpcs-52ea3d8d.cjs.dev.js +0 -57
- package/dist/rpcs-d533516e.esm.js +0 -51
- package/dist/wagmi-core.cjs.d.ts +0 -1
- package/dist/wagmi-core.cjs.dev.js +0 -2683
- package/dist/wagmi-core.cjs.js +0 -7
- package/dist/wagmi-core.cjs.prod.js +0 -2683
- package/dist/wagmi-core.esm.js +0 -2599
- package/internal/dist/wagmi-core-internal.cjs.d.ts +0 -1
- package/internal/dist/wagmi-core-internal.cjs.dev.js +0 -9
- package/internal/dist/wagmi-core-internal.cjs.js +0 -7
- package/internal/dist/wagmi-core-internal.cjs.prod.js +0 -9
- package/internal/dist/wagmi-core-internal.esm.js +0 -1
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.d.ts +0 -1
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +0 -36
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.js +0 -7
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +0 -36
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +0 -32
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.d.ts +0 -1
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +0 -36
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.js +0 -7
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +0 -36
- package/providers/infura/dist/wagmi-core-providers-infura.esm.js +0 -32
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.d.ts +0 -1
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +0 -46
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.js +0 -7
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +0 -46
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +0 -42
- package/providers/public/dist/wagmi-core-providers-public.cjs.d.ts +0 -1
- package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +0 -32
- package/providers/public/dist/wagmi-core-providers-public.cjs.js +0 -7
- package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +0 -32
- package/providers/public/dist/wagmi-core-providers-public.esm.js +0 -28
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var getProvider = require('../../../dist/getProvider-84f303a1.cjs.prod.js');
|
|
6
|
-
var ethers = require('ethers');
|
|
7
|
-
var utils = require('ethers/lib/utils');
|
|
8
|
-
require('zustand/middleware');
|
|
9
|
-
require('zustand/vanilla');
|
|
10
|
-
require('eventemitter3');
|
|
11
|
-
require('../../../dist/chains-73cc6c23.cjs.prod.js');
|
|
12
|
-
require('../../../dist/rpcs-38f4faba.cjs.prod.js');
|
|
13
|
-
|
|
14
|
-
function _interopNamespace(e) {
|
|
15
|
-
if (e && e.__esModule) return e;
|
|
16
|
-
var n = Object.create(null);
|
|
17
|
-
if (e) {
|
|
18
|
-
Object.keys(e).forEach(function (k) {
|
|
19
|
-
if (k !== 'default') {
|
|
20
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
21
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function () { return e[k]; }
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
n["default"] = e;
|
|
29
|
-
return Object.freeze(n);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Wallets that support chain switching through WalletConnect
|
|
34
|
-
* - imToken (token.im)
|
|
35
|
-
* - MetaMask (metamask.io)
|
|
36
|
-
* - Rainbow (rainbow.me)
|
|
37
|
-
* - Trust Wallet (trustwallet.com)
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
const switchChainAllowedRegex = /(imtoken|metamask|rainbow|trust wallet)/i;
|
|
41
|
-
|
|
42
|
-
var _provider = /*#__PURE__*/new WeakMap();
|
|
43
|
-
|
|
44
|
-
var _switchChain = /*#__PURE__*/new WeakSet();
|
|
45
|
-
|
|
46
|
-
class WalletConnectConnector extends getProvider.Connector {
|
|
47
|
-
constructor(config) {
|
|
48
|
-
super(config);
|
|
49
|
-
|
|
50
|
-
getProvider._classPrivateMethodInitSpec(this, _switchChain);
|
|
51
|
-
|
|
52
|
-
getProvider._defineProperty(this, "id", 'walletConnect');
|
|
53
|
-
|
|
54
|
-
getProvider._defineProperty(this, "name", 'WalletConnect');
|
|
55
|
-
|
|
56
|
-
getProvider._defineProperty(this, "ready", true);
|
|
57
|
-
|
|
58
|
-
getProvider._classPrivateFieldInitSpec(this, _provider, {
|
|
59
|
-
writable: true,
|
|
60
|
-
value: void 0
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
getProvider._defineProperty(this, "onAccountsChanged", accounts => {
|
|
64
|
-
if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
|
|
65
|
-
account: utils.getAddress(accounts[0])
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
getProvider._defineProperty(this, "onChainChanged", chainId => {
|
|
70
|
-
const id = getProvider.normalizeChainId(chainId);
|
|
71
|
-
const unsupported = this.isChainUnsupported(id);
|
|
72
|
-
this.emit('change', {
|
|
73
|
-
chain: {
|
|
74
|
-
id,
|
|
75
|
-
unsupported
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
getProvider._defineProperty(this, "onDisconnect", () => {
|
|
81
|
-
this.emit('disconnect');
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
async connect() {
|
|
86
|
-
let {
|
|
87
|
-
chainId
|
|
88
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
89
|
-
|
|
90
|
-
try {
|
|
91
|
-
var _provider$connector, _provider$connector$p;
|
|
92
|
-
|
|
93
|
-
let targetChainId = chainId;
|
|
94
|
-
|
|
95
|
-
if (!targetChainId) {
|
|
96
|
-
const lastUsedChainId = getProvider.getClient().lastUsedChainId;
|
|
97
|
-
if (lastUsedChainId && !this.isChainUnsupported(lastUsedChainId)) targetChainId = lastUsedChainId;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
const provider = await this.getProvider({
|
|
101
|
-
chainId: targetChainId,
|
|
102
|
-
create: true
|
|
103
|
-
});
|
|
104
|
-
provider.on('accountsChanged', this.onAccountsChanged);
|
|
105
|
-
provider.on('chainChanged', this.onChainChanged);
|
|
106
|
-
provider.on('disconnect', this.onDisconnect); // Defer message to the next tick to ensure wallet connect data (provided by `.enable()`) is available
|
|
107
|
-
|
|
108
|
-
setTimeout(() => this.emit('message', {
|
|
109
|
-
type: 'connecting'
|
|
110
|
-
}), 0);
|
|
111
|
-
const accounts = await provider.enable();
|
|
112
|
-
const account = utils.getAddress(accounts[0]);
|
|
113
|
-
const id = await this.getChainId();
|
|
114
|
-
const unsupported = this.isChainUnsupported(id); // Not all WalletConnect options support programmatic chain switching
|
|
115
|
-
// Only enable for wallet options that do
|
|
116
|
-
|
|
117
|
-
const walletName = ((_provider$connector = provider.connector) === null || _provider$connector === void 0 ? void 0 : (_provider$connector$p = _provider$connector.peerMeta) === null || _provider$connector$p === void 0 ? void 0 : _provider$connector$p.name) ?? '';
|
|
118
|
-
if (switchChainAllowedRegex.test(walletName)) this.switchChain = getProvider._classPrivateMethodGet(this, _switchChain, _switchChain2);
|
|
119
|
-
return {
|
|
120
|
-
account,
|
|
121
|
-
chain: {
|
|
122
|
-
id,
|
|
123
|
-
unsupported
|
|
124
|
-
},
|
|
125
|
-
provider: new ethers.providers.Web3Provider(provider)
|
|
126
|
-
};
|
|
127
|
-
} catch (error) {
|
|
128
|
-
if (/user closed modal/i.test(error.message)) throw new getProvider.UserRejectedRequestError(error);
|
|
129
|
-
throw error;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
async disconnect() {
|
|
134
|
-
const provider = await this.getProvider();
|
|
135
|
-
await provider.disconnect();
|
|
136
|
-
provider.removeListener('accountsChanged', this.onAccountsChanged);
|
|
137
|
-
provider.removeListener('chainChanged', this.onChainChanged);
|
|
138
|
-
provider.removeListener('disconnect', this.onDisconnect);
|
|
139
|
-
typeof localStorage !== 'undefined' && localStorage.removeItem('walletconnect');
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
async getAccount() {
|
|
143
|
-
const provider = await this.getProvider();
|
|
144
|
-
const accounts = provider.accounts; // return checksum address
|
|
145
|
-
|
|
146
|
-
return utils.getAddress(accounts[0]);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
async getChainId() {
|
|
150
|
-
const provider = await this.getProvider();
|
|
151
|
-
const chainId = getProvider.normalizeChainId(provider.chainId);
|
|
152
|
-
return chainId;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
async getProvider() {
|
|
156
|
-
let {
|
|
157
|
-
chainId,
|
|
158
|
-
create
|
|
159
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
160
|
-
|
|
161
|
-
// Force create new provider
|
|
162
|
-
if (!getProvider._classPrivateFieldGet(this, _provider) || chainId || create) {
|
|
163
|
-
var _this$options, _this$options2;
|
|
164
|
-
|
|
165
|
-
const rpc = !((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.infuraId) ? this.chains.reduce((rpc, chain) => ({ ...rpc,
|
|
166
|
-
[chain.id]: chain.rpcUrls.default
|
|
167
|
-
}), {}) : {};
|
|
168
|
-
const WalletConnectProvider = (await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@walletconnect/ethereum-provider')); })).default;
|
|
169
|
-
|
|
170
|
-
getProvider._classPrivateFieldSet(this, _provider, new WalletConnectProvider({ ...this.options,
|
|
171
|
-
chainId,
|
|
172
|
-
rpc: { ...rpc,
|
|
173
|
-
...((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.rpc)
|
|
174
|
-
}
|
|
175
|
-
}));
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
return getProvider._classPrivateFieldGet(this, _provider);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
async getSigner() {
|
|
182
|
-
let {
|
|
183
|
-
chainId
|
|
184
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
185
|
-
const [provider, account] = await Promise.all([this.getProvider({
|
|
186
|
-
chainId
|
|
187
|
-
}), this.getAccount()]);
|
|
188
|
-
return new ethers.providers.Web3Provider(provider, chainId).getSigner(account);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
async isAuthorized() {
|
|
192
|
-
try {
|
|
193
|
-
const account = await this.getAccount();
|
|
194
|
-
return !!account;
|
|
195
|
-
} catch {
|
|
196
|
-
return false;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
async function _switchChain2(chainId) {
|
|
203
|
-
const provider = await this.getProvider();
|
|
204
|
-
const id = utils.hexValue(chainId);
|
|
205
|
-
|
|
206
|
-
try {
|
|
207
|
-
await provider.request({
|
|
208
|
-
method: 'wallet_switchEthereumChain',
|
|
209
|
-
params: [{
|
|
210
|
-
chainId: id
|
|
211
|
-
}]
|
|
212
|
-
});
|
|
213
|
-
return this.chains.find(x => x.id === chainId) ?? {
|
|
214
|
-
id: chainId,
|
|
215
|
-
name: `Chain ${id}`,
|
|
216
|
-
network: `${id}`,
|
|
217
|
-
rpcUrls: {
|
|
218
|
-
default: ''
|
|
219
|
-
}
|
|
220
|
-
};
|
|
221
|
-
} catch (error) {
|
|
222
|
-
const message = typeof error === 'string' ? error : error === null || error === void 0 ? void 0 : error.message;
|
|
223
|
-
if (/user rejected request/i.test(message)) throw new getProvider.UserRejectedRequestError(error);
|
|
224
|
-
throw new getProvider.SwitchChainError(error);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
exports.WalletConnectConnector = WalletConnectConnector;
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { m as Connector, _ as _classPrivateMethodInitSpec, t as _defineProperty, v as _classPrivateFieldInitSpec, n as normalizeChainId, g as getClient, u as _classPrivateMethodGet, U as UserRejectedRequestError, x as _classPrivateFieldGet, w as _classPrivateFieldSet, q as SwitchChainError } from '../../../dist/getProvider-97db849e.esm.js';
|
|
2
|
-
import { providers } from 'ethers';
|
|
3
|
-
import { getAddress, hexValue } from 'ethers/lib/utils';
|
|
4
|
-
import 'zustand/middleware';
|
|
5
|
-
import 'zustand/vanilla';
|
|
6
|
-
import 'eventemitter3';
|
|
7
|
-
import '../../../dist/chains-8fce19d8.esm.js';
|
|
8
|
-
import '../../../dist/rpcs-d533516e.esm.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Wallets that support chain switching through WalletConnect
|
|
12
|
-
* - imToken (token.im)
|
|
13
|
-
* - MetaMask (metamask.io)
|
|
14
|
-
* - Rainbow (rainbow.me)
|
|
15
|
-
* - Trust Wallet (trustwallet.com)
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
const switchChainAllowedRegex = /(imtoken|metamask|rainbow|trust wallet)/i;
|
|
19
|
-
|
|
20
|
-
var _provider = /*#__PURE__*/new WeakMap();
|
|
21
|
-
|
|
22
|
-
var _switchChain = /*#__PURE__*/new WeakSet();
|
|
23
|
-
|
|
24
|
-
class WalletConnectConnector extends Connector {
|
|
25
|
-
constructor(config) {
|
|
26
|
-
super(config);
|
|
27
|
-
|
|
28
|
-
_classPrivateMethodInitSpec(this, _switchChain);
|
|
29
|
-
|
|
30
|
-
_defineProperty(this, "id", 'walletConnect');
|
|
31
|
-
|
|
32
|
-
_defineProperty(this, "name", 'WalletConnect');
|
|
33
|
-
|
|
34
|
-
_defineProperty(this, "ready", true);
|
|
35
|
-
|
|
36
|
-
_classPrivateFieldInitSpec(this, _provider, {
|
|
37
|
-
writable: true,
|
|
38
|
-
value: void 0
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
_defineProperty(this, "onAccountsChanged", accounts => {
|
|
42
|
-
if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
|
|
43
|
-
account: getAddress(accounts[0])
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
_defineProperty(this, "onChainChanged", chainId => {
|
|
48
|
-
const id = normalizeChainId(chainId);
|
|
49
|
-
const unsupported = this.isChainUnsupported(id);
|
|
50
|
-
this.emit('change', {
|
|
51
|
-
chain: {
|
|
52
|
-
id,
|
|
53
|
-
unsupported
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
_defineProperty(this, "onDisconnect", () => {
|
|
59
|
-
this.emit('disconnect');
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
async connect() {
|
|
64
|
-
let {
|
|
65
|
-
chainId
|
|
66
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
67
|
-
|
|
68
|
-
try {
|
|
69
|
-
var _provider$connector, _provider$connector$p;
|
|
70
|
-
|
|
71
|
-
let targetChainId = chainId;
|
|
72
|
-
|
|
73
|
-
if (!targetChainId) {
|
|
74
|
-
const lastUsedChainId = getClient().lastUsedChainId;
|
|
75
|
-
if (lastUsedChainId && !this.isChainUnsupported(lastUsedChainId)) targetChainId = lastUsedChainId;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const provider = await this.getProvider({
|
|
79
|
-
chainId: targetChainId,
|
|
80
|
-
create: true
|
|
81
|
-
});
|
|
82
|
-
provider.on('accountsChanged', this.onAccountsChanged);
|
|
83
|
-
provider.on('chainChanged', this.onChainChanged);
|
|
84
|
-
provider.on('disconnect', this.onDisconnect); // Defer message to the next tick to ensure wallet connect data (provided by `.enable()`) is available
|
|
85
|
-
|
|
86
|
-
setTimeout(() => this.emit('message', {
|
|
87
|
-
type: 'connecting'
|
|
88
|
-
}), 0);
|
|
89
|
-
const accounts = await provider.enable();
|
|
90
|
-
const account = getAddress(accounts[0]);
|
|
91
|
-
const id = await this.getChainId();
|
|
92
|
-
const unsupported = this.isChainUnsupported(id); // Not all WalletConnect options support programmatic chain switching
|
|
93
|
-
// Only enable for wallet options that do
|
|
94
|
-
|
|
95
|
-
const walletName = ((_provider$connector = provider.connector) === null || _provider$connector === void 0 ? void 0 : (_provider$connector$p = _provider$connector.peerMeta) === null || _provider$connector$p === void 0 ? void 0 : _provider$connector$p.name) ?? '';
|
|
96
|
-
if (switchChainAllowedRegex.test(walletName)) this.switchChain = _classPrivateMethodGet(this, _switchChain, _switchChain2);
|
|
97
|
-
return {
|
|
98
|
-
account,
|
|
99
|
-
chain: {
|
|
100
|
-
id,
|
|
101
|
-
unsupported
|
|
102
|
-
},
|
|
103
|
-
provider: new providers.Web3Provider(provider)
|
|
104
|
-
};
|
|
105
|
-
} catch (error) {
|
|
106
|
-
if (/user closed modal/i.test(error.message)) throw new UserRejectedRequestError(error);
|
|
107
|
-
throw error;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
async disconnect() {
|
|
112
|
-
const provider = await this.getProvider();
|
|
113
|
-
await provider.disconnect();
|
|
114
|
-
provider.removeListener('accountsChanged', this.onAccountsChanged);
|
|
115
|
-
provider.removeListener('chainChanged', this.onChainChanged);
|
|
116
|
-
provider.removeListener('disconnect', this.onDisconnect);
|
|
117
|
-
typeof localStorage !== 'undefined' && localStorage.removeItem('walletconnect');
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
async getAccount() {
|
|
121
|
-
const provider = await this.getProvider();
|
|
122
|
-
const accounts = provider.accounts; // return checksum address
|
|
123
|
-
|
|
124
|
-
return getAddress(accounts[0]);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
async getChainId() {
|
|
128
|
-
const provider = await this.getProvider();
|
|
129
|
-
const chainId = normalizeChainId(provider.chainId);
|
|
130
|
-
return chainId;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
async getProvider() {
|
|
134
|
-
let {
|
|
135
|
-
chainId,
|
|
136
|
-
create
|
|
137
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
138
|
-
|
|
139
|
-
// Force create new provider
|
|
140
|
-
if (!_classPrivateFieldGet(this, _provider) || chainId || create) {
|
|
141
|
-
var _this$options, _this$options2;
|
|
142
|
-
|
|
143
|
-
const rpc = !((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.infuraId) ? this.chains.reduce((rpc, chain) => ({ ...rpc,
|
|
144
|
-
[chain.id]: chain.rpcUrls.default
|
|
145
|
-
}), {}) : {};
|
|
146
|
-
const WalletConnectProvider = (await import('@walletconnect/ethereum-provider')).default;
|
|
147
|
-
|
|
148
|
-
_classPrivateFieldSet(this, _provider, new WalletConnectProvider({ ...this.options,
|
|
149
|
-
chainId,
|
|
150
|
-
rpc: { ...rpc,
|
|
151
|
-
...((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.rpc)
|
|
152
|
-
}
|
|
153
|
-
}));
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
return _classPrivateFieldGet(this, _provider);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
async getSigner() {
|
|
160
|
-
let {
|
|
161
|
-
chainId
|
|
162
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
163
|
-
const [provider, account] = await Promise.all([this.getProvider({
|
|
164
|
-
chainId
|
|
165
|
-
}), this.getAccount()]);
|
|
166
|
-
return new providers.Web3Provider(provider, chainId).getSigner(account);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
async isAuthorized() {
|
|
170
|
-
try {
|
|
171
|
-
const account = await this.getAccount();
|
|
172
|
-
return !!account;
|
|
173
|
-
} catch {
|
|
174
|
-
return false;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
async function _switchChain2(chainId) {
|
|
181
|
-
const provider = await this.getProvider();
|
|
182
|
-
const id = hexValue(chainId);
|
|
183
|
-
|
|
184
|
-
try {
|
|
185
|
-
await provider.request({
|
|
186
|
-
method: 'wallet_switchEthereumChain',
|
|
187
|
-
params: [{
|
|
188
|
-
chainId: id
|
|
189
|
-
}]
|
|
190
|
-
});
|
|
191
|
-
return this.chains.find(x => x.id === chainId) ?? {
|
|
192
|
-
id: chainId,
|
|
193
|
-
name: `Chain ${id}`,
|
|
194
|
-
network: `${id}`,
|
|
195
|
-
rpcUrls: {
|
|
196
|
-
default: ''
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
} catch (error) {
|
|
200
|
-
const message = typeof error === 'string' ? error : error === null || error === void 0 ? void 0 : error.message;
|
|
201
|
-
if (/user rejected request/i.test(message)) throw new UserRejectedRequestError(error);
|
|
202
|
-
throw new SwitchChainError(error);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
export { WalletConnectConnector };
|