@wagmi/core 0.5.5 → 0.5.7
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/dist/wagmi-core-chains.cjs.dev.js +2 -2
- package/chains/dist/wagmi-core-chains.cjs.prod.js +2 -2
- package/chains/dist/wagmi-core-chains.esm.js +2 -2
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +10 -6
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +10 -6
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +10 -6
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +3 -3
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +3 -3
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +3 -3
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +3 -3
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +3 -3
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +3 -3
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +3 -3
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +3 -3
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +3 -3
- package/dist/{chains-868f0ac6.cjs.prod.js → chains-789e0c2e.cjs.prod.js} +2 -1
- package/dist/{chains-5ceae8b1.esm.js → chains-8c76af1b.esm.js} +3 -2
- package/dist/{chains-4fdb21bc.cjs.dev.js → chains-ec1de502.cjs.dev.js} +2 -1
- package/dist/debounce-0862bf88.esm.js +18 -0
- package/dist/debounce-2d836dc9.cjs.prod.js +20 -0
- package/dist/debounce-46ac0312.cjs.dev.js +20 -0
- package/dist/declarations/src/client.d.ts +16 -2
- package/dist/declarations/src/constants/rpcs.d.ts +1 -1
- package/dist/declarations/src/errors.d.ts +23 -2
- package/dist/declarations/src/index.d.ts +1 -1
- package/dist/declarations/src/internal.d.ts +1 -0
- package/dist/declarations/src/utils/debounce.d.ts +1 -0
- package/dist/declarations/src/utils/index.d.ts +2 -1
- package/dist/declarations/src/utils/logger.d.ts +1 -0
- package/dist/{getProvider-316a5d3f.cjs.dev.js → getProvider-1b3eeda8.cjs.dev.js} +117 -35
- package/dist/{getProvider-51ad330f.cjs.prod.js → getProvider-ad4ce6a4.cjs.prod.js} +117 -35
- package/dist/{getProvider-a6708613.esm.js → getProvider-f1dfc7e3.esm.js} +116 -36
- package/dist/{rpcs-6e1b1718.esm.js → rpcs-8d636858.esm.js} +1 -0
- package/dist/{rpcs-3326627e.cjs.dev.js → rpcs-d2cd65f1.cjs.dev.js} +1 -0
- package/dist/{rpcs-45537550.cjs.prod.js → rpcs-edec227e.cjs.prod.js} +1 -0
- package/dist/wagmi-core.cjs.dev.js +112 -37
- package/dist/wagmi-core.cjs.prod.js +112 -37
- package/dist/wagmi-core.esm.js +109 -35
- package/internal/dist/wagmi-core-internal.cjs.d.ts +1 -0
- package/internal/dist/wagmi-core-internal.cjs.dev.js +9 -0
- package/internal/dist/wagmi-core-internal.cjs.js +7 -0
- package/internal/dist/wagmi-core-internal.cjs.prod.js +9 -0
- package/internal/dist/wagmi-core-internal.esm.js +1 -0
- package/internal/package.json +4 -0
- package/package.json +7 -1
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +1 -1
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +1 -1
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +1 -1
- package/providers/coinbaseNode/dist/wagmi-core-providers-coinbaseNode.cjs.d.ts +11 -0
- package/providers/coinbaseNode/dist/wagmi-core-providers-coinbaseNode.cjs.js +16 -0
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +1 -1
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +1 -1
- package/providers/infura/dist/wagmi-core-providers-infura.esm.js +1 -1
- package/dist/declarations/src/utils/warn.d.ts +0 -1
|
@@ -5,7 +5,7 @@ var create = require('zustand/vanilla');
|
|
|
5
5
|
var ethers = require('ethers');
|
|
6
6
|
var utils = require('ethers/lib/utils');
|
|
7
7
|
var EventEmitter = require('eventemitter3');
|
|
8
|
-
var chains = require('./chains-
|
|
8
|
+
var chains = require('./chains-ec1de502.cjs.dev.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
11
11
|
|
|
@@ -239,29 +239,65 @@ class ContractMethodDoesNotExistError extends Error {
|
|
|
239
239
|
}
|
|
240
240
|
class ContractMethodNoResultError extends Error {
|
|
241
241
|
constructor(_ref5) {
|
|
242
|
-
var _chain$blockExplorers2;
|
|
243
|
-
|
|
244
242
|
let {
|
|
245
243
|
addressOrName,
|
|
244
|
+
args,
|
|
246
245
|
chainId,
|
|
247
246
|
functionName
|
|
248
247
|
} = _ref5;
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
} = _ref6;
|
|
257
|
-
return id === (chainId || network.chainId);
|
|
258
|
-
});
|
|
259
|
-
const blockExplorer = chain === null || chain === void 0 ? void 0 : (_chain$blockExplorers2 = chain.blockExplorers) === null || _chain$blockExplorers2 === void 0 ? void 0 : _chain$blockExplorers2.default;
|
|
260
|
-
super(["Function \"".concat(functionName, "\" on contract \"").concat(addressOrName, "\" returned an empty response."), '', "Are you sure the function \"".concat(functionName, "\" exists on this contract?"), ...(blockExplorer ? ['', "".concat(blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.name, ": ").concat(blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.url, "/address/").concat(addressOrName, "#readContract")] : [])].join('\n'));
|
|
248
|
+
super(['Contract read returned an empty response. This could be due to any of the following:', "- The contract does not have the function \"".concat(functionName, "\","), '- The parameters passed to the contract function may be invalid, or', '- The address is not a contract.', '', "Config:", JSON.stringify({
|
|
249
|
+
addressOrName,
|
|
250
|
+
contractInterface: '...',
|
|
251
|
+
functionName,
|
|
252
|
+
chainId,
|
|
253
|
+
args
|
|
254
|
+
}, null, 2)].join('\n'));
|
|
261
255
|
|
|
262
256
|
_defineProperty(this, "name", 'ContractMethodNoResultError');
|
|
263
257
|
}
|
|
264
258
|
|
|
259
|
+
}
|
|
260
|
+
class ContractMethodRevertedError extends Error {
|
|
261
|
+
constructor(_ref6) {
|
|
262
|
+
let {
|
|
263
|
+
addressOrName,
|
|
264
|
+
args,
|
|
265
|
+
chainId,
|
|
266
|
+
functionName,
|
|
267
|
+
errorMessage
|
|
268
|
+
} = _ref6;
|
|
269
|
+
super(['Contract method reverted with an error.', '', "Config:", JSON.stringify({
|
|
270
|
+
addressOrName,
|
|
271
|
+
contractInterface: '...',
|
|
272
|
+
functionName,
|
|
273
|
+
chainId,
|
|
274
|
+
args
|
|
275
|
+
}, null, 2), '', "Details: ".concat(errorMessage)].join('\n'));
|
|
276
|
+
|
|
277
|
+
_defineProperty(this, "name", 'ContractMethodRevertedError');
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
}
|
|
281
|
+
class ContractResultDecodeError extends Error {
|
|
282
|
+
constructor(_ref7) {
|
|
283
|
+
let {
|
|
284
|
+
addressOrName,
|
|
285
|
+
args,
|
|
286
|
+
chainId,
|
|
287
|
+
functionName,
|
|
288
|
+
errorMessage
|
|
289
|
+
} = _ref7;
|
|
290
|
+
super(['Failed to decode contract function result.', '', "Config:", JSON.stringify({
|
|
291
|
+
addressOrName,
|
|
292
|
+
contractInterface: '...',
|
|
293
|
+
functionName,
|
|
294
|
+
chainId,
|
|
295
|
+
args
|
|
296
|
+
}, null, 2), '', "Details: ".concat(errorMessage)].join('\n'));
|
|
297
|
+
|
|
298
|
+
_defineProperty(this, "name", 'ContractResultDecodeError');
|
|
299
|
+
}
|
|
300
|
+
|
|
265
301
|
}
|
|
266
302
|
class ProviderChainsNotFound extends Error {
|
|
267
303
|
constructor() {
|
|
@@ -290,10 +326,10 @@ class SwitchChainError extends ProviderRpcError {
|
|
|
290
326
|
|
|
291
327
|
}
|
|
292
328
|
class SwitchChainNotSupportedError extends Error {
|
|
293
|
-
constructor(
|
|
329
|
+
constructor(_ref8) {
|
|
294
330
|
let {
|
|
295
331
|
connector
|
|
296
|
-
} =
|
|
332
|
+
} = _ref8;
|
|
297
333
|
super("\"".concat(connector.name, "\" does not support programmatic chain switching."));
|
|
298
334
|
|
|
299
335
|
_defineProperty(this, "name", 'SwitchChainNotSupportedError');
|
|
@@ -739,6 +775,9 @@ class Client {
|
|
|
739
775
|
storage = createStorage({
|
|
740
776
|
storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
|
|
741
777
|
}),
|
|
778
|
+
logger = {
|
|
779
|
+
warn: console.warn
|
|
780
|
+
},
|
|
742
781
|
webSocketProvider: _webSocketProvider
|
|
743
782
|
} = _ref;
|
|
744
783
|
|
|
@@ -746,10 +785,14 @@ class Client {
|
|
|
746
785
|
|
|
747
786
|
_defineProperty(this, "config", void 0);
|
|
748
787
|
|
|
788
|
+
_defineProperty(this, "providers", new Map());
|
|
789
|
+
|
|
749
790
|
_defineProperty(this, "storage", void 0);
|
|
750
791
|
|
|
751
792
|
_defineProperty(this, "store", void 0);
|
|
752
793
|
|
|
794
|
+
_defineProperty(this, "webSocketProviders", new Map());
|
|
795
|
+
|
|
753
796
|
_classPrivateFieldInitSpec(this, _isAutoConnecting, {
|
|
754
797
|
writable: true,
|
|
755
798
|
value: void 0
|
|
@@ -760,7 +803,15 @@ class Client {
|
|
|
760
803
|
value: void 0
|
|
761
804
|
});
|
|
762
805
|
|
|
763
|
-
|
|
806
|
+
this.config = {
|
|
807
|
+
autoConnect,
|
|
808
|
+
connectors,
|
|
809
|
+
logger,
|
|
810
|
+
provider: _provider,
|
|
811
|
+
storage,
|
|
812
|
+
webSocketProvider: _webSocketProvider
|
|
813
|
+
}; // Check status for autoConnect flag
|
|
814
|
+
|
|
764
815
|
let status = 'disconnected';
|
|
765
816
|
|
|
766
817
|
let _chainId;
|
|
@@ -780,13 +831,13 @@ class Client {
|
|
|
780
831
|
|
|
781
832
|
this.store = create__default["default"](middleware.subscribeWithSelector(middleware.persist(() => ({
|
|
782
833
|
connectors: typeof connectors === 'function' ? connectors() : connectors,
|
|
783
|
-
provider:
|
|
834
|
+
provider: this.getProvider({
|
|
784
835
|
chainId: _chainId
|
|
785
|
-
})
|
|
836
|
+
}),
|
|
786
837
|
status,
|
|
787
|
-
webSocketProvider:
|
|
838
|
+
webSocketProvider: this.getWebSocketProvider({
|
|
788
839
|
chainId: _chainId
|
|
789
|
-
})
|
|
840
|
+
})
|
|
790
841
|
}), {
|
|
791
842
|
name: storeKey,
|
|
792
843
|
getStorage: () => storage,
|
|
@@ -804,13 +855,6 @@ class Client {
|
|
|
804
855
|
},
|
|
805
856
|
version: 1
|
|
806
857
|
})));
|
|
807
|
-
this.config = {
|
|
808
|
-
autoConnect,
|
|
809
|
-
connectors,
|
|
810
|
-
provider: _provider,
|
|
811
|
-
storage,
|
|
812
|
-
webSocketProvider: _webSocketProvider
|
|
813
|
-
};
|
|
814
858
|
this.storage = storage;
|
|
815
859
|
|
|
816
860
|
_classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
|
|
@@ -929,6 +973,40 @@ class Client {
|
|
|
929
973
|
return this.data;
|
|
930
974
|
}
|
|
931
975
|
|
|
976
|
+
getProvider() {
|
|
977
|
+
let {
|
|
978
|
+
bust,
|
|
979
|
+
chainId
|
|
980
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
981
|
+
let provider_ = this.providers.get(chainId !== null && chainId !== void 0 ? chainId : -1);
|
|
982
|
+
if (provider_ && !bust) return provider_;
|
|
983
|
+
const {
|
|
984
|
+
provider
|
|
985
|
+
} = this.config;
|
|
986
|
+
provider_ = typeof provider === 'function' ? provider({
|
|
987
|
+
chainId
|
|
988
|
+
}) : provider;
|
|
989
|
+
this.providers.set(chainId !== null && chainId !== void 0 ? chainId : -1, provider_);
|
|
990
|
+
return provider_;
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
getWebSocketProvider() {
|
|
994
|
+
let {
|
|
995
|
+
bust,
|
|
996
|
+
chainId
|
|
997
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
998
|
+
let webSocketProvider_ = this.webSocketProviders.get(chainId !== null && chainId !== void 0 ? chainId : -1);
|
|
999
|
+
if (webSocketProvider_ && !bust) return webSocketProvider_;
|
|
1000
|
+
const {
|
|
1001
|
+
webSocketProvider
|
|
1002
|
+
} = this.config;
|
|
1003
|
+
webSocketProvider_ = typeof webSocketProvider === 'function' ? webSocketProvider({
|
|
1004
|
+
chainId
|
|
1005
|
+
}) : webSocketProvider;
|
|
1006
|
+
if (webSocketProvider_) this.webSocketProviders.set(chainId !== null && chainId !== void 0 ? chainId : -1, webSocketProvider_);
|
|
1007
|
+
return webSocketProvider_;
|
|
1008
|
+
}
|
|
1009
|
+
|
|
932
1010
|
setLastUsedConnector() {
|
|
933
1011
|
var _this$storage;
|
|
934
1012
|
|
|
@@ -988,12 +1066,14 @@ function _addEffects2() {
|
|
|
988
1066
|
return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
|
|
989
1067
|
}, chainId => {
|
|
990
1068
|
this.setState(x => ({ ...x,
|
|
991
|
-
provider:
|
|
1069
|
+
provider: this.getProvider({
|
|
1070
|
+
bust: true,
|
|
992
1071
|
chainId
|
|
993
|
-
})
|
|
994
|
-
webSocketProvider:
|
|
1072
|
+
}),
|
|
1073
|
+
webSocketProvider: this.getWebSocketProvider({
|
|
1074
|
+
bust: true,
|
|
995
1075
|
chainId
|
|
996
|
-
})
|
|
1076
|
+
})
|
|
997
1077
|
}));
|
|
998
1078
|
});
|
|
999
1079
|
}
|
|
@@ -1017,9 +1097,9 @@ function getProvider() {
|
|
|
1017
1097
|
chainId
|
|
1018
1098
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1019
1099
|
const client = getClient();
|
|
1020
|
-
if (chainId
|
|
1100
|
+
if (chainId) return client.getProvider({
|
|
1021
1101
|
chainId
|
|
1022
|
-
});
|
|
1102
|
+
}) || client.provider;
|
|
1023
1103
|
return client.provider;
|
|
1024
1104
|
}
|
|
1025
1105
|
|
|
@@ -1033,6 +1113,8 @@ exports.ConnectorAlreadyConnectedError = ConnectorAlreadyConnectedError;
|
|
|
1033
1113
|
exports.ConnectorNotFoundError = ConnectorNotFoundError;
|
|
1034
1114
|
exports.ContractMethodDoesNotExistError = ContractMethodDoesNotExistError;
|
|
1035
1115
|
exports.ContractMethodNoResultError = ContractMethodNoResultError;
|
|
1116
|
+
exports.ContractMethodRevertedError = ContractMethodRevertedError;
|
|
1117
|
+
exports.ContractResultDecodeError = ContractResultDecodeError;
|
|
1036
1118
|
exports.InjectedConnector = InjectedConnector;
|
|
1037
1119
|
exports.ProviderChainsNotFound = ProviderChainsNotFound;
|
|
1038
1120
|
exports.ProviderRpcError = ProviderRpcError;
|
|
@@ -5,7 +5,7 @@ var create = require('zustand/vanilla');
|
|
|
5
5
|
var ethers = require('ethers');
|
|
6
6
|
var utils = require('ethers/lib/utils');
|
|
7
7
|
var EventEmitter = require('eventemitter3');
|
|
8
|
-
var chains = require('./chains-
|
|
8
|
+
var chains = require('./chains-789e0c2e.cjs.prod.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
11
11
|
|
|
@@ -239,29 +239,65 @@ class ContractMethodDoesNotExistError extends Error {
|
|
|
239
239
|
}
|
|
240
240
|
class ContractMethodNoResultError extends Error {
|
|
241
241
|
constructor(_ref5) {
|
|
242
|
-
var _chain$blockExplorers2;
|
|
243
|
-
|
|
244
242
|
let {
|
|
245
243
|
addressOrName,
|
|
244
|
+
args,
|
|
246
245
|
chainId,
|
|
247
246
|
functionName
|
|
248
247
|
} = _ref5;
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
} = _ref6;
|
|
257
|
-
return id === (chainId || network.chainId);
|
|
258
|
-
});
|
|
259
|
-
const blockExplorer = chain === null || chain === void 0 ? void 0 : (_chain$blockExplorers2 = chain.blockExplorers) === null || _chain$blockExplorers2 === void 0 ? void 0 : _chain$blockExplorers2.default;
|
|
260
|
-
super(["Function \"".concat(functionName, "\" on contract \"").concat(addressOrName, "\" returned an empty response."), '', "Are you sure the function \"".concat(functionName, "\" exists on this contract?"), ...(blockExplorer ? ['', "".concat(blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.name, ": ").concat(blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.url, "/address/").concat(addressOrName, "#readContract")] : [])].join('\n'));
|
|
248
|
+
super(['Contract read returned an empty response. This could be due to any of the following:', "- The contract does not have the function \"".concat(functionName, "\","), '- The parameters passed to the contract function may be invalid, or', '- The address is not a contract.', '', "Config:", JSON.stringify({
|
|
249
|
+
addressOrName,
|
|
250
|
+
contractInterface: '...',
|
|
251
|
+
functionName,
|
|
252
|
+
chainId,
|
|
253
|
+
args
|
|
254
|
+
}, null, 2)].join('\n'));
|
|
261
255
|
|
|
262
256
|
_defineProperty(this, "name", 'ContractMethodNoResultError');
|
|
263
257
|
}
|
|
264
258
|
|
|
259
|
+
}
|
|
260
|
+
class ContractMethodRevertedError extends Error {
|
|
261
|
+
constructor(_ref6) {
|
|
262
|
+
let {
|
|
263
|
+
addressOrName,
|
|
264
|
+
args,
|
|
265
|
+
chainId,
|
|
266
|
+
functionName,
|
|
267
|
+
errorMessage
|
|
268
|
+
} = _ref6;
|
|
269
|
+
super(['Contract method reverted with an error.', '', "Config:", JSON.stringify({
|
|
270
|
+
addressOrName,
|
|
271
|
+
contractInterface: '...',
|
|
272
|
+
functionName,
|
|
273
|
+
chainId,
|
|
274
|
+
args
|
|
275
|
+
}, null, 2), '', "Details: ".concat(errorMessage)].join('\n'));
|
|
276
|
+
|
|
277
|
+
_defineProperty(this, "name", 'ContractMethodRevertedError');
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
}
|
|
281
|
+
class ContractResultDecodeError extends Error {
|
|
282
|
+
constructor(_ref7) {
|
|
283
|
+
let {
|
|
284
|
+
addressOrName,
|
|
285
|
+
args,
|
|
286
|
+
chainId,
|
|
287
|
+
functionName,
|
|
288
|
+
errorMessage
|
|
289
|
+
} = _ref7;
|
|
290
|
+
super(['Failed to decode contract function result.', '', "Config:", JSON.stringify({
|
|
291
|
+
addressOrName,
|
|
292
|
+
contractInterface: '...',
|
|
293
|
+
functionName,
|
|
294
|
+
chainId,
|
|
295
|
+
args
|
|
296
|
+
}, null, 2), '', "Details: ".concat(errorMessage)].join('\n'));
|
|
297
|
+
|
|
298
|
+
_defineProperty(this, "name", 'ContractResultDecodeError');
|
|
299
|
+
}
|
|
300
|
+
|
|
265
301
|
}
|
|
266
302
|
class ProviderChainsNotFound extends Error {
|
|
267
303
|
constructor() {
|
|
@@ -290,10 +326,10 @@ class SwitchChainError extends ProviderRpcError {
|
|
|
290
326
|
|
|
291
327
|
}
|
|
292
328
|
class SwitchChainNotSupportedError extends Error {
|
|
293
|
-
constructor(
|
|
329
|
+
constructor(_ref8) {
|
|
294
330
|
let {
|
|
295
331
|
connector
|
|
296
|
-
} =
|
|
332
|
+
} = _ref8;
|
|
297
333
|
super("\"".concat(connector.name, "\" does not support programmatic chain switching."));
|
|
298
334
|
|
|
299
335
|
_defineProperty(this, "name", 'SwitchChainNotSupportedError');
|
|
@@ -739,6 +775,9 @@ class Client {
|
|
|
739
775
|
storage = createStorage({
|
|
740
776
|
storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
|
|
741
777
|
}),
|
|
778
|
+
logger = {
|
|
779
|
+
warn: console.warn
|
|
780
|
+
},
|
|
742
781
|
webSocketProvider: _webSocketProvider
|
|
743
782
|
} = _ref;
|
|
744
783
|
|
|
@@ -746,10 +785,14 @@ class Client {
|
|
|
746
785
|
|
|
747
786
|
_defineProperty(this, "config", void 0);
|
|
748
787
|
|
|
788
|
+
_defineProperty(this, "providers", new Map());
|
|
789
|
+
|
|
749
790
|
_defineProperty(this, "storage", void 0);
|
|
750
791
|
|
|
751
792
|
_defineProperty(this, "store", void 0);
|
|
752
793
|
|
|
794
|
+
_defineProperty(this, "webSocketProviders", new Map());
|
|
795
|
+
|
|
753
796
|
_classPrivateFieldInitSpec(this, _isAutoConnecting, {
|
|
754
797
|
writable: true,
|
|
755
798
|
value: void 0
|
|
@@ -760,7 +803,15 @@ class Client {
|
|
|
760
803
|
value: void 0
|
|
761
804
|
});
|
|
762
805
|
|
|
763
|
-
|
|
806
|
+
this.config = {
|
|
807
|
+
autoConnect,
|
|
808
|
+
connectors,
|
|
809
|
+
logger,
|
|
810
|
+
provider: _provider,
|
|
811
|
+
storage,
|
|
812
|
+
webSocketProvider: _webSocketProvider
|
|
813
|
+
}; // Check status for autoConnect flag
|
|
814
|
+
|
|
764
815
|
let status = 'disconnected';
|
|
765
816
|
|
|
766
817
|
let _chainId;
|
|
@@ -780,13 +831,13 @@ class Client {
|
|
|
780
831
|
|
|
781
832
|
this.store = create__default["default"](middleware.subscribeWithSelector(middleware.persist(() => ({
|
|
782
833
|
connectors: typeof connectors === 'function' ? connectors() : connectors,
|
|
783
|
-
provider:
|
|
834
|
+
provider: this.getProvider({
|
|
784
835
|
chainId: _chainId
|
|
785
|
-
})
|
|
836
|
+
}),
|
|
786
837
|
status,
|
|
787
|
-
webSocketProvider:
|
|
838
|
+
webSocketProvider: this.getWebSocketProvider({
|
|
788
839
|
chainId: _chainId
|
|
789
|
-
})
|
|
840
|
+
})
|
|
790
841
|
}), {
|
|
791
842
|
name: storeKey,
|
|
792
843
|
getStorage: () => storage,
|
|
@@ -804,13 +855,6 @@ class Client {
|
|
|
804
855
|
},
|
|
805
856
|
version: 1
|
|
806
857
|
})));
|
|
807
|
-
this.config = {
|
|
808
|
-
autoConnect,
|
|
809
|
-
connectors,
|
|
810
|
-
provider: _provider,
|
|
811
|
-
storage,
|
|
812
|
-
webSocketProvider: _webSocketProvider
|
|
813
|
-
};
|
|
814
858
|
this.storage = storage;
|
|
815
859
|
|
|
816
860
|
_classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
|
|
@@ -929,6 +973,40 @@ class Client {
|
|
|
929
973
|
return this.data;
|
|
930
974
|
}
|
|
931
975
|
|
|
976
|
+
getProvider() {
|
|
977
|
+
let {
|
|
978
|
+
bust,
|
|
979
|
+
chainId
|
|
980
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
981
|
+
let provider_ = this.providers.get(chainId !== null && chainId !== void 0 ? chainId : -1);
|
|
982
|
+
if (provider_ && !bust) return provider_;
|
|
983
|
+
const {
|
|
984
|
+
provider
|
|
985
|
+
} = this.config;
|
|
986
|
+
provider_ = typeof provider === 'function' ? provider({
|
|
987
|
+
chainId
|
|
988
|
+
}) : provider;
|
|
989
|
+
this.providers.set(chainId !== null && chainId !== void 0 ? chainId : -1, provider_);
|
|
990
|
+
return provider_;
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
getWebSocketProvider() {
|
|
994
|
+
let {
|
|
995
|
+
bust,
|
|
996
|
+
chainId
|
|
997
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
998
|
+
let webSocketProvider_ = this.webSocketProviders.get(chainId !== null && chainId !== void 0 ? chainId : -1);
|
|
999
|
+
if (webSocketProvider_ && !bust) return webSocketProvider_;
|
|
1000
|
+
const {
|
|
1001
|
+
webSocketProvider
|
|
1002
|
+
} = this.config;
|
|
1003
|
+
webSocketProvider_ = typeof webSocketProvider === 'function' ? webSocketProvider({
|
|
1004
|
+
chainId
|
|
1005
|
+
}) : webSocketProvider;
|
|
1006
|
+
if (webSocketProvider_) this.webSocketProviders.set(chainId !== null && chainId !== void 0 ? chainId : -1, webSocketProvider_);
|
|
1007
|
+
return webSocketProvider_;
|
|
1008
|
+
}
|
|
1009
|
+
|
|
932
1010
|
setLastUsedConnector() {
|
|
933
1011
|
var _this$storage;
|
|
934
1012
|
|
|
@@ -988,12 +1066,14 @@ function _addEffects2() {
|
|
|
988
1066
|
return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
|
|
989
1067
|
}, chainId => {
|
|
990
1068
|
this.setState(x => ({ ...x,
|
|
991
|
-
provider:
|
|
1069
|
+
provider: this.getProvider({
|
|
1070
|
+
bust: true,
|
|
992
1071
|
chainId
|
|
993
|
-
})
|
|
994
|
-
webSocketProvider:
|
|
1072
|
+
}),
|
|
1073
|
+
webSocketProvider: this.getWebSocketProvider({
|
|
1074
|
+
bust: true,
|
|
995
1075
|
chainId
|
|
996
|
-
})
|
|
1076
|
+
})
|
|
997
1077
|
}));
|
|
998
1078
|
});
|
|
999
1079
|
}
|
|
@@ -1017,9 +1097,9 @@ function getProvider() {
|
|
|
1017
1097
|
chainId
|
|
1018
1098
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1019
1099
|
const client = getClient();
|
|
1020
|
-
if (chainId
|
|
1100
|
+
if (chainId) return client.getProvider({
|
|
1021
1101
|
chainId
|
|
1022
|
-
});
|
|
1102
|
+
}) || client.provider;
|
|
1023
1103
|
return client.provider;
|
|
1024
1104
|
}
|
|
1025
1105
|
|
|
@@ -1033,6 +1113,8 @@ exports.ConnectorAlreadyConnectedError = ConnectorAlreadyConnectedError;
|
|
|
1033
1113
|
exports.ConnectorNotFoundError = ConnectorNotFoundError;
|
|
1034
1114
|
exports.ContractMethodDoesNotExistError = ContractMethodDoesNotExistError;
|
|
1035
1115
|
exports.ContractMethodNoResultError = ContractMethodNoResultError;
|
|
1116
|
+
exports.ContractMethodRevertedError = ContractMethodRevertedError;
|
|
1117
|
+
exports.ContractResultDecodeError = ContractResultDecodeError;
|
|
1036
1118
|
exports.InjectedConnector = InjectedConnector;
|
|
1037
1119
|
exports.ProviderChainsNotFound = ProviderChainsNotFound;
|
|
1038
1120
|
exports.ProviderRpcError = ProviderRpcError;
|