@depay/widgets 4.2.2 → 5.0.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.
package/dist/cjs/index.js CHANGED
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var depayReactDialogStack = require('depay-react-dialog-stack');
5
- var depayWeb3Wallets = require('depay-web3-wallets');
4
+ var reactDialogStack = require('@depay/react-dialog-stack');
5
+ var web3Wallets = require('@depay/web3-wallets');
6
6
  var ReactDOM = require('react-dom');
7
- var depayReactShadowDom = require('depay-react-shadow-dom');
7
+ var reactShadowDom = require('@depay/react-shadow-dom');
8
8
  var ethers = require('ethers');
9
- var depayWeb3Constants = require('depay-web3-constants');
9
+ var web3Constants = require('@depay/web3-constants');
10
10
  var decimal_js = require('decimal.js');
11
- var depayWeb3Exchanges = require('depay-web3-exchanges');
12
- var depayWeb3Tokens = require('depay-web3-tokens');
13
- var depayLocalCurrency = require('depay-local-currency');
14
- var depayWeb3Client = require('depay-web3-client');
15
- var depayWeb3Payments = require('depay-web3-payments');
11
+ var web3Exchanges = require('@depay/web3-exchanges');
12
+ var web3Tokens = require('@depay/web3-tokens');
13
+ var localCurrency = require('@depay/local-currency');
14
+ var web3Client = require('@depay/web3-client');
15
+ var web3Payments = require('@depay/web3-payments');
16
16
  var Slider = require('react-rangeslider');
17
- var depayReactTokenImage = require('depay-react-token-image');
18
- var depayWeb3Blockchains = require('depay-web3-blockchains');
17
+ var reactTokenImage = require('@depay/react-token-image');
18
+ var web3Blockchains = require('@depay/web3-blockchains');
19
19
 
20
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
21
 
@@ -901,6 +901,8 @@ function _slicedToArray(arr, i) {
901
901
 
902
902
  var ClosableContext = /*#__PURE__*/React__default$1["default"].createContext();
903
903
 
904
+ var UpdatableContext = /*#__PURE__*/React__default$1["default"].createContext();
905
+
904
906
  var ClosableProvider = (function (props) {
905
907
  var _useState = React.useState(true),
906
908
  _useState2 = _slicedToArray(_useState, 2),
@@ -912,11 +914,15 @@ var ClosableProvider = (function (props) {
912
914
  open = _useState4[0],
913
915
  setOpen = _useState4[1];
914
916
 
917
+ var _useContext = React.useContext(UpdatableContext),
918
+ setUpdatable = _useContext.setUpdatable;
919
+
915
920
  var close = function close() {
916
921
  if (!closable) {
917
922
  return;
918
923
  }
919
924
 
925
+ setUpdatable(false);
920
926
  setOpen(false);
921
927
  setTimeout(props.unmount, 300);
922
928
  };
@@ -969,7 +975,7 @@ var CloseIcon = (function () {
969
975
  });
970
976
 
971
977
  var Dialog$1 = (function (props) {
972
- var _useContext = React.useContext(depayReactDialogStack.NavigateStackContext),
978
+ var _useContext = React.useContext(reactDialogStack.NavigateStackContext),
973
979
  navigate = _useContext.navigate;
974
980
 
975
981
  var _useContext2 = React.useContext(ClosableContext),
@@ -1000,16 +1006,11 @@ var Dialog$1 = (function (props) {
1000
1006
  className: "DialogBody"
1001
1007
  }, props.body), /*#__PURE__*/React__default$1["default"].createElement("div", {
1002
1008
  className: "DialogFooter"
1003
- }, props.footer, /*#__PURE__*/React__default$1["default"].createElement("a", {
1004
- href: 'https://depay.fi?utm_source=' + window.location.hostname + '&utm_medium=widget&utm_campaign=WidgetV2',
1005
- rel: "noopener noreferrer",
1006
- target: "_blank",
1007
- className: "FooterLink"
1008
- }, "by DePay")));
1009
+ }, props.footer));
1009
1010
  });
1010
1011
 
1011
1012
  var ConnectingWalletDialog = (function (props) {
1012
- var _useContext = React.useContext(depayReactDialogStack.NavigateStackContext),
1013
+ var _useContext = React.useContext(reactDialogStack.NavigateStackContext),
1013
1014
  navigate = _useContext.navigate;
1014
1015
 
1015
1016
  var wallet = props.wallet;
@@ -1055,9 +1056,9 @@ var ConnectingWalletDialog = (function (props) {
1055
1056
  className: "TextButton"
1056
1057
  }, "Connect with another wallet")))),
1057
1058
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
1058
- className: "PaddingTopXS PaddingRightM PaddingLeftM"
1059
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
1059
1060
  }, /*#__PURE__*/React__default$1["default"].createElement("button", {
1060
- className: "ButtonPrimary wide",
1061
+ className: "ButtonPrimary",
1061
1062
  onClick: function onClick() {
1062
1063
  return props.connect(wallet);
1063
1064
  }
@@ -1086,10 +1087,10 @@ var SelectWalletDialog = (function (props) {
1086
1087
  showExplanation = _useState2[0],
1087
1088
  setShowExplanation = _useState2[1];
1088
1089
 
1089
- var _useContext = React.useContext(depayReactDialogStack.NavigateStackContext),
1090
+ var _useContext = React.useContext(reactDialogStack.NavigateStackContext),
1090
1091
  navigate = _useContext.navigate;
1091
1092
 
1092
- var wallet = depayWeb3Wallets.getWallet();
1093
+ var wallet = web3Wallets.getWallet();
1093
1094
  React.useEffect( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
1094
1095
  var accounts;
1095
1096
  return regenerator.wrap(function _callee$(_context) {
@@ -1125,7 +1126,7 @@ var SelectWalletDialog = (function (props) {
1125
1126
  props.connect(wallet);
1126
1127
  };
1127
1128
 
1128
- var availableWallets = [depayWeb3Wallets.wallets.WalletConnect];
1129
+ var availableWallets = [web3Wallets.wallets.WalletConnect];
1129
1130
 
1130
1131
  if (wallet) {
1131
1132
  availableWallets.unshift(wallet);
@@ -1140,7 +1141,7 @@ var SelectWalletDialog = (function (props) {
1140
1141
  return connect(wallet);
1141
1142
  }
1142
1143
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
1143
- className: "CardImage PaddingLeftM"
1144
+ className: "CardImage"
1144
1145
  }, /*#__PURE__*/React__default$1["default"].createElement("img", {
1145
1146
  src: wallet.logo
1146
1147
  })), /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -1153,9 +1154,9 @@ var SelectWalletDialog = (function (props) {
1153
1154
  });
1154
1155
  return /*#__PURE__*/React__default$1["default"].createElement(Dialog$1, {
1155
1156
  header: /*#__PURE__*/React__default$1["default"].createElement("div", {
1156
- className: "PaddingTopS PaddingLeftM PaddingRightM"
1157
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
1157
1158
  }, /*#__PURE__*/React__default$1["default"].createElement("h1", {
1158
- className: "LineHeightL FontSizeL TextLeft"
1159
+ className: "LineHeightL FontSizeL"
1159
1160
  }, "Select a wallet")),
1160
1161
  body: /*#__PURE__*/React__default$1["default"].createElement("div", {
1161
1162
  className: "PaddingTopS PaddingBottomXS PaddingLeftS PaddingRightS"
@@ -1163,11 +1164,13 @@ var SelectWalletDialog = (function (props) {
1163
1164
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
1164
1165
  className: "PaddingBottomS"
1165
1166
  }, /*#__PURE__*/React__default$1["default"].createElement("button", {
1166
- className: "FontSizeS FontWeightBold TextGrey TextButton",
1167
+ className: "FontSizeS FontWeightBold TextButton",
1167
1168
  onClick: function onClick() {
1168
1169
  return setShowExplanation(!showExplanation);
1169
1170
  }
1170
- }, /*#__PURE__*/React__default$1["default"].createElement("strong", null, "What is a wallet?")), showExplanation && /*#__PURE__*/React__default$1["default"].createElement("p", {
1171
+ }, /*#__PURE__*/React__default$1["default"].createElement("strong", {
1172
+ className: "Opacity05"
1173
+ }, "What is a wallet?")), showExplanation && /*#__PURE__*/React__default$1["default"].createElement("p", {
1171
1174
  className: "PaddingLeftM PaddingRightM"
1172
1175
  }, "Wallets are used to send, receive, and store digital assets. Wallets come in many forms. They are either built into your browser, an extension added to your browser, a piece of hardware plugged into your computer or even an app on your phone."))
1173
1176
  });
@@ -1233,7 +1236,7 @@ var ConnectStack = (function (props) {
1233
1236
  };
1234
1237
 
1235
1238
  React.useEffect(function () {
1236
- var wallet = depayWeb3Wallets.getWallet();
1239
+ var wallet = web3Wallets.getWallet();
1237
1240
 
1238
1241
  if (wallet) {
1239
1242
  setWallet(wallet);
@@ -1273,7 +1276,7 @@ var ConnectStack = (function (props) {
1273
1276
  }
1274
1277
  }, _callee2);
1275
1278
  })), [wallet]);
1276
- return /*#__PURE__*/React__default$1["default"].createElement(depayReactDialogStack.ReactDialogStack, {
1279
+ return /*#__PURE__*/React__default$1["default"].createElement(reactDialogStack.ReactDialogStack, {
1277
1280
  open: open,
1278
1281
  close: close,
1279
1282
  start: "SelectWallet",
@@ -1385,8 +1388,7 @@ function ReactDialogStyle (styles) {
1385
1388
  let background =
1386
1389
  typeof styles === 'object' && styles.background ? styles.background : 'rgba(0,0,0,0.4)';
1387
1390
 
1388
- return (
1389
- `
1391
+ return `
1390
1392
  .ReactDialog {
1391
1393
  bottom: 0;
1392
1394
  display: table;
@@ -1445,12 +1447,9 @@ function ReactDialogStyle (styles) {
1445
1447
  top: -5vh;
1446
1448
  }
1447
1449
  `
1448
- )
1449
1450
  }
1450
1451
 
1451
- const _jsxFileName = "/Users/sebastian/Work/DePay/depay-react-dialog/src/components/Dialog.jsx";
1452
-
1453
-
1452
+ const _jsxFileName = "/home/runner/work/react-dialog/react-dialog/src/components/Dialog.jsx";
1454
1453
  class Dialog extends React__default['default'].Component {
1455
1454
  constructor(props) {
1456
1455
  super(props);
@@ -1512,7 +1511,7 @@ class Dialog extends React__default['default'].Component {
1512
1511
  }
1513
1512
  }
1514
1513
 
1515
- const _jsxFileName$1 = "/Users/sebastian/Work/DePay/depay-react-dialog/src/index.jsx";
1514
+ const _jsxFileName$1 = "/home/runner/work/react-dialog/react-dialog/src/index.jsx";
1516
1515
  class ReactDialog extends React__default['default'].Component {
1517
1516
  constructor(props) {
1518
1517
  super(props);
@@ -1625,7 +1624,7 @@ var ErrorProvider = (function (props) {
1625
1624
  })), /*#__PURE__*/React__default$1["default"].createElement("div", {
1626
1625
  className: "DialogBody"
1627
1626
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
1628
- className: "GraphicWrapper"
1627
+ className: "GraphicWrapper PaddingTopS"
1629
1628
  }, /*#__PURE__*/React__default$1["default"].createElement("img", {
1630
1629
  className: "Graphic",
1631
1630
  src: ErrorGraphic
@@ -1643,15 +1642,12 @@ var ErrorProvider = (function (props) {
1643
1642
  className: "FontSizeM PaddingTopS"
1644
1643
  }, "If this keeps happening, please report it.")))), /*#__PURE__*/React__default$1["default"].createElement("div", {
1645
1644
  className: "DialogFooter"
1646
- }, /*#__PURE__*/React__default$1["default"].createElement("div", null, /*#__PURE__*/React__default$1["default"].createElement("button", {
1645
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
1646
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
1647
+ }, /*#__PURE__*/React__default$1["default"].createElement("button", {
1647
1648
  className: "ButtonPrimary",
1648
1649
  onClick: close
1649
- }, "Try again")), /*#__PURE__*/React__default$1["default"].createElement("a", {
1650
- href: 'https://depay.fi?utm_source=' + window.location.hostname + '&utm_medium=widget&utm_campaign=WidgetV2',
1651
- rel: "noopener noreferrer",
1652
- target: "_blank",
1653
- className: "FooterLink"
1654
- }, "by DePay"))));
1650
+ }, "Try again")))));
1655
1651
  } else {
1656
1652
  return /*#__PURE__*/React__default$1["default"].createElement(ErrorContext.Provider, {
1657
1653
  value: {
@@ -1663,28 +1659,28 @@ var ErrorProvider = (function (props) {
1663
1659
  }
1664
1660
  });
1665
1661
 
1662
+ var BlockchainLogoStyle = (function (style) {
1663
+ return "\n\n .BlockchainLogo {\n border-radius: 999px;\n }\n\n .BlockchainLogo.small {\n height: 18px;\n width: 18px;\n }\n ";
1664
+ });
1665
+
1666
1666
  var ButtonCircularStyle = (function () {
1667
1667
  return "\n\n .ButtonCircular {\n border-radius: 99rem;\n cursor: pointer;\n height: 34px;\n opacity: 0.5;\n padding: 5px 4px 4px 4px;\n width: 34px;\n }\n\n .ButtonCircular:hover {\n background: rgba(0,0,0,0.1);\n opacity: 1;\n }\n\n .ButtonCircular:active {\n background: rgba(0,0,0,0.25);\n opacity: 1;\n }\n ";
1668
1668
  });
1669
1669
 
1670
1670
  var ButtonPrimaryStyle = (function (style) {
1671
- return "\n\n .ButtonPrimary {\n align-items: center;\n align-self: center;\n background: ".concat(style.colors.primary, ";\n border-radius: 9999rem;\n border: 1px solid transparent;\n box-shadow: 0 0 16px rgba(0,0,0,0.1);\n font-size: 1.3rem;\n font-weight: 400;\n height: 2.8rem;\n line-height: 2.8rem;\n justify-content: center;\n min-width: 12rem;\n overflow: hidden;\n padding: 0 1.4rem;\n position: relative;\n text-align: center;\n text-decoration: none;\n text-overflow: ellipsis;\n transition: background 0.1s;\n vertical-align: middle;\n display: inline-block;\n }\n\n .ButtonPrimary, .ButtonPrimary * {\n color: ").concat(style.colors.buttonText, ";\n }\n\n .ButtonPrimary.round {\n padding: 0;\n width: 3.4rem;\n min-width: 3.4rem;\n }\n\n .ButtonPrimary.wide {\n border-radius: 0.8rem;\n width: 100%;\n display: block;\n }\n\n .ButtonPrimary.disabled {\n background: rgb(210,210,210);\n color: rgb(140,140,140);\n }\n\n .ButtonPrimary:not(.disabled){\n cursor: pointer;\n }\n .ButtonPrimary:not(.disabled):hover {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.1);\n }\n .ButtonPrimary:not(.disabled):active {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.2);\n }\n ");
1671
+ return "\n\n .ButtonPrimary {\n align-items: center;\n align-self: center;\n background: ".concat(style.colors.primary, ";\n border-radius: 0.8rem;\n border: 1px solid transparent;\n box-shadow: 0 0 16px rgba(0,0,0,0.1);\n font-size: 1.3rem;\n font-weight: 400;\n line-height: 2.8rem;\n height: 3.6rem;\n justify-content: center;\n width: 100%;\n overflow: hidden;\n padding: 0.4rem 0;\n position: relative;\n text-align: center;\n text-decoration: none;\n text-overflow: ellipsis;\n transition: background 0.1s;\n vertical-align: middle;\n display: inline-block;\n }\n\n .ButtonPrimary, .ButtonPrimary * {\n color: ").concat(style.colors.buttonText, ";\n }\n\n .ButtonPrimary.disabled {\n background: rgb(210,210,210);\n color: rgb(140,140,140);\n }\n\n .ButtonPrimary:not(.disabled){\n cursor: pointer;\n }\n .ButtonPrimary:not(.disabled):hover {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.1);\n }\n .ButtonPrimary:not(.disabled):active {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.2);\n }\n ");
1672
1672
  });
1673
1673
 
1674
1674
  var CardStyle = (function (style) {
1675
- 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.small {\n min-height: auto;\n padding: 0.6rem 0.6rem;\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-shrink: 0;\n flex-grow: 0;\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 .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 ");
1675
+ 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 ");
1676
1676
  });
1677
1677
 
1678
1678
  var DialogStyle = (function (style) {
1679
- return "\n\n .ReactDialogBackground {\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: 40vh !important;\n }\n\n .FooterLink {\n bottom: 0;\n left: 0;\n position: absolute;\n padding-bottom: 1rem;\n right: 0;\n width: 100%;\n }\n\n .DialogFooter {\n padding-bottom: 50px;\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 ";
1679
+ 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: 40vh !important;\n }\n\n .DialogFooter {\n padding-bottom: 50px;\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 ";
1680
1680
  });
1681
1681
 
1682
1682
  var FontStyle = (function (style) {
1683
- return "\n\n .Dialog, * {\n font-family: ".concat(style.fontFamily, ";\n }\n\n .FontSizeS {\n font-size: 1rem;\n }\n\n .FontSizeM {\n font-size: 1.2rem;\n }\n\n .FontSizeL {\n font-size: 1.4rem;\n }\n\n .FontSizeXL {\n font-size: 2.0rem;\n }\n\n .FontWeightBold {\n font-weight: bold;\n }\n\n .FontItalic {\n font-style: italic;\n }\n ");
1684
- });
1685
-
1686
- var FooterStyle = (function (style) {
1687
- return "\n\n .FooterLink {\n color: rgba(0,0,0,0.2);\n display: inline-block;\n font-size: 0.9rem;\n text-decoration: none;\n }\n\n .FooterLink:hover, .FooterLink:active {\n color: ".concat(style.colors.primary, ";\n }\n ");
1683
+ return "\n\n *, div, div * {\n font-family: ".concat(style.fontFamily, ";\n }\n\n .FontSizeS {\n font-size: 1rem;\n }\n\n .FontSizeM {\n font-size: 1.2rem;\n }\n\n .FontSizeL {\n font-size: 1.4rem;\n }\n\n .FontSizeXL {\n font-size: 2.0rem;\n }\n\n .FontWeightBold {\n font-weight: bold;\n }\n\n .FontItalic {\n font-style: italic;\n }\n ");
1688
1684
  });
1689
1685
 
1690
1686
  var GraphicStyle = (function () {
@@ -1696,7 +1692,7 @@ var HeightStyle = (function () {
1696
1692
  });
1697
1693
 
1698
1694
  var IconStyle = (function (style) {
1699
- return "\n\n .Icon {\n fill : ".concat(style.colors.icons, ";\n stroke : ").concat(style.colors.icons, ";\n }\n\n .ChevronLeft, .ChevronRight {\n position: relative;\n top: 1px;\n }\n\n .Checkmark {\n height: 1.4rem;\n position: relative;\n top: -1px;\n vertical-align: middle;\n width: 1.4rem;\n }\n\n .ButtonPrimary .Icon {\n fill : ").concat(style.colors.buttonText, ";\n stroke : ").concat(style.colors.buttonText, ";\n }\n \n ");
1695
+ return "\n\n .Icon {\n fill : ".concat(style.colors.icons, ";\n stroke : ").concat(style.colors.icons, ";\n }\n\n .ChevronLeft, .ChevronRight {\n position: relative;\n top: 1px;\n }\n\n .Checkmark {\n height: 24px;\n position: relative;\n top: -1px;\n vertical-align: middle;\n width: 24px;\n }\n\n .CheckMark.small {\n height: 16px;\n width: 16px;\n }\n\n .DigitalWalletIcon {\n height: 24px;\n position: relative;\n top: -1px;\n vertical-align: middle;\n width: 24px;\n }\n\n .ButtonPrimary .Icon {\n fill : ").concat(style.colors.buttonText, ";\n stroke : ").concat(style.colors.buttonText, ";\n }\n\n .Loading {\n border: 3px solid ").concat(style.colors.primary, ";\n border-top: 3px solid rgba(0,0,0,0.1);\n border-radius: 100%;\n position: relative;\n left: -1px;\n width: 18px;\n height: 18px;\n animation: spin 1.5s linear infinite;\n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n ");
1700
1696
  });
1701
1697
 
1702
1698
  var ImageStyle = (function (style) {
@@ -1715,10 +1711,18 @@ var LoadingTextStyle = (function (style) {
1715
1711
  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 ");
1716
1712
  });
1717
1713
 
1714
+ var OpacityStyle = (function (style) {
1715
+ return "\n\n .Opacity05 {\n opacity: 0.5;\n }\n ";
1716
+ });
1717
+
1718
1718
  var PaddingStyle = (function () {
1719
1719
  return "\n\n .PaddingTopXS {\n padding-top: 0.2rem;\n }\n\n .PaddingRightXS {\n padding-right: 0.2rem;\n }\n\n .PaddingBottomXS {\n padding-bottom: 0.2rem;\n }\n\n .PaddingLeftXS {\n padding-left: 0.2rem; \n }\n\n .PaddingTopS {\n padding-top: 0.8rem;\n }\n\n .PaddingRightS {\n padding-right: 0.8rem;\n }\n\n .PaddingBottomS {\n padding-bottom: 0.8rem;\n }\n\n .PaddingLeftS {\n padding-left: 0.8rem; \n }\n\n .PaddingTopM {\n padding-top: 1.2rem;\n }\n\n .PaddingRightM {\n padding-right: 1.2rem;\n }\n\n .PaddingBottomM {\n padding-bottom: 1.2rem;\n }\n\n .PaddingLeftM {\n padding-left: 1.2rem; \n }\n\n .PaddingTopL {\n padding-top: 1.8rem;\n }\n\n .PaddingRightL {\n padding-right: 1.8rem;\n }\n\n .PaddingBottomL {\n padding-bottom: 1.8rem;\n }\n\n .PaddingLeftL {\n padding-left: 1.28em; \n }\n ";
1720
1720
  });
1721
1721
 
1722
+ var PoweredByStyle = (function (style) {
1723
+ return "\n\n .PoweredByWrapper {\n display: block;\n left: 0;\n padding-top: 0.2rem;\n position: fixed;\n right: 0;\n text-align: center;\n top: 0;\n }\n\n .PoweredByLink {\n color: white;\n opacity: 0.4;\n display: inline-block;\n font-size: 0.78rem;\n font-style: italic;\n font-weight: bold;\n letter-spacing: -0.2px;\n margin-left: 0.5rem;\n text-decoration: none;\n }\n\n .PoweredByLink:hover, .PoweredByLink:active {\n opacity: 1.0;\n color: ".concat(style.colors.primary, ";\n }\n ");
1724
+ });
1725
+
1722
1726
  var RangeSliderStyle = (function (style) {
1723
1727
  return "\n\n .rangeslider {\n margin: 20px 0;\n position: relative;\n background: #e6e6e6;\n -ms-touch-action: none;\n touch-action: none;\n }\n\n .rangeslider,\n .rangeslider__fill {\n display: block;\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4);\n }\n\n .rangeslider__handle {\n outline: none;\n cursor: pointer;\n display: inline-block;\n position: absolute;\n border-radius: 50%;\n background-color: " + style.colors.primary + ";\n border: 1px solid white;\n box-shadow: 0 0 8px rgba(0,0,0,0.1);\n }\n\n .rangeslider__handle:hover {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.2);\n }\n\n .rangeslider__handle:active {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.3);\n }\n\n .rangeslider__active {\n opacity: 1;\n }\n\n .rangeslider__handle-tooltip {\n display: none;\n }\n\n .rangeslider-horizontal {\n height: 12px;\n border-radius: 10px;\n }\n\n .rangeslider-horizontal .rangeslider__fill {\n height: 100%;\n background-color: " + style.colors.primary + ";\n border-radius: 10px;\n top: 0;\n }\n .rangeslider-horizontal .rangeslider__handle {\n width: 18px;\n height: 18px;\n border-radius: 30px;\n top: 50%;\n transform: translate3d(-50%, -50%, 0);\n }\n\n\n .rangeslider-horizontal .rangeslider__handle-tooltip {\n top: -55px;\n }\n\n ";
1724
1728
  });
@@ -1728,15 +1732,15 @@ var ResetStyle = (function () {
1728
1732
  });
1729
1733
 
1730
1734
  var SkeletonStyle = (function () {
1731
- return "\n \n .Skeleton {\n background: rgb(230,230,230) !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 ";
1735
+ 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 ";
1732
1736
  });
1733
1737
 
1734
1738
  var TextButtonStyle = (function (style) {
1735
- return "\n\n .TextButton {\n cursor: pointer;\n font-size: 16px;\n color: ".concat(style.colors.primary, "\n }\n\n .TextButton.TextGrey {\n color: grey;\n }\n \n .TextButton.TextGrey:hover {\n color: ").concat(style.colors.primary, "\n }\n ");
1739
+ 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 ");
1736
1740
  });
1737
1741
 
1738
1742
  var TextStyle = (function (style) {
1739
- return "\n\n * {\n color: ".concat(style.colors.text, ";\n }\n\n .TextLeft, .TextLeft * {\n text-align: left;\n }\n\n .TextCenter, .TextCenter * {\n text-align: center;\n }\n\n .TextGrey {\n color: grey;\n }\n\n .LineHeightL {\n line-height: 2.0rem;\n }\n\n .ErrorSnippetText {\n background: rgb(30, 30, 20);\n border-radius: 1.2rem;\n border: 0.5rem solid rgb(30, 30, 20);\n color: #00FF41;\n font-size: 0.9rem;\n font-style: italic;\n max-height: 100px;\n padding: 6px;\n overflow-wrap: break-word;\n overflow-y: auto;\n white-space: pre-wrap;\n word-wrap: break-word;\n }\n ");
1743
+ return "\n\n * {\n color: ".concat(style.colors.text, ";\n }\n\n h1, h2, h3, h4, h5, h6 {\n display: block;\n }\n\n .TextLeft, .TextLeft * {\n text-align: left;\n }\n\n .TextCenter, .TextCenter * {\n text-align: center;\n }\n\n .LineHeightL {\n line-height: 2.0rem;\n }\n\n .ErrorSnippetText {\n background: rgb(30, 30, 20);\n border-radius: 1.2rem;\n border: 0.5rem solid rgb(30, 30, 20);\n color: #00FF41;\n font-size: 0.9rem;\n font-style: italic;\n max-height: 100px;\n padding: 6px;\n overflow-wrap: break-word;\n overflow-y: auto;\n white-space: pre-wrap;\n word-wrap: break-word;\n }\n ");
1740
1744
  });
1741
1745
 
1742
1746
  var TokenAmountStyle = (function () {
@@ -1753,7 +1757,7 @@ var styleRenderer = (function (style) {
1753
1757
  },
1754
1758
  fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'
1755
1759
  }, style);
1756
- return [ResetStyle(), FontStyle(style), DialogStyle(), ButtonCircularStyle(), ButtonPrimaryStyle(style), CardStyle(style), FooterStyle(style), GraphicStyle(), SkeletonStyle(), TokenAmountStyle(), TextStyle(style), IconStyle(style), PaddingStyle(), HeightStyle(), LabelStyle(style), LoadingTextStyle(style), RangeSliderStyle(style), InputStyle(), TextButtonStyle(style), ImageStyle()].join('');
1760
+ 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('');
1757
1761
  });
1758
1762
 
1759
1763
  var mount = (function (_ref, content) {
@@ -1777,7 +1781,7 @@ var mount = (function (_ref, content) {
1777
1781
  }, 300);
1778
1782
  };
1779
1783
 
1780
- var _ReactShadowDOM = depayReactShadowDom.ReactShadowDOM({
1784
+ var _ReactShadowDOM = reactShadowDom.ReactShadowDOM({
1781
1785
  document: document,
1782
1786
  element: document.body,
1783
1787
  content: content(unmountShadowDOM),
@@ -1789,6 +1793,31 @@ var mount = (function (_ref, content) {
1789
1793
  return unmount;
1790
1794
  });
1791
1795
 
1796
+ var PoweredBy = (function () {
1797
+ return /*#__PURE__*/React__default$1["default"].createElement("div", {
1798
+ className: "PoweredByWrapper"
1799
+ }, /*#__PURE__*/React__default$1["default"].createElement("a", {
1800
+ href: 'https://depay.fi?utm_source=' + window.location.hostname + '&utm_medium=widget&utm_campaign=WidgetV2',
1801
+ rel: "noopener noreferrer",
1802
+ target: "_blank",
1803
+ className: "PoweredByLink"
1804
+ }, "by DePay"));
1805
+ });
1806
+
1807
+ var UpdatableProvider = (function (props) {
1808
+ var _useState = React.useState(true),
1809
+ _useState2 = _slicedToArray(_useState, 2),
1810
+ updatable = _useState2[0],
1811
+ setUpdatable = _useState2[1];
1812
+
1813
+ return /*#__PURE__*/React__default$1["default"].createElement(UpdatableContext.Provider, {
1814
+ value: {
1815
+ updatable: updatable,
1816
+ setUpdatable: setUpdatable
1817
+ }
1818
+ }, props.children);
1819
+ });
1820
+
1792
1821
  var Connect = function Connect(options) {
1793
1822
  var style, error, document;
1794
1823
 
@@ -1805,7 +1834,7 @@ var Connect = function Connect(options) {
1805
1834
  while (1) {
1806
1835
  switch (_context.prev = _context.next) {
1807
1836
  case 0:
1808
- wallet = depayWeb3Wallets.getWallet();
1837
+ wallet = web3Wallets.getWallet();
1809
1838
 
1810
1839
  if (!wallet) {
1811
1840
  _context.next = 7;
@@ -1844,7 +1873,7 @@ var Connect = function Connect(options) {
1844
1873
  error: error,
1845
1874
  container: container,
1846
1875
  unmount: unmount
1847
- }, /*#__PURE__*/React__default$1["default"].createElement(ClosableProvider, {
1876
+ }, /*#__PURE__*/React__default$1["default"].createElement(UpdatableProvider, null, /*#__PURE__*/React__default$1["default"].createElement(ClosableProvider, {
1848
1877
  unmount: rejectBeforeUnmount
1849
1878
  }, /*#__PURE__*/React__default$1["default"].createElement(ConnectStack, {
1850
1879
  document: document,
@@ -1852,7 +1881,7 @@ var Connect = function Connect(options) {
1852
1881
  resolve: resolve,
1853
1882
  reject: reject,
1854
1883
  autoClose: true
1855
- })));
1884
+ }), /*#__PURE__*/React__default$1["default"].createElement(PoweredBy, null))));
1856
1885
  };
1857
1886
  });
1858
1887
 
@@ -2011,9 +2040,9 @@ var ChangableAmountProvider = (function (props) {
2011
2040
  React.useEffect(function () {
2012
2041
  if (amountsMissing && account && conversionRate) {
2013
2042
  Promise.all(props.accept.map(function (configuration) {
2014
- return depayWeb3Exchanges.route({
2043
+ return web3Exchanges.route({
2015
2044
  blockchain: configuration.blockchain,
2016
- tokenIn: depayWeb3Constants.CONSTANTS[configuration.blockchain].USD,
2045
+ tokenIn: web3Constants.CONSTANTS[configuration.blockchain].USD,
2017
2046
  amountIn: 1.00 / conversionRate * amount,
2018
2047
  tokenOut: configuration.token,
2019
2048
  fromAddress: account,
@@ -2025,19 +2054,25 @@ var ChangableAmountProvider = (function (props) {
2025
2054
  return;
2026
2055
  }
2027
2056
 
2028
- return depayWeb3Tokens.Token.readable({
2057
+ return web3Tokens.Token.readable({
2029
2058
  blockchain: props.accept[index].blockchain,
2030
2059
  amount: routes[0].amountOut,
2031
2060
  address: routes[0].tokenOut
2032
2061
  });
2033
2062
  })).then(function (amounts) {
2034
2063
  setAcceptWithAmount(props.accept.map(function (configuration, index) {
2064
+ if (amounts[index] == undefined) {
2065
+ return;
2066
+ }
2067
+
2035
2068
  return {
2036
2069
  blockchain: configuration.blockchain,
2037
- amount: round(amounts[index]) || 1,
2070
+ amount: round(amounts[index]),
2038
2071
  token: configuration.token,
2039
2072
  receiver: configuration.receiver || account
2040
2073
  };
2074
+ }).filter(function (configuration) {
2075
+ return !!configuration;
2041
2076
  }));
2042
2077
  })["catch"](setError);
2043
2078
  })["catch"](setError);
@@ -2046,23 +2081,23 @@ var ChangableAmountProvider = (function (props) {
2046
2081
  React.useEffect(function () {
2047
2082
  if (amountsMissing && maxRoute) {
2048
2083
  maxRoute.fromToken.readable(maxRoute.fromBalance).then(function (readableMaxAmount) {
2049
- if (maxRoute.fromToken.address == depayWeb3Constants.CONSTANTS[maxRoute.blockchain].USD) {
2084
+ if (maxRoute.fromToken.address == web3Constants.CONSTANTS[maxRoute.blockchain].USD) {
2050
2085
  var _maxAmount = parseFloat(new decimal_js.Decimal(readableMaxAmount).mul(conversionRate).toString());
2051
2086
 
2052
2087
  setMaxAmount(_maxAmount > 10 ? Math.round(_maxAmount) : _maxAmount);
2053
2088
  } else {
2054
- depayWeb3Exchanges.route({
2089
+ web3Exchanges.route({
2055
2090
  blockchain: maxRoute.blockchain,
2056
2091
  tokenIn: maxRoute.fromToken.address,
2057
- tokenOut: depayWeb3Constants.CONSTANTS[maxRoute.blockchain].USD,
2092
+ tokenOut: web3Constants.CONSTANTS[maxRoute.blockchain].USD,
2058
2093
  amountIn: parseFloat(readableMaxAmount),
2059
2094
  fromAddress: account,
2060
2095
  toAddress: account
2061
2096
  }).then(function (routes) {
2062
- depayWeb3Tokens.Token.readable({
2097
+ web3Tokens.Token.readable({
2063
2098
  amount: routes[0].amountOut,
2064
2099
  blockchain: maxRoute.blockchain,
2065
- address: depayWeb3Constants.CONSTANTS[maxRoute.blockchain].USD
2100
+ address: web3Constants.CONSTANTS[maxRoute.blockchain].USD
2066
2101
  }).then(function (readableMaxAmount) {
2067
2102
  var slippage = 1.01;
2068
2103
  var maxAmount = parseFloat(new decimal_js.Decimal(readableMaxAmount).div(slippage).mul(conversionRate).toString());
@@ -2088,13 +2123,13 @@ var ChangableAmountProvider = (function (props) {
2088
2123
  });
2089
2124
 
2090
2125
  var ConfigurationProvider = (function (props) {
2091
- var currencyCode = new depayLocalCurrency.Currency({
2126
+ var currencyCode = new localCurrency.Currency({
2092
2127
  code: props.configuration.currency
2093
2128
  }).code;
2094
2129
  React.useEffect(function () {
2095
2130
  if (props.configuration.providers != undefined) {
2096
2131
  Object.entries(props.configuration.providers).forEach(function (entry) {
2097
- depayWeb3Client.setProvider(entry[0], entry[1]);
2132
+ web3Client.setProviderEndpoints(entry[0], entry[1]);
2098
2133
  });
2099
2134
  }
2100
2135
  }, [props.configuration]);
@@ -2120,7 +2155,7 @@ var ConversionRateProvider = (function (props) {
2120
2155
  setConversionRate = _useState2[1];
2121
2156
 
2122
2157
  React.useEffect(function () {
2123
- depayLocalCurrency.Currency.fromUSD({
2158
+ localCurrency.Currency.fromUSD({
2124
2159
  amount: 1,
2125
2160
  code: currency,
2126
2161
  apiKey: apiKey
@@ -2159,7 +2194,9 @@ var NoPaymentMethodFoundDialog = (function () {
2159
2194
  }, /*#__PURE__*/React__default$1["default"].createElement("strong", {
2160
2195
  className: "FontSizeM"
2161
2196
  }, "We were not able to find any asset of value in your wallet. Please top up your account in order to proceed with this payment."))),
2162
- footer: /*#__PURE__*/React__default$1["default"].createElement("div", null, /*#__PURE__*/React__default$1["default"].createElement("button", {
2197
+ footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
2198
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
2199
+ }, /*#__PURE__*/React__default$1["default"].createElement("button", {
2163
2200
  className: "ButtonPrimary",
2164
2201
  onClick: close
2165
2202
  }, "Ok"))
@@ -2170,7 +2207,7 @@ var PaymentContext = /*#__PURE__*/React__default$1["default"].createContext();
2170
2207
 
2171
2208
  var PaymentRoutingContext = /*#__PURE__*/React__default$1["default"].createContext();
2172
2209
 
2173
- var UpdateContext = /*#__PURE__*/React__default$1["default"].createContext();
2210
+ var TrackingContext = /*#__PURE__*/React__default$1["default"].createContext();
2174
2211
 
2175
2212
  var PaymentProvider = (function (props) {
2176
2213
  var _useContext = React.useContext(ErrorContext),
@@ -2179,7 +2216,6 @@ var PaymentProvider = (function (props) {
2179
2216
  var _useContext2 = React.useContext(ConfigurationContext),
2180
2217
  _sent = _useContext2.sent,
2181
2218
  _confirmed = _useContext2.confirmed,
2182
- _ensured = _useContext2.ensured,
2183
2219
  _failed = _useContext2.failed;
2184
2220
 
2185
2221
  var _useContext3 = React.useContext(PaymentRoutingContext),
@@ -2193,13 +2229,17 @@ var PaymentProvider = (function (props) {
2193
2229
  var _useContext5 = React.useContext(PaymentRoutingContext),
2194
2230
  allRoutes = _useContext5.allRoutes;
2195
2231
 
2196
- var _useContext6 = React.useContext(UpdateContext);
2197
- _useContext6.update;
2198
- var setUpdate = _useContext6.setUpdate;
2232
+ var _useContext6 = React.useContext(UpdatableContext),
2233
+ setUpdatable = _useContext6.setUpdatable;
2199
2234
 
2200
2235
  var _useContext7 = React.useContext(WalletContext),
2201
2236
  wallet = _useContext7.wallet;
2202
2237
 
2238
+ var _useContext8 = React.useContext(TrackingContext),
2239
+ forward = _useContext8.forward,
2240
+ tracking = _useContext8.tracking,
2241
+ initializeTracking = _useContext8.initializeTracking;
2242
+
2203
2243
  var _useState = React.useState(),
2204
2244
  _useState2 = _slicedToArray(_useState, 2),
2205
2245
  payment = _useState2[0],
@@ -2220,53 +2260,81 @@ var PaymentProvider = (function (props) {
2220
2260
  paymentState = _useState8[0],
2221
2261
  setPaymentState = _useState8[1];
2222
2262
 
2223
- var pay = function pay(_ref) {
2224
- var navigate = _ref.navigate;
2225
- setClosable(false);
2226
- setPaymentState('paying');
2227
- setUpdate(false);
2228
- wallet.sendTransaction(Object.assign({}, payment.route.transaction, {
2229
- sent: function sent(transaction) {
2230
- if (_sent) {
2231
- _sent(transaction);
2232
- }
2233
- },
2234
- confirmed: function confirmed(transaction) {
2235
- setClosable(true);
2236
- setPaymentState('confirmed');
2263
+ var pay = /*#__PURE__*/function () {
2264
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(_ref) {
2265
+ var navigate, currentBlock;
2266
+ return regenerator.wrap(function _callee$(_context) {
2267
+ while (1) {
2268
+ switch (_context.prev = _context.next) {
2269
+ case 0:
2270
+ navigate = _ref.navigate;
2271
+ setClosable(false);
2272
+ setPaymentState('paying');
2273
+ setUpdatable(false);
2274
+ _context.next = 6;
2275
+ return web3Client.request({
2276
+ blockchain: payment.route.transaction.blockchain,
2277
+ method: 'latestBlockNumber'
2278
+ });
2237
2279
 
2238
- if (_confirmed) {
2239
- _confirmed(transaction);
2240
- }
2241
- },
2242
- ensured: function ensured(transaction) {
2243
- if (_ensured) {
2244
- _ensured(transaction);
2245
- }
2246
- },
2247
- failed: function failed(transaction, error) {
2248
- if (_failed) {
2249
- _failed(transaction, error);
2250
- }
2280
+ case 6:
2281
+ currentBlock = _context.sent;
2282
+ wallet.sendTransaction(Object.assign({}, payment.route.transaction, {
2283
+ sent: function sent(transaction) {
2284
+ if (_sent) {
2285
+ _sent(transaction);
2286
+ }
2287
+ },
2288
+ confirmed: function confirmed(transaction) {
2289
+ if (tracking != true) {
2290
+ setClosable(true);
2291
+ }
2251
2292
 
2252
- setPaymentState('initialized');
2253
- setClosable(true);
2254
- setUpdate(true);
2255
- navigate('PaymentError');
2256
- }
2257
- })).then(function (sentTransaction) {
2258
- setTransaction(sentTransaction);
2259
- })["catch"](function (error) {
2260
- console.log('error', error);
2261
- setPaymentState('initialized');
2262
- setClosable(true);
2263
- setUpdate(true);
2293
+ setPaymentState('confirmed');
2264
2294
 
2265
- if ((error === null || error === void 0 ? void 0 : error.code) == 'WRONG_NETWORK') {
2266
- navigate('WrongNetwork');
2267
- }
2268
- });
2269
- };
2295
+ if (_confirmed) {
2296
+ _confirmed(transaction);
2297
+ }
2298
+ },
2299
+ failed: function failed(transaction, error) {
2300
+ if (_failed) {
2301
+ _failed(transaction, error);
2302
+ }
2303
+
2304
+ setPaymentState('initialized');
2305
+ setClosable(true);
2306
+ setUpdatable(true);
2307
+ navigate('PaymentError');
2308
+ }
2309
+ })).then(function (sentTransaction) {
2310
+ if (tracking) {
2311
+ initializeTracking(sentTransaction, currentBlock);
2312
+ }
2313
+
2314
+ setTransaction(sentTransaction);
2315
+ })["catch"](function (error) {
2316
+ console.log('error', error);
2317
+ setPaymentState('initialized');
2318
+ setClosable(true);
2319
+ setUpdatable(true);
2320
+
2321
+ if ((error === null || error === void 0 ? void 0 : error.code) == 'WRONG_NETWORK') {
2322
+ navigate('WrongNetwork');
2323
+ }
2324
+ });
2325
+
2326
+ case 8:
2327
+ case "end":
2328
+ return _context.stop();
2329
+ }
2330
+ }
2331
+ }, _callee);
2332
+ }));
2333
+
2334
+ return function pay(_x) {
2335
+ return _ref2.apply(this, arguments);
2336
+ };
2337
+ }();
2270
2338
 
2271
2339
  var approve = function approve() {
2272
2340
  setClosable(false);
@@ -2287,15 +2355,20 @@ var PaymentProvider = (function (props) {
2287
2355
  });
2288
2356
  };
2289
2357
 
2358
+ React.useEffect(function () {
2359
+ if (forward) {
2360
+ setPaymentState('confirmed');
2361
+ }
2362
+ }, [forward]);
2290
2363
  React.useEffect(function () {
2291
2364
  if (selectedRoute) {
2292
2365
  var fromToken = selectedRoute.fromToken;
2293
2366
  selectedRoute.transaction.params;
2294
- Promise.all([fromToken.name(), fromToken.symbol(), fromToken.readable(selectedRoute.fromAmount)]).then(function (_ref2) {
2295
- var _ref3 = _slicedToArray(_ref2, 3),
2296
- name = _ref3[0],
2297
- symbol = _ref3[1],
2298
- amount = _ref3[2];
2367
+ Promise.all([fromToken.name(), fromToken.symbol(), fromToken.readable(selectedRoute.fromAmount)]).then(function (_ref3) {
2368
+ var _ref4 = _slicedToArray(_ref3, 3),
2369
+ name = _ref4[0],
2370
+ symbol = _ref4[1],
2371
+ amount = _ref4[2];
2299
2372
 
2300
2373
  setPayment({
2301
2374
  route: selectedRoute,
@@ -2311,14 +2384,14 @@ var PaymentProvider = (function (props) {
2311
2384
  }, [selectedRoute]);
2312
2385
  React.useEffect(function () {
2313
2386
  if (allRoutes && allRoutes.length == 0) {
2314
- setUpdate(false);
2387
+ setUpdatable(false);
2315
2388
  } else if (allRoutes && allRoutes.length > 0) {
2316
- setUpdate(true);
2389
+ setUpdatable(true);
2317
2390
  }
2318
2391
  }, [allRoutes]);
2319
2392
 
2320
2393
  if (allRoutes instanceof Array && allRoutes.length == 0) {
2321
- return /*#__PURE__*/React__default$1["default"].createElement(depayReactDialogStack.ReactDialogStack, {
2394
+ return /*#__PURE__*/React__default$1["default"].createElement(reactDialogStack.ReactDialogStack, {
2322
2395
  open: open,
2323
2396
  close: close,
2324
2397
  start: "NoPaymentMethodFound",
@@ -2379,8 +2452,8 @@ var PaymentRoutingProvider = (function (props) {
2379
2452
  var _useContext = React.useContext(WalletContext),
2380
2453
  account = _useContext.account;
2381
2454
 
2382
- var _useContext2 = React.useContext(UpdateContext),
2383
- update = _useContext2.update;
2455
+ var _useContext2 = React.useContext(UpdatableContext),
2456
+ updatable = _useContext2.updatable;
2384
2457
 
2385
2458
  var prepareAcceptedPayments = function prepareAcceptedPayments(accept) {
2386
2459
  var toAddress = _typeof(accept.receiver) == 'object' ? accept.receiver.address : accept.receiver;
@@ -2395,13 +2468,13 @@ var PaymentRoutingProvider = (function (props) {
2395
2468
  var getPaymentRoutes = function getPaymentRoutes(_ref) {
2396
2469
  var allRoutes = _ref.allRoutes,
2397
2470
  selectedRoute = _ref.selectedRoute,
2398
- update = _ref.update;
2471
+ updatable = _ref.updatable;
2399
2472
 
2400
- if (update == false || !props.accept || !account) {
2473
+ if (updatable == false || !props.accept || !account) {
2401
2474
  return;
2402
2475
  }
2403
2476
 
2404
- depayWeb3Payments.route({
2477
+ web3Payments.route({
2405
2478
  accept: props.accept.map(prepareAcceptedPayments),
2406
2479
  whitelist: props.whitelist,
2407
2480
  blacklist: props.blacklist,
@@ -2500,13 +2573,13 @@ var PaymentRoutingProvider = (function (props) {
2500
2573
  getPaymentRoutes({
2501
2574
  allRoutes: allRoutes,
2502
2575
  selectedRoute: selectedRoute,
2503
- update: update
2576
+ updatable: updatable
2504
2577
  });
2505
2578
  }, 15000);
2506
2579
  return function () {
2507
2580
  return clearTimeout(timeout);
2508
2581
  };
2509
- }, [reloadCount, allRoutes, selectedRoute, update]);
2582
+ }, [reloadCount, allRoutes, selectedRoute, updatable]);
2510
2583
  React.useEffect(function () {
2511
2584
  if (account && props.accept) {
2512
2585
  setAllRoutes(undefined);
@@ -2536,8 +2609,8 @@ var PaymentValueProvider = (function (props) {
2536
2609
  var _useContext2 = React.useContext(WalletContext),
2537
2610
  account = _useContext2.account;
2538
2611
 
2539
- var _useContext3 = React.useContext(UpdateContext),
2540
- update = _useContext3.update;
2612
+ var _useContext3 = React.useContext(UpdatableContext),
2613
+ updatable = _useContext3.updatable;
2541
2614
 
2542
2615
  var _useContext4 = React.useContext(PaymentContext),
2543
2616
  payment = _useContext4.payment;
@@ -2556,23 +2629,23 @@ var PaymentValueProvider = (function (props) {
2556
2629
  setReloadCount = _useState4[1];
2557
2630
 
2558
2631
  var getToTokenLocalValue = function getToTokenLocalValue(_ref) {
2559
- var update = _ref.update,
2632
+ var updatable = _ref.updatable,
2560
2633
  payment = _ref.payment;
2561
2634
 
2562
- if (update == false || (payment === null || payment === void 0 ? void 0 : payment.route) == undefined) {
2635
+ if (updatable == false || (payment === null || payment === void 0 ? void 0 : payment.route) == undefined) {
2563
2636
  return;
2564
2637
  }
2565
2638
 
2566
- Promise.all([depayWeb3Exchanges.route({
2639
+ Promise.all([web3Exchanges.route({
2567
2640
  blockchain: payment.route.blockchain,
2568
2641
  tokenIn: payment.route.toToken.address,
2569
- tokenOut: depayWeb3Constants.CONSTANTS[payment.route.blockchain].USD,
2642
+ tokenOut: web3Constants.CONSTANTS[payment.route.blockchain].USD,
2570
2643
  amountIn: payment.route.toAmount,
2571
2644
  fromAddress: account,
2572
2645
  toAddress: account
2573
- }), new depayWeb3Tokens.Token({
2646
+ }), new web3Tokens.Token({
2574
2647
  blockchain: payment.route.blockchain,
2575
- address: depayWeb3Constants.CONSTANTS[payment.route.blockchain].USD
2648
+ address: web3Constants.CONSTANTS[payment.route.blockchain].USD
2576
2649
  }).decimals()]).then(function (_ref2) {
2577
2650
  var _ref3 = _slicedToArray(_ref2, 2),
2578
2651
  USDExchangeRoutes = _ref3[0],
@@ -2581,7 +2654,7 @@ var PaymentValueProvider = (function (props) {
2581
2654
  var USDRoute = USDExchangeRoutes[0];
2582
2655
  var USDAmount;
2583
2656
 
2584
- if (payment.route.toToken.address.toLowerCase() == depayWeb3Constants.CONSTANTS[payment.route.blockchain].USD.toLowerCase()) {
2657
+ if (payment.route.toToken.address.toLowerCase() == web3Constants.CONSTANTS[payment.route.blockchain].USD.toLowerCase()) {
2585
2658
  USDAmount = payment.route.toAmount.toString();
2586
2659
  } else if (USDRoute == undefined) {
2587
2660
  setPaymentValue('');
@@ -2591,7 +2664,7 @@ var PaymentValueProvider = (function (props) {
2591
2664
  }
2592
2665
 
2593
2666
  var USDValue = ethers.ethers.utils.formatUnits(USDAmount, USDDecimals);
2594
- depayLocalCurrency.Currency.fromUSD({
2667
+ localCurrency.Currency.fromUSD({
2595
2668
  amount: USDValue,
2596
2669
  code: currency,
2597
2670
  apiKey: apiKey
@@ -2602,7 +2675,7 @@ var PaymentValueProvider = (function (props) {
2602
2675
  React.useEffect(function () {
2603
2676
  if (account && payment) {
2604
2677
  getToTokenLocalValue({
2605
- update: update,
2678
+ updatable: updatable,
2606
2679
  payment: payment
2607
2680
  });
2608
2681
  }
@@ -2611,13 +2684,13 @@ var PaymentValueProvider = (function (props) {
2611
2684
  var timeout = setTimeout(function () {
2612
2685
  setReloadCount(reloadCount + 1);
2613
2686
  getToTokenLocalValue({
2614
- update: update
2687
+ updatable: updatable
2615
2688
  });
2616
2689
  }, 15000);
2617
2690
  return function () {
2618
2691
  return clearTimeout(timeout);
2619
2692
  };
2620
- }, [reloadCount, update]);
2693
+ }, [reloadCount, updatable]);
2621
2694
  return /*#__PURE__*/React__default$1["default"].createElement(PaymentValueContext.Provider, {
2622
2695
  value: {
2623
2696
  paymentValue: paymentValue
@@ -2659,7 +2732,7 @@ var format = (function (input) {
2659
2732
  });
2660
2733
 
2661
2734
  var ChangeAmountDialog = (function (props) {
2662
- var _useContext = React.useContext(depayReactDialogStack.NavigateStackContext),
2735
+ var _useContext = React.useContext(reactDialogStack.NavigateStackContext),
2663
2736
  navigate = _useContext.navigate;
2664
2737
 
2665
2738
  var _useContext2 = React.useContext(ErrorContext);
@@ -2772,7 +2845,9 @@ var ChangeAmountDialog = (function (props) {
2772
2845
  changeAmount(toValidValue(maxAmount));
2773
2846
  }
2774
2847
  }, "(Max)")))))),
2775
- footer: /*#__PURE__*/React__default$1["default"].createElement("div", null, /*#__PURE__*/React__default$1["default"].createElement("button", {
2848
+ footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
2849
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
2850
+ }, /*#__PURE__*/React__default$1["default"].createElement("button", {
2776
2851
  className: "ButtonPrimary",
2777
2852
  onClick: changeAmountAndGoBack
2778
2853
  }, "Done"))
@@ -2823,7 +2898,7 @@ var ChangePaymentDialog = (function (props) {
2823
2898
  var _useContext3 = React.useContext(PaymentValueContext),
2824
2899
  paymentValue = _useContext3.paymentValue;
2825
2900
 
2826
- var _useContext4 = React.useContext(depayReactDialogStack.NavigateStackContext),
2901
+ var _useContext4 = React.useContext(reactDialogStack.NavigateStackContext),
2827
2902
  navigate = _useContext4.navigate;
2828
2903
 
2829
2904
  var _useState = React.useState([]),
@@ -2859,6 +2934,7 @@ var ChangePaymentDialog = (function (props) {
2859
2934
  }, [allRoutes]);
2860
2935
  React.useEffect(function () {
2861
2936
  setCards(allPaymentRoutesWithData.map(function (payment, index) {
2937
+ var blockchain = web3Blockchains.Blockchain.findByName(payment.route.blockchain);
2862
2938
  return /*#__PURE__*/React__default$1["default"].createElement("div", {
2863
2939
  key: index,
2864
2940
  className: "Card",
@@ -2869,9 +2945,14 @@ var ChangePaymentDialog = (function (props) {
2869
2945
  }
2870
2946
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
2871
2947
  className: "CardImage"
2872
- }, /*#__PURE__*/React__default$1["default"].createElement(depayReactTokenImage.TokenImage, {
2948
+ }, /*#__PURE__*/React__default$1["default"].createElement(reactTokenImage.TokenImage, {
2873
2949
  blockchain: payment.route.blockchain,
2874
2950
  address: payment.route.fromToken.address
2951
+ }), /*#__PURE__*/React__default$1["default"].createElement("img", {
2952
+ className: "BlockchainLogo small",
2953
+ src: blockchain.logo,
2954
+ alt: blockchain.label,
2955
+ title: blockchain.label
2875
2956
  })), /*#__PURE__*/React__default$1["default"].createElement("div", {
2876
2957
  className: "CardBody"
2877
2958
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -2886,11 +2967,7 @@ var ChangePaymentDialog = (function (props) {
2886
2967
  className: "TokenAmountCell"
2887
2968
  }, format(payment.amount)))), /*#__PURE__*/React__default$1["default"].createElement("h3", {
2888
2969
  className: "CardText"
2889
- }, /*#__PURE__*/React__default$1["default"].createElement("small", null, format(round(parseFloat(payment.route.fromBalance.toString()) / Math.pow(10, payment.decimals), 'down')))))), /*#__PURE__*/React__default$1["default"].createElement("div", {
2890
- className: "CardInfo"
2891
- }, payment.route.approvalRequired && /*#__PURE__*/React__default$1["default"].createElement("span", {
2892
- className: "Label"
2893
- }, "Requires Approval")));
2970
+ }, /*#__PURE__*/React__default$1["default"].createElement("small", null, format(round(parseFloat(payment.route.fromBalance.toString()) / Math.pow(10, payment.decimals), 'down')))))));
2894
2971
  }));
2895
2972
  }, [allPaymentRoutesWithData]);
2896
2973
 
@@ -2916,25 +2993,12 @@ var ChangePaymentDialog = (function (props) {
2916
2993
  });
2917
2994
  });
2918
2995
 
2919
- var Checkmark = (function () {
2920
- return /*#__PURE__*/React__default$1["default"].createElement("svg", {
2921
- className: "Checkmark Icon",
2922
- version: "1.1",
2923
- xmlns: "http://www.w3.org/2000/svg",
2924
- x: "0px",
2925
- y: "0px",
2926
- viewBox: "0 0 24 24"
2927
- }, /*#__PURE__*/React__default$1["default"].createElement("path", {
2928
- d: "M20,4.9L9.2,16l-5.4-3.9c-0.7-0.5-1.6-0.3-2.1,0.3c-0.5,0.7-0.3,1.6,0.3,2.1l6.4,4.7c0.3,0.2,0.6,0.3,0.9,0.3 c0.4,0,0.8-0.2,1.1-0.5l11.7-12c0.6-0.6,0.6-1.6,0-2.2C21.6,4.3,20.6,4.3,20,4.9z"
2929
- }));
2930
- });
2931
-
2932
2996
  var DonationOverviewSkeleton = (function (props) {
2933
2997
  return /*#__PURE__*/React__default$1["default"].createElement(Dialog$1, {
2934
2998
  header: /*#__PURE__*/React__default$1["default"].createElement("div", {
2935
- className: "PaddingTopS PaddingLeftM PaddingRightM"
2999
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
2936
3000
  }, /*#__PURE__*/React__default$1["default"].createElement("h1", {
2937
- className: "LineHeightL FontSizeL TextLeft"
3001
+ className: "LineHeightL FontSizeL"
2938
3002
  }, "Donation")),
2939
3003
  body: /*#__PURE__*/React__default$1["default"].createElement("div", {
2940
3004
  className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
@@ -2948,7 +3012,7 @@ var DonationOverviewSkeleton = (function (props) {
2948
3012
  className: "SkeletonBackground"
2949
3013
  }))),
2950
3014
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
2951
- className: "PaddingTopXS PaddingRightM PaddingLeftM"
3015
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
2952
3016
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
2953
3017
  className: "SkeletonWrapper"
2954
3018
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -2959,6 +3023,60 @@ var DonationOverviewSkeleton = (function (props) {
2959
3023
  });
2960
3024
  });
2961
3025
 
3026
+ var Checkmark = (function (props) {
3027
+ return /*#__PURE__*/React__default$1["default"].createElement("svg", {
3028
+ className: "Checkmark Icon " + props.className,
3029
+ version: "1.1",
3030
+ xmlns: "http://www.w3.org/2000/svg",
3031
+ x: "0px",
3032
+ y: "0px",
3033
+ viewBox: "0 0 24 24"
3034
+ }, /*#__PURE__*/React__default$1["default"].createElement("path", {
3035
+ d: "M20,4.9L9.2,16l-5.4-3.9c-0.7-0.5-1.6-0.3-2.1,0.3c-0.5,0.7-0.3,1.6,0.3,2.1l6.4,4.7c0.3,0.2,0.6,0.3,0.9,0.3 c0.4,0,0.8-0.2,1.1-0.5l11.7-12c0.6-0.6,0.6-1.6,0-2.2C21.6,4.3,20.6,4.3,20,4.9z"
3036
+ }));
3037
+ });
3038
+
3039
+ var DigitalWalletIcon = (function (props) {
3040
+ return /*#__PURE__*/React__default$1["default"].createElement("svg", {
3041
+ className: "DigitalWalletIcon Icon " + props.className,
3042
+ version: "1.1",
3043
+ xmlns: "http://www.w3.org/2000/svg",
3044
+ height: "24",
3045
+ width: "24",
3046
+ viewBox: "0 0 24 24"
3047
+ }, /*#__PURE__*/React__default$1["default"].createElement("path", {
3048
+ d: "M8.51,4.84l-.39-.53,4-2.89a2.2,2.2,0,0,1,3.06.48l.4.56-.53.39-.4-.56A1.54,1.54,0,0,0,12.5,2Z",
3049
+ transform: "translate(-0.81 -1)"
3050
+ }), /*#__PURE__*/React__default$1["default"].createElement("path", {
3051
+ d: "M9.77,4.89l-.21-.62,6.31-2.13h0a2.18,2.18,0,0,1,.67-.1h0a2.21,2.21,0,0,1,2.08,1.49l.32.95-.63.21L18,3.73a1.53,1.53,0,0,0-1.45-1h0a1.61,1.61,0,0,0-.48.08h0Z",
3052
+ transform: "translate(-0.81 -1)"
3053
+ }), /*#__PURE__*/React__default$1["default"].createElement("path", {
3054
+ d: "M19.72,16.2H18.27a3.28,3.28,0,1,1,0-6.56h1.45a3.21,3.21,0,0,1,1.33.28h0a3.28,3.28,0,0,1,0,6A3.21,3.21,0,0,1,19.72,16.2Zm-1.45-5.9a2.63,2.63,0,0,0,0,5.25h1.45a2.56,2.56,0,0,0,1.06-.23,2.62,2.62,0,0,0,0-4.8,2.55,2.55,0,0,0-1.06-.22ZM19,14.53a1.61,1.61,0,1,1,1.61-1.61A1.62,1.62,0,0,1,19,14.53ZM19,12a1,1,0,1,0,.95.95A1,1,0,0,0,19,12Z",
3055
+ transform: "translate(-0.81 -1)"
3056
+ }), /*#__PURE__*/React__default$1["default"].createElement("path", {
3057
+ d: "M10.49,19.69a1.58,1.58,0,1,1,1.58-1.57A1.57,1.57,0,0,1,10.49,19.69Zm0-2.49a.92.92,0,1,0,.92.92A.92.92,0,0,0,10.49,17.2Z",
3058
+ transform: "translate(-0.81 -1)"
3059
+ }), /*#__PURE__*/React__default$1["default"].createElement("path", {
3060
+ d: "M19.09,22.14H2.79a2,2,0,0,1-2-2V6.25a2.1,2.1,0,0,1,0-.43,2,2,0,0,1,.48-.92,2,2,0,0,1,1.48-.65H19.09a2,2,0,0,1,.64.1,2,2,0,0,1,1.36,1.79v0a.28.28,0,0,1,0,.09v3.91h-.66v-4a1.49,1.49,0,0,0-.23-.69A1.35,1.35,0,0,0,19.52,5a1.26,1.26,0,0,0-.43-.08H2.82a1.34,1.34,0,0,0-1,.44A1.49,1.49,0,0,0,1.5,6a1.5,1.5,0,0,0,0,.29V20.13a1.36,1.36,0,0,0,1.34,1.35H19.09a1.35,1.35,0,0,0,1.35-1.35V15.68h.66v4.45A2,2,0,0,1,19.09,22.14Z",
3061
+ transform: "translate(-0.81 -1)"
3062
+ }), /*#__PURE__*/React__default$1["default"].createElement("path", {
3063
+ d: "M9.27,9.31a1.58,1.58,0,1,1,0-3.15,1.58,1.58,0,0,1,0,3.15Zm0-2.5a.92.92,0,1,0,.92.92A.92.92,0,0,0,9.27,6.81Z",
3064
+ transform: "translate(-0.81 -1)"
3065
+ }), /*#__PURE__*/React__default$1["default"].createElement("path", {
3066
+ d: "M7.11,14.67A1.58,1.58,0,1,1,8.69,13.1,1.57,1.57,0,0,1,7.11,14.67Zm0-2.49A.92.92,0,1,0,8,13.1.92.92,0,0,0,7.11,12.18Z",
3067
+ transform: "translate(-0.81 -1)"
3068
+ }), /*#__PURE__*/React__default$1["default"].createElement("rect", {
3069
+ x: "0.33",
3070
+ y: "11.77",
3071
+ width: "4.72",
3072
+ height: "0.66"
3073
+ }), /*#__PURE__*/React__default$1["default"].createElement("polygon", {
3074
+ points: "2.08 9.53 0.33 9.53 0.33 8.87 1.8 8.87 4.28 6.39 7.21 6.39 7.21 7.05 4.55 7.05 2.08 9.53"
3075
+ }), /*#__PURE__*/React__default$1["default"].createElement("polygon", {
3076
+ points: "8.43 17.45 4.53 17.45 2.63 15.55 0.33 15.55 0.33 14.89 2.9 14.89 4.8 16.79 8.43 16.79 8.43 17.45"
3077
+ }));
3078
+ });
3079
+
2962
3080
  var LoadingText = (function (props) {
2963
3081
  return /*#__PURE__*/React__default$1["default"].createElement("div", {
2964
3082
  className: "LoadingText"
@@ -2971,26 +3089,143 @@ var LoadingText = (function (props) {
2971
3089
  }, "."));
2972
3090
  });
2973
3091
 
2974
- var DonationOverviewDialog = (function (props) {
3092
+ var Footer = (function () {
2975
3093
  var _useContext = React.useContext(ConfigurationContext),
2976
3094
  currencyCode = _useContext.currencyCode;
2977
3095
 
2978
3096
  var _useContext2 = React.useContext(ChangableAmountContext),
2979
3097
  amount = _useContext2.amount;
3098
+ _useContext2.amountsMissing;
2980
3099
 
2981
- var _useContext3 = React.useContext(PaymentContext),
2982
- payment = _useContext3.payment,
2983
- paymentState = _useContext3.paymentState,
2984
- pay = _useContext3.pay,
2985
- transaction = _useContext3.transaction,
2986
- approve = _useContext3.approve,
2987
- approvalTransaction = _useContext3.approvalTransaction;
3100
+ var _useContext3 = React.useContext(TrackingContext),
3101
+ tracking = _useContext3.tracking,
3102
+ forward = _useContext3.forward,
3103
+ forwardTo = _useContext3.forwardTo;
2988
3104
 
2989
- var _useContext4 = React.useContext(depayReactDialogStack.NavigateStackContext),
2990
- navigate = _useContext4.navigate;
3105
+ var _useContext4 = React.useContext(PaymentContext),
3106
+ payment = _useContext4.payment,
3107
+ paymentState = _useContext4.paymentState,
3108
+ pay = _useContext4.pay,
3109
+ transaction = _useContext4.transaction,
3110
+ approve = _useContext4.approve,
3111
+ approvalTransaction = _useContext4.approvalTransaction;
3112
+
3113
+ var _useContext5 = React.useContext(PaymentValueContext),
3114
+ paymentValue = _useContext5.paymentValue;
3115
+
3116
+ var _useContext6 = React.useContext(reactDialogStack.NavigateStackContext),
3117
+ navigate = _useContext6.navigate;
3118
+
3119
+ var _useContext7 = React.useContext(ClosableContext),
3120
+ close = _useContext7.close;
3121
+
3122
+ var trackingInfo = function trackingInfo() {
3123
+ if (tracking != true) {
3124
+ return null;
3125
+ }
3126
+
3127
+ if (forward) {
3128
+ return /*#__PURE__*/React__default$1["default"].createElement("div", null, /*#__PURE__*/React__default$1["default"].createElement("a", {
3129
+ className: "Card transparent small disabled"
3130
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3131
+ className: "CardImage"
3132
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3133
+ className: "TextCenter Opacity05"
3134
+ }, /*#__PURE__*/React__default$1["default"].createElement(Checkmark, {
3135
+ className: "small"
3136
+ }))), /*#__PURE__*/React__default$1["default"].createElement("div", {
3137
+ className: "CardBody"
3138
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3139
+ className: "CardBodyWrapper"
3140
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3141
+ className: "Opacity05"
3142
+ }, "Payment confirmation has been stored")))));
3143
+ } else {
3144
+ return /*#__PURE__*/React__default$1["default"].createElement("div", null, /*#__PURE__*/React__default$1["default"].createElement("a", {
3145
+ className: "Card transparent small disabled"
3146
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3147
+ className: "CardImage"
3148
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3149
+ className: "TextCenter"
3150
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3151
+ className: "Loading Icon"
3152
+ }))), /*#__PURE__*/React__default$1["default"].createElement("div", {
3153
+ className: "CardBody"
3154
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3155
+ className: "CardBodyWrapper"
3156
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3157
+ className: "Opacity05"
3158
+ }, "Storing payment confirmation")))));
3159
+ }
3160
+ };
2991
3161
 
2992
- var _useContext5 = React.useContext(ClosableContext),
2993
- close = _useContext5.close;
3162
+ var additionalPaymentInformation = function additionalPaymentInformation() {
3163
+ if (paymentState == 'paying' && transaction == undefined) {
3164
+ return /*#__PURE__*/React__default$1["default"].createElement("div", {
3165
+ className: "PaddingBottomS"
3166
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3167
+ className: "Card transparent disabled small"
3168
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3169
+ className: "CardImage"
3170
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3171
+ className: "TextCenter Opacity05"
3172
+ }, /*#__PURE__*/React__default$1["default"].createElement(DigitalWalletIcon, {
3173
+ className: "small"
3174
+ }))), /*#__PURE__*/React__default$1["default"].createElement("div", {
3175
+ className: "CardBody"
3176
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3177
+ className: "CardBodyWrapper"
3178
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3179
+ className: "Opacity05"
3180
+ }, "Confirm transaction in your wallet")))));
3181
+ } else if (paymentState == 'confirmed') {
3182
+ return /*#__PURE__*/React__default$1["default"].createElement("div", {
3183
+ className: "PaddingBottomS"
3184
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", null, /*#__PURE__*/React__default$1["default"].createElement("a", {
3185
+ className: "Card transparent small",
3186
+ title: "Payment has been confirmed by the network",
3187
+ href: transaction === null || transaction === void 0 ? void 0 : transaction.url,
3188
+ target: "_blank",
3189
+ rel: "noopener noreferrer"
3190
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3191
+ className: "CardImage"
3192
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3193
+ className: "TextCenter Opacity05"
3194
+ }, /*#__PURE__*/React__default$1["default"].createElement(Checkmark, {
3195
+ className: "small"
3196
+ }))), /*#__PURE__*/React__default$1["default"].createElement("div", {
3197
+ className: "CardBody"
3198
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3199
+ className: "CardBodyWrapper"
3200
+ }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3201
+ className: "Opacity05"
3202
+ }, "Payment has been confirmed"))))), trackingInfo());
3203
+ }
3204
+ };
3205
+
3206
+ var approvalButton = function approvalButton() {
3207
+ if (!payment.route.approvalRequired || payment.route.directTransfer) {
3208
+ return null;
3209
+ } else if (paymentState == 'initialized') {
3210
+ return /*#__PURE__*/React__default$1["default"].createElement("div", {
3211
+ className: "PaddingBottomS"
3212
+ }, /*#__PURE__*/React__default$1["default"].createElement("button", {
3213
+ className: "ButtonPrimary",
3214
+ onClick: approve,
3215
+ title: "Allow ".concat(payment.symbol, " to be used as payment")
3216
+ }, "Allow ", payment.symbol, " to be used as payment"));
3217
+ } else if (paymentState == 'approving') {
3218
+ return /*#__PURE__*/React__default$1["default"].createElement("div", {
3219
+ className: "PaddingBottomS"
3220
+ }, /*#__PURE__*/React__default$1["default"].createElement("a", {
3221
+ className: "ButtonPrimary",
3222
+ title: "Approving payment token - please wait",
3223
+ href: approvalTransaction === null || approvalTransaction === void 0 ? void 0 : approvalTransaction.url,
3224
+ target: "_blank",
3225
+ rel: "noopener noreferrer"
3226
+ }, /*#__PURE__*/React__default$1["default"].createElement(LoadingText, null, "Approving")));
3227
+ }
3228
+ };
2994
3229
 
2995
3230
  var mainAction = function mainAction() {
2996
3231
  if (paymentState == 'initialized' || paymentState == 'approving') {
@@ -3005,10 +3240,10 @@ var DonationOverviewDialog = (function (props) {
3005
3240
  navigate: navigate
3006
3241
  });
3007
3242
  }
3008
- }, "Pay ", new depayLocalCurrency.Currency({
3243
+ }, "Pay ", amount ? new localCurrency.Currency({
3009
3244
  amount: amount.toFixed(2),
3010
3245
  code: currencyCode
3011
- }).toString());
3246
+ }).toString() : paymentValue.toString().length ? paymentValue.toString() : "".concat(payment.amount));
3012
3247
  } else if (paymentState == 'paying') {
3013
3248
  return /*#__PURE__*/React__default$1["default"].createElement("a", {
3014
3249
  className: "ButtonPrimary",
@@ -3018,39 +3253,51 @@ var DonationOverviewDialog = (function (props) {
3018
3253
  rel: "noopener noreferrer"
3019
3254
  }, /*#__PURE__*/React__default$1["default"].createElement(LoadingText, null, "Paying"));
3020
3255
  } else if (paymentState == 'confirmed') {
3021
- return /*#__PURE__*/React__default$1["default"].createElement("button", {
3022
- className: "ButtonPrimary round",
3023
- title: "Done",
3024
- onClick: close
3025
- }, /*#__PURE__*/React__default$1["default"].createElement(Checkmark, null));
3256
+ if (tracking == true) {
3257
+ if (forward) {
3258
+ if (forwardTo) {
3259
+ return /*#__PURE__*/React__default$1["default"].createElement("a", {
3260
+ className: "ButtonPrimary",
3261
+ href: forwardTo,
3262
+ rel: "noopener noreferrer"
3263
+ }, "Continue");
3264
+ } else {
3265
+ return /*#__PURE__*/React__default$1["default"].createElement("button", {
3266
+ className: "ButtonPrimary",
3267
+ onClick: close
3268
+ }, "Continue");
3269
+ }
3270
+ } else {
3271
+ return /*#__PURE__*/React__default$1["default"].createElement("button", {
3272
+ className: "ButtonPrimary disabled",
3273
+ onClick: function onClick() {}
3274
+ }, "Continue");
3275
+ }
3276
+ } else {
3277
+ return /*#__PURE__*/React__default$1["default"].createElement("button", {
3278
+ className: "ButtonPrimary",
3279
+ onClick: close
3280
+ }, "Close");
3281
+ }
3026
3282
  }
3027
3283
  };
3028
3284
 
3029
- var approvalAction = function approvalAction() {
3030
- if (paymentState == 'initialized') {
3031
- return /*#__PURE__*/React__default$1["default"].createElement("div", {
3032
- className: "PaddingBottomS"
3033
- }, /*#__PURE__*/React__default$1["default"].createElement("button", {
3034
- className: "ButtonPrimary wide",
3035
- onClick: approve,
3036
- title: "Allow ".concat(payment.symbol, " to be used as payment")
3037
- }, "Allow ", payment.symbol, " to be used as payment"));
3038
- } else if (paymentState == 'approving') {
3039
- return /*#__PURE__*/React__default$1["default"].createElement("div", {
3040
- className: "PaddingBottomS"
3041
- }, /*#__PURE__*/React__default$1["default"].createElement("a", {
3042
- className: "ButtonPrimary wide",
3043
- title: "Approving payment token - please wait",
3044
- href: approvalTransaction === null || approvalTransaction === void 0 ? void 0 : approvalTransaction.url,
3045
- target: "_blank",
3046
- rel: "noopener noreferrer"
3047
- }, /*#__PURE__*/React__default$1["default"].createElement(LoadingText, null, "Approving")));
3048
- }
3049
- };
3285
+ return /*#__PURE__*/React__default$1["default"].createElement("div", null, approvalButton(), additionalPaymentInformation(), mainAction());
3286
+ });
3050
3287
 
3051
- var actions = function actions() {
3052
- return /*#__PURE__*/React__default$1["default"].createElement("div", null, payment.route.approvalRequired && !payment.route.directTransfer && approvalAction(), mainAction());
3053
- };
3288
+ var DonationOverviewDialog = (function (props) {
3289
+ var _useContext = React.useContext(ConfigurationContext),
3290
+ currencyCode = _useContext.currencyCode;
3291
+
3292
+ var _useContext2 = React.useContext(ChangableAmountContext),
3293
+ amount = _useContext2.amount;
3294
+
3295
+ var _useContext3 = React.useContext(PaymentContext),
3296
+ payment = _useContext3.payment,
3297
+ paymentState = _useContext3.paymentState;
3298
+
3299
+ var _useContext4 = React.useContext(reactDialogStack.NavigateStackContext),
3300
+ navigate = _useContext4.navigate;
3054
3301
 
3055
3302
  if (payment == undefined) {
3056
3303
  return /*#__PURE__*/React__default$1["default"].createElement(DonationOverviewSkeleton, null);
@@ -3058,9 +3305,9 @@ var DonationOverviewDialog = (function (props) {
3058
3305
 
3059
3306
  return /*#__PURE__*/React__default$1["default"].createElement(Dialog$1, {
3060
3307
  header: /*#__PURE__*/React__default$1["default"].createElement("div", {
3061
- className: "PaddingTopS PaddingLeftM PaddingRightM"
3308
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
3062
3309
  }, /*#__PURE__*/React__default$1["default"].createElement("h1", {
3063
- className: "LineHeightL FontSizeL TextLeft"
3310
+ className: "LineHeightL FontSizeL"
3064
3311
  }, "Donation")),
3065
3312
  body: /*#__PURE__*/React__default$1["default"].createElement("div", {
3066
3313
  className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
@@ -3084,7 +3331,7 @@ var DonationOverviewDialog = (function (props) {
3084
3331
  className: "CardText"
3085
3332
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3086
3333
  className: "TokenAmountRow"
3087
- }, new depayLocalCurrency.Currency({
3334
+ }, new localCurrency.Currency({
3088
3335
  amount: amount.toFixed(2),
3089
3336
  code: currencyCode
3090
3337
  }).toString())))), /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -3102,7 +3349,7 @@ var DonationOverviewDialog = (function (props) {
3102
3349
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3103
3350
  className: "CardImage",
3104
3351
  title: payment.name
3105
- }, /*#__PURE__*/React__default$1["default"].createElement(depayReactTokenImage.TokenImage, {
3352
+ }, /*#__PURE__*/React__default$1["default"].createElement(reactTokenImage.TokenImage, {
3106
3353
  blockchain: payment.route.blockchain,
3107
3354
  address: payment.token
3108
3355
  })), /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -3123,13 +3370,13 @@ var DonationOverviewDialog = (function (props) {
3123
3370
  className: "CardAction"
3124
3371
  }, /*#__PURE__*/React__default$1["default"].createElement(ChevronRight, null)))),
3125
3372
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
3126
- className: "PaddingTopXS PaddingRightM PaddingLeftM"
3127
- }, actions())
3373
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
3374
+ }, /*#__PURE__*/React__default$1["default"].createElement(Footer, null))
3128
3375
  });
3129
3376
  });
3130
3377
 
3131
3378
  var PaymentErrorDialog = (function () {
3132
- var _useContext = React.useContext(depayReactDialogStack.NavigateStackContext),
3379
+ var _useContext = React.useContext(reactDialogStack.NavigateStackContext),
3133
3380
  navigate = _useContext.navigate;
3134
3381
 
3135
3382
  var _useContext2 = React.useContext(PaymentContext),
@@ -3161,9 +3408,9 @@ var PaymentErrorDialog = (function () {
3161
3408
  rel: "noopener noreferrer"
3162
3409
  }, "View on explorer")))),
3163
3410
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
3164
- className: "PaddingTopXS PaddingRightM PaddingLeftM"
3411
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
3165
3412
  }, /*#__PURE__*/React__default$1["default"].createElement("button", {
3166
- className: "ButtonPrimary wide",
3413
+ className: "ButtonPrimary",
3167
3414
  onClick: function onClick() {
3168
3415
  return navigate('back');
3169
3416
  }
@@ -3177,16 +3424,16 @@ var WrongNetworkDialog = (function (props) {
3177
3424
  var _useContext = React.useContext(PaymentContext),
3178
3425
  payment = _useContext.payment;
3179
3426
 
3180
- var _useContext2 = React.useContext(depayReactDialogStack.NavigateStackContext),
3427
+ var _useContext2 = React.useContext(reactDialogStack.NavigateStackContext),
3181
3428
  navigate = _useContext2.navigate;
3182
3429
 
3183
- var blockchain = depayWeb3Blockchains.Blockchain.findByName(payment.route.blockchain);
3430
+ var blockchain = web3Blockchains.Blockchain.findByName(payment.route.blockchain);
3184
3431
  return /*#__PURE__*/React__default$1["default"].createElement(Dialog$1, {
3185
3432
  stacked: true,
3186
3433
  header: /*#__PURE__*/React__default$1["default"].createElement("div", {
3187
- className: "PaddingTopS PaddingLeftM PaddingRightM"
3434
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
3188
3435
  }, /*#__PURE__*/React__default$1["default"].createElement("h1", {
3189
- className: "LineHeightL FontSizeL TextLeft"
3436
+ className: "LineHeightL FontSizeL"
3190
3437
  }, "Wrong Network")),
3191
3438
  body: /*#__PURE__*/React__default$1["default"].createElement("div", {
3192
3439
  className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
@@ -3203,7 +3450,7 @@ var WrongNetworkDialog = (function (props) {
3203
3450
  className: "FontSizeM"
3204
3451
  }, "Please make sure you connect your wallet to the correct network before you try again!"))),
3205
3452
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
3206
- className: "PaddingTopXS PaddingRightM PaddingLeftM"
3453
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
3207
3454
  }, /*#__PURE__*/React__default$1["default"].createElement("button", {
3208
3455
  className: "ButtonPrimary",
3209
3456
  onClick: function onClick() {
@@ -3218,7 +3465,7 @@ var DonationStack = (function (props) {
3218
3465
  open = _useContext.open,
3219
3466
  close = _useContext.close;
3220
3467
 
3221
- return /*#__PURE__*/React__default$1["default"].createElement(depayReactDialogStack.ReactDialogStack, {
3468
+ return /*#__PURE__*/React__default$1["default"].createElement(reactDialogStack.ReactDialogStack, {
3222
3469
  open: open,
3223
3470
  close: close,
3224
3471
  start: "DonationOverview",
@@ -3234,16 +3481,122 @@ var DonationStack = (function (props) {
3234
3481
  });
3235
3482
  });
3236
3483
 
3237
- var UpdateProvider = (function (props) {
3238
- var _useState = React.useState(true),
3484
+ var TrackingProvider = (function (props) {
3485
+ var _useContext = React.useContext(ConfigurationContext),
3486
+ track = _useContext.track;
3487
+
3488
+ var _useState = React.useState(track && !!track.endpoint),
3239
3489
  _useState2 = _slicedToArray(_useState, 2),
3240
- update = _useState2[0],
3241
- setUpdate = _useState2[1];
3490
+ tracking = _useState2[0],
3491
+ setTracking = _useState2[1];
3492
+
3493
+ var _useState3 = React.useState(false),
3494
+ _useState4 = _slicedToArray(_useState3, 2),
3495
+ forward = _useState4[0],
3496
+ setForward = _useState4[1];
3497
+
3498
+ var _useState5 = React.useState(),
3499
+ _useState6 = _slicedToArray(_useState5, 2),
3500
+ forwardTo = _useState6[0],
3501
+ setForwardTo = _useState6[1];
3502
+
3503
+ var _useContext2 = React.useContext(ClosableContext),
3504
+ setClosable = _useContext2.setClosable;
3505
+
3506
+ React.useEffect(function () {
3507
+ setTracking(track && !!track.endpoint);
3508
+ }, [track]);
3509
+
3510
+ var openSocket = function openSocket(transaction) {
3511
+ var socket = new WebSocket('wss://integrate.depay.fi/cable');
3512
+
3513
+ socket.onopen = function (event) {
3514
+ var msg = {
3515
+ command: 'subscribe',
3516
+ identifier: JSON.stringify({
3517
+ blockchain: transaction.blockchain,
3518
+ sender: transaction.from.toLowerCase(),
3519
+ nonce: transaction.nonce,
3520
+ channel: 'PaymentChannel'
3521
+ })
3522
+ };
3523
+ socket.send(JSON.stringify(msg));
3524
+ };
3242
3525
 
3243
- return /*#__PURE__*/React__default$1["default"].createElement(UpdateContext.Provider, {
3526
+ socket.onclose = function (event) {};
3527
+
3528
+ socket.onmessage = function (event) {
3529
+ var item = JSON.parse(event.data);
3530
+
3531
+ if (item.type === "ping") {
3532
+ return;
3533
+ }
3534
+
3535
+ if (item.message && item.message.forward) {
3536
+ setClosable(!item.message.forward_to);
3537
+ setForwardTo(item.message.forward_to);
3538
+ setForward(item.message.forward);
3539
+ socket.close();
3540
+
3541
+ if (!!item.message.forward_to) {
3542
+ setTimeout(function () {
3543
+ props.document.location.href = item.message.forward_to;
3544
+ }, 500);
3545
+ }
3546
+ }
3547
+ };
3548
+
3549
+ socket.onerror = function (error) {
3550
+ console.log('WebSocket Error: ' + error);
3551
+ };
3552
+ };
3553
+
3554
+ var retryStartTracking = function retryStartTracking(transaction, afterBlock, attempt) {
3555
+ attempt = parseInt(attempt || 1, 10);
3556
+ console.log('RETRY TRACKING ATTEMPT ', attempt);
3557
+
3558
+ if (attempt < 3) {
3559
+ setTimeout(function () {
3560
+ startTracking(transaction, afterBlock, attempt + 1);
3561
+ }, 3000);
3562
+ } else {
3563
+ console.log('TRACKING FAILED AFTER 3 ATTEMPTS!');
3564
+ }
3565
+ };
3566
+
3567
+ var startTracking = function startTracking(transaction, afterBlock, attempt) {
3568
+ fetch(track.endpoint, {
3569
+ method: 'POST',
3570
+ body: JSON.stringify({
3571
+ blockchain: transaction.blockchain,
3572
+ transaction: transaction.id.toLowerCase(),
3573
+ sender: transaction.from.toLowerCase(),
3574
+ nonce: transaction.nonce,
3575
+ after_block: afterBlock
3576
+ })
3577
+ }).then(function (response) {
3578
+ if (response.status == 200) {
3579
+ console.log('TRACKING INITIALIZED');
3580
+ } else {
3581
+ retryStartTracking(transaction, afterBlock, attempt);
3582
+ }
3583
+ })["catch"](function (error) {
3584
+ console.log('TRACKING FAILED', error);
3585
+ retryStartTracking(transaction, afterBlock, attempt);
3586
+ });
3587
+ };
3588
+
3589
+ var initializeTracking = function initializeTracking(transaction, afterBlock) {
3590
+ openSocket(transaction);
3591
+ startTracking(transaction, afterBlock);
3592
+ };
3593
+
3594
+ return /*#__PURE__*/React__default$1["default"].createElement(TrackingContext.Provider, {
3244
3595
  value: {
3245
- update: update,
3246
- setUpdate: setUpdate
3596
+ tracking: tracking,
3597
+ initializeTracking: initializeTracking,
3598
+ forward: forward,
3599
+ forwardTo: forwardTo
3247
3600
  }
3248
3601
  }, props.children);
3249
3602
  });
@@ -3346,12 +3699,12 @@ var preflight$2 = /*#__PURE__*/function () {
3346
3699
 
3347
3700
  var Donation = /*#__PURE__*/function () {
3348
3701
  var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(_ref3) {
3349
- var amount, accept, event, sent, confirmed, ensured, failed, error, critical, style, blacklist, providers, currency, connected, closed, document, unmount;
3702
+ var amount, accept, event, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, document, unmount;
3350
3703
  return regenerator.wrap(function _callee2$(_context2) {
3351
3704
  while (1) {
3352
3705
  switch (_context2.prev = _context2.next) {
3353
3706
  case 0:
3354
- amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, ensured = _ref3.ensured, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, document = _ref3.document;
3707
+ amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, document = _ref3.document;
3355
3708
  _context2.prev = 1;
3356
3709
  _context2.next = 4;
3357
3710
  return preflight$2({
@@ -3377,26 +3730,27 @@ var Donation = /*#__PURE__*/function () {
3377
3730
  event: event,
3378
3731
  sent: sent,
3379
3732
  confirmed: confirmed,
3380
- ensured: ensured,
3381
3733
  failed: failed,
3382
3734
  blacklist: blacklist,
3383
3735
  providers: providers
3384
3736
  }
3385
- }, /*#__PURE__*/React__default$1["default"].createElement(ClosableProvider, {
3737
+ }, /*#__PURE__*/React__default$1["default"].createElement(UpdatableProvider, null, /*#__PURE__*/React__default$1["default"].createElement(ClosableProvider, {
3386
3738
  unmount: unmount
3387
- }, /*#__PURE__*/React__default$1["default"].createElement(UpdateProvider, null, /*#__PURE__*/React__default$1["default"].createElement(WalletProvider, {
3739
+ }, /*#__PURE__*/React__default$1["default"].createElement(WalletProvider, {
3388
3740
  container: container,
3389
3741
  connected: connected,
3390
3742
  unmount: unmount
3391
3743
  }, /*#__PURE__*/React__default$1["default"].createElement(ConversionRateProvider, null, /*#__PURE__*/React__default$1["default"].createElement(ChangableAmountProvider, {
3392
3744
  accept: accept
3745
+ }, /*#__PURE__*/React__default$1["default"].createElement(TrackingProvider, {
3746
+ document: ensureDocument(document)
3393
3747
  }, /*#__PURE__*/React__default$1["default"].createElement(DonationRoutingProvider, {
3394
3748
  container: container,
3395
3749
  document: document
3396
3750
  }, /*#__PURE__*/React__default$1["default"].createElement(DonationStack, {
3397
3751
  document: document,
3398
3752
  container: container
3399
- })))))))));
3753
+ }), /*#__PURE__*/React__default$1["default"].createElement(PoweredBy, null))))))))));
3400
3754
  };
3401
3755
  });
3402
3756
  return _context2.abrupt("return", {
@@ -3464,9 +3818,9 @@ var PaymentOverviewSkeleton = (function (props) {
3464
3818
 
3465
3819
  return /*#__PURE__*/React__default$1["default"].createElement(Dialog$1, {
3466
3820
  header: /*#__PURE__*/React__default$1["default"].createElement("div", {
3467
- className: "PaddingTopS PaddingLeftM PaddingRightM"
3821
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
3468
3822
  }, /*#__PURE__*/React__default$1["default"].createElement("h1", {
3469
- className: "LineHeightL FontSizeL TextLeft"
3823
+ className: "LineHeightL FontSizeL"
3470
3824
  }, "Payment")),
3471
3825
  body: /*#__PURE__*/React__default$1["default"].createElement("div", {
3472
3826
  className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
@@ -3480,7 +3834,7 @@ var PaymentOverviewSkeleton = (function (props) {
3480
3834
  className: "SkeletonBackground"
3481
3835
  }))),
3482
3836
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
3483
- className: "PaddingTopXS PaddingRightM PaddingLeftM"
3837
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
3484
3838
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3485
3839
  className: "SkeletonWrapper"
3486
3840
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -3495,96 +3849,29 @@ var PaymentOverviewDialog = (function (props) {
3495
3849
  var _useContext = React.useContext(ConfigurationContext),
3496
3850
  currencyCode = _useContext.currencyCode;
3497
3851
 
3498
- var _useContext2 = React.useContext(ChangableAmountContext),
3499
- amount = _useContext2.amount,
3500
- amountsMissing = _useContext2.amountsMissing;
3852
+ var _useContext2 = React.useContext(PaymentContext),
3853
+ payment = _useContext2.payment,
3854
+ paymentState = _useContext2.paymentState;
3501
3855
 
3502
- var _useContext3 = React.useContext(PaymentContext),
3503
- payment = _useContext3.payment,
3504
- paymentState = _useContext3.paymentState,
3505
- pay = _useContext3.pay,
3506
- transaction = _useContext3.transaction,
3507
- approve = _useContext3.approve,
3508
- approvalTransaction = _useContext3.approvalTransaction;
3856
+ var _useContext3 = React.useContext(ChangableAmountContext),
3857
+ amount = _useContext3.amount,
3858
+ amountsMissing = _useContext3.amountsMissing;
3509
3859
 
3510
3860
  var _useContext4 = React.useContext(PaymentValueContext),
3511
3861
  paymentValue = _useContext4.paymentValue;
3512
3862
 
3513
- var _useContext5 = React.useContext(depayReactDialogStack.NavigateStackContext),
3863
+ var _useContext5 = React.useContext(reactDialogStack.NavigateStackContext),
3514
3864
  navigate = _useContext5.navigate;
3515
3865
 
3516
- var _useContext6 = React.useContext(ClosableContext),
3517
- close = _useContext6.close;
3518
-
3519
- var mainAction = function mainAction() {
3520
- if (paymentState == 'initialized' || paymentState == 'approving') {
3521
- return /*#__PURE__*/React__default$1["default"].createElement("button", {
3522
- className: ["ButtonPrimary", payment.route.approvalRequired && !payment.route.directTransfer ? 'disabled' : ''].join(' '),
3523
- onClick: function onClick() {
3524
- if (payment.route.approvalRequired && !payment.route.directTransfer) {
3525
- return;
3526
- }
3527
-
3528
- pay({
3529
- navigate: navigate
3530
- });
3531
- }
3532
- }, "Pay ", amount ? new depayLocalCurrency.Currency({
3533
- amount: amount.toFixed(2),
3534
- code: currencyCode
3535
- }).toString() : paymentValue.toString().length ? paymentValue.toString() : "".concat(payment.amount));
3536
- } else if (paymentState == 'paying') {
3537
- return /*#__PURE__*/React__default$1["default"].createElement("a", {
3538
- className: "ButtonPrimary",
3539
- title: "Performing the payment - please wait",
3540
- href: transaction === null || transaction === void 0 ? void 0 : transaction.url,
3541
- target: "_blank",
3542
- rel: "noopener noreferrer"
3543
- }, /*#__PURE__*/React__default$1["default"].createElement(LoadingText, null, "Paying"));
3544
- } else if (paymentState == 'confirmed') {
3545
- return /*#__PURE__*/React__default$1["default"].createElement("button", {
3546
- className: "ButtonPrimary round",
3547
- title: "Done",
3548
- onClick: close
3549
- }, /*#__PURE__*/React__default$1["default"].createElement(Checkmark, null));
3550
- }
3551
- };
3552
-
3553
- var approvalAction = function approvalAction() {
3554
- if (paymentState == 'initialized') {
3555
- return /*#__PURE__*/React__default$1["default"].createElement("div", {
3556
- className: "PaddingBottomS"
3557
- }, /*#__PURE__*/React__default$1["default"].createElement("button", {
3558
- className: "ButtonPrimary wide",
3559
- onClick: approve,
3560
- title: "Allow ".concat(payment.symbol, " to be used as payment")
3561
- }, "Allow ", payment.symbol, " to be used as payment"));
3562
- } else if (paymentState == 'approving') {
3563
- return /*#__PURE__*/React__default$1["default"].createElement("div", {
3564
- className: "PaddingBottomS"
3565
- }, /*#__PURE__*/React__default$1["default"].createElement("a", {
3566
- className: "ButtonPrimary wide",
3567
- title: "Approving payment token - please wait",
3568
- href: approvalTransaction === null || approvalTransaction === void 0 ? void 0 : approvalTransaction.url,
3569
- target: "_blank",
3570
- rel: "noopener noreferrer"
3571
- }, /*#__PURE__*/React__default$1["default"].createElement(LoadingText, null, "Approving")));
3572
- }
3573
- };
3574
-
3575
- var actions = function actions() {
3576
- return /*#__PURE__*/React__default$1["default"].createElement("div", null, payment.route.approvalRequired && !payment.route.directTransfer && approvalAction(), mainAction());
3577
- };
3578
-
3579
3866
  if (payment == undefined || paymentValue == undefined) {
3580
3867
  return /*#__PURE__*/React__default$1["default"].createElement(PaymentOverviewSkeleton, null);
3581
3868
  }
3582
3869
 
3583
3870
  return /*#__PURE__*/React__default$1["default"].createElement(Dialog$1, {
3584
3871
  header: /*#__PURE__*/React__default$1["default"].createElement("div", {
3585
- className: "PaddingTopS PaddingLeftM PaddingRightM"
3872
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
3586
3873
  }, /*#__PURE__*/React__default$1["default"].createElement("h1", {
3587
- className: "LineHeightL FontSizeL TextLeft"
3874
+ className: "LineHeightL FontSizeL"
3588
3875
  }, "Payment")),
3589
3876
  body: /*#__PURE__*/React__default$1["default"].createElement("div", {
3590
3877
  className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
@@ -3608,7 +3895,7 @@ var PaymentOverviewDialog = (function (props) {
3608
3895
  className: "CardText"
3609
3896
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3610
3897
  className: "TokenAmountRow"
3611
- }, new depayLocalCurrency.Currency({
3898
+ }, new localCurrency.Currency({
3612
3899
  amount: amount.toFixed(2),
3613
3900
  code: currencyCode
3614
3901
  }).toString())))), /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -3626,7 +3913,7 @@ var PaymentOverviewDialog = (function (props) {
3626
3913
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3627
3914
  className: "CardImage",
3628
3915
  title: payment.name
3629
- }, /*#__PURE__*/React__default$1["default"].createElement(depayReactTokenImage.TokenImage, {
3916
+ }, /*#__PURE__*/React__default$1["default"].createElement(reactTokenImage.TokenImage, {
3630
3917
  blockchain: payment.route.blockchain,
3631
3918
  address: payment.token
3632
3919
  })), /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -3647,8 +3934,8 @@ var PaymentOverviewDialog = (function (props) {
3647
3934
  className: "CardAction"
3648
3935
  }, /*#__PURE__*/React__default$1["default"].createElement(ChevronRight, null)))),
3649
3936
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
3650
- className: "PaddingTopXS PaddingRightM PaddingLeftM"
3651
- }, actions())
3937
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
3938
+ }, /*#__PURE__*/React__default$1["default"].createElement(Footer, null))
3652
3939
  });
3653
3940
  });
3654
3941
 
@@ -3657,7 +3944,7 @@ var PaymentStack = (function (props) {
3657
3944
  open = _useContext.open,
3658
3945
  close = _useContext.close;
3659
3946
 
3660
- return /*#__PURE__*/React__default$1["default"].createElement(depayReactDialogStack.ReactDialogStack, {
3947
+ return /*#__PURE__*/React__default$1["default"].createElement(reactDialogStack.ReactDialogStack, {
3661
3948
  open: open,
3662
3949
  close: close,
3663
3950
  start: "PaymentOverview",
@@ -3714,12 +4001,12 @@ var preflight$1 = /*#__PURE__*/function () {
3714
4001
 
3715
4002
  var Payment = /*#__PURE__*/function () {
3716
4003
  var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(_ref3) {
3717
- var accept, amount, event, sent, confirmed, ensured, failed, error, critical, style, whitelist, blacklist, providers, currency, connected, closed, document, unmount;
4004
+ var accept, amount, event, sent, confirmed, failed, error, critical, style, whitelist, blacklist, providers, currency, connected, closed, track, document, unmount;
3718
4005
  return regenerator.wrap(function _callee2$(_context2) {
3719
4006
  while (1) {
3720
4007
  switch (_context2.prev = _context2.next) {
3721
4008
  case 0:
3722
- accept = _ref3.accept, amount = _ref3.amount, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, ensured = _ref3.ensured, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, whitelist = _ref3.whitelist, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, document = _ref3.document;
4009
+ accept = _ref3.accept, amount = _ref3.amount, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, whitelist = _ref3.whitelist, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, track = _ref3.track, document = _ref3.document;
3723
4010
  _context2.prev = 1;
3724
4011
  _context2.next = 4;
3725
4012
  return preflight$1({
@@ -3745,15 +4032,15 @@ var Payment = /*#__PURE__*/function () {
3745
4032
  event: event,
3746
4033
  sent: sent,
3747
4034
  confirmed: confirmed,
3748
- ensured: ensured,
3749
4035
  failed: failed,
3750
4036
  whitelist: whitelist,
3751
4037
  blacklist: blacklist,
3752
- providers: providers
4038
+ providers: providers,
4039
+ track: track
3753
4040
  }
3754
- }, /*#__PURE__*/React__default$1["default"].createElement(ClosableProvider, {
4041
+ }, /*#__PURE__*/React__default$1["default"].createElement(UpdatableProvider, null, /*#__PURE__*/React__default$1["default"].createElement(ClosableProvider, {
3755
4042
  unmount: unmount
3756
- }, /*#__PURE__*/React__default$1["default"].createElement(UpdateProvider, null, /*#__PURE__*/React__default$1["default"].createElement(WalletProvider, {
4043
+ }, /*#__PURE__*/React__default$1["default"].createElement(WalletProvider, {
3757
4044
  document: document,
3758
4045
  container: container,
3759
4046
  connected: connected,
@@ -3765,13 +4052,15 @@ var Payment = /*#__PURE__*/function () {
3765
4052
  whitelist: whitelist,
3766
4053
  blacklist: blacklist,
3767
4054
  event: event
4055
+ }, /*#__PURE__*/React__default$1["default"].createElement(TrackingProvider, {
4056
+ document: ensureDocument(document)
3768
4057
  }, /*#__PURE__*/React__default$1["default"].createElement(PaymentProvider, {
3769
4058
  container: container,
3770
4059
  document: document
3771
4060
  }, /*#__PURE__*/React__default$1["default"].createElement(PaymentValueProvider, null, /*#__PURE__*/React__default$1["default"].createElement(PaymentStack, {
3772
4061
  document: document,
3773
4062
  container: container
3774
- })))))))))));
4063
+ }), /*#__PURE__*/React__default$1["default"].createElement(PoweredBy, null))))))))))));
3775
4064
  };
3776
4065
  });
3777
4066
  return _context2.abrupt("return", {
@@ -3881,9 +4170,9 @@ var SaleRoutingProvider = (function (props) {
3881
4170
  var SaleOverviewSkeleton = (function (props) {
3882
4171
  return /*#__PURE__*/React__default$1["default"].createElement(Dialog$1, {
3883
4172
  header: /*#__PURE__*/React__default$1["default"].createElement("div", {
3884
- className: "PaddingTopS PaddingLeftM PaddingRightM"
4173
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
3885
4174
  }, /*#__PURE__*/React__default$1["default"].createElement("h1", {
3886
- className: "LineHeightL FontSizeL TextLeft"
4175
+ className: "LineHeightL FontSizeL"
3887
4176
  }, "Purchase")),
3888
4177
  body: /*#__PURE__*/React__default$1["default"].createElement("div", {
3889
4178
  className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
@@ -3900,7 +4189,7 @@ var SaleOverviewSkeleton = (function (props) {
3900
4189
  className: "SkeletonBackground"
3901
4190
  }))),
3902
4191
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
3903
- className: "PaddingTopXS PaddingRightM PaddingLeftM"
4192
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
3904
4193
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
3905
4194
  className: "SkeletonWrapper"
3906
4195
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -3912,101 +4201,34 @@ var SaleOverviewSkeleton = (function (props) {
3912
4201
  });
3913
4202
 
3914
4203
  var SaleOverviewDialog = (function (props) {
3915
- var _useContext = React.useContext(ChangableAmountContext),
3916
- amount = _useContext.amount;
4204
+ var _useContext = React.useContext(ChangableAmountContext);
4205
+ _useContext.amount;
3917
4206
 
3918
4207
  var _useContext2 = React.useContext(ConfigurationContext),
3919
- currencyCode = _useContext2.currencyCode;
4208
+ tokenImage = _useContext2.tokenImage;
3920
4209
 
3921
4210
  var _useContext3 = React.useContext(PaymentValueContext),
3922
4211
  paymentValue = _useContext3.paymentValue;
3923
4212
 
3924
4213
  var _useContext4 = React.useContext(PaymentContext),
3925
4214
  payment = _useContext4.payment,
3926
- paymentState = _useContext4.paymentState,
3927
- pay = _useContext4.pay,
3928
- transaction = _useContext4.transaction,
3929
- approve = _useContext4.approve,
3930
- approvalTransaction = _useContext4.approvalTransaction;
4215
+ paymentState = _useContext4.paymentState;
3931
4216
 
3932
- var _useContext5 = React.useContext(depayReactDialogStack.NavigateStackContext),
4217
+ var _useContext5 = React.useContext(reactDialogStack.NavigateStackContext),
3933
4218
  navigate = _useContext5.navigate;
3934
4219
 
3935
- var _useContext6 = React.useContext(ClosableContext),
3936
- close = _useContext6.close;
3937
-
3938
- var _useContext7 = React.useContext(ToTokenContext),
3939
- toToken = _useContext7.toToken,
3940
- toTokenReadableAmount = _useContext7.toTokenReadableAmount;
4220
+ var _useContext6 = React.useContext(ToTokenContext),
4221
+ toToken = _useContext6.toToken,
4222
+ toTokenReadableAmount = _useContext6.toTokenReadableAmount;
3941
4223
 
3942
4224
  var _useState = React.useState(),
3943
4225
  _useState2 = _slicedToArray(_useState, 2),
3944
4226
  salePerTokenValue = _useState2[0],
3945
4227
  setSalePerTokenValue = _useState2[1];
3946
4228
 
3947
- var mainAction = function mainAction() {
3948
- if (paymentState == 'initialized' || paymentState == 'approving') {
3949
- return /*#__PURE__*/React__default$1["default"].createElement("button", {
3950
- className: ["ButtonPrimary", payment.route.approvalRequired && !payment.route.directTransfer ? 'disabled' : ''].join(' '),
3951
- onClick: function onClick() {
3952
- if (payment.route.approvalRequired && !payment.route.directTransfer) {
3953
- return;
3954
- }
3955
-
3956
- pay({
3957
- navigate: navigate
3958
- });
3959
- }
3960
- }, "Pay ", new depayLocalCurrency.Currency({
3961
- amount: amount.toFixed(2),
3962
- code: currencyCode
3963
- }).toString());
3964
- } else if (paymentState == 'paying') {
3965
- return /*#__PURE__*/React__default$1["default"].createElement("a", {
3966
- className: "ButtonPrimary",
3967
- title: "Performing the payment - please wait",
3968
- href: transaction === null || transaction === void 0 ? void 0 : transaction.url,
3969
- target: "_blank",
3970
- rel: "noopener noreferrer"
3971
- }, /*#__PURE__*/React__default$1["default"].createElement(LoadingText, null, "Paying"));
3972
- } else if (paymentState == 'confirmed') {
3973
- return /*#__PURE__*/React__default$1["default"].createElement("button", {
3974
- className: "ButtonPrimary round",
3975
- title: "Done",
3976
- onClick: close
3977
- }, /*#__PURE__*/React__default$1["default"].createElement(Checkmark, null));
3978
- }
3979
- };
3980
-
3981
- var approvalAction = function approvalAction() {
3982
- if (paymentState == 'initialized') {
3983
- return /*#__PURE__*/React__default$1["default"].createElement("div", {
3984
- className: "PaddingBottomS"
3985
- }, /*#__PURE__*/React__default$1["default"].createElement("button", {
3986
- className: "ButtonPrimary wide",
3987
- onClick: approve,
3988
- title: "Allow ".concat(payment.symbol, " to be used as payment")
3989
- }, "Allow ", payment.symbol, " to be used as payment"));
3990
- } else if (paymentState == 'approving') {
3991
- return /*#__PURE__*/React__default$1["default"].createElement("div", {
3992
- className: "PaddingBottomS"
3993
- }, /*#__PURE__*/React__default$1["default"].createElement("a", {
3994
- className: "ButtonPrimary wide",
3995
- title: "Approving payment token - please wait",
3996
- href: approvalTransaction === null || approvalTransaction === void 0 ? void 0 : approvalTransaction.url,
3997
- target: "_blank",
3998
- rel: "noopener noreferrer"
3999
- }, /*#__PURE__*/React__default$1["default"].createElement(LoadingText, null, "Approving")));
4000
- }
4001
- };
4002
-
4003
- var actions = function actions() {
4004
- return /*#__PURE__*/React__default$1["default"].createElement("div", null, payment.route.approvalRequired && !payment.route.directTransfer && approvalAction(), mainAction());
4005
- };
4006
-
4007
4229
  React.useEffect(function () {
4008
4230
  if (paymentValue) {
4009
- setSalePerTokenValue(new depayLocalCurrency.Currency({
4231
+ setSalePerTokenValue(new localCurrency.Currency({
4010
4232
  amount: (paymentValue.amount / parseFloat(toTokenReadableAmount)).toFixed(2),
4011
4233
  code: paymentValue.code
4012
4234
  }).toString());
@@ -4017,11 +4239,24 @@ var SaleOverviewDialog = (function (props) {
4017
4239
  return /*#__PURE__*/React__default$1["default"].createElement(SaleOverviewSkeleton, null);
4018
4240
  }
4019
4241
 
4242
+ var tokenImageElement;
4243
+
4244
+ if (tokenImage) {
4245
+ tokenImageElement = /*#__PURE__*/React__default$1["default"].createElement("img", {
4246
+ src: tokenImage
4247
+ });
4248
+ } else {
4249
+ tokenImageElement = /*#__PURE__*/React__default$1["default"].createElement(reactTokenImage.TokenImage, {
4250
+ blockchain: payment.route.blockchain,
4251
+ address: toToken.address
4252
+ });
4253
+ }
4254
+
4020
4255
  return /*#__PURE__*/React__default$1["default"].createElement(Dialog$1, {
4021
4256
  header: /*#__PURE__*/React__default$1["default"].createElement("div", {
4022
- className: "PaddingTopS PaddingLeftM PaddingRightM"
4257
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
4023
4258
  }, /*#__PURE__*/React__default$1["default"].createElement("h1", {
4024
- className: "LineHeightL FontSizeL TextLeft"
4259
+ className: "LineHeightL FontSizeL"
4025
4260
  }, "Purchase")),
4026
4261
  body: /*#__PURE__*/React__default$1["default"].createElement("div", {
4027
4262
  className: "PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"
@@ -4038,10 +4273,7 @@ var SaleOverviewDialog = (function (props) {
4038
4273
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
4039
4274
  className: "CardImage",
4040
4275
  title: payment.name
4041
- }, /*#__PURE__*/React__default$1["default"].createElement(depayReactTokenImage.TokenImage, {
4042
- blockchain: payment.route.blockchain,
4043
- address: toToken.address
4044
- })), /*#__PURE__*/React__default$1["default"].createElement("div", {
4276
+ }, tokenImageElement), /*#__PURE__*/React__default$1["default"].createElement("div", {
4045
4277
  className: "CardBody"
4046
4278
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
4047
4279
  className: "CardBodyWrapper"
@@ -4072,7 +4304,7 @@ var SaleOverviewDialog = (function (props) {
4072
4304
  }, /*#__PURE__*/React__default$1["default"].createElement("div", {
4073
4305
  className: "CardImage",
4074
4306
  title: payment.name
4075
- }, /*#__PURE__*/React__default$1["default"].createElement(depayReactTokenImage.TokenImage, {
4307
+ }, /*#__PURE__*/React__default$1["default"].createElement(reactTokenImage.TokenImage, {
4076
4308
  blockchain: payment.route.blockchain,
4077
4309
  address: payment.token
4078
4310
  })), /*#__PURE__*/React__default$1["default"].createElement("div", {
@@ -4093,8 +4325,8 @@ var SaleOverviewDialog = (function (props) {
4093
4325
  className: "CardAction"
4094
4326
  }, /*#__PURE__*/React__default$1["default"].createElement(ChevronRight, null)))),
4095
4327
  footer: /*#__PURE__*/React__default$1["default"].createElement("div", {
4096
- className: "PaddingTopXS PaddingRightM PaddingLeftM"
4097
- }, actions())
4328
+ className: "PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"
4329
+ }, /*#__PURE__*/React__default$1["default"].createElement(Footer, null))
4098
4330
  });
4099
4331
  });
4100
4332
 
@@ -4103,7 +4335,7 @@ var SaleStack = (function (props) {
4103
4335
  open = _useContext.open,
4104
4336
  close = _useContext.close;
4105
4337
 
4106
- return /*#__PURE__*/React__default$1["default"].createElement(depayReactDialogStack.ReactDialogStack, {
4338
+ return /*#__PURE__*/React__default$1["default"].createElement(reactDialogStack.ReactDialogStack, {
4107
4339
  open: open,
4108
4340
  close: close,
4109
4341
  start: "SaleOverview",
@@ -4167,12 +4399,12 @@ var preflight = /*#__PURE__*/function () {
4167
4399
 
4168
4400
  var Sale = /*#__PURE__*/function () {
4169
4401
  var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(_ref3) {
4170
- var amount, sell, sent, confirmed, ensured, failed, error, critical, style, blacklist, providers, currency, connected, closed, document, accept, unmount;
4402
+ var amount, sell, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, tokenImage, document, accept, unmount;
4171
4403
  return regenerator.wrap(function _callee2$(_context2) {
4172
4404
  while (1) {
4173
4405
  switch (_context2.prev = _context2.next) {
4174
4406
  case 0:
4175
- amount = _ref3.amount, sell = _ref3.sell, sent = _ref3.sent, confirmed = _ref3.confirmed, ensured = _ref3.ensured, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, document = _ref3.document;
4407
+ amount = _ref3.amount, sell = _ref3.sell, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, tokenImage = _ref3.tokenImage, document = _ref3.document;
4176
4408
  _context2.prev = 1;
4177
4409
  _context2.next = 4;
4178
4410
  return preflight({
@@ -4198,31 +4430,33 @@ var Sale = /*#__PURE__*/function () {
4198
4430
  unmount: unmount
4199
4431
  }, /*#__PURE__*/React__default$1["default"].createElement(ConfigurationProvider, {
4200
4432
  configuration: {
4433
+ tokenImage: tokenImage,
4201
4434
  amount: amount,
4202
4435
  sell: sell,
4203
4436
  currency: currency,
4204
4437
  sent: sent,
4205
4438
  confirmed: confirmed,
4206
- ensured: ensured,
4207
4439
  failed: failed,
4208
4440
  blacklist: blacklist,
4209
4441
  providers: providers
4210
4442
  }
4211
- }, /*#__PURE__*/React__default$1["default"].createElement(ClosableProvider, {
4443
+ }, /*#__PURE__*/React__default$1["default"].createElement(UpdatableProvider, null, /*#__PURE__*/React__default$1["default"].createElement(ClosableProvider, {
4212
4444
  unmount: unmount
4213
- }, /*#__PURE__*/React__default$1["default"].createElement(UpdateProvider, null, /*#__PURE__*/React__default$1["default"].createElement(WalletProvider, {
4445
+ }, /*#__PURE__*/React__default$1["default"].createElement(WalletProvider, {
4214
4446
  container: container,
4215
4447
  connected: connected,
4216
4448
  unmount: unmount
4217
4449
  }, /*#__PURE__*/React__default$1["default"].createElement(ConversionRateProvider, null, /*#__PURE__*/React__default$1["default"].createElement(ChangableAmountProvider, {
4218
4450
  accept: accept
4451
+ }, /*#__PURE__*/React__default$1["default"].createElement(TrackingProvider, {
4452
+ document: ensureDocument(document)
4219
4453
  }, /*#__PURE__*/React__default$1["default"].createElement(SaleRoutingProvider, {
4220
4454
  container: container,
4221
4455
  document: document
4222
4456
  }, /*#__PURE__*/React__default$1["default"].createElement(SaleStack, {
4223
4457
  document: document,
4224
4458
  container: container
4225
- })))))))));
4459
+ }), /*#__PURE__*/React__default$1["default"].createElement(PoweredBy, null))))))))));
4226
4460
  };
4227
4461
  });
4228
4462
  return _context2.abrupt("return", {
@@ -4256,7 +4490,7 @@ var DePayWidgets = {
4256
4490
  Payment: Payment,
4257
4491
  Sale: Sale,
4258
4492
  Donation: Donation,
4259
- provider: depayWeb3Client.provider
4493
+ provider: web3Client.provider
4260
4494
  };
4261
4495
 
4262
4496
  module.exports = DePayWidgets;