@mojito-inc/secondary-market
Version:
Mojito secondary market is the platform to purchase NFT.
2 lines (1 loc) • 23.8 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),r=require("@mojito-inc/core-service"),a=require("ethers"),l=require("moment"),n=require("../interface/index.js"),t=require("../hooks/useSupportedCurrency.js"),o=require("../hooks/useTokenDetails.js"),s=require("../utils/getFee.utils.js"),u=require("../utils/makeOfferContract.utils.js"),d=require("../utils/truncateDecimal.utils.js"),c=require("../utils/switchNetwork.utils.js"),m=require("../utils/swapPrice.utils.js");require("@mui/material/Stack"),require("@mui/material/Modal"),require("@mui/material/Divider"),require("@mui/material/Grid"),require("@mui/material/Button"),require("@mui/material/Typography"),require("@mui/material/Box"),require("@mui/material/styles"),require("html-react-parser"),require("../component/VideoWithImageCard.js"),require("@mui/material/Tooltip"),require("@mui/icons-material/InfoOutlined"),require("@mui/icons-material/KeyboardArrowDown"),require("@mui/material/Select"),require("@mui/material/TextField"),require("@mui/material/MenuItem"),require("@mui/icons-material/ImportExport"),require("@mui/icons-material/Warning"),require("@mui/icons-material/CheckCircleOutline"),require("@mui/icons-material/ErrorOutline"),require("@mui/material/Checkbox"),require("@mui/icons-material/ContentCopy");var v=require("../utils/truncateAddress.utils.js"),g=require("../utils/formatNumberWithCommas.js");require("@mui/icons-material/KeyboardArrowUp"),require("@mui/icons-material/HelpOutline"),require("@mui/material/IconButton"),require("@mui/icons-material/FavoriteBorder"),require("@mui/icons-material/Favorite"),require("@mui/icons-material/FileCopyOutlined"),require("@mui/material/Pagination"),require("@mui/material/PaginationItem"),require("@mui/material"),require("@mui/material/Table"),require("@mui/material/TableCell"),require("@mui/material/TableHead"),require("@mui/material/TableBody"),require("@mui/material/TableRow"),require("@mui/material/TableContainer"),require("@mui/icons-material/OpenInNew"),require("@mui/material/Skeleton"),require("@mui/material/CardActions"),require("@mui/material/Card"),require("@mui/material/CardContent"),require("@mui/icons-material/RemoveCircleOutline"),require("@mui/icons-material/SellOutlined"),require("@mui/icons-material/AttachMoneyOutlined"),require("@mui/icons-material/Send"),require("@mui/icons-material/NewReleases"),require("@mui/icons-material/CancelScheduleSend"),require("@mui/icons-material/HourglassDisabledOutlined"),require("@mui/icons-material/CallMissedOutlined"),require("@mui/icons-material/MoveToInboxOutlined"),require("@mui/icons-material/CheckCircleOutlineOutlined"),require("@mui/icons-material/BorderColorOutlined"),require("@mui/icons-material/Twitter"),require("@mui/icons-material/MoreVert");var f=require("../constant/index.js");require("@mui/material/useMediaQuery"),require("@mui/material/CircularProgress"),require("react-player"),require("@mui/icons-material/Pause"),require("@mui/icons-material/PlayArrow"),require("../_virtual/_tslib.js"),require("@mui/material/Tab"),require("@mui/material/Tabs"),require("@mui/material/Menu"),require("@mui/material/ListItem"),require("@mui/material/List"),require("@mui/icons-material/Close"),require("@mui/material/ListItemText"),require("@mui/icons-material/CheckRounded"),require("@mui/icons-material/FiberManualRecord"),require("@mui/icons-material/Refresh"),require("../component/RenderIf.js"),require("@mui/icons-material/AccountBalanceWallet"),require("@mui/material/Breadcrumbs"),require("@mui/icons-material/ArrowForward");var b=require("../layout/MakeOfferLayout.js");require("@mui/material/InputAdornment"),require("@mui/icons-material/Search"),require("@mui/icons-material/FilterList"),require("../provider/CollectionFilterProvider.js"),require("@mui/material/Accordion"),require("@mui/material/AccordionSummary"),require("@mui/material/AccordionDetails"),require("@mui/material/FormControlLabel"),require("@mui/icons-material/ExitToAppOutlined");var y=require("../utils/getNumberOfDays.utils.js"),p=require("../utils/getValidURL.utils.js"),w=require("../utils/calculateDifference.utils.js"),O=require("../hooks/useTokenOffer.js"),h=require("../utils/cancelOfferContract.utils.js"),C=require("../utils/traits.utils.js"),k=require("../hooks/useSolanaWalletPolling.js"),q=require("../provider/SentryProvider.js");exports.default=({open:j,image:A,config:I,tokenDetails:S,tokenDetailsData:T,isCancelOffer:D,walletDetails:M,priceInputRange:E,termsURL:P,conditionOfBusinessURL:N,customRPCUrl:R,mediaCardAttributes:L,onClickViewItem:x,onCloseModal:U,onClickBackToMarketPlace:W,onRefetchBalance:F,onConnectWallet:Y,onHandleApiSessionExpired:_})=>{var B,V,H,$,G,J,K,Q,z,X,Z,ee,ie,re,ae,le,ne,te;const[oe,se]=i.useState(""),{sessionStatus:ue}=r.useAuth(),{addCaptureExceptionForSentry:de,addExtraLogsForSentry:ce}=q.useSentry(),me=i.useMemo((()=>{var e;return{orgId:I.orgId,contractAddress:S.contractAddress,itemId:S.itemId,onChainTokenID:S.onChainTokenID,currency:null!==(e=null==I?void 0:I.currency)&&void 0!==e?e:n.Currency.USD}}),[I,S]),ve=i.useMemo((()=>[{label:D?"Cancel Offer":"Submit Offer",value:D?"Cancel Offer":"Submit Offer"},{label:"Confirmation",value:"Confirmation"}]),[D]),ge=i.useMemo((()=>[{value:"1",label:"1 Day"},{value:"2",label:"2 Days"},{value:"3",label:"3 Days"},{value:"7",label:"7 Days"},{value:"30",label:"30 Days"}]),[]),fe=i.useMemo((()=>(null==M?void 0:M.providerType)===n.ProviderType.METAMASK),[M.providerType]),be=i.useMemo((()=>!!M.walletAddress),[M.walletAddress]),ye=i.useMemo((()=>"ethereum"===M.walletType),[M.walletType]),pe=i.useMemo((()=>"solana"===(null==M?void 0:M.walletType)),[M.walletType]),we=i.useMemo((()=>pe?"VIN":"ETH"),[pe]),Oe=i.useMemo((()=>Object.assign(Object.assign({},me),{cryptoCurrencyCode:null!=we?we:n.CryptoCurrency.ETH})),[we,me]),{tokenData:he,usdData:Ce,networkData:ke,detailsLoading:qe,isNetworkLoading:je,isPriceLoading:Ae,reFetchAPI:Ie}=o.useTokenDetails(Oe,j,T),{supportedCurrencyData:Se,currencyLoading:Te}=t.useSupportedCurrency(me,j),{createOffer:De,submitProofOfOffer:Me,cancelOffer:Ee,initiateCancelOffer:Pe}=r.useOffer(),{offerData:Ne,offerLoading:Re,offerRefetch:Le}=O.useTokenOffer(null==I?void 0:I.orgId,null!==(B=null==he?void 0:he.nftTokenId)&&void 0!==B?B:"",be,I.currency),{checkForMismatchWalletAddress:xe}=k.default(),Ue=i.useMemo((()=>{const e=null==Ne?void 0:Ne.filter((e=>"PENDING"===(null==e?void 0:e.offerStatus)&&(null==e?void 0:e.ownerWalletAddress)!==(null==M?void 0:M.walletAddress)));return null==e?void 0:e[0]}),[Ne,null==M?void 0:M.walletAddress]),We=i.useMemo((()=>{var e,i;return(null===(e=null==he?void 0:he.tokenOwnerAddress)||void 0===e?void 0:e.toLowerCase())===(null===(i=null==M?void 0:M.walletAddress)||void 0===i?void 0:i.toLowerCase())}),[he,null==M?void 0:M.walletAddress]),Fe=i.useMemo((()=>!("OPEN_FOR_SALE"!==(null==he?void 0:he.status)&&"SALE_PENDING"!==(null==he?void 0:he.status)||We)&&(null==he||he.isMakeOfferEnabled,!0)),[he,We]),Ye=i.useCallback((e=>{se(e)}),[se]),_e=i.useMemo((()=>{const e=null==ke?void 0:ke.filter((e=>e.id===(null==he?void 0:he.networkID)));return null==e?void 0:e[0]}),[ke,he]),Be=i.useMemo((()=>M.networkDetails.chainID===(null==_e?void 0:_e.chainID)),[null==_e?void 0:_e.chainID,M.networkDetails.chainID]),Ve=i.useMemo((()=>ye?80001===(null==_e?void 0:_e.chainID)||137===(null==_e?void 0:_e.chainID)?[{label:"WMATIC",value:"WMATIC"}]:[{label:"WETH",value:"WETH"}]:pe?[{label:"VIN",value:"VIN"}]:[{label:"WETH",value:"WETH"}]),[_e,ye,pe]),[He,$e]=i.useState(D?"Cancel Offer":"Submit Offer"),[Ge,Je]=i.useState(""),[Ke,Qe]=i.useState("0"),[ze,Xe]=i.useState(null===(V=ge[0])||void 0===V?void 0:V.label),[Ze,ei]=i.useState(l().add(y.numberOfDays(ze),"days").format("MMMM DD, YYYY hh:mm A")),[ii,ri]=i.useState(!1),[ai,li]=i.useState(!1),[ni,ti]=i.useState({loading:!1,success:!1}),[oi,si]=i.useState({conditions:!1,terms:!1}),[ui,di]=i.useState({networkCheck:!1,balanceCheck:!1,isSwap:!1,message:""}),[ci,mi]=i.useState(""),[vi,gi]=i.useState(!1),[fi,bi]=i.useState(""),yi=i.useMemo((()=>{const e=null==Se?void 0:Se.filter((e=>{var i;return e.symbol===(null===(i=null==Ve?void 0:Ve[0])||void 0===i?void 0:i.label)}));return null==e?void 0:e[0]}),[Se,Ve]),pi=i.useMemo((()=>{var e,i,r;if(pe){const r=null===(i=null===(e=null==he?void 0:he.metadata)||void 0===e?void 0:e.attributes)||void 0===i?void 0:i.find((e=>{var i;return"winery"===(null===(i=e.traitType)||void 0===i?void 0:i.toLowerCase())}));return r?C.getTraitsDescription(r.value):""}return null===(r=null==he?void 0:he.artist)||void 0===r?void 0:r.artistName}),[null===(H=null==he?void 0:he.artist)||void 0===H?void 0:H.artistName,pe,null===($=null==he?void 0:he.metadata)||void 0===$?void 0:$.attributes]),wi=i.useCallback(((e,i=!1)=>{var r,a,l;const n=+e-Number(null===(r=null==M?void 0:M.balance)||void 0===r?void 0:r.nonNative),t=d.roundUp(n,4);return(null===(a=null==M?void 0:M.balance)||void 0===a?void 0:a.nonNative)<+e&&!i?(null===(l=null==M?void 0:M.balance)||void 0===l?void 0:l.native)>=t?(di(Object.assign(Object.assign({},ui),{isSwap:!0,balanceCheck:!1,message:String(t)})),!1):(di(Object.assign(Object.assign({},ui),{isSwap:!1,balanceCheck:!0,message:`Your connected wallet does not have enough ${null==yi?void 0:yi.symbol} to complete your transaction.`})),!1):+e<.04?(di(Object.assign(Object.assign({},ui),{isSwap:!1,balanceCheck:!0,message:`Minimum offer price should be more than ${ye?"0.4":"1"} ${null==yi?void 0:yi.symbol}`})),!1):(di(Object.assign(Object.assign({},ui),{isSwap:!1,balanceCheck:!1,message:""})),!0)}),[null===(G=null==M?void 0:M.balance)||void 0===G?void 0:G.native,null===(J=null==M?void 0:M.balance)||void 0===J?void 0:J.nonNative,ui,yi,ye]);i.useEffect((()=>{D&&Le()}),[D,Le]),i.useEffect((()=>{"Expired"===ue&&(U(),null==_||_())}),[_,U,ue]),i.useEffect((()=>{var e;j&&(Ie(),Je(""),ti({loading:!1,success:!1}),Qe("0"),Xe(null===(e=null==ge?void 0:ge[0])||void 0===e?void 0:e.label),$e(D?"Cancel Offer":"Submit Offer"),ri(!1),li(!1),(null==M?void 0:M.walletAddress)||bi("Connect your wallet to complete process"),(null==M?void 0:M.walletAddress)&&bi(""))}),[j,null==M?void 0:M.walletAddress,ge,D,Ie]),i.useEffect((()=>{var e,i,r;j&&Ue&&D&&(Qe(null===(r=null===(i=null===(e=null==Ue?void 0:Ue.price)||void 0===e?void 0:e[1])||void 0===i?void 0:i.value)||void 0===r?void 0:r.toString()),ei(null==Ue?void 0:Ue.expiryDate))}),[j,Ue,D]),i.useEffect((()=>{j&&((null==M?void 0:M.walletAddress)?di((e=>{var i;return Object.assign(Object.assign({},e),{networkCheck:!Be,isWalletConnected:!0,message:Be?e.message:null!==(i=null==_e?void 0:_e.name)&&void 0!==i?i:""})})):di((e=>Object.assign(Object.assign({},e),{isWalletConnected:!1,message:"Connect your wallet to complete checkout"}))))}),[j,_e,null==M?void 0:M.walletAddress,Fe,Be]),i.useEffect((()=>{j&&((null==M?void 0:M.walletAddress)&&!Fe&&mi("Cannot able to purchase this item"),(null==M?void 0:M.walletAddress)&&Fe&&(null==ci?void 0:ci.length)>0&&mi(""))}),[j,null==M?void 0:M.walletAddress,Fe,null==ci?void 0:ci.length]),i.useEffect((()=>{vi&&(wi(Ke,pe),gi(!1))}),[vi,wi,Ke,pe,Qe]);const Oi=i.useCallback(((e={},i={})=>{Object.keys(e).length>0&&e.key&&ce(e.key,e.value),Object.keys(i).length>0&&i.exception&&de(i.exception,i.hint)}),[de,ce]),hi=i.useCallback((async(e,i)=>{try{if(yi){return await u.checkApproval({price:+Ke,currency:null==yi?void 0:yi.symbol,currencyContractAddress:yi.network.wethAddress,marketPlaceContractAddress:null==yi?void 0:yi.secondaryMarketplaceContractAddress,status:e,provider:i})}return Je("An error was encountered while processing your payment"),!1}catch(e){return ti(Object.assign(Object.assign({},ni),{loading:!1})),Je((null==e?void 0:e.message)||"An error was encountered while processing your payment"),!1}}),[yi,Ke,ni]),Ci=i.useCallback((async()=>{var e,i,r,a,l,n;try{ti({loading:!0,success:!1}),$e("Confirmation");const t=await xe(null==M?void 0:M.walletAddress,null==M?void 0:M.providerType,Oi);if(!(null==t?void 0:t.isMismatched))return Je(`The initially connected wallet has been changed. Please switch back to the wallet \n (${v.truncateAddress(null==M?void 0:M.walletAddress)}) to continue.`),void ti({success:!1,loading:!1});const o=await Pe({orderId:(null==Ue?void 0:Ue.id)||"",orgId:I.orgId}),{walletAddress:s,balance:u,providerType:d,provider:c,networkDetails:{chainID:m}}=M,g=await h.cancelOfferSolanaItem(s,u,c,d,m,Ye,null!==(r=null===(i=null===(e=null==o?void 0:o.data)||void 0===e?void 0:e.initiateCancelOffer)||void 0===i?void 0:i.mintAccount)&&void 0!==r?r:"",null===(a=null==o?void 0:o.data)||void 0===a?void 0:a.initiateCancelOffer,R,Oi);if(g&&!g.error||(ti({loading:!1,success:!1}),Ye(""),Je((null==g?void 0:g.error)||"Something went wrong")),null==g?void 0:g.success)try{await Ee({orderId:(null==Ue?void 0:Ue.id)||"",orgId:I.orgId,signature:null===(l=g.response)||void 0===l?void 0:l.hash,currency:null!==(n=I.currency)&&void 0!==n?n:"USD",walletAddress:s})}catch(e){}finally{ti({loading:!1,success:!0})}}catch(e){ti({loading:!1,success:!1}),Oi({key:"Additional Data",value:{path:"Error inside a cancel offer function catch block - 442"}},{exception:e}),Ye(""),Je((null==e?void 0:e.message)||"Something went wrong! try again later")}}),[null==Ue?void 0:Ue.id,I.currency,I.orgId,M,R,Ee,Pe,Ye,xe,Oi]),ki=i.useCallback((async()=>{try{ye&&(ti(Object.assign(Object.assign({},ni),{loading:!0})),$e("Confirmation"),await Ee({orderId:(null==Ue?void 0:Ue.id)||"",orgId:I.orgId}),ti(Object.assign(Object.assign({},ni),{loading:!1,success:!0}))),pe&&await Ci()}catch(e){ti(Object.assign(Object.assign({},ni),{loading:!1})),Je((null==e?void 0:e.message)||"Something went wrong! try again later")}}),[I,Ue,ni,ye,pe,Ee,Ci]),qi=i.useCallback((async e=>{var i,r,l;try{const r=a.utils.arrayify(e);if((null==M?void 0:M.providerType)===n.ProviderType.EMAIL){return await(null===(i=null==M?void 0:M.provider)||void 0===i?void 0:i.signMessage(r))}const l=null==M?void 0:M.provider,t=null==l?void 0:l.getSigner();return await(null==t?void 0:t.signMessage(r))}catch(e){return ti(Object.assign(Object.assign({},ni),{loading:!1})),(null===(r=e.message)||void 0===r?void 0:r.includes(f.ErrorsType.USER_REJECTED))||(null===(l=e.message)||void 0===l?void 0:l.includes(f.ErrorsType.USER_DENIED))?Je("Transaction has been cancelled by user"):Je((null==e?void 0:e.message)||"An error was encountered while processing your payment"),""}}),[ni,null==M?void 0:M.provider,null==M?void 0:M.providerType]),ji=i.useCallback((async()=>{var e,i,r,a,n,t,o,s,d,c,m,g,b,p,w,O,h,C;try{if(yi&&he){const f=await xe(null==M?void 0:M.walletAddress,null==M?void 0:M.providerType,Oi);if(!(null==f?void 0:f.isMismatched))return Je(`The initially connected wallet has been changed. Please switch back to the wallet \n (${v.truncateAddress(null==M?void 0:M.walletAddress)}) to continue.`),ti({success:!1,loading:!1}),"";const h=await De({orgId:I.orgId,nftTokenId:null==he?void 0:he.nftTokenId,buyerAddress:M.walletAddress,offerPrice:+Ke,expiryDate:l().add(y.numberOfDays(ze),"days").utc().format(),paymentToken:null==yi?void 0:yi.contractAddress,currencyId:null==yi?void 0:yi.id,currency:null!==(e=I.currency)&&void 0!==e?e:"USD"}),{walletAddress:C,balance:k,providerType:q,provider:j,networkDetails:{chainID:A}}=M,S=await u.makeOfferSolanaItem(C,k,j,q,Ye,A,null!==(n=null===(a=null===(r=null===(i=h.data)||void 0===i?void 0:i.createOffer)||void 0===r?void 0:r.bubblegumMakeOfferParams)||void 0===a?void 0:a.seller)&&void 0!==n?n:"",null===(o=null===(t=h.data)||void 0===t?void 0:t.createOffer)||void 0===o?void 0:o.bubblegumMakeOfferParams,R,Oi);if(S&&!S.error||(ti({loading:!1,success:!1}),Ye(""),Je((null==S?void 0:S.error)||"Something went wrong")),null==S?void 0:S.success)try{await Me({orgId:I.orgId,orderId:null!==(m=null===(c=null===(d=null===(s=h.data)||void 0===s?void 0:s.createOffer)||void 0===d?void 0:d.order)||void 0===c?void 0:c.id)&&void 0!==m?m:"",signature:null!==(b=null===(g=S.response)||void 0===g?void 0:g.hash)&&void 0!==b?b:"",offerReceipt:null!==(w=null===(p=S.response)||void 0===p?void 0:p.offerReceipt)&&void 0!==w?w:"",currency:null!==(O=I.currency)&&void 0!==O?O:"USD"})}catch(e){}finally{ti({loading:!1,success:!0})}}return""}catch(e){return ti({loading:!1,success:!1}),Ye(""),(null===(h=null==e?void 0:e.message)||void 0===h?void 0:h.includes(f.ErrorsType.USER_REJECTED))||(null===(C=null==e?void 0:e.message)||void 0===C?void 0:C.includes(f.ErrorsType.USER_DENIED))?Je("Transaction has been cancelled by user"):(Oi({key:"Additional Data",value:{path:"Error Inside an make offer function catch block - 601"}},{exception:e}),Je((null==e?void 0:e.message)||"An error was encountered while processing your payment")),""}}),[I.orgId,I.currency,ze,Ke,yi,he,M,R,De,Me,Ye,xe,Oi]),Ai=i.useCallback((async()=>{var e,i,r,a,n,t,o,s,u;try{if(ei(l().add(y.numberOfDays(ze),"days").format("MMMM DD, YYYY hh:mm A")),ye&&he&&yi){const s=await De({orgId:I.orgId,nftTokenId:null==he?void 0:he.nftTokenId,buyerAddress:M.walletAddress,offerPrice:+Ke,expiryDate:l().add(y.numberOfDays(ze),"days").utc().format(),paymentToken:null==yi?void 0:yi.contractAddress,currencyId:null==yi?void 0:yi.id});if(null===(i=null===(e=s.data)||void 0===e?void 0:e.createOffer)||void 0===i?void 0:i.messageToSign){const e=await qi(null===(a=null===(r=s.data)||void 0===r?void 0:r.createOffer)||void 0===a?void 0:a.messageToSign);e&&(await Me({orgId:I.orgId,orderId:null===(o=null===(t=null===(n=s.data)||void 0===n?void 0:n.createOffer)||void 0===t?void 0:t.order)||void 0===o?void 0:o.id,signature:e}),ti(Object.assign(Object.assign({},ni),{loading:!1,success:!0})))}}pe&&await ji()}catch(e){ti(Object.assign(Object.assign({},ni),{loading:!1})),(null===(s=e.message)||void 0===s?void 0:s.includes(f.ErrorsType.USER_REJECTED))||(null===(u=e.message)||void 0===u?void 0:u.includes(f.ErrorsType.USER_DENIED))?Je("Transaction has been cancelled by user"):Je((null==e?void 0:e.message)||"An error was encountered while processing your payment")}}),[ni,yi,he,Ke,I,ze,M.walletAddress,ye,pe,qi,De,Me,ji]),Ii=i.useCallback((async e=>{var i;if(null==M?void 0:M.walletAddress)if(ii||ai||D||Ge)if(ai||D||Ge)if(ii||D||Ge)try{if("Cancel Offer"===e)return void ki();if("View Item"===e&&D)return Je(""),ti({success:!1,loading:!1}),Qe("0"),$e(D?"Cancel Offer":"Submit Offer"),di(Object.assign(Object.assign({},ui),{isSwap:!1,balanceCheck:!1,message:""})),void x();if("Retry"===e)return Je(""),void $e(D?"Cancel Offer":"Submit Offer");if("View Item"===e)return Je(""),ti({success:!1,loading:!1}),$e(D?"Cancel Offer":"Submit Offer"),Qe("0"),di(Object.assign(Object.assign({},ui),{isSwap:!1,balanceCheck:!1,message:""})),x(),void(null==F||F(!0));if(!wi(Ke,pe))return;if("Submit Offer"===e&&yi){if(ti(Object.assign(Object.assign({},ni),{loading:!0})),$e("Confirmation"),ye){let e=null;e=(null==M?void 0:M.providerType)===n.ProviderType.EMAIL?null===(i=null==M?void 0:M.provider)||void 0===i?void 0:i.provider:null==M?void 0:M.provider;if(await hi(!1,e))await Ai();else{const i=await u.unlockApproval({currency:null==yi?void 0:yi.symbol,currencyContractAddress:yi.network.wethAddress,marketPlaceContractAddress:null==yi?void 0:yi.secondaryMarketplaceContractAddress,provider:e});if(null==i?void 0:i.status){"success"===await hi(!0,e)?await Ai():(ti(Object.assign(Object.assign({},ni),{loading:!1})),Je(`You don't have enough approval or balance of\n ${Ke} ${null==yi?void 0:yi.symbol}\n to complete this purchase. Please try again or increase allowance.`))}else"Reject"===(null==i?void 0:i.message)?(ti(Object.assign(Object.assign({},ni),{loading:!1})),Je("Transaction has been cancelled by user")):(ti(Object.assign(Object.assign({},ni),{loading:!1})),Je("An error was encountered while processing your payment"))}}pe&&await Ai()}}catch(e){ti(Object.assign(Object.assign({},ni),{loading:!1})),Je((null==e?void 0:e.message)||"An error was encountered while processing your payment")}else si(Object.assign(Object.assign({},oi),{conditions:!0}));else si(Object.assign(Object.assign({},oi),{terms:!0}));else si({conditions:!0,terms:!0});else Y()}),[ai,ii,yi,ni,oi,Ke,ui,Ge,D,null==M?void 0:M.walletAddress,null==M?void 0:M.provider,null==M?void 0:M.providerType,pe,ye,x,hi,Ai,wi,ki,Y,F]),Si=i.useCallback((async()=>{if(null==_e?void 0:_e.chainID){ti(Object.assign(Object.assign({},ni),{loading:!0}));const e=await c.onSwitchNetwork(null==_e?void 0:_e.chainID,fe,M.provider);Je(null==e?void 0:e.message),ti(Object.assign(Object.assign({},ni),{loading:!1}))}}),[_e,fe,M.provider,ni]),Ti=i.useCallback((async e=>{if(yi){ti(Object.assign(Object.assign({},ni),{loading:!0}));const i=await m.swapPrice({price:+e,currencyContractAddress:null==yi?void 0:yi.contractAddress,provider:M.provider});F&&F(!0),setTimeout((()=>{ti(Object.assign(Object.assign({},ni),{loading:!1})),Je(i.message),gi(!0)}),2e3)}}),[yi,M.provider,ni,F]),Di=i.useCallback((e=>{let{value:i}=e.target;if(pe){const e=parseFloat(i);Number.isNaN(e)||(i=Math.round(e).toString())}i.length<=(null!=E?E:6)&&Qe(i),di(Object.assign(Object.assign({},ui),{isSwap:!1,balanceCheck:!1,message:""}))}),[E,pe,ui]),Mi=i.useCallback((e=>{Xe(e.target.value),ei(l(l()).add(y.numberOfDays(e.target.value),"days").format("MMMM DD, YYYY hh:mm A"))}),[]),Ei=i.useCallback((e=>{ri(e.target.checked),si({terms:!1,conditions:!1})}),[]),Pi=i.useCallback((e=>{li(e.target.checked),si({terms:!1,conditions:!1})}),[li,si]),Ni=i.useCallback((()=>{ni.loading||(U(),W&&"Confirmation"===He&&!Ge?(Je(""),ti({success:!1,loading:!1}),Qe("0"),$e(D?"Cancel Offer":"Submit Offer"),di(Object.assign(Object.assign({},ui),{isSwap:!1,balanceCheck:!1,message:""})),W(),null==F||F(!0)):di(Object.assign(Object.assign({},ui),{isSwap:!1,balanceCheck:!1,message:""})))}),[He,D,ui,W,U,ni,Ge,F]);return e.jsx(b.default,{open:j,image:A,contractProgressMessage:oe,tokenDetails:{tokenImage:p.getValidURL((null==he?void 0:he.mediaSourceURL)||(null===(K=null==he?void 0:he.metadata)||void 0===K?void 0:K.image)||""),tokenName:(null===(Q=null==he?void 0:he.metadata)||void 0===Q?void 0:Q.name)||"",tokenArtistName:pi||"",chainId:(null==_e?void 0:_e.chainID)||0,thumbnail:null===(z=null==he?void 0:he.metadata)||void 0===z?void 0:z.image},walletType:M.walletType,breadCrumbs:ve,selectedBreadCrumbs:He,currencyData:(null==yi?void 0:yi.symbol)||"",duration:ze,durationList:ge,price:Ke,totalPrice:{crypto:` ${g.formatNumberWithCommas(null!=Ke?Ke:0)} ${null==yi?void 0:yi.symbol} `,usd:+d.truncateDecimal(s.getFee(+Ke,Number(null!==(X=null==Ce?void 0:Ce.amount)&&void 0!==X?X:"0"),!0))},progress:ni,error:Ge,listPricePercentage:w.calculatePercentageDifference(null!==(re=null===(ie=null===(ee=null===(Z=null==he?void 0:he.price)||void 0===Z?void 0:Z.buyNowPrice)||void 0===ee?void 0:ee[1])||void 0===ie?void 0:ie.value)&&void 0!==re?re:0,+Ke),policyCheck:ii,mediaCardAttributes:Object.assign(Object.assign({},L),{customThumbnail:(null==L?void 0:L.customThumbnail)||(null===(ae=null==he?void 0:he.metadata)||void 0===ae?void 0:ae.image)}),termsCheck:ai,offerExpires:Ze,validateTerms:oi,validateMakeOffer:ui,symbol:(null==yi?void 0:yi.symbol)||"",currencyList:null!=Ve?Ve:[],isCancelOffer:D,isValidMakeOffer:ci,walletConnection:fi,isLoading:qe||Te||Re||Ae||je,maxLength:E,termsURL:null!=P?P:"#",conditionOfBusinessURL:null!=N?N:"#",fiatCurrency:I.currency,buyNowPrice:"SALE_PENDING"===(null==he?void 0:he.status)&&(null===(ne=null===(le=null==he?void 0:he.price)||void 0===le?void 0:le.buyNowPrice)||void 0===ne?void 0:ne.length)>0?null===(te=null==he?void 0:he.price)||void 0===te?void 0:te.buyNowPrice:void 0,onClickConnectWallet:Y,onChangePrice:Di,onChangeDuration:Mi,onChangePolicy:Ei,onChangeTermsAndCondition:Pi,onClickMakeOffer:Ii,onClickSwap:Ti,onClickSwitchNetwork:Si,onCloseModal:Ni})};