@wagmi/core 0.2.0-next.3 → 0.2.0-next.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.
@@ -82,6 +82,9 @@ class CoinbaseWalletConnector extends base.Connector {
82
82
  provider.on('accountsChanged', _this.onAccountsChanged);
83
83
  provider.on('chainChanged', _this.onChainChanged);
84
84
  provider.on('disconnect', _this.onDisconnect);
85
+
86
+ _this.emit('connecting');
87
+
85
88
  var accounts = yield provider.enable();
86
89
  var account = utils.getAddress(accounts[0]);
87
90
  var id = yield _this.getChainId();
@@ -82,6 +82,9 @@ class CoinbaseWalletConnector extends base.Connector {
82
82
  provider.on('accountsChanged', _this.onAccountsChanged);
83
83
  provider.on('chainChanged', _this.onChainChanged);
84
84
  provider.on('disconnect', _this.onDisconnect);
85
+
86
+ _this.emit('connecting');
87
+
85
88
  var accounts = yield provider.enable();
86
89
  var account = utils.getAddress(accounts[0]);
87
90
  var id = yield _this.getChainId();
@@ -60,6 +60,9 @@ class CoinbaseWalletConnector extends Connector {
60
60
  provider.on('accountsChanged', _this.onAccountsChanged);
61
61
  provider.on('chainChanged', _this.onChainChanged);
62
62
  provider.on('disconnect', _this.onDisconnect);
63
+
64
+ _this.emit('connecting');
65
+
63
66
  var accounts = yield provider.enable();
64
67
  var account = getAddress(accounts[0]);
65
68
  var id = yield _this.getChainId();
@@ -82,6 +82,7 @@ class WalletConnectConnector extends base.Connector {
82
82
  provider.on('accountsChanged', _this.onAccountsChanged);
83
83
  provider.on('chainChanged', _this.onChainChanged);
84
84
  provider.on('disconnect', _this.onDisconnect);
85
+ setTimeout(() => _this.emit('connecting'), 0);
85
86
  var accounts = yield provider.enable();
86
87
  var account = utils.getAddress(accounts[0]);
87
88
  var id = yield _this.getChainId();
@@ -82,6 +82,7 @@ class WalletConnectConnector extends base.Connector {
82
82
  provider.on('accountsChanged', _this.onAccountsChanged);
83
83
  provider.on('chainChanged', _this.onChainChanged);
84
84
  provider.on('disconnect', _this.onDisconnect);
85
+ setTimeout(() => _this.emit('connecting'), 0);
85
86
  var accounts = yield provider.enable();
86
87
  var account = utils.getAddress(accounts[0]);
87
88
  var id = yield _this.getChainId();
@@ -60,6 +60,7 @@ class WalletConnectConnector extends Connector {
60
60
  provider.on('accountsChanged', _this.onAccountsChanged);
61
61
  provider.on('chainChanged', _this.onChainChanged);
62
62
  provider.on('disconnect', _this.onDisconnect);
63
+ setTimeout(() => _this.emit('connecting'), 0);
63
64
  var accounts = yield provider.enable();
64
65
  var account = getAddress(accounts[0]);
65
66
  var id = yield _this.getChainId();
@@ -31,6 +31,7 @@ export declare type ClientConfig = {
31
31
  };
32
32
  export declare type Data = ConnectorData<BaseProvider>;
33
33
  export declare type State = {
34
+ chains?: Connector['chains'];
34
35
  connector?: Connector;
35
36
  connectors: Connector[];
36
37
  data?: Data;
@@ -54,6 +55,7 @@ export declare class Client {
54
55
  ]
55
56
  ]>;
56
57
  constructor({ autoConnect, connectors, provider, storage, webSocketProvider, }?: ClientConfig);
58
+ get chains(): import("./types").Chain[] | undefined;
57
59
  get connectors(): Connector<any, any>[];
58
60
  get connector(): Connector<any, any> | undefined;
59
61
  get data(): Data | undefined;
@@ -12,6 +12,7 @@ export declare type ConnectorData<Provider = any> = {
12
12
  export interface ConnectorEvents<Provider = any> {
13
13
  change(data: ConnectorData<Provider>): void;
14
14
  connect(data: ConnectorData<Provider>): void;
15
+ connecting(): void;
15
16
  disconnect(): void;
16
17
  error(error: Error): void;
17
18
  }
@@ -358,6 +358,8 @@ class InjectedConnector extends base.Connector {
358
358
  provider.on('disconnect', _this.onDisconnect);
359
359
  }
360
360
 
361
+ _this.emit('connecting');
362
+
361
363
  var account = yield _this.getAccount();
362
364
  var id = yield _this.getChainId();
363
365
 
@@ -658,17 +660,16 @@ class Client {
658
660
  name: 'state',
659
661
  getStorage: () => storage,
660
662
  partialize: state => {
661
- var _state$data, _state$data2, _state$connector;
663
+ var _state$data, _state$data2;
662
664
 
663
- return {
665
+ return _objectSpread2(_objectSpread2({}, this.config.autoConnect && {
664
666
  data: {
665
667
  account: state === null || state === void 0 ? void 0 : (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.account,
666
668
  chain: state === null || state === void 0 ? void 0 : (_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.chain
667
- },
668
- connector: {
669
- chains: (_state$connector = state.connector) === null || _state$connector === void 0 ? void 0 : _state$connector.chains
670
669
  }
671
- };
670
+ }), {}, {
671
+ chains: state === null || state === void 0 ? void 0 : state.chains
672
+ });
672
673
  }
673
674
  })));
674
675
  this.storage = storage;
@@ -678,6 +679,10 @@ class Client {
678
679
  classPrivateMethodGet._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
679
680
  }
680
681
 
682
+ get chains() {
683
+ return this.store.getState().chains;
684
+ }
685
+
681
686
  get connectors() {
682
687
  return this.store.getState().connectors;
683
688
  }
@@ -755,6 +760,7 @@ class Client {
755
760
 
756
761
  _this2.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
757
762
  connector,
763
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
758
764
  data,
759
765
  status: 'connected'
760
766
  }));
@@ -863,6 +869,7 @@ function _connect() {
863
869
  client.setLastUsedConnector(connector.id);
864
870
  client.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
865
871
  connector,
872
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
866
873
  data
867
874
  }));
868
875
  client.storage.setItem('connected', true);
@@ -953,15 +960,15 @@ function getAccount() {
953
960
  }
954
961
 
955
962
  function getNetwork() {
956
- var _data$chain, _data$chain2, _connector$chains, _find;
963
+ var _data$chain, _data$chain2, _find;
957
964
 
958
965
  var {
959
- connector,
966
+ chains,
960
967
  data
961
968
  } = client;
962
969
  var chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
963
970
  var unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
964
- var activeChains = (_connector$chains = connector === null || connector === void 0 ? void 0 : connector.chains) !== null && _connector$chains !== void 0 ? _connector$chains : [];
971
+ var activeChains = chains !== null && chains !== void 0 ? chains : [];
965
972
  var activeChain = (_find = [...activeChains, ...base.allChains].find(x => x.id === chainId)) !== null && _find !== void 0 ? _find : {
966
973
  id: chainId,
967
974
  name: "Chain ".concat(chainId),
@@ -1083,14 +1090,14 @@ function watchNetwork(callback) {
1083
1090
 
1084
1091
  var {
1085
1092
  data,
1086
- connector
1093
+ chains
1087
1094
  } = _ref;
1088
1095
  return {
1089
1096
  chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
1090
- connector
1097
+ chains
1091
1098
  };
1092
1099
  }, handleChange, {
1093
- equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.connector === previous.connector
1100
+ equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.chains === previous.chains
1094
1101
  });
1095
1102
  return unsubscribe;
1096
1103
  }
@@ -358,6 +358,8 @@ class InjectedConnector extends base.Connector {
358
358
  provider.on('disconnect', _this.onDisconnect);
359
359
  }
360
360
 
361
+ _this.emit('connecting');
362
+
361
363
  var account = yield _this.getAccount();
362
364
  var id = yield _this.getChainId();
363
365
 
@@ -658,17 +660,16 @@ class Client {
658
660
  name: 'state',
659
661
  getStorage: () => storage,
660
662
  partialize: state => {
661
- var _state$data, _state$data2, _state$connector;
663
+ var _state$data, _state$data2;
662
664
 
663
- return {
665
+ return _objectSpread2(_objectSpread2({}, this.config.autoConnect && {
664
666
  data: {
665
667
  account: state === null || state === void 0 ? void 0 : (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.account,
666
668
  chain: state === null || state === void 0 ? void 0 : (_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.chain
667
- },
668
- connector: {
669
- chains: (_state$connector = state.connector) === null || _state$connector === void 0 ? void 0 : _state$connector.chains
670
669
  }
671
- };
670
+ }), {}, {
671
+ chains: state === null || state === void 0 ? void 0 : state.chains
672
+ });
672
673
  }
673
674
  })));
674
675
  this.storage = storage;
@@ -678,6 +679,10 @@ class Client {
678
679
  classPrivateMethodGet._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
679
680
  }
680
681
 
682
+ get chains() {
683
+ return this.store.getState().chains;
684
+ }
685
+
681
686
  get connectors() {
682
687
  return this.store.getState().connectors;
683
688
  }
@@ -755,6 +760,7 @@ class Client {
755
760
 
756
761
  _this2.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
757
762
  connector,
763
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
758
764
  data,
759
765
  status: 'connected'
760
766
  }));
@@ -863,6 +869,7 @@ function _connect() {
863
869
  client.setLastUsedConnector(connector.id);
864
870
  client.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
865
871
  connector,
872
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
866
873
  data
867
874
  }));
868
875
  client.storage.setItem('connected', true);
@@ -953,15 +960,15 @@ function getAccount() {
953
960
  }
954
961
 
955
962
  function getNetwork() {
956
- var _data$chain, _data$chain2, _connector$chains, _find;
963
+ var _data$chain, _data$chain2, _find;
957
964
 
958
965
  var {
959
- connector,
966
+ chains,
960
967
  data
961
968
  } = client;
962
969
  var chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
963
970
  var unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
964
- var activeChains = (_connector$chains = connector === null || connector === void 0 ? void 0 : connector.chains) !== null && _connector$chains !== void 0 ? _connector$chains : [];
971
+ var activeChains = chains !== null && chains !== void 0 ? chains : [];
965
972
  var activeChain = (_find = [...activeChains, ...base.allChains].find(x => x.id === chainId)) !== null && _find !== void 0 ? _find : {
966
973
  id: chainId,
967
974
  name: "Chain ".concat(chainId),
@@ -1083,14 +1090,14 @@ function watchNetwork(callback) {
1083
1090
 
1084
1091
  var {
1085
1092
  data,
1086
- connector
1093
+ chains
1087
1094
  } = _ref;
1088
1095
  return {
1089
1096
  chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
1090
- connector
1097
+ chains
1091
1098
  };
1092
1099
  }, handleChange, {
1093
- equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.connector === previous.connector
1100
+ equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.chains === previous.chains
1094
1101
  });
1095
1102
  return unsubscribe;
1096
1103
  }
@@ -351,6 +351,8 @@ class InjectedConnector extends Connector {
351
351
  provider.on('disconnect', _this.onDisconnect);
352
352
  }
353
353
 
354
+ _this.emit('connecting');
355
+
354
356
  var account = yield _this.getAccount();
355
357
  var id = yield _this.getChainId();
356
358
 
@@ -651,17 +653,16 @@ class Client {
651
653
  name: 'state',
652
654
  getStorage: () => storage,
653
655
  partialize: state => {
654
- var _state$data, _state$data2, _state$connector;
656
+ var _state$data, _state$data2;
655
657
 
656
- return {
658
+ return _objectSpread2(_objectSpread2({}, this.config.autoConnect && {
657
659
  data: {
658
660
  account: state === null || state === void 0 ? void 0 : (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.account,
659
661
  chain: state === null || state === void 0 ? void 0 : (_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.chain
660
- },
661
- connector: {
662
- chains: (_state$connector = state.connector) === null || _state$connector === void 0 ? void 0 : _state$connector.chains
663
662
  }
664
- };
663
+ }), {}, {
664
+ chains: state === null || state === void 0 ? void 0 : state.chains
665
+ });
665
666
  }
666
667
  })));
667
668
  this.storage = storage;
@@ -671,6 +672,10 @@ class Client {
671
672
  _classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
672
673
  }
673
674
 
675
+ get chains() {
676
+ return this.store.getState().chains;
677
+ }
678
+
674
679
  get connectors() {
675
680
  return this.store.getState().connectors;
676
681
  }
@@ -748,6 +753,7 @@ class Client {
748
753
 
749
754
  _this2.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
750
755
  connector,
756
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
751
757
  data,
752
758
  status: 'connected'
753
759
  }));
@@ -856,6 +862,7 @@ function _connect() {
856
862
  client.setLastUsedConnector(connector.id);
857
863
  client.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
858
864
  connector,
865
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
859
866
  data
860
867
  }));
861
868
  client.storage.setItem('connected', true);
@@ -946,15 +953,15 @@ function getAccount() {
946
953
  }
947
954
 
948
955
  function getNetwork() {
949
- var _data$chain, _data$chain2, _connector$chains, _find;
956
+ var _data$chain, _data$chain2, _find;
950
957
 
951
958
  var {
952
- connector,
959
+ chains,
953
960
  data
954
961
  } = client;
955
962
  var chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
956
963
  var unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
957
- var activeChains = (_connector$chains = connector === null || connector === void 0 ? void 0 : connector.chains) !== null && _connector$chains !== void 0 ? _connector$chains : [];
964
+ var activeChains = chains !== null && chains !== void 0 ? chains : [];
958
965
  var activeChain = (_find = [...activeChains, ...allChains].find(x => x.id === chainId)) !== null && _find !== void 0 ? _find : {
959
966
  id: chainId,
960
967
  name: "Chain ".concat(chainId),
@@ -1076,14 +1083,14 @@ function watchNetwork(callback) {
1076
1083
 
1077
1084
  var {
1078
1085
  data,
1079
- connector
1086
+ chains
1080
1087
  } = _ref;
1081
1088
  return {
1082
1089
  chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
1083
- connector
1090
+ chains
1084
1091
  };
1085
1092
  }, handleChange, {
1086
- equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.connector === previous.connector
1093
+ equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.chains === previous.chains
1087
1094
  });
1088
1095
  return unsubscribe;
1089
1096
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@wagmi/core",
3
3
  "description": "JavaScript library for Ethereum",
4
4
  "license": "MIT",
5
- "version": "0.2.0-next.3",
5
+ "version": "0.2.0-next.6",
6
6
  "ethereum": "awkweb.eth",
7
7
  "repository": "tmm/wagmi",
8
8
  "sideEffects": false,