@ethereansos/interfaces-core 0.4.119 → 0.4.122

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/dist/index.cjs.js CHANGED
@@ -23758,46 +23758,107 @@ var URL_REGEXP = new RegExp('(http://www.|https://www.|http://|https://)?[a-z0-9
23758
23758
  var solidityImportRule = new RegExp('import( )+"(\\d+)"( )*;', 'gs');
23759
23759
  var pragmaSolidityRule = new RegExp('pragma( )+solidity( )*(\\^|>)\\d+.\\d+.\\d+;', 'gs');
23760
23760
 
23761
- function sendAsync(provider, method) {
23762
- var params = Array.prototype.slice.call(arguments).slice(2) || [];
23763
- return new Promise( /*#__PURE__*/function () {
23764
- var _ref = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee(ok, ko) {
23765
- return regeneratorRuntime.wrap(function _callee$(_context) {
23766
- while (1) {
23767
- switch (_context.prev = _context.next) {
23768
- case 0:
23769
- _context.prev = 0;
23770
- _context.next = 3;
23771
- return (provider.sendAsync || provider.send).call(provider, {
23772
- jsonrpc: '2.0',
23773
- method: method,
23774
- params: params,
23775
- id: new Date().getTime()
23776
- }, function (error, response) {
23777
- return error || response && response.error ? ko(error || response && response.error) : ok(response && response.result);
23778
- });
23761
+ var instrumentedProviders = {};
23779
23762
 
23780
- case 3:
23781
- _context.next = 8;
23763
+ function sendAsync(_x, _x2) {
23764
+ return _sendAsync.apply(this, arguments);
23765
+ }
23766
+
23767
+ function _sendAsync() {
23768
+ _sendAsync = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(inputProvider, method) {
23769
+ var provider,
23770
+ chainId,
23771
+ _ref,
23772
+ chainProvider,
23773
+ params,
23774
+ _args2 = arguments;
23775
+
23776
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
23777
+ while (1) {
23778
+ switch (_context2.prev = _context2.next) {
23779
+ case 0:
23780
+ provider = inputProvider;
23781
+
23782
+ if (!(method !== 'eth_chainId')) {
23783
+ _context2.next = 12;
23782
23784
  break;
23785
+ }
23783
23786
 
23784
- case 5:
23785
- _context.prev = 5;
23786
- _context.t0 = _context["catch"](0);
23787
- return _context.abrupt("return", ko(_context.t0));
23787
+ _context2.t0 = parseInt;
23788
+ _context2.t1 = provider.chainId;
23788
23789
 
23789
- case 8:
23790
- case "end":
23791
- return _context.stop();
23792
- }
23793
- }
23794
- }, _callee, null, [[0, 5]]);
23795
- }));
23790
+ if (_context2.t1) {
23791
+ _context2.next = 8;
23792
+ break;
23793
+ }
23796
23794
 
23797
- return function (_x, _x2) {
23798
- return _ref.apply(this, arguments);
23799
- };
23800
- }());
23795
+ _context2.next = 7;
23796
+ return sendAsync(provider, 'eth_chainId');
23797
+
23798
+ case 7:
23799
+ _context2.t1 = _context2.sent;
23800
+
23801
+ case 8:
23802
+ _context2.t2 = _context2.t1;
23803
+ chainId = provider.chainId = (0, _context2.t0)(_context2.t2);
23804
+ _ref = sendAsync.context || {
23805
+ chainProvider: {}
23806
+ }, chainProvider = _ref.chainProvider;
23807
+ provider = chainId !== 1 && chainProvider[chainId] ? instrumentedProviders[chainId] = instrumentedProviders[chainId] || new Web3__default["default"].providers.HttpProvider(chainProvider[chainId]) : provider;
23808
+
23809
+ case 12:
23810
+ params = Array.prototype.slice.call(_args2).slice(2) || [];
23811
+ _context2.next = 15;
23812
+ return new Promise( /*#__PURE__*/function () {
23813
+ var _ref2 = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee(ok, ko) {
23814
+ return regeneratorRuntime.wrap(function _callee$(_context) {
23815
+ while (1) {
23816
+ switch (_context.prev = _context.next) {
23817
+ case 0:
23818
+ _context.prev = 0;
23819
+ _context.next = 3;
23820
+ return (provider.request || provider.sendAsync || provider.send).call(provider, {
23821
+ jsonrpc: '2.0',
23822
+ method: method,
23823
+ params: params,
23824
+ id: new Date().getTime()
23825
+ }, function (error, response) {
23826
+ return error || response && response.error ? ko(error || response && response.error) : ok(response && response.result);
23827
+ });
23828
+
23829
+ case 3:
23830
+ _context.next = 8;
23831
+ break;
23832
+
23833
+ case 5:
23834
+ _context.prev = 5;
23835
+ _context.t0 = _context["catch"](0);
23836
+ return _context.abrupt("return", ko(_context.t0));
23837
+
23838
+ case 8:
23839
+ case "end":
23840
+ return _context.stop();
23841
+ }
23842
+ }
23843
+ }, _callee, null, [[0, 5]]);
23844
+ }));
23845
+
23846
+ return function (_x3, _x4) {
23847
+ return _ref2.apply(this, arguments);
23848
+ };
23849
+ }());
23850
+
23851
+ case 15:
23852
+ return _context2.abrupt("return", _context2.sent);
23853
+
23854
+ case 16:
23855
+ case "end":
23856
+ return _context2.stop();
23857
+ }
23858
+ }
23859
+ }, _callee2);
23860
+ }));
23861
+ return _sendAsync.apply(this, arguments);
23801
23862
  }
23802
23863
 
23803
23864
  /**
@@ -48790,6 +48851,7 @@ var useWeb3 = function useWeb3() {
48790
48851
  };
48791
48852
  var Web3ContextProvider = function Web3ContextProvider(props) {
48792
48853
  var context = useEthosContext();
48854
+ sendAsync.context = sendAsync.context || context;
48793
48855
  var connectors = context.useWalletSettings.reduce(function (acc, connector) {
48794
48856
  return _objectSpread2(_objectSpread2({}, acc), _defineProperty({}, connector.id, _objectSpread2(_objectSpread2({}, connector.settings), {}, {
48795
48857
  buttonText: connector.buttonText
@@ -48867,8 +48929,8 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
48867
48929
 
48868
48930
  var _useState23 = React.useState(null),
48869
48931
  _useState24 = _slicedToArray(_useState23, 2),
48870
- dualProvider = _useState24[0],
48871
- setDualProvider = _useState24[1];
48932
+ dualChainWeb3 = _useState24[0],
48933
+ setDualChainWeb3 = _useState24[1];
48872
48934
 
48873
48935
  React.useEffect(function () {
48874
48936
  setIpfsHttpClient(ipfsHttpClient.create(context.ipfsHost));
@@ -48920,14 +48982,14 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
48920
48982
  return _ref2.apply(this, arguments);
48921
48983
  };
48922
48984
  }(), [realBlockInterval]);
48923
- var tryUpdateBlockDual = React.useCallback( /*#__PURE__*/function () {
48924
- var _ref3 = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(provider, oldValue, setter, force) {
48985
+ var tryUpdateDualChainBlock = React.useCallback( /*#__PURE__*/function () {
48986
+ var _ref3 = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(web3, oldValue, setter, force) {
48925
48987
  var currentBlockNumber;
48926
48988
  return regeneratorRuntime.wrap(function _callee2$(_context2) {
48927
48989
  while (1) {
48928
48990
  switch (_context2.prev = _context2.next) {
48929
48991
  case 0:
48930
- if (provider) {
48992
+ if (web3 !== null && web3 !== void 0 && web3.currentProvider) {
48931
48993
  _context2.next = 2;
48932
48994
  break;
48933
48995
  }
@@ -48937,7 +48999,7 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
48937
48999
  case 2:
48938
49000
  _context2.prev = 2;
48939
49001
  _context2.next = 5;
48940
- return sendAsync(provider, 'eth_call', {
49002
+ return sendAsync(web3.currentProvider, 'eth_call', {
48941
49003
  to: '0x4200000000000000000000000000000000000013',
48942
49004
  data: web3Utils__default["default"].sha3('getL1BlockNumber()').substring(0, 10)
48943
49005
  });
@@ -48973,16 +49035,16 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
48973
49035
  var resetBlockInterval = React.useCallback(function () {
48974
49036
  intervalId && clearInterval(intervalId);
48975
49037
  tryUpdateBlock(wallet === null || wallet === void 0 ? void 0 : wallet.ethereum, block, setBlock, true);
48976
- tryUpdateBlockDual(dualProvider && (wallet === null || wallet === void 0 ? void 0 : wallet.ethereum), dualBlock, setDualBlock, true);
49038
+ tryUpdateDualChainBlock(dualChainWeb3 && (wallet === null || wallet === void 0 ? void 0 : wallet.ethereum), dualBlock, setDualBlock, true);
48977
49039
 
48978
- if (wallet && wallet.ethereum || dualProvider) {
49040
+ if (wallet && wallet.ethereum || dualChainWeb3) {
48979
49041
  setIntervalId(setInterval(function () {
48980
49042
  wallet && wallet.ethereum && tryUpdateBlock(wallet.ethereum, block, setBlock);
48981
- dualProvider && wallet && wallet.ethereum && tryUpdateBlockDual(wallet.ethereum, dualBlock, setDualBlock);
49043
+ dualChainWeb3 && wallet && wallet.ethereum && tryUpdateDualChainBlock(wallet.ethereum, dualBlock, setDualBlock);
48982
49044
  }, realBlockIntervalTimeout));
48983
49045
  }
48984
- }, [wallet, dualProvider, realBlockIntervalTimeout, intervalId]);
48985
- React.useEffect(resetBlockInterval, [realBlockInterval, realBlockIntervalTimeout, wallet && wallet.ethereum, dualProvider]);
49046
+ }, [wallet, dualChainWeb3, realBlockIntervalTimeout, intervalId]);
49047
+ React.useEffect(resetBlockInterval, [realBlockInterval, realBlockIntervalTimeout, wallet && wallet.ethereum, dualChainWeb3]);
48986
49048
  React.useEffect(function () {
48987
49049
  setConnectionStatus(wallet && wallet.ethereum ? CONNECTED : connectionStatus === CONNECTING ? CONNECTING : NOT_CONNECTED);
48988
49050
  setWeb3Instance(wallet && wallet.ethereum && (web3Instance || new Web3__default["default"](wallet.ethereum)) || null);
@@ -48994,7 +49056,7 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
48994
49056
  setChainId(actualChainId);
48995
49057
  var actualDualChainId = actualChainId && context.dualChainId[actualChainId] || null;
48996
49058
  setDualChainId(actualDualChainId);
48997
- setDualProvider(actualDualChainId && new Web3__default["default"].providers.HttpProvider(context.chainProvider[actualDualChainId]) || null);
49059
+ setDualChainWeb3(actualDualChainId && new Web3__default["default"](context.chainProvider[actualDualChainId]) || null);
48998
49060
  resetBlockInterval();
48999
49061
  }, [wallet && wallet.chainId]);
49000
49062
 
@@ -49050,6 +49112,11 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
49050
49112
  return globalContracts[index];
49051
49113
  };
49052
49114
 
49115
+ React.useEffect(function () {
49116
+ chainId && web3Instance && web3Instance.currentProvider && !web3Instance.currentProvider.chainId && (web3Instance.currentProvider.chainId = chainId);
49117
+ dualChainId && dualChainWeb3 && dualChainWeb3.currentProvider && !dualChainWeb3.currentProvider.chainId && (dualChainWeb3.currentProvider.chainId = dualChainId);
49118
+ }, [chainId, web3Instance, dualChainId, dualChainWeb3]);
49119
+
49053
49120
  window.setAccount = /*#__PURE__*/function () {
49054
49121
  var _setAccount = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(acc) {
49055
49122
  return regeneratorRuntime.wrap(function _callee3$(_context3) {
@@ -49118,7 +49185,7 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
49118
49185
  newContract: newContract,
49119
49186
  dualChainId: dualChainId,
49120
49187
  dualBlock: dualBlock,
49121
- dualProvider: dualProvider
49188
+ dualChainWeb3: dualChainWeb3
49122
49189
  }), wallet && wallet.error && {
49123
49190
  errorMessage: wallet.error.message
49124
49191
  });