@wagmi/core 0.2.0-next.11 → 0.2.0-next.14
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/LICENSE +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 +1 -1
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +2 -2
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +2 -2
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +2 -2
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +2 -2
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +2 -2
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +2 -2
- package/dist/{base-83fd83c6.cjs.dev.js → base-6bea3346.cjs.dev.js} +0 -1
- package/dist/{base-b052e615.esm.js → base-d3f58b0e.esm.js} +0 -1
- package/dist/{base-9b2942ee.cjs.prod.js → base-fe5aa721.cjs.prod.js} +0 -1
- package/dist/{classPrivateMethodGet-7c370e43.esm.js → classPrivateMethodGet-271594d5.esm.js} +1 -1
- package/dist/{classPrivateMethodGet-45a38143.cjs.dev.js → classPrivateMethodGet-b7229f4d.cjs.dev.js} +1 -1
- package/dist/{classPrivateMethodGet-a1e1a4aa.cjs.prod.js → classPrivateMethodGet-f6a9d8bb.cjs.prod.js} +1 -1
- package/dist/declarations/src/actions/accounts/connect.d.ts +1 -1
- package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +3 -1
- package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +1 -1
- package/dist/declarations/src/actions/accounts/getAccount.d.ts +1 -1
- package/dist/declarations/src/actions/accounts/watchAccount.d.ts +1 -1
- package/dist/declarations/src/actions/contracts/readContract.d.ts +4 -1
- package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +3 -1
- package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +3 -1
- package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +3 -1
- package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +3 -1
- package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +3 -1
- package/dist/declarations/src/actions/index.d.ts +2 -2
- package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +4 -1
- package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +3 -1
- package/dist/declarations/src/actions/network-status/index.d.ts +1 -1
- package/dist/declarations/src/actions/providers/getProvider.d.ts +5 -1
- package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +5 -1
- package/dist/declarations/src/actions/providers/index.d.ts +2 -2
- package/dist/declarations/src/actions/providers/watchProvider.d.ts +1 -1
- package/dist/declarations/src/actions/tokens/fetchToken.d.ts +6 -10
- package/dist/declarations/src/client.d.ts +2 -2
- package/dist/declarations/src/connectors/injected.d.ts +2 -10
- package/dist/declarations/src/constants/rpcs.d.ts +2 -0
- package/dist/declarations/src/index.d.ts +1 -1
- package/dist/declarations/src/types/index.d.ts +8 -6
- package/dist/declarations/src/utils/getInjectedName.d.ts +1 -1
- package/dist/wagmi-core.cjs.dev.js +158 -79
- package/dist/wagmi-core.cjs.prod.js +158 -79
- package/dist/wagmi-core.esm.js +159 -80
- package/package.json +12 -4
- package/dist/declarations/src/constants/keys.d.ts +0 -2
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var classPrivateMethodGet = require('./classPrivateMethodGet-
|
|
6
|
-
var base = require('./base-
|
|
5
|
+
var classPrivateMethodGet = require('./classPrivateMethodGet-b7229f4d.cjs.dev.js');
|
|
6
|
+
var base = require('./base-6bea3346.cjs.dev.js');
|
|
7
7
|
var ethers = require('ethers');
|
|
8
8
|
var create = require('zustand/vanilla');
|
|
9
9
|
var middleware = require('zustand/middleware');
|
|
@@ -23,13 +23,22 @@ const erc721ABI = ['event Approval(address indexed _owner, address indexed _appr
|
|
|
23
23
|
// https://github.com/ethers-io/ethers.js/blob/master/packages/units/src.ts/index.ts#L10-L18
|
|
24
24
|
const units = ['wei', 'kwei', 'mwei', 'gwei', 'szabo', 'finney', 'ether'];
|
|
25
25
|
|
|
26
|
+
const injectedProvidersLookup = {
|
|
27
|
+
isMetaMask: 'MetaMask',
|
|
28
|
+
// Place other options below in alphabetical order
|
|
29
|
+
isBraveWallet: 'Brave Wallet',
|
|
30
|
+
isCoinbaseWallet: 'Coinbase Wallet',
|
|
31
|
+
isFrame: 'Frame',
|
|
32
|
+
isTally: 'Tally'
|
|
33
|
+
};
|
|
34
|
+
const injectedOptions = Object.entries(injectedProvidersLookup);
|
|
26
35
|
function getInjectedName(ethereum) {
|
|
27
36
|
if (!ethereum) return 'Injected';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
37
|
+
|
|
38
|
+
for (const [key, val] of injectedOptions) {
|
|
39
|
+
if (ethereum[key]) return val;
|
|
40
|
+
}
|
|
41
|
+
|
|
33
42
|
return 'Injected';
|
|
34
43
|
}
|
|
35
44
|
|
|
@@ -75,10 +84,10 @@ class InjectedConnector extends base.Connector {
|
|
|
75
84
|
});
|
|
76
85
|
|
|
77
86
|
base._defineProperty(this, "onDisconnect", () => {
|
|
78
|
-
var _this$options,
|
|
87
|
+
var _this$options, _getClient$storage;
|
|
79
88
|
|
|
80
89
|
this.emit('disconnect');
|
|
81
|
-
if ((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.shimDisconnect) (
|
|
90
|
+
if ((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.shimDisconnect) (_getClient$storage = getClient().storage) === null || _getClient$storage === void 0 ? void 0 : _getClient$storage.removeItem(shimKey);
|
|
82
91
|
});
|
|
83
92
|
|
|
84
93
|
let name = 'Injected';
|
|
@@ -88,7 +97,7 @@ class InjectedConnector extends base.Connector {
|
|
|
88
97
|
|
|
89
98
|
async connect() {
|
|
90
99
|
try {
|
|
91
|
-
var _this$options2,
|
|
100
|
+
var _this$options2, _getClient$storage2;
|
|
92
101
|
|
|
93
102
|
const provider = await this.getProvider();
|
|
94
103
|
if (!provider) throw new base.ConnectorNotFoundError();
|
|
@@ -105,7 +114,7 @@ class InjectedConnector extends base.Connector {
|
|
|
105
114
|
const account = await this.getAccount();
|
|
106
115
|
const id = await this.getChainId();
|
|
107
116
|
const unsupported = this.isChainUnsupported(id);
|
|
108
|
-
if ((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.shimDisconnect) (
|
|
117
|
+
if ((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.shimDisconnect) (_getClient$storage2 = getClient().storage) === null || _getClient$storage2 === void 0 ? void 0 : _getClient$storage2.setItem(shimKey, true);
|
|
109
118
|
return {
|
|
110
119
|
account,
|
|
111
120
|
chain: {
|
|
@@ -121,14 +130,14 @@ class InjectedConnector extends base.Connector {
|
|
|
121
130
|
}
|
|
122
131
|
|
|
123
132
|
async disconnect() {
|
|
124
|
-
var _this$options3,
|
|
133
|
+
var _this$options3, _getClient$storage3;
|
|
125
134
|
|
|
126
135
|
const provider = await this.getProvider();
|
|
127
136
|
if (!(provider !== null && provider !== void 0 && provider.removeListener)) return;
|
|
128
137
|
provider.removeListener('accountsChanged', this.onAccountsChanged);
|
|
129
138
|
provider.removeListener('chainChanged', this.onChainChanged);
|
|
130
139
|
provider.removeListener('disconnect', this.onDisconnect);
|
|
131
|
-
if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.shimDisconnect) (
|
|
140
|
+
if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.shimDisconnect) (_getClient$storage3 = getClient().storage) === null || _getClient$storage3 === void 0 ? void 0 : _getClient$storage3.removeItem(shimKey);
|
|
132
141
|
}
|
|
133
142
|
|
|
134
143
|
async getAccount() {
|
|
@@ -161,9 +170,9 @@ class InjectedConnector extends base.Connector {
|
|
|
161
170
|
|
|
162
171
|
async isAuthorized() {
|
|
163
172
|
try {
|
|
164
|
-
var _this$options4,
|
|
173
|
+
var _this$options4, _getClient$storage4;
|
|
165
174
|
|
|
166
|
-
if ((_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.shimDisconnect && !((
|
|
175
|
+
if ((_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.shimDisconnect && !((_getClient$storage4 = getClient().storage) !== null && _getClient$storage4 !== void 0 && _getClient$storage4.getItem(shimKey))) return false;
|
|
167
176
|
const provider = await this.getProvider();
|
|
168
177
|
if (!provider) throw new base.ConnectorNotFoundError();
|
|
169
178
|
const accounts = await provider.request({
|
|
@@ -577,22 +586,50 @@ async function connect(_ref) {
|
|
|
577
586
|
}
|
|
578
587
|
|
|
579
588
|
async function disconnect() {
|
|
589
|
+
const client = getClient();
|
|
580
590
|
if (client.connector) await client.connector.disconnect();
|
|
581
591
|
client.clearState();
|
|
582
592
|
client.storage.removeItem('connected');
|
|
583
593
|
}
|
|
584
594
|
|
|
595
|
+
function getProvider() {
|
|
596
|
+
let {
|
|
597
|
+
chainId
|
|
598
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
599
|
+
const client = getClient();
|
|
600
|
+
if (chainId && typeof client.config.provider === 'function') return client.config.provider({
|
|
601
|
+
chainId
|
|
602
|
+
});
|
|
603
|
+
return client.provider;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
function getWebSocketProvider() {
|
|
607
|
+
let {
|
|
608
|
+
chainId
|
|
609
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
610
|
+
const client = getClient();
|
|
611
|
+
if (chainId && typeof client.config.webSocketProvider === 'function') return client.config.webSocketProvider({
|
|
612
|
+
chainId
|
|
613
|
+
});
|
|
614
|
+
return client.webSocketProvider;
|
|
615
|
+
}
|
|
616
|
+
|
|
585
617
|
async function fetchBalance(_ref) {
|
|
586
618
|
var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
|
|
587
619
|
|
|
588
620
|
let {
|
|
589
621
|
addressOrName,
|
|
622
|
+
chainId,
|
|
590
623
|
formatUnits: unit = 'ether',
|
|
591
624
|
token
|
|
592
625
|
} = _ref;
|
|
626
|
+
const client = getClient();
|
|
627
|
+
const provider = getProvider({
|
|
628
|
+
chainId
|
|
629
|
+
});
|
|
593
630
|
|
|
594
631
|
if (token) {
|
|
595
|
-
const contract = new ethers$1.Contract(token, erc20ABI,
|
|
632
|
+
const contract = new ethers$1.Contract(token, erc20ABI, provider);
|
|
596
633
|
const [value, decimals, symbol] = await Promise.all([contract.balanceOf(addressOrName), contract.decimals(), contract.symbol()]);
|
|
597
634
|
return {
|
|
598
635
|
decimals,
|
|
@@ -604,8 +641,8 @@ async function fetchBalance(_ref) {
|
|
|
604
641
|
}
|
|
605
642
|
|
|
606
643
|
const chains = [...((_client$connector$cha = (_client$connector = client.connector) === null || _client$connector === void 0 ? void 0 : _client$connector.chains) !== null && _client$connector$cha !== void 0 ? _client$connector$cha : []), ...base.allChains];
|
|
607
|
-
const value = await
|
|
608
|
-
const chain = chains.find(x => x.id ===
|
|
644
|
+
const value = await provider.getBalance(addressOrName);
|
|
645
|
+
const chain = chains.find(x => x.id === provider.network.chainId);
|
|
609
646
|
return {
|
|
610
647
|
decimals: (_chain$nativeCurrency = chain === null || chain === void 0 ? void 0 : (_chain$nativeCurrency2 = chain.nativeCurrency) === null || _chain$nativeCurrency2 === void 0 ? void 0 : _chain$nativeCurrency2.decimals) !== null && _chain$nativeCurrency !== void 0 ? _chain$nativeCurrency : 18,
|
|
611
648
|
formatted: utils.formatUnits(value, unit),
|
|
@@ -618,7 +655,8 @@ async function fetchBalance(_ref) {
|
|
|
618
655
|
async function fetchSigner() {
|
|
619
656
|
var _client$connector, _client$connector$get;
|
|
620
657
|
|
|
621
|
-
const
|
|
658
|
+
const client = getClient();
|
|
659
|
+
const signer = (await ((_client$connector = client.connector) === null || _client$connector === void 0 ? void 0 : (_client$connector$get = _client$connector.getSigner) === null || _client$connector$get === void 0 ? void 0 : _client$connector$get.call(_client$connector))) || null;
|
|
622
660
|
return signer;
|
|
623
661
|
}
|
|
624
662
|
|
|
@@ -626,7 +664,7 @@ function getAccount() {
|
|
|
626
664
|
const {
|
|
627
665
|
data,
|
|
628
666
|
connector
|
|
629
|
-
} =
|
|
667
|
+
} = getClient();
|
|
630
668
|
return {
|
|
631
669
|
address: data === null || data === void 0 ? void 0 : data.account,
|
|
632
670
|
connector
|
|
@@ -634,15 +672,11 @@ function getAccount() {
|
|
|
634
672
|
}
|
|
635
673
|
|
|
636
674
|
function getNetwork() {
|
|
637
|
-
var
|
|
675
|
+
var _client$data, _client$data$chain, _client$chains, _find, _client$data2;
|
|
638
676
|
|
|
639
|
-
const
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
} = client;
|
|
643
|
-
const chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
|
|
644
|
-
const unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
|
|
645
|
-
const activeChains = chains !== null && chains !== void 0 ? chains : [];
|
|
677
|
+
const client = getClient();
|
|
678
|
+
const chainId = (_client$data = client.data) === null || _client$data === void 0 ? void 0 : (_client$data$chain = _client$data.chain) === null || _client$data$chain === void 0 ? void 0 : _client$data$chain.id;
|
|
679
|
+
const activeChains = (_client$chains = client.chains) !== null && _client$chains !== void 0 ? _client$chains : [];
|
|
646
680
|
const activeChain = (_find = [...activeChains, ...base.allChains].find(x => x.id === chainId)) !== null && _find !== void 0 ? _find : {
|
|
647
681
|
id: chainId,
|
|
648
682
|
name: "Chain ".concat(chainId),
|
|
@@ -652,8 +686,8 @@ function getNetwork() {
|
|
|
652
686
|
};
|
|
653
687
|
return {
|
|
654
688
|
chain: chainId ? { ...activeChain,
|
|
655
|
-
|
|
656
|
-
|
|
689
|
+
...((_client$data2 = client.data) === null || _client$data2 === void 0 ? void 0 : _client$data2.chain),
|
|
690
|
+
id: chainId
|
|
657
691
|
} : undefined,
|
|
658
692
|
chains: activeChains
|
|
659
693
|
};
|
|
@@ -690,12 +724,15 @@ async function switchNetwork(_ref) {
|
|
|
690
724
|
let {
|
|
691
725
|
chainId
|
|
692
726
|
} = _ref;
|
|
727
|
+
const client = getClient();
|
|
693
728
|
if (!((_client$connector = client.connector) !== null && _client$connector !== void 0 && _client$connector.switchChain)) throw new base.SwitchChainNotSupportedError();
|
|
694
729
|
const chain = await client.connector.switchChain(chainId);
|
|
695
730
|
return chain;
|
|
696
731
|
}
|
|
697
732
|
|
|
698
733
|
function watchAccount(callback) {
|
|
734
|
+
const client = getClient();
|
|
735
|
+
|
|
699
736
|
const handleChange = () => callback(getAccount());
|
|
700
737
|
|
|
701
738
|
const unsubscribe = client.subscribe(_ref => {
|
|
@@ -714,6 +751,8 @@ function watchAccount(callback) {
|
|
|
714
751
|
}
|
|
715
752
|
|
|
716
753
|
function watchBalance(args, callback) {
|
|
754
|
+
const client = getClient();
|
|
755
|
+
|
|
717
756
|
const handleChange = async () => callback(await fetchBalance(args));
|
|
718
757
|
|
|
719
758
|
const unsubscribe = client.subscribe(_ref => {
|
|
@@ -733,6 +772,8 @@ function watchBalance(args, callback) {
|
|
|
733
772
|
}
|
|
734
773
|
|
|
735
774
|
function watchNetwork(callback) {
|
|
775
|
+
const client = getClient();
|
|
776
|
+
|
|
736
777
|
const handleChange = () => callback(getNetwork());
|
|
737
778
|
|
|
738
779
|
const unsubscribe = client.subscribe(_ref => {
|
|
@@ -753,6 +794,8 @@ function watchNetwork(callback) {
|
|
|
753
794
|
}
|
|
754
795
|
|
|
755
796
|
function watchSigner(callback) {
|
|
797
|
+
const client = getClient();
|
|
798
|
+
|
|
756
799
|
const handleChange = async () => callback(await fetchSigner());
|
|
757
800
|
|
|
758
801
|
const unsubscribe = client.subscribe(_ref => {
|
|
@@ -785,17 +828,20 @@ function getContract(_ref) {
|
|
|
785
828
|
async function readContract(contractConfig, functionName) {
|
|
786
829
|
let {
|
|
787
830
|
args,
|
|
831
|
+
chainId,
|
|
788
832
|
overrides
|
|
789
833
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
790
|
-
const {
|
|
791
|
-
|
|
792
|
-
}
|
|
834
|
+
const provider = getProvider({
|
|
835
|
+
chainId
|
|
836
|
+
});
|
|
793
837
|
const contract = getContract({
|
|
794
838
|
signerOrProvider: provider,
|
|
795
839
|
...contractConfig
|
|
796
840
|
});
|
|
797
841
|
const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
|
|
798
|
-
const
|
|
842
|
+
const contractFunction = contract[functionName];
|
|
843
|
+
if (!contractFunction) console.warn("\"".concat(functionName, "\" does not in interface for contract \"").concat(contractConfig.addressOrName, "\""));
|
|
844
|
+
const response = await (contractFunction === null || contractFunction === void 0 ? void 0 : contractFunction(...params));
|
|
799
845
|
return response;
|
|
800
846
|
}
|
|
801
847
|
|
|
@@ -805,6 +851,7 @@ contractArgs,
|
|
|
805
851
|
/** Event name to listen to */
|
|
806
852
|
eventName, callback) {
|
|
807
853
|
let {
|
|
854
|
+
chainId,
|
|
808
855
|
once
|
|
809
856
|
} = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
810
857
|
let contract;
|
|
@@ -817,13 +864,18 @@ eventName, callback) {
|
|
|
817
864
|
}
|
|
818
865
|
|
|
819
866
|
contract = getContract({
|
|
820
|
-
signerOrProvider:
|
|
867
|
+
signerOrProvider: getWebSocketProvider({
|
|
868
|
+
chainId
|
|
869
|
+
}) || getProvider({
|
|
870
|
+
chainId
|
|
871
|
+
}),
|
|
821
872
|
...contractArgs
|
|
822
873
|
});
|
|
823
874
|
if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
|
|
824
875
|
};
|
|
825
876
|
|
|
826
877
|
watchEvent();
|
|
878
|
+
const client = getClient();
|
|
827
879
|
const unsubscribe = client.subscribe(_ref => {
|
|
828
880
|
let {
|
|
829
881
|
provider,
|
|
@@ -845,33 +897,34 @@ eventName, callback) {
|
|
|
845
897
|
}
|
|
846
898
|
|
|
847
899
|
async function fetchBlockNumber() {
|
|
848
|
-
|
|
900
|
+
let {
|
|
901
|
+
chainId
|
|
902
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
903
|
+
const provider = getProvider({
|
|
904
|
+
chainId
|
|
905
|
+
});
|
|
906
|
+
const blockNumber = await provider.getBlockNumber();
|
|
849
907
|
return blockNumber;
|
|
850
908
|
}
|
|
851
909
|
|
|
852
910
|
function watchBlockNumber(args, callback) {
|
|
911
|
+
var _client$webSocketProv;
|
|
912
|
+
|
|
853
913
|
let prevProvider;
|
|
854
914
|
|
|
855
915
|
const createListener = provider => {
|
|
856
|
-
const listener = blockNumber => {
|
|
857
|
-
callback(blockNumber);
|
|
858
|
-
};
|
|
859
|
-
|
|
860
916
|
if (prevProvider) {
|
|
861
917
|
var _prevProvider;
|
|
862
918
|
|
|
863
|
-
(_prevProvider = prevProvider) === null || _prevProvider === void 0 ? void 0 : _prevProvider.off('block',
|
|
919
|
+
(_prevProvider = prevProvider) === null || _prevProvider === void 0 ? void 0 : _prevProvider.off('block', callback);
|
|
864
920
|
}
|
|
865
921
|
|
|
866
|
-
provider.on('block',
|
|
922
|
+
provider.on('block', callback);
|
|
867
923
|
prevProvider = provider;
|
|
868
924
|
};
|
|
869
925
|
|
|
870
|
-
const
|
|
871
|
-
|
|
872
|
-
webSocketProvider
|
|
873
|
-
} = client;
|
|
874
|
-
const provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
|
|
926
|
+
const client = getClient();
|
|
927
|
+
const provider_ = (_client$webSocketProv = client.webSocketProvider) !== null && _client$webSocketProv !== void 0 ? _client$webSocketProv : client.provider;
|
|
875
928
|
if (args.listen) createListener(provider_);
|
|
876
929
|
const unsubscribe = client.subscribe(_ref => {
|
|
877
930
|
let {
|
|
@@ -897,7 +950,10 @@ function watchBlockNumber(args, callback) {
|
|
|
897
950
|
}, {
|
|
898
951
|
equalityFn: (selected, previous) => selected.provider === previous.provider && selected.webSocketProvider === previous.webSocketProvider
|
|
899
952
|
});
|
|
900
|
-
return
|
|
953
|
+
return () => {
|
|
954
|
+
unsubscribe();
|
|
955
|
+
provider_ === null || provider_ === void 0 ? void 0 : provider_.off('block', callback);
|
|
956
|
+
};
|
|
901
957
|
}
|
|
902
958
|
|
|
903
959
|
function watchReadContract(contractConfig, functionName) {
|
|
@@ -905,6 +961,7 @@ function watchReadContract(contractConfig, functionName) {
|
|
|
905
961
|
|
|
906
962
|
let config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
907
963
|
let callback = arguments.length > 3 ? arguments[3] : undefined;
|
|
964
|
+
const client = getClient();
|
|
908
965
|
|
|
909
966
|
const handleChange = async () => callback(await readContract(contractConfig, functionName, config));
|
|
910
967
|
|
|
@@ -928,17 +985,17 @@ async function writeContract(contractConfig, functionName) {
|
|
|
928
985
|
args,
|
|
929
986
|
overrides
|
|
930
987
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
931
|
-
const
|
|
932
|
-
|
|
933
|
-
} = client;
|
|
934
|
-
const contract = getContract(contractConfig);
|
|
935
|
-
if (!connector) throw new base.ConnectorNotFoundError();
|
|
988
|
+
const client = getClient();
|
|
989
|
+
if (!client.connector) throw new base.ConnectorNotFoundError();
|
|
936
990
|
const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
|
|
937
991
|
|
|
938
992
|
try {
|
|
939
|
-
const signer = await connector.getSigner();
|
|
940
|
-
const
|
|
941
|
-
const
|
|
993
|
+
const signer = await client.connector.getSigner();
|
|
994
|
+
const contract = getContract(contractConfig);
|
|
995
|
+
const contractWithSigner = contract.connect(signer);
|
|
996
|
+
const contractFunction = contractWithSigner[functionName];
|
|
997
|
+
if (!contractFunction) console.warn("\"".concat(functionName, "\" does not in interface for contract \"").concat(contractConfig.addressOrName, "\""));
|
|
998
|
+
const response = await contractFunction(...params);
|
|
942
999
|
return response;
|
|
943
1000
|
} catch (error_) {
|
|
944
1001
|
let error = error_;
|
|
@@ -949,9 +1006,13 @@ async function writeContract(contractConfig, functionName) {
|
|
|
949
1006
|
|
|
950
1007
|
async function fetchEnsAddress(_ref) {
|
|
951
1008
|
let {
|
|
1009
|
+
chainId,
|
|
952
1010
|
name
|
|
953
1011
|
} = _ref;
|
|
954
|
-
const
|
|
1012
|
+
const provider = getProvider({
|
|
1013
|
+
chainId
|
|
1014
|
+
});
|
|
1015
|
+
const address = await provider.resolveName(name);
|
|
955
1016
|
|
|
956
1017
|
try {
|
|
957
1018
|
return address ? utils.getAddress(address) : null;
|
|
@@ -962,31 +1023,45 @@ async function fetchEnsAddress(_ref) {
|
|
|
962
1023
|
|
|
963
1024
|
async function fetchEnsAvatar(_ref) {
|
|
964
1025
|
let {
|
|
965
|
-
addressOrName
|
|
1026
|
+
addressOrName,
|
|
1027
|
+
chainId
|
|
966
1028
|
} = _ref;
|
|
967
|
-
|
|
1029
|
+
const provider = getProvider({
|
|
1030
|
+
chainId
|
|
1031
|
+
}); // TODO: Update with more advanced logic
|
|
968
1032
|
// https://github.com/ensdomains/ens-avatar
|
|
969
|
-
|
|
1033
|
+
|
|
1034
|
+
const avatar = await provider.getAvatar(addressOrName);
|
|
970
1035
|
return avatar;
|
|
971
1036
|
}
|
|
972
1037
|
|
|
973
1038
|
async function fetchEnsName(_ref) {
|
|
974
1039
|
let {
|
|
975
|
-
address
|
|
1040
|
+
address,
|
|
1041
|
+
chainId
|
|
976
1042
|
} = _ref;
|
|
977
|
-
const
|
|
1043
|
+
const provider = getProvider({
|
|
1044
|
+
chainId
|
|
1045
|
+
});
|
|
1046
|
+
const ensName = await provider.lookupAddress(address);
|
|
978
1047
|
return ensName;
|
|
979
1048
|
}
|
|
980
1049
|
|
|
981
1050
|
async function fetchEnsResolver(_ref) {
|
|
982
1051
|
let {
|
|
1052
|
+
chainId,
|
|
983
1053
|
name
|
|
984
1054
|
} = _ref;
|
|
985
|
-
const
|
|
1055
|
+
const provider = getProvider({
|
|
1056
|
+
chainId
|
|
1057
|
+
});
|
|
1058
|
+
const resolver = await provider.getResolver(name);
|
|
986
1059
|
return resolver;
|
|
987
1060
|
}
|
|
988
1061
|
|
|
989
1062
|
function watchEnsAddress(args, callback) {
|
|
1063
|
+
const client = getClient();
|
|
1064
|
+
|
|
990
1065
|
const handleChange = async () => callback(await fetchEnsAddress(args));
|
|
991
1066
|
|
|
992
1067
|
const unsubscribe = client.subscribe(_ref => {
|
|
@@ -999,6 +1074,8 @@ function watchEnsAddress(args, callback) {
|
|
|
999
1074
|
}
|
|
1000
1075
|
|
|
1001
1076
|
function watchEnsAvatar(args, callback) {
|
|
1077
|
+
const client = getClient();
|
|
1078
|
+
|
|
1002
1079
|
const handleChange = async () => callback(await fetchEnsAvatar(args));
|
|
1003
1080
|
|
|
1004
1081
|
const unsubscribe = client.subscribe(_ref => {
|
|
@@ -1011,6 +1088,8 @@ function watchEnsAvatar(args, callback) {
|
|
|
1011
1088
|
}
|
|
1012
1089
|
|
|
1013
1090
|
function watchEnsName(args, callback) {
|
|
1091
|
+
const client = getClient();
|
|
1092
|
+
|
|
1014
1093
|
const handleChange = async () => callback(await fetchEnsName(args));
|
|
1015
1094
|
|
|
1016
1095
|
const unsubscribe = client.subscribe(_ref => {
|
|
@@ -1023,6 +1102,8 @@ function watchEnsName(args, callback) {
|
|
|
1023
1102
|
}
|
|
1024
1103
|
|
|
1025
1104
|
function watchEnsResolver(args, callback) {
|
|
1105
|
+
const client = getClient();
|
|
1106
|
+
|
|
1026
1107
|
const handleChange = async () => callback(await fetchEnsResolver(args));
|
|
1027
1108
|
|
|
1028
1109
|
const unsubscribe = client.subscribe(_ref => {
|
|
@@ -1036,9 +1117,13 @@ function watchEnsResolver(args, callback) {
|
|
|
1036
1117
|
|
|
1037
1118
|
async function fetchFeeData() {
|
|
1038
1119
|
let {
|
|
1120
|
+
chainId,
|
|
1039
1121
|
formatUnits: units = 'wei'
|
|
1040
1122
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1041
|
-
const
|
|
1123
|
+
const provider = getProvider({
|
|
1124
|
+
chainId
|
|
1125
|
+
});
|
|
1126
|
+
const feeData = await provider.getFeeData();
|
|
1042
1127
|
const formatted = {
|
|
1043
1128
|
gasPrice: utils.formatUnits(feeData.gasPrice, units),
|
|
1044
1129
|
maxFeePerGas: utils.formatUnits(feeData.maxFeePerGas, units),
|
|
@@ -1050,6 +1135,8 @@ async function fetchFeeData() {
|
|
|
1050
1135
|
}
|
|
1051
1136
|
|
|
1052
1137
|
function watchFeeData(args, callback) {
|
|
1138
|
+
const client = getClient();
|
|
1139
|
+
|
|
1053
1140
|
const handleChange = async () => callback(await fetchFeeData(args));
|
|
1054
1141
|
|
|
1055
1142
|
const unwatch = args.listenToBlock ? watchBlockNumber({
|
|
@@ -1067,23 +1154,15 @@ function watchFeeData(args, callback) {
|
|
|
1067
1154
|
};
|
|
1068
1155
|
}
|
|
1069
1156
|
|
|
1070
|
-
function getProvider() {
|
|
1071
|
-
return getClient().provider;
|
|
1072
|
-
}
|
|
1073
|
-
|
|
1074
|
-
function getWebSocketProvider() {
|
|
1075
|
-
return getClient().webSocketProvider;
|
|
1076
|
-
}
|
|
1077
|
-
|
|
1078
1157
|
async function fetchToken(_ref) {
|
|
1079
1158
|
let {
|
|
1080
1159
|
address,
|
|
1160
|
+
chainId,
|
|
1081
1161
|
formatUnits: units = 'ether'
|
|
1082
1162
|
} = _ref;
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
} = client;
|
|
1163
|
+
const provider = getProvider({
|
|
1164
|
+
chainId
|
|
1165
|
+
});
|
|
1087
1166
|
const contract = new ethers$1.Contract(address, erc20ABI, provider);
|
|
1088
1167
|
const [symbol, decimals, totalSupply] = await Promise.all([contract.symbol(), contract.decimals(), contract.totalSupply()]);
|
|
1089
1168
|
const token = {
|
|
@@ -1099,6 +1178,8 @@ async function fetchToken(_ref) {
|
|
|
1099
1178
|
}
|
|
1100
1179
|
|
|
1101
1180
|
function watchToken(args, callback) {
|
|
1181
|
+
const client = getClient();
|
|
1182
|
+
|
|
1102
1183
|
const handleChange = async () => callback(await fetchToken(args));
|
|
1103
1184
|
|
|
1104
1185
|
const unsubscribe = client.subscribe(_ref => {
|
|
@@ -1124,9 +1205,7 @@ async function sendTransaction(args) {
|
|
|
1124
1205
|
}
|
|
1125
1206
|
|
|
1126
1207
|
async function waitForTransaction(args) {
|
|
1127
|
-
const
|
|
1128
|
-
provider
|
|
1129
|
-
} = client;
|
|
1208
|
+
const provider = getProvider();
|
|
1130
1209
|
let promise; // eslint-disable-next-line testing-library/await-async-utils
|
|
1131
1210
|
|
|
1132
1211
|
if (args.wait) promise = args.wait(args.confirmations);else if (args.hash) promise = provider.waitForTransaction(args.hash, args.confirmations, args.timeout);else throw new Error('hash or wait is required');
|