UNPKG

@mojito-inc/secondary-market

Version:

Mojito secondary market is the platform to purchase NFT.

2 lines (1 loc) 21.6 kB
import{jsx as i}from"react/jsx-runtime";import{useState as e,useMemo as t,useCallback as o,useEffect as r}from"react";import{useAuth as n,useListItem as l}from"@mojito-inc/core-service";import{utils as a}from"ethers";import s from"../layout/ListItemLayout.js";import"@mui/material/Stack";import"@mui/material/Modal";import"@mui/material/Divider";import"@mui/material/Grid";import"@mui/material/Button";import"@mui/material/Typography";import"@mui/material/Box";import"@mui/material/styles";import"@mui/icons-material/ErrorOutline";import"html-react-parser";import"../component/VideoWithImageCard.js";import"@mui/material/Tooltip";import"@mui/icons-material/InfoOutlined";import"@mui/icons-material/KeyboardArrowDown";import"@mui/material/Select";import"@mui/material/TextField";import"@mui/material/MenuItem";import"@mui/icons-material/ImportExport";import{Currency as d,CryptoCurrency as u,TaxEstimateType as c,TokenStatus as m,ProviderType as v}from"../interface/index.js";import"@mui/icons-material/Warning";import"@mui/icons-material/CheckCircleOutline";import"@mui/material/Checkbox";import"@mui/icons-material/ContentCopy";import{truncateAddress as p}from"../utils/truncateAddress.utils.js";import{formatNumberWithCommas as g}from"../utils/formatNumberWithCommas.js";import"@mui/icons-material/KeyboardArrowUp";import"@mui/icons-material/HelpOutline";import"@mui/material/IconButton";import"@mui/icons-material/FavoriteBorder";import"@mui/icons-material/Favorite";import"@mui/icons-material/FileCopyOutlined";import"moment";import"@mui/material/Pagination";import"@mui/material/PaginationItem";import"@mui/material";import"@mui/material/Table";import"@mui/material/TableCell";import"@mui/material/TableHead";import"@mui/material/TableBody";import"@mui/material/TableRow";import"@mui/material/TableContainer";import"@mui/icons-material/OpenInNew";import"@mui/material/Skeleton";import"@mui/material/CardActions";import"@mui/material/Card";import"@mui/material/CardContent";import"@mui/icons-material/RemoveCircleOutline";import"@mui/icons-material/SellOutlined";import"@mui/icons-material/AttachMoneyOutlined";import"@mui/icons-material/Send";import"@mui/icons-material/NewReleases";import"@mui/icons-material/CancelScheduleSend";import"@mui/icons-material/HourglassDisabledOutlined";import"@mui/icons-material/CallMissedOutlined";import"@mui/icons-material/MoveToInboxOutlined";import"@mui/icons-material/CheckCircleOutlineOutlined";import"@mui/icons-material/BorderColorOutlined";import"@mui/icons-material/Twitter";import"@mui/icons-material/MoreVert";import{ErrorsType as y}from"../constant/index.js";import"@mui/material/useMediaQuery";import"@mui/material/CircularProgress";import"react-player";import"@mui/icons-material/Pause";import"@mui/icons-material/PlayArrow";import"../_virtual/_tslib.js";import"@mui/material/Tab";import"@mui/material/Tabs";import"@mui/material/Menu";import"@mui/material/ListItem";import"@mui/material/List";import"@mui/icons-material/Close";import"@mui/material/ListItemText";import"@mui/icons-material/CheckRounded";import"@mui/icons-material/FiberManualRecord";import"@mui/icons-material/Refresh";import"../component/RenderIf.js";import"@mui/icons-material/AccountBalanceWallet";import"@mui/material/Breadcrumbs";import"@mui/icons-material/ArrowForward";import{truncateDecimal as w}from"../utils/truncateDecimal.utils.js";import"@mui/material/InputAdornment";import"@mui/icons-material/Search";import"@mui/icons-material/FilterList";import"../provider/CollectionFilterProvider.js";import"@mui/material/Accordion";import"@mui/material/AccordionSummary";import"@mui/material/AccordionDetails";import"@mui/material/FormControlLabel";import"@mui/icons-material/ExitToAppOutlined";import{useTax as b}from"../hooks/useTax.js";import{useTokenDetails as f}from"../hooks/useTokenDetails.js";import{useSupportedCurrency as I}from"../hooks/useSupportedCurrency.js";import{getFee as h}from"../utils/getFee.utils.js";import{listItemSolana as k,checkApproval as T,approveToken as A,waitForApproval as C}from"../utils/listItemContract.utils.js";import{onSwitchNetwork as O}from"../utils/switchNetwork.utils.js";import{getValidURL as j}from"../utils/getValidURL.utils.js";import{removeListingSolanaItem as L}from"../utils/removeListingContract.utils.js";import{editListingSolana as P}from"../utils/editListingContract.utils.js";import{getTraitsDescription as D}from"../utils/traits.utils.js";import S from"../hooks/useSolanaWalletPolling.js";import{useSentry as E}from"../provider/SentryProvider.js";const F=({open:F,image:R,config:N,tokenDetails:x,isRemoveListing:M,tokenDetailsData:$,walletDetails:U,priceInputRange:_,customRPCUrl:B,mediaCardAttributes:W,onCloseModal:H,onClickViewItem:V,onClickBackToMarketPlace:q,onConnectWallet:G,onRefetchBalance:K,onHandleApiSessionExpired:J})=>{var Q,z,X,Y,Z,ii,ei,ti,oi,ri,ni,li;const{sessionStatus:ai}=n(),[si,di]=e(""),{checkForMismatchWalletAddress:ui}=S(),{addCaptureExceptionForSentry:ci,addExtraLogsForSentry:mi}=E(),vi=t((()=>{var i;return{orgId:N.orgId,contractAddress:x.contractAddress,itemId:x.itemId,onChainTokenID:x.onChainTokenID,currency:null!==(i=null==N?void 0:N.currency)&&void 0!==i?i:d.USD}}),[N,x]),pi=t((()=>"ethereum"===U.walletType),[U.walletType]),gi=t((()=>"solana"===U.walletType),[U.walletType]),yi=o((i=>{di(i)}),[di]),{createSignatureToListNFTForSale:wi,submitProofOfApproval:bi,removeListing:fi,initiateRemoveListing:Ii,editTokenListing:hi,updateTokenListing:ki}=l(),{supportedCurrencyData:Ti,currencyLoading:Ai}=I(vi,F),Ci=t((()=>{var i;return null===(i=null==Ti?void 0:Ti.map((i=>({value:i.symbol,label:i.symbol}))))||void 0===i?void 0:i.sort(((i,e)=>{var t;return null===(t=null==i?void 0:i.label)||void 0===t?void 0:t.localeCompare(null==e?void 0:e.label)}))}),[Ti]),[Oi,ji]=e(null===(Q=null==Ci?void 0:Ci[0])||void 0===Q?void 0:Q.label),Li=t((()=>Object.assign(Object.assign({},vi),{cryptoCurrencyCode:null!=Oi?Oi:u.ETH})),[Oi,vi]),{tokenData:Pi,usdData:Di,networkData:Si,detailsLoading:Ei,isNetworkLoading:Fi,isPriceLoading:Ri,reFetchAPI:Ni}=f(Li,F,$),{taxData:xi,taxLoading:Mi}=b(N.orgId,c.LIST_FOR_SALE,x.itemId,F,null!==(z=null==N?void 0:N.currency)&&void 0!==z?z:"USD"),$i=t((()=>{var i,e;return(null===(i=null==Pi?void 0:Pi.tokenOwnerAddress)||void 0===i?void 0:i.toLowerCase())===(null===(e=null==U?void 0:U.walletAddress)||void 0===e?void 0:e.toLowerCase())}),[Pi,U.walletAddress]),Ui=t((()=>!(!(null==Pi?void 0:Pi.status)||!$i)&&("OPEN_FOR_SALE"===(null==Pi?void 0:Pi.status)||"SALE_PENDING"===(null==Pi?void 0:Pi.status))),[Pi,$i]),_i=t((()=>{var i,e,t;if(gi){const t=null===(e=null===(i=null==Pi?void 0:Pi.metadata)||void 0===i?void 0:i.attributes)||void 0===e?void 0:e.find((i=>{var e;return"winery"===(null===(e=i.traitType)||void 0===e?void 0:e.toLowerCase())}));return t?D(t.value):""}return null===(t=null==Pi?void 0:Pi.artist)||void 0===t?void 0:t.artistName}),[null===(X=null==Pi?void 0:Pi.artist)||void 0===X?void 0:X.artistName,gi,null===(Y=null==Pi?void 0:Pi.metadata)||void 0===Y?void 0:Y.attributes]),Bi=t((()=>(null==Pi?void 0:Pi.status)===m.SALE_PENDING),[Pi]),Wi=t((()=>{const i=null==Si?void 0:Si.filter((i=>i.id===(null==Pi?void 0:Pi.networkID)));return null==i?void 0:i[0]}),[Si,Pi]),[Hi,Vi]=e(M?"Remove Listing":Bi?"Edit Listing":"List Item"),[qi,Gi]=e("0"),[Ki,Ji]=e(""),[Qi,zi]=e({loading:!1,success:!1}),[Xi,Yi]=e(""),[Zi,ie]=e(""),[ee,te]=e("");r((()=>{F&&(Ni(),Gi("0"),Ji(""),Vi(M?"Remove Listing":Bi?"Edit Listing":"List Item"))}),[F,M,Bi,Ni]),r((()=>{"Expired"===ai&&(H(),null==J||J())}),[J,H,ai]),r((()=>{var i;F&&(ji(null===(i=null==Ci?void 0:Ci[0])||void 0===i?void 0:i.label),(null==U?void 0:U.walletAddress)||te("Connect your wallet to complete process"),(null==U?void 0:U.walletAddress)&&te(""))}),[F,Ci,U.walletAddress]),r((()=>{var i,e,t,o;F&&Bi&&(null==Pi?void 0:Pi.listedOrderInfo)&&(Gi(String(null===(e=null===(i=null==Pi?void 0:Pi.listedOrderInfo)||void 0===i?void 0:i.price[1])||void 0===e?void 0:e.value)),ji(null===(o=null===(t=null==Pi?void 0:Pi.listedOrderInfo)||void 0===t?void 0:t.price[1])||void 0===o?void 0:o.unit))}),[Pi,Bi,F]),r((()=>{var i,e;F&&(Wi&&(null==Wi?void 0:Wi.chainID)!==(null===(i=null==U?void 0:U.networkDetails)||void 0===i?void 0:i.chainID)&&Ui&&(null==U?void 0:U.walletAddress)&&!Qi.loading&&0===(null==Ki?void 0:Ki.length)&&Yi(null==Wi?void 0:Wi.name),Wi&&(null==Wi?void 0:Wi.chainID)===(null===(e=null==U?void 0:U.networkDetails)||void 0===e?void 0:e.chainID)&&Yi(""),((null==U?void 0:U.walletAddress)&&!Ui||!Bi&&M&&!Qi.success&&(null==U?void 0:U.walletAddress))&&ie(M?"Item has been not listed":"Cannot able to list this item!"),((null==U?void 0:U.walletAddress)&&Ui&&!M||Bi&&M)&&ie(""))}),[F,Wi,null==U?void 0:U.walletAddress,null===(Z=null==U?void 0:U.networkDetails)||void 0===Z?void 0:Z.chainID,Ui,M,Bi,Qi,Ki]);const oe=t((()=>{const i=null==Ti?void 0:Ti.map((i=>i.symbol));return null==i?void 0:i[0]}),[Ti]),re=t((()=>{var i,e;if(xi){const t=null!==(e=null!==(i=xi.commissionFee)&&void 0!==i?i:0+xi.royaltyFee)&&void 0!==e?e:0;return null!=t?t:0}return 0}),[xi]),ne=t((()=>{if(re&&(null==Di?void 0:Di.amount)){const i=h(+qi,re,!1),e=h(i,Number(null==Di?void 0:Di.amount),!0);return{cryptoPrice:i,title:`Creator Earnings (${re}%)`,usdPrice:e}}return{cryptoPrice:0,title:"Creator Earnings (0%)",usdPrice:0}}),[qi,Di,re]),le=t((()=>{if((null==xi?void 0:xi.platformFee)&&(null==Di?void 0:Di.amount)){const i=h(+qi,null==xi?void 0:xi.platformFee,!1),e=h(i,Number(null==Di?void 0:Di.amount),!0);return{cryptoPrice:i,title:`Service Fee (${null==xi?void 0:xi.platformFee}%)`,usdPrice:e}}return{cryptoPrice:0,title:"Service Fee (0%)",usdPrice:0}}),[qi,xi,Di]),ae=t((()=>{var i,e;if(ne&&le){const e=+qi-(ne.cryptoPrice+le.cryptoPrice),t=h(+qi,Number(null==Di?void 0:Di.amount),!0)-(ne.usdPrice+le.usdPrice);return{cryptoPrice:`${w(g(e))} ${Oi}`,title:"Potential Earnings",usdPrice:`${w(t)} ${null!==(i=null==N?void 0:N.currency)&&void 0!==i?i:"USD"}`}}return{cryptoPrice:`0 ${Oi}`,title:"Potential Earnings",usdPrice:`0 ${null!==(e=null==N?void 0:N.currency)&&void 0!==e?e:"USD"}`}}),[qi,Oi,ne,le,Di,N.currency]),se=t((()=>{const i=null==Ti?void 0:Ti.filter((i=>i.symbol===Oi));return null==i?void 0:i[0]}),[Ti,Oi]),de=t((()=>(null==U?void 0:U.providerType)===v.METAMASK),[U.providerType]),ue=t((()=>[{label:M?"Remove Listing":Bi?"Edit Listing":"List Item",value:M?"Remove Listing":Bi?"Edit Listing":"List Item"},{label:"Confirmation",value:"Confirmation"}]),[Bi,M]),ce=o(((i={},e={})=>{Object.keys(i).length>0&&i.key&&mi(i.key,i.value),Object.keys(e).length>0&&e.exception&&ci(e.exception,e.hint)}),[ci,mi]),me=o((i=>{let{value:e}=i.target;if(gi){const i=parseFloat(e);Number.isNaN(i)||(e=Math.round(i).toString())}e.length<=(null!=_?_:6)&&Gi(e),Ji("")}),[_,gi]),ve=o((i=>{ji(i.target.value)}),[]),pe=o((async()=>{var i,e,t,o,r;try{zi(Object.assign(Object.assign({},Qi),{loading:!0})),Vi("Confirmation");const n=await ui(null==U?void 0:U.walletAddress,null==U?void 0:U.providerType,ce);if(!(null==n?void 0:n.isMismatched))return Ji(`The initially connected wallet has been changed. Please switch back to the wallet \n (${p(null==U?void 0:U.walletAddress)}) to continue.`),void zi(Object.assign(Object.assign({},Qi),{loading:!1}));const l=await Ii({orgId:N.orgId,nftTokenId:null!==(i=null==Pi?void 0:Pi.nftTokenId)&&void 0!==i?i:""}),{walletAddress:a,provider:s,providerType:d,networkDetails:{chainID:u},balance:c}=U,m=await L(a,c,s,d,yi,u,null===(e=l.data)||void 0===e?void 0:e.initiateRemoveListing,B,ce);if(m&&!m.error||(zi(Object.assign(Object.assign({},Qi),{loading:!1,success:!1})),yi(""),Ji((null==m?void 0:m.error)||"Something went wrong")),m&&m.success)try{await fi({orgID:N.orgId,nftTokenId:null!==(t=null==Pi?void 0:Pi.nftTokenId)&&void 0!==t?t:"",currency:null!==(o=null==N?void 0:N.currency)&&void 0!==o?o:"USD",signature:null===(r=m.response)||void 0===r?void 0:r.hash})}catch(i){}finally{zi({loading:!1,success:!0})}}catch(i){zi({success:!1,loading:!1}),ce({key:"Additional Data",value:{path:"Error Inside an remove listing function catch block - 493"}},{exception:i}),Ji((null==i?void 0:i.message)||"An error was encountered while processing your payment"),yi(""),Ji((null==i?void 0:i.message)||"An error was encountered while processing your payment")}}),[null==N?void 0:N.currency,B,N.orgId,Qi,null==Pi?void 0:Pi.nftTokenId,U,Ii,fi,yi,ui,ce]),ge=o((async()=>{var i;try{pi&&(zi(Object.assign(Object.assign({},Qi),{loading:!0})),Vi("Confirmation"),await fi({orgID:N.orgId,nftTokenId:null!==(i=null==Pi?void 0:Pi.nftTokenId)&&void 0!==i?i:""}),zi(Object.assign(Object.assign({},Qi),{loading:!1,success:!0}))),gi&&await pe()}catch(i){zi(Object.assign(Object.assign({},Qi),{loading:!1})),Ji((null==i?void 0:i.message)||"An error was encountered while processing your payment")}}),[pi,gi,Qi,fi,N.orgId,null==Pi?void 0:Pi.nftTokenId,pe]),ye=o((async i=>{var e,t,o;try{const t=a.arrayify(i);if((null==U?void 0:U.providerType)===v.EMAIL){return await(null===(e=null==U?void 0:U.provider)||void 0===e?void 0:e.signMessage(t))}const o=(null==U?void 0:U.provider).getSigner();return await(null==o?void 0:o.signMessage(t))}catch(i){return zi(Object.assign(Object.assign({},Qi),{loading:!1})),(null===(t=i.message)||void 0===t?void 0:t.includes(y.USER_REJECTED))||(null===(o=i.message)||void 0===o?void 0:o.includes(y.USER_DENIED))?Ji("Transaction has been cancelled by user"):Ji((null==i?void 0:i.message)||"An error was encountered while processing your payment"),""}}),[Qi,null==U?void 0:U.provider,null==U?void 0:U.providerType]),we=o((async()=>{var i,e,t,o,r;try{if(Pi&&se){zi(Object.assign(Object.assign({},Qi),{loading:!0}));const o=await wi({orgId:N.orgId,nftTokenId:null==Pi?void 0:Pi.nftTokenId,tokenType:(null==Pi?void 0:Pi.tokenType.includes("ERC721"))?null==Pi?void 0:Pi.tokenType:"ERC1155",quantity:1,nftOwnerAddress:null==Pi?void 0:Pi.tokenOwnerAddress,fixedPrice:+qi,paymentToken:se.contractAddress,currencyId:null==se?void 0:se.id});if(null===(i=o.data)||void 0===i?void 0:i.createSignatureToListNFTForSale.messageToSign){const i=await ye(null===(e=o.data)||void 0===e?void 0:e.createSignatureToListNFTForSale.messageToSign);i&&(await bi({nftTokenId:null==Pi?void 0:Pi.nftTokenId,signature:i,quantity:1,orgID:N.orgId,paymentToken:se.contractAddress,creatorFee:ne.cryptoPrice,currencyId:se.id,fixedPrice:+qi,currency:null!==(t=null==N?void 0:N.currency)&&void 0!==t?t:"USD"}),zi(Object.assign(Object.assign({},Qi),{loading:!1,success:!0})))}}}catch(i){zi(Object.assign(Object.assign({},Qi),{loading:!1})),(null===(o=i.message)||void 0===o?void 0:o.includes(y.USER_REJECTED))||(null===(r=i.message)||void 0===r?void 0:r.includes(y.USER_DENIED))?Ji("Transaction has been cancelled by user"):Ji((null==i?void 0:i.message)||"An error was encountered while processing your payment")}}),[N,qi,Pi,se,ne,Qi,ye,wi,bi]),be=o((async()=>{var i,e,t,o,r;try{if(Pi&&se){zi(Object.assign(Object.assign({},Qi),{loading:!0}));const n=await wi({orgId:N.orgId,nftTokenId:null==Pi?void 0:Pi.nftTokenId,tokenType:"NonFungible",quantity:1,nftOwnerAddress:null==Pi?void 0:Pi.tokenOwnerAddress,fixedPrice:+qi,paymentToken:se.contractAddress,currencyId:null==se?void 0:se.id}),l=null===(e=null===(i=null==n?void 0:n.data)||void 0===i?void 0:i.createSignatureToListNFTForSale)||void 0===e?void 0:e.bubblegumListParams,{walletAddress:a,provider:s,providerType:d,networkDetails:u,balance:c}=U,m=await k(a,c,d,s,yi,u.chainID,l,B,ce);if(m&&!m.error||(zi(Object.assign(Object.assign({},Qi),{loading:!1,success:!1})),yi(""),Ji((null==m?void 0:m.error)||"Something went wrong")),null==m?void 0:m.success)try{await bi({nftTokenId:null==Pi?void 0:Pi.nftTokenId,signature:null===(t=null==m?void 0:m.response)||void 0===t?void 0:t.hash,quantity:1,orgID:N.orgId,paymentToken:se.contractAddress,creatorFee:ne.cryptoPrice,currencyId:se.id,fixedPrice:+qi,listingReceipt:null===(o=m.response)||void 0===o?void 0:o.listingReceipt,currency:null!==(r=null==N?void 0:N.currency)&&void 0!==r?r:"USD"})}catch(i){}finally{zi({loading:!1,success:!0})}}}catch(i){ce({key:"Additional Data",value:{path:"Error Inside an list item function catch block - 731"}},{exception:i}),Ji((null==i?void 0:i.message)||"An error was encountered while processing your payment"),yi(""),zi(Object.assign(Object.assign({},Qi),{loading:!1,success:!1}))}}),[Pi,se,Qi,N.orgId,N.currency,qi,U,ne.cryptoPrice,B,wi,bi,yi,ce]),fe=o((async()=>{var i,e;try{if(Pi){zi({loading:!0,success:!1});const t=await hi({orgId:N.orgId,nftTokenId:null==Pi?void 0:Pi.nftTokenId,fixedPrice:+qi}),o=null===(i=null==t?void 0:t.data)||void 0===i?void 0:i.editTokenListing,{walletAddress:r,provider:n,providerType:l,networkDetails:a,balance:s}=U,d=await P(r,s,n,l,yi,a.chainID,o,B,ce);if(d&&!d.error||(zi({loading:!1,success:!1}),di(""),Ji((null==d?void 0:d.error)||"Something went wrong")),null==d?void 0:d.success)try{await ki({orgId:N.orgId,nftTokenId:null==Pi?void 0:Pi.nftTokenId,fixedPrice:+qi,signature:null===(e=d.response)||void 0===e?void 0:e.hash})}catch(i){}finally{zi({loading:!1,success:!0})}}}catch(i){Ji((null==i?void 0:i.message)||"An error was encountered while processing your payment"),ce({key:"Additional Data",value:{path:"Error Inside an edit listing function catch block - 824"}},{exception:i}),yi(""),zi({loading:!1,success:!1})}}),[N.orgId,B,qi,Pi,U,hi,ki,yi,ce]),Ie=o((async i=>{var e;try{if(!(null==U?void 0:U.walletAddress))return void G();if(+qi<.04)return void Ji(`Minimum listing price should be more than ${pi?"0.4":"1"} ${null==se?void 0:se.symbol}`);if("List Item"===i||"Edit Listing"===i)Ji(""),Vi("Confirmation");else if("Retry"===i)Ji(""),Vi(M?"Remove Listing":Bi?"Edit Listing":"List Item");else if("View Item"===i)Ji(""),zi({success:!1,loading:!1}),Gi("0"),Vi(M?"Remove Listing":Bi?"Edit Listing":"List Item"),V(),null==K||K(!0);else if("Remove Listing"===i)ge();else if(Pi&&se){if(Ji(""),zi(Object.assign(Object.assign({},Qi),{loading:!0})),pi){let i=null;i=(null==U?void 0:U.providerType)===v.EMAIL?null===(e=null==U?void 0:U.provider)||void 0===e?void 0:e.provider:null==U?void 0:U.provider;if(await T({tokenContractAddress:null==Pi?void 0:Pi.contractAddress,contractName:null==Pi?void 0:Pi.tokenType,marketPlaceContractAddress:null==se?void 0:se.secondaryMarketplaceContractAddress,provider:i}))await we();else{const e=await A({tokenContractAddress:null==Pi?void 0:Pi.contractAddress,contractName:null==Pi?void 0:Pi.tokenType,marketPlaceContractAddress:null==se?void 0:se.secondaryMarketplaceContractAddress,provider:i});if(null==e?void 0:e.status){await C(null==e?void 0:e.message)&&await we()}else Ji(null==e?void 0:e.message),zi(Object.assign(Object.assign({},Qi),{loading:!1}))}}if(gi){const i=await ui(null==U?void 0:U.walletAddress,null==U?void 0:U.providerType,ce);if(!(null==i?void 0:i.isMismatched))return Ji(`The initially connected wallet has been changed. Please switch back to the wallet \n (${p(null==U?void 0:U.walletAddress)}) to continue.`),void zi(Object.assign(Object.assign({},Qi),{loading:!1}));Bi?await fe():await be()}}else Ji("An error was encountered while processing your payment"),zi(Object.assign(Object.assign({},Qi),{loading:!1}))}catch(i){Ji((null==i?void 0:i.message)||"An error was encountered while processing your payment"),zi(Object.assign(Object.assign({},Qi),{loading:!1}))}}),[Pi,se,Qi,qi,null==U?void 0:U.walletAddress,null==U?void 0:U.provider,null==U?void 0:U.providerType,Bi,M,pi,gi,V,we,ge,G,be,fe,K,ui,ce]),he=o((async()=>{if(null==Wi?void 0:Wi.chainID){Yi(""),zi(Object.assign(Object.assign({},Qi),{loading:!0}));const i=await O(null==Wi?void 0:Wi.chainID,de,U.provider);zi(Object.assign(Object.assign({},Qi),{loading:!1})),Ji(null==i?void 0:i.message)}}),[de,U.provider,Wi,Qi]),ke=o((()=>{Qi.loading||(H(),q&&"Confirmation"===Hi&&!Ki&&(Ji(""),zi({success:!1,loading:!1}),Gi("0"),Vi(M?"Remove Listing":Bi?"Edit Listing":"List Item"),q(),null==K||K(!0)))}),[Hi,Bi,M,Qi,Ki,H,K,q]);return i(s,{open:F,image:R,walletType:U.walletType,contractProgressMessage:si,isEthereumWallet:pi,tokenDetails:{tokenImage:j((null==Pi?void 0:Pi.mediaSourceURL)||(null===(ii=null==Pi?void 0:Pi.metadata)||void 0===ii?void 0:ii.image)||""),thumbnail:null===(ei=null==Pi?void 0:Pi.metadata)||void 0===ei?void 0:ei.image,tokenName:(null===(ti=null==Pi?void 0:Pi.metadata)||void 0===ti?void 0:ti.name)||"",tokenArtistName:_i||""},breadCrumbs:ue,selectedBreadCrumbs:Hi,creatorFee:{cryptoPrice:`${w(g(null==ne?void 0:ne.cryptoPrice))} ${Oi}`,title:null==ne?void 0:ne.title,usdPrice:`${w(null==ne?void 0:ne.usdPrice)} ${null!==(oi=N.currency)&&void 0!==oi?oi:"USD"}`},serviceFee:{cryptoPrice:`${w(g(null==le?void 0:le.cryptoPrice))} ${Oi}`,title:null==le?void 0:le.title,usdPrice:`${w(null==le?void 0:le.usdPrice)} ${null!==(ri=N.currency)&&void 0!==ri?ri:"USD"}`},totalPrice:{cryptoPrice:null==ae?void 0:ae.cryptoPrice,title:null==ae?void 0:ae.title,usdPrice:null==ae?void 0:ae.usdPrice},listingPrice:{cryptoPrice:`${g(qi)} ${null==se?void 0:se.symbol}`,title:"Listing Price",usdPrice:`${w(h(+qi,Number(null==Di?void 0:Di.amount),!0))} ${null!==(ni=N.currency)&&void 0!==ni?ni:"USD"}`},currencyData:oe||"ETH",price:qi,selectCurrency:Oi,error:Ki,isEdit:Bi,progress:Qi,currencyList:null!=Ci?Ci:[],isRemoveListing:M,switchNetwork:Xi,isValidListItem:Zi,isLoading:Ei||Ai||Mi||Ri||Fi,walletConnection:ee,maxLength:_,mediaCardAttributes:Object.assign(Object.assign({},W),{customThumbnail:(null==W?void 0:W.customThumbnail)||(null===(li=null==Pi?void 0:Pi.metadata)||void 0===li?void 0:li.image)}),onClickConnectWallet:G,onClickSwitchNetwork:he,onChangePrice:me,onChangeCurrency:ve,onClickListItem:Ie,onCloseModal:ke})};export{F as default};