@ethereansos/interfaces-core 0.4.118 → 0.4.121

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.esm.js CHANGED
@@ -23746,46 +23746,107 @@ var URL_REGEXP = new RegExp('(http://www.|https://www.|http://|https://)?[a-z0-9
23746
23746
  var solidityImportRule = new RegExp('import( )+"(\\d+)"( )*;', 'gs');
23747
23747
  var pragmaSolidityRule = new RegExp('pragma( )+solidity( )*(\\^|>)\\d+.\\d+.\\d+;', 'gs');
23748
23748
 
23749
- function sendAsync(provider, method) {
23750
- var params = Array.prototype.slice.call(arguments).slice(2) || [];
23751
- return new Promise( /*#__PURE__*/function () {
23752
- var _ref = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee(ok, ko) {
23753
- return regeneratorRuntime.wrap(function _callee$(_context) {
23754
- while (1) {
23755
- switch (_context.prev = _context.next) {
23756
- case 0:
23757
- _context.prev = 0;
23758
- _context.next = 3;
23759
- return (provider.sendAsync || provider.send).call(provider, {
23760
- jsonrpc: '2.0',
23761
- method: method,
23762
- params: params,
23763
- id: new Date().getTime()
23764
- }, function (error, response) {
23765
- return error || response && response.error ? ko(error || response && response.error) : ok(response && response.result);
23766
- });
23749
+ var instrumentedProviders = {};
23767
23750
 
23768
- case 3:
23769
- _context.next = 8;
23751
+ function sendAsync(_x, _x2) {
23752
+ return _sendAsync.apply(this, arguments);
23753
+ }
23754
+
23755
+ function _sendAsync() {
23756
+ _sendAsync = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(inputProvider, method) {
23757
+ var provider,
23758
+ chainId,
23759
+ _ref,
23760
+ chainProvider,
23761
+ params,
23762
+ _args2 = arguments;
23763
+
23764
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
23765
+ while (1) {
23766
+ switch (_context2.prev = _context2.next) {
23767
+ case 0:
23768
+ provider = inputProvider;
23769
+
23770
+ if (!(method !== 'eth_chainId')) {
23771
+ _context2.next = 12;
23770
23772
  break;
23773
+ }
23771
23774
 
23772
- case 5:
23773
- _context.prev = 5;
23774
- _context.t0 = _context["catch"](0);
23775
- return _context.abrupt("return", ko(_context.t0));
23775
+ _context2.t0 = provider.chainId;
23776
23776
 
23777
- case 8:
23778
- case "end":
23779
- return _context.stop();
23780
- }
23781
- }
23782
- }, _callee, null, [[0, 5]]);
23783
- }));
23777
+ if (_context2.t0) {
23778
+ _context2.next = 9;
23779
+ break;
23780
+ }
23784
23781
 
23785
- return function (_x, _x2) {
23786
- return _ref.apply(this, arguments);
23787
- };
23788
- }());
23782
+ _context2.t1 = parseInt;
23783
+ _context2.next = 7;
23784
+ return sendAsync(provider, 'eth_chainId');
23785
+
23786
+ case 7:
23787
+ _context2.t2 = _context2.sent;
23788
+ _context2.t0 = (0, _context2.t1)(_context2.t2);
23789
+
23790
+ case 9:
23791
+ chainId = provider.chainId = _context2.t0;
23792
+ _ref = sendAsync.context || {
23793
+ chainProvider: {}
23794
+ }, chainProvider = _ref.chainProvider;
23795
+ provider = chainProvider[chainId] ? instrumentedProviders[chainId] = instrumentedProviders[chainId] || new Web3.providers.HttpProvider(chainProvider[chainId]) : provider;
23796
+
23797
+ case 12:
23798
+ params = Array.prototype.slice.call(_args2).slice(2) || [];
23799
+ _context2.next = 15;
23800
+ return new Promise( /*#__PURE__*/function () {
23801
+ var _ref2 = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee(ok, ko) {
23802
+ return regeneratorRuntime.wrap(function _callee$(_context) {
23803
+ while (1) {
23804
+ switch (_context.prev = _context.next) {
23805
+ case 0:
23806
+ _context.prev = 0;
23807
+ _context.next = 3;
23808
+ return (provider.request || provider.sendAsync || provider.send).call(provider, {
23809
+ jsonrpc: '2.0',
23810
+ method: method,
23811
+ params: params,
23812
+ id: new Date().getTime()
23813
+ }, function (error, response) {
23814
+ return error || response && response.error ? ko(error || response && response.error) : ok(response && response.result);
23815
+ });
23816
+
23817
+ case 3:
23818
+ _context.next = 8;
23819
+ break;
23820
+
23821
+ case 5:
23822
+ _context.prev = 5;
23823
+ _context.t0 = _context["catch"](0);
23824
+ return _context.abrupt("return", ko(_context.t0));
23825
+
23826
+ case 8:
23827
+ case "end":
23828
+ return _context.stop();
23829
+ }
23830
+ }
23831
+ }, _callee, null, [[0, 5]]);
23832
+ }));
23833
+
23834
+ return function (_x3, _x4) {
23835
+ return _ref2.apply(this, arguments);
23836
+ };
23837
+ }());
23838
+
23839
+ case 15:
23840
+ return _context2.abrupt("return", _context2.sent);
23841
+
23842
+ case 16:
23843
+ case "end":
23844
+ return _context2.stop();
23845
+ }
23846
+ }
23847
+ }, _callee2);
23848
+ }));
23849
+ return _sendAsync.apply(this, arguments);
23789
23850
  }
23790
23851
 
23791
23852
  /**
@@ -48764,6 +48825,7 @@ var useEthosContext = function useEthosContext() {
48764
48825
  return context;
48765
48826
  };
48766
48827
 
48828
+ var abi$8 = new AbiCoder();
48767
48829
  var Web3Context = /*#__PURE__*/React.createContext('web3');
48768
48830
  var DEFAULT_BLOCK_INTERVAL = 15;
48769
48831
  var DEFAULT_BLOCK_INTERVAL_TIMEOUT = 40000;
@@ -48777,6 +48839,7 @@ var useWeb3 = function useWeb3() {
48777
48839
  };
48778
48840
  var Web3ContextProvider = function Web3ContextProvider(props) {
48779
48841
  var context = useEthosContext();
48842
+ sendAsync.context = sendAsync.context || context;
48780
48843
  var connectors = context.useWalletSettings.reduce(function (acc, connector) {
48781
48844
  return _objectSpread2(_objectSpread2({}, acc), _defineProperty({}, connector.id, _objectSpread2(_objectSpread2({}, connector.settings), {}, {
48782
48845
  buttonText: connector.buttonText
@@ -48854,8 +48917,8 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
48854
48917
 
48855
48918
  var _useState23 = useState(null),
48856
48919
  _useState24 = _slicedToArray(_useState23, 2),
48857
- dualProvider = _useState24[0],
48858
- setDualProvider = _useState24[1];
48920
+ dualChainWeb3 = _useState24[0],
48921
+ setDualChainWeb3 = _useState24[1];
48859
48922
 
48860
48923
  useEffect(function () {
48861
48924
  setIpfsHttpClient(create(context.ipfsHost));
@@ -48907,19 +48970,69 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
48907
48970
  return _ref2.apply(this, arguments);
48908
48971
  };
48909
48972
  }(), [realBlockInterval]);
48973
+ var tryUpdateDualChainBlock = useCallback( /*#__PURE__*/function () {
48974
+ var _ref3 = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(web3, oldValue, setter, force) {
48975
+ var currentBlockNumber;
48976
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
48977
+ while (1) {
48978
+ switch (_context2.prev = _context2.next) {
48979
+ case 0:
48980
+ if (web3 !== null && web3 !== void 0 && web3.currentProvider) {
48981
+ _context2.next = 2;
48982
+ break;
48983
+ }
48984
+
48985
+ return _context2.abrupt("return", setter(0));
48986
+
48987
+ case 2:
48988
+ _context2.prev = 2;
48989
+ _context2.next = 5;
48990
+ return sendAsync(web3.currentProvider, 'eth_call', {
48991
+ to: '0x4200000000000000000000000000000000000013',
48992
+ data: web3Utils.sha3('getL1BlockNumber()').substring(0, 10)
48993
+ });
48994
+
48995
+ case 5:
48996
+ currentBlockNumber = _context2.sent;
48997
+ currentBlockNumber = abi$8.decode(['uint256'], currentBlockNumber)[0].toString();
48998
+ currentBlockNumber = parseInt(currentBlockNumber);
48999
+
49000
+ if (force === true || currentBlockNumber - oldValue >= realBlockInterval) {
49001
+ setter(currentBlockNumber);
49002
+ }
49003
+
49004
+ _context2.next = 13;
49005
+ break;
49006
+
49007
+ case 11:
49008
+ _context2.prev = 11;
49009
+ _context2.t0 = _context2["catch"](2);
49010
+
49011
+ case 13:
49012
+ case "end":
49013
+ return _context2.stop();
49014
+ }
49015
+ }
49016
+ }, _callee2, null, [[2, 11]]);
49017
+ }));
49018
+
49019
+ return function (_x5, _x6, _x7, _x8) {
49020
+ return _ref3.apply(this, arguments);
49021
+ };
49022
+ }(), [realBlockInterval]);
48910
49023
  var resetBlockInterval = useCallback(function () {
48911
49024
  intervalId && clearInterval(intervalId);
48912
49025
  tryUpdateBlock(wallet === null || wallet === void 0 ? void 0 : wallet.ethereum, block, setBlock, true);
48913
- tryUpdateBlock(dualProvider, dualBlock, setDualBlock, true);
49026
+ tryUpdateDualChainBlock(dualChainWeb3 && (wallet === null || wallet === void 0 ? void 0 : wallet.ethereum), dualBlock, setDualBlock, true);
48914
49027
 
48915
- if (wallet && wallet.ethereum || dualProvider) {
49028
+ if (wallet && wallet.ethereum || dualChainWeb3) {
48916
49029
  setIntervalId(setInterval(function () {
48917
49030
  wallet && wallet.ethereum && tryUpdateBlock(wallet.ethereum, block, setBlock);
48918
- dualProvider && tryUpdateBlock(dualProvider, dualBlock, setDualBlock);
49031
+ dualChainWeb3 && wallet && wallet.ethereum && tryUpdateDualChainBlock(wallet.ethereum, dualBlock, setDualBlock);
48919
49032
  }, realBlockIntervalTimeout));
48920
49033
  }
48921
- }, [wallet, dualProvider, realBlockIntervalTimeout, intervalId]);
48922
- useEffect(resetBlockInterval, [realBlockInterval, realBlockIntervalTimeout, wallet && wallet.ethereum, dualProvider]);
49034
+ }, [wallet, dualChainWeb3, realBlockIntervalTimeout, intervalId]);
49035
+ useEffect(resetBlockInterval, [realBlockInterval, realBlockIntervalTimeout, wallet && wallet.ethereum, dualChainWeb3]);
48923
49036
  useEffect(function () {
48924
49037
  setConnectionStatus(wallet && wallet.ethereum ? CONNECTED : connectionStatus === CONNECTING ? CONNECTING : NOT_CONNECTED);
48925
49038
  setWeb3Instance(wallet && wallet.ethereum && (web3Instance || new Web3(wallet.ethereum)) || null);
@@ -48931,7 +49044,7 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
48931
49044
  setChainId(actualChainId);
48932
49045
  var actualDualChainId = actualChainId && context.dualChainId[actualChainId] || null;
48933
49046
  setDualChainId(actualDualChainId);
48934
- setDualProvider(actualDualChainId && new Web3.providers.HttpProvider(context.chainProvider[actualDualChainId]) || null);
49047
+ setDualChainWeb3(actualDualChainId && new Web3(context.chainProvider[actualDualChainId]) || null);
48935
49048
  resetBlockInterval();
48936
49049
  }, [wallet && wallet.chainId]);
48937
49050
 
@@ -48987,32 +49100,37 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
48987
49100
  return globalContracts[index];
48988
49101
  };
48989
49102
 
49103
+ useEffect(function () {
49104
+ chainId && web3Instance && web3Instance.currentProvider && !web3Instance.currentProvider.chainId && (web3Instance.currentProvider.chainId = chainId);
49105
+ dualChainId && dualChainWeb3 && dualChainWeb3.currentProvider && !dualChainWeb3.currentProvider.chainId && (dualChainWeb3.currentProvider.chainId = dualChainId);
49106
+ }, [chainId, web3Instance, dualChainId, dualChainWeb3]);
49107
+
48990
49108
  window.setAccount = /*#__PURE__*/function () {
48991
- var _setAccount = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(acc) {
48992
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
49109
+ var _setAccount = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(acc) {
49110
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
48993
49111
  while (1) {
48994
- switch (_context2.prev = _context2.next) {
49112
+ switch (_context3.prev = _context3.next) {
48995
49113
  case 0:
48996
49114
  delete window.account;
48997
49115
  acc && (window.account = acc);
48998
- _context2.prev = 2;
48999
- _context2.t0 = acc && window.ganache;
49116
+ _context3.prev = 2;
49117
+ _context3.t0 = acc && window.ganache;
49000
49118
 
49001
- if (!_context2.t0) {
49002
- _context2.next = 7;
49119
+ if (!_context3.t0) {
49120
+ _context3.next = 7;
49003
49121
  break;
49004
49122
  }
49005
49123
 
49006
- _context2.next = 7;
49124
+ _context3.next = 7;
49007
49125
  return sendAsync(window.ganache, 'evm_addAccount', acc, 0);
49008
49126
 
49009
49127
  case 7:
49010
- _context2.next = 11;
49128
+ _context3.next = 11;
49011
49129
  break;
49012
49130
 
49013
49131
  case 9:
49014
- _context2.prev = 9;
49015
- _context2.t1 = _context2["catch"](2);
49132
+ _context3.prev = 9;
49133
+ _context3.t1 = _context3["catch"](2);
49016
49134
 
49017
49135
  case 11:
49018
49136
  setBlock(new Date().getTime());
@@ -49021,13 +49139,13 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
49021
49139
 
49022
49140
  case 14:
49023
49141
  case "end":
49024
- return _context2.stop();
49142
+ return _context3.stop();
49025
49143
  }
49026
49144
  }
49027
- }, _callee2, null, [[2, 9]]);
49145
+ }, _callee3, null, [[2, 9]]);
49028
49146
  }));
49029
49147
 
49030
- function setAccount(_x5) {
49148
+ function setAccount(_x9) {
49031
49149
  return _setAccount.apply(this, arguments);
49032
49150
  }
49033
49151
 
@@ -49055,7 +49173,7 @@ var Web3ContextInitializer = function Web3ContextInitializer(_ref) {
49055
49173
  newContract: newContract,
49056
49174
  dualChainId: dualChainId,
49057
49175
  dualBlock: dualBlock,
49058
- dualProvider: dualProvider
49176
+ dualChainWeb3: dualChainWeb3
49059
49177
  }), wallet && wallet.error && {
49060
49178
  errorMessage: wallet.error.message
49061
49179
  });