@wagmi/core 0.2.0-next.6 → 0.2.0-next.9

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