@wagmi/core 0.3.0 → 0.3.3

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 (44) hide show
  1. package/chains/dist/wagmi-core-chains.cjs.d.ts +1 -0
  2. package/chains/dist/wagmi-core-chains.cjs.dev.js +22 -0
  3. package/chains/dist/wagmi-core-chains.cjs.js +7 -0
  4. package/chains/dist/wagmi-core-chains.cjs.prod.js +22 -0
  5. package/chains/dist/wagmi-core-chains.esm.js +2 -0
  6. package/chains/package.json +4 -0
  7. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +4 -14
  8. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +4 -14
  9. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +2 -12
  10. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +11 -5
  11. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +11 -5
  12. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +11 -5
  13. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +4 -3
  14. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +4 -3
  15. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +2 -1
  16. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +4 -3
  17. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +4 -3
  18. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +2 -1
  19. package/dist/base-321ac87a.cjs.dev.js +288 -0
  20. package/dist/base-41fb6637.esm.js +265 -0
  21. package/dist/base-6841ebe0.cjs.prod.js +288 -0
  22. package/dist/chains-0dd661ab.cjs.prod.js +349 -0
  23. package/dist/chains-98e2e613.cjs.dev.js +349 -0
  24. package/dist/chains-a0a80d94.esm.js +329 -0
  25. package/dist/{client-08120ec7.cjs.dev.js → client-4172f963.cjs.dev.js} +30 -31
  26. package/dist/{client-d8d4f4fc.esm.js → client-87c1ff8b.esm.js} +28 -29
  27. package/dist/{client-332f5c43.cjs.prod.js → client-a06c45f3.cjs.prod.js} +30 -31
  28. package/dist/declarations/src/chains.d.ts +1 -0
  29. package/dist/declarations/src/client.d.ts +1 -1
  30. package/dist/declarations/src/connectors/injected.d.ts +1 -1
  31. package/dist/declarations/src/connectors/metaMask.d.ts +1 -1
  32. package/dist/declarations/src/constants/chains.d.ts +33 -2
  33. package/dist/declarations/src/index.d.ts +2 -3
  34. package/dist/declarations/src/types/index.d.ts +11 -4
  35. package/dist/declarations/src/{chains → utils}/configureChains.d.ts +2 -2
  36. package/dist/declarations/src/utils/index.d.ts +2 -0
  37. package/dist/wagmi-core.cjs.dev.js +118 -117
  38. package/dist/wagmi-core.cjs.prod.js +118 -117
  39. package/dist/wagmi-core.esm.js +108 -106
  40. package/package.json +11 -5
  41. package/dist/base-3a506159.cjs.dev.js +0 -602
  42. package/dist/base-997b4fec.esm.js +0 -573
  43. package/dist/base-cb4198f3.cjs.prod.js +0 -602
  44. package/dist/declarations/src/chains/index.d.ts +0 -2
@@ -1,10 +1,12 @@
1
- import { c as client, g as getClient } from './client-d8d4f4fc.esm.js';
2
- export { C as Client, I as InjectedConnector, a as createClient, b as createStorage, n as noopStorage } from './client-d8d4f4fc.esm.js';
3
- import { C as ConnectorAlreadyConnectedError, a as allChains, b as ConnectorNotFoundError, U as UserRejectedRequestError, S as SwitchChainNotSupportedError } from './base-997b4fec.esm.js';
4
- export { A as AddChainError, i as ChainNotConfiguredError, c as Connector, C as ConnectorAlreadyConnectedError, b as ConnectorNotFoundError, P as ProviderRpcError, R as ResourceUnavailableError, j as RpcError, k as SwitchChainError, S as SwitchChainNotSupportedError, U as UserRejectedRequestError, a as allChains, d as chain, e as chainId, f as defaultChains, g as defaultL2Chains, h as etherscanBlockExplorers, n as normalizeChainId } from './base-997b4fec.esm.js';
1
+ import { c as client, g as getClient } from './client-87c1ff8b.esm.js';
2
+ export { C as Client, I as InjectedConnector, a as createClient, b as createStorage, n as noopStorage } from './client-87c1ff8b.esm.js';
3
+ import { C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, U as UserRejectedRequestError, S as SwitchChainNotSupportedError } from './base-41fb6637.esm.js';
4
+ export { A as AddChainError, c as ChainNotConfiguredError, b as Connector, C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, P as ProviderRpcError, R as ResourceUnavailableError, d as RpcError, e as SwitchChainError, S as SwitchChainNotSupportedError, U as UserRejectedRequestError, n as normalizeChainId } from './base-41fb6637.esm.js';
5
5
  import { Contract } from 'ethers/lib/ethers';
6
6
  import { formatUnits, getAddress } from 'ethers/lib/utils';
7
- import { Contract as Contract$1, providers } from 'ethers';
7
+ import { a as allChains } from './chains-a0a80d94.esm.js';
8
+ export { a as allChains, c as chain, b as chainId, d as defaultChains, e as defaultL2Chains, f as etherscanBlockExplorers } from './chains-a0a80d94.esm.js';
9
+ import { providers, Contract as Contract$1 } from 'ethers';
8
10
  export { a as alchemyRpcUrls, i as infuraRpcUrls } from './rpcs-7cfbd91c.esm.js';
9
11
  import 'zustand/vanilla';
10
12
  import 'zustand/middleware';
@@ -18,6 +20,107 @@ const erc721ABI = ['event Approval(address indexed _owner, address indexed _appr
18
20
  // https://github.com/ethers-io/ethers.js/blob/master/packages/units/src.ts/index.ts#L10-L18
19
21
  const units = ['wei', 'kwei', 'mwei', 'gwei', 'szabo', 'finney', 'ether'];
20
22
 
23
+ function configureChains(defaultChains, providers) {
24
+ let {
25
+ minQuorum = 1,
26
+ targetQuorum = 1,
27
+ stallTimeout
28
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
29
+ if (targetQuorum < minQuorum) throw new Error('quorum cannot be lower than minQuorum');
30
+ let chains = [];
31
+ const providers_ = {};
32
+ const webSocketProviders_ = {};
33
+
34
+ for (const chain of defaultChains) {
35
+ let configExists = false;
36
+
37
+ for (const provider of providers) {
38
+ const apiConfig = provider(chain); // If no API configuration was found (ie. no RPC URL) for
39
+ // this provider, then we skip and check the next one.
40
+
41
+ if (!apiConfig) continue;
42
+ configExists = true;
43
+
44
+ if (!chains.some(_ref => {
45
+ let {
46
+ id
47
+ } = _ref;
48
+ return id === chain.id;
49
+ })) {
50
+ chains = [...chains, apiConfig.chain];
51
+ }
52
+
53
+ providers_[chain.id] = [...(providers_[chain.id] || []), apiConfig.provider];
54
+
55
+ if (apiConfig.webSocketProvider) {
56
+ webSocketProviders_[chain.id] = [...(webSocketProviders_[chain.id] || []), apiConfig.webSocketProvider];
57
+ }
58
+ } // If no API configuration was found across the providers
59
+ // then we throw an error to the consumer.
60
+
61
+
62
+ if (!configExists) {
63
+ throw new Error(["Could not find valid provider configuration for chain \"".concat(chain.name, "\".\n"), "You may need to add `jsonRpcProvider` to `configureChains` with the chain's RPC URLs.", 'Read more: https://wagmi.sh/docs/providers/jsonRpc'].join('\n'));
64
+ }
65
+ }
66
+
67
+ return {
68
+ chains,
69
+ provider: _ref2 => {
70
+ let {
71
+ chainId
72
+ } = _ref2;
73
+ const chainProviders = providers_[chainId && chains.some(x => x.id === chainId) ? chainId : defaultChains[0].id];
74
+ if (chainProviders.length === 1) return chainProviders[0]();
75
+ return fallbackProvider(targetQuorum, minQuorum, chainProviders, {
76
+ stallTimeout
77
+ });
78
+ },
79
+ webSocketProvider: _ref3 => {
80
+ let {
81
+ chainId
82
+ } = _ref3;
83
+ const chainWebSocketProviders = webSocketProviders_[chainId && chains.some(x => x.id === chainId) ? chainId : defaultChains[0].id];
84
+ if (!chainWebSocketProviders) return undefined;
85
+ if (chainWebSocketProviders.length === 1) return chainWebSocketProviders[0](); // WebSockets do not work with `fallbackProvider`
86
+ // Default to first available
87
+
88
+ return chainWebSocketProviders[0]();
89
+ }
90
+ };
91
+ }
92
+
93
+ function fallbackProvider(targetQuorum, minQuorum, providers_, _ref4) {
94
+ let {
95
+ stallTimeout
96
+ } = _ref4;
97
+
98
+ try {
99
+ return new providers.FallbackProvider(providers_.map((chainProvider, index) => {
100
+ var _provider$priority, _provider$stallTimeou;
101
+
102
+ const provider = chainProvider();
103
+ return {
104
+ provider,
105
+ priority: (_provider$priority = provider.priority) !== null && _provider$priority !== void 0 ? _provider$priority : index,
106
+ stallTimeout: (_provider$stallTimeou = provider.stallTimeout) !== null && _provider$stallTimeou !== void 0 ? _provider$stallTimeou : stallTimeout,
107
+ weight: provider.weight
108
+ };
109
+ }), targetQuorum);
110
+ } catch (error) {
111
+ var _error$message;
112
+
113
+ if (error !== null && error !== void 0 && (_error$message = error.message) !== null && _error$message !== void 0 && _error$message.includes('quorum will always fail; larger than total weight')) {
114
+ if (targetQuorum === minQuorum) throw error;
115
+ return fallbackProvider(targetQuorum - 1, minQuorum, providers_, {
116
+ stallTimeout
117
+ });
118
+ }
119
+
120
+ throw error;
121
+ }
122
+ }
123
+
21
124
  async function connect(_ref) {
22
125
  let {
23
126
  connector
@@ -587,105 +690,4 @@ async function waitForTransaction(_ref) {
587
690
  return await promise;
588
691
  }
589
692
 
590
- function configureChains(defaultChains, providers) {
591
- let {
592
- minQuorum = 1,
593
- targetQuorum = 1,
594
- stallTimeout
595
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
596
- if (targetQuorum < minQuorum) throw new Error('quorum cannot be lower than minQuorum');
597
- let chains = [];
598
- const providers_ = {};
599
- const webSocketProviders_ = {};
600
-
601
- for (const chain of defaultChains) {
602
- let configExists = false;
603
-
604
- for (const provider of providers) {
605
- const apiConfig = provider(chain); // If no API configuration was found (ie. no RPC URL) for
606
- // this provider, then we skip and check the next one.
607
-
608
- if (!apiConfig) continue;
609
- configExists = true;
610
-
611
- if (!chains.some(_ref => {
612
- let {
613
- id
614
- } = _ref;
615
- return id === chain.id;
616
- })) {
617
- chains = [...chains, apiConfig.chain];
618
- }
619
-
620
- providers_[chain.id] = [...(providers_[chain.id] || []), apiConfig.provider];
621
-
622
- if (apiConfig.webSocketProvider) {
623
- webSocketProviders_[chain.id] = [...(webSocketProviders_[chain.id] || []), apiConfig.webSocketProvider];
624
- }
625
- } // If no API configuration was found across the providers
626
- // then we throw an error to the consumer.
627
-
628
-
629
- if (!configExists) {
630
- throw new Error(["Could not find valid provider configuration for chain \"".concat(chain.name, "\".\n"), "You may need to add `jsonRpcProvider` to `configureChains` with the chain's RPC URLs.", 'Read more: https://wagmi.sh/docs/providers/jsonRpc'].join('\n'));
631
- }
632
- }
633
-
634
- return {
635
- chains,
636
- provider: _ref2 => {
637
- let {
638
- chainId
639
- } = _ref2;
640
- const chainProviders = providers_[chainId && chains.some(x => x.id === chainId) ? chainId : defaultChains[0].id];
641
- if (chainProviders.length === 1) return chainProviders[0]();
642
- return fallbackProvider(targetQuorum, minQuorum, chainProviders, {
643
- stallTimeout
644
- });
645
- },
646
- webSocketProvider: _ref3 => {
647
- let {
648
- chainId
649
- } = _ref3;
650
- const chainWebSocketProviders = webSocketProviders_[chainId && chains.some(x => x.id === chainId) ? chainId : defaultChains[0].id];
651
- if (!chainWebSocketProviders) return undefined;
652
- if (chainWebSocketProviders.length === 1) return chainWebSocketProviders[0](); // WebSockets do not work with `fallbackProvider`
653
- // Default to first available
654
-
655
- return chainWebSocketProviders[0]();
656
- }
657
- };
658
- }
659
-
660
- function fallbackProvider(targetQuorum, minQuorum, providers_, _ref4) {
661
- let {
662
- stallTimeout
663
- } = _ref4;
664
-
665
- try {
666
- return new providers.FallbackProvider(providers_.map((chainProvider, index) => {
667
- var _provider$priority, _provider$stallTimeou;
668
-
669
- const provider = chainProvider();
670
- return {
671
- provider,
672
- priority: (_provider$priority = provider.priority) !== null && _provider$priority !== void 0 ? _provider$priority : index,
673
- stallTimeout: (_provider$stallTimeou = provider.stallTimeout) !== null && _provider$stallTimeou !== void 0 ? _provider$stallTimeou : stallTimeout,
674
- weight: provider.weight
675
- };
676
- }), targetQuorum);
677
- } catch (error) {
678
- var _error$message;
679
-
680
- if (error !== null && error !== void 0 && (_error$message = error.message) !== null && _error$message !== void 0 && _error$message.includes('quorum will always fail; larger than total weight')) {
681
- if (targetQuorum === minQuorum) throw error;
682
- return fallbackProvider(targetQuorum - 1, minQuorum, providers_, {
683
- stallTimeout
684
- });
685
- }
686
-
687
- throw error;
688
- }
689
- }
690
-
691
693
  export { configureChains, connect, disconnect, erc20ABI, erc721ABI, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, getAccount, getContract, getNetwork, getProvider, getWebSocketProvider, readContract, sendTransaction, signMessage, signTypedData, switchNetwork, units, waitForTransaction, watchAccount, watchBlockNumber, watchContractEvent, watchNetwork, watchProvider, watchReadContract, watchSigner, watchWebSocketProvider, writeContract };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@wagmi/core",
3
3
  "description": "Vanilla JS library for Ethereum",
4
4
  "license": "WAGMIT",
5
- "version": "0.3.0",
5
+ "version": "0.3.3",
6
6
  "repository": "tmm/wagmi",
7
7
  "author": "awkweb.eth",
8
8
  "ethereum": "awkweb.eth",
@@ -15,6 +15,10 @@
15
15
  "module": "./dist/wagmi-core.esm.js",
16
16
  "default": "./dist/wagmi-core.cjs.js"
17
17
  },
18
+ "./chains": {
19
+ "module": "./chains/dist/wagmi-core-chains.esm.js",
20
+ "default": "./chains/dist/wagmi-core-chains.cjs.js"
21
+ },
18
22
  "./connectors/coinbaseWallet": {
19
23
  "module": "./connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js",
20
24
  "default": "./connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.js"
@@ -35,10 +39,6 @@
35
39
  "module": "./providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js",
36
40
  "default": "./providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.js"
37
41
  },
38
- "./providers/public": {
39
- "module": "./providers/public/dist/wagmi-core-providers-public.esm.js",
40
- "default": "./providers/public/dist/wagmi-core-providers-public.cjs.js"
41
- },
42
42
  "./providers/infura": {
43
43
  "module": "./providers/infura/dist/wagmi-core-providers-infura.esm.js",
44
44
  "default": "./providers/infura/dist/wagmi-core-providers-infura.cjs.js"
@@ -46,9 +46,14 @@
46
46
  "./providers/jsonRpc": {
47
47
  "module": "./providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js",
48
48
  "default": "./providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.js"
49
+ },
50
+ "./providers/public": {
51
+ "module": "./providers/public/dist/wagmi-core-providers-public.esm.js",
52
+ "default": "./providers/public/dist/wagmi-core-providers-public.cjs.js"
49
53
  }
50
54
  },
51
55
  "files": [
56
+ "/chains",
52
57
  "/connectors",
53
58
  "/providers",
54
59
  "/dist"
@@ -56,6 +61,7 @@
56
61
  "preconstruct": {
57
62
  "entrypoints": [
58
63
  "index.ts",
64
+ "chains.ts",
59
65
  "connectors/coinbaseWallet.ts",
60
66
  "connectors/metaMask.ts",
61
67
  "connectors/walletConnect.ts",