@depay/widgets 6.2.2 → 6.5.0

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.
@@ -1053,7 +1053,8 @@ var ClosableProvider = (function (props) {
1053
1053
  closable: closable,
1054
1054
  setClosable: setClosable,
1055
1055
  close: close,
1056
- open: open
1056
+ open: open,
1057
+ setOpen: setOpen
1057
1058
  }
1058
1059
  }, props.children);
1059
1060
  });
@@ -1528,11 +1529,6 @@ function checkDCE() {
1528
1529
  }
1529
1530
  });
1530
1531
 
1531
- function _interopDefaultLegacy$3 (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
1532
-
1533
- var React__default$2 = /*#__PURE__*/_interopDefaultLegacy$3(react);
1534
- var ReactDOM__default$1 = /*#__PURE__*/_interopDefaultLegacy$3(reactDom);
1535
-
1536
1532
  function ReactDialogStyle (styles) {
1537
1533
  let background =
1538
1534
  typeof styles === 'object' && styles.background ? styles.background : 'rgba(0,0,0,0.4)';
@@ -1599,7 +1595,7 @@ function ReactDialogStyle (styles) {
1599
1595
  }
1600
1596
 
1601
1597
  const _jsxFileName$2 = "/home/runner/work/react-dialog/react-dialog/src/components/Dialog.jsx";
1602
- class Dialog$1 extends React__default$2['default'].Component {
1598
+ class Dialog$1 extends react.Component {
1603
1599
  constructor(props) {
1604
1600
  super(props);
1605
1601
 
@@ -1647,11 +1643,11 @@ class Dialog$1 extends React__default$2['default'].Component {
1647
1643
  const classNames = ['ReactDialog', this.state.open ? 'ReactDialogOpen' : ''];
1648
1644
  const style = ReactDialogStyle({ background: this.props.background });
1649
1645
  return (
1650
- React__default$2['default'].createElement('div', { className: classNames.join(' '), __self: this, __source: {fileName: _jsxFileName$2, lineNumber: 54}}
1651
- , React__default$2['default'].createElement('style', {__self: this, __source: {fileName: _jsxFileName$2, lineNumber: 55}}, style)
1652
- , React__default$2['default'].createElement('div', { className: "ReactDialogRow", __self: this, __source: {fileName: _jsxFileName$2, lineNumber: 56}}
1653
- , React__default$2['default'].createElement('div', { className: "ReactDialogCell", __self: this, __source: {fileName: _jsxFileName$2, lineNumber: 57}}
1654
- , React__default$2['default'].createElement('div', { className: "ReactDialogBackground", onClick: this.onClickBackground.bind(this), __self: this, __source: {fileName: _jsxFileName$2, lineNumber: 58}} )
1646
+ react.createElement('div', { className: classNames.join(' '), __self: this, __source: {fileName: _jsxFileName$2, lineNumber: 54}}
1647
+ , react.createElement('style', {__self: this, __source: {fileName: _jsxFileName$2, lineNumber: 55}}, style)
1648
+ , react.createElement('div', { className: "ReactDialogRow", __self: this, __source: {fileName: _jsxFileName$2, lineNumber: 56}}
1649
+ , react.createElement('div', { className: "ReactDialogCell", __self: this, __source: {fileName: _jsxFileName$2, lineNumber: 57}}
1650
+ , react.createElement('div', { className: "ReactDialogBackground", onClick: this.onClickBackground.bind(this), __self: this, __source: {fileName: _jsxFileName$2, lineNumber: 58}} )
1655
1651
  , this.props.children
1656
1652
  )
1657
1653
  )
@@ -1661,7 +1657,7 @@ class Dialog$1 extends React__default$2['default'].Component {
1661
1657
  }
1662
1658
 
1663
1659
  const _jsxFileName$1$1 = "/home/runner/work/react-dialog/react-dialog/src/index.jsx";
1664
- class ReactDialog extends React__default$2['default'].Component {
1660
+ class ReactDialog extends react.Component {
1665
1661
  constructor(props) {
1666
1662
  super(props);
1667
1663
 
@@ -1684,8 +1680,8 @@ class ReactDialog extends React__default$2['default'].Component {
1684
1680
  let _document = this.props.document || document;
1685
1681
  let container = this.props.container || _document.body;
1686
1682
  if (this.state.open) {
1687
- return ReactDOM__default$1['default'].createPortal(
1688
- React__default$2['default'].createElement(Dialog$1, {
1683
+ return reactDom.createPortal(
1684
+ react.createElement(Dialog$1, {
1689
1685
  background: this.props.background,
1690
1686
  close: this.props.close,
1691
1687
  document: _document,
@@ -1702,19 +1698,9 @@ class ReactDialog extends React__default$2['default'].Component {
1702
1698
  }
1703
1699
  }
1704
1700
 
1705
- var ReactDialog_1 = ReactDialog;
1706
-
1707
- var cjs = /*#__PURE__*/Object.defineProperty({
1708
- ReactDialog: ReactDialog_1
1709
- }, '__esModule', {value: true});
1701
+ var CloseStackContext = react.createContext();
1710
1702
 
1711
- function _interopDefaultLegacy$2 (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
1712
-
1713
- var React__default$1 = /*#__PURE__*/_interopDefaultLegacy$2(react);
1714
-
1715
- var CloseStackContext = React__default$1['default'].createContext();
1716
-
1717
- var NavigateStackContext = React__default$1['default'].createContext();
1703
+ var NavigateStackContext = react.createContext();
1718
1704
 
1719
1705
  function ReactDialogStackStyle () {
1720
1706
  return `
@@ -1774,10 +1760,10 @@ function ReactDialogStackStyle () {
1774
1760
  `
1775
1761
  }
1776
1762
 
1777
- var StackContext = React__default$1['default'].createContext();
1763
+ var StackContext = react.createContext();
1778
1764
 
1779
1765
  const _jsxFileName$1 = "/home/runner/work/react-dialog-stack/react-dialog-stack/src/index.jsx";
1780
- class ReactDialogStack extends React__default$1['default'].Component {
1766
+ class ReactDialogStack extends react.Component {
1781
1767
  constructor(props) {
1782
1768
  super(props);
1783
1769
 
@@ -1895,15 +1881,15 @@ class ReactDialogStack extends React__default$1['default'].Component {
1895
1881
  this.classForDirection(),
1896
1882
  ];
1897
1883
  return (
1898
- React__default$1['default'].createElement('div', { key: index, className: ['ReactDialogStack'].concat(stackState).join(' '), __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 127}}
1899
- , React__default$1['default'].createElement('div', { className: "ReactDialogStackRow", __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 128}}
1900
- , React__default$1['default'].createElement('div', { className: "ReactDialogStackCell", onClick: this.onClick.bind(this), __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 129}}
1901
- , React__default$1['default'].createElement(NavigateStackContext.Provider, {
1884
+ react.createElement('div', { key: index, className: ['ReactDialogStack'].concat(stackState).join(' '), __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 127}}
1885
+ , react.createElement('div', { className: "ReactDialogStackRow", __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 128}}
1886
+ , react.createElement('div', { className: "ReactDialogStackCell", onClick: this.onClick.bind(this), __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 129}}
1887
+ , react.createElement(NavigateStackContext.Provider, {
1902
1888
  value: { navigate: this.navigate.bind(this), set: this.set.bind(this) }, __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 130}}
1903
1889
 
1904
- , React__default$1['default'].createElement(CloseStackContext.Provider, { value: this.close.bind(this), __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 133}}
1905
- , React__default$1['default'].createElement(StackContext.Provider, { value: this.state.stack, __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 134}}
1906
- , React__default$1['default'].createElement('div', { className: "ReactDialogAnimation", __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 135}}, this.props.dialogs[route])
1890
+ , react.createElement(CloseStackContext.Provider, { value: this.close.bind(this), __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 133}}
1891
+ , react.createElement(StackContext.Provider, { value: this.state.stack, __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 134}}
1892
+ , react.createElement('div', { className: "ReactDialogAnimation", __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 135}}, this.props.dialogs[route])
1907
1893
  )
1908
1894
  )
1909
1895
  )
@@ -1941,24 +1927,22 @@ class ReactDialogStack extends React__default$1['default'].Component {
1941
1927
 
1942
1928
  render() {
1943
1929
  return (
1944
- React__default$1['default'].createElement(cjs.ReactDialog, {
1930
+ react.createElement(ReactDialog, {
1945
1931
  close: this.close.bind(this),
1946
1932
  open: this.props.open,
1947
1933
  document: this.props.document,
1948
1934
  container: this.props.container,
1949
1935
  background: this.props.background, __self: this, __source: {fileName: _jsxFileName$1, lineNumber: 173}}
1950
1936
 
1951
- , React__default$1['default'].createElement('style', {__self: this, __source: {fileName: _jsxFileName$1, lineNumber: 180}}, ReactDialogStackStyle())
1937
+ , react.createElement('style', {__self: this, __source: {fileName: _jsxFileName$1, lineNumber: 180}}, ReactDialogStackStyle())
1952
1938
  , this.renderStack()
1953
1939
  )
1954
1940
  )
1955
1941
  }
1956
1942
  }
1957
- var NavigateStackContext_1 = NavigateStackContext;
1958
- var ReactDialogStack_1 = ReactDialogStack;
1959
1943
 
1960
1944
  var Dialog = (function (props) {
1961
- var _useContext = react.useContext(NavigateStackContext_1),
1945
+ var _useContext = react.useContext(NavigateStackContext),
1962
1946
  navigate = _useContext.navigate;
1963
1947
 
1964
1948
  var _useContext2 = react.useContext(ClosableContext),
@@ -1970,23 +1954,21 @@ var Dialog = (function (props) {
1970
1954
  }, /*#__PURE__*/react.createElement("div", {
1971
1955
  className: ["DialogHeader", props.stacked ? 'TextCenter' : ''].join(' ')
1972
1956
  }, props.stacked && /*#__PURE__*/react.createElement("div", {
1973
- className: "DialogHeaderAction PaddingTopS PaddingLeftS PaddingRightS"
1957
+ className: "DialogHeaderActionLeft PaddingTopS PaddingLeftS PaddingRightS"
1974
1958
  }, /*#__PURE__*/react.createElement("button", {
1975
1959
  onClick: function onClick() {
1976
1960
  return navigate('back');
1977
1961
  },
1978
1962
  className: "ButtonCircular",
1979
1963
  title: "Go back"
1980
- }, /*#__PURE__*/react.createElement(ChevronLeft, null))), /*#__PURE__*/react.createElement("div", {
1981
- className: "DialogHeaderTitle"
1982
- }, props.header), /*#__PURE__*/react.createElement("div", {
1983
- className: "DialogHeaderAction PaddingTopS PaddingLeftS PaddingRightS"
1964
+ }, /*#__PURE__*/react.createElement(ChevronLeft, null))), props.header, /*#__PURE__*/react.createElement("div", {
1965
+ className: "DialogHeaderActionRight PaddingTopS PaddingLeftS PaddingRightS"
1984
1966
  }, closable && /*#__PURE__*/react.createElement("button", {
1985
1967
  onClick: close,
1986
1968
  className: "ButtonCircular",
1987
1969
  title: "Close dialog"
1988
1970
  }, /*#__PURE__*/react.createElement(CloseIcon, null)))), /*#__PURE__*/react.createElement("div", {
1989
- className: "DialogBody"
1971
+ className: ["DialogBody", props.bodyClassName].join(' ')
1990
1972
  }, props.body), /*#__PURE__*/react.createElement("div", {
1991
1973
  className: "DialogFooter"
1992
1974
  }, props.footer));
@@ -1998,7 +1980,7 @@ var ConnectingWalletDialog = (function (props) {
1998
1980
  showConnectButton = _useState2[0],
1999
1981
  setShowConnectButton = _useState2[1];
2000
1982
 
2001
- var _useContext = react.useContext(NavigateStackContext_1),
1983
+ var _useContext = react.useContext(NavigateStackContext),
2002
1984
  navigate = _useContext.navigate;
2003
1985
 
2004
1986
  var wallet = props.wallet;
@@ -2319,10 +2301,23 @@ var ethereum = {
2319
2301
  decimals: 18
2320
2302
  },
2321
2303
  explorer: 'https://etherscan.io',
2322
- explorerUrlFor: ({ transaction })=>{
2304
+ explorerUrlFor: ({ transaction, token })=>{
2323
2305
  if(transaction) { return `https://etherscan.io/tx/${transaction.id}` }
2306
+ if(token) { return `https://etherscan.io/token/${token}` }
2324
2307
  },
2325
- rpc: ['https://mainnet.infura.io/v3/9aa3d95b3bc4', '40fa88ea12eaa4456161'].join('')
2308
+ rpc: ['https://mainnet.infura.io/v3/9aa3d95b3bc4', '40fa88ea12eaa4456161'].join(''),
2309
+ tokens: [ // only major tokens
2310
+ {"address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "symbol": "ETH", "name": "Ether", "decimals": 18, "logo": "data:image/png;base64,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"},
2311
+ {"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "symbol": "USDC", "name": "USD Coin", "decimals": 6, "logo": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"},
2312
+ {"address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "symbol": "WBTC", "name": "Wrapped BTC", "decimals": 8, "logo": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png"},
2313
+ {"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "symbol": "USDT", "name": "Tether USD", "decimals": 6, "logo": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"},
2314
+ {"address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", "symbol": "DAI", "name": "Dai Stablecoin", "decimals": 18, "logo": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png"},
2315
+ {"address": "0x853d955aCEf822Db058eb8505911ED77F175b99e", "symbol": "FRAX", "name": "Frax", "decimals": 18, "logo": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x853d955aCEf822Db058eb8505911ED77F175b99e/logo.png"},
2316
+ {"address": "0x4Fabb145d64652a948d72533023f6E7A623C7C53", "symbol": "BUSD", "name": "Binance USD", "decimals": 18, "logo": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4Fabb145d64652a948d72533023f6E7A623C7C53/logo.png"},
2317
+ {"address": "0x8E870D67F660D95d5be530380D0eC0bd388289E1", "symbol": "USDP", "name": "Pax Dollar", "decimals": 18, "logo": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x8E870D67F660D95d5be530380D0eC0bd388289E1/logo.png"},
2318
+ {"address": "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984", "symbol": "UNI", "name": "Uniswap", "decimals": 18, "logo": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984/logo.png"},
2319
+ {"address": "0x956F47F50A910163D8BF957Cf5846D573E7f87CA", "symbol": "FEI", "name": "Fei USD", "decimals": 18, "logo": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x956F47F50A910163D8BF957Cf5846D573E7f87CA/logo.png"}
2320
+ ]
2326
2321
  };
2327
2322
 
2328
2323
  var bsc = {
@@ -2339,10 +2334,20 @@ var bsc = {
2339
2334
  decimals: 18
2340
2335
  },
2341
2336
  explorer: 'https://bscscan.com',
2342
- explorerUrlFor: ({ transaction })=>{
2337
+ explorerUrlFor: ({ transaction, token })=>{
2343
2338
  if(transaction) { return `https://bscscan.com/tx/${transaction.id}` }
2339
+ if(token) { return `https://bscscan.com/token/${token}` }
2344
2340
  },
2345
- rpc: 'https://bsc-dataseed1.binance.org'
2341
+ rpc: 'https://bsc-dataseed1.binance.org',
2342
+ tokens: [ // only major tokens
2343
+ {"address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "symbol": "BNB", "name": "Binance Coin", "decimals": 18, "logo": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c/logo.png"},
2344
+ {"address": "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56", "symbol": "BUSD", "name": "BUSD Token", "decimals": 18, "logo": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56/logo.png"},
2345
+ {"address": "0x55d398326f99059fF775485246999027B3197955", "symbol": "USDT", "name": "Binance-Peg BSC-USD", "decimals": 18, "logo": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x55d398326f99059fF775485246999027B3197955/logo.png"},
2346
+ {"address": "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82", "symbol": "Cake", "name": "PancakeSwap Token", "decimals": 18, "logo": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82/logo.png"},
2347
+ {"address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", "symbol": "USDC", "name": "USD Coin", "decimals": 18, "logo": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d/logo.png"},
2348
+ {"address": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8", "symbol": "ETH", "name": "Ethereum Token", "decimals": 18, "logo": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x2170Ed0880ac9A755fd29B2688956BD959F933F8/logo.png"},
2349
+ {"address": "0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c", "symbol": "BTCB", "name": "BTCB Token", "decimals": 18, "logo": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c/logo.png"}
2350
+ ]
2346
2351
  };
2347
2352
 
2348
2353
  var polygon = {
@@ -2359,8 +2364,9 @@ var polygon = {
2359
2364
  decimals: 18
2360
2365
  },
2361
2366
  explorer: 'https://polygonscan.com',
2362
- explorerUrlFor: ({ transaction })=>{
2367
+ explorerUrlFor: ({ transaction, token })=>{
2363
2368
  if(transaction) { return `https://polygonscan.com/tx/${transaction.id}` }
2369
+ if(token) { return `https://polygonscan.com/token/${token}` }
2364
2370
  },
2365
2371
  rpc: 'https://rpc-mainnet.matic.network'
2366
2372
  };
@@ -2409,11 +2415,6 @@ let Blockchain = {
2409
2415
  },
2410
2416
  };
2411
2417
 
2412
- var es$1 = /*#__PURE__*/Object.freeze({
2413
- __proto__: null,
2414
- Blockchain: Blockchain
2415
- });
2416
-
2417
2418
  let CONSTANTS = {
2418
2419
  ZERO: '0x0000000000000000000000000000000000000000',
2419
2420
  MAXINT: '115792089237316195423570985008687907853269984665640564039457584007913129639935',
@@ -2443,11 +2444,6 @@ let CONSTANTS$2 = {};
2443
2444
  CONSTANTS$2['ethereum'] = CONSTANTS;
2444
2445
  CONSTANTS$2['bsc'] = CONSTANTS$1;
2445
2446
 
2446
- var es = /*#__PURE__*/Object.freeze({
2447
- __proto__: null,
2448
- CONSTANTS: CONSTANTS$2
2449
- });
2450
-
2451
2447
  var byteLength_1 = byteLength$1;
2452
2448
  var toByteArray_1 = toByteArray$1;
2453
2449
  var fromByteArray_1 = fromByteArray$1;
@@ -48573,12 +48569,18 @@ const submitSimpleTransfer$1 = ({ transaction, signer })=>{
48573
48569
 
48574
48570
  function _optionalChain$3$1(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
48575
48571
  class Web3Wallet {
48576
- __init() {this.name = 'Web3 Wallet';}
48577
- __init2() {this.logo =
48578
- "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 446.42 376.77'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23828487;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M408.69,171.4H473.4V107.77a46.55,46.55,0,0,0-46.55-46.55H73.53A46.55,46.55,0,0,0,27,107.77v65.09H62.7L89.56,146a9.46,9.46,0,0,1,5.73-2.73h0l.41,0h78.59a47.2,47.2,0,1,1,82.63,39.56q-1.41,1.71-3,3.31t-3.31,3a47.21,47.21,0,0,1-76.31-26.9H100.21L73.34,189.07a9.43,9.43,0,0,1-5.73,2.73h0l-.41,0h-.07l-.48,0H27v74H55.83l18.25-18.24a9.39,9.39,0,0,1,5.73-2.74h0l.41,0h29.9a47.16,47.16,0,1,1,0,19H84.72L66.48,282.11a9.42,9.42,0,0,1-5.72,2.74h0l-.39,0H27V319H83.29a4,4,0,0,1,.49,0h.06l.41,0h0A9.41,9.41,0,0,1,90,321.78l28,28h57.66a47.2,47.2,0,1,1,81.48,40.9c-.6.67-1.22,1.32-1.86,2s-1.3,1.26-2,1.86a47.22,47.22,0,0,1-77.65-25.73H114.09a9.5,9.5,0,0,1-3.09-.52l-.08,0-.29-.11-.17-.07-.19-.08-.27-.12-.08,0a9.38,9.38,0,0,1-2.55-1.81l-28-28H27v53.46A46.55,46.55,0,0,0,73.53,438H426.86a46.55,46.55,0,0,0,46.54-46.55V327.82H408.69a78.22,78.22,0,0,1-78.21-78.21h0A78.22,78.22,0,0,1,408.69,171.4Z' transform='translate(-26.98 -61.22)'/%3E%3Cpath class='cls-1' d='M247.91,359.29a26,26,0,1,0-26,26A26,26,0,0,0,247.91,359.29Z' transform='translate(-26.98 -61.22)'/%3E%3Cpath class='cls-1' d='M246.55,152.71a26,26,0,1,0-26,26A26,26,0,0,0,246.55,152.71Z' transform='translate(-26.98 -61.22)'/%3E%3Ccircle class='cls-1' cx='129.39' cy='193.15' r='25.99'/%3E%3Cpath class='cls-1' d='M409.17,190h-.48a59.57,59.57,0,0,0-59.57,59.57h0a59.57,59.57,0,0,0,59.57,59.57h.48a59.58,59.58,0,0,0,59.58-59.57h0A59.58,59.58,0,0,0,409.17,190Zm14.45,90.61h-31l8.88-32.53a15.5,15.5,0,1,1,13.29,0Z' transform='translate(-26.98 -61.22)'/%3E%3C/svg%3E";}
48579
- __init3() {this.blockchains = ['ethereum', 'bsc'];}
48580
48572
 
48581
- constructor () {Web3Wallet.prototype.__init.call(this);Web3Wallet.prototype.__init2.call(this);Web3Wallet.prototype.__init3.call(this);
48573
+ static __initStatic() {this.info = {
48574
+ name: 'Web3 Wallet',
48575
+ logo: "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 446.42 376.77'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23828487;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M408.69,171.4H473.4V107.77a46.55,46.55,0,0,0-46.55-46.55H73.53A46.55,46.55,0,0,0,27,107.77v65.09H62.7L89.56,146a9.46,9.46,0,0,1,5.73-2.73h0l.41,0h78.59a47.2,47.2,0,1,1,82.63,39.56q-1.41,1.71-3,3.31t-3.31,3a47.21,47.21,0,0,1-76.31-26.9H100.21L73.34,189.07a9.43,9.43,0,0,1-5.73,2.73h0l-.41,0h-.07l-.48,0H27v74H55.83l18.25-18.24a9.39,9.39,0,0,1,5.73-2.74h0l.41,0h29.9a47.16,47.16,0,1,1,0,19H84.72L66.48,282.11a9.42,9.42,0,0,1-5.72,2.74h0l-.39,0H27V319H83.29a4,4,0,0,1,.49,0h.06l.41,0h0A9.41,9.41,0,0,1,90,321.78l28,28h57.66a47.2,47.2,0,1,1,81.48,40.9c-.6.67-1.22,1.32-1.86,2s-1.3,1.26-2,1.86a47.22,47.22,0,0,1-77.65-25.73H114.09a9.5,9.5,0,0,1-3.09-.52l-.08,0-.29-.11-.17-.07-.19-.08-.27-.12-.08,0a9.38,9.38,0,0,1-2.55-1.81l-28-28H27v53.46A46.55,46.55,0,0,0,73.53,438H426.86a46.55,46.55,0,0,0,46.54-46.55V327.82H408.69a78.22,78.22,0,0,1-78.21-78.21h0A78.22,78.22,0,0,1,408.69,171.4Z' transform='translate(-26.98 -61.22)'/%3E%3Cpath class='cls-1' d='M247.91,359.29a26,26,0,1,0-26,26A26,26,0,0,0,247.91,359.29Z' transform='translate(-26.98 -61.22)'/%3E%3Cpath class='cls-1' d='M246.55,152.71a26,26,0,1,0-26,26A26,26,0,0,0,246.55,152.71Z' transform='translate(-26.98 -61.22)'/%3E%3Ccircle class='cls-1' cx='129.39' cy='193.15' r='25.99'/%3E%3Cpath class='cls-1' d='M409.17,190h-.48a59.57,59.57,0,0,0-59.57,59.57h0a59.57,59.57,0,0,0,59.57,59.57h.48a59.58,59.58,0,0,0,59.58-59.57h0A59.58,59.58,0,0,0,409.17,190Zm14.45,90.61h-31l8.88-32.53a15.5,15.5,0,1,1,13.29,0Z' transform='translate(-26.98 -61.22)'/%3E%3C/svg%3E",
48576
+ blockchains: ['ethereum', 'bsc']
48577
+ };}
48578
+
48579
+ constructor () {
48580
+ this.name = this.constructor.info.name;
48581
+ this.logo = this.constructor.info.logo;
48582
+ this.blockchains = this.constructor.info.blockchains;
48583
+ this.install = this.constructor.info.install;
48582
48584
  this.sendTransaction = (transaction)=>{
48583
48585
  return sendTransaction$1({
48584
48586
  wallet: this,
@@ -48705,23 +48707,27 @@ class Web3Wallet {
48705
48707
  let signature = await signer.signMessage(message);
48706
48708
  return signature
48707
48709
  }
48708
- }
48710
+ } Web3Wallet.__initStatic();
48709
48711
 
48710
- class Coinbase extends Web3Wallet {constructor(...args) { super(...args); Coinbase.prototype.__init.call(this);Coinbase.prototype.__init2.call(this);Coinbase.prototype.__init3.call(this);Coinbase.prototype.__init4.call(this); }
48711
- __init() {this.name = 'Coinbase Wallet';}
48712
- __init2() {this.logo =
48713
- "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 488.96 488.96'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:url(%23linear-gradient);%7D.cls-2%7Bfill:%234361ad;%7D%3C/style%3E%3ClinearGradient id='linear-gradient' x1='250' y1='7.35' x2='250' y2='496.32' gradientTransform='matrix(1, 0, 0, -1, 0, 502)' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%233d5ba9'/%3E%3Cstop offset='1' stop-color='%234868b1'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath class='cls-1' d='M250,5.68C114.87,5.68,5.52,115,5.52,250.17S114.87,494.65,250,494.65,494.48,385.29,494.48,250.17,385.13,5.68,250,5.68Zm0,387.54A143.06,143.06,0,1,1,393.05,250.17,143.11,143.11,0,0,1,250,393.22Z' transform='translate(-5.52 -5.68)'/%3E%3Cpath class='cls-2' d='M284.69,296.09H215.31a11,11,0,0,1-10.9-10.9V215.48a11,11,0,0,1,10.9-10.91H285a11,11,0,0,1,10.9,10.91v69.71A11.07,11.07,0,0,1,284.69,296.09Z' transform='translate(-5.52 -5.68)'/%3E%3C/svg%3E";}
48714
- __init3() {this.blockchains = ['ethereum', 'bsc'];}
48715
- __init4() {this.install = 'https://wallet.coinbase.com';}
48716
- }
48712
+ class Coinbase extends Web3Wallet {
48717
48713
 
48718
- class MetaMask extends Web3Wallet {constructor(...args) { super(...args); MetaMask.prototype.__init.call(this);MetaMask.prototype.__init2.call(this);MetaMask.prototype.__init3.call(this);MetaMask.prototype.__init4.call(this); }
48719
- __init() {this.name = 'MetaMask';}
48720
- __init2() {this.logo =
48721
- "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 485.93 450.56'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23828487;%7D.cls-2%7Bfill:%23e27726;stroke:%23e27726;%7D.cls-10,.cls-11,.cls-2,.cls-3,.cls-4,.cls-5,.cls-6,.cls-7,.cls-8,.cls-9%7Bstroke-linecap:round;stroke-linejoin:round;%7D.cls-3%7Bfill:%23e37725;stroke:%23e37725;%7D.cls-4%7Bfill:%23d6c0b3;stroke:%23d6c0b3;%7D.cls-5%7Bfill:%23243447;stroke:%23243447;%7D.cls-6%7Bfill:%23cd6328;stroke:%23cd6328;%7D.cls-7%7Bfill:%23e37525;stroke:%23e37525;%7D.cls-8%7Bfill:%23f6851f;stroke:%23f6851f;%7D.cls-9%7Bfill:%23c1ae9e;stroke:%23c1ae9e;%7D.cls-10%7Bfill:%23171717;stroke:%23171717;%7D.cls-11%7Bfill:%23763e1a;stroke:%23763e1a;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M247.91,356.29a26,26,0,1,0-26,26A26,26,0,0,0,247.91,356.29Z' transform='translate(-7.97 -21.33)'/%3E%3Cpath class='cls-1' d='M246.55,149.71a26,26,0,1,0-26,26A26,26,0,0,0,246.55,149.71Z' transform='translate(-7.97 -21.33)'/%3E%3Ccircle class='cls-1' cx='148.4' cy='230.05' r='25.99'/%3E%3Cpolygon class='cls-2' points='461.28 0.5 272.06 141.03 307.05 58.12 461.28 0.5'/%3E%3Cpolygon class='cls-3' points='24.46 0.5 212.16 142.37 178.88 58.12 24.46 0.5'/%3E%3Cpolygon class='cls-3' points='393.2 326.26 342.81 403.47 450.63 433.14 481.63 327.97 393.2 326.26'/%3E%3Cpolygon class='cls-3' points='4.49 327.97 35.3 433.14 143.13 403.47 92.73 326.26 4.49 327.97'/%3E%3Cpolygon class='cls-3' points='137.04 195.8 107 241.25 214.06 246.01 210.26 130.96 137.04 195.8'/%3E%3Cpolygon class='cls-3' points='348.7 195.8 274.53 129.63 272.06 246.01 378.94 241.25 348.7 195.8'/%3E%3Cpolygon class='cls-3' points='143.13 403.47 207.41 372.09 151.88 328.73 143.13 403.47'/%3E%3Cpolygon class='cls-3' points='278.34 372.09 342.81 403.47 333.87 328.73 278.34 372.09'/%3E%3Cpolygon class='cls-4' points='342.81 403.47 278.34 372.09 283.47 414.12 282.9 431.81 342.81 403.47'/%3E%3Cpolygon class='cls-4' points='143.13 403.47 203.03 431.81 202.65 414.12 207.41 372.09 143.13 403.47'/%3E%3Cpolygon class='cls-5' points='203.98 300.97 150.35 285.18 188.2 267.88 203.98 300.97'/%3E%3Cpolygon class='cls-5' points='281.76 300.97 297.55 267.88 335.58 285.18 281.76 300.97'/%3E%3Cpolygon class='cls-6' points='143.13 403.47 152.25 326.26 92.73 327.97 143.13 403.47'/%3E%3Cpolygon class='cls-6' points='333.68 326.26 342.81 403.47 393.2 327.97 333.68 326.26'/%3E%3Cpolygon class='cls-6' points='378.94 241.25 272.06 246.01 281.95 300.97 297.74 267.88 335.77 285.18 378.94 241.25'/%3E%3Cpolygon class='cls-6' points='150.35 285.18 188.39 267.88 203.98 300.97 214.06 246.01 107 241.25 150.35 285.18'/%3E%3Cpolygon class='cls-7' points='107 241.25 151.88 328.73 150.35 285.18 107 241.25'/%3E%3Cpolygon class='cls-7' points='335.77 285.18 333.87 328.73 378.94 241.25 335.77 285.18'/%3E%3Cpolygon class='cls-7' points='214.06 246.01 203.98 300.97 216.53 365.82 219.38 280.43 214.06 246.01'/%3E%3Cpolygon class='cls-7' points='272.06 246.01 266.93 280.24 269.21 365.82 281.95 300.97 272.06 246.01'/%3E%3Cpolygon class='cls-8' points='281.95 300.97 269.21 365.82 278.34 372.09 333.87 328.73 335.77 285.18 281.95 300.97'/%3E%3Cpolygon class='cls-8' points='150.35 285.18 151.88 328.73 207.41 372.09 216.53 365.82 203.98 300.97 150.35 285.18'/%3E%3Cpolygon class='cls-9' points='282.9 431.81 283.47 414.12 278.72 409.94 207.02 409.94 202.65 414.12 203.03 431.81 143.13 403.47 164.05 420.58 206.45 450.06 279.29 450.06 321.89 420.58 342.81 403.47 282.9 431.81'/%3E%3Cpolygon class='cls-10' points='278.34 372.09 269.21 365.82 216.53 365.82 207.41 372.09 202.65 414.12 207.02 409.94 278.72 409.94 283.47 414.12 278.34 372.09'/%3E%3Cpolygon class='cls-11' points='469.27 150.16 485.43 72.57 461.28 0.5 278.34 136.28 348.7 195.8 448.16 224.9 470.22 199.23 460.71 192.38 475.92 178.5 464.13 169.37 479.35 157.77 469.27 150.16'/%3E%3Cpolygon class='cls-11' points='0.5 72.57 16.66 150.16 6.39 157.77 21.61 169.37 10.01 178.5 25.22 192.38 15.71 199.23 37.58 224.9 137.04 195.8 207.41 136.28 24.46 0.5 0.5 72.57'/%3E%3Cpolygon class='cls-8' points='448.16 224.9 348.7 195.8 378.94 241.25 333.87 328.73 393.2 327.97 481.63 327.97 448.16 224.9'/%3E%3Cpolygon class='cls-8' points='137.04 195.8 37.58 224.9 4.49 327.97 92.73 327.97 151.88 328.73 107 241.25 137.04 195.8'/%3E%3Cpolygon class='cls-8' points='272.06 246.01 278.34 136.28 307.24 58.12 178.88 58.12 207.41 136.28 214.06 246.01 216.34 280.62 216.53 365.82 269.21 365.82 269.59 280.62 272.06 246.01'/%3E%3C/svg%3E";}
48722
- __init3() {this.blockchains = ['ethereum', 'bsc'];}
48723
- __init4() {this.install = 'https://metamask.io/download.html';}
48724
- }
48714
+ static __initStatic() {this.info = {
48715
+ name: 'Coinbase Wallet',
48716
+ logo: "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 488.96 488.96'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:url(%23linear-gradient);%7D.cls-2%7Bfill:%234361ad;%7D%3C/style%3E%3ClinearGradient id='linear-gradient' x1='250' y1='7.35' x2='250' y2='496.32' gradientTransform='matrix(1, 0, 0, -1, 0, 502)' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%233d5ba9'/%3E%3Cstop offset='1' stop-color='%234868b1'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath class='cls-1' d='M250,5.68C114.87,5.68,5.52,115,5.52,250.17S114.87,494.65,250,494.65,494.48,385.29,494.48,250.17,385.13,5.68,250,5.68Zm0,387.54A143.06,143.06,0,1,1,393.05,250.17,143.11,143.11,0,0,1,250,393.22Z' transform='translate(-5.52 -5.68)'/%3E%3Cpath class='cls-2' d='M284.69,296.09H215.31a11,11,0,0,1-10.9-10.9V215.48a11,11,0,0,1,10.9-10.91H285a11,11,0,0,1,10.9,10.91v69.71A11.07,11.07,0,0,1,284.69,296.09Z' transform='translate(-5.52 -5.68)'/%3E%3C/svg%3E",
48717
+ blockchains: ['ethereum', 'bsc'],
48718
+ install: 'https://wallet.coinbase.com'
48719
+ };}
48720
+ } Coinbase.__initStatic();
48721
+
48722
+ class MetaMask extends Web3Wallet {
48723
+
48724
+ static __initStatic() {this.info = {
48725
+ name: 'MetaMask',
48726
+ logo: "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 485.93 450.56'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23828487;%7D.cls-2%7Bfill:%23e27726;stroke:%23e27726;%7D.cls-10,.cls-11,.cls-2,.cls-3,.cls-4,.cls-5,.cls-6,.cls-7,.cls-8,.cls-9%7Bstroke-linecap:round;stroke-linejoin:round;%7D.cls-3%7Bfill:%23e37725;stroke:%23e37725;%7D.cls-4%7Bfill:%23d6c0b3;stroke:%23d6c0b3;%7D.cls-5%7Bfill:%23243447;stroke:%23243447;%7D.cls-6%7Bfill:%23cd6328;stroke:%23cd6328;%7D.cls-7%7Bfill:%23e37525;stroke:%23e37525;%7D.cls-8%7Bfill:%23f6851f;stroke:%23f6851f;%7D.cls-9%7Bfill:%23c1ae9e;stroke:%23c1ae9e;%7D.cls-10%7Bfill:%23171717;stroke:%23171717;%7D.cls-11%7Bfill:%23763e1a;stroke:%23763e1a;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M247.91,356.29a26,26,0,1,0-26,26A26,26,0,0,0,247.91,356.29Z' transform='translate(-7.97 -21.33)'/%3E%3Cpath class='cls-1' d='M246.55,149.71a26,26,0,1,0-26,26A26,26,0,0,0,246.55,149.71Z' transform='translate(-7.97 -21.33)'/%3E%3Ccircle class='cls-1' cx='148.4' cy='230.05' r='25.99'/%3E%3Cpolygon class='cls-2' points='461.28 0.5 272.06 141.03 307.05 58.12 461.28 0.5'/%3E%3Cpolygon class='cls-3' points='24.46 0.5 212.16 142.37 178.88 58.12 24.46 0.5'/%3E%3Cpolygon class='cls-3' points='393.2 326.26 342.81 403.47 450.63 433.14 481.63 327.97 393.2 326.26'/%3E%3Cpolygon class='cls-3' points='4.49 327.97 35.3 433.14 143.13 403.47 92.73 326.26 4.49 327.97'/%3E%3Cpolygon class='cls-3' points='137.04 195.8 107 241.25 214.06 246.01 210.26 130.96 137.04 195.8'/%3E%3Cpolygon class='cls-3' points='348.7 195.8 274.53 129.63 272.06 246.01 378.94 241.25 348.7 195.8'/%3E%3Cpolygon class='cls-3' points='143.13 403.47 207.41 372.09 151.88 328.73 143.13 403.47'/%3E%3Cpolygon class='cls-3' points='278.34 372.09 342.81 403.47 333.87 328.73 278.34 372.09'/%3E%3Cpolygon class='cls-4' points='342.81 403.47 278.34 372.09 283.47 414.12 282.9 431.81 342.81 403.47'/%3E%3Cpolygon class='cls-4' points='143.13 403.47 203.03 431.81 202.65 414.12 207.41 372.09 143.13 403.47'/%3E%3Cpolygon class='cls-5' points='203.98 300.97 150.35 285.18 188.2 267.88 203.98 300.97'/%3E%3Cpolygon class='cls-5' points='281.76 300.97 297.55 267.88 335.58 285.18 281.76 300.97'/%3E%3Cpolygon class='cls-6' points='143.13 403.47 152.25 326.26 92.73 327.97 143.13 403.47'/%3E%3Cpolygon class='cls-6' points='333.68 326.26 342.81 403.47 393.2 327.97 333.68 326.26'/%3E%3Cpolygon class='cls-6' points='378.94 241.25 272.06 246.01 281.95 300.97 297.74 267.88 335.77 285.18 378.94 241.25'/%3E%3Cpolygon class='cls-6' points='150.35 285.18 188.39 267.88 203.98 300.97 214.06 246.01 107 241.25 150.35 285.18'/%3E%3Cpolygon class='cls-7' points='107 241.25 151.88 328.73 150.35 285.18 107 241.25'/%3E%3Cpolygon class='cls-7' points='335.77 285.18 333.87 328.73 378.94 241.25 335.77 285.18'/%3E%3Cpolygon class='cls-7' points='214.06 246.01 203.98 300.97 216.53 365.82 219.38 280.43 214.06 246.01'/%3E%3Cpolygon class='cls-7' points='272.06 246.01 266.93 280.24 269.21 365.82 281.95 300.97 272.06 246.01'/%3E%3Cpolygon class='cls-8' points='281.95 300.97 269.21 365.82 278.34 372.09 333.87 328.73 335.77 285.18 281.95 300.97'/%3E%3Cpolygon class='cls-8' points='150.35 285.18 151.88 328.73 207.41 372.09 216.53 365.82 203.98 300.97 150.35 285.18'/%3E%3Cpolygon class='cls-9' points='282.9 431.81 283.47 414.12 278.72 409.94 207.02 409.94 202.65 414.12 203.03 431.81 143.13 403.47 164.05 420.58 206.45 450.06 279.29 450.06 321.89 420.58 342.81 403.47 282.9 431.81'/%3E%3Cpolygon class='cls-10' points='278.34 372.09 269.21 365.82 216.53 365.82 207.41 372.09 202.65 414.12 207.02 409.94 278.72 409.94 283.47 414.12 278.34 372.09'/%3E%3Cpolygon class='cls-11' points='469.27 150.16 485.43 72.57 461.28 0.5 278.34 136.28 348.7 195.8 448.16 224.9 470.22 199.23 460.71 192.38 475.92 178.5 464.13 169.37 479.35 157.77 469.27 150.16'/%3E%3Cpolygon class='cls-11' points='0.5 72.57 16.66 150.16 6.39 157.77 21.61 169.37 10.01 178.5 25.22 192.38 15.71 199.23 37.58 224.9 137.04 195.8 207.41 136.28 24.46 0.5 0.5 72.57'/%3E%3Cpolygon class='cls-8' points='448.16 224.9 348.7 195.8 378.94 241.25 333.87 328.73 393.2 327.97 481.63 327.97 448.16 224.9'/%3E%3Cpolygon class='cls-8' points='137.04 195.8 37.58 224.9 4.49 327.97 92.73 327.97 151.88 328.73 107 241.25 137.04 195.8'/%3E%3Cpolygon class='cls-8' points='272.06 246.01 278.34 136.28 307.24 58.12 178.88 58.12 207.41 136.28 214.06 246.01 216.34 280.62 216.53 365.82 269.21 365.82 269.59 280.62 272.06 246.01'/%3E%3C/svg%3E",
48727
+ blockchains: ['ethereum', 'bsc'],
48728
+ install: 'https://metamask.io/download.html'
48729
+ };}
48730
+ } MetaMask.__initStatic();
48725
48731
 
48726
48732
  function _optionalChain$2$1(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
48727
48733
  const estimate = async ({ transaction, wallet })=> {
@@ -48835,13 +48841,18 @@ function _optionalChain$6(ops) { let lastAccessLHS = undefined; let value = ops[
48835
48841
  let connectedInstance;
48836
48842
 
48837
48843
  class WalletConnectWallet {
48838
- __init() {this.name = 'WalletConnect';}
48839
- __init2() {this.logo =
48840
- "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 500 500' style='enable-background:new 0 0 500 500;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%235991CD;%7D%0A%3C/style%3E%3Cg id='Page-1'%3E%3Cg id='walletconnect-logo-alt'%3E%3Cpath id='WalletConnect' class='st0' d='M102.7,162c81.5-79.8,213.6-79.8,295.1,0l9.8,9.6c4.1,4,4.1,10.5,0,14.4L374,218.9 c-2,2-5.3,2-7.4,0l-13.5-13.2c-56.8-55.7-149-55.7-205.8,0l-14.5,14.1c-2,2-5.3,2-7.4,0L91.9,187c-4.1-4-4.1-10.5,0-14.4 L102.7,162z M467.1,229.9l29.9,29.2c4.1,4,4.1,10.5,0,14.4L362.3,405.4c-4.1,4-10.7,4-14.8,0c0,0,0,0,0,0L252,311.9 c-1-1-2.7-1-3.7,0h0l-95.5,93.5c-4.1,4-10.7,4-14.8,0c0,0,0,0,0,0L3.4,273.6c-4.1-4-4.1-10.5,0-14.4l29.9-29.2 c4.1-4,10.7-4,14.8,0l95.5,93.5c1,1,2.7,1,3.7,0c0,0,0,0,0,0l95.5-93.5c4.1-4,10.7-4,14.8,0c0,0,0,0,0,0l95.5,93.5 c1,1,2.7,1,3.7,0l95.5-93.5C456.4,225.9,463,225.9,467.1,229.9z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A";}
48841
- __init3() {this.blockchains = ['ethereum', 'bsc'];}
48842
48844
 
48843
- constructor() {WalletConnectWallet.prototype.__init.call(this);WalletConnectWallet.prototype.__init2.call(this);WalletConnectWallet.prototype.__init3.call(this);
48844
- this.connector = this.newWalletConnectInstance();
48845
+ static __initStatic() {this.info = {
48846
+ name: 'WalletConnect',
48847
+ logo: "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 500 500' style='enable-background:new 0 0 500 500;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%235991CD;%7D%0A%3C/style%3E%3Cg id='Page-1'%3E%3Cg id='walletconnect-logo-alt'%3E%3Cpath id='WalletConnect' class='st0' d='M102.7,162c81.5-79.8,213.6-79.8,295.1,0l9.8,9.6c4.1,4,4.1,10.5,0,14.4L374,218.9 c-2,2-5.3,2-7.4,0l-13.5-13.2c-56.8-55.7-149-55.7-205.8,0l-14.5,14.1c-2,2-5.3,2-7.4,0L91.9,187c-4.1-4-4.1-10.5,0-14.4 L102.7,162z M467.1,229.9l29.9,29.2c4.1,4,4.1,10.5,0,14.4L362.3,405.4c-4.1,4-10.7,4-14.8,0c0,0,0,0,0,0L252,311.9 c-1-1-2.7-1-3.7,0h0l-95.5,93.5c-4.1,4-10.7,4-14.8,0c0,0,0,0,0,0L3.4,273.6c-4.1-4-4.1-10.5,0-14.4l29.9-29.2 c4.1-4,10.7-4,14.8,0l95.5,93.5c1,1,2.7,1,3.7,0c0,0,0,0,0,0l95.5-93.5c4.1-4,10.7-4,14.8,0c0,0,0,0,0,0l95.5,93.5 c1,1,2.7,1,3.7,0l95.5-93.5C456.4,225.9,463,225.9,467.1,229.9z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A",
48848
+ blockchains: ['ethereum', 'bsc']
48849
+ };}
48850
+
48851
+ constructor() {
48852
+ this.name = this.constructor.info.name;
48853
+ this.logo = this.constructor.info.logo;
48854
+ this.blockchains = this.constructor.info.blockchains;
48855
+ this.connector = WalletConnectWallet.instance || this.newWalletConnectInstance();
48845
48856
  this.sendTransaction = (transaction)=>{
48846
48857
  return sendTransaction({
48847
48858
  wallet: this,
@@ -48883,7 +48894,7 @@ class WalletConnectWallet {
48883
48894
 
48884
48895
  instance.on("modal_closed", ()=>{
48885
48896
  connectedInstance = undefined;
48886
- this.connector = this.newWalletConnectInstance();
48897
+ this.connector = undefined;
48887
48898
  });
48888
48899
 
48889
48900
  return instance
@@ -48999,18 +49010,20 @@ class WalletConnectWallet {
48999
49010
  let signature = await this.connector.signPersonalMessage(params);
49000
49011
  return signature
49001
49012
  }
49002
- }
49013
+ } WalletConnectWallet.__initStatic();
49003
49014
 
49004
49015
  const wallets = {
49005
- MetaMask: new MetaMask(),
49006
- Coinbase: new Coinbase(),
49007
- Web3Wallet: new Web3Wallet(),
49008
- WalletConnect: new WalletConnectWallet()
49016
+ MetaMask,
49017
+ Coinbase,
49018
+ Web3Wallet,
49019
+ WalletConnect: WalletConnectWallet
49009
49020
  };
49010
49021
 
49011
- let getWallet = function () {
49022
+ const instances = {};
49023
+
49024
+ const getWalletClass = function(){
49012
49025
  if(connectedInstance) {
49013
- return connectedInstance
49026
+ return wallets.WalletConnect
49014
49027
  } else if (typeof window.ethereum === 'object' && window.ethereum.isMetaMask) {
49015
49028
  return wallets.MetaMask
49016
49029
  } else if (typeof window.ethereum === 'object' && (window.ethereum.isCoinbaseWallet || window.ethereum.isWalletLink)) {
@@ -49020,13 +49033,27 @@ let getWallet = function () {
49020
49033
  }
49021
49034
  };
49022
49035
 
49036
+ const getWallet = function () {
49037
+ const walletClass = getWalletClass();
49038
+ const existingInstance = instances[walletClass];
49039
+
49040
+ if(connectedInstance) {
49041
+ return connectedInstance
49042
+ } else if(existingInstance) {
49043
+ return existingInstance
49044
+ } else if(walletClass) {
49045
+ instances[walletClass] = new walletClass();
49046
+ return instances[walletClass]
49047
+ }
49048
+ };
49049
+
49023
49050
  var SelectWalletDialog = (function (props) {
49024
49051
  var _useState = react.useState(false),
49025
49052
  _useState2 = _slicedToArray(_useState, 2),
49026
49053
  showExplanation = _useState2[0],
49027
49054
  setShowExplanation = _useState2[1];
49028
49055
 
49029
- var _useContext = react.useContext(NavigateStackContext_1),
49056
+ var _useContext = react.useContext(NavigateStackContext),
49030
49057
  navigate = _useContext.navigate;
49031
49058
 
49032
49059
  var wallet = getWallet();
@@ -49059,7 +49086,8 @@ var SelectWalletDialog = (function (props) {
49059
49086
  }, _callee);
49060
49087
  })), [wallet]);
49061
49088
 
49062
- var connect = function connect(wallet) {
49089
+ var connect = function connect(walletClass) {
49090
+ var wallet = new walletClass();
49063
49091
  props.setWallet(wallet);
49064
49092
  navigate('ConnectingWallet');
49065
49093
  props.connect(wallet);
@@ -49068,7 +49096,7 @@ var SelectWalletDialog = (function (props) {
49068
49096
  var availableWallets = [wallets.WalletConnect];
49069
49097
 
49070
49098
  if (wallet) {
49071
- availableWallets.unshift(wallet);
49099
+ availableWallets.unshift(wallet.constructor);
49072
49100
  }
49073
49101
 
49074
49102
  var walletCards = availableWallets.map(function (wallet, index) {
@@ -49077,21 +49105,22 @@ var SelectWalletDialog = (function (props) {
49077
49105
  className: "PaddingBottomXS"
49078
49106
  }, /*#__PURE__*/react.createElement("button", {
49079
49107
  className: "Card small",
49080
- title: "Connect ".concat(wallet.name),
49108
+ title: "Connect ".concat(wallet.info.name),
49081
49109
  onClick: function onClick() {
49082
49110
  return connect(wallet);
49083
49111
  }
49084
49112
  }, /*#__PURE__*/react.createElement("div", {
49085
49113
  className: "CardImage"
49086
49114
  }, /*#__PURE__*/react.createElement("img", {
49087
- src: wallet.logo
49115
+ className: "transparent",
49116
+ src: wallet.info.logo
49088
49117
  })), /*#__PURE__*/react.createElement("div", {
49089
49118
  className: "CardBody"
49090
49119
  }, /*#__PURE__*/react.createElement("div", {
49091
49120
  className: "CardBodyWrapper PaddingLeftXS"
49092
49121
  }, /*#__PURE__*/react.createElement("h2", {
49093
49122
  className: "CardText FontWeightBold"
49094
- }, wallet.name)))));
49123
+ }, wallet.info.name)))));
49095
49124
  });
49096
49125
  return /*#__PURE__*/react.createElement(Dialog, {
49097
49126
  header: /*#__PURE__*/react.createElement("div", {
@@ -49100,7 +49129,7 @@ var SelectWalletDialog = (function (props) {
49100
49129
  className: "LineHeightL FontSizeL"
49101
49130
  }, "Select a wallet")),
49102
49131
  body: /*#__PURE__*/react.createElement("div", {
49103
- className: "PaddingTopS PaddingBottomXS PaddingLeftS PaddingRightS"
49132
+ className: "PaddingBottomS PaddingLeftS PaddingRightS"
49104
49133
  }, walletCards),
49105
49134
  footer: /*#__PURE__*/react.createElement("div", {
49106
49135
  className: "PaddingBottomS"
@@ -49217,7 +49246,7 @@ var ConnectStack = (function (props) {
49217
49246
  }
49218
49247
  }, _callee2);
49219
49248
  })), [wallet]);
49220
- return /*#__PURE__*/react.createElement(ReactDialogStack_1, {
49249
+ return /*#__PURE__*/react.createElement(ReactDialogStack, {
49221
49250
  open: open,
49222
49251
  close: close,
49223
49252
  start: "SelectWallet",
@@ -49357,7 +49386,7 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
49357
49386
  }(react.Component);
49358
49387
 
49359
49388
  var ErrorProvider = (function (props) {
49360
- var _useState = react.useState(),
49389
+ var _useState = react.useState(props.error),
49361
49390
  _useState2 = _slicedToArray(_useState, 2),
49362
49391
  error = _useState2[0],
49363
49392
  setError = _useState2[1];
@@ -49370,8 +49399,8 @@ var ErrorProvider = (function (props) {
49370
49399
  var setErrorFromChildren = function setErrorFromChildren(error) {
49371
49400
  setError(error);
49372
49401
 
49373
- if (props.error) {
49374
- props.error(error);
49402
+ if (props.errorCallback) {
49403
+ props.errorCallback(error);
49375
49404
  }
49376
49405
  };
49377
49406
 
@@ -49382,7 +49411,7 @@ var ErrorProvider = (function (props) {
49382
49411
 
49383
49412
  if (error) {
49384
49413
  console.log(error);
49385
- return /*#__PURE__*/react.createElement(ReactDialog_1, {
49414
+ return /*#__PURE__*/react.createElement(ReactDialog, {
49386
49415
  container: props.container,
49387
49416
  close: close,
49388
49417
  open: open
@@ -49430,6 +49459,10 @@ var ErrorProvider = (function (props) {
49430
49459
  }
49431
49460
  });
49432
49461
 
49462
+ var AlertStyle = (function (style) {
49463
+ return "\n\n .Alert {\n background: rgba(0,0,0,0.08);\n border-radius: 0.4rem;\n font-weight: 500;\n padding: 0.5rem;\n }\n ";
49464
+ });
49465
+
49433
49466
  var BlockchainLogoStyle = (function (style) {
49434
49467
  return "\n\n .BlockchainLogo {\n border-radius: 999px;\n }\n\n .BlockchainLogo.small {\n height: 18px;\n width: 18px;\n }\n ";
49435
49468
  });
@@ -49443,11 +49476,11 @@ var ButtonPrimaryStyle = (function (style) {
49443
49476
  });
49444
49477
 
49445
49478
  var CardStyle = (function (style) {
49446
- return "\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border-radius: 0.8rem;\n box-shadow: 0 0 8px rgba(0,0,0,0.03);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n margin-bottom: 0.5rem;\n min-height: 4.78rem;\n padding: 1rem 0.6rem;\n width: 100%;\n }\n\n a.Card, a.Card * {\n color: inherit;\n text-decoration: none;\n }\n\n .Card.transparent {\n background: none;\n box-shadow: none;\n }\n\n .Card.small {\n min-height: auto;\n padding: 0.5rem 0.5rem;\n margin: 0;\n }\n\n .Card.disabled {\n cursor: default;\n }\n\n .Card:hover:not(.disabled) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Card:active:not(.disabled) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 6px rgba(0,0,0,0.02);\n color: inherit;\n }\n\n .Card:hover:not(.disabled) .CardAction {\n opacity: 0.4;\n }\n\n .CardImage, .CardBody, .CardAction, .CardInfo {\n align-items: center;\n display: flex;\n min-width: 0;\n padding: 0 0.4rem;\n }\n\n .CardImage {\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n width: 3.6rem;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 1.4rem;\n padding-left: 0.6rem;\n text-align: left;\n }\n\n .CardBodyWrapper {\n min-width: 0;\n }\n\n .CardAction {\n flex-basis: auto;\n flex-shrink: 0;\n flex-grow: 0;\n padding-right: 0;\n margin-left: auto;\n }\n\n .Card.disabled .CardAction {\n opacity: 0; \n }\n\n .CardInfo {\n display: flex;\n flex-basis: auto;\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 1;\n justify-content: center;\n margin-left: auto; \n padding-right: 0;\n }\n\n .CardImage img {\n background: white;\n border-radius: 99rem;\n border: 1px solid white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 2.8rem;\n position: relative;\n vertical-align: middle;\n width: 2.8rem;\n }\n\n .CardImage .BlockchainLogo {\n position: absolute;\n bottom: 0;\n right: 0;\n }\n\n .CardTitle {\n font-size: 0.9rem;\n color: rgb(150,150,150);\n }\n \n .CardText, a .CardText {\n color: ".concat(style.colors.text, ";\n flex: 1;\n font-size: 1.3rem;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText small {\n font-size: 1.1rem;\n color: rgb(150,150,150);\n }\n\n .CardAction {\n opacity: 0.2;\n }\n\n .Card.More {\n display: inline-block;\n text-align: center;\n }\n ");
49479
+ return "\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border-radius: 0.8rem;\n box-shadow: 0 0 8px rgba(0,0,0,0.03);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n margin-bottom: 0.5rem;\n min-height: 4.78rem;\n padding: 1rem 0.6rem;\n width: 100%;\n }\n\n .Card.Row {\n border-radius: 0;\n margin-bottom: 0;\n box-shadow: none;\n min-height: 4.3rem;\n padding: 0.4rem 1.3rem;\n border-top: 1px solid rgba(0,0,0,0.05);\n }\n\n .Card.Row .CardText {\n font-size: 1.2rem;\n }\n\n .CardTokenSymbol {\n width: 40%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .CardTokenName {\n text-align: right;\n opacity: 0.5;\n width: 60%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .Card.Row .CardTokenName .CardText {\n font-size: 1rem;\n }\n\n .Card.Row .CardImage {\n width: 2.5rem;\n }\n\n .Card.Row .CardImage img {\n height: 1.9rem;\n width: 1.9rem;\n }\n\n a.Card, a.Card * {\n color: inherit;\n text-decoration: none;\n }\n\n .Card.transparent {\n background: none;\n box-shadow: none;\n }\n\n .Card.small {\n min-height: auto;\n padding: 0.5rem 0.5rem;\n margin: 0;\n }\n\n .CardImage.small {\n width: 1.7rem;\n }\n\n .CardImage.small img {\n height: 1.4rem;\n width: 1.4rem;\n }\n\n .Card.disabled {\n cursor: default;\n }\n\n .Card:hover:not(.disabled) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Card:active:not(.disabled) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 6px rgba(0,0,0,0.02);\n color: inherit;\n }\n\n .Card:hover:not(.disabled) .CardAction {\n opacity: 0.4;\n }\n\n .CardImage, .CardBody, .CardAction, .CardInfo {\n align-items: center;\n display: flex;\n min-width: 0;\n padding: 0 0.4rem;\n }\n\n .CardImage {\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n width: 3.6rem;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 1.4rem;\n padding-left: 0.6rem;\n text-align: left;\n }\n\n .CardBodyWrapper {\n min-width: 0;\n }\n\n .CardAction {\n flex-basis: auto;\n flex-shrink: 0;\n flex-grow: 0;\n padding-right: 0;\n margin-left: auto;\n }\n\n .Card.disabled .CardAction {\n opacity: 0; \n }\n\n .CardInfo {\n display: flex;\n flex-basis: auto;\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 1;\n justify-content: center;\n margin-left: auto; \n padding-right: 0;\n }\n\n .CardImage img {\n background: white;\n border-radius: 99rem;\n border: 1px solid white;\n background: rgba(0,0,0,0.1);\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 2.8rem;\n position: relative;\n vertical-align: middle;\n width: 2.8rem;\n }\n\n .CardImage img.transparent {\n border: none;\n background: none;\n box-shadow: none;\n }\n \n .CardImage .BlockchainLogo {\n position: absolute;\n bottom: 0;\n right: 0;\n }\n\n .CardTitle {\n font-size: 0.9rem;\n color: rgb(150,150,150);\n }\n \n .CardText, a .CardText {\n color: ".concat(style.colors.text, ";\n flex: 1;\n font-size: 1.3rem;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText small {\n font-size: 1.26rem;\n color: rgb(150,150,150);\n }\n\n .CardAction {\n opacity: 0.2;\n }\n\n .Card.More {\n display: inline-block;\n text-align: center;\n }\n ");
49447
49480
  });
49448
49481
 
49449
49482
  var DialogStyle = (function (style) {
49450
- return "\n\n .ReactDialogBackground {\n backdrop-filter: blur(5px);\n background: rgba(0,0,0,0.7);\n }\n\n .Dialog {\n margin: 0 auto;\n position: relative;\n width: 420px;\n box-shadow: 0 0 20px rgba(0,0,0,0.1);\n border-radius: 0.8rem;\n }\n\n @media screen and (max-width: 450px) {\n \n .Dialog, .ReactDialogAnimation {\n width: 100%;\n }\n\n }\n\n @media (orientation: portrait) and (max-width: 900px) {\n\n .Dialog {\n align-content: stretch;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .DialogBody {\n flex: 1;\n align-items: flex-end;\n max-height: 60vh !important;\n }\n\n .DialogFooter {\n padding-bottom: 20px;\n }\n\n .ReactDialogStackCell {\n vertical-align: bottom;\n }\n\n .ReactDialogAnimation {\n bottom: -100px !important;\n max-height: 66vh !important;\n top: inherit !important;\n transition: opacity 0.4s ease, bottom 0.4s ease;\n }\n\n .ReactDialog.ReactDialogOpen .ReactDialogAnimation {\n bottom: 0px !important;\n }\n\n .DialogFooter {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n }\n\n .DialogBody {\n background: rgb(248,248,248);\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .DialogBody.HeightAuto {\n height: auto;\n }\n\n .DialogHeader {\n background: rgb(248,248,248);\n border-top-left-radius: 0.8rem;\n border-top-right-radius: 0.8rem;\n display: flex;\n flex-direction: row;\n position: relative;\n }\n\n .DialogHeaderTitle {\n flex-basis: auto;\n flex-grow: 1;\n }\n \n .DialogHeaderAction {\n height: 3rem;\n }\n\n .DialogFooter {\n background: rgb(248,248,248);\n border-bottom-left-radius: 0.8rem;\n border-bottom-right-radius: 0.8rem;\n line-height: 1.5rem;\n min-height: 2rem;\n position: relative;\n text-align: center;\n }\n\n .ReactShadowDOMInsideContainer > .ReactDialog {\n display: table;\n }\n\n ";
49483
+ return "\n\n .ReactDialogBackground {\n backdrop-filter: blur(5px);\n background: rgba(0,0,0,0.7);\n }\n\n .Dialog {\n margin: 0 auto;\n position: relative;\n width: 420px;\n box-shadow: 0 0 20px rgba(0,0,0,0.1);\n border-radius: 0.8rem;\n background: rgb(248,248,248);\n }\n\n @media screen and (max-width: 450px) {\n \n .Dialog, .ReactDialogAnimation {\n width: 100%;\n }\n\n }\n\n @media (orientation: portrait) and (max-width: 900px) {\n\n .Dialog {\n align-content: stretch;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .DialogBody {\n flex: 1;\n align-items: flex-end;\n }\n\n .DialogFooter {\n padding-bottom: 20px;\n }\n\n .ReactDialogStackCell {\n vertical-align: bottom;\n }\n\n .ReactDialogAnimation {\n bottom: -100px !important;\n top: inherit !important;\n transition: opacity 0.4s ease, bottom 0.4s ease;\n }\n\n .ReactDialog.ReactDialogOpen .ReactDialogAnimation {\n bottom: 0px !important;\n }\n\n .DialogFooter {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n }\n\n .DialogBody {\n background: rgb(248,248,248);\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .DialogBody.ScrollHeight {\n height: 30vh !important;\n max-height: 30vh !important;\n }\n\n .DialogHeader {\n background: rgb(248,248,248);\n border-top-left-radius: 0.8rem;\n border-top-right-radius: 0.8rem;\n min-height: 3.4rem;\n position: relative;\n width: 100%;\n }\n\n .DialogHeaderActionRight {\n position: absolute;\n top: 0;\n right: 0;\n height: 3rem;\n }\n\n .DialogHeaderActionLeft {\n position: absolute;\n top: 0;\n left: 0;\n height: 3rem;\n }\n\n .DialogFooter {\n background: rgb(248,248,248);\n border-bottom-left-radius: 0.8rem;\n border-bottom-right-radius: 0.8rem;\n line-height: 1.5rem;\n min-height: 2rem;\n position: relative;\n text-align: center;\n }\n\n .ReactShadowDOMInsideContainer > .ReactDialog {\n display: table;\n }\n\n ";
49451
49484
  });
49452
49485
 
49453
49486
  var FontStyle = (function (style) {
@@ -49478,6 +49511,10 @@ var LabelStyle = (function (style) {
49478
49511
  return "\n\n .Label {\n background: rgb(248,248,248);\n border-radius: 999px;\n color: ".concat(style.colors.primary, ";\n font-size: 0.8rem;\n padding: 0.1rem 0.5rem;\n margin: 0.1rem;\n }\n\n ");
49479
49512
  });
49480
49513
 
49514
+ var LinkStyle = (function (style) {
49515
+ return "\n\n .Link {\n color: ".concat(style.colors.primary, ";\n cursor: pointer;\n text-decoration: none;\n }\n\n .Link:hover {\n filter: brightness(0.8);\n }\n\n .Link:active {\n filter: brightness(1.0);\n }\n ");
49516
+ });
49517
+
49481
49518
  var LoadingTextStyle = (function (style) {
49482
49519
  return "\n\n .LoadingText {\n color: ".concat(style.colors.buttonText, ";\n display: inline-block;\n text-decoration: none;\n }\n\n @keyframes blink {\n 0% { opacity: .2; }\n 20% { opacity: 1; }\n 100% { opacity: .2; }\n }\n \n .LoadingText .dot {\n animation-name: blink;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-fill-mode: both;\n }\n \n .LoadingText .dot:nth-child(2) {\n animation-delay: .2s;\n }\n \n .LoadingText .dot:nth-child(3) {\n animation-delay: .4s;\n }\n ");
49483
49520
  });
@@ -49502,10 +49539,18 @@ var ResetStyle = (function () {
49502
49539
  return "\n\n html, body, div, span, applet, object, iframe,\n h1, h2, h3, h4, h5, h6, p, blockquote, pre,\n a, abbr, acronym, address, big, cite, code,\n del, dfn, em, img, ins, kbd, q, s, samp,\n small, strike, strong, sub, sup, tt, var,\n b, u, i, center,\n dl, dt, dd, ol, ul, li,\n fieldset, form, label, legend,\n table, caption, tbody, tfoot, thead, tr, th, td,\n article, aside, canvas, details, embed, \n figure, figcaption, footer, header, hgroup, \n menu, nav, output, ruby, section, summary,\n time, mark, audio, video {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font: inherit;\n text-align: inherit;\n vertical-align: baseline;\n }\n\n article, aside, details, figcaption, figure, \n footer, header, hgroup, menu, nav, section {\n display: block;\n }\n\n body {\n line-height: 1;\n }\n\n ol, ul {\n list-style: none;\n }\n\n blockquote, q {\n quotes: none;\n }\n\n blockquote:before, blockquote:after,\n q:before, q:after {\n content: '';\n content: none;\n }\n \n table {\n border-collapse: collapse;\n border-spacing: 0;\n }\n\n * {\n box-sizing: border-box;\n }\n\n button {\n border: 0;\n background: none;\n outline: none;\n }\n\n ";
49503
49540
  });
49504
49541
 
49542
+ var SearchStyle = (function (style) {
49543
+ return "\n\n .Search {\n border-radius: 0.8rem;\n border: 1px solid rgba(0,0,0,0.2);\n outline: none !important;\n color: ".concat(style.colors.text, ";\n font-size: 1.2rem;\n padding: 0.8rem;\n width: 100%;\n }\n\n .Search::placeholder {\n color: rgb(180,180,180);\n } \n\n .Search:focus, .Search:focus-visible {\n border: 1px solid ").concat(style.colors.primary, ";\n }\n\n ");
49544
+ });
49545
+
49505
49546
  var SkeletonStyle = (function () {
49506
49547
  return "\n \n .Skeleton {\n background: rgb(230,230,230) !important;\n border: 0px solid transparent !important;\n box-shadow: none !important;\n cursor: inherit !important;\n line-height: 0;\n overflow: hidden;\n position: relative;\n }\n\n @keyframes SkeletonBackgroundAnimation {\n from {\n left: -500px;\n }\n to {\n left: +120%;\n }\n }\n\n .SkeletonBackground {\n animation: 2s SkeletonBackgroundAnimation 0.2s ease infinite;\n background: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.1) 50%, transparent 100%);\n height: 100%;\n left: -140%;\n position: absolute;\n top: 0;\n width: 400px;\n }\n\n .SkeletonWrapper {\n line-height: 0;\n }\n ";
49507
49548
  });
49508
49549
 
49550
+ var TableStyle = (function (style) {
49551
+ return "\n\n .Table {\n border-collapse: separate;\n border-radius: 0.4rem;\n border-style: hidden;\n border: 1px solid rgba(0,0,0,0.1);\n font-size: 94%;\n width: 100%;\n }\n\n .Table tr.small td {\n font-size: 90%;\n }\n\n .Table tr td {\n border-bottom: 1px solid rgba(0,0,0,0.1);\n word-break: break-all;\n }\n \n .Table tr:last-child td {\n border-bottom: none;\n }\n \n .Table tr td {\n padding: 0.5rem 0.9rem;\n text-align: left;\n }\n \n .Table tr td:first-child {\n width: 30%\n }\n\n .Table tr td:last-child {\n width: 70%\n }\n \n .Table .TableSubTitle {\n font-weight: 300;\n opacity: 0.7;\n }\n\n .Table tr td:last-child {\n font-weight: 500;\n }\n ";
49552
+ });
49553
+
49509
49554
  var TextButtonStyle = (function (style) {
49510
49555
  return "\n\n .TextButton {\n cursor: pointer;\n font-size: 16px;\n color: ".concat(style.colors.primary, "\n }\n\n .TextButton:hover * {\n opacity: 1.0;\n }\n ");
49511
49556
  });
@@ -49515,7 +49560,15 @@ var TextStyle = (function (style) {
49515
49560
  });
49516
49561
 
49517
49562
  var TokenAmountStyle = (function () {
49518
- return "\n \n .TokenAmountRow {\n min-width: 0;\n width: 100%;\n display: flex;\n flex-direction: row;\n }\n\n .TokenAmountCell {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .TokenSymbolCell {\n \n }\n ";
49563
+ return "\n \n .TokenAmountRow {\n min-width: 0;\n width: 100%;\n display: flex;\n flex-direction: row;\n }\n\n .TokenAmountCell {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .TokenSymbolCell {\n }\n ";
49564
+ });
49565
+
49566
+ var TokenImageStyle = (function (style) {
49567
+ return "\n\n .TokenImage img {\n background: white;\n border-radius: 99rem;\n border: 1px solid white;\n background: rgba(0,0,0,0.1);\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 2.8rem;\n position: relative;\n vertical-align: middle;\n width: 2.8rem;\n }\n\n .TokenImage.medium img {\n height: 5.8rem;\n width: 5.8rem;\n }\n ";
49568
+ });
49569
+
49570
+ var TooltipStyle = (function (style) {
49571
+ return "\n\n .Tooltip {\n background: ".concat(style.colors.primary, ";\n border-radius: 0.6rem;\n color: ").concat(style.colors.buttonText, ";\n padding: 0.6rem 0.8rem;\n position: relative;\n box-shadow: 0 0 8px rgba(0,0,0,0.2);\n }\n\n .TooltipArrowUp {\n border-bottom: 10px solid ").concat(style.colors.primary, ";\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n height: 0; \n left: 12px;\n position: absolute;\n top: -8px;\n width: 0; \n }\n ");
49519
49572
  });
49520
49573
 
49521
49574
  var styleRenderer = (function (style) {
@@ -49528,13 +49581,9 @@ var styleRenderer = (function (style) {
49528
49581
  },
49529
49582
  fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'
49530
49583
  }, style);
49531
- return [ResetStyle(), FontStyle(style), DialogStyle(), ButtonCircularStyle(), ButtonPrimaryStyle(style), CardStyle(style), PoweredByStyle(style), GraphicStyle(), SkeletonStyle(), TokenAmountStyle(), TextStyle(style), IconStyle(style), OpacityStyle(), PaddingStyle(), HeightStyle(), LabelStyle(style), LoadingTextStyle(style), RangeSliderStyle(style), InputStyle(), TextButtonStyle(style), ImageStyle(), BlockchainLogoStyle()].join('');
49584
+ return [ResetStyle(), FontStyle(style), DialogStyle(), ButtonCircularStyle(), ButtonPrimaryStyle(style), CardStyle(style), PoweredByStyle(style), GraphicStyle(), SkeletonStyle(), TokenAmountStyle(), TextStyle(style), IconStyle(style), OpacityStyle(), PaddingStyle(), HeightStyle(), LabelStyle(style), LoadingTextStyle(style), RangeSliderStyle(style), InputStyle(), TextButtonStyle(style), ImageStyle(), BlockchainLogoStyle(), SearchStyle(style), TokenImageStyle(), AlertStyle(), TableStyle(), LinkStyle(style), TooltipStyle(style)].join('');
49532
49585
  });
49533
49586
 
49534
- function _interopDefaultLegacy$1 (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
49535
-
49536
- var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy$1(reactDom);
49537
-
49538
49587
  const insideContainerClass = 'ReactShadowDOMInsideContainer';
49539
49588
 
49540
49589
  function createInsideContainer({ document, shadow, style }) {
@@ -49585,7 +49634,7 @@ function unmount(outsideContainer) {
49585
49634
  if (shadowRoot) {
49586
49635
  const insideContainer = shadowRoot.childNodes[0];
49587
49636
  if (insideContainer) {
49588
- ReactDOM__default['default'].unmountComponentAtNode(insideContainer);
49637
+ reactDom.unmountComponentAtNode(insideContainer);
49589
49638
  }
49590
49639
  }
49591
49640
 
@@ -49608,13 +49657,11 @@ function ReactShadowDOM({ document, element, content, outsideStyle = '', insideS
49608
49657
  content = content(insideContainer);
49609
49658
  }
49610
49659
 
49611
- ReactDOM__default['default'].render(content, insideContainer);
49660
+ reactDom.render(content, insideContainer);
49612
49661
 
49613
49662
  return { content, unmount: () => unmount(outsideContainer) }
49614
49663
  }
49615
49664
 
49616
- var ReactShadowDOM_1 = ReactShadowDOM;
49617
-
49618
49665
  var mount = (function (_ref, content) {
49619
49666
  var style = _ref.style,
49620
49667
  document = _ref.document,
@@ -49636,7 +49683,7 @@ var mount = (function (_ref, content) {
49636
49683
  }, 300);
49637
49684
  };
49638
49685
 
49639
- var _ReactShadowDOM = ReactShadowDOM_1({
49686
+ var _ReactShadowDOM = ReactShadowDOM({
49640
49687
  document: document,
49641
49688
  element: document.body,
49642
49689
  content: content(unmountShadowDOM),
@@ -49725,7 +49772,7 @@ var Connect = function Connect(options) {
49725
49772
 
49726
49773
  return function (container) {
49727
49774
  return /*#__PURE__*/react.createElement(ErrorProvider, {
49728
- error: error,
49775
+ errorCallback: error,
49729
49776
  container: container,
49730
49777
  unmount: unmount
49731
49778
  }, /*#__PURE__*/react.createElement(UpdatableProvider, null, /*#__PURE__*/react.createElement(ClosableProvider, {
@@ -62522,7 +62569,7 @@ var PaymentProvider = (function (props) {
62522
62569
  }, [allRoutes]);
62523
62570
 
62524
62571
  if (allRoutes instanceof Array && allRoutes.length == 0) {
62525
- return /*#__PURE__*/react.createElement(ReactDialogStack_1, {
62572
+ return /*#__PURE__*/react.createElement(ReactDialogStack, {
62526
62573
  open: open,
62527
62574
  close: close,
62528
62575
  start: "NoPaymentMethodFound",
@@ -69280,14 +69327,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
69280
69327
 
69281
69328
  var _default = _Rangeslider2.default;
69282
69329
 
69283
- var web3Blockchains = /*@__PURE__*/getAugmentedNamespace(es$1);
69284
-
69285
- var web3Constants = /*@__PURE__*/getAugmentedNamespace(es);
69286
-
69287
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
69288
-
69289
- var React__default = /*#__PURE__*/_interopDefaultLegacy(react);
69290
-
69291
69330
  const _jsxFileName = "/home/runner/work/react-token-image/react-token-image/src/index.jsx";
69292
69331
  let TokenImage = function(props){
69293
69332
 
@@ -69298,8 +69337,8 @@ let TokenImage = function(props){
69298
69337
  const address = props.address;
69299
69338
 
69300
69339
  react.useEffect(()=>{
69301
- if(web3Constants.CONSTANTS[blockchain].NATIVE.toLowerCase() == address.toLowerCase()) {
69302
- setSrc(web3Blockchains.Blockchain.findByName(blockchain).logo);
69340
+ if(CONSTANTS$2[blockchain].NATIVE.toLowerCase() == address.toLowerCase()) {
69341
+ setSrc(Blockchain.findByName(blockchain).logo);
69303
69342
  } else {
69304
69343
  setSrc(trustWalletAddress({ blockchain, address }));
69305
69344
  }
@@ -69333,17 +69372,15 @@ let TokenImage = function(props){
69333
69372
  if(src == undefined) { return null }
69334
69373
 
69335
69374
  return(
69336
- React__default['default'].createElement('img', {
69375
+ react.createElement('img', {
69337
69376
  src: src ,
69338
69377
  onError: handleLoadError , __self: this, __source: {fileName: _jsxFileName, lineNumber: 51}}
69339
69378
  )
69340
69379
  )
69341
69380
  };
69342
69381
 
69343
- var TokenImage_1 = TokenImage;
69344
-
69345
69382
  var ChangeAmountDialog = (function (props) {
69346
- var _useContext = react.useContext(NavigateStackContext_1),
69383
+ var _useContext = react.useContext(NavigateStackContext),
69347
69384
  navigate = _useContext.navigate;
69348
69385
 
69349
69386
  var _useContext2 = react.useContext(ErrorContext);
@@ -69509,7 +69546,7 @@ var ChangePaymentDialog = (function (props) {
69509
69546
  var _useContext3 = react.useContext(PaymentValueContext),
69510
69547
  paymentValue = _useContext3.paymentValue;
69511
69548
 
69512
- var _useContext4 = react.useContext(NavigateStackContext_1),
69549
+ var _useContext4 = react.useContext(NavigateStackContext),
69513
69550
  navigate = _useContext4.navigate;
69514
69551
 
69515
69552
  var _useState = react.useState([]),
@@ -69556,7 +69593,7 @@ var ChangePaymentDialog = (function (props) {
69556
69593
  }
69557
69594
  }, /*#__PURE__*/react.createElement("div", {
69558
69595
  className: "CardImage"
69559
- }, /*#__PURE__*/react.createElement(TokenImage_1, {
69596
+ }, /*#__PURE__*/react.createElement(TokenImage, {
69560
69597
  blockchain: payment.route.blockchain,
69561
69598
  address: payment.route.fromToken.address
69562
69599
  }), /*#__PURE__*/react.createElement("img", {
@@ -69612,7 +69649,7 @@ var DonationOverviewSkeleton = (function (props) {
69612
69649
  className: "LineHeightL FontSizeL"
69613
69650
  }, "Donation")),
69614
69651
  body: /*#__PURE__*/react.createElement("div", {
69615
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
69652
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
69616
69653
  }, /*#__PURE__*/react.createElement("div", {
69617
69654
  className: "Card Skeleton"
69618
69655
  }, /*#__PURE__*/react.createElement("div", {
@@ -69724,7 +69761,7 @@ var Footer = (function () {
69724
69761
  var _useContext5 = react.useContext(PaymentValueContext),
69725
69762
  paymentValue = _useContext5.paymentValue;
69726
69763
 
69727
- var _useContext6 = react.useContext(NavigateStackContext_1),
69764
+ var _useContext6 = react.useContext(NavigateStackContext),
69728
69765
  navigate = _useContext6.navigate;
69729
69766
 
69730
69767
  var _useContext7 = react.useContext(ClosableContext),
@@ -69907,7 +69944,7 @@ var DonationOverviewDialog = (function (props) {
69907
69944
  payment = _useContext3.payment,
69908
69945
  paymentState = _useContext3.paymentState;
69909
69946
 
69910
- var _useContext4 = react.useContext(NavigateStackContext_1),
69947
+ var _useContext4 = react.useContext(NavigateStackContext),
69911
69948
  navigate = _useContext4.navigate;
69912
69949
 
69913
69950
  if (payment == undefined) {
@@ -69921,7 +69958,7 @@ var DonationOverviewDialog = (function (props) {
69921
69958
  className: "LineHeightL FontSizeL"
69922
69959
  }, "Donation")),
69923
69960
  body: /*#__PURE__*/react.createElement("div", {
69924
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
69961
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
69925
69962
  }, /*#__PURE__*/react.createElement("div", {
69926
69963
  className: ["Card", paymentState == 'initialized' ? '' : 'disabled'].join(' '),
69927
69964
  title: paymentState == 'initialized' ? "Change amount" : undefined,
@@ -69960,7 +69997,7 @@ var DonationOverviewDialog = (function (props) {
69960
69997
  }, /*#__PURE__*/react.createElement("div", {
69961
69998
  className: "CardImage",
69962
69999
  title: payment.name
69963
- }, /*#__PURE__*/react.createElement(TokenImage_1, {
70000
+ }, /*#__PURE__*/react.createElement(TokenImage, {
69964
70001
  blockchain: payment.route.blockchain,
69965
70002
  address: payment.token
69966
70003
  })), /*#__PURE__*/react.createElement("div", {
@@ -69987,7 +70024,7 @@ var DonationOverviewDialog = (function (props) {
69987
70024
  });
69988
70025
 
69989
70026
  var PaymentErrorDialog = (function () {
69990
- var _useContext = react.useContext(NavigateStackContext_1),
70027
+ var _useContext = react.useContext(NavigateStackContext),
69991
70028
  navigate = _useContext.navigate;
69992
70029
 
69993
70030
  var _useContext2 = react.useContext(PaymentContext),
@@ -70035,7 +70072,7 @@ var WrongNetworkDialog = (function (props) {
70035
70072
  var _useContext = react.useContext(PaymentContext),
70036
70073
  payment = _useContext.payment;
70037
70074
 
70038
- var _useContext2 = react.useContext(NavigateStackContext_1),
70075
+ var _useContext2 = react.useContext(NavigateStackContext),
70039
70076
  navigate = _useContext2.navigate;
70040
70077
 
70041
70078
  var blockchain = Blockchain.findByName(payment.route.blockchain);
@@ -70076,7 +70113,7 @@ var DonationStack = (function (props) {
70076
70113
  open = _useContext.open,
70077
70114
  close = _useContext.close;
70078
70115
 
70079
- return /*#__PURE__*/react.createElement(ReactDialogStack_1, {
70116
+ return /*#__PURE__*/react.createElement(ReactDialogStack, {
70080
70117
  open: open,
70081
70118
  close: close,
70082
70119
  start: "DonationOverview",
@@ -70330,7 +70367,7 @@ var Donation = /*#__PURE__*/function () {
70330
70367
  }, function (unmount) {
70331
70368
  return function (container) {
70332
70369
  return /*#__PURE__*/react.createElement(ErrorProvider, {
70333
- error: error,
70370
+ errorCallback: error,
70334
70371
  container: container,
70335
70372
  unmount: unmount
70336
70373
  }, /*#__PURE__*/react.createElement(ConfigurationProvider, {
@@ -70394,11 +70431,6 @@ var SignLoginDialog = (function (props) {
70394
70431
  var _useContext = react.useContext(ErrorContext),
70395
70432
  setError = _useContext.setError;
70396
70433
 
70397
- var _useState = react.useState(false),
70398
- _useState2 = _slicedToArray(_useState, 2),
70399
- showSignButton = _useState2[0],
70400
- setShowSignButton = _useState2[1];
70401
-
70402
70434
  var _useContext2 = react.useContext(ConfigurationContext),
70403
70435
  message = _useContext2.message,
70404
70436
  endpoint = _useContext2.endpoint;
@@ -70442,20 +70474,13 @@ var SignLoginDialog = (function (props) {
70442
70474
  message: message,
70443
70475
  signature: signature
70444
70476
  }).then(props.resolve)["catch"](setError);
70445
- })["catch"](setError);
70477
+ })["catch"](function (error) {
70478
+ if (error && error.code && error.code == 4001) ; else {
70479
+ setError(error);
70480
+ }
70481
+ });
70446
70482
  };
70447
70483
 
70448
- react.useEffect(function () {
70449
- return setTimeout(login, 1000);
70450
- }, []);
70451
- react.useEffect(function () {
70452
- var timeout = setTimeout(function () {
70453
- return setShowSignButton(true);
70454
- }, 10000);
70455
- return function () {
70456
- return clearTimeout(timeout);
70457
- };
70458
- }, []);
70459
70484
  return /*#__PURE__*/react.createElement(Dialog, {
70460
70485
  body: /*#__PURE__*/react.createElement("div", null, walletLogo && /*#__PURE__*/react.createElement("div", {
70461
70486
  className: "GraphicWrapper PaddingTopS PaddingBottomS"
@@ -70468,8 +70493,8 @@ var SignLoginDialog = (function (props) {
70468
70493
  className: "Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"
70469
70494
  }, /*#__PURE__*/react.createElement("p", {
70470
70495
  className: "FontSizeM PaddingLeftM PaddingRightM"
70471
- }, "Please sign the login message with your connected wallet."))),
70472
- footer: showSignButton && /*#__PURE__*/react.createElement("div", {
70496
+ }, "Please click \"Log in\" and sign the message with your connected wallet."))),
70497
+ footer: /*#__PURE__*/react.createElement("div", {
70473
70498
  className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
70474
70499
  }, /*#__PURE__*/react.createElement("button", {
70475
70500
  className: "ButtonPrimary",
@@ -70488,7 +70513,7 @@ var LoginStack = (function (props) {
70488
70513
  _useState2[0];
70489
70514
  _useState2[1];
70490
70515
 
70491
- return /*#__PURE__*/react.createElement(ReactDialogStack_1, {
70516
+ return /*#__PURE__*/react.createElement(ReactDialogStack, {
70492
70517
  open: open,
70493
70518
  close: close,
70494
70519
  start: "SignLogin",
@@ -70496,7 +70521,8 @@ var LoginStack = (function (props) {
70496
70521
  document: props.document,
70497
70522
  dialogs: {
70498
70523
  SignLogin: /*#__PURE__*/react.createElement(SignLoginDialog, {
70499
- resolve: props.resolve
70524
+ resolve: props.resolve,
70525
+ userClosedDialog: props.userClosedDialog
70500
70526
  })
70501
70527
  }
70502
70528
  });
@@ -70525,14 +70551,14 @@ var Login = function Login(options) {
70525
70551
  style: style,
70526
70552
  document: ensureDocument(document)
70527
70553
  }, function (unmount) {
70528
- var rejectBeforeUnmount = function rejectBeforeUnmount() {
70554
+ var userClosedDialog = function userClosedDialog() {
70529
70555
  reject('USER_CLOSED_DIALOG');
70530
70556
  unmount();
70531
70557
  };
70532
70558
 
70533
70559
  return function (container) {
70534
70560
  return /*#__PURE__*/react.createElement(ErrorProvider, {
70535
- error: error,
70561
+ errorCallback: error,
70536
70562
  container: container,
70537
70563
  unmount: unmount
70538
70564
  }, /*#__PURE__*/react.createElement(ConfigurationProvider, {
@@ -70542,7 +70568,7 @@ var Login = function Login(options) {
70542
70568
  recover: recover
70543
70569
  }
70544
70570
  }, /*#__PURE__*/react.createElement(UpdatableProvider, null, /*#__PURE__*/react.createElement(ClosableProvider, {
70545
- unmount: rejectBeforeUnmount
70571
+ unmount: userClosedDialog
70546
70572
  }, /*#__PURE__*/react.createElement(LoginStack, {
70547
70573
  document: document,
70548
70574
  container: container,
@@ -70614,7 +70640,7 @@ var PaymentOverviewSkeleton = (function (props) {
70614
70640
  className: "LineHeightL FontSizeL"
70615
70641
  }, "Payment")),
70616
70642
  body: /*#__PURE__*/react.createElement("div", {
70617
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
70643
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
70618
70644
  }, amountsMissing && /*#__PURE__*/react.createElement("div", {
70619
70645
  className: "Card Skeleton"
70620
70646
  }, /*#__PURE__*/react.createElement("div", {
@@ -70651,7 +70677,7 @@ var PaymentOverviewDialog = (function (props) {
70651
70677
  var _useContext4 = react.useContext(PaymentValueContext),
70652
70678
  paymentValue = _useContext4.paymentValue;
70653
70679
 
70654
- var _useContext5 = react.useContext(NavigateStackContext_1),
70680
+ var _useContext5 = react.useContext(NavigateStackContext),
70655
70681
  navigate = _useContext5.navigate;
70656
70682
 
70657
70683
  if (payment == undefined || paymentValue == undefined) {
@@ -70665,7 +70691,7 @@ var PaymentOverviewDialog = (function (props) {
70665
70691
  className: "LineHeightL FontSizeL"
70666
70692
  }, "Payment")),
70667
70693
  body: /*#__PURE__*/react.createElement("div", {
70668
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
70694
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
70669
70695
  }, amountsMissing && /*#__PURE__*/react.createElement("div", {
70670
70696
  className: ["Card", paymentState == 'initialized' ? '' : 'disabled'].join(' '),
70671
70697
  title: paymentState == 'initialized' ? "Change amount" : undefined,
@@ -70704,7 +70730,7 @@ var PaymentOverviewDialog = (function (props) {
70704
70730
  }, /*#__PURE__*/react.createElement("div", {
70705
70731
  className: "CardImage",
70706
70732
  title: payment.name
70707
- }, /*#__PURE__*/react.createElement(TokenImage_1, {
70733
+ }, /*#__PURE__*/react.createElement(TokenImage, {
70708
70734
  blockchain: payment.route.blockchain,
70709
70735
  address: payment.token
70710
70736
  })), /*#__PURE__*/react.createElement("div", {
@@ -70735,7 +70761,7 @@ var PaymentStack = (function (props) {
70735
70761
  open = _useContext.open,
70736
70762
  close = _useContext.close;
70737
70763
 
70738
- return /*#__PURE__*/react.createElement(ReactDialogStack_1, {
70764
+ return /*#__PURE__*/react.createElement(ReactDialogStack, {
70739
70765
  open: open,
70740
70766
  close: close,
70741
70767
  start: "PaymentOverview",
@@ -70812,7 +70838,7 @@ var Payment = /*#__PURE__*/function () {
70812
70838
  }, function (unmount) {
70813
70839
  return function (container) {
70814
70840
  return /*#__PURE__*/react.createElement(ErrorProvider, {
70815
- error: error,
70841
+ errorCallback: error,
70816
70842
  container: container,
70817
70843
  unmount: unmount
70818
70844
  }, /*#__PURE__*/react.createElement(ConfigurationProvider, {
@@ -70966,7 +70992,7 @@ var SaleOverviewSkeleton = (function (props) {
70966
70992
  className: "LineHeightL FontSizeL"
70967
70993
  }, "Purchase")),
70968
70994
  body: /*#__PURE__*/react.createElement("div", {
70969
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
70995
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
70970
70996
  }, /*#__PURE__*/react.createElement("div", {
70971
70997
  className: "Card Skeleton",
70972
70998
  style: {
@@ -71005,7 +71031,7 @@ var SaleOverviewDialog = (function (props) {
71005
71031
  payment = _useContext4.payment,
71006
71032
  paymentState = _useContext4.paymentState;
71007
71033
 
71008
- var _useContext5 = react.useContext(NavigateStackContext_1),
71034
+ var _useContext5 = react.useContext(NavigateStackContext),
71009
71035
  navigate = _useContext5.navigate;
71010
71036
 
71011
71037
  var _useContext6 = react.useContext(ToTokenContext),
@@ -71037,7 +71063,7 @@ var SaleOverviewDialog = (function (props) {
71037
71063
  src: tokenImage
71038
71064
  });
71039
71065
  } else {
71040
- tokenImageElement = /*#__PURE__*/react.createElement(TokenImage_1, {
71066
+ tokenImageElement = /*#__PURE__*/react.createElement(TokenImage, {
71041
71067
  blockchain: payment.route.blockchain,
71042
71068
  address: toToken.address
71043
71069
  });
@@ -71050,7 +71076,7 @@ var SaleOverviewDialog = (function (props) {
71050
71076
  className: "LineHeightL FontSizeL"
71051
71077
  }, "Purchase")),
71052
71078
  body: /*#__PURE__*/react.createElement("div", {
71053
- className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
71079
+ className: "PaddingLeftM PaddingRightM PaddingBottomXS"
71054
71080
  }, /*#__PURE__*/react.createElement("div", {
71055
71081
  className: ["Card", paymentState == 'initialized' ? '' : 'disabled'].join(' '),
71056
71082
  title: paymentState == 'initialized' ? "Change amount" : undefined,
@@ -71095,7 +71121,7 @@ var SaleOverviewDialog = (function (props) {
71095
71121
  }, /*#__PURE__*/react.createElement("div", {
71096
71122
  className: "CardImage",
71097
71123
  title: payment.name
71098
- }, /*#__PURE__*/react.createElement(TokenImage_1, {
71124
+ }, /*#__PURE__*/react.createElement(TokenImage, {
71099
71125
  blockchain: payment.route.blockchain,
71100
71126
  address: payment.token
71101
71127
  })), /*#__PURE__*/react.createElement("div", {
@@ -71126,7 +71152,7 @@ var SaleStack = (function (props) {
71126
71152
  open = _useContext.open,
71127
71153
  close = _useContext.close;
71128
71154
 
71129
- return /*#__PURE__*/react.createElement(ReactDialogStack_1, {
71155
+ return /*#__PURE__*/react.createElement(ReactDialogStack, {
71130
71156
  open: open,
71131
71157
  close: close,
71132
71158
  start: "SaleOverview",
@@ -71216,7 +71242,7 @@ var Sale = /*#__PURE__*/function () {
71216
71242
  }, function (unmount) {
71217
71243
  return function (container) {
71218
71244
  return /*#__PURE__*/react.createElement(ErrorProvider, {
71219
- error: error,
71245
+ errorCallback: error,
71220
71246
  container: container,
71221
71247
  unmount: unmount
71222
71248
  }, /*#__PURE__*/react.createElement(ConfigurationProvider, {
@@ -71276,12 +71302,572 @@ var Sale = /*#__PURE__*/function () {
71276
71302
  };
71277
71303
  }();
71278
71304
 
71305
+ var SelectionContext = /*#__PURE__*/react.createContext();
71306
+
71307
+ var SelectionProvider = (function (props) {
71308
+ var _useState = react.useState({}),
71309
+ _useState2 = _slicedToArray(_useState, 2),
71310
+ selection = _useState2[0],
71311
+ setSelection = _useState2[1];
71312
+
71313
+ return /*#__PURE__*/react.createElement(SelectionContext.Provider, {
71314
+ value: {
71315
+ selection: selection,
71316
+ setSelection: setSelection
71317
+ }
71318
+ }, props.children);
71319
+ });
71320
+
71321
+ var msToTime = (function (ms) {
71322
+ var year, month, day, hour, minute, second;
71323
+ second = Math.floor(ms / 1000);
71324
+ minute = Math.floor(second / 60);
71325
+ second = second % 60;
71326
+ hour = Math.floor(minute / 60);
71327
+ minute = minute % 60;
71328
+ day = Math.floor(hour / 24);
71329
+ hour = hour % 24;
71330
+ month = Math.floor(day / 30);
71331
+ day = day % 30;
71332
+ year = Math.floor(month / 12);
71333
+ month = month % 12;
71334
+ return {
71335
+ year: year,
71336
+ month: month,
71337
+ day: day,
71338
+ hour: hour,
71339
+ minute: minute,
71340
+ second: second
71341
+ };
71342
+ });
71343
+
71344
+ var ConfirmTokenSelectionDialog = (function (props) {
71345
+ var _useContext = react.useContext(SelectionContext),
71346
+ selection = _useContext.selection;
71347
+
71348
+ var _useContext2 = react.useContext(ClosableContext),
71349
+ setOpen = _useContext2.setOpen;
71350
+
71351
+ var token = selection.token;
71352
+ var address = token.address || token.external_id;
71353
+ var logo = token.logo || token.image;
71354
+ var blockchain = Blockchain.findByName(token.blockchain);
71355
+ var age = token.first_transfer ? msToTime(new Date() - new Date(token.first_transfer)) : undefined;
71356
+
71357
+ if (age) {
71358
+ age = [age.year && age.year >= 1 ? age.year >= 2 ? "".concat(age.year, " years") : "1 year" : undefined, age.month && age.month >= 1 ? age.month >= 2 ? "".concat(age.month, " months") : "1 month" : undefined, age.day && age.day >= 1 && age.month <= 1 && age.year < 1 ? age.day >= 2 ? "".concat(age.day, " days !!!") : "1 day !!!" : undefined].filter(function (n) {
71359
+ return n;
71360
+ }).join(' ');
71361
+ }
71362
+
71363
+ var holders = token.unique_senders ? token.unique_senders : undefined;
71364
+
71365
+ if (holders) {
71366
+ if (holders > 1000000) {
71367
+ holders = "Millions";
71368
+ } else if (holders > 100000) {
71369
+ holders = "Hundreds of Thousands";
71370
+ } else if (holders > 2000) {
71371
+ holders = "Thousands";
71372
+ } else if (holders > 100) {
71373
+ holders = "Hundreds";
71374
+ } else {
71375
+ holders = "Only a Few!!!";
71376
+ }
71377
+ }
71378
+
71379
+ var onClickConfirm = function onClickConfirm() {
71380
+ setOpen(false);
71381
+ props.resolve({
71382
+ blockchain: token.blockchain,
71383
+ address: token.external_id,
71384
+ symbol: token.symbol,
71385
+ name: token.name,
71386
+ decimals: token.decimals,
71387
+ logo: token.image
71388
+ });
71389
+ setTimeout(props.unmount, 300);
71390
+ };
71391
+
71392
+ return /*#__PURE__*/react.createElement(Dialog, {
71393
+ header: /*#__PURE__*/react.createElement("div", {
71394
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
71395
+ }, /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("h1", {
71396
+ className: "LineHeightL FontSizeL"
71397
+ }, "Confirm Selection"))),
71398
+ stacked: true,
71399
+ body: /*#__PURE__*/react.createElement("div", {
71400
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
71401
+ }, /*#__PURE__*/react.createElement("div", {
71402
+ className: "TokenImage medium"
71403
+ }, logo && /*#__PURE__*/react.createElement("img", {
71404
+ src: logo
71405
+ }), !logo && /*#__PURE__*/react.createElement(TokenImage, {
71406
+ blockchain: token.blockchain,
71407
+ address: address
71408
+ })), /*#__PURE__*/react.createElement("div", {
71409
+ className: "PaddingTopS"
71410
+ }, /*#__PURE__*/react.createElement("div", {
71411
+ className: "Alert"
71412
+ }, /*#__PURE__*/react.createElement("strong", null, "Please review this information"))), /*#__PURE__*/react.createElement("div", {
71413
+ className: "PaddingTopXS"
71414
+ }, /*#__PURE__*/react.createElement("table", {
71415
+ className: "Table"
71416
+ }, /*#__PURE__*/react.createElement("tbody", null, /*#__PURE__*/react.createElement("tr", {
71417
+ className: "small"
71418
+ }, /*#__PURE__*/react.createElement("td", {
71419
+ colSpan: "2"
71420
+ }, /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("a", {
71421
+ className: "Link",
71422
+ href: blockchain.explorerUrlFor({
71423
+ token: address
71424
+ }),
71425
+ target: "_blank",
71426
+ rel: "noopener noreferrer"
71427
+ }, address)))), /*#__PURE__*/react.createElement("tr", null, /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", {
71428
+ className: "TableSubTitle"
71429
+ }, "Blockchain")), /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", null, blockchain.label))), /*#__PURE__*/react.createElement("tr", null, /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", {
71430
+ className: "TableSubTitle"
71431
+ }, "Symbol")), /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", null, token.symbol))), /*#__PURE__*/react.createElement("tr", null, /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", {
71432
+ className: "TableSubTitle"
71433
+ }, "Name")), /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", null, token.name))), age && /*#__PURE__*/react.createElement("tr", null, /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", {
71434
+ className: "TableSubTitle"
71435
+ }, "Age")), /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", null, age))), holders && /*#__PURE__*/react.createElement("tr", null, /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", {
71436
+ className: "TableSubTitle"
71437
+ }, "Holders")), /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", null, holders))))))),
71438
+ footer: /*#__PURE__*/react.createElement("div", {
71439
+ className: "PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"
71440
+ }, /*#__PURE__*/react.createElement("button", {
71441
+ className: "ButtonPrimary",
71442
+ onClick: onClickConfirm
71443
+ }, "Confirm"))
71444
+ });
71445
+ });
71446
+
71447
+ var SelectBlockchainDialog = (function (props) {
71448
+ var _useContext = react.useContext(SelectionContext),
71449
+ setSelection = _useContext.setSelection;
71450
+
71451
+ var _useContext2 = react.useContext(NavigateStackContext),
71452
+ navigate = _useContext2.navigate;
71453
+
71454
+ var stacked = Object.keys(props.selection).length > 1;
71455
+ var blockchains = [Blockchain.findByName('ethereum'), Blockchain.findByName('bsc')];
71456
+
71457
+ var selectBlockchain = function selectBlockchain(blockchain) {
71458
+ setSelection(Object.assign(props.selection, {
71459
+ blockchain: blockchain
71460
+ }));
71461
+
71462
+ if (stacked) {
71463
+ navigate('back');
71464
+ } else {
71465
+ props.resolve(blockchain);
71466
+ }
71467
+ };
71468
+
71469
+ var elements = blockchains.map(function (blockchain, index) {
71470
+ return /*#__PURE__*/react.createElement("div", {
71471
+ key: index,
71472
+ className: "Card Row",
71473
+ onClick: function onClick() {
71474
+ return selectBlockchain(blockchain);
71475
+ }
71476
+ }, /*#__PURE__*/react.createElement("div", {
71477
+ className: "CardImage"
71478
+ }, /*#__PURE__*/react.createElement("img", {
71479
+ className: "transparent",
71480
+ src: blockchain.logo
71481
+ })), /*#__PURE__*/react.createElement("div", {
71482
+ className: "CardBody"
71483
+ }, /*#__PURE__*/react.createElement("span", {
71484
+ className: "CardText"
71485
+ }, blockchain.label)));
71486
+ });
71487
+ return /*#__PURE__*/react.createElement(Dialog, {
71488
+ header: /*#__PURE__*/react.createElement("div", {
71489
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
71490
+ }, /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("h1", {
71491
+ className: "LineHeightL FontSizeL"
71492
+ }, "Select Blockchain"))),
71493
+ stacked: stacked,
71494
+ bodyClassName: "ScrollHeight",
71495
+ body: /*#__PURE__*/react.createElement("div", {
71496
+ className: "PaddingTopS"
71497
+ }, elements),
71498
+ footer: /*#__PURE__*/react.createElement("div", {
71499
+ className: "PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"
71500
+ })
71501
+ });
71502
+ });
71503
+
71504
+ var SelectTokenDialog = (function (props) {
71505
+ var _useContext = react.useContext(NavigateStackContext),
71506
+ navigate = _useContext.navigate;
71507
+
71508
+ var _useContext2 = react.useContext(ClosableContext),
71509
+ setOpen = _useContext2.setOpen;
71510
+
71511
+ var _useContext3 = react.useContext(SelectionContext),
71512
+ setSelection = _useContext3.setSelection;
71513
+
71514
+ var _useState = react.useState(),
71515
+ _useState2 = _slicedToArray(_useState, 2),
71516
+ requestController = _useState2[0],
71517
+ setRequestController = _useState2[1];
71518
+
71519
+ var _useState3 = react.useState(),
71520
+ _useState4 = _slicedToArray(_useState3, 2),
71521
+ blockchain = _useState4[0],
71522
+ setBlockchain = _useState4[1];
71523
+
71524
+ var _useState5 = react.useState(false),
71525
+ _useState6 = _slicedToArray(_useState5, 2),
71526
+ showAddToken = _useState6[0],
71527
+ setShowAddToken = _useState6[1];
71528
+
71529
+ var _useState7 = react.useState([]),
71530
+ _useState8 = _slicedToArray(_useState7, 2),
71531
+ tokens = _useState8[0],
71532
+ setTokens = _useState8[1];
71533
+
71534
+ var _useState9 = react.useState(),
71535
+ _useState10 = _slicedToArray(_useState9, 2);
71536
+ _useState10[0];
71537
+ _useState10[1];
71538
+
71539
+ var searchElement = react.useRef();
71540
+ var wallet = getWallet();
71541
+ react.useEffect(function () {
71542
+ var blockchain;
71543
+
71544
+ if (wallet) {
71545
+ wallet.connectedTo().then(function (name) {
71546
+ blockchain = Blockchain.findByName(name);
71547
+ setBlockchain(blockchain);
71548
+ setSelection(Object.assign(props.selection, {
71549
+ blockchain: blockchain,
71550
+ token: undefined
71551
+ }));
71552
+ setTokens(blockchain.tokens);
71553
+ });
71554
+ } else {
71555
+ blockchain = Blockchain.findByName('ethereum');
71556
+ setBlockchain(blockchain);
71557
+ setSelection(Object.assign(props.selection, {
71558
+ blockchain: blockchain,
71559
+ token: undefined
71560
+ }));
71561
+ setTokens(blockchain.tokens);
71562
+ }
71563
+ }, []);
71564
+ react.useEffect(function () {
71565
+ if (props.selection.blockchain) {
71566
+ setBlockchain(props.selection.blockchain);
71567
+ setTokens(props.selection.blockchain.tokens);
71568
+
71569
+ if (searchElement.current) {
71570
+ searchElement.current.value = '';
71571
+ searchElement.current.focus();
71572
+ }
71573
+ }
71574
+ }, [props.selection, props.selection.blockchain]);
71575
+
71576
+ var onClickChangeBlockchain = function onClickChangeBlockchain() {
71577
+ navigate('SelectBlockchain');
71578
+ };
71579
+
71580
+ var onClickAddToken = function onClickAddToken() {
71581
+ setShowAddToken(true);
71582
+
71583
+ if (searchElement.current) {
71584
+ searchElement.current.value = '';
71585
+ searchElement.current.focus();
71586
+ }
71587
+ };
71588
+
71589
+ var onChangeSearch = function onChangeSearch(event) {
71590
+ if (requestController) {
71591
+ requestController.abort();
71592
+ }
71593
+
71594
+ var newRequestController = new AbortController();
71595
+ setRequestController(newRequestController);
71596
+ var signal = newRequestController.signal;
71597
+ var term = event.target.value;
71598
+
71599
+ if (term.match(/^0x/)) {
71600
+ setTokens([]);
71601
+ var token;
71602
+
71603
+ try {
71604
+ token = new Token({
71605
+ blockchain: blockchain.name,
71606
+ address: term
71607
+ });
71608
+ } catch (_unused) {}
71609
+
71610
+ if (token == undefined) {
71611
+ return;
71612
+ }
71613
+
71614
+ Promise.all([token.name(), token.symbol(), token.decimals()]).then(function (_ref) {
71615
+ var _ref2 = _slicedToArray(_ref, 3),
71616
+ name = _ref2[0],
71617
+ symbol = _ref2[1],
71618
+ decimals = _ref2[2];
71619
+
71620
+ setTokens([{
71621
+ name: name,
71622
+ symbol: symbol,
71623
+ decimals: decimals,
71624
+ address: term,
71625
+ blockchain: blockchain.name
71626
+ }]);
71627
+ });
71628
+ } else if (term && term.length) {
71629
+ setTokens([]);
71630
+ fetch("https://api.depay.fi/v2/tokens/search?blockchain=".concat(blockchain.name, "&term=").concat(term), {
71631
+ signal: signal,
71632
+ headers: {
71633
+ 'X-Api-Key': apiKey
71634
+ }
71635
+ }).then(function (response) {
71636
+ if (response.status == 200) {
71637
+ response.json().then(function (tokens) {
71638
+ setTokens(tokens);
71639
+ });
71640
+ }
71641
+ })["catch"](function () {});
71642
+ } else {
71643
+ setTokens(blockchain.tokens);
71644
+ }
71645
+ };
71646
+
71647
+ var select = function select(token) {
71648
+ if (blockchain.tokens.find(function (majorToken) {
71649
+ return majorToken.address.toLowerCase() == (token.address || token.external_id).toLowerCase();
71650
+ })) {
71651
+ setOpen(false);
71652
+ props.resolve({
71653
+ blockchain: blockchain.name,
71654
+ address: token.address || token.external_id,
71655
+ logo: token.logo || token.image,
71656
+ name: token.name,
71657
+ symbol: token.symbol,
71658
+ decimals: token.decimals
71659
+ });
71660
+ setTimeout(props.unmount, 300);
71661
+ } else {
71662
+ setSelection(Object.assign(props.selection, {
71663
+ token: token
71664
+ }));
71665
+ navigate('ConfirmTokenSelection');
71666
+ }
71667
+ };
71668
+
71669
+ var elements = tokens.map(function (token, index) {
71670
+ return /*#__PURE__*/react.createElement("div", {
71671
+ key: "".concat(index, "-").concat(token.address),
71672
+ className: "Card Row",
71673
+ onClick: function onClick() {
71674
+ return select(token);
71675
+ }
71676
+ }, /*#__PURE__*/react.createElement("div", {
71677
+ className: "CardImage"
71678
+ }, token.logo && /*#__PURE__*/react.createElement("img", {
71679
+ src: token.logo
71680
+ }), token.image && /*#__PURE__*/react.createElement("img", {
71681
+ src: token.image
71682
+ }), !(token.logo || token.image) && /*#__PURE__*/react.createElement(TokenImage, {
71683
+ blockchain: token.blockchain,
71684
+ address: token.external_id || token.address
71685
+ })), /*#__PURE__*/react.createElement("div", {
71686
+ className: "CardBody"
71687
+ }, /*#__PURE__*/react.createElement("div", {
71688
+ className: "CardTokenSymbol",
71689
+ title: token.symbol
71690
+ }, /*#__PURE__*/react.createElement("span", {
71691
+ className: "CardText"
71692
+ }, token.symbol)), /*#__PURE__*/react.createElement("div", {
71693
+ className: "CardTokenName",
71694
+ title: token.name
71695
+ }, /*#__PURE__*/react.createElement("span", {
71696
+ className: "CardText"
71697
+ }, token.name))));
71698
+ });
71699
+
71700
+ if (blockchain == undefined) {
71701
+ return null;
71702
+ }
71703
+
71704
+ return /*#__PURE__*/react.createElement(Dialog, {
71705
+ header: /*#__PURE__*/react.createElement("div", {
71706
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
71707
+ }, /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("h1", {
71708
+ className: "LineHeightL FontSizeL"
71709
+ }, "Select Token")), /*#__PURE__*/react.createElement("div", {
71710
+ className: "PaddingTopS PaddingBottomXS"
71711
+ }, /*#__PURE__*/react.createElement("div", {
71712
+ className: "Card small",
71713
+ onClick: onClickChangeBlockchain
71714
+ }, /*#__PURE__*/react.createElement("div", {
71715
+ className: "CardImage small"
71716
+ }, /*#__PURE__*/react.createElement("img", {
71717
+ className: "transparent",
71718
+ src: blockchain.logo
71719
+ })), /*#__PURE__*/react.createElement("div", {
71720
+ className: "CardBody"
71721
+ }, blockchain.label), /*#__PURE__*/react.createElement("div", {
71722
+ className: "CardAction"
71723
+ }, /*#__PURE__*/react.createElement(ChevronRight, null)))), /*#__PURE__*/react.createElement("div", {
71724
+ className: "PaddingTopXS PaddingBottomS"
71725
+ }, /*#__PURE__*/react.createElement("input", {
71726
+ onChange: onChangeSearch,
71727
+ className: "Search",
71728
+ autoFocus: true,
71729
+ placeholder: "Search name or paste address",
71730
+ ref: searchElement
71731
+ }), showAddToken && /*#__PURE__*/react.createElement("div", {
71732
+ className: "PaddingTopXS PaddingRightXS PaddingLeftXS"
71733
+ }, /*#__PURE__*/react.createElement("div", {
71734
+ className: "Tooltip"
71735
+ }, /*#__PURE__*/react.createElement("span", {
71736
+ className: "TooltipArrowUp"
71737
+ }), "Paste or enter token address here!")))),
71738
+ bodyClassName: "ScrollHeight",
71739
+ body: /*#__PURE__*/react.createElement("div", {
71740
+ className: ""
71741
+ }, elements),
71742
+ footer: /*#__PURE__*/react.createElement("div", {
71743
+ className: "PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"
71744
+ }, /*#__PURE__*/react.createElement("div", {
71745
+ className: "PaddingTopXS PaddingBottomXS"
71746
+ }, /*#__PURE__*/react.createElement("div", {
71747
+ className: "Link",
71748
+ onClick: onClickAddToken
71749
+ }, "Token missing? Add it.")))
71750
+ });
71751
+ });
71752
+
71753
+ var SelectStack = (function (props) {
71754
+ var _useContext = react.useContext(ConfigurationContext),
71755
+ what = _useContext.what;
71756
+
71757
+ var _useContext2 = react.useContext(ClosableContext),
71758
+ open = _useContext2.open,
71759
+ close = _useContext2.close;
71760
+
71761
+ var _useContext3 = react.useContext(SelectionContext),
71762
+ selection = _useContext3.selection;
71763
+
71764
+ var start;
71765
+
71766
+ switch (what) {
71767
+ default:
71768
+ start = 'SelectToken';
71769
+ }
71770
+
71771
+ return /*#__PURE__*/react.createElement(ReactDialogStack, {
71772
+ open: open,
71773
+ close: close,
71774
+ start: start,
71775
+ container: props.container,
71776
+ document: props.document,
71777
+ dialogs: {
71778
+ SelectToken: /*#__PURE__*/react.createElement(SelectTokenDialog, {
71779
+ selection: selection,
71780
+ resolve: props.resolve,
71781
+ unmount: props.unmount
71782
+ }),
71783
+ SelectBlockchain: /*#__PURE__*/react.createElement(SelectBlockchainDialog, {
71784
+ selection: selection,
71785
+ resolve: props.resolve
71786
+ }),
71787
+ ConfirmTokenSelection: /*#__PURE__*/react.createElement(ConfirmTokenSelectionDialog, {
71788
+ selection: selection,
71789
+ resolve: props.resolve,
71790
+ unmount: props.unmount
71791
+ })
71792
+ }
71793
+ });
71794
+ });
71795
+
71796
+ var Select = function Select(options) {
71797
+ var style, error, document, what;
71798
+
71799
+ if (_typeof(options) == 'object') {
71800
+ style = options.style;
71801
+ error = options.error;
71802
+ document = options.document;
71803
+ what = options.what;
71804
+ }
71805
+
71806
+ var startupError;
71807
+
71808
+ if (what == undefined) {
71809
+ startupError = '"what" needs to be configured!';
71810
+ } else if (['token'].indexOf(what) < 0) {
71811
+ startupError = "Unknown \"what\" configured: ".concat(what, "!");
71812
+ }
71813
+
71814
+ return new Promise( /*#__PURE__*/function () {
71815
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(resolve, reject) {
71816
+ return regenerator.wrap(function _callee$(_context) {
71817
+ while (1) {
71818
+ switch (_context.prev = _context.next) {
71819
+ case 0:
71820
+ mount({
71821
+ style: style,
71822
+ document: ensureDocument(document)
71823
+ }, function (unmount) {
71824
+ var userClosedDialog = function userClosedDialog() {
71825
+ reject('USER_CLOSED_DIALOG');
71826
+ unmount();
71827
+ };
71828
+
71829
+ return function (container) {
71830
+ return /*#__PURE__*/react.createElement(ErrorProvider, {
71831
+ error: startupError,
71832
+ errorCallback: error,
71833
+ container: container,
71834
+ unmount: unmount
71835
+ }, /*#__PURE__*/react.createElement(ConfigurationProvider, {
71836
+ configuration: {
71837
+ what: what
71838
+ }
71839
+ }, /*#__PURE__*/react.createElement(UpdatableProvider, null, /*#__PURE__*/react.createElement(ClosableProvider, {
71840
+ unmount: userClosedDialog
71841
+ }, /*#__PURE__*/react.createElement(SelectionProvider, null, /*#__PURE__*/react.createElement(SelectStack, {
71842
+ document: document,
71843
+ container: container,
71844
+ unmount: unmount,
71845
+ resolve: resolve
71846
+ })), /*#__PURE__*/react.createElement(PoweredBy, null)))));
71847
+ };
71848
+ });
71849
+
71850
+ case 1:
71851
+ case "end":
71852
+ return _context.stop();
71853
+ }
71854
+ }
71855
+ }, _callee);
71856
+ }));
71857
+
71858
+ return function (_x, _x2) {
71859
+ return _ref.apply(this, arguments);
71860
+ };
71861
+ }());
71862
+ };
71863
+
71279
71864
  var DePayWidgets = {
71280
71865
  Connect: Connect,
71281
71866
  Donation: Donation,
71282
71867
  Login: Login,
71283
71868
  Payment: Payment,
71284
71869
  Sale: Sale,
71870
+ Select: Select,
71285
71871
  provider: provider
71286
71872
  };
71287
71873