@wagmi/core 0.5.5 → 0.5.6
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.esm.js +1 -1
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +1 -1
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +1 -1
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +2 -2
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +1 -1
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +1 -1
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +2 -2
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +1 -1
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +1 -1
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +2 -2
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +1 -1
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +1 -1
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +2 -2
- package/dist/{chains-5ceae8b1.esm.js → chains-a22bcfea.esm.js} +1 -1
- package/dist/declarations/src/client.d.ts +5 -1
- package/dist/declarations/src/errors.d.ts +23 -2
- package/dist/declarations/src/index.d.ts +1 -1
- package/dist/declarations/src/utils/index.d.ts +1 -1
- package/dist/declarations/src/utils/logger.d.ts +1 -0
- package/dist/{getProvider-316a5d3f.cjs.dev.js → getProvider-3a26f086.cjs.dev.js} +58 -16
- package/dist/{getProvider-a6708613.esm.js → getProvider-a3c8cf52.esm.js} +58 -18
- package/dist/{getProvider-51ad330f.cjs.prod.js → getProvider-b220fed1.cjs.prod.js} +58 -16
- package/dist/wagmi-core.cjs.dev.js +99 -32
- package/dist/wagmi-core.cjs.prod.js +99 -32
- package/dist/wagmi-core.esm.js +96 -30
- package/package.json +1 -1
- package/dist/declarations/src/utils/warn.d.ts +0 -1
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var getProvider = require('./getProvider-
|
|
5
|
+
var getProvider = require('./getProvider-3a26f086.cjs.dev.js');
|
|
6
6
|
var ethers = require('ethers');
|
|
7
7
|
var ethers$1 = require('ethers/lib/ethers');
|
|
8
8
|
var utils = require('ethers/lib/utils');
|
|
9
|
+
var chains = require('./chains-4fdb21bc.cjs.dev.js');
|
|
9
10
|
var shallow = require('zustand/shallow');
|
|
10
11
|
var rpcs = require('./rpcs-3326627e.cjs.dev.js');
|
|
11
|
-
var chains = require('./chains-4fdb21bc.cjs.dev.js');
|
|
12
12
|
require('zustand/middleware');
|
|
13
13
|
require('zustand/vanilla');
|
|
14
14
|
require('eventemitter3');
|
|
@@ -176,6 +176,12 @@ function deepEqual(a, b) {
|
|
|
176
176
|
return a !== a && b !== b;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
+
function logWarn(message) {
|
|
180
|
+
var _getClient, _getClient$config$log, _getClient$config$log2;
|
|
181
|
+
|
|
182
|
+
(_getClient = getProvider.getClient()) === null || _getClient === void 0 ? void 0 : (_getClient$config$log = _getClient.config.logger) === null || _getClient$config$log === void 0 ? void 0 : (_getClient$config$log2 = _getClient$config$log.warn) === null || _getClient$config$log2 === void 0 ? void 0 : _getClient$config$log2.call(_getClient$config$log, message);
|
|
183
|
+
}
|
|
184
|
+
|
|
179
185
|
function minimizeContractInterface(_ref) {
|
|
180
186
|
let {
|
|
181
187
|
contractInterface,
|
|
@@ -356,7 +362,7 @@ async function deprecatedWriteContract(_ref) {
|
|
|
356
362
|
});
|
|
357
363
|
const contractWithSigner = contract.connect(signer);
|
|
358
364
|
const contractFunction = contractWithSigner[functionName];
|
|
359
|
-
if (!contractFunction)
|
|
365
|
+
if (!contractFunction) logWarn("\"".concat(functionName, "\" does not exist in interface for contract \"").concat(addressOrName, "\""));
|
|
360
366
|
return await contractFunction(...params);
|
|
361
367
|
} catch (error) {
|
|
362
368
|
if (error.code === 4001) throw new getProvider.UserRejectedRequestError(error);
|
|
@@ -521,7 +527,7 @@ async function readContract(_ref) {
|
|
|
521
527
|
});
|
|
522
528
|
const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
|
|
523
529
|
const contractFunction = contract[functionName];
|
|
524
|
-
if (!contractFunction)
|
|
530
|
+
if (!contractFunction) logWarn("\"".concat(functionName, "\" is not in the interface for contract \"").concat(addressOrName, "\""));
|
|
525
531
|
const response = await (contractFunction === null || contractFunction === void 0 ? void 0 : contractFunction(...params));
|
|
526
532
|
return response;
|
|
527
533
|
}
|
|
@@ -566,13 +572,23 @@ async function multicall(_ref) {
|
|
|
566
572
|
contractInterface
|
|
567
573
|
});
|
|
568
574
|
const params = Array.isArray(args) ? args : args ? [args] : [];
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
575
|
+
|
|
576
|
+
try {
|
|
577
|
+
const callData = contract.interface.encodeFunctionData(functionName, params);
|
|
578
|
+
if (!contract[functionName]) logWarn("\"".concat(functionName, "\" is not in the interface for contract \"").concat(addressOrName, "\""));
|
|
579
|
+
return {
|
|
580
|
+
target: addressOrName,
|
|
581
|
+
allowFailure,
|
|
582
|
+
callData
|
|
583
|
+
};
|
|
584
|
+
} catch (err) {
|
|
585
|
+
if (!allowFailure) throw err;
|
|
586
|
+
return {
|
|
587
|
+
target: addressOrName,
|
|
588
|
+
allowFailure,
|
|
589
|
+
callData: '0x'
|
|
590
|
+
};
|
|
591
|
+
}
|
|
576
592
|
});
|
|
577
593
|
const params = [...[calls], ...(overrides ? [overrides] : [])];
|
|
578
594
|
const results = await multicallContract.aggregate3(...params);
|
|
@@ -581,34 +597,62 @@ async function multicall(_ref) {
|
|
|
581
597
|
returnData,
|
|
582
598
|
success
|
|
583
599
|
} = _ref3;
|
|
584
|
-
if (!success) return null;
|
|
585
600
|
const {
|
|
586
601
|
addressOrName,
|
|
587
602
|
contractInterface,
|
|
588
|
-
functionName
|
|
603
|
+
functionName,
|
|
604
|
+
args
|
|
589
605
|
} = contracts[i];
|
|
606
|
+
const contract = getContract({
|
|
607
|
+
addressOrName,
|
|
608
|
+
contractInterface
|
|
609
|
+
});
|
|
610
|
+
|
|
611
|
+
if (!success) {
|
|
612
|
+
let error;
|
|
613
|
+
|
|
614
|
+
try {
|
|
615
|
+
contract.interface.decodeFunctionResult(functionName, returnData);
|
|
616
|
+
} catch (err) {
|
|
617
|
+
error = new getProvider.ContractMethodRevertedError({
|
|
618
|
+
addressOrName,
|
|
619
|
+
args,
|
|
620
|
+
chainId: chain.id,
|
|
621
|
+
functionName,
|
|
622
|
+
errorMessage: err.message
|
|
623
|
+
});
|
|
624
|
+
if (!allowFailure) throw error;
|
|
625
|
+
logWarn(error.message);
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
return null;
|
|
629
|
+
}
|
|
590
630
|
|
|
591
631
|
if (returnData === '0x') {
|
|
592
|
-
const
|
|
632
|
+
const error = new getProvider.ContractMethodNoResultError({
|
|
593
633
|
addressOrName,
|
|
634
|
+
args,
|
|
594
635
|
chainId: chain.id,
|
|
595
636
|
functionName
|
|
596
637
|
});
|
|
597
|
-
if (!allowFailure) throw
|
|
598
|
-
|
|
638
|
+
if (!allowFailure) throw error;
|
|
639
|
+
logWarn(error.message);
|
|
599
640
|
return null;
|
|
600
641
|
}
|
|
601
642
|
|
|
602
|
-
const contract = getContract({
|
|
603
|
-
addressOrName,
|
|
604
|
-
contractInterface
|
|
605
|
-
});
|
|
606
|
-
|
|
607
643
|
try {
|
|
608
644
|
const result = contract.interface.decodeFunctionResult(functionName, returnData);
|
|
609
645
|
return Array.isArray(result) && result.length === 1 ? result[0] : result;
|
|
610
646
|
} catch (err) {
|
|
611
|
-
|
|
647
|
+
const error = new getProvider.ContractResultDecodeError({
|
|
648
|
+
addressOrName,
|
|
649
|
+
args,
|
|
650
|
+
chainId: chain.id,
|
|
651
|
+
functionName,
|
|
652
|
+
errorMessage: err.message
|
|
653
|
+
});
|
|
654
|
+
if (!allowFailure) throw error;
|
|
655
|
+
logWarn(error.message);
|
|
612
656
|
return null;
|
|
613
657
|
}
|
|
614
658
|
});
|
|
@@ -631,7 +675,8 @@ async function readContracts(_ref) {
|
|
|
631
675
|
[chainId]: [...(contracts[chainId] || []), contract]
|
|
632
676
|
};
|
|
633
677
|
}, {});
|
|
634
|
-
|
|
678
|
+
|
|
679
|
+
const promises = () => Object.entries(contractsByChainId).map(_ref2 => {
|
|
635
680
|
let [chainId, contracts] = _ref2;
|
|
636
681
|
return multicall({
|
|
637
682
|
allowFailure,
|
|
@@ -642,11 +687,11 @@ async function readContracts(_ref) {
|
|
|
642
687
|
});
|
|
643
688
|
|
|
644
689
|
if (allowFailure) {
|
|
645
|
-
return (await Promise.allSettled(promises)).map(result => {
|
|
690
|
+
return (await Promise.allSettled(promises())).map(result => {
|
|
646
691
|
if (result.status === 'fulfilled') return result.value;
|
|
647
692
|
|
|
648
693
|
if (result.reason instanceof getProvider.ChainDoesNotSupportMulticallError) {
|
|
649
|
-
|
|
694
|
+
logWarn(result.reason.message);
|
|
650
695
|
throw result.reason;
|
|
651
696
|
}
|
|
652
697
|
|
|
@@ -654,18 +699,38 @@ async function readContracts(_ref) {
|
|
|
654
699
|
}).flat();
|
|
655
700
|
}
|
|
656
701
|
|
|
657
|
-
return (await Promise.all(promises)).flat();
|
|
702
|
+
return (await Promise.all(promises())).flat();
|
|
658
703
|
} catch (err) {
|
|
704
|
+
if (err instanceof getProvider.ContractResultDecodeError) throw err;
|
|
659
705
|
if (err instanceof getProvider.ContractMethodNoResultError) throw err;
|
|
660
|
-
|
|
706
|
+
if (err instanceof getProvider.ContractMethodRevertedError) throw err;
|
|
707
|
+
|
|
708
|
+
const promises = () => contracts.map(contract => readContract({ ...contract,
|
|
661
709
|
overrides
|
|
662
710
|
}));
|
|
663
711
|
|
|
664
712
|
if (allowFailure) {
|
|
665
|
-
return (await Promise.allSettled(promises)).map(result =>
|
|
713
|
+
return (await Promise.allSettled(promises())).map((result, i) => {
|
|
714
|
+
if (result.status === 'fulfilled') return result.value;
|
|
715
|
+
const {
|
|
716
|
+
addressOrName,
|
|
717
|
+
functionName,
|
|
718
|
+
chainId,
|
|
719
|
+
args
|
|
720
|
+
} = contracts[i];
|
|
721
|
+
const error = new getProvider.ContractMethodRevertedError({
|
|
722
|
+
addressOrName,
|
|
723
|
+
functionName,
|
|
724
|
+
chainId: chainId !== null && chainId !== void 0 ? chainId : chains.mainnet.id,
|
|
725
|
+
args,
|
|
726
|
+
errorMessage: result.reason
|
|
727
|
+
});
|
|
728
|
+
logWarn(error.message);
|
|
729
|
+
return null;
|
|
730
|
+
});
|
|
666
731
|
}
|
|
667
732
|
|
|
668
|
-
return await Promise.all(promises);
|
|
733
|
+
return await Promise.all(promises());
|
|
669
734
|
}
|
|
670
735
|
}
|
|
671
736
|
|
|
@@ -1469,6 +1534,8 @@ exports.ConnectorAlreadyConnectedError = getProvider.ConnectorAlreadyConnectedEr
|
|
|
1469
1534
|
exports.ConnectorNotFoundError = getProvider.ConnectorNotFoundError;
|
|
1470
1535
|
exports.ContractMethodDoesNotExistError = getProvider.ContractMethodDoesNotExistError;
|
|
1471
1536
|
exports.ContractMethodNoResultError = getProvider.ContractMethodNoResultError;
|
|
1537
|
+
exports.ContractMethodRevertedError = getProvider.ContractMethodRevertedError;
|
|
1538
|
+
exports.ContractResultDecodeError = getProvider.ContractResultDecodeError;
|
|
1472
1539
|
exports.InjectedConnector = getProvider.InjectedConnector;
|
|
1473
1540
|
exports.ProviderChainsNotFound = getProvider.ProviderChainsNotFound;
|
|
1474
1541
|
exports.ProviderRpcError = getProvider.ProviderRpcError;
|
|
@@ -1482,15 +1549,15 @@ exports.createStorage = getProvider.createStorage;
|
|
|
1482
1549
|
exports.getProvider = getProvider.getProvider;
|
|
1483
1550
|
exports.noopStorage = getProvider.noopStorage;
|
|
1484
1551
|
exports.normalizeChainId = getProvider.normalizeChainId;
|
|
1485
|
-
exports.alchemyRpcUrls = rpcs.alchemyRpcUrls;
|
|
1486
|
-
exports.infuraRpcUrls = rpcs.infuraRpcUrls;
|
|
1487
|
-
exports.publicRpcUrls = rpcs.publicRpcUrls;
|
|
1488
1552
|
exports.allChains = chains.allChains;
|
|
1489
1553
|
exports.chain = chains.chain;
|
|
1490
1554
|
exports.chainId = chains.chainId;
|
|
1491
1555
|
exports.defaultChains = chains.defaultChains;
|
|
1492
1556
|
exports.defaultL2Chains = chains.defaultL2Chains;
|
|
1493
1557
|
exports.etherscanBlockExplorers = chains.etherscanBlockExplorers;
|
|
1558
|
+
exports.alchemyRpcUrls = rpcs.alchemyRpcUrls;
|
|
1559
|
+
exports.infuraRpcUrls = rpcs.infuraRpcUrls;
|
|
1560
|
+
exports.publicRpcUrls = rpcs.publicRpcUrls;
|
|
1494
1561
|
exports.configureChains = configureChains;
|
|
1495
1562
|
exports.connect = connect;
|
|
1496
1563
|
exports.deepEqual = deepEqual;
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var getProvider = require('./getProvider-
|
|
5
|
+
var getProvider = require('./getProvider-b220fed1.cjs.prod.js');
|
|
6
6
|
var ethers = require('ethers');
|
|
7
7
|
var ethers$1 = require('ethers/lib/ethers');
|
|
8
8
|
var utils = require('ethers/lib/utils');
|
|
9
|
+
var chains = require('./chains-868f0ac6.cjs.prod.js');
|
|
9
10
|
var shallow = require('zustand/shallow');
|
|
10
11
|
var rpcs = require('./rpcs-45537550.cjs.prod.js');
|
|
11
|
-
var chains = require('./chains-868f0ac6.cjs.prod.js');
|
|
12
12
|
require('zustand/middleware');
|
|
13
13
|
require('zustand/vanilla');
|
|
14
14
|
require('eventemitter3');
|
|
@@ -176,6 +176,12 @@ function deepEqual(a, b) {
|
|
|
176
176
|
return a !== a && b !== b;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
+
function logWarn(message) {
|
|
180
|
+
var _getClient, _getClient$config$log, _getClient$config$log2;
|
|
181
|
+
|
|
182
|
+
(_getClient = getProvider.getClient()) === null || _getClient === void 0 ? void 0 : (_getClient$config$log = _getClient.config.logger) === null || _getClient$config$log === void 0 ? void 0 : (_getClient$config$log2 = _getClient$config$log.warn) === null || _getClient$config$log2 === void 0 ? void 0 : _getClient$config$log2.call(_getClient$config$log, message);
|
|
183
|
+
}
|
|
184
|
+
|
|
179
185
|
function minimizeContractInterface(_ref) {
|
|
180
186
|
let {
|
|
181
187
|
contractInterface,
|
|
@@ -356,7 +362,7 @@ async function deprecatedWriteContract(_ref) {
|
|
|
356
362
|
});
|
|
357
363
|
const contractWithSigner = contract.connect(signer);
|
|
358
364
|
const contractFunction = contractWithSigner[functionName];
|
|
359
|
-
if (!contractFunction)
|
|
365
|
+
if (!contractFunction) logWarn("\"".concat(functionName, "\" does not exist in interface for contract \"").concat(addressOrName, "\""));
|
|
360
366
|
return await contractFunction(...params);
|
|
361
367
|
} catch (error) {
|
|
362
368
|
if (error.code === 4001) throw new getProvider.UserRejectedRequestError(error);
|
|
@@ -521,7 +527,7 @@ async function readContract(_ref) {
|
|
|
521
527
|
});
|
|
522
528
|
const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
|
|
523
529
|
const contractFunction = contract[functionName];
|
|
524
|
-
if (!contractFunction)
|
|
530
|
+
if (!contractFunction) logWarn("\"".concat(functionName, "\" is not in the interface for contract \"").concat(addressOrName, "\""));
|
|
525
531
|
const response = await (contractFunction === null || contractFunction === void 0 ? void 0 : contractFunction(...params));
|
|
526
532
|
return response;
|
|
527
533
|
}
|
|
@@ -566,13 +572,23 @@ async function multicall(_ref) {
|
|
|
566
572
|
contractInterface
|
|
567
573
|
});
|
|
568
574
|
const params = Array.isArray(args) ? args : args ? [args] : [];
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
575
|
+
|
|
576
|
+
try {
|
|
577
|
+
const callData = contract.interface.encodeFunctionData(functionName, params);
|
|
578
|
+
if (!contract[functionName]) logWarn("\"".concat(functionName, "\" is not in the interface for contract \"").concat(addressOrName, "\""));
|
|
579
|
+
return {
|
|
580
|
+
target: addressOrName,
|
|
581
|
+
allowFailure,
|
|
582
|
+
callData
|
|
583
|
+
};
|
|
584
|
+
} catch (err) {
|
|
585
|
+
if (!allowFailure) throw err;
|
|
586
|
+
return {
|
|
587
|
+
target: addressOrName,
|
|
588
|
+
allowFailure,
|
|
589
|
+
callData: '0x'
|
|
590
|
+
};
|
|
591
|
+
}
|
|
576
592
|
});
|
|
577
593
|
const params = [...[calls], ...(overrides ? [overrides] : [])];
|
|
578
594
|
const results = await multicallContract.aggregate3(...params);
|
|
@@ -581,34 +597,62 @@ async function multicall(_ref) {
|
|
|
581
597
|
returnData,
|
|
582
598
|
success
|
|
583
599
|
} = _ref3;
|
|
584
|
-
if (!success) return null;
|
|
585
600
|
const {
|
|
586
601
|
addressOrName,
|
|
587
602
|
contractInterface,
|
|
588
|
-
functionName
|
|
603
|
+
functionName,
|
|
604
|
+
args
|
|
589
605
|
} = contracts[i];
|
|
606
|
+
const contract = getContract({
|
|
607
|
+
addressOrName,
|
|
608
|
+
contractInterface
|
|
609
|
+
});
|
|
610
|
+
|
|
611
|
+
if (!success) {
|
|
612
|
+
let error;
|
|
613
|
+
|
|
614
|
+
try {
|
|
615
|
+
contract.interface.decodeFunctionResult(functionName, returnData);
|
|
616
|
+
} catch (err) {
|
|
617
|
+
error = new getProvider.ContractMethodRevertedError({
|
|
618
|
+
addressOrName,
|
|
619
|
+
args,
|
|
620
|
+
chainId: chain.id,
|
|
621
|
+
functionName,
|
|
622
|
+
errorMessage: err.message
|
|
623
|
+
});
|
|
624
|
+
if (!allowFailure) throw error;
|
|
625
|
+
logWarn(error.message);
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
return null;
|
|
629
|
+
}
|
|
590
630
|
|
|
591
631
|
if (returnData === '0x') {
|
|
592
|
-
const
|
|
632
|
+
const error = new getProvider.ContractMethodNoResultError({
|
|
593
633
|
addressOrName,
|
|
634
|
+
args,
|
|
594
635
|
chainId: chain.id,
|
|
595
636
|
functionName
|
|
596
637
|
});
|
|
597
|
-
if (!allowFailure) throw
|
|
598
|
-
|
|
638
|
+
if (!allowFailure) throw error;
|
|
639
|
+
logWarn(error.message);
|
|
599
640
|
return null;
|
|
600
641
|
}
|
|
601
642
|
|
|
602
|
-
const contract = getContract({
|
|
603
|
-
addressOrName,
|
|
604
|
-
contractInterface
|
|
605
|
-
});
|
|
606
|
-
|
|
607
643
|
try {
|
|
608
644
|
const result = contract.interface.decodeFunctionResult(functionName, returnData);
|
|
609
645
|
return Array.isArray(result) && result.length === 1 ? result[0] : result;
|
|
610
646
|
} catch (err) {
|
|
611
|
-
|
|
647
|
+
const error = new getProvider.ContractResultDecodeError({
|
|
648
|
+
addressOrName,
|
|
649
|
+
args,
|
|
650
|
+
chainId: chain.id,
|
|
651
|
+
functionName,
|
|
652
|
+
errorMessage: err.message
|
|
653
|
+
});
|
|
654
|
+
if (!allowFailure) throw error;
|
|
655
|
+
logWarn(error.message);
|
|
612
656
|
return null;
|
|
613
657
|
}
|
|
614
658
|
});
|
|
@@ -631,7 +675,8 @@ async function readContracts(_ref) {
|
|
|
631
675
|
[chainId]: [...(contracts[chainId] || []), contract]
|
|
632
676
|
};
|
|
633
677
|
}, {});
|
|
634
|
-
|
|
678
|
+
|
|
679
|
+
const promises = () => Object.entries(contractsByChainId).map(_ref2 => {
|
|
635
680
|
let [chainId, contracts] = _ref2;
|
|
636
681
|
return multicall({
|
|
637
682
|
allowFailure,
|
|
@@ -642,11 +687,11 @@ async function readContracts(_ref) {
|
|
|
642
687
|
});
|
|
643
688
|
|
|
644
689
|
if (allowFailure) {
|
|
645
|
-
return (await Promise.allSettled(promises)).map(result => {
|
|
690
|
+
return (await Promise.allSettled(promises())).map(result => {
|
|
646
691
|
if (result.status === 'fulfilled') return result.value;
|
|
647
692
|
|
|
648
693
|
if (result.reason instanceof getProvider.ChainDoesNotSupportMulticallError) {
|
|
649
|
-
|
|
694
|
+
logWarn(result.reason.message);
|
|
650
695
|
throw result.reason;
|
|
651
696
|
}
|
|
652
697
|
|
|
@@ -654,18 +699,38 @@ async function readContracts(_ref) {
|
|
|
654
699
|
}).flat();
|
|
655
700
|
}
|
|
656
701
|
|
|
657
|
-
return (await Promise.all(promises)).flat();
|
|
702
|
+
return (await Promise.all(promises())).flat();
|
|
658
703
|
} catch (err) {
|
|
704
|
+
if (err instanceof getProvider.ContractResultDecodeError) throw err;
|
|
659
705
|
if (err instanceof getProvider.ContractMethodNoResultError) throw err;
|
|
660
|
-
|
|
706
|
+
if (err instanceof getProvider.ContractMethodRevertedError) throw err;
|
|
707
|
+
|
|
708
|
+
const promises = () => contracts.map(contract => readContract({ ...contract,
|
|
661
709
|
overrides
|
|
662
710
|
}));
|
|
663
711
|
|
|
664
712
|
if (allowFailure) {
|
|
665
|
-
return (await Promise.allSettled(promises)).map(result =>
|
|
713
|
+
return (await Promise.allSettled(promises())).map((result, i) => {
|
|
714
|
+
if (result.status === 'fulfilled') return result.value;
|
|
715
|
+
const {
|
|
716
|
+
addressOrName,
|
|
717
|
+
functionName,
|
|
718
|
+
chainId,
|
|
719
|
+
args
|
|
720
|
+
} = contracts[i];
|
|
721
|
+
const error = new getProvider.ContractMethodRevertedError({
|
|
722
|
+
addressOrName,
|
|
723
|
+
functionName,
|
|
724
|
+
chainId: chainId !== null && chainId !== void 0 ? chainId : chains.mainnet.id,
|
|
725
|
+
args,
|
|
726
|
+
errorMessage: result.reason
|
|
727
|
+
});
|
|
728
|
+
logWarn(error.message);
|
|
729
|
+
return null;
|
|
730
|
+
});
|
|
666
731
|
}
|
|
667
732
|
|
|
668
|
-
return await Promise.all(promises);
|
|
733
|
+
return await Promise.all(promises());
|
|
669
734
|
}
|
|
670
735
|
}
|
|
671
736
|
|
|
@@ -1469,6 +1534,8 @@ exports.ConnectorAlreadyConnectedError = getProvider.ConnectorAlreadyConnectedEr
|
|
|
1469
1534
|
exports.ConnectorNotFoundError = getProvider.ConnectorNotFoundError;
|
|
1470
1535
|
exports.ContractMethodDoesNotExistError = getProvider.ContractMethodDoesNotExistError;
|
|
1471
1536
|
exports.ContractMethodNoResultError = getProvider.ContractMethodNoResultError;
|
|
1537
|
+
exports.ContractMethodRevertedError = getProvider.ContractMethodRevertedError;
|
|
1538
|
+
exports.ContractResultDecodeError = getProvider.ContractResultDecodeError;
|
|
1472
1539
|
exports.InjectedConnector = getProvider.InjectedConnector;
|
|
1473
1540
|
exports.ProviderChainsNotFound = getProvider.ProviderChainsNotFound;
|
|
1474
1541
|
exports.ProviderRpcError = getProvider.ProviderRpcError;
|
|
@@ -1482,15 +1549,15 @@ exports.createStorage = getProvider.createStorage;
|
|
|
1482
1549
|
exports.getProvider = getProvider.getProvider;
|
|
1483
1550
|
exports.noopStorage = getProvider.noopStorage;
|
|
1484
1551
|
exports.normalizeChainId = getProvider.normalizeChainId;
|
|
1485
|
-
exports.alchemyRpcUrls = rpcs.alchemyRpcUrls;
|
|
1486
|
-
exports.infuraRpcUrls = rpcs.infuraRpcUrls;
|
|
1487
|
-
exports.publicRpcUrls = rpcs.publicRpcUrls;
|
|
1488
1552
|
exports.allChains = chains.allChains;
|
|
1489
1553
|
exports.chain = chains.chain;
|
|
1490
1554
|
exports.chainId = chains.chainId;
|
|
1491
1555
|
exports.defaultChains = chains.defaultChains;
|
|
1492
1556
|
exports.defaultL2Chains = chains.defaultL2Chains;
|
|
1493
1557
|
exports.etherscanBlockExplorers = chains.etherscanBlockExplorers;
|
|
1558
|
+
exports.alchemyRpcUrls = rpcs.alchemyRpcUrls;
|
|
1559
|
+
exports.infuraRpcUrls = rpcs.infuraRpcUrls;
|
|
1560
|
+
exports.publicRpcUrls = rpcs.publicRpcUrls;
|
|
1494
1561
|
exports.configureChains = configureChains;
|
|
1495
1562
|
exports.connect = connect;
|
|
1496
1563
|
exports.deepEqual = deepEqual;
|