@depay/widgets 6.10.0 → 6.12.1
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/README.md +11 -0
- package/dist/esm/index.bundle.js +417 -164
- package/dist/esm/index.js +374 -122
- package/dist/umd/index.bundle.js +417 -164
- package/dist/umd/index.js +377 -125
- package/package.json +5 -5
package/dist/umd/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('@depay/react-dialog-stack'), require('@depay/web3-wallets'), require('react-dom'), require('@depay/react-shadow-dom'), require('ethers'), require('@depay/web3-constants'), require('decimal.js'), require('@depay/web3-exchanges'), require('@depay/web3-tokens'), require('@depay/local-currency'), require('@depay/web3-client'), require('@depay/web3-
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['react', '@depay/react-dialog-stack', '@depay/web3-wallets', 'react-dom', '@depay/react-shadow-dom', 'ethers', '@depay/web3-constants', 'decimal.js', '@depay/web3-exchanges', '@depay/web3-tokens', '@depay/local-currency', '@depay/web3-client', '@depay/web3-payments', 'react-rangeslider', '@depay/react-token-image'
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DePayWidgets = factory(global.React, global.ReactDialogStack, global.Web3Wallets, global.ReactDOM, global.ReactShadowDOM, global.ethers, global.Web3Constants, global.Decimal, global.Web3Exchanges, global.Web3Tokens, global.LocalCurrency, global.Web3Client, global.
|
|
5
|
-
})(this, (function (React, reactDialogStack, web3Wallets, ReactDOM, reactShadowDom, ethers, web3Constants, decimal_js, web3Exchanges, web3Tokens, localCurrency, web3Client, web3Payments, Slider, reactTokenImage
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('@depay/react-dialog-stack'), require('@depay/web3-wallets'), require('react-dom'), require('@depay/react-shadow-dom'), require('ethers'), require('@depay/web3-constants'), require('decimal.js'), require('@depay/web3-exchanges'), require('@depay/web3-tokens'), require('@depay/local-currency'), require('@depay/web3-client'), require('@depay/web3-blockchains'), require('@depay/web3-payments'), require('react-rangeslider'), require('@depay/react-token-image')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['react', '@depay/react-dialog-stack', '@depay/web3-wallets', 'react-dom', '@depay/react-shadow-dom', 'ethers', '@depay/web3-constants', 'decimal.js', '@depay/web3-exchanges', '@depay/web3-tokens', '@depay/local-currency', '@depay/web3-client', '@depay/web3-blockchains', '@depay/web3-payments', 'react-rangeslider', '@depay/react-token-image'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DePayWidgets = factory(global.React, global.ReactDialogStack, global.Web3Wallets, global.ReactDOM, global.ReactShadowDOM, global.ethers, global.Web3Constants, global.Decimal, global.Web3Exchanges, global.Web3Tokens, global.LocalCurrency, global.Web3Client, global.Web3Blockchains, global.Web3Payments, global.ReactRangeslider, global.ReactTokenImage));
|
|
5
|
+
})(this, (function (React, reactDialogStack, web3Wallets, ReactDOM, reactShadowDom, ethers, web3Constants, decimal_js, web3Exchanges, web3Tokens, localCurrency, web3Client, web3Blockchains, web3Payments, Slider, reactTokenImage) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -1452,6 +1452,8 @@
|
|
|
1452
1452
|
constructor(props) {
|
|
1453
1453
|
super(props);
|
|
1454
1454
|
|
|
1455
|
+
this.handler = this.onKeyDown.bind(this);
|
|
1456
|
+
|
|
1455
1457
|
this.state = {
|
|
1456
1458
|
open: true,
|
|
1457
1459
|
};
|
|
@@ -1485,22 +1487,22 @@
|
|
|
1485
1487
|
this.setState({ open: true });
|
|
1486
1488
|
}, 10);
|
|
1487
1489
|
});
|
|
1488
|
-
this.props.document.addEventListener('keydown', this.
|
|
1490
|
+
this.props.document.addEventListener('keydown', this.handler, true);
|
|
1489
1491
|
}
|
|
1490
1492
|
|
|
1491
1493
|
componentWillUnmount() {
|
|
1492
|
-
this.props.document.
|
|
1494
|
+
this.props.document.removeEventListener('keydown', this.handler, true);
|
|
1493
1495
|
}
|
|
1494
1496
|
|
|
1495
1497
|
render() {
|
|
1496
1498
|
const classNames = ['ReactDialog', this.state.open ? 'ReactDialogOpen' : ''];
|
|
1497
1499
|
const style = ReactDialogStyle({ background: this.props.background });
|
|
1498
1500
|
return (
|
|
1499
|
-
React__default["default"].createElement('div', { className: classNames.join(' '), __self: this, __source: {fileName: _jsxFileName, lineNumber:
|
|
1500
|
-
, React__default["default"].createElement('style', {__self: this, __source: {fileName: _jsxFileName, lineNumber:
|
|
1501
|
-
, React__default["default"].createElement('div', { className: "ReactDialogRow", __self: this, __source: {fileName: _jsxFileName, lineNumber:
|
|
1502
|
-
, React__default["default"].createElement('div', { className: "ReactDialogCell", __self: this, __source: {fileName: _jsxFileName, lineNumber:
|
|
1503
|
-
, React__default["default"].createElement('div', { className: "ReactDialogBackground", onClick: this.onClickBackground.bind(this), __self: this, __source: {fileName: _jsxFileName, lineNumber:
|
|
1501
|
+
React__default["default"].createElement('div', { className: classNames.join(' '), __self: this, __source: {fileName: _jsxFileName, lineNumber: 56}}
|
|
1502
|
+
, React__default["default"].createElement('style', {__self: this, __source: {fileName: _jsxFileName, lineNumber: 57}}, style)
|
|
1503
|
+
, React__default["default"].createElement('div', { className: "ReactDialogRow", __self: this, __source: {fileName: _jsxFileName, lineNumber: 58}}
|
|
1504
|
+
, React__default["default"].createElement('div', { className: "ReactDialogCell", __self: this, __source: {fileName: _jsxFileName, lineNumber: 59}}
|
|
1505
|
+
, React__default["default"].createElement('div', { className: "ReactDialogBackground", onClick: this.onClickBackground.bind(this), __self: this, __source: {fileName: _jsxFileName, lineNumber: 60}} )
|
|
1504
1506
|
, this.props.children
|
|
1505
1507
|
)
|
|
1506
1508
|
)
|
|
@@ -1673,7 +1675,7 @@
|
|
|
1673
1675
|
});
|
|
1674
1676
|
|
|
1675
1677
|
var CardStyle = (function (style) {
|
|
1676
|
-
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.
|
|
1678
|
+
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 ");
|
|
1677
1679
|
});
|
|
1678
1680
|
|
|
1679
1681
|
var DialogStyle = (function (style) {
|
|
@@ -1999,7 +2001,7 @@
|
|
|
1999
2001
|
focusToFixed = parseFloat(_float).toFixed(1).replace('.', '');
|
|
2000
2002
|
}
|
|
2001
2003
|
|
|
2002
|
-
if (focusToFixed.toString()[0] != 0 && focusToFixed.toString().length > 2) {
|
|
2004
|
+
if (focusToFixed.toString()[0] != "0" && focusToFixed.toString().length > 2) {
|
|
2003
2005
|
return parseInt(inputAsFloat.toFixed(0));
|
|
2004
2006
|
} else {
|
|
2005
2007
|
return parseFloat(digitsAfterDecimal.replace(/\d{3}$/, focusToFixed));
|
|
@@ -2027,7 +2029,7 @@
|
|
|
2027
2029
|
account = _useContext.account;
|
|
2028
2030
|
|
|
2029
2031
|
var _useContext2 = React.useContext(ConfigurationContext),
|
|
2030
|
-
|
|
2032
|
+
amountConfiguration = _useContext2.amount;
|
|
2031
2033
|
|
|
2032
2034
|
var _useContext3 = React.useContext(ConversionRateContext),
|
|
2033
2035
|
conversionRate = _useContext3.conversionRate;
|
|
@@ -2040,7 +2042,7 @@
|
|
|
2040
2042
|
acceptWithAmount = _useState4[0],
|
|
2041
2043
|
setAcceptWithAmount = _useState4[1];
|
|
2042
2044
|
|
|
2043
|
-
var _useState5 = React.useState(amountsMissing ? _typeof(
|
|
2045
|
+
var _useState5 = React.useState(amountsMissing ? _typeof(amountConfiguration) == "object" && amountConfiguration.start ? amountConfiguration.start : 1 : null),
|
|
2044
2046
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
2045
2047
|
amount = _useState6[0],
|
|
2046
2048
|
setAmount = _useState6[1];
|
|
@@ -2058,51 +2060,83 @@
|
|
|
2058
2060
|
React.useEffect(function () {
|
|
2059
2061
|
setAmountsMissing(configurationsMissAmounts(props.accept));
|
|
2060
2062
|
}, [props.accept]);
|
|
2061
|
-
React.useEffect(function () {
|
|
2062
|
-
if (amountsMissing && account && conversionRate) {
|
|
2063
|
-
Promise.all(props.accept.map(function (configuration) {
|
|
2064
|
-
return web3Exchanges.route({
|
|
2065
|
-
blockchain: configuration.blockchain,
|
|
2066
|
-
tokenIn: web3Constants.CONSTANTS[configuration.blockchain].USD,
|
|
2067
|
-
amountIn: 1.00 / conversionRate * amount,
|
|
2068
|
-
tokenOut: configuration.token,
|
|
2069
|
-
fromAddress: account,
|
|
2070
|
-
toAddress: account
|
|
2071
|
-
});
|
|
2072
|
-
})).then(function (routes) {
|
|
2073
|
-
Promise.all(routes.map(function (routes, index) {
|
|
2074
|
-
if (routes[0] == undefined) {
|
|
2075
|
-
return;
|
|
2076
|
-
}
|
|
2077
2063
|
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2064
|
+
var getAmounts = function getAmounts() {
|
|
2065
|
+
return new Promise(function (resolve, reject) {
|
|
2066
|
+
if (amountConfiguration && amountConfiguration.token) {
|
|
2067
|
+
resolve(props.accept.map(function () {
|
|
2068
|
+
return amount;
|
|
2069
|
+
}));
|
|
2070
|
+
} else {
|
|
2071
|
+
Promise.all(props.accept.map(function (configuration) {
|
|
2072
|
+
return web3Exchanges.route({
|
|
2073
|
+
blockchain: configuration.blockchain,
|
|
2074
|
+
tokenIn: web3Constants.CONSTANTS[configuration.blockchain].USD,
|
|
2075
|
+
amountIn: 1.00 / conversionRate * amount,
|
|
2076
|
+
tokenOut: configuration.token,
|
|
2077
|
+
fromAddress: account,
|
|
2078
|
+
toAddress: account
|
|
2082
2079
|
});
|
|
2083
|
-
})).then(function (
|
|
2084
|
-
|
|
2085
|
-
if (
|
|
2080
|
+
})).then(function (routes) {
|
|
2081
|
+
Promise.all(routes.map(function (routes, index) {
|
|
2082
|
+
if (routes[0] == undefined) {
|
|
2086
2083
|
return;
|
|
2087
2084
|
}
|
|
2088
2085
|
|
|
2089
|
-
return {
|
|
2090
|
-
blockchain:
|
|
2091
|
-
amount:
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
}).filter(function (configuration) {
|
|
2096
|
-
return !!configuration;
|
|
2097
|
-
}));
|
|
2086
|
+
return web3Tokens.Token.readable({
|
|
2087
|
+
blockchain: props.accept[index].blockchain,
|
|
2088
|
+
amount: routes[0].amountOut,
|
|
2089
|
+
address: routes[0].tokenOut
|
|
2090
|
+
});
|
|
2091
|
+
})).then(resolve)["catch"](setError);
|
|
2098
2092
|
})["catch"](setError);
|
|
2093
|
+
}
|
|
2094
|
+
});
|
|
2095
|
+
};
|
|
2096
|
+
|
|
2097
|
+
React.useEffect(function () {
|
|
2098
|
+
if (amountsMissing && account && conversionRate) {
|
|
2099
|
+
getAmounts().then(function (amounts) {
|
|
2100
|
+
setAcceptWithAmount(props.accept.map(function (configuration, index) {
|
|
2101
|
+
if (amounts[index] == undefined) {
|
|
2102
|
+
return;
|
|
2103
|
+
}
|
|
2104
|
+
|
|
2105
|
+
return {
|
|
2106
|
+
blockchain: configuration.blockchain,
|
|
2107
|
+
amount: round(amounts[index]),
|
|
2108
|
+
token: configuration.token,
|
|
2109
|
+
receiver: configuration.receiver || account
|
|
2110
|
+
};
|
|
2111
|
+
}).filter(function (configuration) {
|
|
2112
|
+
return !!configuration;
|
|
2113
|
+
}));
|
|
2099
2114
|
})["catch"](setError);
|
|
2100
2115
|
}
|
|
2101
|
-
}, [account, conversionRate, amount]);
|
|
2116
|
+
}, [amountsMissing, account, conversionRate, amount]);
|
|
2102
2117
|
React.useEffect(function () {
|
|
2103
2118
|
if (amountsMissing && maxRoute) {
|
|
2104
2119
|
maxRoute.fromToken.readable(maxRoute.fromBalance).then(function (readableMaxAmount) {
|
|
2105
|
-
if (
|
|
2120
|
+
if (amountConfiguration && amountConfiguration.token) {
|
|
2121
|
+
web3Exchanges.route({
|
|
2122
|
+
blockchain: maxRoute.blockchain,
|
|
2123
|
+
tokenIn: maxRoute.fromToken.address,
|
|
2124
|
+
tokenOut: maxRoute.toToken.address,
|
|
2125
|
+
amountIn: parseFloat(readableMaxAmount),
|
|
2126
|
+
fromAddress: account,
|
|
2127
|
+
toAddress: account
|
|
2128
|
+
}).then(function (routes) {
|
|
2129
|
+
web3Tokens.Token.readable({
|
|
2130
|
+
amount: routes[0].amountOut,
|
|
2131
|
+
blockchain: maxRoute.blockchain,
|
|
2132
|
+
address: maxRoute.toToken.address
|
|
2133
|
+
}).then(function (readableMaxAmount) {
|
|
2134
|
+
var slippage = 1.01;
|
|
2135
|
+
var maxAmount = parseFloat(new decimal_js.Decimal(readableMaxAmount).div(slippage).mul(conversionRate).toString());
|
|
2136
|
+
setMaxAmount(maxAmount > 10 ? Math.round(maxAmount) : round(maxAmount));
|
|
2137
|
+
})["catch"](setError);
|
|
2138
|
+
})["catch"](setError);
|
|
2139
|
+
} else if (maxRoute.fromToken.address == web3Constants.CONSTANTS[maxRoute.blockchain].USD) {
|
|
2106
2140
|
var _maxAmount = parseFloat(new decimal_js.Decimal(readableMaxAmount).mul(conversionRate).toString());
|
|
2107
2141
|
|
|
2108
2142
|
setMaxAmount(_maxAmount > 10 ? Math.round(_maxAmount) : _maxAmount);
|
|
@@ -2193,6 +2227,8 @@
|
|
|
2193
2227
|
|
|
2194
2228
|
var DonationRoutingContext = /*#__PURE__*/React__default["default"].createContext();
|
|
2195
2229
|
|
|
2230
|
+
var NavigateContext = /*#__PURE__*/React__default["default"].createContext();
|
|
2231
|
+
|
|
2196
2232
|
var QuestionsGraphic = "data:image/png;base64,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";
|
|
2197
2233
|
|
|
2198
2234
|
var NoPaymentMethodFoundDialog = (function () {
|
|
@@ -2228,7 +2264,9 @@
|
|
|
2228
2264
|
|
|
2229
2265
|
var PaymentRoutingContext = /*#__PURE__*/React__default["default"].createContext();
|
|
2230
2266
|
|
|
2231
|
-
var
|
|
2267
|
+
var PaymentTrackingContext = /*#__PURE__*/React__default["default"].createContext();
|
|
2268
|
+
|
|
2269
|
+
var TransactionTrackingContext = /*#__PURE__*/React__default["default"].createContext();
|
|
2232
2270
|
|
|
2233
2271
|
var PaymentProvider = (function (props) {
|
|
2234
2272
|
var _useContext = React.useContext(ErrorContext),
|
|
@@ -2236,8 +2274,8 @@
|
|
|
2236
2274
|
|
|
2237
2275
|
var _useContext2 = React.useContext(ConfigurationContext),
|
|
2238
2276
|
_sent = _useContext2.sent,
|
|
2239
|
-
|
|
2240
|
-
|
|
2277
|
+
confirmed = _useContext2.confirmed,
|
|
2278
|
+
failed = _useContext2.failed;
|
|
2241
2279
|
|
|
2242
2280
|
var _useContext3 = React.useContext(PaymentRoutingContext),
|
|
2243
2281
|
selectedRoute = _useContext3.selectedRoute;
|
|
@@ -2253,13 +2291,20 @@
|
|
|
2253
2291
|
var _useContext6 = React.useContext(UpdatableContext),
|
|
2254
2292
|
setUpdatable = _useContext6.setUpdatable;
|
|
2255
2293
|
|
|
2256
|
-
var _useContext7 = React.useContext(
|
|
2257
|
-
|
|
2294
|
+
var _useContext7 = React.useContext(NavigateContext),
|
|
2295
|
+
navigate = _useContext7.navigate;
|
|
2258
2296
|
|
|
2259
|
-
var _useContext8 = React.useContext(
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2297
|
+
var _useContext8 = React.useContext(WalletContext),
|
|
2298
|
+
wallet = _useContext8.wallet;
|
|
2299
|
+
|
|
2300
|
+
var _useContext9 = React.useContext(PaymentTrackingContext),
|
|
2301
|
+
release = _useContext9.release,
|
|
2302
|
+
tracking = _useContext9.tracking,
|
|
2303
|
+
initializeTracking = _useContext9.initializeTracking;
|
|
2304
|
+
|
|
2305
|
+
var _useContext10 = React.useContext(TransactionTrackingContext),
|
|
2306
|
+
foundTransaction = _useContext10.foundTransaction,
|
|
2307
|
+
initializeTransactionTracking = _useContext10.initializeTracking;
|
|
2263
2308
|
|
|
2264
2309
|
var _useState = React.useState(),
|
|
2265
2310
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -2281,52 +2326,57 @@
|
|
|
2281
2326
|
paymentState = _useState8[0],
|
|
2282
2327
|
setPaymentState = _useState8[1];
|
|
2283
2328
|
|
|
2329
|
+
var paymentConfirmed = function paymentConfirmed(transaction) {
|
|
2330
|
+
if (tracking != true) {
|
|
2331
|
+
setClosable(true);
|
|
2332
|
+
}
|
|
2333
|
+
|
|
2334
|
+
setPaymentState('confirmed');
|
|
2335
|
+
|
|
2336
|
+
if (confirmed) {
|
|
2337
|
+
confirmed(transaction);
|
|
2338
|
+
}
|
|
2339
|
+
};
|
|
2340
|
+
|
|
2341
|
+
var paymentFailed = function paymentFailed(transaction, error) {
|
|
2342
|
+
if (failed) {
|
|
2343
|
+
failed(transaction, error);
|
|
2344
|
+
}
|
|
2345
|
+
|
|
2346
|
+
setPaymentState('initialized');
|
|
2347
|
+
setClosable(true);
|
|
2348
|
+
setUpdatable(true);
|
|
2349
|
+
navigate('PaymentError');
|
|
2350
|
+
};
|
|
2351
|
+
|
|
2284
2352
|
var pay = /*#__PURE__*/function () {
|
|
2285
|
-
var
|
|
2286
|
-
var
|
|
2353
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
|
|
2354
|
+
var currentBlock;
|
|
2287
2355
|
return regenerator.wrap(function _callee$(_context) {
|
|
2288
2356
|
while (1) {
|
|
2289
2357
|
switch (_context.prev = _context.next) {
|
|
2290
2358
|
case 0:
|
|
2291
|
-
navigate = _ref.navigate;
|
|
2292
2359
|
setClosable(false);
|
|
2293
2360
|
setPaymentState('paying');
|
|
2294
2361
|
setUpdatable(false);
|
|
2295
|
-
_context.next =
|
|
2362
|
+
_context.next = 5;
|
|
2296
2363
|
return web3Client.request({
|
|
2297
2364
|
blockchain: payment.route.transaction.blockchain,
|
|
2298
2365
|
method: 'latestBlockNumber'
|
|
2299
2366
|
});
|
|
2300
2367
|
|
|
2301
|
-
case
|
|
2368
|
+
case 5:
|
|
2302
2369
|
currentBlock = _context.sent;
|
|
2303
2370
|
wallet.sendTransaction(Object.assign({}, payment.route.transaction, {
|
|
2304
2371
|
sent: function sent(transaction) {
|
|
2372
|
+
initializeTransactionTracking(transaction, currentBlock);
|
|
2373
|
+
|
|
2305
2374
|
if (_sent) {
|
|
2306
2375
|
_sent(transaction);
|
|
2307
2376
|
}
|
|
2308
2377
|
},
|
|
2309
|
-
confirmed:
|
|
2310
|
-
|
|
2311
|
-
setClosable(true);
|
|
2312
|
-
}
|
|
2313
|
-
|
|
2314
|
-
setPaymentState('confirmed');
|
|
2315
|
-
|
|
2316
|
-
if (_confirmed) {
|
|
2317
|
-
_confirmed(transaction);
|
|
2318
|
-
}
|
|
2319
|
-
},
|
|
2320
|
-
failed: function failed(transaction, error) {
|
|
2321
|
-
if (_failed) {
|
|
2322
|
-
_failed(transaction, error);
|
|
2323
|
-
}
|
|
2324
|
-
|
|
2325
|
-
setPaymentState('initialized');
|
|
2326
|
-
setClosable(true);
|
|
2327
|
-
setUpdatable(true);
|
|
2328
|
-
navigate('PaymentError');
|
|
2329
|
-
}
|
|
2378
|
+
confirmed: paymentConfirmed,
|
|
2379
|
+
failed: paymentFailed
|
|
2330
2380
|
})).then(function (sentTransaction) {
|
|
2331
2381
|
if (tracking) {
|
|
2332
2382
|
initializeTracking(sentTransaction, currentBlock, payment.route);
|
|
@@ -2344,7 +2394,7 @@
|
|
|
2344
2394
|
}
|
|
2345
2395
|
});
|
|
2346
2396
|
|
|
2347
|
-
case
|
|
2397
|
+
case 7:
|
|
2348
2398
|
case "end":
|
|
2349
2399
|
return _context.stop();
|
|
2350
2400
|
}
|
|
@@ -2352,8 +2402,8 @@
|
|
|
2352
2402
|
}, _callee);
|
|
2353
2403
|
}));
|
|
2354
2404
|
|
|
2355
|
-
return function pay(
|
|
2356
|
-
return
|
|
2405
|
+
return function pay() {
|
|
2406
|
+
return _ref.apply(this, arguments);
|
|
2357
2407
|
};
|
|
2358
2408
|
}();
|
|
2359
2409
|
|
|
@@ -2381,15 +2431,36 @@
|
|
|
2381
2431
|
setPaymentState('confirmed');
|
|
2382
2432
|
}
|
|
2383
2433
|
}, [release]);
|
|
2434
|
+
React.useEffect(function () {
|
|
2435
|
+
if (foundTransaction && foundTransaction.id && foundTransaction.status) {
|
|
2436
|
+
var newTransaction;
|
|
2437
|
+
|
|
2438
|
+
if (foundTransaction.id.toLowerCase() != transaction.id.toLowerCase()) {
|
|
2439
|
+
newTransaction = Object.assign({}, transaction, {
|
|
2440
|
+
id: foundTransaction.id,
|
|
2441
|
+
url: web3Blockchains.Blockchain.findByName(transaction.blockchain).explorerUrlFor({
|
|
2442
|
+
transaction: foundTransaction
|
|
2443
|
+
})
|
|
2444
|
+
});
|
|
2445
|
+
setTransaction(newTransaction);
|
|
2446
|
+
}
|
|
2447
|
+
|
|
2448
|
+
if (foundTransaction.status == 'success') {
|
|
2449
|
+
paymentConfirmed(newTransaction || transaction);
|
|
2450
|
+
} else if (foundTransaction.status == 'failed') {
|
|
2451
|
+
paymentFailed(newTransaction || transaction);
|
|
2452
|
+
}
|
|
2453
|
+
}
|
|
2454
|
+
}, [foundTransaction, transaction]);
|
|
2384
2455
|
React.useEffect(function () {
|
|
2385
2456
|
if (selectedRoute) {
|
|
2386
2457
|
var fromToken = selectedRoute.fromToken;
|
|
2387
2458
|
selectedRoute.transaction.params;
|
|
2388
|
-
Promise.all([fromToken.name(), fromToken.symbol(), fromToken.readable(selectedRoute.fromAmount)]).then(function (
|
|
2389
|
-
var
|
|
2390
|
-
name =
|
|
2391
|
-
symbol =
|
|
2392
|
-
amount =
|
|
2459
|
+
Promise.all([fromToken.name(), fromToken.symbol(), fromToken.readable(selectedRoute.fromAmount)]).then(function (_ref2) {
|
|
2460
|
+
var _ref3 = _slicedToArray(_ref2, 3),
|
|
2461
|
+
name = _ref3[0],
|
|
2462
|
+
symbol = _ref3[1],
|
|
2463
|
+
amount = _ref3[2];
|
|
2393
2464
|
|
|
2394
2465
|
setPayment({
|
|
2395
2466
|
route: selectedRoute,
|
|
@@ -2741,7 +2812,7 @@
|
|
|
2741
2812
|
});
|
|
2742
2813
|
|
|
2743
2814
|
var format = (function (input) {
|
|
2744
|
-
var _float =
|
|
2815
|
+
var _float = round(input);
|
|
2745
2816
|
|
|
2746
2817
|
var floatToString = _float.toString();
|
|
2747
2818
|
|
|
@@ -2775,13 +2846,14 @@
|
|
|
2775
2846
|
|
|
2776
2847
|
var _useContext5 = React.useContext(ConfigurationContext),
|
|
2777
2848
|
currencyCode = _useContext5.currencyCode,
|
|
2778
|
-
|
|
2849
|
+
amountConfiguration = _useContext5.amount;
|
|
2779
2850
|
|
|
2780
2851
|
var _useContext6 = React.useContext(PaymentRoutingContext);
|
|
2781
2852
|
_useContext6.allRoutes;
|
|
2782
2853
|
|
|
2783
|
-
var min = _typeof(
|
|
2784
|
-
var step = _typeof(
|
|
2854
|
+
var min = _typeof(amountConfiguration) == "object" && amountConfiguration.min ? amountConfiguration.min : 1;
|
|
2855
|
+
var step = _typeof(amountConfiguration) == "object" && amountConfiguration.step ? amountConfiguration.step : 1;
|
|
2856
|
+
var displayedCurrencyCode = amountConfiguration != undefined && amountConfiguration.token ? null : currencyCode;
|
|
2785
2857
|
|
|
2786
2858
|
var changeAmountAndGoBack = function changeAmountAndGoBack() {
|
|
2787
2859
|
setAmount(toValidValue(parseFloat(inputAmount)));
|
|
@@ -2823,7 +2895,7 @@
|
|
|
2823
2895
|
className: "LineHeightL FontSizeL TextCenter"
|
|
2824
2896
|
}, "Change Amount"), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2825
2897
|
className: "FontSizeL TextCenter FontWeightBold"
|
|
2826
|
-
}, /*#__PURE__*/React__default["default"].createElement("strong", null,
|
|
2898
|
+
}, /*#__PURE__*/React__default["default"].createElement("strong", null, displayedCurrencyCode))),
|
|
2827
2899
|
body: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2828
2900
|
className: "MaxHeight PaddingTopXS"
|
|
2829
2901
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -3126,13 +3198,14 @@
|
|
|
3126
3198
|
|
|
3127
3199
|
var Footer = (function () {
|
|
3128
3200
|
var _useContext = React.useContext(ConfigurationContext),
|
|
3129
|
-
currencyCode = _useContext.currencyCode
|
|
3201
|
+
currencyCode = _useContext.currencyCode,
|
|
3202
|
+
configuredAmount = _useContext.amount;
|
|
3130
3203
|
|
|
3131
3204
|
var _useContext2 = React.useContext(ChangableAmountContext),
|
|
3132
3205
|
amount = _useContext2.amount;
|
|
3133
3206
|
_useContext2.amountsMissing;
|
|
3134
3207
|
|
|
3135
|
-
var _useContext3 = React.useContext(
|
|
3208
|
+
var _useContext3 = React.useContext(PaymentTrackingContext),
|
|
3136
3209
|
tracking = _useContext3.tracking,
|
|
3137
3210
|
release = _useContext3.release,
|
|
3138
3211
|
forwardTo = _useContext3.forwardTo,
|
|
@@ -3149,8 +3222,8 @@
|
|
|
3149
3222
|
var _useContext5 = React.useContext(PaymentValueContext),
|
|
3150
3223
|
paymentValue = _useContext5.paymentValue;
|
|
3151
3224
|
|
|
3152
|
-
var _useContext6 = React.useContext(reactDialogStack.NavigateStackContext)
|
|
3153
|
-
|
|
3225
|
+
var _useContext6 = React.useContext(reactDialogStack.NavigateStackContext);
|
|
3226
|
+
_useContext6.navigate;
|
|
3154
3227
|
|
|
3155
3228
|
var _useContext7 = React.useContext(ClosableContext),
|
|
3156
3229
|
close = _useContext7.close;
|
|
@@ -3280,6 +3353,19 @@
|
|
|
3280
3353
|
};
|
|
3281
3354
|
|
|
3282
3355
|
var mainAction = function mainAction() {
|
|
3356
|
+
var displayedAmount;
|
|
3357
|
+
|
|
3358
|
+
if (amount && (configuredAmount == undefined || configuredAmount.token != true)) {
|
|
3359
|
+
displayedAmount = new localCurrency.Currency({
|
|
3360
|
+
amount: amount.toFixed(2),
|
|
3361
|
+
code: currencyCode
|
|
3362
|
+
}).toString();
|
|
3363
|
+
} else if (paymentValue && paymentValue.toString().length) {
|
|
3364
|
+
displayedAmount = paymentValue.toString();
|
|
3365
|
+
} else {
|
|
3366
|
+
displayedAmount = "".concat(payment.symbol, " ").concat(payment.amount);
|
|
3367
|
+
}
|
|
3368
|
+
|
|
3283
3369
|
if (paymentState == 'initialized' || paymentState == 'approving') {
|
|
3284
3370
|
return /*#__PURE__*/React__default["default"].createElement("button", {
|
|
3285
3371
|
className: ["ButtonPrimary", payment.route.approvalRequired && !payment.route.directTransfer ? 'disabled' : ''].join(' '),
|
|
@@ -3288,14 +3374,9 @@
|
|
|
3288
3374
|
return;
|
|
3289
3375
|
}
|
|
3290
3376
|
|
|
3291
|
-
pay(
|
|
3292
|
-
navigate: navigate
|
|
3293
|
-
});
|
|
3377
|
+
pay();
|
|
3294
3378
|
}
|
|
3295
|
-
}, "Pay ",
|
|
3296
|
-
amount: amount.toFixed(2),
|
|
3297
|
-
code: currencyCode
|
|
3298
|
-
}).toString() : paymentValue.toString().length ? paymentValue.toString() : "".concat(payment.amount));
|
|
3379
|
+
}, "Pay ", displayedAmount);
|
|
3299
3380
|
} else if (paymentState == 'paying') {
|
|
3300
3381
|
return /*#__PURE__*/React__default["default"].createElement("a", {
|
|
3301
3382
|
className: "ButtonPrimary",
|
|
@@ -3517,7 +3598,11 @@
|
|
|
3517
3598
|
open = _useContext.open,
|
|
3518
3599
|
close = _useContext.close;
|
|
3519
3600
|
|
|
3601
|
+
var _useContext2 = React.useContext(NavigateContext),
|
|
3602
|
+
setNavigate = _useContext2.setNavigate;
|
|
3603
|
+
|
|
3520
3604
|
return /*#__PURE__*/React__default["default"].createElement(reactDialogStack.ReactDialogStack, {
|
|
3605
|
+
setNavigate: setNavigate,
|
|
3521
3606
|
open: open,
|
|
3522
3607
|
close: close,
|
|
3523
3608
|
start: "DonationOverview",
|
|
@@ -3533,7 +3618,28 @@
|
|
|
3533
3618
|
});
|
|
3534
3619
|
});
|
|
3535
3620
|
|
|
3536
|
-
var
|
|
3621
|
+
var NavigateProvider = (function (props) {
|
|
3622
|
+
var navigator;
|
|
3623
|
+
|
|
3624
|
+
var setNavigate = function setNavigate(_navigator) {
|
|
3625
|
+
navigator = _navigator;
|
|
3626
|
+
};
|
|
3627
|
+
|
|
3628
|
+
var navigate = function navigate(dialog) {
|
|
3629
|
+
if (navigator) {
|
|
3630
|
+
navigator(dialog);
|
|
3631
|
+
}
|
|
3632
|
+
};
|
|
3633
|
+
|
|
3634
|
+
return /*#__PURE__*/React__default["default"].createElement(NavigateContext.Provider, {
|
|
3635
|
+
value: {
|
|
3636
|
+
navigate: navigate,
|
|
3637
|
+
setNavigate: setNavigate
|
|
3638
|
+
}
|
|
3639
|
+
}, props.children);
|
|
3640
|
+
});
|
|
3641
|
+
|
|
3642
|
+
var PaymentTrackingProvider = (function (props) {
|
|
3537
3643
|
var _useContext = React.useContext(ErrorContext),
|
|
3538
3644
|
errorCallback = _useContext.errorCallback;
|
|
3539
3645
|
|
|
@@ -3627,14 +3733,14 @@
|
|
|
3627
3733
|
|
|
3628
3734
|
var retryStartTracking = function retryStartTracking(transaction, afterBlock, paymentRoute, attempt) {
|
|
3629
3735
|
attempt = parseInt(attempt || 1, 10);
|
|
3630
|
-
console.log('
|
|
3736
|
+
console.log('RETRYING PAYMENT TRACKING ATTEMPT ', attempt);
|
|
3631
3737
|
|
|
3632
3738
|
if (attempt < 3) {
|
|
3633
3739
|
setTimeout(function () {
|
|
3634
3740
|
startTracking(transaction, afterBlock, paymentRoute, attempt + 1);
|
|
3635
3741
|
}, 3000);
|
|
3636
3742
|
} else {
|
|
3637
|
-
console.log('TRACKING FAILED AFTER 3 ATTEMPTS!');
|
|
3743
|
+
console.log('PAYMENT TRACKING FAILED AFTER 3 ATTEMPTS!');
|
|
3638
3744
|
setTrackingFailed(true);
|
|
3639
3745
|
|
|
3640
3746
|
if (typeof errorCallback == 'function') {
|
|
@@ -3649,6 +3755,9 @@
|
|
|
3649
3755
|
if (track.endpoint) {
|
|
3650
3756
|
return fetch(track.endpoint, {
|
|
3651
3757
|
method: 'POST',
|
|
3758
|
+
headers: {
|
|
3759
|
+
'Content-Type': 'application/json'
|
|
3760
|
+
},
|
|
3652
3761
|
body: JSON.stringify(payment)
|
|
3653
3762
|
});
|
|
3654
3763
|
} else if (track.method) {
|
|
@@ -3668,12 +3777,12 @@
|
|
|
3668
3777
|
to_token: paymentRoute.toToken.address
|
|
3669
3778
|
}).then(function (response) {
|
|
3670
3779
|
if (response.status == 200) {
|
|
3671
|
-
console.log('TRACKING INITIALIZED');
|
|
3780
|
+
console.log('PAYMENT TRACKING INITIALIZED');
|
|
3672
3781
|
} else {
|
|
3673
3782
|
retryStartTracking(transaction, afterBlock, paymentRoute, attempt);
|
|
3674
3783
|
}
|
|
3675
3784
|
})["catch"](function (error) {
|
|
3676
|
-
console.log('TRACKING FAILED', error);
|
|
3785
|
+
console.log('PAYMENT TRACKING FAILED', error);
|
|
3677
3786
|
retryStartTracking(transaction, afterBlock, paymentRoute, attempt);
|
|
3678
3787
|
});
|
|
3679
3788
|
};
|
|
@@ -3710,6 +3819,9 @@
|
|
|
3710
3819
|
if (track.poll.endpoint) {
|
|
3711
3820
|
fetch(track.poll.endpoint, {
|
|
3712
3821
|
method: 'POST',
|
|
3822
|
+
headers: {
|
|
3823
|
+
'Content-Type': 'application/json'
|
|
3824
|
+
},
|
|
3713
3825
|
body: JSON.stringify(payment)
|
|
3714
3826
|
}).then(handleResponse);
|
|
3715
3827
|
} else if (track.poll.method) {
|
|
@@ -3738,7 +3850,7 @@
|
|
|
3738
3850
|
startTracking(transaction, afterBlock, paymentRoute);
|
|
3739
3851
|
};
|
|
3740
3852
|
|
|
3741
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
3853
|
+
return /*#__PURE__*/React__default["default"].createElement(PaymentTrackingContext.Provider, {
|
|
3742
3854
|
value: {
|
|
3743
3855
|
tracking: tracking,
|
|
3744
3856
|
initializeTracking: initializeTracking,
|
|
@@ -3749,6 +3861,134 @@
|
|
|
3749
3861
|
}, props.children);
|
|
3750
3862
|
});
|
|
3751
3863
|
|
|
3864
|
+
var TransactionTrackingProvider = (function (props) {
|
|
3865
|
+
var _useState = React.useState(),
|
|
3866
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3867
|
+
givenTransaction = _useState2[0],
|
|
3868
|
+
setGivenTransaction = _useState2[1];
|
|
3869
|
+
|
|
3870
|
+
var _useState3 = React.useState(),
|
|
3871
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
3872
|
+
foundTransaction = _useState4[0],
|
|
3873
|
+
setFoundTransaction = _useState4[1];
|
|
3874
|
+
|
|
3875
|
+
var _useState5 = React.useState(false),
|
|
3876
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
3877
|
+
polling = _useState6[0],
|
|
3878
|
+
setPolling = _useState6[1];
|
|
3879
|
+
|
|
3880
|
+
var _useContext = React.useContext(ErrorContext);
|
|
3881
|
+
_useContext.errorCallback;
|
|
3882
|
+
|
|
3883
|
+
React.useEffect(function () {
|
|
3884
|
+
if (polling) {
|
|
3885
|
+
var pollingInterval = setInterval(function () {
|
|
3886
|
+
fetch("https://api.depay.fi/v2/transactions/".concat(givenTransaction.blockchain, "/").concat(givenTransaction.from.toLowerCase(), "/").concat(givenTransaction.nonce)).then(function (response) {
|
|
3887
|
+
if (response.status == 200) {
|
|
3888
|
+
response.json().then(function (data) {
|
|
3889
|
+
if (data.status != 'pending') {
|
|
3890
|
+
setFoundTransaction({
|
|
3891
|
+
id: data.external_id,
|
|
3892
|
+
status: data.status
|
|
3893
|
+
});
|
|
3894
|
+
setPolling(false);
|
|
3895
|
+
}
|
|
3896
|
+
});
|
|
3897
|
+
}
|
|
3898
|
+
});
|
|
3899
|
+
}, 5000);
|
|
3900
|
+
return function () {
|
|
3901
|
+
clearInterval(pollingInterval);
|
|
3902
|
+
};
|
|
3903
|
+
}
|
|
3904
|
+
}, [polling]);
|
|
3905
|
+
|
|
3906
|
+
var createTracking = function createTracking(transaction, afterBlock, attempt) {
|
|
3907
|
+
if (attempt > 3) {
|
|
3908
|
+
console.log('TRANSACTION TRACKING FAILED AFTER 3 ATTEMPTS!');
|
|
3909
|
+
return;
|
|
3910
|
+
}
|
|
3911
|
+
|
|
3912
|
+
fetch('https://api.depay.fi/v2/transactions', {
|
|
3913
|
+
method: 'POST',
|
|
3914
|
+
headers: {
|
|
3915
|
+
'X-Api-Key': apiKey,
|
|
3916
|
+
'Content-Type': 'application/json'
|
|
3917
|
+
},
|
|
3918
|
+
body: JSON.stringify({
|
|
3919
|
+
id: transaction.id,
|
|
3920
|
+
after_block: afterBlock,
|
|
3921
|
+
blockchain: transaction.blockchain,
|
|
3922
|
+
sender: transaction.from.toLowerCase(),
|
|
3923
|
+
nonce: transaction.nonce
|
|
3924
|
+
})
|
|
3925
|
+
}).then(function (response) {
|
|
3926
|
+
if (response.status == 200 || response.status == 201) {
|
|
3927
|
+
console.log('TRANSACTION TRACKING INITIALIZED');
|
|
3928
|
+
} else {
|
|
3929
|
+
console.log('TRANSACTION TRACKING FAILED', response);
|
|
3930
|
+
setTimeout(function () {
|
|
3931
|
+
createTracking(transaction, afterBlock, attempt + 1);
|
|
3932
|
+
}, 3000);
|
|
3933
|
+
}
|
|
3934
|
+
})["catch"](function (error) {
|
|
3935
|
+
console.log('TRANSACTION TRACKING FAILED', error);
|
|
3936
|
+
setTimeout(function () {
|
|
3937
|
+
createTracking(transaction, afterBlock, attempt + 1);
|
|
3938
|
+
}, 3000);
|
|
3939
|
+
});
|
|
3940
|
+
};
|
|
3941
|
+
|
|
3942
|
+
var openSocket = function openSocket(transaction) {
|
|
3943
|
+
var socket = new WebSocket('wss://integrate.depay.fi/cable');
|
|
3944
|
+
|
|
3945
|
+
socket.onopen = function (event) {
|
|
3946
|
+
var msg = {
|
|
3947
|
+
command: 'subscribe',
|
|
3948
|
+
identifier: JSON.stringify({
|
|
3949
|
+
blockchain: transaction.blockchain,
|
|
3950
|
+
sender: transaction.from.toLowerCase(),
|
|
3951
|
+
nonce: transaction.nonce,
|
|
3952
|
+
channel: 'TransactionChannel'
|
|
3953
|
+
})
|
|
3954
|
+
};
|
|
3955
|
+
socket.send(JSON.stringify(msg));
|
|
3956
|
+
};
|
|
3957
|
+
|
|
3958
|
+
socket.onclose = function (event) {};
|
|
3959
|
+
|
|
3960
|
+
socket.onmessage = function (event) {
|
|
3961
|
+
var item = JSON.parse(event.data);
|
|
3962
|
+
|
|
3963
|
+
if (item.type === "ping") {
|
|
3964
|
+
return;
|
|
3965
|
+
}
|
|
3966
|
+
|
|
3967
|
+
if (item.message && item.message.status && item.message.status != 'pending') {
|
|
3968
|
+
setFoundTransaction(item.message);
|
|
3969
|
+
}
|
|
3970
|
+
};
|
|
3971
|
+
|
|
3972
|
+
socket.onerror = function (error) {
|
|
3973
|
+
console.log('WebSocket Error: ' + error);
|
|
3974
|
+
};
|
|
3975
|
+
};
|
|
3976
|
+
|
|
3977
|
+
var initializeTracking = function initializeTracking(transaction, afterBlock) {
|
|
3978
|
+
setGivenTransaction(transaction);
|
|
3979
|
+
createTracking(transaction, afterBlock, 1);
|
|
3980
|
+
openSocket(transaction);
|
|
3981
|
+
setPolling(true);
|
|
3982
|
+
};
|
|
3983
|
+
|
|
3984
|
+
return /*#__PURE__*/React__default["default"].createElement(TransactionTrackingContext.Provider, {
|
|
3985
|
+
value: {
|
|
3986
|
+
initializeTracking: initializeTracking,
|
|
3987
|
+
foundTransaction: foundTransaction
|
|
3988
|
+
}
|
|
3989
|
+
}, props.children);
|
|
3990
|
+
});
|
|
3991
|
+
|
|
3752
3992
|
var WalletProvider = (function (props) {
|
|
3753
3993
|
var _useContext = React.useContext(ErrorContext);
|
|
3754
3994
|
_useContext.setError;
|
|
@@ -3888,9 +4128,9 @@
|
|
|
3888
4128
|
container: container,
|
|
3889
4129
|
connected: connected,
|
|
3890
4130
|
unmount: unmount
|
|
3891
|
-
}, /*#__PURE__*/React__default["default"].createElement(ConversionRateProvider, null, /*#__PURE__*/React__default["default"].createElement(ChangableAmountProvider, {
|
|
4131
|
+
}, /*#__PURE__*/React__default["default"].createElement(NavigateProvider, null, /*#__PURE__*/React__default["default"].createElement(ConversionRateProvider, null, /*#__PURE__*/React__default["default"].createElement(ChangableAmountProvider, {
|
|
3892
4132
|
accept: accept
|
|
3893
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
4133
|
+
}, /*#__PURE__*/React__default["default"].createElement(TransactionTrackingProvider, null, /*#__PURE__*/React__default["default"].createElement(PaymentTrackingProvider, {
|
|
3894
4134
|
document: ensureDocument(document)
|
|
3895
4135
|
}, /*#__PURE__*/React__default["default"].createElement(DonationRoutingProvider, {
|
|
3896
4136
|
container: container,
|
|
@@ -3898,7 +4138,7 @@
|
|
|
3898
4138
|
}, /*#__PURE__*/React__default["default"].createElement(DonationStack, {
|
|
3899
4139
|
document: document,
|
|
3900
4140
|
container: container
|
|
3901
|
-
}), /*#__PURE__*/React__default["default"].createElement(PoweredBy, null))))))))));
|
|
4141
|
+
}), /*#__PURE__*/React__default["default"].createElement(PoweredBy, null))))))))))));
|
|
3902
4142
|
};
|
|
3903
4143
|
});
|
|
3904
4144
|
return _context2.abrupt("return", {
|
|
@@ -3949,6 +4189,9 @@
|
|
|
3949
4189
|
return new Promise(function (resolve, reject) {
|
|
3950
4190
|
fetch(endpoint, {
|
|
3951
4191
|
method: 'POST',
|
|
4192
|
+
headers: {
|
|
4193
|
+
'Content-Type': 'application/json'
|
|
4194
|
+
},
|
|
3952
4195
|
body: JSON.stringify({
|
|
3953
4196
|
message: message,
|
|
3954
4197
|
signature: signature
|
|
@@ -4262,7 +4505,11 @@
|
|
|
4262
4505
|
open = _useContext.open,
|
|
4263
4506
|
close = _useContext.close;
|
|
4264
4507
|
|
|
4508
|
+
var _useContext2 = React.useContext(NavigateContext),
|
|
4509
|
+
setNavigate = _useContext2.setNavigate;
|
|
4510
|
+
|
|
4265
4511
|
return /*#__PURE__*/React__default["default"].createElement(reactDialogStack.ReactDialogStack, {
|
|
4512
|
+
setNavigate: setNavigate,
|
|
4266
4513
|
open: open,
|
|
4267
4514
|
close: close,
|
|
4268
4515
|
start: "PaymentOverview",
|
|
@@ -4364,7 +4611,7 @@
|
|
|
4364
4611
|
container: container,
|
|
4365
4612
|
connected: connected,
|
|
4366
4613
|
unmount: unmount
|
|
4367
|
-
}, /*#__PURE__*/React__default["default"].createElement(ConversionRateProvider, null, /*#__PURE__*/React__default["default"].createElement(ChangableAmountProvider, {
|
|
4614
|
+
}, /*#__PURE__*/React__default["default"].createElement(NavigateProvider, null, /*#__PURE__*/React__default["default"].createElement(ConversionRateProvider, null, /*#__PURE__*/React__default["default"].createElement(ChangableAmountProvider, {
|
|
4368
4615
|
accept: accept
|
|
4369
4616
|
}, /*#__PURE__*/React__default["default"].createElement(PaymentAmountRoutingProvider, {
|
|
4370
4617
|
accept: accept,
|
|
@@ -4372,7 +4619,7 @@
|
|
|
4372
4619
|
blacklist: blacklist,
|
|
4373
4620
|
event: event,
|
|
4374
4621
|
fee: fee
|
|
4375
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
4622
|
+
}, /*#__PURE__*/React__default["default"].createElement(TransactionTrackingProvider, null, /*#__PURE__*/React__default["default"].createElement(PaymentTrackingProvider, {
|
|
4376
4623
|
document: ensureDocument(document)
|
|
4377
4624
|
}, /*#__PURE__*/React__default["default"].createElement(PaymentProvider, {
|
|
4378
4625
|
container: container,
|
|
@@ -4380,7 +4627,7 @@
|
|
|
4380
4627
|
}, /*#__PURE__*/React__default["default"].createElement(PaymentValueProvider, null, /*#__PURE__*/React__default["default"].createElement(PaymentStack, {
|
|
4381
4628
|
document: document,
|
|
4382
4629
|
container: container
|
|
4383
|
-
}), /*#__PURE__*/React__default["default"].createElement(PoweredBy, null))))))))))));
|
|
4630
|
+
}), /*#__PURE__*/React__default["default"].createElement(PoweredBy, null))))))))))))));
|
|
4384
4631
|
};
|
|
4385
4632
|
});
|
|
4386
4633
|
return _context2.abrupt("return", {
|
|
@@ -4525,7 +4772,8 @@
|
|
|
4525
4772
|
_useContext.amount;
|
|
4526
4773
|
|
|
4527
4774
|
var _useContext2 = React.useContext(ConfigurationContext),
|
|
4528
|
-
tokenImage = _useContext2.tokenImage
|
|
4775
|
+
tokenImage = _useContext2.tokenImage,
|
|
4776
|
+
amountConfiguration = _useContext2.amount;
|
|
4529
4777
|
|
|
4530
4778
|
var _useContext3 = React.useContext(PaymentValueContext),
|
|
4531
4779
|
paymentValue = _useContext3.paymentValue;
|
|
@@ -4547,7 +4795,7 @@
|
|
|
4547
4795
|
setSalePerTokenValue = _useState2[1];
|
|
4548
4796
|
|
|
4549
4797
|
React.useEffect(function () {
|
|
4550
|
-
if (paymentValue) {
|
|
4798
|
+
if (paymentValue && (amountConfiguration == undefined || amountConfiguration.token != true)) {
|
|
4551
4799
|
setSalePerTokenValue(new localCurrency.Currency({
|
|
4552
4800
|
amount: (paymentValue.amount / parseFloat(toTokenReadableAmount)).toFixed(2),
|
|
4553
4801
|
code: paymentValue.code
|
|
@@ -4655,7 +4903,11 @@
|
|
|
4655
4903
|
open = _useContext.open,
|
|
4656
4904
|
close = _useContext.close;
|
|
4657
4905
|
|
|
4906
|
+
var _useContext2 = React.useContext(NavigateContext),
|
|
4907
|
+
setNavigate = _useContext2.setNavigate;
|
|
4908
|
+
|
|
4658
4909
|
return /*#__PURE__*/React__default["default"].createElement(reactDialogStack.ReactDialogStack, {
|
|
4910
|
+
setNavigate: setNavigate,
|
|
4659
4911
|
open: open,
|
|
4660
4912
|
close: close,
|
|
4661
4913
|
start: "SaleOverview",
|
|
@@ -4766,9 +5018,9 @@
|
|
|
4766
5018
|
container: container,
|
|
4767
5019
|
connected: connected,
|
|
4768
5020
|
unmount: unmount
|
|
4769
|
-
}, /*#__PURE__*/React__default["default"].createElement(ConversionRateProvider, null, /*#__PURE__*/React__default["default"].createElement(ChangableAmountProvider, {
|
|
5021
|
+
}, /*#__PURE__*/React__default["default"].createElement(NavigateProvider, null, /*#__PURE__*/React__default["default"].createElement(ConversionRateProvider, null, /*#__PURE__*/React__default["default"].createElement(ChangableAmountProvider, {
|
|
4770
5022
|
accept: accept
|
|
4771
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
5023
|
+
}, /*#__PURE__*/React__default["default"].createElement(TransactionTrackingProvider, null, /*#__PURE__*/React__default["default"].createElement(PaymentTrackingProvider, {
|
|
4772
5024
|
document: ensureDocument(document)
|
|
4773
5025
|
}, /*#__PURE__*/React__default["default"].createElement(SaleRoutingProvider, {
|
|
4774
5026
|
container: container,
|
|
@@ -4776,7 +5028,7 @@
|
|
|
4776
5028
|
}, /*#__PURE__*/React__default["default"].createElement(SaleStack, {
|
|
4777
5029
|
document: document,
|
|
4778
5030
|
container: container
|
|
4779
|
-
}), /*#__PURE__*/React__default["default"].createElement(PoweredBy, null))))))))));
|
|
5031
|
+
}), /*#__PURE__*/React__default["default"].createElement(PoweredBy, null))))))))))));
|
|
4780
5032
|
};
|
|
4781
5033
|
});
|
|
4782
5034
|
return _context2.abrupt("return", {
|