@depay/widgets 6.9.2 → 6.12.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/esm/index.js CHANGED
@@ -10,10 +10,10 @@ import { route } from '@depay/web3-exchanges';
10
10
  import { Token } from '@depay/web3-tokens';
11
11
  import { Currency } from '@depay/local-currency';
12
12
  import { setProviderEndpoints, request, provider } from '@depay/web3-client';
13
+ import { Blockchain } from '@depay/web3-blockchains';
13
14
  import { route as route$1 } from '@depay/web3-payments';
14
15
  import Slider from 'react-rangeslider';
15
16
  import { TokenImage } from '@depay/react-token-image';
16
- import { Blockchain } from '@depay/web3-blockchains';
17
17
 
18
18
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
19
19
  try {
@@ -1678,7 +1678,7 @@ var ButtonPrimaryStyle = (function (style) {
1678
1678
  });
1679
1679
 
1680
1680
  var CardStyle = (function (style) {
1681
- return "\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border-radius: 0.8rem;\n box-shadow: 0 0 8px rgba(0,0,0,0.03);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n margin-bottom: 0.5rem;\n min-height: 4.78rem;\n padding: 1rem 0.6rem;\n width: 100%;\n }\n\n .Card.Row {\n border-radius: 0;\n margin-bottom: 0;\n box-shadow: none;\n min-height: 4.3rem;\n padding: 0.4rem 1.3rem;\n border-top: 1px solid rgba(0,0,0,0.05);\n }\n\n .Card.Row .CardText {\n font-size: 1.2rem;\n }\n\n .CardTokenSymbol {\n width: 40%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .CardTokenName {\n text-align: right;\n opacity: 0.5;\n width: 60%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .Card.Row .CardTokenName .CardText {\n font-size: 1rem;\n }\n\n .Card.Row .CardImage {\n width: 2.5rem;\n }\n\n .Card.Row .CardImage img {\n height: 1.9rem;\n width: 1.9rem;\n }\n\n a.Card, a.Card * {\n color: inherit;\n text-decoration: none;\n }\n\n .Card.transparent {\n background: none;\n box-shadow: none;\n }\n\n .Card.small {\n min-height: auto;\n padding: 0.5rem 0.5rem;\n margin: 0;\n }\n\n .CardImage.small {\n width: 1.7rem;\n }\n\n .CardImage.small img {\n height: 1.4rem;\n width: 1.4rem;\n }\n\n .Card.disabled {\n cursor: default;\n }\n\n .Card:hover:not(.disabled) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Card:active:not(.disabled) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 6px rgba(0,0,0,0.02);\n color: inherit;\n }\n\n .Card:hover:not(.disabled) .CardAction {\n opacity: 0.4;\n }\n\n .CardImage, .CardBody, .CardAction, .CardInfo {\n align-items: center;\n display: flex;\n min-width: 0;\n padding: 0 0.4rem;\n }\n\n .CardImage {\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n width: 3.6rem;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 1.4rem;\n padding-left: 0.6rem;\n text-align: left;\n }\n\n .CardBodyWrapper {\n min-width: 0;\n }\n\n .CardAction {\n flex-basis: auto;\n flex-shrink: 0;\n flex-grow: 0;\n padding-right: 0;\n margin-left: auto;\n }\n\n .Card.disabled .CardAction {\n opacity: 0; \n }\n\n .CardInfo {\n display: flex;\n flex-basis: auto;\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 1;\n justify-content: center;\n margin-left: auto; \n padding-right: 0;\n }\n\n .CardImage img {\n background: white;\n border-radius: 99rem;\n border: 1px solid white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 2.8rem;\n position: relative;\n vertical-align: middle;\n width: 2.8rem;\n }\n\n .CardImage img.transparent {\n border: none;\n background: none;\n box-shadow: none;\n }\n \n .CardImage .BlockchainLogo {\n position: absolute;\n bottom: 0;\n right: 0;\n }\n\n .CardTitle {\n font-size: 0.9rem;\n color: rgb(150,150,150);\n }\n \n .CardText, a .CardText {\n color: ".concat(style.colors.text, ";\n flex: 1;\n font-size: 1.3rem;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText small {\n font-size: 1.26rem;\n color: rgb(150,150,150);\n }\n\n .CardAction {\n opacity: 0.2;\n }\n\n .Card.More {\n display: inline-block;\n text-align: center;\n }\n ");
1681
+ return "\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border-radius: 0.8rem;\n box-shadow: 0 0 8px rgba(0,0,0,0.03);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n margin-bottom: 0.5rem;\n min-height: 4.78rem;\n padding: 1rem 0.6rem;\n width: 100%;\n }\n\n .Card.Row {\n border-radius: 0;\n margin-bottom: 0;\n box-shadow: none;\n min-height: 4.3rem;\n padding: 0.4rem 1.3rem;\n border-top: 1px solid rgba(0,0,0,0.05);\n }\n\n .Card.Row .CardText {\n font-size: 1.2rem;\n }\n\n .CardTokenSymbol {\n width: 40%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .CardTokenName {\n text-align: right;\n opacity: 0.5;\n width: 60%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .Card.Row .CardTokenName .CardText {\n font-size: 1rem;\n }\n\n .Card.Row .CardImage {\n width: 2.5rem;\n }\n\n .Card.Row .CardImage img {\n height: 1.9rem;\n width: 1.9rem;\n }\n\n a.Card, a.Card * {\n color: inherit;\n text-decoration: none;\n }\n\n .Card.transparent {\n background: none;\n box-shadow: none;\n }\n\n .Card.small {\n min-height: auto;\n padding: 0.5rem 0.5rem;\n margin: 0;\n }\n\n .CardImage.small {\n width: 1.7rem;\n }\n\n .CardImage.small img {\n height: 1.4rem;\n width: 1.4rem;\n }\n\n .Card.disabled {\n cursor: default;\n }\n\n .Card:hover:not(.disabled) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Card:active:not(.disabled) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 6px rgba(0,0,0,0.02);\n color: inherit;\n }\n\n .Card:hover:not(.disabled) .CardAction {\n opacity: 0.4;\n }\n\n .CardImage, .CardBody, .CardAction, .CardInfo {\n align-items: center;\n display: flex;\n min-width: 0;\n padding: 0 0.4rem;\n }\n\n .CardImage {\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n width: 3.6rem;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 1.4rem;\n padding-left: 0.6rem;\n text-align: left;\n }\n\n .CardBodyWrapper {\n min-width: 0;\n }\n\n .CardAction {\n flex-basis: auto;\n flex-shrink: 0;\n flex-grow: 0;\n padding-right: 0;\n margin-left: auto;\n }\n\n .Card.disabled .CardAction {\n opacity: 0; \n }\n\n .CardInfo {\n display: flex;\n flex-basis: auto;\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 1;\n justify-content: center;\n margin-left: auto; \n padding-right: 0;\n }\n\n .CardImage img {\n background: white;\n border-radius: 99rem;\n border: 1px solid white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 2.8rem;\n position: relative;\n vertical-align: middle;\n width: 2.8rem;\n }\n\n .CardImage img.transparent {\n border: none;\n background: none;\n box-shadow: none;\n }\n \n .CardImage .BlockchainLogo {\n position: absolute;\n bottom: 0;\n right: 0;\n }\n\n .CardTitle {\n font-size: 0.9rem;\n color: rgb(150,150,150);\n }\n \n .CardText, a .CardText {\n color: ".concat(style.colors.text, ";\n flex: 1;\n font-size: 1.3rem;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText small {\n font-size: 1.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 ");
1682
1682
  });
1683
1683
 
1684
1684
  var DialogStyle = (function (style) {
@@ -2004,7 +2004,7 @@ var round = (function (input) {
2004
2004
  focusToFixed = parseFloat(_float).toFixed(1).replace('.', '');
2005
2005
  }
2006
2006
 
2007
- if (focusToFixed.toString()[0] != 0 && focusToFixed.toString().length > 2) {
2007
+ if (focusToFixed.toString()[0] != "0" && focusToFixed.toString().length > 2) {
2008
2008
  return parseInt(inputAsFloat.toFixed(0));
2009
2009
  } else {
2010
2010
  return parseFloat(digitsAfterDecimal.replace(/\d{3}$/, focusToFixed));
@@ -2032,7 +2032,7 @@ var ChangableAmountProvider = (function (props) {
2032
2032
  account = _useContext.account;
2033
2033
 
2034
2034
  var _useContext2 = useContext(ConfigurationContext),
2035
- configuredAmount = _useContext2.amount;
2035
+ amountConfiguration = _useContext2.amount;
2036
2036
 
2037
2037
  var _useContext3 = useContext(ConversionRateContext),
2038
2038
  conversionRate = _useContext3.conversionRate;
@@ -2045,7 +2045,7 @@ var ChangableAmountProvider = (function (props) {
2045
2045
  acceptWithAmount = _useState4[0],
2046
2046
  setAcceptWithAmount = _useState4[1];
2047
2047
 
2048
- var _useState5 = useState(amountsMissing ? _typeof(configuredAmount) == "object" && configuredAmount.start ? configuredAmount.start : 1 : null),
2048
+ var _useState5 = useState(amountsMissing ? _typeof(amountConfiguration) == "object" && amountConfiguration.start ? amountConfiguration.start : 1 : null),
2049
2049
  _useState6 = _slicedToArray(_useState5, 2),
2050
2050
  amount = _useState6[0],
2051
2051
  setAmount = _useState6[1];
@@ -2063,51 +2063,83 @@ var ChangableAmountProvider = (function (props) {
2063
2063
  useEffect(function () {
2064
2064
  setAmountsMissing(configurationsMissAmounts(props.accept));
2065
2065
  }, [props.accept]);
2066
- useEffect(function () {
2067
- if (amountsMissing && account && conversionRate) {
2068
- Promise.all(props.accept.map(function (configuration) {
2069
- return route({
2070
- blockchain: configuration.blockchain,
2071
- tokenIn: CONSTANTS[configuration.blockchain].USD,
2072
- amountIn: 1.00 / conversionRate * amount,
2073
- tokenOut: configuration.token,
2074
- fromAddress: account,
2075
- toAddress: account
2076
- });
2077
- })).then(function (routes) {
2078
- Promise.all(routes.map(function (routes, index) {
2079
- if (routes[0] == undefined) {
2080
- return;
2081
- }
2082
2066
 
2083
- return Token.readable({
2084
- blockchain: props.accept[index].blockchain,
2085
- amount: routes[0].amountOut,
2086
- address: routes[0].tokenOut
2067
+ var getAmounts = function getAmounts() {
2068
+ return new Promise(function (resolve, reject) {
2069
+ if (amountConfiguration && amountConfiguration.token) {
2070
+ resolve(props.accept.map(function () {
2071
+ return amount;
2072
+ }));
2073
+ } else {
2074
+ Promise.all(props.accept.map(function (configuration) {
2075
+ return route({
2076
+ blockchain: configuration.blockchain,
2077
+ tokenIn: CONSTANTS[configuration.blockchain].USD,
2078
+ amountIn: 1.00 / conversionRate * amount,
2079
+ tokenOut: configuration.token,
2080
+ fromAddress: account,
2081
+ toAddress: account
2087
2082
  });
2088
- })).then(function (amounts) {
2089
- setAcceptWithAmount(props.accept.map(function (configuration, index) {
2090
- if (amounts[index] == undefined) {
2083
+ })).then(function (routes) {
2084
+ Promise.all(routes.map(function (routes, index) {
2085
+ if (routes[0] == undefined) {
2091
2086
  return;
2092
2087
  }
2093
2088
 
2094
- return {
2095
- blockchain: configuration.blockchain,
2096
- amount: round(amounts[index]),
2097
- token: configuration.token,
2098
- receiver: configuration.receiver || account
2099
- };
2100
- }).filter(function (configuration) {
2101
- return !!configuration;
2102
- }));
2089
+ return Token.readable({
2090
+ blockchain: props.accept[index].blockchain,
2091
+ amount: routes[0].amountOut,
2092
+ address: routes[0].tokenOut
2093
+ });
2094
+ })).then(resolve)["catch"](setError);
2103
2095
  })["catch"](setError);
2096
+ }
2097
+ });
2098
+ };
2099
+
2100
+ useEffect(function () {
2101
+ if (amountsMissing && account && conversionRate) {
2102
+ getAmounts().then(function (amounts) {
2103
+ setAcceptWithAmount(props.accept.map(function (configuration, index) {
2104
+ if (amounts[index] == undefined) {
2105
+ return;
2106
+ }
2107
+
2108
+ return {
2109
+ blockchain: configuration.blockchain,
2110
+ amount: round(amounts[index]),
2111
+ token: configuration.token,
2112
+ receiver: configuration.receiver || account
2113
+ };
2114
+ }).filter(function (configuration) {
2115
+ return !!configuration;
2116
+ }));
2104
2117
  })["catch"](setError);
2105
2118
  }
2106
- }, [account, conversionRate, amount]);
2119
+ }, [amountsMissing, account, conversionRate, amount]);
2107
2120
  useEffect(function () {
2108
2121
  if (amountsMissing && maxRoute) {
2109
2122
  maxRoute.fromToken.readable(maxRoute.fromBalance).then(function (readableMaxAmount) {
2110
- if (maxRoute.fromToken.address == CONSTANTS[maxRoute.blockchain].USD) {
2123
+ if (amountConfiguration && amountConfiguration.token) {
2124
+ route({
2125
+ blockchain: maxRoute.blockchain,
2126
+ tokenIn: maxRoute.fromToken.address,
2127
+ tokenOut: maxRoute.toToken.address,
2128
+ amountIn: parseFloat(readableMaxAmount),
2129
+ fromAddress: account,
2130
+ toAddress: account
2131
+ }).then(function (routes) {
2132
+ Token.readable({
2133
+ amount: routes[0].amountOut,
2134
+ blockchain: maxRoute.blockchain,
2135
+ address: maxRoute.toToken.address
2136
+ }).then(function (readableMaxAmount) {
2137
+ var slippage = 1.01;
2138
+ var maxAmount = parseFloat(new Decimal(readableMaxAmount).div(slippage).mul(conversionRate).toString());
2139
+ setMaxAmount(maxAmount > 10 ? Math.round(maxAmount) : round(maxAmount));
2140
+ })["catch"](setError);
2141
+ })["catch"](setError);
2142
+ } else if (maxRoute.fromToken.address == CONSTANTS[maxRoute.blockchain].USD) {
2111
2143
  var _maxAmount = parseFloat(new Decimal(readableMaxAmount).mul(conversionRate).toString());
2112
2144
 
2113
2145
  setMaxAmount(_maxAmount > 10 ? Math.round(_maxAmount) : _maxAmount);
@@ -2198,6 +2230,8 @@ var ConversionRateProvider = (function (props) {
2198
2230
 
2199
2231
  var DonationRoutingContext = /*#__PURE__*/React.createContext();
2200
2232
 
2233
+ var NavigateContext = /*#__PURE__*/React.createContext();
2234
+
2201
2235
  var QuestionsGraphic = "data:image/png;base64,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";
2202
2236
 
2203
2237
  var NoPaymentMethodFoundDialog = (function () {
@@ -2233,7 +2267,9 @@ var PaymentContext = /*#__PURE__*/React.createContext();
2233
2267
 
2234
2268
  var PaymentRoutingContext = /*#__PURE__*/React.createContext();
2235
2269
 
2236
- var TrackingContext = /*#__PURE__*/React.createContext();
2270
+ var PaymentTrackingContext = /*#__PURE__*/React.createContext();
2271
+
2272
+ var TransactionTrackingContext = /*#__PURE__*/React.createContext();
2237
2273
 
2238
2274
  var PaymentProvider = (function (props) {
2239
2275
  var _useContext = useContext(ErrorContext),
@@ -2241,8 +2277,8 @@ var PaymentProvider = (function (props) {
2241
2277
 
2242
2278
  var _useContext2 = useContext(ConfigurationContext),
2243
2279
  _sent = _useContext2.sent,
2244
- _confirmed = _useContext2.confirmed,
2245
- _failed = _useContext2.failed;
2280
+ confirmed = _useContext2.confirmed,
2281
+ failed = _useContext2.failed;
2246
2282
 
2247
2283
  var _useContext3 = useContext(PaymentRoutingContext),
2248
2284
  selectedRoute = _useContext3.selectedRoute;
@@ -2258,13 +2294,20 @@ var PaymentProvider = (function (props) {
2258
2294
  var _useContext6 = useContext(UpdatableContext),
2259
2295
  setUpdatable = _useContext6.setUpdatable;
2260
2296
 
2261
- var _useContext7 = useContext(WalletContext),
2262
- wallet = _useContext7.wallet;
2297
+ var _useContext7 = useContext(NavigateContext),
2298
+ navigate = _useContext7.navigate;
2263
2299
 
2264
- var _useContext8 = useContext(TrackingContext),
2265
- release = _useContext8.release,
2266
- tracking = _useContext8.tracking,
2267
- initializeTracking = _useContext8.initializeTracking;
2300
+ var _useContext8 = useContext(WalletContext),
2301
+ wallet = _useContext8.wallet;
2302
+
2303
+ var _useContext9 = useContext(PaymentTrackingContext),
2304
+ release = _useContext9.release,
2305
+ tracking = _useContext9.tracking,
2306
+ initializeTracking = _useContext9.initializeTracking;
2307
+
2308
+ var _useContext10 = useContext(TransactionTrackingContext),
2309
+ foundTransaction = _useContext10.foundTransaction,
2310
+ initializeTransactionTracking = _useContext10.initializeTracking;
2268
2311
 
2269
2312
  var _useState = useState(),
2270
2313
  _useState2 = _slicedToArray(_useState, 2),
@@ -2286,52 +2329,57 @@ var PaymentProvider = (function (props) {
2286
2329
  paymentState = _useState8[0],
2287
2330
  setPaymentState = _useState8[1];
2288
2331
 
2332
+ var paymentConfirmed = function paymentConfirmed(transaction) {
2333
+ if (tracking != true) {
2334
+ setClosable(true);
2335
+ }
2336
+
2337
+ setPaymentState('confirmed');
2338
+
2339
+ if (confirmed) {
2340
+ confirmed(transaction);
2341
+ }
2342
+ };
2343
+
2344
+ var paymentFailed = function paymentFailed(transaction, error) {
2345
+ if (failed) {
2346
+ failed(transaction, error);
2347
+ }
2348
+
2349
+ setPaymentState('initialized');
2350
+ setClosable(true);
2351
+ setUpdatable(true);
2352
+ navigate('PaymentError');
2353
+ };
2354
+
2289
2355
  var pay = /*#__PURE__*/function () {
2290
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(_ref) {
2291
- var navigate, currentBlock;
2356
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
2357
+ var currentBlock;
2292
2358
  return regenerator.wrap(function _callee$(_context) {
2293
2359
  while (1) {
2294
2360
  switch (_context.prev = _context.next) {
2295
2361
  case 0:
2296
- navigate = _ref.navigate;
2297
2362
  setClosable(false);
2298
2363
  setPaymentState('paying');
2299
2364
  setUpdatable(false);
2300
- _context.next = 6;
2365
+ _context.next = 5;
2301
2366
  return request({
2302
2367
  blockchain: payment.route.transaction.blockchain,
2303
2368
  method: 'latestBlockNumber'
2304
2369
  });
2305
2370
 
2306
- case 6:
2371
+ case 5:
2307
2372
  currentBlock = _context.sent;
2308
2373
  wallet.sendTransaction(Object.assign({}, payment.route.transaction, {
2309
2374
  sent: function sent(transaction) {
2375
+ initializeTransactionTracking(transaction, currentBlock);
2376
+
2310
2377
  if (_sent) {
2311
2378
  _sent(transaction);
2312
2379
  }
2313
2380
  },
2314
- confirmed: function confirmed(transaction) {
2315
- if (tracking != true) {
2316
- setClosable(true);
2317
- }
2318
-
2319
- setPaymentState('confirmed');
2320
-
2321
- if (_confirmed) {
2322
- _confirmed(transaction);
2323
- }
2324
- },
2325
- failed: function failed(transaction, error) {
2326
- if (_failed) {
2327
- _failed(transaction, error);
2328
- }
2329
-
2330
- setPaymentState('initialized');
2331
- setClosable(true);
2332
- setUpdatable(true);
2333
- navigate('PaymentError');
2334
- }
2381
+ confirmed: paymentConfirmed,
2382
+ failed: paymentFailed
2335
2383
  })).then(function (sentTransaction) {
2336
2384
  if (tracking) {
2337
2385
  initializeTracking(sentTransaction, currentBlock, payment.route);
@@ -2349,7 +2397,7 @@ var PaymentProvider = (function (props) {
2349
2397
  }
2350
2398
  });
2351
2399
 
2352
- case 8:
2400
+ case 7:
2353
2401
  case "end":
2354
2402
  return _context.stop();
2355
2403
  }
@@ -2357,8 +2405,8 @@ var PaymentProvider = (function (props) {
2357
2405
  }, _callee);
2358
2406
  }));
2359
2407
 
2360
- return function pay(_x) {
2361
- return _ref2.apply(this, arguments);
2408
+ return function pay() {
2409
+ return _ref.apply(this, arguments);
2362
2410
  };
2363
2411
  }();
2364
2412
 
@@ -2386,15 +2434,36 @@ var PaymentProvider = (function (props) {
2386
2434
  setPaymentState('confirmed');
2387
2435
  }
2388
2436
  }, [release]);
2437
+ useEffect(function () {
2438
+ if (foundTransaction && foundTransaction.id && foundTransaction.status) {
2439
+ var newTransaction;
2440
+
2441
+ if (foundTransaction.id.toLowerCase() != transaction.id.toLowerCase()) {
2442
+ newTransaction = Object.assign({}, transaction, {
2443
+ id: foundTransaction.id,
2444
+ url: Blockchain.findByName(transaction.blockchain).explorerUrlFor({
2445
+ transaction: foundTransaction
2446
+ })
2447
+ });
2448
+ setTransaction(newTransaction);
2449
+ }
2450
+
2451
+ if (foundTransaction.status == 'success') {
2452
+ paymentConfirmed(newTransaction || transaction);
2453
+ } else if (foundTransaction.status == 'failed') {
2454
+ paymentFailed(newTransaction || transaction);
2455
+ }
2456
+ }
2457
+ }, [foundTransaction, transaction]);
2389
2458
  useEffect(function () {
2390
2459
  if (selectedRoute) {
2391
2460
  var fromToken = selectedRoute.fromToken;
2392
2461
  selectedRoute.transaction.params;
2393
- Promise.all([fromToken.name(), fromToken.symbol(), fromToken.readable(selectedRoute.fromAmount)]).then(function (_ref3) {
2394
- var _ref4 = _slicedToArray(_ref3, 3),
2395
- name = _ref4[0],
2396
- symbol = _ref4[1],
2397
- amount = _ref4[2];
2462
+ Promise.all([fromToken.name(), fromToken.symbol(), fromToken.readable(selectedRoute.fromAmount)]).then(function (_ref2) {
2463
+ var _ref3 = _slicedToArray(_ref2, 3),
2464
+ name = _ref3[0],
2465
+ symbol = _ref3[1],
2466
+ amount = _ref3[2];
2398
2467
 
2399
2468
  setPayment({
2400
2469
  route: selectedRoute,
@@ -2505,6 +2574,7 @@ var PaymentRoutingProvider = (function (props) {
2505
2574
  whitelist: props.whitelist,
2506
2575
  blacklist: props.blacklist,
2507
2576
  event: props.event,
2577
+ fee: props.fee,
2508
2578
  apiKey: apiKey
2509
2579
  }).then(function (routes) {
2510
2580
  if (routes.length == 0) {
@@ -2745,7 +2815,7 @@ var DonationRoutingProvider = (function (props) {
2745
2815
  });
2746
2816
 
2747
2817
  var format = (function (input) {
2748
- var _float = parseFloat(input);
2818
+ var _float = round(input);
2749
2819
 
2750
2820
  var floatToString = _float.toString();
2751
2821
 
@@ -2779,13 +2849,14 @@ var ChangeAmountDialog = (function (props) {
2779
2849
 
2780
2850
  var _useContext5 = useContext(ConfigurationContext),
2781
2851
  currencyCode = _useContext5.currencyCode,
2782
- configuredAmount = _useContext5.amount;
2852
+ amountConfiguration = _useContext5.amount;
2783
2853
 
2784
2854
  var _useContext6 = useContext(PaymentRoutingContext);
2785
2855
  _useContext6.allRoutes;
2786
2856
 
2787
- var min = _typeof(configuredAmount) == "object" && configuredAmount.min ? configuredAmount.min : 1;
2788
- var step = _typeof(configuredAmount) == "object" && configuredAmount.step ? configuredAmount.step : 1;
2857
+ var min = _typeof(amountConfiguration) == "object" && amountConfiguration.min ? amountConfiguration.min : 1;
2858
+ var step = _typeof(amountConfiguration) == "object" && amountConfiguration.step ? amountConfiguration.step : 1;
2859
+ var displayedCurrencyCode = amountConfiguration != undefined && amountConfiguration.token ? null : currencyCode;
2789
2860
 
2790
2861
  var changeAmountAndGoBack = function changeAmountAndGoBack() {
2791
2862
  setAmount(toValidValue(parseFloat(inputAmount)));
@@ -2827,7 +2898,7 @@ var ChangeAmountDialog = (function (props) {
2827
2898
  className: "LineHeightL FontSizeL TextCenter"
2828
2899
  }, "Change Amount"), /*#__PURE__*/React.createElement("div", {
2829
2900
  className: "FontSizeL TextCenter FontWeightBold"
2830
- }, /*#__PURE__*/React.createElement("strong", null, currencyCode))),
2901
+ }, /*#__PURE__*/React.createElement("strong", null, displayedCurrencyCode))),
2831
2902
  body: /*#__PURE__*/React.createElement("div", {
2832
2903
  className: "MaxHeight PaddingTopXS"
2833
2904
  }, /*#__PURE__*/React.createElement("div", {
@@ -3130,13 +3201,14 @@ var LoadingText = (function (props) {
3130
3201
 
3131
3202
  var Footer = (function () {
3132
3203
  var _useContext = useContext(ConfigurationContext),
3133
- currencyCode = _useContext.currencyCode;
3204
+ currencyCode = _useContext.currencyCode,
3205
+ configuredAmount = _useContext.amount;
3134
3206
 
3135
3207
  var _useContext2 = useContext(ChangableAmountContext),
3136
3208
  amount = _useContext2.amount;
3137
3209
  _useContext2.amountsMissing;
3138
3210
 
3139
- var _useContext3 = useContext(TrackingContext),
3211
+ var _useContext3 = useContext(PaymentTrackingContext),
3140
3212
  tracking = _useContext3.tracking,
3141
3213
  release = _useContext3.release,
3142
3214
  forwardTo = _useContext3.forwardTo,
@@ -3153,8 +3225,8 @@ var Footer = (function () {
3153
3225
  var _useContext5 = useContext(PaymentValueContext),
3154
3226
  paymentValue = _useContext5.paymentValue;
3155
3227
 
3156
- var _useContext6 = useContext(NavigateStackContext),
3157
- navigate = _useContext6.navigate;
3228
+ var _useContext6 = useContext(NavigateStackContext);
3229
+ _useContext6.navigate;
3158
3230
 
3159
3231
  var _useContext7 = useContext(ClosableContext),
3160
3232
  close = _useContext7.close;
@@ -3284,6 +3356,19 @@ var Footer = (function () {
3284
3356
  };
3285
3357
 
3286
3358
  var mainAction = function mainAction() {
3359
+ var displayedAmount;
3360
+
3361
+ if (amount && (configuredAmount == undefined || configuredAmount.token != true)) {
3362
+ displayedAmount = new Currency({
3363
+ amount: amount.toFixed(2),
3364
+ code: currencyCode
3365
+ }).toString();
3366
+ } else if (paymentValue && paymentValue.toString().length) {
3367
+ displayedAmount = paymentValue.toString();
3368
+ } else {
3369
+ displayedAmount = "".concat(payment.symbol, " ").concat(payment.amount);
3370
+ }
3371
+
3287
3372
  if (paymentState == 'initialized' || paymentState == 'approving') {
3288
3373
  return /*#__PURE__*/React.createElement("button", {
3289
3374
  className: ["ButtonPrimary", payment.route.approvalRequired && !payment.route.directTransfer ? 'disabled' : ''].join(' '),
@@ -3292,14 +3377,9 @@ var Footer = (function () {
3292
3377
  return;
3293
3378
  }
3294
3379
 
3295
- pay({
3296
- navigate: navigate
3297
- });
3380
+ pay();
3298
3381
  }
3299
- }, "Pay ", amount ? new Currency({
3300
- amount: amount.toFixed(2),
3301
- code: currencyCode
3302
- }).toString() : paymentValue.toString().length ? paymentValue.toString() : "".concat(payment.amount));
3382
+ }, "Pay ", displayedAmount);
3303
3383
  } else if (paymentState == 'paying') {
3304
3384
  return /*#__PURE__*/React.createElement("a", {
3305
3385
  className: "ButtonPrimary",
@@ -3521,7 +3601,11 @@ var DonationStack = (function (props) {
3521
3601
  open = _useContext.open,
3522
3602
  close = _useContext.close;
3523
3603
 
3604
+ var _useContext2 = useContext(NavigateContext),
3605
+ setNavigate = _useContext2.setNavigate;
3606
+
3524
3607
  return /*#__PURE__*/React.createElement(ReactDialogStack, {
3608
+ setNavigate: setNavigate,
3525
3609
  open: open,
3526
3610
  close: close,
3527
3611
  start: "DonationOverview",
@@ -3537,7 +3621,28 @@ var DonationStack = (function (props) {
3537
3621
  });
3538
3622
  });
3539
3623
 
3540
- var TrackingProvider = (function (props) {
3624
+ var NavigateProvider = (function (props) {
3625
+ var navigator;
3626
+
3627
+ var setNavigate = function setNavigate(_navigator) {
3628
+ navigator = _navigator;
3629
+ };
3630
+
3631
+ var navigate = function navigate(dialog) {
3632
+ if (navigator) {
3633
+ navigator(dialog);
3634
+ }
3635
+ };
3636
+
3637
+ return /*#__PURE__*/React.createElement(NavigateContext.Provider, {
3638
+ value: {
3639
+ navigate: navigate,
3640
+ setNavigate: setNavigate
3641
+ }
3642
+ }, props.children);
3643
+ });
3644
+
3645
+ var PaymentTrackingProvider = (function (props) {
3541
3646
  var _useContext = useContext(ErrorContext),
3542
3647
  errorCallback = _useContext.errorCallback;
3543
3648
 
@@ -3631,14 +3736,14 @@ var TrackingProvider = (function (props) {
3631
3736
 
3632
3737
  var retryStartTracking = function retryStartTracking(transaction, afterBlock, paymentRoute, attempt) {
3633
3738
  attempt = parseInt(attempt || 1, 10);
3634
- console.log('RETRY TRACKING ATTEMPT ', attempt);
3739
+ console.log('RETRYING PAYMENT TRACKING ATTEMPT ', attempt);
3635
3740
 
3636
3741
  if (attempt < 3) {
3637
3742
  setTimeout(function () {
3638
3743
  startTracking(transaction, afterBlock, paymentRoute, attempt + 1);
3639
3744
  }, 3000);
3640
3745
  } else {
3641
- console.log('TRACKING FAILED AFTER 3 ATTEMPTS!');
3746
+ console.log('PAYMENT TRACKING FAILED AFTER 3 ATTEMPTS!');
3642
3747
  setTrackingFailed(true);
3643
3748
 
3644
3749
  if (typeof errorCallback == 'function') {
@@ -3653,6 +3758,9 @@ var TrackingProvider = (function (props) {
3653
3758
  if (track.endpoint) {
3654
3759
  return fetch(track.endpoint, {
3655
3760
  method: 'POST',
3761
+ headers: {
3762
+ 'Content-Type': 'application/json'
3763
+ },
3656
3764
  body: JSON.stringify(payment)
3657
3765
  });
3658
3766
  } else if (track.method) {
@@ -3672,12 +3780,12 @@ var TrackingProvider = (function (props) {
3672
3780
  to_token: paymentRoute.toToken.address
3673
3781
  }).then(function (response) {
3674
3782
  if (response.status == 200) {
3675
- console.log('TRACKING INITIALIZED');
3783
+ console.log('PAYMENT TRACKING INITIALIZED');
3676
3784
  } else {
3677
3785
  retryStartTracking(transaction, afterBlock, paymentRoute, attempt);
3678
3786
  }
3679
3787
  })["catch"](function (error) {
3680
- console.log('TRACKING FAILED', error);
3788
+ console.log('PAYMENT TRACKING FAILED', error);
3681
3789
  retryStartTracking(transaction, afterBlock, paymentRoute, attempt);
3682
3790
  });
3683
3791
  };
@@ -3714,6 +3822,9 @@ var TrackingProvider = (function (props) {
3714
3822
  if (track.poll.endpoint) {
3715
3823
  fetch(track.poll.endpoint, {
3716
3824
  method: 'POST',
3825
+ headers: {
3826
+ 'Content-Type': 'application/json'
3827
+ },
3717
3828
  body: JSON.stringify(payment)
3718
3829
  }).then(handleResponse);
3719
3830
  } else if (track.poll.method) {
@@ -3742,7 +3853,7 @@ var TrackingProvider = (function (props) {
3742
3853
  startTracking(transaction, afterBlock, paymentRoute);
3743
3854
  };
3744
3855
 
3745
- return /*#__PURE__*/React.createElement(TrackingContext.Provider, {
3856
+ return /*#__PURE__*/React.createElement(PaymentTrackingContext.Provider, {
3746
3857
  value: {
3747
3858
  tracking: tracking,
3748
3859
  initializeTracking: initializeTracking,
@@ -3753,6 +3864,134 @@ var TrackingProvider = (function (props) {
3753
3864
  }, props.children);
3754
3865
  });
3755
3866
 
3867
+ var TransactionTrackingProvider = (function (props) {
3868
+ var _useState = useState(),
3869
+ _useState2 = _slicedToArray(_useState, 2),
3870
+ givenTransaction = _useState2[0],
3871
+ setGivenTransaction = _useState2[1];
3872
+
3873
+ var _useState3 = useState(),
3874
+ _useState4 = _slicedToArray(_useState3, 2),
3875
+ foundTransaction = _useState4[0],
3876
+ setFoundTransaction = _useState4[1];
3877
+
3878
+ var _useState5 = useState(false),
3879
+ _useState6 = _slicedToArray(_useState5, 2),
3880
+ polling = _useState6[0],
3881
+ setPolling = _useState6[1];
3882
+
3883
+ var _useContext = useContext(ErrorContext);
3884
+ _useContext.errorCallback;
3885
+
3886
+ useEffect(function () {
3887
+ if (polling) {
3888
+ var pollingInterval = setInterval(function () {
3889
+ fetch("https://api.depay.fi/v2/transactions/".concat(givenTransaction.blockchain, "/").concat(givenTransaction.from.toLowerCase(), "/").concat(givenTransaction.nonce)).then(function (response) {
3890
+ if (response.status == 200) {
3891
+ response.json().then(function (data) {
3892
+ if (data.status != 'pending') {
3893
+ setFoundTransaction({
3894
+ id: data.external_id,
3895
+ status: data.status
3896
+ });
3897
+ setPolling(false);
3898
+ }
3899
+ });
3900
+ }
3901
+ });
3902
+ }, 5000);
3903
+ return function () {
3904
+ clearInterval(pollingInterval);
3905
+ };
3906
+ }
3907
+ }, [polling]);
3908
+
3909
+ var createTracking = function createTracking(transaction, afterBlock, attempt) {
3910
+ if (attempt > 3) {
3911
+ console.log('TRANSACTION TRACKING FAILED AFTER 3 ATTEMPTS!');
3912
+ return;
3913
+ }
3914
+
3915
+ fetch('https://api.depay.fi/v2/transactions', {
3916
+ method: 'POST',
3917
+ headers: {
3918
+ 'X-Api-Key': apiKey,
3919
+ 'Content-Type': 'application/json'
3920
+ },
3921
+ body: JSON.stringify({
3922
+ id: transaction.id,
3923
+ after_block: afterBlock,
3924
+ blockchain: transaction.blockchain,
3925
+ sender: transaction.from.toLowerCase(),
3926
+ nonce: transaction.nonce
3927
+ })
3928
+ }).then(function (response) {
3929
+ if (response.status == 200 || response.status == 201) {
3930
+ console.log('TRANSACTION TRACKING INITIALIZED');
3931
+ } else {
3932
+ console.log('TRANSACTION TRACKING FAILED', response);
3933
+ setTimeout(function () {
3934
+ createTracking(transaction, afterBlock, attempt + 1);
3935
+ }, 3000);
3936
+ }
3937
+ })["catch"](function (error) {
3938
+ console.log('TRANSACTION TRACKING FAILED', error);
3939
+ setTimeout(function () {
3940
+ createTracking(transaction, afterBlock, attempt + 1);
3941
+ }, 3000);
3942
+ });
3943
+ };
3944
+
3945
+ var openSocket = function openSocket(transaction) {
3946
+ var socket = new WebSocket('wss://integrate.depay.fi/cable');
3947
+
3948
+ socket.onopen = function (event) {
3949
+ var msg = {
3950
+ command: 'subscribe',
3951
+ identifier: JSON.stringify({
3952
+ blockchain: transaction.blockchain,
3953
+ sender: transaction.from.toLowerCase(),
3954
+ nonce: transaction.nonce,
3955
+ channel: 'TransactionChannel'
3956
+ })
3957
+ };
3958
+ socket.send(JSON.stringify(msg));
3959
+ };
3960
+
3961
+ socket.onclose = function (event) {};
3962
+
3963
+ socket.onmessage = function (event) {
3964
+ var item = JSON.parse(event.data);
3965
+
3966
+ if (item.type === "ping") {
3967
+ return;
3968
+ }
3969
+
3970
+ if (item.message && item.message.status && item.message.status != 'pending') {
3971
+ setFoundTransaction(item.message);
3972
+ }
3973
+ };
3974
+
3975
+ socket.onerror = function (error) {
3976
+ console.log('WebSocket Error: ' + error);
3977
+ };
3978
+ };
3979
+
3980
+ var initializeTracking = function initializeTracking(transaction, afterBlock) {
3981
+ setGivenTransaction(transaction);
3982
+ createTracking(transaction, afterBlock, 1);
3983
+ openSocket(transaction);
3984
+ setPolling(true);
3985
+ };
3986
+
3987
+ return /*#__PURE__*/React.createElement(TransactionTrackingContext.Provider, {
3988
+ value: {
3989
+ initializeTracking: initializeTracking,
3990
+ foundTransaction: foundTransaction
3991
+ }
3992
+ }, props.children);
3993
+ });
3994
+
3756
3995
  var WalletProvider = (function (props) {
3757
3996
  var _useContext = useContext(ErrorContext);
3758
3997
  _useContext.setError;
@@ -3892,9 +4131,9 @@ var Donation = /*#__PURE__*/function () {
3892
4131
  container: container,
3893
4132
  connected: connected,
3894
4133
  unmount: unmount
3895
- }, /*#__PURE__*/React.createElement(ConversionRateProvider, null, /*#__PURE__*/React.createElement(ChangableAmountProvider, {
4134
+ }, /*#__PURE__*/React.createElement(NavigateProvider, null, /*#__PURE__*/React.createElement(ConversionRateProvider, null, /*#__PURE__*/React.createElement(ChangableAmountProvider, {
3896
4135
  accept: accept
3897
- }, /*#__PURE__*/React.createElement(TrackingProvider, {
4136
+ }, /*#__PURE__*/React.createElement(TransactionTrackingProvider, null, /*#__PURE__*/React.createElement(PaymentTrackingProvider, {
3898
4137
  document: ensureDocument(document)
3899
4138
  }, /*#__PURE__*/React.createElement(DonationRoutingProvider, {
3900
4139
  container: container,
@@ -3902,7 +4141,7 @@ var Donation = /*#__PURE__*/function () {
3902
4141
  }, /*#__PURE__*/React.createElement(DonationStack, {
3903
4142
  document: document,
3904
4143
  container: container
3905
- }), /*#__PURE__*/React.createElement(PoweredBy, null))))))))));
4144
+ }), /*#__PURE__*/React.createElement(PoweredBy, null))))))))))));
3906
4145
  };
3907
4146
  });
3908
4147
  return _context2.abrupt("return", {
@@ -3953,6 +4192,9 @@ var SignLoginDialog = (function (props) {
3953
4192
  return new Promise(function (resolve, reject) {
3954
4193
  fetch(endpoint, {
3955
4194
  method: 'POST',
4195
+ headers: {
4196
+ 'Content-Type': 'application/json'
4197
+ },
3956
4198
  body: JSON.stringify({
3957
4199
  message: message,
3958
4200
  signature: signature
@@ -4129,7 +4371,8 @@ var PaymentAmountRoutingProvider = (function (props) {
4129
4371
  whitelist: props.whitelist,
4130
4372
  blacklist: props.blacklist,
4131
4373
  event: props.event,
4132
- setMaxRoute: setMaxRoute
4374
+ setMaxRoute: setMaxRoute,
4375
+ fee: props.fee
4133
4376
  }, props.children));
4134
4377
  });
4135
4378
 
@@ -4265,7 +4508,11 @@ var PaymentStack = (function (props) {
4265
4508
  open = _useContext.open,
4266
4509
  close = _useContext.close;
4267
4510
 
4511
+ var _useContext2 = useContext(NavigateContext),
4512
+ setNavigate = _useContext2.setNavigate;
4513
+
4268
4514
  return /*#__PURE__*/React.createElement(ReactDialogStack, {
4515
+ setNavigate: setNavigate,
4269
4516
  open: open,
4270
4517
  close: close,
4271
4518
  start: "PaymentOverview",
@@ -4322,12 +4569,12 @@ var preflight$1 = /*#__PURE__*/function () {
4322
4569
 
4323
4570
  var Payment = /*#__PURE__*/function () {
4324
4571
  var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(_ref3) {
4325
- var accept, amount, event, sent, confirmed, failed, error, critical, style, whitelist, blacklist, providers, currency, connected, closed, track, document, unmount;
4572
+ var accept, amount, event, sent, confirmed, failed, error, critical, style, whitelist, blacklist, providers, currency, connected, closed, track, fee, document, unmount;
4326
4573
  return regenerator.wrap(function _callee2$(_context2) {
4327
4574
  while (1) {
4328
4575
  switch (_context2.prev = _context2.next) {
4329
4576
  case 0:
4330
- 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;
4577
+ 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, fee = _ref3.fee, document = _ref3.document;
4331
4578
  _context2.prev = 1;
4332
4579
  _context2.next = 4;
4333
4580
  return preflight$1({
@@ -4357,7 +4604,8 @@ var Payment = /*#__PURE__*/function () {
4357
4604
  whitelist: whitelist,
4358
4605
  blacklist: blacklist,
4359
4606
  providers: providers,
4360
- track: track
4607
+ track: track,
4608
+ fee: fee
4361
4609
  }
4362
4610
  }, /*#__PURE__*/React.createElement(UpdatableProvider, null, /*#__PURE__*/React.createElement(ClosableProvider, {
4363
4611
  unmount: unmount
@@ -4366,14 +4614,15 @@ var Payment = /*#__PURE__*/function () {
4366
4614
  container: container,
4367
4615
  connected: connected,
4368
4616
  unmount: unmount
4369
- }, /*#__PURE__*/React.createElement(ConversionRateProvider, null, /*#__PURE__*/React.createElement(ChangableAmountProvider, {
4617
+ }, /*#__PURE__*/React.createElement(NavigateProvider, null, /*#__PURE__*/React.createElement(ConversionRateProvider, null, /*#__PURE__*/React.createElement(ChangableAmountProvider, {
4370
4618
  accept: accept
4371
4619
  }, /*#__PURE__*/React.createElement(PaymentAmountRoutingProvider, {
4372
4620
  accept: accept,
4373
4621
  whitelist: whitelist,
4374
4622
  blacklist: blacklist,
4375
- event: event
4376
- }, /*#__PURE__*/React.createElement(TrackingProvider, {
4623
+ event: event,
4624
+ fee: fee
4625
+ }, /*#__PURE__*/React.createElement(TransactionTrackingProvider, null, /*#__PURE__*/React.createElement(PaymentTrackingProvider, {
4377
4626
  document: ensureDocument(document)
4378
4627
  }, /*#__PURE__*/React.createElement(PaymentProvider, {
4379
4628
  container: container,
@@ -4381,7 +4630,7 @@ var Payment = /*#__PURE__*/function () {
4381
4630
  }, /*#__PURE__*/React.createElement(PaymentValueProvider, null, /*#__PURE__*/React.createElement(PaymentStack, {
4382
4631
  document: document,
4383
4632
  container: container
4384
- }), /*#__PURE__*/React.createElement(PoweredBy, null))))))))))));
4633
+ }), /*#__PURE__*/React.createElement(PoweredBy, null))))))))))))));
4385
4634
  };
4386
4635
  });
4387
4636
  return _context2.abrupt("return", {
@@ -4526,7 +4775,8 @@ var SaleOverviewDialog = (function (props) {
4526
4775
  _useContext.amount;
4527
4776
 
4528
4777
  var _useContext2 = useContext(ConfigurationContext),
4529
- tokenImage = _useContext2.tokenImage;
4778
+ tokenImage = _useContext2.tokenImage,
4779
+ amountConfiguration = _useContext2.amount;
4530
4780
 
4531
4781
  var _useContext3 = useContext(PaymentValueContext),
4532
4782
  paymentValue = _useContext3.paymentValue;
@@ -4548,7 +4798,7 @@ var SaleOverviewDialog = (function (props) {
4548
4798
  setSalePerTokenValue = _useState2[1];
4549
4799
 
4550
4800
  useEffect(function () {
4551
- if (paymentValue) {
4801
+ if (paymentValue && (amountConfiguration == undefined || amountConfiguration.token != true)) {
4552
4802
  setSalePerTokenValue(new Currency({
4553
4803
  amount: (paymentValue.amount / parseFloat(toTokenReadableAmount)).toFixed(2),
4554
4804
  code: paymentValue.code
@@ -4656,7 +4906,11 @@ var SaleStack = (function (props) {
4656
4906
  open = _useContext.open,
4657
4907
  close = _useContext.close;
4658
4908
 
4909
+ var _useContext2 = useContext(NavigateContext),
4910
+ setNavigate = _useContext2.setNavigate;
4911
+
4659
4912
  return /*#__PURE__*/React.createElement(ReactDialogStack, {
4913
+ setNavigate: setNavigate,
4660
4914
  open: open,
4661
4915
  close: close,
4662
4916
  start: "SaleOverview",
@@ -4767,9 +5021,9 @@ var Sale = /*#__PURE__*/function () {
4767
5021
  container: container,
4768
5022
  connected: connected,
4769
5023
  unmount: unmount
4770
- }, /*#__PURE__*/React.createElement(ConversionRateProvider, null, /*#__PURE__*/React.createElement(ChangableAmountProvider, {
5024
+ }, /*#__PURE__*/React.createElement(NavigateProvider, null, /*#__PURE__*/React.createElement(ConversionRateProvider, null, /*#__PURE__*/React.createElement(ChangableAmountProvider, {
4771
5025
  accept: accept
4772
- }, /*#__PURE__*/React.createElement(TrackingProvider, {
5026
+ }, /*#__PURE__*/React.createElement(TransactionTrackingProvider, null, /*#__PURE__*/React.createElement(PaymentTrackingProvider, {
4773
5027
  document: ensureDocument(document)
4774
5028
  }, /*#__PURE__*/React.createElement(SaleRoutingProvider, {
4775
5029
  container: container,
@@ -4777,7 +5031,7 @@ var Sale = /*#__PURE__*/function () {
4777
5031
  }, /*#__PURE__*/React.createElement(SaleStack, {
4778
5032
  document: document,
4779
5033
  container: container
4780
- }), /*#__PURE__*/React.createElement(PoweredBy, null))))))))));
5034
+ }), /*#__PURE__*/React.createElement(PoweredBy, null))))))))))));
4781
5035
  };
4782
5036
  });
4783
5037
  return _context2.abrupt("return", {