@wagmi/core 0.3.8 → 0.4.0-test.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 (139) hide show
  1. package/chains/dist/wagmi-core-chains.cjs.d.ts +11 -1
  2. package/chains/dist/wagmi-core-chains.cjs.js +15 -6
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.d.ts +11 -1
  4. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.js +15 -6
  5. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.d.ts +1 -0
  6. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.dev.js +200 -0
  7. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.js +7 -0
  8. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.prod.js +200 -0
  9. package/connectors/injected/dist/wagmi-core-connectors-injected.esm.js +196 -0
  10. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.d.ts +11 -1
  11. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.js +15 -6
  12. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.d.ts +11 -1
  13. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.js +15 -6
  14. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.d.ts +11 -1
  15. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.js +15 -6
  16. package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.d.ts +11 -0
  17. package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.js +16 -0
  18. package/dist/wagmi-core.cjs.d.ts +11 -1
  19. package/dist/wagmi-core.cjs.js +15 -6
  20. package/package.json +1 -2
  21. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.d.ts +11 -1
  22. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.js +15 -6
  23. package/providers/infura/dist/wagmi-core-providers-infura.cjs.d.ts +11 -1
  24. package/providers/infura/dist/wagmi-core-providers-infura.cjs.js +15 -6
  25. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.d.ts +11 -1
  26. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.js +15 -6
  27. package/providers/public/dist/wagmi-core-providers-public.cjs.d.ts +11 -1
  28. package/providers/public/dist/wagmi-core-providers-public.cjs.js +15 -6
  29. package/chains/dist/wagmi-core-chains.cjs.dev.js +0 -23
  30. package/chains/dist/wagmi-core-chains.cjs.prod.js +0 -23
  31. package/chains/dist/wagmi-core-chains.esm.js +0 -2
  32. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +0 -264
  33. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +0 -264
  34. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +0 -242
  35. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +0 -79
  36. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +0 -79
  37. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +0 -75
  38. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +0 -265
  39. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +0 -265
  40. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +0 -256
  41. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +0 -227
  42. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +0 -227
  43. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +0 -205
  44. package/dist/base-4c248b82.esm.js +0 -267
  45. package/dist/base-9fa7951e.cjs.dev.js +0 -290
  46. package/dist/base-b7c3f31e.cjs.prod.js +0 -290
  47. package/dist/chains-42648bc5.esm.js +0 -343
  48. package/dist/chains-7204b2dd.cjs.prod.js +0 -364
  49. package/dist/chains-b4a51a84.cjs.dev.js +0 -364
  50. package/dist/client-a774f14a.cjs.prod.js +0 -674
  51. package/dist/client-d5a20a13.cjs.dev.js +0 -674
  52. package/dist/client-e01209d5.esm.js +0 -663
  53. package/dist/declarations/src/actions/accounts/connect.d.ts +0 -18
  54. package/dist/declarations/src/actions/accounts/disconnect.d.ts +0 -1
  55. package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +0 -20
  56. package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +0 -3
  57. package/dist/declarations/src/actions/accounts/getAccount.d.ts +0 -7
  58. package/dist/declarations/src/actions/accounts/getNetwork.d.ts +0 -9
  59. package/dist/declarations/src/actions/accounts/index.d.ts +0 -12
  60. package/dist/declarations/src/actions/accounts/signMessage.d.ts +0 -9
  61. package/dist/declarations/src/actions/accounts/signTypedData.d.ts +0 -22
  62. package/dist/declarations/src/actions/accounts/switchNetwork.d.ts +0 -6
  63. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +0 -4
  64. package/dist/declarations/src/actions/accounts/watchNetwork.d.ts +0 -3
  65. package/dist/declarations/src/actions/accounts/watchSigner.d.ts +0 -3
  66. package/dist/declarations/src/actions/contracts/getContract.d.ts +0 -10
  67. package/dist/declarations/src/actions/contracts/index.d.ts +0 -5
  68. package/dist/declarations/src/actions/contracts/readContract.d.ts +0 -14
  69. package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +0 -14
  70. package/dist/declarations/src/actions/contracts/watchReadContract.d.ts +0 -7
  71. package/dist/declarations/src/actions/contracts/writeContract.d.ts +0 -10
  72. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +0 -8
  73. package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +0 -8
  74. package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +0 -8
  75. package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +0 -9
  76. package/dist/declarations/src/actions/ens/index.d.ts +0 -4
  77. package/dist/declarations/src/actions/index.d.ts +0 -7
  78. package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +0 -5
  79. package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +0 -16
  80. package/dist/declarations/src/actions/network-status/index.d.ts +0 -3
  81. package/dist/declarations/src/actions/network-status/watchBlockNumber.d.ts +0 -6
  82. package/dist/declarations/src/actions/providers/getProvider.d.ts +0 -7
  83. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +0 -7
  84. package/dist/declarations/src/actions/providers/index.d.ts +0 -4
  85. package/dist/declarations/src/actions/providers/watchProvider.d.ts +0 -4
  86. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +0 -4
  87. package/dist/declarations/src/actions/tokens/fetchToken.d.ts +0 -20
  88. package/dist/declarations/src/actions/tokens/index.d.ts +0 -1
  89. package/dist/declarations/src/actions/transactions/index.d.ts +0 -2
  90. package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +0 -7
  91. package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +0 -17
  92. package/dist/declarations/src/chains.d.ts +0 -1
  93. package/dist/declarations/src/client.d.ts +0 -82
  94. package/dist/declarations/src/connectors/base.d.ts +0 -60
  95. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +0 -54
  96. package/dist/declarations/src/connectors/index.d.ts +0 -2
  97. package/dist/declarations/src/connectors/injected.d.ts +0 -56
  98. package/dist/declarations/src/connectors/metaMask.d.ts +0 -13
  99. package/dist/declarations/src/connectors/mock/connector.d.ts +0 -41
  100. package/dist/declarations/src/connectors/mock/index.d.ts +0 -2
  101. package/dist/declarations/src/connectors/mock/provider.d.ts +0 -40
  102. package/dist/declarations/src/connectors/walletConnect.d.ts +0 -38
  103. package/dist/declarations/src/constants/abis.d.ts +0 -2
  104. package/dist/declarations/src/constants/blockExplorers.d.ts +0 -9
  105. package/dist/declarations/src/constants/chains.d.ts +0 -55
  106. package/dist/declarations/src/constants/index.d.ts +0 -7
  107. package/dist/declarations/src/constants/rpcs.d.ts +0 -9
  108. package/dist/declarations/src/constants/units.d.ts +0 -1
  109. package/dist/declarations/src/errors.d.ts +0 -72
  110. package/dist/declarations/src/index.d.ts +0 -13
  111. package/dist/declarations/src/providers/alchemy.d.ts +0 -7
  112. package/dist/declarations/src/providers/infura.d.ts +0 -7
  113. package/dist/declarations/src/providers/jsonRpc.d.ts +0 -11
  114. package/dist/declarations/src/providers/public.d.ts +0 -6
  115. package/dist/declarations/src/storage.d.ts +0 -12
  116. package/dist/declarations/src/types/index.d.ts +0 -150
  117. package/dist/declarations/src/utils/configureChains.d.ts +0 -20
  118. package/dist/declarations/src/utils/getInjectedName.d.ts +0 -1
  119. package/dist/declarations/src/utils/index.d.ts +0 -5
  120. package/dist/declarations/src/utils/normalizeChainId.d.ts +0 -1
  121. package/dist/declarations/src/utils/warn.d.ts +0 -1
  122. package/dist/rpcs-7cfbd91c.esm.js +0 -30
  123. package/dist/rpcs-9c4eb960.cjs.dev.js +0 -35
  124. package/dist/rpcs-b3c52116.cjs.prod.js +0 -35
  125. package/dist/wagmi-core.cjs.dev.js +0 -764
  126. package/dist/wagmi-core.cjs.prod.js +0 -764
  127. package/dist/wagmi-core.esm.js +0 -704
  128. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +0 -38
  129. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +0 -38
  130. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +0 -34
  131. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +0 -38
  132. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +0 -38
  133. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +0 -34
  134. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +0 -46
  135. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +0 -46
  136. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +0 -42
  137. package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +0 -34
  138. package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +0 -34
  139. package/providers/public/dist/wagmi-core-providers-public.esm.js +0 -30
@@ -1,264 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var base = require('../../../dist/base-9fa7951e.cjs.dev.js');
6
- var ethers = require('ethers');
7
- var utils = require('ethers/lib/utils');
8
- var chains = require('../../../dist/chains-b4a51a84.cjs.dev.js');
9
- require('eventemitter3');
10
- require('../../../dist/rpcs-9c4eb960.cjs.dev.js');
11
-
12
- function _interopNamespace(e) {
13
- if (e && e.__esModule) return e;
14
- var n = Object.create(null);
15
- if (e) {
16
- Object.keys(e).forEach(function (k) {
17
- if (k !== 'default') {
18
- var d = Object.getOwnPropertyDescriptor(e, k);
19
- Object.defineProperty(n, k, d.get ? d : {
20
- enumerable: true,
21
- get: function () { return e[k]; }
22
- });
23
- }
24
- });
25
- }
26
- n["default"] = e;
27
- return Object.freeze(n);
28
- }
29
-
30
- var _client = /*#__PURE__*/new WeakMap();
31
-
32
- var _provider = /*#__PURE__*/new WeakMap();
33
-
34
- var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
35
-
36
- class CoinbaseWalletConnector extends base.Connector {
37
- constructor(_ref) {
38
- let {
39
- chains,
40
- options
41
- } = _ref;
42
- super({
43
- chains,
44
- options: {
45
- reloadOnDisconnect: false,
46
- ...options
47
- }
48
- });
49
-
50
- base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
51
-
52
- base._defineProperty(this, "id", 'coinbaseWallet');
53
-
54
- base._defineProperty(this, "name", 'Coinbase Wallet');
55
-
56
- base._defineProperty(this, "ready", true);
57
-
58
- base._classPrivateFieldInitSpec(this, _client, {
59
- writable: true,
60
- value: void 0
61
- });
62
-
63
- base._classPrivateFieldInitSpec(this, _provider, {
64
- writable: true,
65
- value: void 0
66
- });
67
-
68
- base._defineProperty(this, "onAccountsChanged", accounts => {
69
- if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
70
- account: utils.getAddress(accounts[0])
71
- });
72
- });
73
-
74
- base._defineProperty(this, "onChainChanged", chainId => {
75
- const id = base.normalizeChainId(chainId);
76
- const unsupported = this.isChainUnsupported(id);
77
- this.emit('change', {
78
- chain: {
79
- id,
80
- unsupported
81
- }
82
- });
83
- });
84
-
85
- base._defineProperty(this, "onDisconnect", () => {
86
- this.emit('disconnect');
87
- });
88
- }
89
-
90
- async connect() {
91
- let {
92
- chainId
93
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
94
-
95
- try {
96
- const provider = await this.getProvider();
97
- provider.on('accountsChanged', this.onAccountsChanged);
98
- provider.on('chainChanged', this.onChainChanged);
99
- provider.on('disconnect', this.onDisconnect);
100
- this.emit('message', {
101
- type: 'connecting'
102
- });
103
- const accounts = await provider.enable();
104
- const account = utils.getAddress(accounts[0]); // Switch to chain if provided
105
-
106
- let id = await this.getChainId();
107
- let unsupported = this.isChainUnsupported(id);
108
-
109
- if (chainId && id !== chainId) {
110
- const chain = await this.switchChain(chainId);
111
- id = chain.id;
112
- unsupported = this.isChainUnsupported(id);
113
- }
114
-
115
- return {
116
- account,
117
- chain: {
118
- id,
119
- unsupported
120
- },
121
- provider: new ethers.providers.Web3Provider(provider)
122
- };
123
- } catch (error) {
124
- if (/(user closed modal|accounts received is empty)/i.test(error.message)) throw new base.UserRejectedRequestError(error);
125
- throw error;
126
- }
127
- }
128
-
129
- async disconnect() {
130
- if (!base._classPrivateFieldGet(this, _provider)) return;
131
- const provider = await this.getProvider();
132
- provider.removeListener('accountsChanged', this.onAccountsChanged);
133
- provider.removeListener('chainChanged', this.onChainChanged);
134
- provider.removeListener('disconnect', this.onDisconnect);
135
- provider.disconnect();
136
- provider.close();
137
- }
138
-
139
- async getAccount() {
140
- const provider = await this.getProvider();
141
- const accounts = await provider.request({
142
- method: 'eth_accounts'
143
- }); // return checksum address
144
-
145
- return utils.getAddress(accounts[0]);
146
- }
147
-
148
- async getChainId() {
149
- const provider = await this.getProvider();
150
- const chainId = base.normalizeChainId(provider.chainId);
151
- return chainId;
152
- }
153
-
154
- async getProvider() {
155
- if (!base._classPrivateFieldGet(this, _provider)) {
156
- const chain = this.chains.find(chain => chain.id === this.options.chainId) || this.chains[0];
157
- const chainId = this.options.chainId || (chain === null || chain === void 0 ? void 0 : chain.id);
158
- const jsonRpcUrl = this.options.jsonRpcUrl || (chain === null || chain === void 0 ? void 0 : chain.rpcUrls.default);
159
- let CoinbaseWalletSDK = (await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@coinbase/wallet-sdk')); })).default; // Workaround for Vite dev import errors
160
- // https://github.com/vitejs/vite/issues/7112
161
-
162
- if (!CoinbaseWalletSDK.constructor) CoinbaseWalletSDK = CoinbaseWalletSDK.default;
163
-
164
- base._classPrivateFieldSet(this, _client, new CoinbaseWalletSDK(this.options));
165
-
166
- base._classPrivateFieldSet(this, _provider, base._classPrivateFieldGet(this, _client).makeWeb3Provider(jsonRpcUrl, chainId));
167
- }
168
-
169
- return base._classPrivateFieldGet(this, _provider);
170
- }
171
-
172
- async getSigner() {
173
- const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
174
- return new ethers.providers.Web3Provider(provider).getSigner(account);
175
- }
176
-
177
- async isAuthorized() {
178
- try {
179
- const account = await this.getAccount();
180
- return !!account;
181
- } catch {
182
- return false;
183
- }
184
- }
185
-
186
- async switchChain(chainId) {
187
- const provider = await this.getProvider();
188
- const id = utils.hexValue(chainId);
189
-
190
- try {
191
- var _chains$find;
192
-
193
- await provider.request({
194
- method: 'wallet_switchEthereumChain',
195
- params: [{
196
- chainId: id
197
- }]
198
- });
199
- const chains$1 = [...this.chains, ...chains.allChains];
200
- return (_chains$find = chains$1.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
201
- id: chainId,
202
- name: "Chain ".concat(id),
203
- network: "".concat(id),
204
- rpcUrls: {
205
- default: ''
206
- }
207
- };
208
- } catch (error) {
209
- const chain = this.chains.find(x => x.id === chainId);
210
- if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
211
-
212
- if (error.code === 4902) {
213
- try {
214
- await provider.request({
215
- method: 'wallet_addEthereumChain',
216
- params: [{
217
- chainId: id,
218
- chainName: chain.name,
219
- nativeCurrency: chain.nativeCurrency,
220
- rpcUrls: [chain.rpcUrls.default],
221
- blockExplorerUrls: this.getBlockExplorerUrls(chain)
222
- }]
223
- });
224
- return chain;
225
- } catch (addError) {
226
- if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(addError);
227
- throw new base.AddChainError();
228
- }
229
- }
230
-
231
- if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
232
- throw new base.SwitchChainError(error);
233
- }
234
- }
235
-
236
- async watchAsset(_ref2) {
237
- let {
238
- address,
239
- decimals = 18,
240
- image,
241
- symbol
242
- } = _ref2;
243
- const provider = await this.getProvider();
244
- return await provider.request({
245
- method: 'wallet_watchAsset',
246
- params: {
247
- type: 'ERC20',
248
- options: {
249
- address,
250
- decimals,
251
- image,
252
- symbol
253
- }
254
- }
255
- });
256
- }
257
-
258
- }
259
-
260
- function _isUserRejectedRequestError2(error) {
261
- return /(user rejected)/i.test(error.message);
262
- }
263
-
264
- exports.CoinbaseWalletConnector = CoinbaseWalletConnector;
@@ -1,264 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var base = require('../../../dist/base-b7c3f31e.cjs.prod.js');
6
- var ethers = require('ethers');
7
- var utils = require('ethers/lib/utils');
8
- var chains = require('../../../dist/chains-7204b2dd.cjs.prod.js');
9
- require('eventemitter3');
10
- require('../../../dist/rpcs-b3c52116.cjs.prod.js');
11
-
12
- function _interopNamespace(e) {
13
- if (e && e.__esModule) return e;
14
- var n = Object.create(null);
15
- if (e) {
16
- Object.keys(e).forEach(function (k) {
17
- if (k !== 'default') {
18
- var d = Object.getOwnPropertyDescriptor(e, k);
19
- Object.defineProperty(n, k, d.get ? d : {
20
- enumerable: true,
21
- get: function () { return e[k]; }
22
- });
23
- }
24
- });
25
- }
26
- n["default"] = e;
27
- return Object.freeze(n);
28
- }
29
-
30
- var _client = /*#__PURE__*/new WeakMap();
31
-
32
- var _provider = /*#__PURE__*/new WeakMap();
33
-
34
- var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
35
-
36
- class CoinbaseWalletConnector extends base.Connector {
37
- constructor(_ref) {
38
- let {
39
- chains,
40
- options
41
- } = _ref;
42
- super({
43
- chains,
44
- options: {
45
- reloadOnDisconnect: false,
46
- ...options
47
- }
48
- });
49
-
50
- base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
51
-
52
- base._defineProperty(this, "id", 'coinbaseWallet');
53
-
54
- base._defineProperty(this, "name", 'Coinbase Wallet');
55
-
56
- base._defineProperty(this, "ready", true);
57
-
58
- base._classPrivateFieldInitSpec(this, _client, {
59
- writable: true,
60
- value: void 0
61
- });
62
-
63
- base._classPrivateFieldInitSpec(this, _provider, {
64
- writable: true,
65
- value: void 0
66
- });
67
-
68
- base._defineProperty(this, "onAccountsChanged", accounts => {
69
- if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
70
- account: utils.getAddress(accounts[0])
71
- });
72
- });
73
-
74
- base._defineProperty(this, "onChainChanged", chainId => {
75
- const id = base.normalizeChainId(chainId);
76
- const unsupported = this.isChainUnsupported(id);
77
- this.emit('change', {
78
- chain: {
79
- id,
80
- unsupported
81
- }
82
- });
83
- });
84
-
85
- base._defineProperty(this, "onDisconnect", () => {
86
- this.emit('disconnect');
87
- });
88
- }
89
-
90
- async connect() {
91
- let {
92
- chainId
93
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
94
-
95
- try {
96
- const provider = await this.getProvider();
97
- provider.on('accountsChanged', this.onAccountsChanged);
98
- provider.on('chainChanged', this.onChainChanged);
99
- provider.on('disconnect', this.onDisconnect);
100
- this.emit('message', {
101
- type: 'connecting'
102
- });
103
- const accounts = await provider.enable();
104
- const account = utils.getAddress(accounts[0]); // Switch to chain if provided
105
-
106
- let id = await this.getChainId();
107
- let unsupported = this.isChainUnsupported(id);
108
-
109
- if (chainId && id !== chainId) {
110
- const chain = await this.switchChain(chainId);
111
- id = chain.id;
112
- unsupported = this.isChainUnsupported(id);
113
- }
114
-
115
- return {
116
- account,
117
- chain: {
118
- id,
119
- unsupported
120
- },
121
- provider: new ethers.providers.Web3Provider(provider)
122
- };
123
- } catch (error) {
124
- if (/(user closed modal|accounts received is empty)/i.test(error.message)) throw new base.UserRejectedRequestError(error);
125
- throw error;
126
- }
127
- }
128
-
129
- async disconnect() {
130
- if (!base._classPrivateFieldGet(this, _provider)) return;
131
- const provider = await this.getProvider();
132
- provider.removeListener('accountsChanged', this.onAccountsChanged);
133
- provider.removeListener('chainChanged', this.onChainChanged);
134
- provider.removeListener('disconnect', this.onDisconnect);
135
- provider.disconnect();
136
- provider.close();
137
- }
138
-
139
- async getAccount() {
140
- const provider = await this.getProvider();
141
- const accounts = await provider.request({
142
- method: 'eth_accounts'
143
- }); // return checksum address
144
-
145
- return utils.getAddress(accounts[0]);
146
- }
147
-
148
- async getChainId() {
149
- const provider = await this.getProvider();
150
- const chainId = base.normalizeChainId(provider.chainId);
151
- return chainId;
152
- }
153
-
154
- async getProvider() {
155
- if (!base._classPrivateFieldGet(this, _provider)) {
156
- const chain = this.chains.find(chain => chain.id === this.options.chainId) || this.chains[0];
157
- const chainId = this.options.chainId || (chain === null || chain === void 0 ? void 0 : chain.id);
158
- const jsonRpcUrl = this.options.jsonRpcUrl || (chain === null || chain === void 0 ? void 0 : chain.rpcUrls.default);
159
- let CoinbaseWalletSDK = (await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@coinbase/wallet-sdk')); })).default; // Workaround for Vite dev import errors
160
- // https://github.com/vitejs/vite/issues/7112
161
-
162
- if (!CoinbaseWalletSDK.constructor) CoinbaseWalletSDK = CoinbaseWalletSDK.default;
163
-
164
- base._classPrivateFieldSet(this, _client, new CoinbaseWalletSDK(this.options));
165
-
166
- base._classPrivateFieldSet(this, _provider, base._classPrivateFieldGet(this, _client).makeWeb3Provider(jsonRpcUrl, chainId));
167
- }
168
-
169
- return base._classPrivateFieldGet(this, _provider);
170
- }
171
-
172
- async getSigner() {
173
- const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
174
- return new ethers.providers.Web3Provider(provider).getSigner(account);
175
- }
176
-
177
- async isAuthorized() {
178
- try {
179
- const account = await this.getAccount();
180
- return !!account;
181
- } catch {
182
- return false;
183
- }
184
- }
185
-
186
- async switchChain(chainId) {
187
- const provider = await this.getProvider();
188
- const id = utils.hexValue(chainId);
189
-
190
- try {
191
- var _chains$find;
192
-
193
- await provider.request({
194
- method: 'wallet_switchEthereumChain',
195
- params: [{
196
- chainId: id
197
- }]
198
- });
199
- const chains$1 = [...this.chains, ...chains.allChains];
200
- return (_chains$find = chains$1.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
201
- id: chainId,
202
- name: "Chain ".concat(id),
203
- network: "".concat(id),
204
- rpcUrls: {
205
- default: ''
206
- }
207
- };
208
- } catch (error) {
209
- const chain = this.chains.find(x => x.id === chainId);
210
- if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
211
-
212
- if (error.code === 4902) {
213
- try {
214
- await provider.request({
215
- method: 'wallet_addEthereumChain',
216
- params: [{
217
- chainId: id,
218
- chainName: chain.name,
219
- nativeCurrency: chain.nativeCurrency,
220
- rpcUrls: [chain.rpcUrls.default],
221
- blockExplorerUrls: this.getBlockExplorerUrls(chain)
222
- }]
223
- });
224
- return chain;
225
- } catch (addError) {
226
- if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(addError);
227
- throw new base.AddChainError();
228
- }
229
- }
230
-
231
- if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
232
- throw new base.SwitchChainError(error);
233
- }
234
- }
235
-
236
- async watchAsset(_ref2) {
237
- let {
238
- address,
239
- decimals = 18,
240
- image,
241
- symbol
242
- } = _ref2;
243
- const provider = await this.getProvider();
244
- return await provider.request({
245
- method: 'wallet_watchAsset',
246
- params: {
247
- type: 'ERC20',
248
- options: {
249
- address,
250
- decimals,
251
- image,
252
- symbol
253
- }
254
- }
255
- });
256
- }
257
-
258
- }
259
-
260
- function _isUserRejectedRequestError2(error) {
261
- return /(user rejected)/i.test(error.message);
262
- }
263
-
264
- exports.CoinbaseWalletConnector = CoinbaseWalletConnector;