UNPKG

@mojito-inc/secondary-market

Version:

Mojito secondary market is the platform to purchase NFT.

2 lines (1 loc) 22.4 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),r=require("@mojito-inc/core-service"),t=require("ethers"),l=require("../layout/ListItemLayout.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("@mui/icons-material/ErrorOutline"),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");var n=require("../interface/index.js");require("@mui/icons-material/Warning"),require("@mui/icons-material/CheckCircleOutline"),require("@mui/material/Checkbox"),require("@mui/icons-material/ContentCopy");var a=require("../utils/truncateAddress.utils.js"),o=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");var s=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 u=require("../utils/truncateDecimal.utils.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 d=require("../hooks/useTax.js"),c=require("../hooks/useTokenDetails.js"),m=require("../hooks/useSupportedCurrency.js"),v=require("../utils/getFee.utils.js"),g=require("../utils/listItemContract.utils.js"),y=require("../utils/switchNetwork.utils.js"),p=require("../utils/getValidURL.utils.js"),b=require("../utils/removeListingContract.utils.js"),w=require("../utils/editListingContract.utils.js"),k=require("../utils/traits.utils.js"),q=require("../hooks/useSolanaWalletPolling.js"),I=require("../provider/SentryProvider.js");exports.default=({open:h,image:T,config:f,tokenDetails:C,isRemoveListing:A,tokenDetailsData:O,walletDetails:L,priceInputRange:j,customRPCUrl:S,mediaCardAttributes:P,onCloseModal:D,onClickViewItem:E,onClickBackToMarketPlace:M,onConnectWallet:F,onRefetchBalance:R,onHandleApiSessionExpired:N})=>{var x,$,U,_,W,B,V,H,G,K,J,Q;const{sessionStatus:z}=r.useAuth(),[X,Y]=i.useState(""),{checkForMismatchWalletAddress:Z}=q.default(),{addCaptureExceptionForSentry:ee,addExtraLogsForSentry:ie}=I.useSentry(),re=i.useMemo((()=>{var e;return{orgId:f.orgId,contractAddress:C.contractAddress,itemId:C.itemId,onChainTokenID:C.onChainTokenID,currency:null!==(e=null==f?void 0:f.currency)&&void 0!==e?e:n.Currency.USD}}),[f,C]),te=i.useMemo((()=>"ethereum"===L.walletType),[L.walletType]),le=i.useMemo((()=>"solana"===L.walletType),[L.walletType]),ne=i.useCallback((e=>{Y(e)}),[Y]),{createSignatureToListNFTForSale:ae,submitProofOfApproval:oe,removeListing:se,initiateRemoveListing:ue,editTokenListing:de,updateTokenListing:ce}=r.useListItem(),{supportedCurrencyData:me,currencyLoading:ve}=m.useSupportedCurrency(re,h),ge=i.useMemo((()=>{var e;return null===(e=null==me?void 0:me.map((e=>({value:e.symbol,label:e.symbol}))))||void 0===e?void 0:e.sort(((e,i)=>{var r;return null===(r=null==e?void 0:e.label)||void 0===r?void 0:r.localeCompare(null==i?void 0:i.label)}))}),[me]),[ye,pe]=i.useState(null===(x=null==ge?void 0:ge[0])||void 0===x?void 0:x.label),be=i.useMemo((()=>Object.assign(Object.assign({},re),{cryptoCurrencyCode:null!=ye?ye:n.CryptoCurrency.ETH})),[ye,re]),{tokenData:we,usdData:ke,networkData:qe,detailsLoading:Ie,isNetworkLoading:he,isPriceLoading:Te,reFetchAPI:fe}=c.useTokenDetails(be,h,O),{taxData:Ce,taxLoading:Ae}=d.useTax(f.orgId,n.TaxEstimateType.LIST_FOR_SALE,C.itemId,h,null!==($=null==f?void 0:f.currency)&&void 0!==$?$:"USD"),Oe=i.useMemo((()=>{var e,i;return(null===(e=null==we?void 0:we.tokenOwnerAddress)||void 0===e?void 0:e.toLowerCase())===(null===(i=null==L?void 0:L.walletAddress)||void 0===i?void 0:i.toLowerCase())}),[we,L.walletAddress]),Le=i.useMemo((()=>!(!(null==we?void 0:we.status)||!Oe)&&("OPEN_FOR_SALE"===(null==we?void 0:we.status)||"SALE_PENDING"===(null==we?void 0:we.status))),[we,Oe]),je=i.useMemo((()=>{var e,i,r;if(le){const r=null===(i=null===(e=null==we?void 0:we.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?k.getTraitsDescription(r.value):""}return null===(r=null==we?void 0:we.artist)||void 0===r?void 0:r.artistName}),[null===(U=null==we?void 0:we.artist)||void 0===U?void 0:U.artistName,le,null===(_=null==we?void 0:we.metadata)||void 0===_?void 0:_.attributes]),Se=i.useMemo((()=>(null==we?void 0:we.status)===n.TokenStatus.SALE_PENDING),[we]),Pe=i.useMemo((()=>{const e=null==qe?void 0:qe.filter((e=>e.id===(null==we?void 0:we.networkID)));return null==e?void 0:e[0]}),[qe,we]),[De,Ee]=i.useState(A?"Remove Listing":Se?"Edit Listing":"List Item"),[Me,Fe]=i.useState("0"),[Re,Ne]=i.useState(""),[xe,$e]=i.useState({loading:!1,success:!1}),[Ue,_e]=i.useState(""),[We,Be]=i.useState(""),[Ve,He]=i.useState("");i.useEffect((()=>{h&&(fe(),Fe("0"),Ne(""),Ee(A?"Remove Listing":Se?"Edit Listing":"List Item"))}),[h,A,Se,fe]),i.useEffect((()=>{"Expired"===z&&(D(),null==N||N())}),[N,D,z]),i.useEffect((()=>{var e;h&&(pe(null===(e=null==ge?void 0:ge[0])||void 0===e?void 0:e.label),(null==L?void 0:L.walletAddress)||He("Connect your wallet to complete process"),(null==L?void 0:L.walletAddress)&&He(""))}),[h,ge,L.walletAddress]),i.useEffect((()=>{var e,i,r,t;h&&Se&&(null==we?void 0:we.listedOrderInfo)&&(Fe(String(null===(i=null===(e=null==we?void 0:we.listedOrderInfo)||void 0===e?void 0:e.price[1])||void 0===i?void 0:i.value)),pe(null===(t=null===(r=null==we?void 0:we.listedOrderInfo)||void 0===r?void 0:r.price[1])||void 0===t?void 0:t.unit))}),[we,Se,h]),i.useEffect((()=>{var e,i;h&&(Pe&&(null==Pe?void 0:Pe.chainID)!==(null===(e=null==L?void 0:L.networkDetails)||void 0===e?void 0:e.chainID)&&Le&&(null==L?void 0:L.walletAddress)&&!xe.loading&&0===(null==Re?void 0:Re.length)&&_e(null==Pe?void 0:Pe.name),Pe&&(null==Pe?void 0:Pe.chainID)===(null===(i=null==L?void 0:L.networkDetails)||void 0===i?void 0:i.chainID)&&_e(""),((null==L?void 0:L.walletAddress)&&!Le||!Se&&A&&!xe.success&&(null==L?void 0:L.walletAddress))&&Be(A?"Item has been not listed":"Cannot able to list this item!"),((null==L?void 0:L.walletAddress)&&Le&&!A||Se&&A)&&Be(""))}),[h,Pe,null==L?void 0:L.walletAddress,null===(W=null==L?void 0:L.networkDetails)||void 0===W?void 0:W.chainID,Le,A,Se,xe,Re]);const Ge=i.useMemo((()=>{const e=null==me?void 0:me.map((e=>e.symbol));return null==e?void 0:e[0]}),[me]),Ke=i.useMemo((()=>{var e,i;if(Ce){const r=null!==(i=null!==(e=Ce.commissionFee)&&void 0!==e?e:0+Ce.royaltyFee)&&void 0!==i?i:0;return null!=r?r:0}return 0}),[Ce]),Je=i.useMemo((()=>{if(Ke&&(null==ke?void 0:ke.amount)){const e=v.getFee(+Me,Ke,!1),i=v.getFee(e,Number(null==ke?void 0:ke.amount),!0);return{cryptoPrice:e,title:`Creator Earnings (${Ke}%)`,usdPrice:i}}return{cryptoPrice:0,title:"Creator Earnings (0%)",usdPrice:0}}),[Me,ke,Ke]),Qe=i.useMemo((()=>{if((null==Ce?void 0:Ce.platformFee)&&(null==ke?void 0:ke.amount)){const e=v.getFee(+Me,null==Ce?void 0:Ce.platformFee,!1),i=v.getFee(e,Number(null==ke?void 0:ke.amount),!0);return{cryptoPrice:e,title:`Service Fee (${null==Ce?void 0:Ce.platformFee}%)`,usdPrice:i}}return{cryptoPrice:0,title:"Service Fee (0%)",usdPrice:0}}),[Me,Ce,ke]),ze=i.useMemo((()=>{var e,i;if(Je&&Qe){const i=+Me-(Je.cryptoPrice+Qe.cryptoPrice),r=v.getFee(+Me,Number(null==ke?void 0:ke.amount),!0)-(Je.usdPrice+Qe.usdPrice);return{cryptoPrice:`${u.truncateDecimal(o.formatNumberWithCommas(i))} ${ye}`,title:"Potential Earnings",usdPrice:`${u.truncateDecimal(r)} ${null!==(e=null==f?void 0:f.currency)&&void 0!==e?e:"USD"}`}}return{cryptoPrice:`0 ${ye}`,title:"Potential Earnings",usdPrice:`0 ${null!==(i=null==f?void 0:f.currency)&&void 0!==i?i:"USD"}`}}),[Me,ye,Je,Qe,ke,f.currency]),Xe=i.useMemo((()=>{const e=null==me?void 0:me.filter((e=>e.symbol===ye));return null==e?void 0:e[0]}),[me,ye]),Ye=i.useMemo((()=>(null==L?void 0:L.providerType)===n.ProviderType.METAMASK),[L.providerType]),Ze=i.useMemo((()=>[{label:A?"Remove Listing":Se?"Edit Listing":"List Item",value:A?"Remove Listing":Se?"Edit Listing":"List Item"},{label:"Confirmation",value:"Confirmation"}]),[Se,A]),ei=i.useCallback(((e={},i={})=>{Object.keys(e).length>0&&e.key&&ie(e.key,e.value),Object.keys(i).length>0&&i.exception&&ee(i.exception,i.hint)}),[ee,ie]),ii=i.useCallback((e=>{let{value:i}=e.target;if(le){const e=parseFloat(i);Number.isNaN(e)||(i=Math.round(e).toString())}i.length<=(null!=j?j:6)&&Fe(i),Ne("")}),[j,le]),ri=i.useCallback((e=>{pe(e.target.value)}),[]),ti=i.useCallback((async()=>{var e,i,r,t,l;try{$e(Object.assign(Object.assign({},xe),{loading:!0})),Ee("Confirmation");const n=await Z(null==L?void 0:L.walletAddress,null==L?void 0:L.providerType,ei);if(!(null==n?void 0:n.isMismatched))return Ne(`The initially connected wallet has been changed. Please switch back to the wallet \n (${a.truncateAddress(null==L?void 0:L.walletAddress)}) to continue.`),void $e(Object.assign(Object.assign({},xe),{loading:!1}));const o=await ue({orgId:f.orgId,nftTokenId:null!==(e=null==we?void 0:we.nftTokenId)&&void 0!==e?e:""}),{walletAddress:s,provider:u,providerType:d,networkDetails:{chainID:c},balance:m}=L,v=await b.removeListingSolanaItem(s,m,u,d,ne,c,null===(i=o.data)||void 0===i?void 0:i.initiateRemoveListing,S,ei);if(v&&!v.error||($e(Object.assign(Object.assign({},xe),{loading:!1,success:!1})),ne(""),Ne((null==v?void 0:v.error)||"Something went wrong")),v&&v.success)try{await se({orgID:f.orgId,nftTokenId:null!==(r=null==we?void 0:we.nftTokenId)&&void 0!==r?r:"",currency:null!==(t=null==f?void 0:f.currency)&&void 0!==t?t:"USD",signature:null===(l=v.response)||void 0===l?void 0:l.hash})}catch(e){}finally{$e({loading:!1,success:!0})}}catch(e){$e({success:!1,loading:!1}),ei({key:"Additional Data",value:{path:"Error Inside an remove listing function catch block - 493"}},{exception:e}),Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment"),ne(""),Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment")}}),[null==f?void 0:f.currency,S,f.orgId,xe,null==we?void 0:we.nftTokenId,L,ue,se,ne,Z,ei]),li=i.useCallback((async()=>{var e;try{te&&($e(Object.assign(Object.assign({},xe),{loading:!0})),Ee("Confirmation"),await se({orgID:f.orgId,nftTokenId:null!==(e=null==we?void 0:we.nftTokenId)&&void 0!==e?e:""}),$e(Object.assign(Object.assign({},xe),{loading:!1,success:!0}))),le&&await ti()}catch(e){$e(Object.assign(Object.assign({},xe),{loading:!1})),Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment")}}),[te,le,xe,se,f.orgId,null==we?void 0:we.nftTokenId,ti]),ni=i.useCallback((async e=>{var i,r,l;try{const r=t.utils.arrayify(e);if((null==L?void 0:L.providerType)===n.ProviderType.EMAIL){return await(null===(i=null==L?void 0:L.provider)||void 0===i?void 0:i.signMessage(r))}const l=(null==L?void 0:L.provider).getSigner();return await(null==l?void 0:l.signMessage(r))}catch(e){return $e(Object.assign(Object.assign({},xe),{loading:!1})),(null===(r=e.message)||void 0===r?void 0:r.includes(s.ErrorsType.USER_REJECTED))||(null===(l=e.message)||void 0===l?void 0:l.includes(s.ErrorsType.USER_DENIED))?Ne("Transaction has been cancelled by user"):Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment"),""}}),[xe,null==L?void 0:L.provider,null==L?void 0:L.providerType]),ai=i.useCallback((async()=>{var e,i,r,t,l;try{if(we&&Xe){$e(Object.assign(Object.assign({},xe),{loading:!0}));const t=await ae({orgId:f.orgId,nftTokenId:null==we?void 0:we.nftTokenId,tokenType:(null==we?void 0:we.tokenType.includes("ERC721"))?null==we?void 0:we.tokenType:"ERC1155",quantity:1,nftOwnerAddress:null==we?void 0:we.tokenOwnerAddress,fixedPrice:+Me,paymentToken:Xe.contractAddress,currencyId:null==Xe?void 0:Xe.id});if(null===(e=t.data)||void 0===e?void 0:e.createSignatureToListNFTForSale.messageToSign){const e=await ni(null===(i=t.data)||void 0===i?void 0:i.createSignatureToListNFTForSale.messageToSign);e&&(await oe({nftTokenId:null==we?void 0:we.nftTokenId,signature:e,quantity:1,orgID:f.orgId,paymentToken:Xe.contractAddress,creatorFee:Je.cryptoPrice,currencyId:Xe.id,fixedPrice:+Me,currency:null!==(r=null==f?void 0:f.currency)&&void 0!==r?r:"USD"}),$e(Object.assign(Object.assign({},xe),{loading:!1,success:!0})))}}}catch(e){$e(Object.assign(Object.assign({},xe),{loading:!1})),(null===(t=e.message)||void 0===t?void 0:t.includes(s.ErrorsType.USER_REJECTED))||(null===(l=e.message)||void 0===l?void 0:l.includes(s.ErrorsType.USER_DENIED))?Ne("Transaction has been cancelled by user"):Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment")}}),[f,Me,we,Xe,Je,xe,ni,ae,oe]),oi=i.useCallback((async()=>{var e,i,r,t,l;try{if(we&&Xe){$e(Object.assign(Object.assign({},xe),{loading:!0}));const n=await ae({orgId:f.orgId,nftTokenId:null==we?void 0:we.nftTokenId,tokenType:"NonFungible",quantity:1,nftOwnerAddress:null==we?void 0:we.tokenOwnerAddress,fixedPrice:+Me,paymentToken:Xe.contractAddress,currencyId:null==Xe?void 0:Xe.id}),a=null===(i=null===(e=null==n?void 0:n.data)||void 0===e?void 0:e.createSignatureToListNFTForSale)||void 0===i?void 0:i.bubblegumListParams,{walletAddress:o,provider:s,providerType:u,networkDetails:d,balance:c}=L,m=await g.listItemSolana(o,c,u,s,ne,d.chainID,a,S,ei);if(m&&!m.error||($e(Object.assign(Object.assign({},xe),{loading:!1,success:!1})),ne(""),Ne((null==m?void 0:m.error)||"Something went wrong")),null==m?void 0:m.success)try{await oe({nftTokenId:null==we?void 0:we.nftTokenId,signature:null===(r=null==m?void 0:m.response)||void 0===r?void 0:r.hash,quantity:1,orgID:f.orgId,paymentToken:Xe.contractAddress,creatorFee:Je.cryptoPrice,currencyId:Xe.id,fixedPrice:+Me,listingReceipt:null===(t=m.response)||void 0===t?void 0:t.listingReceipt,currency:null!==(l=null==f?void 0:f.currency)&&void 0!==l?l:"USD"})}catch(e){}finally{$e({loading:!1,success:!0})}}}catch(e){ei({key:"Additional Data",value:{path:"Error Inside an list item function catch block - 731"}},{exception:e}),Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment"),ne(""),$e(Object.assign(Object.assign({},xe),{loading:!1,success:!1}))}}),[we,Xe,xe,f.orgId,f.currency,Me,L,Je.cryptoPrice,S,ae,oe,ne,ei]),si=i.useCallback((async()=>{var e,i;try{if(we){$e({loading:!0,success:!1});const r=await de({orgId:f.orgId,nftTokenId:null==we?void 0:we.nftTokenId,fixedPrice:+Me}),t=null===(e=null==r?void 0:r.data)||void 0===e?void 0:e.editTokenListing,{walletAddress:l,provider:n,providerType:a,networkDetails:o,balance:s}=L,u=await w.editListingSolana(l,s,n,a,ne,o.chainID,t,S,ei);if(u&&!u.error||($e({loading:!1,success:!1}),Y(""),Ne((null==u?void 0:u.error)||"Something went wrong")),null==u?void 0:u.success)try{await ce({orgId:f.orgId,nftTokenId:null==we?void 0:we.nftTokenId,fixedPrice:+Me,signature:null===(i=u.response)||void 0===i?void 0:i.hash})}catch(e){}finally{$e({loading:!1,success:!0})}}}catch(e){Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment"),ei({key:"Additional Data",value:{path:"Error Inside an edit listing function catch block - 824"}},{exception:e}),ne(""),$e({loading:!1,success:!1})}}),[f.orgId,S,Me,we,L,de,ce,ne,ei]),ui=i.useCallback((async e=>{var i;try{if(!(null==L?void 0:L.walletAddress))return void F();if(+Me<.04)return void Ne(`Minimum listing price should be more than ${te?"0.4":"1"} ${null==Xe?void 0:Xe.symbol}`);if("List Item"===e||"Edit Listing"===e)Ne(""),Ee("Confirmation");else if("Retry"===e)Ne(""),Ee(A?"Remove Listing":Se?"Edit Listing":"List Item");else if("View Item"===e)Ne(""),$e({success:!1,loading:!1}),Fe("0"),Ee(A?"Remove Listing":Se?"Edit Listing":"List Item"),E(),null==R||R(!0);else if("Remove Listing"===e)li();else if(we&&Xe){if(Ne(""),$e(Object.assign(Object.assign({},xe),{loading:!0})),te){let e=null;e=(null==L?void 0:L.providerType)===n.ProviderType.EMAIL?null===(i=null==L?void 0:L.provider)||void 0===i?void 0:i.provider:null==L?void 0:L.provider;if(await g.checkApproval({tokenContractAddress:null==we?void 0:we.contractAddress,contractName:null==we?void 0:we.tokenType,marketPlaceContractAddress:null==Xe?void 0:Xe.secondaryMarketplaceContractAddress,provider:e}))await ai();else{const i=await g.approveToken({tokenContractAddress:null==we?void 0:we.contractAddress,contractName:null==we?void 0:we.tokenType,marketPlaceContractAddress:null==Xe?void 0:Xe.secondaryMarketplaceContractAddress,provider:e});if(null==i?void 0:i.status){await g.waitForApproval(null==i?void 0:i.message)&&await ai()}else Ne(null==i?void 0:i.message),$e(Object.assign(Object.assign({},xe),{loading:!1}))}}if(le){const e=await Z(null==L?void 0:L.walletAddress,null==L?void 0:L.providerType,ei);if(!(null==e?void 0:e.isMismatched))return Ne(`The initially connected wallet has been changed. Please switch back to the wallet \n (${a.truncateAddress(null==L?void 0:L.walletAddress)}) to continue.`),void $e(Object.assign(Object.assign({},xe),{loading:!1}));Se?await si():await oi()}}else Ne("An error was encountered while processing your payment"),$e(Object.assign(Object.assign({},xe),{loading:!1}))}catch(e){Ne((null==e?void 0:e.message)||"An error was encountered while processing your payment"),$e(Object.assign(Object.assign({},xe),{loading:!1}))}}),[we,Xe,xe,Me,null==L?void 0:L.walletAddress,null==L?void 0:L.provider,null==L?void 0:L.providerType,Se,A,te,le,E,ai,li,F,oi,si,R,Z,ei]),di=i.useCallback((async()=>{if(null==Pe?void 0:Pe.chainID){_e(""),$e(Object.assign(Object.assign({},xe),{loading:!0}));const e=await y.onSwitchNetwork(null==Pe?void 0:Pe.chainID,Ye,L.provider);$e(Object.assign(Object.assign({},xe),{loading:!1})),Ne(null==e?void 0:e.message)}}),[Ye,L.provider,Pe,xe]),ci=i.useCallback((()=>{xe.loading||(D(),M&&"Confirmation"===De&&!Re&&(Ne(""),$e({success:!1,loading:!1}),Fe("0"),Ee(A?"Remove Listing":Se?"Edit Listing":"List Item"),M(),null==R||R(!0)))}),[De,Se,A,xe,Re,D,R,M]);return e.jsx(l.default,{open:h,image:T,walletType:L.walletType,contractProgressMessage:X,isEthereumWallet:te,tokenDetails:{tokenImage:p.getValidURL((null==we?void 0:we.mediaSourceURL)||(null===(B=null==we?void 0:we.metadata)||void 0===B?void 0:B.image)||""),thumbnail:null===(V=null==we?void 0:we.metadata)||void 0===V?void 0:V.image,tokenName:(null===(H=null==we?void 0:we.metadata)||void 0===H?void 0:H.name)||"",tokenArtistName:je||""},breadCrumbs:Ze,selectedBreadCrumbs:De,creatorFee:{cryptoPrice:`${u.truncateDecimal(o.formatNumberWithCommas(null==Je?void 0:Je.cryptoPrice))} ${ye}`,title:null==Je?void 0:Je.title,usdPrice:`${u.truncateDecimal(null==Je?void 0:Je.usdPrice)} ${null!==(G=f.currency)&&void 0!==G?G:"USD"}`},serviceFee:{cryptoPrice:`${u.truncateDecimal(o.formatNumberWithCommas(null==Qe?void 0:Qe.cryptoPrice))} ${ye}`,title:null==Qe?void 0:Qe.title,usdPrice:`${u.truncateDecimal(null==Qe?void 0:Qe.usdPrice)} ${null!==(K=f.currency)&&void 0!==K?K:"USD"}`},totalPrice:{cryptoPrice:null==ze?void 0:ze.cryptoPrice,title:null==ze?void 0:ze.title,usdPrice:null==ze?void 0:ze.usdPrice},listingPrice:{cryptoPrice:`${o.formatNumberWithCommas(Me)} ${null==Xe?void 0:Xe.symbol}`,title:"Listing Price",usdPrice:`${u.truncateDecimal(v.getFee(+Me,Number(null==ke?void 0:ke.amount),!0))} ${null!==(J=f.currency)&&void 0!==J?J:"USD"}`},currencyData:Ge||"ETH",price:Me,selectCurrency:ye,error:Re,isEdit:Se,progress:xe,currencyList:null!=ge?ge:[],isRemoveListing:A,switchNetwork:Ue,isValidListItem:We,isLoading:Ie||ve||Ae||Te||he,walletConnection:Ve,maxLength:j,mediaCardAttributes:Object.assign(Object.assign({},P),{customThumbnail:(null==P?void 0:P.customThumbnail)||(null===(Q=null==we?void 0:we.metadata)||void 0===Q?void 0:Q.image)}),onClickConnectWallet:F,onClickSwitchNetwork:di,onChangePrice:ii,onChangeCurrency:ri,onClickListItem:ui,onCloseModal:ci})};