@wagmi/core 0.2.0-next.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 (101) hide show
  1. package/LICENSE +21 -0
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.d.ts +1 -0
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +252 -0
  4. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.js +7 -0
  5. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +252 -0
  6. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +230 -0
  7. package/connectors/coinbaseWallet/package.json +4 -0
  8. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.d.ts +1 -0
  9. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +304 -0
  10. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.js +7 -0
  11. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +304 -0
  12. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +295 -0
  13. package/connectors/mock/package.json +4 -0
  14. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.d.ts +1 -0
  15. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +216 -0
  16. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.js +7 -0
  17. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +216 -0
  18. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +194 -0
  19. package/connectors/walletConnect/package.json +4 -0
  20. package/dist/base-09a653f3.cjs.dev.js +453 -0
  21. package/dist/base-824c3b6d.esm.js +430 -0
  22. package/dist/base-d8123d5f.cjs.prod.js +453 -0
  23. package/dist/classPrivateMethodGet-0e9a7925.cjs.prod.js +19 -0
  24. package/dist/classPrivateMethodGet-38b54c7a.cjs.dev.js +19 -0
  25. package/dist/classPrivateMethodGet-c9db96d6.esm.js +16 -0
  26. package/dist/declarations/src/actions/accounts/connect.d.ts +7 -0
  27. package/dist/declarations/src/actions/accounts/disconnect.d.ts +1 -0
  28. package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +18 -0
  29. package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +3 -0
  30. package/dist/declarations/src/actions/accounts/getAccount.d.ts +6 -0
  31. package/dist/declarations/src/actions/accounts/getNetwork.d.ts +9 -0
  32. package/dist/declarations/src/actions/accounts/index.d.ts +13 -0
  33. package/dist/declarations/src/actions/accounts/signMessage.d.ts +9 -0
  34. package/dist/declarations/src/actions/accounts/signTypedData.d.ts +13 -0
  35. package/dist/declarations/src/actions/accounts/switchNetwork.d.ts +6 -0
  36. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +3 -0
  37. package/dist/declarations/src/actions/accounts/watchBalance.d.ts +3 -0
  38. package/dist/declarations/src/actions/accounts/watchNetwork.d.ts +3 -0
  39. package/dist/declarations/src/actions/accounts/watchSigner.d.ts +3 -0
  40. package/dist/declarations/src/actions/contracts/getContract.d.ts +11 -0
  41. package/dist/declarations/src/actions/contracts/index.d.ts +5 -0
  42. package/dist/declarations/src/actions/contracts/readContract.d.ts +11 -0
  43. package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +12 -0
  44. package/dist/declarations/src/actions/contracts/watchReadContract.d.ts +7 -0
  45. package/dist/declarations/src/actions/contracts/writeContract.d.ts +11 -0
  46. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +6 -0
  47. package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +6 -0
  48. package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +6 -0
  49. package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +7 -0
  50. package/dist/declarations/src/actions/ens/index.d.ts +8 -0
  51. package/dist/declarations/src/actions/ens/watchEnsAddress.d.ts +3 -0
  52. package/dist/declarations/src/actions/ens/watchEnsAvatar.d.ts +3 -0
  53. package/dist/declarations/src/actions/ens/watchEnsName.d.ts +3 -0
  54. package/dist/declarations/src/actions/ens/watchEnsResolver.d.ts +3 -0
  55. package/dist/declarations/src/actions/index.d.ts +7 -0
  56. package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +2 -0
  57. package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +14 -0
  58. package/dist/declarations/src/actions/network-status/index.d.ts +4 -0
  59. package/dist/declarations/src/actions/network-status/watchBlockNumber.d.ts +6 -0
  60. package/dist/declarations/src/actions/network-status/watchFeeData.d.ts +7 -0
  61. package/dist/declarations/src/actions/providers/getProvider.d.ts +3 -0
  62. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +3 -0
  63. package/dist/declarations/src/actions/providers/index.d.ts +4 -0
  64. package/dist/declarations/src/actions/providers/watchProvider.d.ts +3 -0
  65. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +3 -0
  66. package/dist/declarations/src/actions/tokens/fetchToken.d.ts +24 -0
  67. package/dist/declarations/src/actions/tokens/index.d.ts +2 -0
  68. package/dist/declarations/src/actions/tokens/watchToken.d.ts +3 -0
  69. package/dist/declarations/src/actions/transactions/index.d.ts +2 -0
  70. package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +7 -0
  71. package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +15 -0
  72. package/dist/declarations/src/client.d.ts +78 -0
  73. package/dist/declarations/src/connectors/base.d.ts +50 -0
  74. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +43 -0
  75. package/dist/declarations/src/connectors/index.d.ts +2 -0
  76. package/dist/declarations/src/connectors/injected.d.ts +55 -0
  77. package/dist/declarations/src/connectors/mock/connector.d.ts +37 -0
  78. package/dist/declarations/src/connectors/mock/index.d.ts +2 -0
  79. package/dist/declarations/src/connectors/mock/provider.d.ts +40 -0
  80. package/dist/declarations/src/connectors/walletConnect.d.ts +32 -0
  81. package/dist/declarations/src/constants/abis/erc1155.d.ts +17 -0
  82. package/dist/declarations/src/constants/abis/erc20.d.ts +38 -0
  83. package/dist/declarations/src/constants/abis/erc721.d.ts +15 -0
  84. package/dist/declarations/src/constants/abis/index.d.ts +3 -0
  85. package/dist/declarations/src/constants/chains.d.ts +10 -0
  86. package/dist/declarations/src/constants/index.d.ts +3 -0
  87. package/dist/declarations/src/constants/units.d.ts +1 -0
  88. package/dist/declarations/src/errors.d.ts +28 -0
  89. package/dist/declarations/src/index.d.ts +9 -0
  90. package/dist/declarations/src/storage.d.ts +12 -0
  91. package/dist/declarations/src/types/declarations.d.ts +52 -0
  92. package/dist/declarations/src/types/index.d.ts +14 -0
  93. package/dist/declarations/src/utils/getInjectedName.d.ts +1 -0
  94. package/dist/declarations/src/utils/index.d.ts +2 -0
  95. package/dist/declarations/src/utils/normalizeChainId.d.ts +1 -0
  96. package/dist/wagmi-core.cjs.d.ts +1 -0
  97. package/dist/wagmi-core.cjs.dev.js +1689 -0
  98. package/dist/wagmi-core.cjs.js +7 -0
  99. package/dist/wagmi-core.cjs.prod.js +1689 -0
  100. package/dist/wagmi-core.esm.js +1623 -0
  101. package/package.json +67 -0
@@ -0,0 +1,216 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var base = require('../../../dist/base-09a653f3.cjs.dev.js');
6
+ var classPrivateMethodGet = require('../../../dist/classPrivateMethodGet-38b54c7a.cjs.dev.js');
7
+ var ethers = require('ethers');
8
+ var utils = require('ethers/lib/utils');
9
+ require('eventemitter3');
10
+
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n["default"] = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var switchChainAllowedRegex = /(rainbow)/i;
30
+
31
+ var _provider = /*#__PURE__*/new WeakMap();
32
+
33
+ var _switchChain = /*#__PURE__*/new WeakSet();
34
+
35
+ class WalletConnectConnector extends base.Connector {
36
+ constructor(config) {
37
+ super(config);
38
+
39
+ classPrivateMethodGet._classPrivateMethodInitSpec(this, _switchChain);
40
+
41
+ base._defineProperty(this, "id", 'walletConnect');
42
+
43
+ base._defineProperty(this, "name", 'WalletConnect');
44
+
45
+ base._defineProperty(this, "ready", true);
46
+
47
+ base._classPrivateFieldInitSpec(this, _provider, {
48
+ writable: true,
49
+ value: void 0
50
+ });
51
+
52
+ base._defineProperty(this, "onAccountsChanged", accounts => {
53
+ if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
54
+ account: utils.getAddress(accounts[0])
55
+ });
56
+ });
57
+
58
+ base._defineProperty(this, "onChainChanged", chainId => {
59
+ var id = base.normalizeChainId(chainId);
60
+ var unsupported = this.isChainUnsupported(id);
61
+ this.emit('change', {
62
+ chain: {
63
+ id,
64
+ unsupported
65
+ }
66
+ });
67
+ });
68
+
69
+ base._defineProperty(this, "onDisconnect", () => {
70
+ this.emit('disconnect');
71
+ });
72
+ }
73
+
74
+ connect() {
75
+ var _this = this;
76
+
77
+ return base._asyncToGenerator(function* () {
78
+ try {
79
+ var _provider$connector$p, _provider$connector, _provider$connector$p2;
80
+
81
+ var provider = yield _this.getProvider(true);
82
+ provider.on('accountsChanged', _this.onAccountsChanged);
83
+ provider.on('chainChanged', _this.onChainChanged);
84
+ provider.on('disconnect', _this.onDisconnect);
85
+ var accounts = yield provider.enable();
86
+ var account = utils.getAddress(accounts[0]);
87
+ var id = yield _this.getChainId();
88
+
89
+ var unsupported = _this.isChainUnsupported(id); // Not all WalletConnect options support programmatic chain switching
90
+ // Only enable for wallet options that do
91
+
92
+
93
+ var walletName = (_provider$connector$p = (_provider$connector = provider.connector) === null || _provider$connector === void 0 ? void 0 : (_provider$connector$p2 = _provider$connector.peerMeta) === null || _provider$connector$p2 === void 0 ? void 0 : _provider$connector$p2.name) !== null && _provider$connector$p !== void 0 ? _provider$connector$p : '';
94
+ if (switchChainAllowedRegex.test(walletName)) _this.switchChain = classPrivateMethodGet._classPrivateMethodGet(_this, _switchChain, _switchChain2);
95
+ return {
96
+ account,
97
+ chain: {
98
+ id,
99
+ unsupported
100
+ },
101
+ provider: new ethers.providers.Web3Provider(provider)
102
+ };
103
+ } catch (error) {
104
+ if (/user closed modal/i.test(error.message)) throw new base.UserRejectedRequestError();
105
+ throw error;
106
+ }
107
+ })();
108
+ }
109
+
110
+ disconnect() {
111
+ var _this2 = this;
112
+
113
+ return base._asyncToGenerator(function* () {
114
+ var provider = yield _this2.getProvider();
115
+ yield provider.disconnect();
116
+ provider.removeListener('accountsChanged', _this2.onAccountsChanged);
117
+ provider.removeListener('chainChanged', _this2.onChainChanged);
118
+ provider.removeListener('disconnect', _this2.onDisconnect);
119
+ typeof localStorage !== 'undefined' && localStorage.removeItem('walletconnect');
120
+ })();
121
+ }
122
+
123
+ getAccount() {
124
+ var _this3 = this;
125
+
126
+ return base._asyncToGenerator(function* () {
127
+ var provider = yield _this3.getProvider();
128
+ var accounts = provider.accounts; // return checksum address
129
+
130
+ return utils.getAddress(accounts[0]);
131
+ })();
132
+ }
133
+
134
+ getChainId() {
135
+ var _this4 = this;
136
+
137
+ return base._asyncToGenerator(function* () {
138
+ var provider = yield _this4.getProvider();
139
+ var chainId = base.normalizeChainId(provider.chainId);
140
+ return chainId;
141
+ })();
142
+ }
143
+
144
+ getProvider(create) {
145
+ var _this5 = this;
146
+
147
+ return base._asyncToGenerator(function* () {
148
+ if (!base._classPrivateFieldGet(_this5, _provider) || create) {
149
+ var WalletConnectProvider = (yield Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@walletconnect/ethereum-provider')); })).default;
150
+
151
+ base._classPrivateFieldSet(_this5, _provider, new WalletConnectProvider(_this5.options));
152
+ }
153
+
154
+ return base._classPrivateFieldGet(_this5, _provider);
155
+ })();
156
+ }
157
+
158
+ getSigner() {
159
+ var _this6 = this;
160
+
161
+ return base._asyncToGenerator(function* () {
162
+ var provider = _this6.getProvider();
163
+
164
+ var account = yield _this6.getAccount();
165
+ return new ethers.providers.Web3Provider(provider).getSigner(account);
166
+ })();
167
+ }
168
+
169
+ isAuthorized() {
170
+ var _this7 = this;
171
+
172
+ return base._asyncToGenerator(function* () {
173
+ try {
174
+ var account = yield _this7.getAccount();
175
+ return !!account;
176
+ } catch (_unused) {
177
+ return false;
178
+ }
179
+ })();
180
+ }
181
+
182
+ }
183
+
184
+ function _switchChain2(_x) {
185
+ return _switchChain3.apply(this, arguments);
186
+ }
187
+
188
+ function _switchChain3() {
189
+ _switchChain3 = base._asyncToGenerator(function* (chainId) {
190
+ var provider = yield this.getProvider();
191
+ var id = utils.hexValue(chainId);
192
+
193
+ try {
194
+ var _chains$find;
195
+
196
+ yield provider.request({
197
+ method: 'wallet_switchEthereumChain',
198
+ params: [{
199
+ chainId: id
200
+ }]
201
+ });
202
+ var chains = [...this.chains, ...base.allChains];
203
+ return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
204
+ id: chainId,
205
+ name: "Chain ".concat(id),
206
+ rpcUrls: []
207
+ };
208
+ } catch (error) {
209
+ var message = typeof error === 'string' ? error : error === null || error === void 0 ? void 0 : error.message;
210
+ if (/user rejected request/i.test(message)) throw new base.UserRejectedRequestError();else throw new base.SwitchChainError();
211
+ }
212
+ });
213
+ return _switchChain3.apply(this, arguments);
214
+ }
215
+
216
+ exports.WalletConnectConnector = WalletConnectConnector;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === "production") {
4
+ module.exports = require("./wagmi-core-connectors-walletConnect.cjs.prod.js");
5
+ } else {
6
+ module.exports = require("./wagmi-core-connectors-walletConnect.cjs.dev.js");
7
+ }
@@ -0,0 +1,216 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var base = require('../../../dist/base-d8123d5f.cjs.prod.js');
6
+ var classPrivateMethodGet = require('../../../dist/classPrivateMethodGet-0e9a7925.cjs.prod.js');
7
+ var ethers = require('ethers');
8
+ var utils = require('ethers/lib/utils');
9
+ require('eventemitter3');
10
+
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n["default"] = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var switchChainAllowedRegex = /(rainbow)/i;
30
+
31
+ var _provider = /*#__PURE__*/new WeakMap();
32
+
33
+ var _switchChain = /*#__PURE__*/new WeakSet();
34
+
35
+ class WalletConnectConnector extends base.Connector {
36
+ constructor(config) {
37
+ super(config);
38
+
39
+ classPrivateMethodGet._classPrivateMethodInitSpec(this, _switchChain);
40
+
41
+ base._defineProperty(this, "id", 'walletConnect');
42
+
43
+ base._defineProperty(this, "name", 'WalletConnect');
44
+
45
+ base._defineProperty(this, "ready", true);
46
+
47
+ base._classPrivateFieldInitSpec(this, _provider, {
48
+ writable: true,
49
+ value: void 0
50
+ });
51
+
52
+ base._defineProperty(this, "onAccountsChanged", accounts => {
53
+ if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
54
+ account: utils.getAddress(accounts[0])
55
+ });
56
+ });
57
+
58
+ base._defineProperty(this, "onChainChanged", chainId => {
59
+ var id = base.normalizeChainId(chainId);
60
+ var unsupported = this.isChainUnsupported(id);
61
+ this.emit('change', {
62
+ chain: {
63
+ id,
64
+ unsupported
65
+ }
66
+ });
67
+ });
68
+
69
+ base._defineProperty(this, "onDisconnect", () => {
70
+ this.emit('disconnect');
71
+ });
72
+ }
73
+
74
+ connect() {
75
+ var _this = this;
76
+
77
+ return base._asyncToGenerator(function* () {
78
+ try {
79
+ var _provider$connector$p, _provider$connector, _provider$connector$p2;
80
+
81
+ var provider = yield _this.getProvider(true);
82
+ provider.on('accountsChanged', _this.onAccountsChanged);
83
+ provider.on('chainChanged', _this.onChainChanged);
84
+ provider.on('disconnect', _this.onDisconnect);
85
+ var accounts = yield provider.enable();
86
+ var account = utils.getAddress(accounts[0]);
87
+ var id = yield _this.getChainId();
88
+
89
+ var unsupported = _this.isChainUnsupported(id); // Not all WalletConnect options support programmatic chain switching
90
+ // Only enable for wallet options that do
91
+
92
+
93
+ var walletName = (_provider$connector$p = (_provider$connector = provider.connector) === null || _provider$connector === void 0 ? void 0 : (_provider$connector$p2 = _provider$connector.peerMeta) === null || _provider$connector$p2 === void 0 ? void 0 : _provider$connector$p2.name) !== null && _provider$connector$p !== void 0 ? _provider$connector$p : '';
94
+ if (switchChainAllowedRegex.test(walletName)) _this.switchChain = classPrivateMethodGet._classPrivateMethodGet(_this, _switchChain, _switchChain2);
95
+ return {
96
+ account,
97
+ chain: {
98
+ id,
99
+ unsupported
100
+ },
101
+ provider: new ethers.providers.Web3Provider(provider)
102
+ };
103
+ } catch (error) {
104
+ if (/user closed modal/i.test(error.message)) throw new base.UserRejectedRequestError();
105
+ throw error;
106
+ }
107
+ })();
108
+ }
109
+
110
+ disconnect() {
111
+ var _this2 = this;
112
+
113
+ return base._asyncToGenerator(function* () {
114
+ var provider = yield _this2.getProvider();
115
+ yield provider.disconnect();
116
+ provider.removeListener('accountsChanged', _this2.onAccountsChanged);
117
+ provider.removeListener('chainChanged', _this2.onChainChanged);
118
+ provider.removeListener('disconnect', _this2.onDisconnect);
119
+ typeof localStorage !== 'undefined' && localStorage.removeItem('walletconnect');
120
+ })();
121
+ }
122
+
123
+ getAccount() {
124
+ var _this3 = this;
125
+
126
+ return base._asyncToGenerator(function* () {
127
+ var provider = yield _this3.getProvider();
128
+ var accounts = provider.accounts; // return checksum address
129
+
130
+ return utils.getAddress(accounts[0]);
131
+ })();
132
+ }
133
+
134
+ getChainId() {
135
+ var _this4 = this;
136
+
137
+ return base._asyncToGenerator(function* () {
138
+ var provider = yield _this4.getProvider();
139
+ var chainId = base.normalizeChainId(provider.chainId);
140
+ return chainId;
141
+ })();
142
+ }
143
+
144
+ getProvider(create) {
145
+ var _this5 = this;
146
+
147
+ return base._asyncToGenerator(function* () {
148
+ if (!base._classPrivateFieldGet(_this5, _provider) || create) {
149
+ var WalletConnectProvider = (yield Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@walletconnect/ethereum-provider')); })).default;
150
+
151
+ base._classPrivateFieldSet(_this5, _provider, new WalletConnectProvider(_this5.options));
152
+ }
153
+
154
+ return base._classPrivateFieldGet(_this5, _provider);
155
+ })();
156
+ }
157
+
158
+ getSigner() {
159
+ var _this6 = this;
160
+
161
+ return base._asyncToGenerator(function* () {
162
+ var provider = _this6.getProvider();
163
+
164
+ var account = yield _this6.getAccount();
165
+ return new ethers.providers.Web3Provider(provider).getSigner(account);
166
+ })();
167
+ }
168
+
169
+ isAuthorized() {
170
+ var _this7 = this;
171
+
172
+ return base._asyncToGenerator(function* () {
173
+ try {
174
+ var account = yield _this7.getAccount();
175
+ return !!account;
176
+ } catch (_unused) {
177
+ return false;
178
+ }
179
+ })();
180
+ }
181
+
182
+ }
183
+
184
+ function _switchChain2(_x) {
185
+ return _switchChain3.apply(this, arguments);
186
+ }
187
+
188
+ function _switchChain3() {
189
+ _switchChain3 = base._asyncToGenerator(function* (chainId) {
190
+ var provider = yield this.getProvider();
191
+ var id = utils.hexValue(chainId);
192
+
193
+ try {
194
+ var _chains$find;
195
+
196
+ yield provider.request({
197
+ method: 'wallet_switchEthereumChain',
198
+ params: [{
199
+ chainId: id
200
+ }]
201
+ });
202
+ var chains = [...this.chains, ...base.allChains];
203
+ return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
204
+ id: chainId,
205
+ name: "Chain ".concat(id),
206
+ rpcUrls: []
207
+ };
208
+ } catch (error) {
209
+ var message = typeof error === 'string' ? error : error === null || error === void 0 ? void 0 : error.message;
210
+ if (/user rejected request/i.test(message)) throw new base.UserRejectedRequestError();else throw new base.SwitchChainError();
211
+ }
212
+ });
213
+ return _switchChain3.apply(this, arguments);
214
+ }
215
+
216
+ exports.WalletConnectConnector = WalletConnectConnector;
@@ -0,0 +1,194 @@
1
+ import { C as Connector, _ as _defineProperty, a as _classPrivateFieldInitSpec, n as normalizeChainId, b as _asyncToGenerator, U as UserRejectedRequestError, e as _classPrivateFieldGet, d as _classPrivateFieldSet, f as allChains, S as SwitchChainError } from '../../../dist/base-824c3b6d.esm.js';
2
+ import { _ as _classPrivateMethodInitSpec, a as _classPrivateMethodGet } from '../../../dist/classPrivateMethodGet-c9db96d6.esm.js';
3
+ import { providers } from 'ethers';
4
+ import { getAddress, hexValue } from 'ethers/lib/utils';
5
+ import 'eventemitter3';
6
+
7
+ var switchChainAllowedRegex = /(rainbow)/i;
8
+
9
+ var _provider = /*#__PURE__*/new WeakMap();
10
+
11
+ var _switchChain = /*#__PURE__*/new WeakSet();
12
+
13
+ class WalletConnectConnector extends Connector {
14
+ constructor(config) {
15
+ super(config);
16
+
17
+ _classPrivateMethodInitSpec(this, _switchChain);
18
+
19
+ _defineProperty(this, "id", 'walletConnect');
20
+
21
+ _defineProperty(this, "name", 'WalletConnect');
22
+
23
+ _defineProperty(this, "ready", true);
24
+
25
+ _classPrivateFieldInitSpec(this, _provider, {
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+
30
+ _defineProperty(this, "onAccountsChanged", accounts => {
31
+ if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
32
+ account: getAddress(accounts[0])
33
+ });
34
+ });
35
+
36
+ _defineProperty(this, "onChainChanged", chainId => {
37
+ var id = normalizeChainId(chainId);
38
+ var unsupported = this.isChainUnsupported(id);
39
+ this.emit('change', {
40
+ chain: {
41
+ id,
42
+ unsupported
43
+ }
44
+ });
45
+ });
46
+
47
+ _defineProperty(this, "onDisconnect", () => {
48
+ this.emit('disconnect');
49
+ });
50
+ }
51
+
52
+ connect() {
53
+ var _this = this;
54
+
55
+ return _asyncToGenerator(function* () {
56
+ try {
57
+ var _provider$connector$p, _provider$connector, _provider$connector$p2;
58
+
59
+ var provider = yield _this.getProvider(true);
60
+ provider.on('accountsChanged', _this.onAccountsChanged);
61
+ provider.on('chainChanged', _this.onChainChanged);
62
+ provider.on('disconnect', _this.onDisconnect);
63
+ var accounts = yield provider.enable();
64
+ var account = getAddress(accounts[0]);
65
+ var id = yield _this.getChainId();
66
+
67
+ var unsupported = _this.isChainUnsupported(id); // Not all WalletConnect options support programmatic chain switching
68
+ // Only enable for wallet options that do
69
+
70
+
71
+ var walletName = (_provider$connector$p = (_provider$connector = provider.connector) === null || _provider$connector === void 0 ? void 0 : (_provider$connector$p2 = _provider$connector.peerMeta) === null || _provider$connector$p2 === void 0 ? void 0 : _provider$connector$p2.name) !== null && _provider$connector$p !== void 0 ? _provider$connector$p : '';
72
+ if (switchChainAllowedRegex.test(walletName)) _this.switchChain = _classPrivateMethodGet(_this, _switchChain, _switchChain2);
73
+ return {
74
+ account,
75
+ chain: {
76
+ id,
77
+ unsupported
78
+ },
79
+ provider: new providers.Web3Provider(provider)
80
+ };
81
+ } catch (error) {
82
+ if (/user closed modal/i.test(error.message)) throw new UserRejectedRequestError();
83
+ throw error;
84
+ }
85
+ })();
86
+ }
87
+
88
+ disconnect() {
89
+ var _this2 = this;
90
+
91
+ return _asyncToGenerator(function* () {
92
+ var provider = yield _this2.getProvider();
93
+ yield provider.disconnect();
94
+ provider.removeListener('accountsChanged', _this2.onAccountsChanged);
95
+ provider.removeListener('chainChanged', _this2.onChainChanged);
96
+ provider.removeListener('disconnect', _this2.onDisconnect);
97
+ typeof localStorage !== 'undefined' && localStorage.removeItem('walletconnect');
98
+ })();
99
+ }
100
+
101
+ getAccount() {
102
+ var _this3 = this;
103
+
104
+ return _asyncToGenerator(function* () {
105
+ var provider = yield _this3.getProvider();
106
+ var accounts = provider.accounts; // return checksum address
107
+
108
+ return getAddress(accounts[0]);
109
+ })();
110
+ }
111
+
112
+ getChainId() {
113
+ var _this4 = this;
114
+
115
+ return _asyncToGenerator(function* () {
116
+ var provider = yield _this4.getProvider();
117
+ var chainId = normalizeChainId(provider.chainId);
118
+ return chainId;
119
+ })();
120
+ }
121
+
122
+ getProvider(create) {
123
+ var _this5 = this;
124
+
125
+ return _asyncToGenerator(function* () {
126
+ if (!_classPrivateFieldGet(_this5, _provider) || create) {
127
+ var WalletConnectProvider = (yield import('@walletconnect/ethereum-provider')).default;
128
+
129
+ _classPrivateFieldSet(_this5, _provider, new WalletConnectProvider(_this5.options));
130
+ }
131
+
132
+ return _classPrivateFieldGet(_this5, _provider);
133
+ })();
134
+ }
135
+
136
+ getSigner() {
137
+ var _this6 = this;
138
+
139
+ return _asyncToGenerator(function* () {
140
+ var provider = _this6.getProvider();
141
+
142
+ var account = yield _this6.getAccount();
143
+ return new providers.Web3Provider(provider).getSigner(account);
144
+ })();
145
+ }
146
+
147
+ isAuthorized() {
148
+ var _this7 = this;
149
+
150
+ return _asyncToGenerator(function* () {
151
+ try {
152
+ var account = yield _this7.getAccount();
153
+ return !!account;
154
+ } catch (_unused) {
155
+ return false;
156
+ }
157
+ })();
158
+ }
159
+
160
+ }
161
+
162
+ function _switchChain2(_x) {
163
+ return _switchChain3.apply(this, arguments);
164
+ }
165
+
166
+ function _switchChain3() {
167
+ _switchChain3 = _asyncToGenerator(function* (chainId) {
168
+ var provider = yield this.getProvider();
169
+ var id = hexValue(chainId);
170
+
171
+ try {
172
+ var _chains$find;
173
+
174
+ yield provider.request({
175
+ method: 'wallet_switchEthereumChain',
176
+ params: [{
177
+ chainId: id
178
+ }]
179
+ });
180
+ var chains = [...this.chains, ...allChains];
181
+ return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
182
+ id: chainId,
183
+ name: "Chain ".concat(id),
184
+ rpcUrls: []
185
+ };
186
+ } catch (error) {
187
+ var message = typeof error === 'string' ? error : error === null || error === void 0 ? void 0 : error.message;
188
+ if (/user rejected request/i.test(message)) throw new UserRejectedRequestError();else throw new SwitchChainError();
189
+ }
190
+ });
191
+ return _switchChain3.apply(this, arguments);
192
+ }
193
+
194
+ export { WalletConnectConnector };
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "dist/wagmi-core-connectors-walletConnect.cjs.js",
3
+ "module": "dist/wagmi-core-connectors-walletConnect.esm.js"
4
+ }