UNPKG

@mojito-inc/secondary-market

Version:

Mojito secondary market is the platform to purchase NFT.

2 lines (1 loc) 21.8 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),l=require("@mojito-inc/core-service"),r=require("../interface/index.js"),a=require("../hooks/useSupportedCurrency.js"),o=require("../hooks/useTokenDetails.js"),n=require("../utils/getFee.utils.js"),t=require("../utils/makeOfferContract.utils.js"),u=require("../utils/truncateDecimal.utils.js"),s=require("../utils/buyNowContract.utils.js"),d=require("../utils/getEtherScanURL.utils.js"),c=require("../utils/switchNetwork.utils.js"),v=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 m=require("../utils/truncateAddress.utils.js"),b=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("moment"),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"),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 g=require("../layout/BuyNowLayout.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 p=require("../utils/getValidURL.utils.js"),C=require("../utils/traits.utils.js"),y=require("../hooks/useSolanaWalletPolling.js"),h=require("../provider/SentryProvider.js");exports.default=({open:w,image:k,config:q,tokenDetails:A,tokenDetailsData:f,walletDetails:O,termsURL:j,conditionOfBusinessURL:T,mediaCardAttributes:I,onClickViewItem:S,onCloseModal:D,onClickBackToMarketPlace:N,onClickConnectWallet:M,onClickDisconnectWallet:P,onRefetchBalance:E,onHandleApiSessionExpired:L})=>{var x,W,R,B,F,H,$,U,V,_,K,Y,G,Q,z,J,X,Z;const{sessionStatus:ee}=l.useAuth(),{addCaptureExceptionForSentry:ie,addExtraLogsForSentry:le}=h.useSentry(),re=i.useMemo((()=>{var e;return(null===(e=O.walletAddress)||void 0===e?void 0:e.length)>0}),[null==O?void 0:O.walletAddress]),ae=i.useMemo((()=>re&&"ethereum"===O.walletType),[O.walletType,re]),oe=i.useMemo((()=>re&&"solana"===O.walletType),[O.walletType,re]),ne=i.useMemo((()=>{var e;return{orgId:q.orgId,contractAddress:A.contractAddress,itemId:A.itemId,onChainTokenID:A.onChainTokenID,currency:null!==(e=null==q?void 0:q.currency)&&void 0!==e?e:r.Currency.USD}}),[q,A]),[te,ue]=i.useState(""),{supportedCurrencyData:se,currencyLoading:de}=a.useSupportedCurrency(ne,w),{checkForMismatchWalletAddress:ce}=y.default(),ve=i.useMemo((()=>{var e;return null===(e=null==se?void 0:se.map((e=>({value:e.symbol,label:e.symbol}))))||void 0===e?void 0:e.sort(((e,i)=>{var l;return null===(l=null==e?void 0:e.label)||void 0===l?void 0:l.localeCompare(null==i?void 0:i.label)}))}),[se]),[me,be]=i.useState(null===(x=null==ve?void 0:ve[0])||void 0===x?void 0:x.label),ge=i.useMemo((()=>Object.assign(Object.assign({},ne),{cryptoCurrencyCode:null!=me?me:r.CryptoCurrency.ETH})),[me,ne]),{tokenData:pe,usdData:Ce,networkData:ye,detailsLoading:he,isNetworkLoading:we,isPriceLoading:ke,reFetchAPI:qe}=o.useTokenDetails(ge,w,f),{initiateBuyNFT:Ae,updateTransactionHash:fe}=l.useNFT(),Oe=i.useMemo((()=>{const e=null==ye?void 0:ye.filter((e=>e.id===(null==pe?void 0:pe.networkID)));return null==e?void 0:e[0]}),[ye,pe]),je=i.useMemo((()=>{var e,i,l,r,a,o,n,t,u,s,d,c;return(null===(e=null==pe?void 0:pe.price)||void 0===e?void 0:e.buyNowPrice)&&(null===(l=null===(i=null==pe?void 0:pe.price)||void 0===i?void 0:i.buyNowPrice)||void 0===l?void 0:l.length)>0?null===(o=null===(a=null===(r=null==pe?void 0:pe.price)||void 0===r?void 0:r.buyNowPrice)||void 0===a?void 0:a[1])||void 0===o?void 0:o.value:(null===(n=null==pe?void 0:pe.listedOrderInfo)||void 0===n?void 0:n.price)&&(null===(u=null===(t=null==pe?void 0:pe.listedOrderInfo)||void 0===t?void 0:t.price)||void 0===u?void 0:u.length)>0?null===(c=null===(d=null===(s=null==pe?void 0:pe.listedOrderInfo)||void 0===s?void 0:s.price)||void 0===d?void 0:d[1])||void 0===c?void 0:c.value:0}),[pe]),Te=i.useMemo((()=>ae?80001===(null==Oe?void 0:Oe.chainID)||137===(null==Oe?void 0:Oe.chainID)?[{label:"WMATIC",value:"WMATIC"}]:[{label:"WETH",value:"WETH"}]:oe?[{label:"VIN",value:"VIN"}]:[{label:"WETH",value:"WETH"}]),[Oe,ae,oe]),[Ie,Se]=i.useState("Checkout"),[De,Ne]=i.useState(""),[Me,Pe]=i.useState(!1),[Ee,Le]=i.useState(""),[xe,We]=i.useState({loading:!1,success:!1}),[Re,Be]=i.useState(!1),[Fe,He]=i.useState({isWalletConnected:!0,networkCheck:!1,balanceCheck:!1,isSwap:!1,message:""}),[$e,Ue]=i.useState({referenceNumber:"",transactionHash:"",price:""}),[Ve,_e]=i.useState(""),[Ke,Ye]=i.useState(!1),Ge=i.useMemo((()=>(null==O?void 0:O.providerType)===r.ProviderType.METAMASK),[null==O?void 0:O.providerType]),Qe=i.useMemo((()=>{var e,i;return(null===(e=null==pe?void 0:pe.tokenOwnerAddress)||void 0===e?void 0:e.toLowerCase())===(null===(i=null==O?void 0:O.walletAddress)||void 0===i?void 0:i.toLowerCase())}),[pe,null==O?void 0:O.walletAddress]),ze=i.useMemo((()=>!("SALE_PENDING"!==(null==pe?void 0:pe.status)||Qe||!(null==pe?void 0:pe.isBuyNowEnabled))),[pe,Qe]),Je=i.useMemo((()=>O.walletAddress&&O.networkDetails.chainID===(null==Oe?void 0:Oe.chainID)),[null==Oe?void 0:Oe.chainID,O.networkDetails.chainID,O.walletAddress]),Xe=i.useMemo((()=>{var e,i,l;if(oe){const l=null===(i=null===(e=null==pe?void 0:pe.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 l?C.getTraitsDescription(l.value):""}return null===(l=null==pe?void 0:pe.artist)||void 0===l?void 0:l.artistName}),[null===(W=null==pe?void 0:pe.artist)||void 0===W?void 0:W.artistName,oe,null===(R=null==pe?void 0:pe.metadata)||void 0===R?void 0:R.attributes]);i.useEffect((()=>{w&&(qe(),Ne(""),Pe(!1))}),[w,qe]),i.useEffect((()=>{"Expired"===ee&&(D(),null==L||L())}),[D,L,ee]),i.useEffect((()=>{w&&((null==O?void 0:O.walletAddress)&&!ze&&_e("Cannot able to purchase this item"),(null==O?void 0:O.walletAddress)&&ze&&(null==Ve?void 0:Ve.length)>0&&_e(""))}),[w,null==O?void 0:O.walletAddress,ze,Ve]),i.useEffect((()=>{var e;w&&be(null===(e=null==ve?void 0:ve[0])||void 0===e?void 0:e.label)}),[w,ve]),i.useEffect((()=>{w&&((null==O?void 0:O.walletAddress)?He((e=>{var i;return Object.assign(Object.assign({},e),{networkCheck:!Je,isWalletConnected:!0,message:Je?e.message:null!==(i=null==Oe?void 0:Oe.name)&&void 0!==i?i:""})})):He((e=>Object.assign(Object.assign({},e),{isWalletConnected:!1,message:"Connect your wallet to complete checkout"}))))}),[w,Je,null==Oe?void 0:Oe.name,O.walletAddress]);const Ze=i.useMemo((()=>{const e=null==se?void 0:se.filter((e=>e.symbol===me));return null==e?void 0:e[0]}),[me,se]),ei=i.useMemo((()=>"ETH"===me||"MATIC"===me||"SOL"===me),[me]),ii=i.useCallback(((e={},i={})=>{Object.keys(e).length>0&&e.key&&le(e.key,e.value),Object.keys(i).length>0&&i.exception&&ie(i.exception,i.hint)}),[ie,le]),li=i.useCallback((()=>{var e,i,l;const r=null===(e=null==O?void 0:O.balance)||void 0===e?void 0:e.nonNative,a=je-r,o=u.roundUp(a,4);return ei&&O&&(null===(i=null==O?void 0:O.balance)||void 0===i?void 0:i.native)<je?(He(Object.assign(Object.assign({},Fe),{isSwap:!1,balanceCheck:!0,message:`Your connected wallet does not have enough ${null==Ze?void 0:Ze.symbol} to complete your purchase.`})),!1):!ei&&O&&r<je?(null===(l=null==O?void 0:O.balance)||void 0===l?void 0:l.native)>=o?(He(Object.assign(Object.assign({},Fe),{isSwap:!0,balanceCheck:!1,message:String(o)})),!1):(He(Object.assign(Object.assign({},Fe),{isSwap:!1,balanceCheck:!0,message:`Your connected wallet does not have enough ${null==Ze?void 0:Ze.symbol} to complete your purchase.`})),!1):(He(Object.assign(Object.assign({},Fe),{isSwap:!1,balanceCheck:!1,message:""})),!0)}),[O,je,Fe,ei,Ze]);i.useEffect((()=>{Ke&&(Ye(!1),li())}),[Ke,li]);const ri=i.useCallback((async(e,i)=>{try{if(Ze){return await t.checkApproval({price:je,currency:null==Ze?void 0:Ze.symbol,currencyContractAddress:Ze.contractAddress,marketPlaceContractAddress:null==Ze?void 0:Ze.secondaryMarketplaceContractAddress,provider:i,status:e})}return Se("Checkout"),Ne("An error was encountered while processing your payment"),!1}catch(e){return We(Object.assign(Object.assign({},xe),{loading:!1})),Se("Checkout"),Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment"),!1}}),[Ze,je,xe]),ai=i.useCallback((async(e,i)=>{var l;try{pe&&(await fe({orgId:q.orgId,transactionHash:e,nftTokenId:null==pe?void 0:pe.nftTokenId,buyerAddress:null!==(l=null==O?void 0:O.walletAddress)&&void 0!==l?l:"",orderId:i}),We(Object.assign(Object.assign({},xe),{loading:!1,success:!0})))}catch(e){We(Object.assign(Object.assign({},xe),{loading:!1,success:!0}))}}),[q,xe,pe,null==O?void 0:O.walletAddress,fe]),oi=i.useCallback((async e=>{var i,l,r,a,o,n,t,u,d,c,v,m,b,g,p,C,y,h,w,k;try{if(pe&&Ze){const A=await Ae({orgId:q.orgId,nftTokenId:null==pe?void 0:pe.nftTokenId,buyerAddress:null!==(i=null==O?void 0:O.walletAddress)&&void 0!==i?i:"",currencyId:null==Ze?void 0:Ze.id}),f=null===(l=null==A?void 0:A.data)||void 0===l?void 0:l.initiateBuyNFT;if(f)if(ei){const i=await s.buyTokenWithNativeCurrency({tokenId:null===(r=null==f?void 0:f.order)||void 0===r?void 0:r.tokenId,price:String(null===(a=null==f?void 0:f.order)||void 0===a?void 0:a.fixedPrice),owner:null===(o=null==f?void 0:f.order)||void 0===o?void 0:o.nftOwnerAddress,contractAddress:null==pe?void 0:pe.contractAddress,proofOfApproval:null==f?void 0:f.proofOfApproval,random:null===(n=null==f?void 0:f.order)||void 0===n?void 0:n.id,currencyContractAddress:null===(u=null===(t=null==pe?void 0:pe.listedOrderInfo)||void 0===t?void 0:t.listedCurrency)||void 0===u?void 0:u.contractAddress,marketPlaceContractAddress:null==Ze?void 0:Ze.secondaryMarketplaceContractAddress,selectedAddress:null==Ze?void 0:Ze.contractAddress,provider:e});(null==i?void 0:i.status)?(Ue({referenceNumber:null===(d=null==f?void 0:f.order)||void 0===d?void 0:d.id,transactionHash:i.message,price:`${null===(c=null==f?void 0:f.order)||void 0===c?void 0:c.fixedPrice} ${null==Ze?void 0:Ze.symbol}`}),await ai(i.message,null===(v=null==f?void 0:f.order)||void 0===v?void 0:v.id)):(We(Object.assign(Object.assign({},xe),{loading:!1})),Se("Checkout"),"Reject"===(null==i?void 0:i.message)?Ne("Transaction has been cancelled by user"):Ne("An error was encountered while processing your payment"))}else{const i=await s.buyTokenWithNonNativeCurrency({tokenId:null===(m=null==f?void 0:f.order)||void 0===m?void 0:m.tokenId,price:String(null===(b=null==f?void 0:f.order)||void 0===b?void 0:b.fixedPrice),owner:null===(g=null==f?void 0:f.order)||void 0===g?void 0:g.nftOwnerAddress,contractAddress:null==pe?void 0:pe.contractAddress,proofOfApproval:null==f?void 0:f.proofOfApproval,random:null===(p=null==f?void 0:f.order)||void 0===p?void 0:p.id,currencyContractAddress:null===(y=null===(C=null==pe?void 0:pe.listedOrderInfo)||void 0===C?void 0:C.listedCurrency)||void 0===y?void 0:y.contractAddress,marketPlaceContractAddress:null==Ze?void 0:Ze.secondaryMarketplaceContractAddress,selectedAddress:null==Ze?void 0:Ze.contractAddress,provider:e});(null==i?void 0:i.status)?(Ue({referenceNumber:null===(h=null==f?void 0:f.order)||void 0===h?void 0:h.id,transactionHash:i.message,price:`${null===(w=null==f?void 0:f.order)||void 0===w?void 0:w.fixedPrice} ${null==Ze?void 0:Ze.symbol}`}),await ai(i.message,null===(k=null==f?void 0:f.order)||void 0===k?void 0:k.id)):(We(Object.assign(Object.assign({},xe),{loading:!1})),Se("Checkout"),Ne("An error was encountered while processing your payment"))}}}catch(e){We(Object.assign(Object.assign({},xe),{loading:!1})),Se("Checkout"),Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment")}}),[q,null==O?void 0:O.walletAddress,xe,Ze,pe,ei,Ae,ai]),ni=i.useCallback((e=>{ue(e)}),[ue]),ti=i.useCallback((async()=>{var e,i,l,r,a,o,n,t,u;try{We({success:!1,loading:!0}),Se("Confirmation");const d=await ce(null==O?void 0:O.walletAddress,null==O?void 0:O.providerType,ii);if(!(null==d?void 0:d.isMismatched))return Ne(`The initially connected wallet has been changed. Please switch back to the wallet \n (${m.truncateAddress(null==O?void 0:O.walletAddress)}) to continue.`),void We({success:!1,loading:!1});if(pe&&Ze){const d=await Ae({orgId:q.orgId,nftTokenId:null==pe?void 0:pe.nftTokenId,buyerAddress:null!==(e=null==O?void 0:O.walletAddress)&&void 0!==e?e:"",currencyId:null==Ze?void 0:Ze.id}),c=null===(i=null==d?void 0:d.data)||void 0===i?void 0:i.initiateBuyNFT,{walletAddress:v,balance:m,networkDetails:b,provider:g,providerType:p}=O,C=await s.buySolanaNFT(v,m,p,g,b.chainID,ni,null==c?void 0:c.bubblegumParams,null==q?void 0:q.customRPCUrl,ii);C&&!C.error||(We({loading:!1,success:!1}),Ne((null==C?void 0:C.error)||"Something went wrong"),ni(""),Se("Checkout")),(null==C?void 0:C.success)&&(Ue({referenceNumber:null!==(r=null===(l=null==c?void 0:c.order)||void 0===l?void 0:l.id)&&void 0!==r?r:"",transactionHash:null===(a=C.response)||void 0===a?void 0:a.hash,price:`${null===(o=null==c?void 0:c.order)||void 0===o?void 0:o.fixedPrice} ${null==Ze?void 0:Ze.symbol}`}),await ai(null===(n=C.response)||void 0===n?void 0:n.hash,null!==(u=null===(t=null==c?void 0:c.order)||void 0===t?void 0:t.id)&&void 0!==u?u:""),We({loading:!1,success:!0}))}}catch(e){We({success:!1,loading:!1}),Se("Checkout"),ni(""),ii({key:"Additional Data",value:{path:"Error Inside an buynow function catch block - 569"}},{exception:e}),Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment")}}),[null==q?void 0:q.customRPCUrl,pe,Ze,q.orgId,O,Ae,ai,ni,ce,ii]),ui=i.useCallback((async e=>{var i;if(Me||0!==(null==De?void 0:De.length))try{if(!li())return;if("Retry"===e&&(Ne(""),Se("Checkout")),"View Item"===e&&(Ne(""),We({success:!1,loading:!1}),Se("Checkout"),S(),null==E||E(!0)),"Buy Now"===e&&Ze){if(ae){We(Object.assign(Object.assign({},xe),{loading:!0})),Se("Confirmation");let e=null;if(e=(null==O?void 0:O.providerType)===r.ProviderType.EMAIL?null===(i=null==O?void 0:O.provider)||void 0===i?void 0:i.provider:null==O?void 0:O.provider,ei)await oi(e);else{if(await ri(!1,e))await oi(e);else{const i=await t.unlockApproval({currency:null==Ze?void 0:Ze.symbol,currencyContractAddress:null==Ze?void 0:Ze.contractAddress,marketPlaceContractAddress:null==Ze?void 0:Ze.secondaryMarketplaceContractAddress,provider:e});if(null==i?void 0:i.status){"success"===await ri(!0,e)?await oi(e):(We(Object.assign(Object.assign({},xe),{loading:!1})),Se("Checkout"),Ne(`You don't have enough approval or balance of\n ${je} ${null==Ze?void 0:Ze.symbol}\n to complete this purchase. Please try again or increase allowance.`))}else"Reject"===(null==i?void 0:i.message)?(We(Object.assign(Object.assign({},xe),{loading:!1})),Se("Checkout"),Ne("Transaction has been cancelled by user")):(Se("Checkout"),We(Object.assign(Object.assign({},xe),{loading:!1})),Ne("An error was encountered while processing your payment"))}}}oe&&await ti()}}catch(e){We(Object.assign(Object.assign({},xe),{loading:!1})),Se("Checkout"),Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment")}else Be(!0)}),[Me,Ze,xe,je,ei,null==O?void 0:O.provider,null==O?void 0:O.providerType,De,oe,ae,S,ti,ri,oi,li,E]),si=i.useCallback((async()=>{if(null==Oe?void 0:Oe.chainID){He(Object.assign(Object.assign({},Fe),{isWalletConnected:!0})),We(Object.assign(Object.assign({},xe),{loading:!0}));const e=await c.onSwitchNetwork(null==Oe?void 0:Oe.chainID,Ge,O.provider);Ne(null==e?void 0:e.message),We(Object.assign(Object.assign({},xe),{loading:!1}))}}),[Oe,Ge,xe,Fe,O.provider]),di=i.useCallback((async e=>{if(Ze){We(Object.assign(Object.assign({},xe),{loading:!0}));const i=await v.swapPrice({price:+e,currencyContractAddress:null==Ze?void 0:Ze.contractAddress,provider:O.provider});E&&E(!0),setTimeout((()=>{We(Object.assign(Object.assign({},xe),{loading:!1})),Ne(i.message),Ye(!0)}),2e3)}}),[Ze,xe,O.provider,E]),ci=i.useCallback((e=>{be(e.target.value),He(Object.assign(Object.assign({},Fe),{isSwap:!1,balanceCheck:!1}))}),[Fe]),vi=i.useCallback((e=>{Pe(e.target.checked),Be(!1)}),[Pe,Be]),mi=i.useCallback((()=>{xe.loading||(D(),He({isSwap:!1,balanceCheck:!1,message:"",networkCheck:!1,isWalletConnected:!1}),N&&"Confirmation"===Ie&&!De&&(Ne(""),We({success:!1,loading:!1}),Se("Checkout"),N(),null==E||E(!0)))}),[Ie,De,N,D,E,xe]),bi=i.useCallback((e=>{navigator.clipboard.writeText(e).then((()=>{Le(e),setTimeout((()=>{Le("close")}),1e3)})).catch((()=>{Le("close")}))}),[]),gi=i.useCallback((()=>{var e;if(Ze){const i=d.getEtherScanURL(null===(e=null==Ze?void 0:Ze.network)||void 0===e?void 0:e.chainID,$e.transactionHash);window.open(i,"_blank")}}),[$e,Ze]);return e.jsx(g.default,{open:w,image:k,tokenDetails:{tokenImage:p.getValidURL((null==pe?void 0:pe.mediaSourceURL)||(null===(B=null==pe?void 0:pe.metadata)||void 0===B?void 0:B.image)||""),tokenName:(null===(F=null==pe?void 0:pe.metadata)||void 0===F?void 0:F.name)||"",tokenArtistName:Xe||"",thumbnail:null===(H=null==pe?void 0:pe.metadata)||void 0===H?void 0:H.image,chainId:(null==Oe?void 0:Oe.chainID)||0},contractProgressMessage:te,walletType:O.walletType,walletAddress:null!==($=null==O?void 0:O.walletAddress)&&void 0!==$?$:"",breadCrumbs:[{label:"Checkout",value:"Checkout"},{label:"Confirmation",value:"Confirmation"}],selectedBreadCrumbs:Ie,mediaCardAttributes:Object.assign(Object.assign({},I),{customThumbnail:(null==I?void 0:I.customThumbnail)||(null===(U=null==pe?void 0:pe.metadata)||void 0===U?void 0:U.image)}),currencyData:(null===(K=null===(_=null===(V=null==pe?void 0:pe.price)||void 0===V?void 0:V.buyNowPrice)||void 0===_?void 0:_[1])||void 0===K?void 0:K.unit)||"",price:String(b.formatNumberWithCommas(je)),usdPrice:`${u.truncateDecimal(n.getFee(je,Number(null==Ce?void 0:Ce.amount),!0))} ${null!==(Y=q.currency)&&void 0!==Y?Y:"USD"}`,symbol:null!==(G=null==Ze?void 0:Ze.symbol)&&void 0!==G?G:"",progress:xe,error:De,termsCheck:Me,validateTerms:Re,validateBuyNow:Fe,copied:Ee,selectCurrency:null!=me?me:"",orderDetails:$e,currencyList:null!=ve?ve:[],balance:ei?`${null===(Q=null==O?void 0:O.balance)||void 0===Q?void 0:Q.native} ${null===(z=null==ve?void 0:ve[0])||void 0===z?void 0:z.label}`:`${null===(J=null==O?void 0:O.balance)||void 0===J?void 0:J.nonNative} ${null!==(Z=null===(X=null==ve?void 0:ve[1])||void 0===X?void 0:X.label)&&void 0!==Z?Z:Te[0].label}`,detailsLoading:he||de||we||ke,isValidBuyNow:Ve,termsURL:null!=j?j:"#",conditionOfBusinessURL:null!=T?T:"#",onChangeTermsAndCondition:vi,onChangeCurrency:ci,onClickBuyNow:ui,onClickSwap:di,onClickSwitchNetwork:si,onClickConnectWallet:M,onClickDisconnectWallet:P,onClickCopyHash:()=>bi($e.transactionHash),onClickCopyReference:()=>bi($e.referenceNumber),onClickCopyWalletAddress:()=>bi(null==O?void 0:O.walletAddress),onClickViewOnEtherScan:gi,onCloseModal:mi})};