@depay/widgets 9.1.2 → 9.2.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
@@ -1222,7 +1222,7 @@ var ButtonPrimaryStyle = (function (style) {
1222
1222
  });
1223
1223
 
1224
1224
  var CardStyle = (function (style) {
1225
- return "\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border-radius: 13px;\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: 8px;\n min-height: 76px;\n padding: 16px 10px;\n width: 100%;\n }\n\n .Card.Row {\n border-radius: 0;\n margin-bottom: 0;\n box-shadow: none;\n min-height: 69px;\n padding: 7px 21px;\n border-top: 1px solid rgba(0,0,0,0.05);\n }\n\n .Card.Row .CardText {\n font-size: 19px;\n line-height: 40px;\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: 17px;\n }\n\n .Card.Row .CardImage {\n width: 40px;\n }\n\n .Card.Row .CardImage img {\n height: 30px;\n width: 30px;\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: 8px 8px;\n margin: 0;\n }\n\n .CardImage.small {\n width: 27px;\n }\n\n .CardImage.small img {\n height: 27px;\n width: 27px;\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 7px;\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: 58px;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 27px;\n padding-left: 10px;\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: 9999px;\n border: 1px solid white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 45px;\n position: relative;\n vertical-align: middle;\n width: 45px;\n }\n\n .CardImage.square img {\n border-radius: 0;\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: 15px;\n color: rgb(150,150,150);\n line-height: 20px;\n }\n \n .CardText, a .CardText {\n color: ".concat(style.colors.text, ";\n flex: 1;\n font-size: 21px;\n line-height: 26px;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText.small, .CardText.small small {\n font-size: 18px;\n color: rgb(150,150,150);\n line-height: 20px;\n }\n\n .CardAction {\n opacity: 0.2;\n }\n\n .Card.More {\n display: inline-block;\n text-align: center;\n }\n ");
1225
+ return "\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border-radius: 13px;\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: 8px;\n min-height: 76px;\n padding: 16px 10px;\n width: 100%;\n }\n\n .Card.Row {\n border-radius: 0;\n margin-bottom: 0;\n box-shadow: none;\n min-height: 69px;\n padding: 7px 21px;\n border-top: 1px solid rgba(0,0,0,0.05);\n }\n\n .Card.Row .CardText {\n font-size: 19px;\n line-height: 40px;\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 .CardTokenFullName {\n width: 100%;\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: 17px;\n }\n\n .Card.Row .CardImage {\n width: 40px;\n }\n\n .Card.Row .CardImage img {\n height: 30px;\n width: 30px;\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: 8px 8px;\n margin: 0;\n }\n\n .CardImage.small {\n width: 27px;\n }\n\n .CardImage.small img {\n height: 27px;\n width: 27px;\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 7px;\n }\n\n .CardImage {\n display: inline-flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n width: 58px;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 27px;\n padding-left: 10px;\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: 9999px;\n border: 1px solid white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 45px;\n position: relative;\n vertical-align: middle;\n width: 45px;\n }\n\n .CardImage.square img {\n border-radius: 0;\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: 15px;\n color: rgb(150,150,150);\n line-height: 20px;\n }\n \n .CardText, a .CardText {\n color: ".concat(style.colors.text, ";\n flex: 1;\n font-size: 21px;\n line-height: 26px;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText.small, .CardText.small small {\n font-size: 18px;\n color: rgb(150,150,150);\n line-height: 20px;\n }\n\n .CardAction {\n opacity: 0.2;\n }\n\n .Card.More {\n display: inline-block;\n text-align: center;\n }\n ");
1226
1226
  });
1227
1227
 
1228
1228
  var DialogStyle = (function (style) {
@@ -1298,7 +1298,7 @@ var TextButtonStyle = (function (style) {
1298
1298
  });
1299
1299
 
1300
1300
  var TextStyle = (function (style) {
1301
- return "\n\n * {\n color: ".concat(style.colors.text, ";\n }\n\n h1, h2, h3, h4, h5, h6 {\n display: block;\n }\n\n .Text {\n font-size: 16px;\n line-height: 24px\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: 32px;\n }\n\n .ErrorSnippetText {\n background: rgb(30, 30, 20);\n border-radius: 19px;\n border: 8px solid rgb(30, 30, 20);\n color: #00FF41;\n font-size: 15px;\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 ");
1301
+ return "\n\n * {\n color: ".concat(style.colors.text, ";\n }\n\n h1, h2, h3, h4, h5, h6 {\n display: block;\n }\n\n .Text {\n font-size: 16px;\n line-height: 24px\n }\n\n .TextLeft, .TextLeft * {\n text-align: left !important;\n }\n\n .TextCenter, .TextCenter * {\n text-align: center;\n }\n\n .LineHeightL {\n line-height: 32px;\n }\n\n .ErrorSnippetText {\n background: rgb(30, 30, 20);\n border-radius: 19px;\n border: 8px solid rgb(30, 30, 20);\n color: #00FF41;\n font-size: 15px;\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 ");
1302
1302
  });
1303
1303
 
1304
1304
  var TokenAmountStyle = (function () {
@@ -19356,12 +19356,12 @@ function _defineProperty(obj, key, value) {
19356
19356
  return obj;
19357
19357
  }
19358
19358
 
19359
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19360
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19359
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19360
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19361
19361
  var prepareAcceptedPayments = function prepareAcceptedPayments(accept) {
19362
19362
  var toAddress = _typeof(accept.receiver) == 'object' ? accept.receiver.address : accept.receiver;
19363
19363
  var toContract = _typeof(accept.receiver) == 'object' ? accept.receiver : undefined;
19364
- return _objectSpread$1(_objectSpread$1({}, accept), {}, {
19364
+ return _objectSpread$3(_objectSpread$3({}, accept), {}, {
19365
19365
  toAddress: toAddress,
19366
19366
  toContract: toContract
19367
19367
  });
@@ -19389,8 +19389,8 @@ var routePayments = (function (_ref) {
19389
19389
  });
19390
19390
  });
19391
19391
 
19392
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19393
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19392
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19393
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19394
19394
  var PaymentRoutingProvider = (function (props) {
19395
19395
  var _useState = useState(),
19396
19396
  _useState2 = _slicedToArray(_useState, 2),
@@ -19552,7 +19552,7 @@ var PaymentRoutingProvider = (function (props) {
19552
19552
  return regenerator.wrap(function _callee5$(_context5) {
19553
19553
  while (1) switch (_context5.prev = _context5.next) {
19554
19554
  case 0:
19555
- setSelectedRoute(_objectSpread({}, updatedRouteWithNewPrice));
19555
+ setSelectedRoute(_objectSpread$2({}, updatedRouteWithNewPrice));
19556
19556
  setUpdatedRouteWithNewPrice(null);
19557
19557
  case 2:
19558
19558
  case "end":
@@ -20507,7 +20507,7 @@ var WrongNetworkDialog = (function (props) {
20507
20507
  return /*#__PURE__*/React.createElement(Dialog$1, {
20508
20508
  stacked: true,
20509
20509
  header: /*#__PURE__*/React.createElement("div", {
20510
- className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
20510
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
20511
20511
  }, /*#__PURE__*/React.createElement("h1", {
20512
20512
  className: "LineHeightL FontSizeL"
20513
20513
  }, "Wrong Network")),
@@ -22302,51 +22302,52 @@ var msToTime = (function (ms) {
22302
22302
  };
22303
22303
  });
22304
22304
 
22305
- var ConfirmTokenSelectionDialog = (function (props) {
22305
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22306
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22307
+ var ConfirmNFTSelectionDialog = (function (props) {
22308
+ var _selection$nft, _selection$blockchain;
22306
22309
  var _useContext = useContext(SelectionContext),
22307
22310
  selection = _useContext.selection;
22311
+ _useContext.setSelection;
22308
22312
  var _useContext2 = useContext(ClosableContext),
22309
22313
  setOpen = _useContext2.setOpen;
22310
- var token = selection.token;
22311
- var address = token.address || token.external_id;
22312
- var logo = token.logo || token.image;
22313
- var blockchain = Blockchain.findByName(token.blockchain);
22314
- var age = token.first_transfer ? msToTime(new Date() - new Date(token.first_transfer)) : undefined;
22315
- if (age) {
22314
+ var _useContext3 = useContext(NavigateStackContext),
22315
+ navigate = _useContext3.navigate;
22316
+ var age, holders;
22317
+ if (selection.nft.createdAt) {
22318
+ age = msToTime(new Date() - new Date(selection.nft.createdAt));
22316
22319
  age = [age.year && age.year >= 1 ? age.year >= 2 ? "".concat(age.year, " years") : "1 year" : undefined, age.month && age.month >= 1 ? age.month >= 2 ? "".concat(age.month, " months") : "1 month" : undefined, age.day && age.day >= 1 && age.month <= 1 && age.year < 1 ? age.day >= 2 ? "".concat(age.day, " days !!!") : "1 day !!!" : undefined].filter(function (n) {
22317
22320
  return n;
22318
22321
  }).join(' ');
22319
22322
  }
22320
- var holders = token.unique_senders ? token.unique_senders : undefined;
22321
- if (holders) {
22322
- if (holders > 1000000) {
22323
+ if (selection.nft.holders) {
22324
+ if (selection.nft.holders > 1000000) {
22323
22325
  holders = "Millions";
22324
- } else if (holders > 100000) {
22326
+ } else if (selection.nft.holders > 100000) {
22325
22327
  holders = "Hundreds of Thousands";
22326
- } else if (holders > 2000) {
22328
+ } else if (selection.nft.holders > 2000) {
22327
22329
  holders = "Thousands";
22328
- } else if (holders > 100) {
22330
+ } else if (selection.nft.holders > 100) {
22329
22331
  holders = "Hundreds";
22330
22332
  } else {
22331
22333
  holders = "Only a Few!!!";
22332
22334
  }
22333
22335
  }
22336
+ var blockchain = ((_selection$nft = selection.nft) === null || _selection$nft === void 0 ? void 0 : _selection$nft.blockchain) || ((_selection$blockchain = selection.blockchain) === null || _selection$blockchain === void 0 ? void 0 : _selection$blockchain.name);
22337
+ if (blockchain == undefined) {
22338
+ navigate('SelectBlockchain');
22339
+ return null;
22340
+ }
22334
22341
  var onClickConfirm = function onClickConfirm() {
22335
22342
  setOpen(false);
22336
- props.resolve({
22337
- blockchain: token.blockchain,
22338
- address: token.external_id || token.address,
22339
- symbol: token.symbol,
22340
- name: token.name,
22341
- decimals: token.decimals,
22342
- logo: token.image || token.logo,
22343
- routable: token.routable
22344
- });
22343
+ props.resolve(_objectSpread$1(_objectSpread$1({}, selection.nft), {}, {
22344
+ blockchain: blockchain
22345
+ }));
22345
22346
  setTimeout(props.unmount, 300);
22346
22347
  };
22347
22348
  return /*#__PURE__*/React.createElement(Dialog$1, {
22348
22349
  header: /*#__PURE__*/React.createElement("div", {
22349
- className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
22350
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
22350
22351
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", {
22351
22352
  className: "LineHeightL FontSizeL"
22352
22353
  }, "Confirm Selection"))),
@@ -22355,11 +22356,8 @@ var ConfirmTokenSelectionDialog = (function (props) {
22355
22356
  className: "PaddingTopS PaddingLeftM PaddingRightM"
22356
22357
  }, /*#__PURE__*/React.createElement("div", {
22357
22358
  className: "TokenImage medium TextCenter"
22358
- }, logo && /*#__PURE__*/React.createElement("img", {
22359
- src: logo
22360
- }), !logo && /*#__PURE__*/React.createElement(TokenImage, {
22361
- blockchain: token.blockchain,
22362
- address: address
22359
+ }, selection.nft.image && /*#__PURE__*/React.createElement("img", {
22360
+ src: selection.nft.image
22363
22361
  })), /*#__PURE__*/React.createElement("div", {
22364
22362
  className: "PaddingTopS TextCenter"
22365
22363
  }, /*#__PURE__*/React.createElement("div", {
@@ -22371,20 +22369,25 @@ var ConfirmTokenSelectionDialog = (function (props) {
22371
22369
  }, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22372
22370
  className: "TableSubTitle"
22373
22371
  }, "Address")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("a", {
22374
- className: "Link FontSizeM",
22375
- title: address,
22376
- href: blockchain.explorerUrlFor({
22377
- token: address
22372
+ className: "Link",
22373
+ title: selection.nft.address,
22374
+ href: Blockchain.findByName(blockchain).explorerUrlFor({
22375
+ token: selection.nft.address
22378
22376
  }),
22379
22377
  target: "_blank",
22380
22378
  rel: "noopener noreferrer"
22381
- }, addressEllipsis(address, 4))))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22379
+ }, addressEllipsis(selection.nft.address, 6))))), selection.nft.id && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22382
22380
  className: "TableSubTitle"
22383
- }, "Blockchain")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, blockchain.label))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22381
+ }, "Token ID")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, selection.nft.id))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22384
22382
  className: "TableSubTitle"
22385
- }, "Symbol")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, token.symbol))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22383
+ }, "Blockchain")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, Blockchain.findByName(blockchain).label))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22386
22384
  className: "TableSubTitle"
22387
- }, "Name")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, token.name))), age && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22385
+ }, "Name")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("a", {
22386
+ className: "Link",
22387
+ href: selection.nft.link,
22388
+ target: "_blank",
22389
+ rel: "noopener noreferrer"
22390
+ }, selection.nft.name))), age && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22388
22391
  className: "TableSubTitle"
22389
22392
  }, "Age")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, age))), holders && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
22390
22393
  className: "TableSubTitle"
@@ -22398,19 +22401,227 @@ var ConfirmTokenSelectionDialog = (function (props) {
22398
22401
  });
22399
22402
  });
22400
22403
 
22404
+ var OpenSea = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjMuMjUwODg5bW0iIGhlaWdodD0iNjMuMjUwODg5bW0iIHZpZXdCb3g9IjAgMCA2My4yNTA4ODYgNjMuMjUwODg4Ij4KICA8ZyBmaWxsPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC42MzI1KSI+CiAgICA8cGF0aCBmaWxsPSIjMjA4MWUyIiBkPSJNMTAwIDUwYzAgMjcuNjEyNy0yMi4zODczIDUwLTUwIDUwUzAgNzcuNjEyNyAwIDUwIDIyLjM4NzMgMCA1MCAwYzI3LjYxODUgMCA1MCAyMi4zODczIDUwIDUweiIvPgogICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTI0LjY2NzkgNTEuNjgwMS4yMTU3LS4zMzkxIDEzLjAwNy0yMC4zNDc4Yy4xOTAxLS4yOTc5LjYzNy0uMjY3MS43ODA4LjA1NjUgMi4xNzMgNC44Njk5IDQuMDQ4IDEwLjkyNjUgMy4xNjk2IDE0LjY5NzEtLjM3NSAxLjU1MTQtMS40MDI0IDMuNjUyNC0yLjU1ODMgNS41OTQyLS4xNDg5LjI4MjYtLjMxMzMuNTYtLjQ4OC44MjcxLS4wODIyLjEyMzMtLjIyMDkuMTk1Mi0uMzY5OS4xOTUySDI1LjA0OGMtLjM1OTYgMC0uNTcwMi0uMzkwNC0uMzgwMS0uNjgzMnoiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik04Mi42NDQ0IDU1LjQ2MXYzLjIyMDljMCAuMTg0OS0uMTEzLjM0OTMtLjI3NzQuNDIxMi0xLjAwNjguNDMxNS00LjQ1MzggMi4wMTM3LTUuODg3IDQuMDA2OS0zLjY1NzYgNS4wOTA4LTYuNDUyMSAxMi4zNy0xMi42OTg4IDEyLjM3SDM3LjcyMUMyOC40ODQ3IDc1LjQ4IDIxIDY3Ljk2OTcgMjEgNTguNzAyNHYtLjI5NzljMC0uMjQ2Ni4yMDAzLS40NDY5LjQ0NjktLjQ0NjloMTQuNTI3NmMuMjg3NiAwIC40OTgyLjI2NzEuNDcyNi41NDk2LS4xMDI4Ljk0NTIuMDcxOSAxLjkxMS41MTg4IDIuNzg5NC44NjMgMS43NTE4IDIuNjUwNyAyLjg0NiA0LjU4MjIgMi44NDZINDguNzR2LTUuNjE0OGgtNy4xMDk3Yy0uMzY0NyAwLS41ODA0LS40MjEzLS4zNjk4LS43MTkyLjA3Ny0uMTE4Mi4xNjQ0LS4yNDE0LjI1NjgtLjM4MDEuNjczLS45NTU1IDEuNjMzNi0yLjQ0MDEgMi41ODkxLTQuMTMwMi42NTI0LTEuMTQwNCAxLjI4NDItMi4zNTc5IDEuNzkyOC0zLjU4MDUuMTAyOC0uMjIwOS4xODQ5LS40NDcuMjY3MS0uNjY3OS4xMzg3LS4zOTA0LjI4MjYtLjc1NTEuMzg1My0xLjExOTguMTAyOC0uMzA4My4xODQ5LS42MzE5LjI2NzEtLjkzNS4yNDE1LTEuMDM3Ny4zNDQyLTIuMTM3LjM0NDItMy4yNzc0IDAtLjQ0NjktLjAyMDUtLjkxNDQtLjA2MTYtMS4zNjEzLS4wMjA2LS40ODgtLjA4MjItLjk3NjEtLjE0MzktMS40NjQxLS4wNDExLS40MzE1LS4xMTgxLS44NTc5LS4yMDAzLTEuMzA0OC0uMTAyNy0uNjUyNC0uMjQ2Ni0xLjI5OTYtLjQxMS0xLjk1MjFsLS4wNTY1LS4yNDY1Yy0uMTIzMy0uNDQ3LS4yMjYtLjg3MzMtLjM2OTgtMS4zMjAyLS40MDU5LTEuNDAyNS0uODczMy0yLjc2ODktMS4zNjY1LTQuMDQ4LS4xNzk4LS41MDg2LS4zODUzLS45OTY2LS41OTA4LTEuNDg0Ni0uMzAzLS43MzQ2LS42MTEzLTEuNDAyNC0uODkzOC0yLjAzNDMtLjE0MzgtLjI4NzctLjI2NzEtLjU0OTctLjM5MDQtLjgxNjgtLjEzODctLjMwMzEtLjI4MjUtLjYwNjItLjQyNjQtLjg5MzgtLjEwMjctLjIyMDktLjIyMDktLjQyNjQtLjMwMzEtLjYzMTlsLS44Nzg0LTEuNjIzM2MtLjEyMzMtLjIyMDkuMDgyMi0uNDgyOS4zMjM2LS40MTYxbDUuNDk2NyAxLjQ4OTdoLjAxNTRjLjAxMDIgMCAuMDE1NC4wMDUyLjAyMDUuMDA1MmwuNzI0My4yMDAzLjc5NjMuMjI2MS4yOTI4LjA4MjF2LTMuMjY3MUM0OC43NCAyMS4yNzkxIDUwLjAwMzcgMjAgNTEuNTY1NCAyMGMuNzgwOCAwIDEuNDg5Ny4zMTg1IDEuOTk4My44MzczLjUwODUuNTE4OS44MjcgMS4yMjc4LjgyNyAyLjAxODl2NC44NDk0bC41ODU3LjE2NDNjLjA0NjIuMDE1NS4wOTI0LjAzNi4xMzM1LjA2NjguMTQzOS4xMDc5LjM0OTMuMjY3MS42MTEzLjQ2MjQuMjA1NS4xNjQzLjQyNjQuMzY0Ny42OTM1LjU3MDIuNTI5MS40MjYzIDEuMTYxLjk3NiAxLjg1NDUgMS42MDc5LjE4NDkuMTU5Mi4zNjQ3LjMyMzYuNTI5MS40ODguODkzOS44MzIyIDEuODk1NiAxLjgwODIgMi44NTExIDIuODg3LjI2NzEuMzAzMS41MjkxLjYxMTMuNzk2Mi45MzQ5LjI2NzEuMzI4OC41NDk3LjY1MjQuNzk2Mi45NzYxLjMyMzcuNDMxNS42NzMuODc4NC45NzYxIDEuMzQ1OS4xNDM4LjIyMDkuMzA4Mi40NDY5LjQ0NjkuNjY3OC4zOTA0LjU5MDcuNzM0NiAxLjIwMjEgMS4wNjM0IDEuODEzNC4xMzg3LjI4MjUuMjgyNS41OTA3LjQwNTguODkzOC4zNjQ3LjgxNjguNjUyNCAxLjY0OS44MzczIDIuNDgxMi4wNTY1LjE3OTguMDk3Ni4zNzUuMTE4Mi41NDk3di4wNDExYy4wNjE2LjI0NjUuMDgyMi41MDg1LjEwMjcuNzc1Ni4wODIyLjg1MjguMDQxMSAxLjcwNTUtLjE0MzggMi41NjM0LS4wNzcxLjM2NDgtLjE3OTguNzA4OS0uMzAzMSAxLjA3MzctLjEyMzMuMzQ5My0uMjQ2Ni43MTQtLjQwNTggMS4wNTgyLS4zMDgyLjcxNC0uNjczIDEuNDI4MS0xLjEwNDUgMi4wOTU5LS4xMzg3LjI0NjYtLjMwMzEuNTA4Ni0uNDY3NS43NTUyLS4xNzk4LjI2MTktLjM2NDcuNTA4NS0uNTI5MS43NS0uMjI2LjMwODItLjQ2NzQuNjMxOC0uNzE0LjkxOTUtLjIyMDkuMzAzMS0uNDQ2OS42MDYyLS42OTM1Ljg3MzMtLjM0NDIuNDA1OC0uNjczLjc5MTEtMS4wMTcyIDEuMTYxLS4yMDU0LjI0MTQtLjQyNjMuNDg4LS42NTI0LjcwODktLjIyMDguMjQ2NS0uNDQ2OS40Njc0LS42NTI0LjY3MjktLjM0NDEuMzQ0Mi0uNjMxOC42MTEzLS44NzMzLjgzMjJsLS41NjUuNTE4OWMtLjA4MjIuMDcxOS0uMTkwMS4xMTMtLjMwMzEuMTEzaC00LjM3Njh2NS42MTQ4aDUuNTA2OWMxLjIzMjkgMCAyLjQwNDItLjQzNjcgMy4zNDk0LTEuMjM4MS4zMjM2LS4yODI1IDEuNzM2My0xLjUwNTEgMy40MDU4LTMuMzQ5My4wNTY1LS4wNjE3LjEyODUtLjEwNzkuMjEwNy0uMTI4NGwxNS4yMTA3LTQuMzk3M2MuMjgyNi0uMDgyMi41NzAyLjEzMzUuNTcwMi40MzE1eiIvPgogIDwvZz4KPC9zdmc+';
22405
+
22406
+ var EnterNFTDataForOpenSeaDialog = (function (props) {
22407
+ var _Blockchain$findByNam, _selection$blockchain3, _selection$collection3, _Blockchain$findByNam2, _selection$blockchain4, _selection$collection4;
22408
+ var _useContext = useContext(NavigateStackContext),
22409
+ navigate = _useContext.navigate;
22410
+ var _useContext2 = useContext(SelectionContext),
22411
+ selection = _useContext2.selection,
22412
+ setSelection = _useContext2.setSelection;
22413
+ var _useState = useState(''),
22414
+ _useState2 = _slicedToArray(_useState, 2),
22415
+ id = _useState2[0],
22416
+ setId = _useState2[1];
22417
+ var _useState3 = useState(''),
22418
+ _useState4 = _slicedToArray(_useState3, 2),
22419
+ image = _useState4[0],
22420
+ setImage = _useState4[1];
22421
+ var _useState5 = useState(''),
22422
+ _useState6 = _slicedToArray(_useState5, 2),
22423
+ link = _useState6[0],
22424
+ setLink = _useState6[1];
22425
+ var _useState7 = useState(''),
22426
+ _useState8 = _slicedToArray(_useState7, 2),
22427
+ name = _useState8[0],
22428
+ setName = _useState8[1];
22429
+ var _useState9 = useState(false),
22430
+ _useState10 = _slicedToArray(_useState9, 2),
22431
+ idRequired = _useState10[0],
22432
+ setIdRequired = _useState10[1];
22433
+ var confirm = function confirm() {
22434
+ var _selection$blockchain, _selection$collection;
22435
+ var blockchain = (selection === null || selection === void 0 ? void 0 : (_selection$blockchain = selection.blockchain) === null || _selection$blockchain === void 0 ? void 0 : _selection$blockchain.name) || (selection === null || selection === void 0 ? void 0 : selection.blockchain) || (selection === null || selection === void 0 ? void 0 : (_selection$collection = selection.collection) === null || _selection$collection === void 0 ? void 0 : _selection$collection.blockchain);
22436
+ setSelection(Object.assign(props.selection, {
22437
+ nft: {
22438
+ blockchain: blockchain,
22439
+ id: id,
22440
+ image: image,
22441
+ name: name,
22442
+ link: link,
22443
+ address: selection.nft.address,
22444
+ type: idRequired ? '1155' : '721'
22445
+ }
22446
+ }));
22447
+ navigate('ConfirmNFTSelection');
22448
+ };
22449
+ useEffect(function () {
22450
+ var _selection$blockchain2, _selection$collection2;
22451
+ var blockchain = (selection === null || selection === void 0 ? void 0 : (_selection$blockchain2 = selection.blockchain) === null || _selection$blockchain2 === void 0 ? void 0 : _selection$blockchain2.name) || (selection === null || selection === void 0 ? void 0 : selection.blockchain) || (selection === null || selection === void 0 ? void 0 : (_selection$collection2 = selection.collection) === null || _selection$collection2 === void 0 ? void 0 : _selection$collection2.blockchain);
22452
+ var checkForIdRequired = /*#__PURE__*/function () {
22453
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
22454
+ var balanceWithId;
22455
+ return regenerator.wrap(function _callee$(_context) {
22456
+ while (1) switch (_context.prev = _context.next) {
22457
+ case 0:
22458
+ if (!blockchain) {
22459
+ _context.next = 10;
22460
+ break;
22461
+ }
22462
+ _context.prev = 1;
22463
+ _context.next = 4;
22464
+ return request({
22465
+ blockchain: blockchain,
22466
+ address: selection.nft.address,
22467
+ method: 'balanceOf',
22468
+ api: Token[blockchain][1155],
22469
+ params: ['0x4e260bB2b25EC6F3A59B478fCDe5eD5B8D783B02', '1']
22470
+ });
22471
+ case 4:
22472
+ balanceWithId = _context.sent;
22473
+ _context.next = 9;
22474
+ break;
22475
+ case 7:
22476
+ _context.prev = 7;
22477
+ _context.t0 = _context["catch"](1);
22478
+ case 9:
22479
+ if (balanceWithId) {
22480
+ setIdRequired(true);
22481
+ }
22482
+ case 10:
22483
+ case "end":
22484
+ return _context.stop();
22485
+ }
22486
+ }, _callee, null, [[1, 7]]);
22487
+ }));
22488
+ return function checkForIdRequired() {
22489
+ return _ref.apply(this, arguments);
22490
+ };
22491
+ }();
22492
+ checkForIdRequired();
22493
+ }, [selection.blockchain]);
22494
+ return /*#__PURE__*/React.createElement(Dialog$1, {
22495
+ stacked: true,
22496
+ header: /*#__PURE__*/React.createElement("div", {
22497
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
22498
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
22499
+ className: "LineHeightL FontSizeL PaddingTopXS"
22500
+ }, /*#__PURE__*/React.createElement("span", {
22501
+ className: "CardImage small"
22502
+ }, /*#__PURE__*/React.createElement("img", {
22503
+ className: "transparent",
22504
+ src: OpenSea
22505
+ }))))),
22506
+ body: /*#__PURE__*/React.createElement("div", {
22507
+ className: "PaddingLeftM PaddingRightM"
22508
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
22509
+ className: "PaddingTopXS TextLeft"
22510
+ }, /*#__PURE__*/React.createElement("label", {
22511
+ htmlFor: "DePayWidgetsEnterNFTBlockchain"
22512
+ }, /*#__PURE__*/React.createElement("span", {
22513
+ className: "FontSizeM Opacity05"
22514
+ }, "Select Blockchain"))), /*#__PURE__*/React.createElement("div", {
22515
+ className: "PaddingTopXS PaddingBottomS"
22516
+ }, /*#__PURE__*/React.createElement("div", {
22517
+ className: "Card small",
22518
+ onClick: function onClick() {
22519
+ return navigate('SelectBlockchain');
22520
+ }
22521
+ }, /*#__PURE__*/React.createElement("div", {
22522
+ className: "CardImage small"
22523
+ }, /*#__PURE__*/React.createElement("img", {
22524
+ className: "transparent",
22525
+ src: (_Blockchain$findByNam = Blockchain.findByName((selection === null || selection === void 0 ? void 0 : (_selection$blockchain3 = selection.blockchain) === null || _selection$blockchain3 === void 0 ? void 0 : _selection$blockchain3.name) || (selection === null || selection === void 0 ? void 0 : selection.blockchain) || (selection === null || selection === void 0 ? void 0 : (_selection$collection3 = selection.collection) === null || _selection$collection3 === void 0 ? void 0 : _selection$collection3.blockchain))) === null || _Blockchain$findByNam === void 0 ? void 0 : _Blockchain$findByNam.logo
22526
+ })), /*#__PURE__*/React.createElement("div", {
22527
+ className: "CardBody FontSizeM"
22528
+ }, (_Blockchain$findByNam2 = Blockchain.findByName((selection === null || selection === void 0 ? void 0 : (_selection$blockchain4 = selection.blockchain) === null || _selection$blockchain4 === void 0 ? void 0 : _selection$blockchain4.name) || (selection === null || selection === void 0 ? void 0 : selection.blockchain) || (selection === null || selection === void 0 ? void 0 : (_selection$collection4 = selection.collection) === null || _selection$collection4 === void 0 ? void 0 : _selection$collection4.blockchain))) === null || _Blockchain$findByNam2 === void 0 ? void 0 : _Blockchain$findByNam2.label), /*#__PURE__*/React.createElement("div", {
22529
+ className: "CardAction"
22530
+ }, /*#__PURE__*/React.createElement(ChevronRight, null))))), idRequired && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
22531
+ className: "PaddingTopXS TextLeft"
22532
+ }, /*#__PURE__*/React.createElement("label", {
22533
+ htmlFor: "DePayWidgetsEnterNFTTokenId"
22534
+ }, /*#__PURE__*/React.createElement("span", {
22535
+ className: "FontSizeM Opacity05"
22536
+ }, "Enter Token ID"))), /*#__PURE__*/React.createElement("div", {
22537
+ className: "PaddingTopXS PaddingBottomS TextLeft"
22538
+ }, /*#__PURE__*/React.createElement("input", {
22539
+ id: "DePayWidgetsEnterNFTTokenId",
22540
+ name: "DePayWidgetsEnterNFTTokenId",
22541
+ value: id,
22542
+ onChange: function onChange(event) {
22543
+ return setId(event.target.value);
22544
+ },
22545
+ className: "Search"
22546
+ }))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
22547
+ className: "PaddingTopXS TextLeft"
22548
+ }, /*#__PURE__*/React.createElement("label", {
22549
+ htmlFor: "DePayWidgetsEnterNFTName"
22550
+ }, /*#__PURE__*/React.createElement("span", {
22551
+ className: "FontSizeM Opacity05"
22552
+ }, "Enter NFT Name"))), /*#__PURE__*/React.createElement("div", {
22553
+ className: "PaddingTopXS PaddingBottomS TextLeft"
22554
+ }, /*#__PURE__*/React.createElement("input", {
22555
+ id: "DePayWidgetsEnterNFTName",
22556
+ name: "DePayWidgetsEnterNFTName",
22557
+ value: name,
22558
+ onChange: function onChange(event) {
22559
+ return setName(event.target.value);
22560
+ },
22561
+ placeholder: "CryptoPunks",
22562
+ className: "Search"
22563
+ }))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
22564
+ className: "PaddingTopXS TextLeft"
22565
+ }, /*#__PURE__*/React.createElement("label", {
22566
+ htmlFor: "DePayWidgetsEnterNFTImage"
22567
+ }, /*#__PURE__*/React.createElement("span", {
22568
+ className: "FontSizeM Opacity05"
22569
+ }, "Enter Image URL"))), /*#__PURE__*/React.createElement("div", {
22570
+ className: "PaddingTopXS PaddingBottomS TextLeft"
22571
+ }, /*#__PURE__*/React.createElement("input", {
22572
+ id: "DePayWidgetsEnterNFTImage",
22573
+ name: "DePayWidgetsEnterNFTImage",
22574
+ value: image,
22575
+ onChange: function onChange(event) {
22576
+ return setImage(event.target.value);
22577
+ },
22578
+ placeholder: "https://i.seadn.io/gae/BdxvLseXcfl57BiuQcQYdJ64v-aI8din7WPk0Pgo3qQFhAUH-B6i-dCqqc_mCkRIzULmwzwecnohLhrcH8A9mpWIZqA7ygc52Sr81hE?auto=format&w=128",
22579
+ className: "Search"
22580
+ }))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
22581
+ className: "PaddingTopXS TextLeft"
22582
+ }, /*#__PURE__*/React.createElement("label", {
22583
+ htmlFor: "DePayWidgetsEnterNFTLink"
22584
+ }, /*#__PURE__*/React.createElement("span", {
22585
+ className: "FontSizeM Opacity05"
22586
+ }, "Enter Link URL"))), /*#__PURE__*/React.createElement("div", {
22587
+ className: "PaddingTopXS PaddingBottomS TextLeft"
22588
+ }, /*#__PURE__*/React.createElement("input", {
22589
+ id: "DePayWidgetsEnterNFTLink",
22590
+ name: "DePayWidgetsEnterNFTLink",
22591
+ value: link,
22592
+ onChange: function onChange(event) {
22593
+ return setLink(event.target.value);
22594
+ },
22595
+ placeholder: "https://opensea.io/collection/cryptopunks",
22596
+ className: "Search"
22597
+ })))),
22598
+ footer: /*#__PURE__*/React.createElement("div", {
22599
+ className: "PaddingTopS PaddingRightM PaddingLeftM PaddingBottomM"
22600
+ }, /*#__PURE__*/React.createElement("button", {
22601
+ className: ['ButtonPrimary', !image.length || !link.length || !name.length || idRequired && !id.length ? 'disabled' : ''].join(' '),
22602
+ onClick: function onClick() {
22603
+ if (!image.length || !link.length || !name.length || idRequired && !id.length) {
22604
+ return;
22605
+ }
22606
+ confirm();
22607
+ }
22608
+ }, "Continue"))
22609
+ });
22610
+ });
22611
+
22401
22612
  var SelectBlockchainDialog = (function (props) {
22402
22613
  var _useContext = useContext(SelectionContext),
22403
22614
  setSelection = _useContext.setSelection;
22404
22615
  var _useContext2 = useContext(NavigateStackContext),
22405
22616
  navigate = _useContext2.navigate;
22406
- var stacked = Object.keys(props.selection).length > 1;
22617
+ var stacked = props.stacked || Object.keys(props.selection).length > 1;
22407
22618
  var blockchains = [Blockchain.findByName('ethereum'), Blockchain.findByName('bsc'), Blockchain.findByName('polygon')];
22408
22619
  var selectBlockchain = function selectBlockchain(blockchain) {
22409
22620
  window._depay_token_selection_selected_blockchain = blockchain.name;
22410
22621
  setSelection(Object.assign(props.selection, {
22411
22622
  blockchain: blockchain
22412
22623
  }));
22413
- if (stacked) {
22624
+ if (stacked && props.navigateBack !== false) {
22414
22625
  navigate('back');
22415
22626
  } else {
22416
22627
  props.resolve(blockchain);
@@ -22436,7 +22647,7 @@ var SelectBlockchainDialog = (function (props) {
22436
22647
  });
22437
22648
  return /*#__PURE__*/React.createElement(Dialog$1, {
22438
22649
  header: /*#__PURE__*/React.createElement("div", {
22439
- className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
22650
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
22440
22651
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", {
22441
22652
  className: "LineHeightL FontSizeL"
22442
22653
  }, "Select Blockchain"))),
@@ -22451,115 +22662,746 @@ var SelectBlockchainDialog = (function (props) {
22451
22662
  });
22452
22663
  });
22453
22664
 
22454
- var SelectTokenDialog = (function (props) {
22665
+ var BLOCKCHAIN_NAMES$1 = {
22666
+ 'ethereum': 'ethereum',
22667
+ 'matic': 'polygon,'
22668
+ };
22669
+ var SelectNFTContractOnOpenSeaDialog = (function (props) {
22455
22670
  var _useContext = useContext(NavigateStackContext),
22456
22671
  navigate = _useContext.navigate;
22457
- var _useContext2 = useContext(ClosableContext),
22458
- setOpen = _useContext2.setOpen;
22459
- var _useContext3 = useContext(SelectionContext),
22460
- setSelection = _useContext3.setSelection;
22461
22672
  var _useState = useState(''),
22462
22673
  _useState2 = _slicedToArray(_useState, 2),
22463
22674
  searchTerm = _useState2[0],
22464
22675
  setSearchTerm = _useState2[1];
22465
- var _useState3 = useState(),
22676
+ var _useState3 = useState(false),
22466
22677
  _useState4 = _slicedToArray(_useState3, 2),
22467
- blockchain = _useState4[0],
22468
- setBlockchain = _useState4[1];
22469
- var _useState5 = useState(false),
22678
+ loading = _useState4[0],
22679
+ setLoading = _useState4[1];
22680
+ var _useState5 = useState([]),
22470
22681
  _useState6 = _slicedToArray(_useState5, 2),
22471
- showAddToken = _useState6[0],
22472
- setShowAddToken = _useState6[1];
22473
- var _useState7 = useState([]),
22474
- _useState8 = _slicedToArray(_useState7, 2),
22475
- tokens = _useState8[0],
22476
- setTokens = _useState8[1];
22477
- var _useState9 = useState(),
22478
- _useState10 = _slicedToArray(_useState9, 2);
22479
- _useState10[0];
22480
- _useState10[1];
22481
- var searchElement = useRef();
22482
- var wallet = getWallets()[0];
22483
- var startWithBlockchain = function startWithBlockchain(name) {
22484
- var blockchain = Blockchain.findByName(name);
22485
- setBlockchain(blockchain);
22682
+ searchResults = _useState6[0],
22683
+ setSearchResults = _useState6[1];
22684
+ var _useContext2 = useContext(SelectionContext),
22685
+ setSelection = _useContext2.setSelection;
22686
+ var select = function select(nft) {
22486
22687
  setSelection(Object.assign(props.selection, {
22487
- blockchain: blockchain,
22488
- token: undefined
22688
+ nft: nft
22489
22689
  }));
22490
- setTokens(blockchain.tokens);
22690
+ navigate('ConfirmNFTSelection');
22491
22691
  };
22492
- useEffect(function () {
22493
- if (wallet) {
22494
- wallet.connectedTo().then(function (name) {
22495
- var blockchain = Blockchain.findByName(name);
22496
- if (window._depay_token_selection_selected_blockchain) {
22497
- startWithBlockchain(window._depay_token_selection_selected_blockchain);
22498
- } else if (name && name.length && blockchain && blockchain.tokens && blockchain.tokens.length) {
22499
- startWithBlockchain(name);
22500
- } else {
22501
- startWithBlockchain('ethereum');
22692
+ var dataForCollectionViaAsset = function dataForCollectionViaAsset(address) {
22693
+ return new Promise(function (resolve, reject) {
22694
+ fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(address)).then(function (response) {
22695
+ if (response.status != 200) {
22696
+ return resolve();
22502
22697
  }
22503
- });
22504
- } else {
22505
- startWithBlockchain('ethereum');
22506
- }
22507
- }, []);
22508
- useEffect(function () {
22509
- if (props.selection.blockchain) {
22510
- setBlockchain(props.selection.blockchain);
22511
- setTokens(props.selection.blockchain.tokens);
22512
- if (searchElement.current) {
22513
- searchElement.current.value = '';
22514
- searchElement.current.focus();
22515
- }
22516
- }
22517
- }, [props.selection, props.selection.blockchain]);
22518
- var onClickChangeBlockchain = function onClickChangeBlockchain() {
22519
- navigate('SelectBlockchain');
22520
- };
22521
- var onClickAddToken = function onClickAddToken() {
22522
- setShowAddToken(true);
22523
- if (searchElement.current) {
22524
- searchElement.current.value = '';
22525
- searchElement.current.focus();
22526
- }
22527
- };
22528
- var searchTokens = useCallback(lodash.debounce(function (term, blockchainName) {
22529
- fetch("https://public.depay.com/tokens/search?blockchain=".concat(blockchainName, "&term=").concat(term)).then(function (response) {
22530
- if (response.status == 200) {
22531
- response.json().then(function (tokens) {
22532
- setTokens(tokens);
22698
+ response.json().then(function (data) {
22699
+ return resolve(data.assets ? data.assets[0] : undefined);
22533
22700
  })["catch"](function () {
22534
- return reject;
22701
+ return resolve();
22535
22702
  });
22536
- } else {
22537
- reject();
22703
+ })["catch"](function () {
22704
+ return resolve();
22705
+ });
22706
+ });
22707
+ };
22708
+ var searchContract = useCallback(lodash.debounce(function (address) {
22709
+ fetch("https://api.opensea.io/api/v1/asset_contract/".concat(address)).then(function (response) {
22710
+ if (response.status != 200) {
22711
+ setLoading(false);
22712
+ return;
22538
22713
  }
22714
+ response.json().then( /*#__PURE__*/function () {
22715
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(data) {
22716
+ var result, blockchain, holders, additionalData, _additionalData$colle, _additionalData$colle2, _additionalData$colle3, _additionalData$colle4, _additionalData, _blockchain;
22717
+ return regenerator.wrap(function _callee$(_context) {
22718
+ while (1) switch (_context.prev = _context.next) {
22719
+ case 0:
22720
+ if (!(data.asset_contract_type == 'non-fungible')) {
22721
+ _context.next = 8;
22722
+ break;
22723
+ }
22724
+ _context.next = 3;
22725
+ return dataForCollectionViaAsset(address);
22726
+ case 3:
22727
+ additionalData = _context.sent;
22728
+ if (additionalData) {
22729
+ blockchain = additionalData !== null && additionalData !== void 0 && additionalData.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//) ? BLOCKCHAIN_NAMES$1[additionalData.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]] : undefined;
22730
+ holders = additionalData === null || additionalData === void 0 ? void 0 : (_additionalData$colle = additionalData.collection) === null || _additionalData$colle === void 0 ? void 0 : (_additionalData$colle2 = _additionalData$colle.stats) === null || _additionalData$colle2 === void 0 ? void 0 : _additionalData$colle2.num_owners;
22731
+ }
22732
+ result = {
22733
+ blockchain: blockchain,
22734
+ holders: holders,
22735
+ createdAt: data.created_date,
22736
+ image: data.image_url,
22737
+ name: data.collection ? data.collection.name : undefined,
22738
+ link: data.collection ? "https://opensea.io/collection/".concat(data.collection.slug) : undefined,
22739
+ address: ethers.utils.getAddress(data.address),
22740
+ type: '721'
22741
+ };
22742
+ _context.next = 22;
22743
+ break;
22744
+ case 8:
22745
+ if (!(data.asset_contract_type == 'semi-fungible')) {
22746
+ _context.next = 21;
22747
+ break;
22748
+ }
22749
+ if (!(data.symbol == 'OPENSTORE' && data.name == 'OpenSea Collection')) {
22750
+ _context.next = 13;
22751
+ break;
22752
+ }
22753
+ result = {
22754
+ id: null,
22755
+ address: ethers.utils.getAddress(data.address),
22756
+ type: '1155'
22757
+ };
22758
+ _context.next = 19;
22759
+ break;
22760
+ case 13:
22761
+ _context.next = 15;
22762
+ return dataForCollectionViaAsset(address);
22763
+ case 15:
22764
+ _additionalData = _context.sent;
22765
+ _blockchain = _additionalData !== null && _additionalData !== void 0 && _additionalData.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//) ? BLOCKCHAIN_NAMES$1[_additionalData.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]] : undefined;
22766
+ _additionalData === null || _additionalData === void 0 ? void 0 : (_additionalData$colle3 = _additionalData.collection) === null || _additionalData$colle3 === void 0 ? void 0 : (_additionalData$colle4 = _additionalData$colle3.stats) === null || _additionalData$colle4 === void 0 ? void 0 : _additionalData$colle4.num_owners;
22767
+ result = {
22768
+ blockchain: _blockchain,
22769
+ id: null,
22770
+ createdAt: data.created_date,
22771
+ image: data.image_url,
22772
+ name: data.collection ? data.collection.name : undefined,
22773
+ link: data.collection ? "https://opensea.io/collection/".concat(data.collection.slug) : undefined,
22774
+ address: ethers.utils.getAddress(data.address),
22775
+ type: '1155'
22776
+ };
22777
+ case 19:
22778
+ _context.next = 22;
22779
+ break;
22780
+ case 21:
22781
+ // like matic/polygon (which is not yet supported by opensea apis)
22782
+ if (data.address) {
22783
+ result = {
22784
+ address: ethers.utils.getAddress(data.address)
22785
+ };
22786
+ }
22787
+ case 22:
22788
+ if (result) {
22789
+ if (result.type == undefined) {
22790
+ setSelection(Object.assign(props.selection, {
22791
+ nft: result,
22792
+ blockchain: result.blockchain || 'polygon'
22793
+ }));
22794
+ navigate('EnterNFTDataForOpenSea');
22795
+ setSearchTerm('');
22796
+ } else if (result.id !== null) {
22797
+ select(result);
22798
+ setSearchResults([result]);
22799
+ navigate('ConfirmNFTSelection');
22800
+ } else {
22801
+ setSelection(Object.assign(props.selection, {
22802
+ nft: result
22803
+ }));
22804
+ navigate('SelectNFTIdOnOpenSea');
22805
+ setSearchTerm('');
22806
+ }
22807
+ }
22808
+ setLoading(false);
22809
+ case 24:
22810
+ case "end":
22811
+ return _context.stop();
22812
+ }
22813
+ }, _callee);
22814
+ }));
22815
+ return function (_x) {
22816
+ return _ref.apply(this, arguments);
22817
+ };
22818
+ }())["catch"](function () {
22819
+ setLoading(false);
22820
+ });
22539
22821
  })["catch"](function () {
22540
- return reject;
22822
+ setLoading(false);
22541
22823
  });
22542
- }, 300), []);
22543
- var onChangeSearch = function onChangeSearch(event) {
22544
- setShowAddToken(false);
22824
+ }, 500), []);
22825
+ var onChangeTermSearch = function onChangeTermSearch(event) {
22826
+ setLoading(true);
22827
+ setSearchResults([]);
22545
22828
  var term = event.target.value;
22546
22829
  setSearchTerm(term);
22547
- if (term.match(/^0x/)) {
22548
- setTokens([]);
22549
- var token;
22550
- try {
22551
- token = new Token({
22552
- blockchain: blockchain.name,
22553
- address: term
22554
- });
22555
- } catch (_unused) {}
22556
- if (token == undefined) {
22557
- return;
22830
+ if (term && term.length) {
22831
+ searchContract(term);
22832
+ } else {
22833
+ setLoading(false);
22834
+ }
22835
+ };
22836
+ var elements;
22837
+ if (loading) {
22838
+ elements = [/*#__PURE__*/React.createElement("div", {
22839
+ className: "SkeletonWrapper",
22840
+ key: 'loading'
22841
+ }, /*#__PURE__*/React.createElement("div", {
22842
+ className: "Skeleton",
22843
+ style: {
22844
+ height: '69px',
22845
+ width: '100%'
22558
22846
  }
22559
- Promise.all([token.name(), token.symbol(), token.decimals(), fetch("https://public.depay.com/tokens/routable/".concat(blockchain.name, "/").concat(term)).then(function (response) {
22560
- if (response.status == 200) {
22561
- return response.json();
22562
- }
22847
+ }, /*#__PURE__*/React.createElement("div", {
22848
+ className: "SkeletonBackground"
22849
+ })))];
22850
+ } else {
22851
+ elements = searchResults.map(function (result, index) {
22852
+ return /*#__PURE__*/React.createElement("div", {
22853
+ key: index,
22854
+ className: "Card Row",
22855
+ onClick: function onClick() {
22856
+ return select(result);
22857
+ }
22858
+ }, /*#__PURE__*/React.createElement("div", {
22859
+ className: "CardImage"
22860
+ }, /*#__PURE__*/React.createElement("img", {
22861
+ src: result.image
22862
+ })), /*#__PURE__*/React.createElement("div", {
22863
+ className: "CardBody"
22864
+ }, /*#__PURE__*/React.createElement("div", {
22865
+ className: "CardTokenFullName",
22866
+ title: result.name
22867
+ }, /*#__PURE__*/React.createElement("span", {
22868
+ className: "CardText"
22869
+ }, result.name))));
22870
+ });
22871
+ }
22872
+ return /*#__PURE__*/React.createElement(Dialog$1, {
22873
+ stacked: true,
22874
+ header: /*#__PURE__*/React.createElement("div", {
22875
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
22876
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
22877
+ className: "LineHeightL FontSizeL PaddingTopXS"
22878
+ }, /*#__PURE__*/React.createElement("span", {
22879
+ className: "CardImage small"
22880
+ }, /*#__PURE__*/React.createElement("img", {
22881
+ className: "transparent",
22882
+ src: OpenSea
22883
+ })))), /*#__PURE__*/React.createElement("div", {
22884
+ className: "PaddingTopS PaddingBottomXS TextLeft"
22885
+ }, /*#__PURE__*/React.createElement("label", {
22886
+ htmlFor: "DePayWidgetsEnterContractAddress"
22887
+ }, /*#__PURE__*/React.createElement("span", {
22888
+ className: "FontSizeM Opacity05"
22889
+ }, "Enter contract address"))), /*#__PURE__*/React.createElement("div", {
22890
+ className: "PaddingTopXS PaddingBottomS TextLeft"
22891
+ }, /*#__PURE__*/React.createElement("input", {
22892
+ id: "DePayWidgetsEnterContractAddress",
22893
+ name: "DePayWidgetsEnterContractAddress",
22894
+ value: searchTerm,
22895
+ onChange: onChangeTermSearch,
22896
+ className: "Search",
22897
+ autoFocus: true,
22898
+ placeholder: "0x495f947276749ce646f68ac8c248420045cb7b5e"
22899
+ }))),
22900
+ bodyClassName: "ScrollHeight",
22901
+ body: /*#__PURE__*/React.createElement("div", null, elements)
22902
+ });
22903
+ });
22904
+
22905
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22906
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22907
+ var BLOCKCHAIN_NAMES = {
22908
+ 'ethereum': 'ethereum',
22909
+ 'matic': 'polygon,'
22910
+ };
22911
+ var SelectNFTIdOnOpenSeaDialog = (function (props) {
22912
+ var _useContext = useContext(NavigateStackContext),
22913
+ navigate = _useContext.navigate;
22914
+ var _useState = useState(''),
22915
+ _useState2 = _slicedToArray(_useState, 2),
22916
+ searchTerm = _useState2[0],
22917
+ setSearchTerm = _useState2[1];
22918
+ var _useState3 = useState(false),
22919
+ _useState4 = _slicedToArray(_useState3, 2),
22920
+ loading = _useState4[0],
22921
+ setLoading = _useState4[1];
22922
+ var _useState5 = useState([]),
22923
+ _useState6 = _slicedToArray(_useState5, 2),
22924
+ searchResults = _useState6[0],
22925
+ setSearchResults = _useState6[1];
22926
+ var _useContext2 = useContext(SelectionContext),
22927
+ selection = _useContext2.selection,
22928
+ setSelection = _useContext2.setSelection;
22929
+ var select = function select(nft) {
22930
+ setSelection(Object.assign(props.selection, {
22931
+ nft: nft
22932
+ }));
22933
+ navigate('ConfirmNFTSelection');
22934
+ };
22935
+ var searchForCollectionById = useCallback(lodash.debounce(function (id) {
22936
+ fetch("https://api.opensea.io/api/v1/asset/".concat(selection.nft.address, "/").concat(id)).then(function (response) {
22937
+ if (response.status != 200) {
22938
+ return resolve();
22939
+ }
22940
+ response.json().then( /*#__PURE__*/function () {
22941
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(data) {
22942
+ var blockchain, result;
22943
+ return regenerator.wrap(function _callee$(_context) {
22944
+ while (1) switch (_context.prev = _context.next) {
22945
+ case 0:
22946
+ blockchain = data !== null && data !== void 0 && data.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//) ? BLOCKCHAIN_NAMES[data.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]] : undefined;
22947
+ result = _objectSpread(_objectSpread({}, selection.nft), {}, {
22948
+ blockchain: blockchain,
22949
+ id: data.token_id,
22950
+ image: data.image_url,
22951
+ name: data.name,
22952
+ link: data.permalink
22953
+ });
22954
+ setSearchResults([result]);
22955
+ select(result);
22956
+ setLoading(false);
22957
+ case 5:
22958
+ case "end":
22959
+ return _context.stop();
22960
+ }
22961
+ }, _callee);
22962
+ }));
22963
+ return function (_x) {
22964
+ return _ref.apply(this, arguments);
22965
+ };
22966
+ }())["catch"](function () {
22967
+ setLoading(false);
22968
+ });
22969
+ })["catch"](function () {
22970
+ setLoading(false);
22971
+ });
22972
+ }, 500), []);
22973
+ var onChangeTermSearch = function onChangeTermSearch(event) {
22974
+ setLoading(true);
22975
+ setSearchResults([]);
22976
+ var term = event.target.value;
22977
+ setSearchTerm(term);
22978
+ if (term && term.length) {
22979
+ searchForCollectionById(term);
22980
+ } else {
22981
+ setLoading(false);
22982
+ }
22983
+ };
22984
+ useEffect(function () {
22985
+ fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(selection.nft.address)).then(function (response) {
22986
+ if (response.status != 200) {
22987
+ return resolve();
22988
+ }
22989
+ response.json().then(function (data) {
22990
+ if (data.assets.length <= 6) {
22991
+ var results = data.assets.map(function (data) {
22992
+ var blockchain = data !== null && data !== void 0 && data.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//) ? BLOCKCHAIN_NAMES[data.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]] : undefined;
22993
+ return _objectSpread(_objectSpread({}, selection.nft), {}, {
22994
+ blockchain: blockchain,
22995
+ id: data.token_id,
22996
+ image: data.image_url,
22997
+ name: data.name,
22998
+ link: data.permalink
22999
+ });
23000
+ });
23001
+ setSearchResults(results);
23002
+ if (results.length == 1) {
23003
+ select(results[0]);
23004
+ }
23005
+ }
23006
+ });
23007
+ });
23008
+ }, []);
23009
+ var elements;
23010
+ if (loading) {
23011
+ elements = [/*#__PURE__*/React.createElement("div", {
23012
+ className: "SkeletonWrapper",
23013
+ key: 'loading'
23014
+ }, /*#__PURE__*/React.createElement("div", {
23015
+ className: "Skeleton",
23016
+ style: {
23017
+ height: '69px',
23018
+ width: '100%'
23019
+ }
23020
+ }, /*#__PURE__*/React.createElement("div", {
23021
+ className: "SkeletonBackground"
23022
+ })))];
23023
+ } else {
23024
+ elements = searchResults.map(function (result, index) {
23025
+ return /*#__PURE__*/React.createElement("div", {
23026
+ key: index,
23027
+ className: "Card Row",
23028
+ onClick: function onClick() {
23029
+ return select(result);
23030
+ }
23031
+ }, /*#__PURE__*/React.createElement("div", {
23032
+ className: "CardImage"
23033
+ }, /*#__PURE__*/React.createElement("img", {
23034
+ src: result.image
23035
+ })), /*#__PURE__*/React.createElement("div", {
23036
+ className: "CardBody"
23037
+ }, /*#__PURE__*/React.createElement("div", {
23038
+ className: "CardTokenFullName",
23039
+ title: result.name
23040
+ }, /*#__PURE__*/React.createElement("span", {
23041
+ className: "CardText"
23042
+ }, result.name))));
23043
+ });
23044
+ }
23045
+ return /*#__PURE__*/React.createElement(Dialog$1, {
23046
+ stacked: true,
23047
+ header: /*#__PURE__*/React.createElement("div", {
23048
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
23049
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
23050
+ className: "LineHeightL FontSizeL PaddingTopXS"
23051
+ }, /*#__PURE__*/React.createElement("span", {
23052
+ className: "CardImage small"
23053
+ }, /*#__PURE__*/React.createElement("img", {
23054
+ className: "transparent",
23055
+ src: OpenSea
23056
+ })))), /*#__PURE__*/React.createElement("div", {
23057
+ className: "PaddingTopS PaddingBottomXS TextLeft"
23058
+ }, /*#__PURE__*/React.createElement("label", {
23059
+ htmlFor: "DePayWidgetsEnterCollectionId"
23060
+ }, /*#__PURE__*/React.createElement("span", {
23061
+ className: "FontSizeM Opacity05"
23062
+ }, "Enter Token ID"))), /*#__PURE__*/React.createElement("div", {
23063
+ className: "PaddingTopXS PaddingBottomS TextLeft"
23064
+ }, /*#__PURE__*/React.createElement("input", {
23065
+ id: "DePayWidgetsEnterCollectionId",
23066
+ name: "DePayWidgetsEnterCollectionId",
23067
+ value: searchTerm,
23068
+ onChange: onChangeTermSearch,
23069
+ className: "Search",
23070
+ placeholder: "35347623114821255323888368639026081793120226253597860997754787918389704654849"
23071
+ }))),
23072
+ bodyClassName: "ScrollHeight",
23073
+ body: /*#__PURE__*/React.createElement("div", null, elements)
23074
+ });
23075
+ });
23076
+
23077
+ var SelectNFTPlatformDialog = (function (props) {
23078
+ var _useContext = useContext(NavigateStackContext),
23079
+ navigate = _useContext.navigate;
23080
+ var select = function select(marketplace) {
23081
+ navigate(marketplace.navigate);
23082
+ };
23083
+ var elements = [{
23084
+ name: 'OpenSea',
23085
+ navigate: 'SelectNFTContractOnOpenSea',
23086
+ logo: OpenSea
23087
+ }].map(function (marketplace, index) {
23088
+ return /*#__PURE__*/React.createElement("div", {
23089
+ key: index,
23090
+ className: "Card Row",
23091
+ onClick: function onClick() {
23092
+ return select(marketplace);
23093
+ }
23094
+ }, /*#__PURE__*/React.createElement("div", {
23095
+ className: "CardImage"
23096
+ }, /*#__PURE__*/React.createElement("img", {
23097
+ src: marketplace.logo
23098
+ })), /*#__PURE__*/React.createElement("div", {
23099
+ className: "CardBody"
23100
+ }, /*#__PURE__*/React.createElement("div", {
23101
+ className: "CardTokenSymbol",
23102
+ title: marketplace.name
23103
+ }, /*#__PURE__*/React.createElement("span", {
23104
+ className: "CardText"
23105
+ }, marketplace.name)), /*#__PURE__*/React.createElement("div", {
23106
+ className: "CardTokenName PaddingTopXS"
23107
+ }, /*#__PURE__*/React.createElement(ChevronRight, null))));
23108
+ });
23109
+ return /*#__PURE__*/React.createElement(Dialog$1, {
23110
+ header: /*#__PURE__*/React.createElement("div", {
23111
+ className: "PaddingTopS PaddingLeftM PaddingRightM TextLeft"
23112
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", {
23113
+ className: "LineHeightL FontSizeL"
23114
+ }, "Select NFT")), /*#__PURE__*/React.createElement("div", {
23115
+ className: "PaddingTopXS PaddingBottomS"
23116
+ }, /*#__PURE__*/React.createElement("span", {
23117
+ className: "FontSizeM Opacity05"
23118
+ }, "Choose which marketplace"))),
23119
+ bodyClassName: "ScrollHeight",
23120
+ body: /*#__PURE__*/React.createElement("div", {
23121
+ className: ""
23122
+ }, elements)
23123
+ });
23124
+ });
23125
+
23126
+ var SelectNFTStack = (function (props) {
23127
+ var _ref;
23128
+ var _useContext = useContext(ConfigurationContext),
23129
+ what = _useContext.what;
23130
+ var _useContext2 = useContext(ClosableContext),
23131
+ open = _useContext2.open,
23132
+ close = _useContext2.close;
23133
+ var _useContext3 = useContext(SelectionContext),
23134
+ selection = _useContext3.selection;
23135
+ _useContext3.setSelection;
23136
+ var _useState = useState(),
23137
+ _useState2 = _slicedToArray(_useState, 2);
23138
+ _useState2[0];
23139
+ var _setNavigator = _useState2[1];
23140
+ var start;
23141
+ switch (what) {
23142
+ default:
23143
+ start = 'SelectMarketplace';
23144
+ }
23145
+ return /*#__PURE__*/React.createElement(ReactDialogStack, {
23146
+ open: open,
23147
+ close: close,
23148
+ start: start,
23149
+ container: props.container,
23150
+ document: props.document,
23151
+ setNavigator: function setNavigator(navigator) {
23152
+ _setNavigator(navigator);
23153
+ },
23154
+ dialogs: (_ref = {
23155
+ SelectMarketplace: /*#__PURE__*/React.createElement(SelectNFTPlatformDialog, {
23156
+ selection: selection,
23157
+ resolve: props.resolve,
23158
+ unmount: props.unmount
23159
+ }),
23160
+ SelectNFTContractOnOpenSea: /*#__PURE__*/React.createElement(SelectNFTContractOnOpenSeaDialog, {
23161
+ selection: selection,
23162
+ resolve: props.resolve,
23163
+ unmount: props.unmount
23164
+ }),
23165
+ SelectNFTIdOnOpenSea: /*#__PURE__*/React.createElement(SelectNFTIdOnOpenSeaDialog, {
23166
+ selection: selection,
23167
+ resolve: props.resolve,
23168
+ unmount: props.unmount
23169
+ }),
23170
+ SelectBlockchain: /*#__PURE__*/React.createElement(SelectNFTIdOnOpenSeaDialog, {
23171
+ selection: selection,
23172
+ resolve: props.resolve,
23173
+ unmount: props.unmount
23174
+ }),
23175
+ EnterNFTDataForOpenSea: /*#__PURE__*/React.createElement(EnterNFTDataForOpenSeaDialog, {
23176
+ selection: selection,
23177
+ resolve: props.resolve,
23178
+ unmount: props.unmount
23179
+ })
23180
+ }, _defineProperty(_ref, "SelectBlockchain", /*#__PURE__*/React.createElement(SelectBlockchainDialog, {
23181
+ selection: selection,
23182
+ stacked: true,
23183
+ resolve: props.resolve,
23184
+ unmount: props.unmount
23185
+ })), _defineProperty(_ref, "ConfirmNFTSelection", /*#__PURE__*/React.createElement(ConfirmNFTSelectionDialog, {
23186
+ selection: selection,
23187
+ resolve: props.resolve,
23188
+ unmount: props.unmount
23189
+ })), _ref)
23190
+ });
23191
+ });
23192
+
23193
+ var ConfirmTokenSelectionDialog = (function (props) {
23194
+ var _useContext = useContext(SelectionContext),
23195
+ selection = _useContext.selection;
23196
+ var _useContext2 = useContext(ClosableContext),
23197
+ setOpen = _useContext2.setOpen;
23198
+ var token = selection.token;
23199
+ var address = token.address || token.external_id;
23200
+ var logo = token.logo || token.image;
23201
+ var blockchain = Blockchain.findByName(token.blockchain);
23202
+ var age = token.first_transfer ? msToTime(new Date() - new Date(token.first_transfer)) : undefined;
23203
+ if (age) {
23204
+ age = [age.year && age.year >= 1 ? age.year >= 2 ? "".concat(age.year, " years") : "1 year" : undefined, age.month && age.month >= 1 ? age.month >= 2 ? "".concat(age.month, " months") : "1 month" : undefined, age.day && age.day >= 1 && age.month <= 1 && age.year < 1 ? age.day >= 2 ? "".concat(age.day, " days !!!") : "1 day !!!" : undefined].filter(function (n) {
23205
+ return n;
23206
+ }).join(' ');
23207
+ }
23208
+ var holders = token.unique_senders ? token.unique_senders : undefined;
23209
+ if (holders) {
23210
+ if (holders > 1000000) {
23211
+ holders = "Millions";
23212
+ } else if (holders > 100000) {
23213
+ holders = "Hundreds of Thousands";
23214
+ } else if (holders > 2000) {
23215
+ holders = "Thousands";
23216
+ } else if (holders > 100) {
23217
+ holders = "Hundreds";
23218
+ } else {
23219
+ holders = "Only a Few!!!";
23220
+ }
23221
+ }
23222
+ var onClickConfirm = function onClickConfirm() {
23223
+ setOpen(false);
23224
+ props.resolve({
23225
+ blockchain: token.blockchain,
23226
+ address: token.external_id || token.address,
23227
+ symbol: token.symbol,
23228
+ name: token.name,
23229
+ decimals: token.decimals,
23230
+ logo: token.image || token.logo,
23231
+ routable: token.routable
23232
+ });
23233
+ setTimeout(props.unmount, 300);
23234
+ };
23235
+ return /*#__PURE__*/React.createElement(Dialog$1, {
23236
+ header: /*#__PURE__*/React.createElement("div", {
23237
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
23238
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", {
23239
+ className: "LineHeightL FontSizeL"
23240
+ }, "Confirm Selection"))),
23241
+ stacked: true,
23242
+ body: /*#__PURE__*/React.createElement("div", {
23243
+ className: "PaddingTopS PaddingLeftM PaddingRightM"
23244
+ }, /*#__PURE__*/React.createElement("div", {
23245
+ className: "TokenImage medium TextCenter"
23246
+ }, logo && /*#__PURE__*/React.createElement("img", {
23247
+ src: logo
23248
+ }), !logo && /*#__PURE__*/React.createElement(TokenImage, {
23249
+ blockchain: token.blockchain,
23250
+ address: address
23251
+ })), /*#__PURE__*/React.createElement("div", {
23252
+ className: "PaddingTopS TextCenter"
23253
+ }, /*#__PURE__*/React.createElement("div", {
23254
+ className: "Alert FontSizeS"
23255
+ }, /*#__PURE__*/React.createElement("strong", null, "Please review this information"))), /*#__PURE__*/React.createElement("div", {
23256
+ className: "PaddingTopXS"
23257
+ }, /*#__PURE__*/React.createElement("table", {
23258
+ className: "Table TextLeft FontSizeS"
23259
+ }, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
23260
+ className: "TableSubTitle"
23261
+ }, "Address")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("a", {
23262
+ className: "Link",
23263
+ title: address,
23264
+ href: blockchain.explorerUrlFor({
23265
+ token: address
23266
+ }),
23267
+ target: "_blank",
23268
+ rel: "noopener noreferrer"
23269
+ }, addressEllipsis(address, 8))))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
23270
+ className: "TableSubTitle"
23271
+ }, "Blockchain")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, blockchain.label))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
23272
+ className: "TableSubTitle"
23273
+ }, "Symbol")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, token.symbol))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
23274
+ className: "TableSubTitle"
23275
+ }, "Name")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, token.name))), age && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
23276
+ className: "TableSubTitle"
23277
+ }, "Age")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, age))), holders && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", {
23278
+ className: "TableSubTitle"
23279
+ }, "Holders")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, holders))))))),
23280
+ footer: /*#__PURE__*/React.createElement("div", {
23281
+ className: "PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"
23282
+ }, /*#__PURE__*/React.createElement("button", {
23283
+ className: "ButtonPrimary",
23284
+ onClick: onClickConfirm
23285
+ }, "Confirm"))
23286
+ });
23287
+ });
23288
+
23289
+ var SelectTokenDialog = (function (props) {
23290
+ var _useContext = useContext(NavigateStackContext),
23291
+ navigate = _useContext.navigate;
23292
+ var _useContext2 = useContext(ClosableContext),
23293
+ setOpen = _useContext2.setOpen;
23294
+ var _useContext3 = useContext(SelectionContext),
23295
+ setSelection = _useContext3.setSelection;
23296
+ var _useState = useState(false),
23297
+ _useState2 = _slicedToArray(_useState, 2),
23298
+ loading = _useState2[0],
23299
+ setLoading = _useState2[1];
23300
+ var _useState3 = useState(''),
23301
+ _useState4 = _slicedToArray(_useState3, 2),
23302
+ searchTerm = _useState4[0],
23303
+ setSearchTerm = _useState4[1];
23304
+ var _useState5 = useState(),
23305
+ _useState6 = _slicedToArray(_useState5, 2),
23306
+ blockchain = _useState6[0],
23307
+ setBlockchain = _useState6[1];
23308
+ var _useState7 = useState(false),
23309
+ _useState8 = _slicedToArray(_useState7, 2),
23310
+ showAddToken = _useState8[0],
23311
+ setShowAddToken = _useState8[1];
23312
+ var _useState9 = useState([]),
23313
+ _useState10 = _slicedToArray(_useState9, 2),
23314
+ tokens = _useState10[0],
23315
+ setTokens = _useState10[1];
23316
+ var _useState11 = useState(),
23317
+ _useState12 = _slicedToArray(_useState11, 2);
23318
+ _useState12[0];
23319
+ _useState12[1];
23320
+ var searchElement = useRef();
23321
+ var wallet = getWallets()[0];
23322
+ var startWithBlockchain = function startWithBlockchain(name) {
23323
+ var blockchain = Blockchain.findByName(name);
23324
+ setBlockchain(blockchain);
23325
+ setSelection(Object.assign(props.selection, {
23326
+ blockchain: blockchain,
23327
+ token: undefined
23328
+ }));
23329
+ setTokens(blockchain.tokens);
23330
+ };
23331
+ useEffect(function () {
23332
+ if (wallet) {
23333
+ wallet.connectedTo().then(function (name) {
23334
+ var blockchain = Blockchain.findByName(name);
23335
+ if (window._depay_token_selection_selected_blockchain) {
23336
+ startWithBlockchain(window._depay_token_selection_selected_blockchain);
23337
+ } else if (name && name.length && blockchain && blockchain.tokens && blockchain.tokens.length) {
23338
+ startWithBlockchain(name);
23339
+ } else {
23340
+ startWithBlockchain('ethereum');
23341
+ }
23342
+ });
23343
+ } else {
23344
+ startWithBlockchain('ethereum');
23345
+ }
23346
+ }, []);
23347
+ useEffect(function () {
23348
+ if (props.selection.blockchain) {
23349
+ setBlockchain(props.selection.blockchain);
23350
+ setTokens(props.selection.blockchain.tokens);
23351
+ if (searchElement.current) {
23352
+ searchElement.current.value = '';
23353
+ searchElement.current.focus();
23354
+ }
23355
+ }
23356
+ }, [props.selection, props.selection.blockchain]);
23357
+ var onClickChangeBlockchain = function onClickChangeBlockchain() {
23358
+ navigate('SelectBlockchain');
23359
+ };
23360
+ var onClickAddToken = function onClickAddToken() {
23361
+ setShowAddToken(true);
23362
+ if (searchElement.current) {
23363
+ searchElement.current.value = '';
23364
+ searchElement.current.focus();
23365
+ }
23366
+ };
23367
+ var searchTokens = useCallback(lodash.debounce(function (term, blockchainName) {
23368
+ fetch("https://public.depay.com/tokens/search?blockchain=".concat(blockchainName, "&term=").concat(term)).then(function (response) {
23369
+ if (response.status == 200) {
23370
+ response.json().then(function (tokens) {
23371
+ setTokens(tokens);
23372
+ setLoading(false);
23373
+ })["catch"](function () {
23374
+ return reject;
23375
+ });
23376
+ } else {
23377
+ reject();
23378
+ }
23379
+ })["catch"](function () {
23380
+ return reject;
23381
+ });
23382
+ }, 500), []);
23383
+ var onChangeSearch = function onChangeSearch(event) {
23384
+ setShowAddToken(false);
23385
+ setLoading(true);
23386
+ var term = event.target.value;
23387
+ setSearchTerm(term);
23388
+ if (term.match(/^0x/)) {
23389
+ setTokens([]);
23390
+ var token;
23391
+ try {
23392
+ token = new Token({
23393
+ blockchain: blockchain.name,
23394
+ address: term
23395
+ });
23396
+ } catch (_unused) {}
23397
+ if (token == undefined) {
23398
+ setLoading(false);
23399
+ return;
23400
+ }
23401
+ Promise.all([token.name(), token.symbol(), token.decimals(), fetch("https://public.depay.com/tokens/routable/".concat(blockchain.name, "/").concat(term)).then(function (response) {
23402
+ if (response.status == 200) {
23403
+ return response.json();
23404
+ }
22563
23405
  })]).then(function (_ref) {
22564
23406
  var _ref2 = _slicedToArray(_ref, 4),
22565
23407
  name = _ref2[0],
@@ -22574,12 +23416,14 @@ var SelectTokenDialog = (function (props) {
22574
23416
  blockchain: blockchain.name,
22575
23417
  routable: !!routable
22576
23418
  }]);
23419
+ setLoading(false);
22577
23420
  });
22578
23421
  } else if (term && term.length) {
22579
23422
  setTokens([]);
22580
23423
  searchTokens(term, blockchain.name);
22581
23424
  } else {
22582
23425
  setTokens(blockchain.tokens);
23426
+ setLoading(false);
22583
23427
  }
22584
23428
  };
22585
23429
  var select = function select(token) {
@@ -22610,36 +23454,52 @@ var SelectTokenDialog = (function (props) {
22610
23454
  navigate('ConfirmTokenSelection');
22611
23455
  }
22612
23456
  };
22613
- var elements = tokens.map(function (token, index) {
22614
- return /*#__PURE__*/React.createElement("div", {
22615
- key: "".concat(index, "-").concat(token.address),
22616
- className: "Card Row",
22617
- onClick: function onClick() {
22618
- return select(token);
22619
- }
23457
+ var elements;
23458
+ if (loading) {
23459
+ elements = [/*#__PURE__*/React.createElement("div", {
23460
+ className: "SkeletonWrapper",
23461
+ key: 'loading'
22620
23462
  }, /*#__PURE__*/React.createElement("div", {
22621
- className: "CardImage"
22622
- }, token.logo && /*#__PURE__*/React.createElement("img", {
22623
- src: token.logo
22624
- }), token.image && /*#__PURE__*/React.createElement("img", {
22625
- src: token.image
22626
- }), !(token.logo || token.image) && /*#__PURE__*/React.createElement(TokenImage, {
22627
- blockchain: token.blockchain,
22628
- address: token.external_id || token.address
22629
- })), /*#__PURE__*/React.createElement("div", {
22630
- className: "CardBody"
23463
+ className: "Skeleton",
23464
+ style: {
23465
+ height: '69px',
23466
+ width: '100%'
23467
+ }
22631
23468
  }, /*#__PURE__*/React.createElement("div", {
22632
- className: "CardTokenSymbol",
22633
- title: token.symbol
22634
- }, /*#__PURE__*/React.createElement("span", {
22635
- className: "CardText"
22636
- }, token.symbol)), /*#__PURE__*/React.createElement("div", {
22637
- className: "CardTokenName",
22638
- title: token.name
22639
- }, /*#__PURE__*/React.createElement("span", {
22640
- className: "CardText"
22641
- }, token.name))));
22642
- });
23469
+ className: "SkeletonBackground"
23470
+ })))];
23471
+ } else {
23472
+ elements = tokens.map(function (token, index) {
23473
+ return /*#__PURE__*/React.createElement("div", {
23474
+ key: "".concat(index, "-").concat(token.address),
23475
+ className: "Card Row",
23476
+ onClick: function onClick() {
23477
+ return select(token);
23478
+ }
23479
+ }, /*#__PURE__*/React.createElement("div", {
23480
+ className: "CardImage"
23481
+ }, token.logo && /*#__PURE__*/React.createElement("img", {
23482
+ src: token.logo
23483
+ }), token.image && /*#__PURE__*/React.createElement("img", {
23484
+ src: token.image
23485
+ }), !(token.logo || token.image) && /*#__PURE__*/React.createElement(TokenImage, {
23486
+ blockchain: token.blockchain,
23487
+ address: token.external_id || token.address
23488
+ })), /*#__PURE__*/React.createElement("div", {
23489
+ className: "CardBody"
23490
+ }, /*#__PURE__*/React.createElement("div", {
23491
+ className: "CardTokenSymbol",
23492
+ title: token.symbol
23493
+ }, /*#__PURE__*/React.createElement("span", {
23494
+ className: "CardText"
23495
+ }, token.symbol)), /*#__PURE__*/React.createElement("div", {
23496
+ className: "CardTokenName",
23497
+ title: token.name
23498
+ }, /*#__PURE__*/React.createElement("span", {
23499
+ className: "CardText"
23500
+ }, token.name))));
23501
+ });
23502
+ }
22643
23503
  if (blockchain == undefined) {
22644
23504
  return null;
22645
23505
  }
@@ -22696,7 +23556,7 @@ var SelectTokenDialog = (function (props) {
22696
23556
  });
22697
23557
  });
22698
23558
 
22699
- var SelectStack = (function (props) {
23559
+ var SelectTokenStack = (function (props) {
22700
23560
  var _useContext = useContext(ConfigurationContext),
22701
23561
  what = _useContext.what;
22702
23562
  var _useContext2 = useContext(ClosableContext),
@@ -22746,7 +23606,7 @@ var Select = function Select(options) {
22746
23606
  var startupError;
22747
23607
  if (what == undefined) {
22748
23608
  startupError = '"what" needs to be configured!';
22749
- } else if (['token'].indexOf(what) < 0) {
23609
+ } else if (['token', 'nft'].indexOf(what) < 0) {
22750
23610
  startupError = "Unknown \"what\" configured: ".concat(what, "!");
22751
23611
  }
22752
23612
  return new Promise( /*#__PURE__*/function () {
@@ -22774,7 +23634,12 @@ var Select = function Select(options) {
22774
23634
  }
22775
23635
  }, /*#__PURE__*/React.createElement(UpdatableProvider, null, /*#__PURE__*/React.createElement(ClosableProvider, {
22776
23636
  unmount: userClosedDialog
22777
- }, /*#__PURE__*/React.createElement(SelectionProvider, null, /*#__PURE__*/React.createElement(SelectStack, {
23637
+ }, /*#__PURE__*/React.createElement(SelectionProvider, null, what == 'token' && /*#__PURE__*/React.createElement(SelectTokenStack, {
23638
+ document: document,
23639
+ container: container,
23640
+ unmount: unmount,
23641
+ resolve: resolve
23642
+ }), what == 'nft' && /*#__PURE__*/React.createElement(SelectNFTStack, {
22778
23643
  document: document,
22779
23644
  container: container,
22780
23645
  unmount: unmount,