@mojito-inc/secondary-market
Version:
Mojito secondary market is the platform to purchase NFT.
2 lines (1 loc) • 3.49 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),a=require("../interface/index.js"),n=require("../layout/TransferNFTLayout.js"),t=require("../utils/transferNFT.utils.js"),i=require("../utils/validateWalletAddress.utils.js");exports.default=({open:o,tokenDetails:s,walletDetails:r,configChainId:d,networksData:u,mediaCardAttributes:v,onCloseTransferNFTModal:c,onOpenSuccessModal:m,onOpenLoadingModal:T})=>{var p;const[k,g]=l.useState(""),[b,h]=l.useState(!1),[f,C]=l.useState(""),[w,y]=l.useState(""),A=l.useCallback((async()=>{const e=await navigator.clipboard.readText();g(e)}),[]),D=l.useCallback((e=>{navigator.clipboard.writeText(e).then((()=>{C(e),setTimeout((()=>{C("close")}),1e3)})).catch((()=>{C("close")}))}),[]),I=l.useCallback((e=>{g(e.target.value)}),[]),P=l.useCallback((()=>{y(""),c(),g(""),h(!1)}),[c]),x=l.useCallback((async()=>{var e,l,n,i,o,v,c;try{if(d!==(null===(e=null==r?void 0:r.networkDetails)||void 0===e?void 0:e.chainID)){const e=null===(i=null===(n=null===(l=null==u?void 0:u.filter)||void 0===l?void 0:l.call(u,(e=>e.chainID===d)))||void 0===n?void 0:n[0])||void 0===i?void 0:i.name;return void y(`Please switch to ${e} in the wallet to proceed.`)}y("");const p=(null==r?void 0:r.providerType)===a.ProviderType.EMAIL?null===(o=null==r?void 0:r.provider)||void 0===o?void 0:o.provider:null==r?void 0:r.provider,g=(null==r?void 0:r.providerType)===a.ProviderType.EMAIL?null==r?void 0:r.provider:null===(v=null==r?void 0:r.provider)||void 0===v?void 0:v.getSigner(),{maxFeePerGas:b,maxPriorityFeePerGas:h}=await p.getFeeData();if(s&&k){const e=await t.transferToken({tokenId:String(null==s?void 0:s.onChainTokenID),tokenType:String(null==s?void 0:s.tokenType),toAddress:k,contractAddress:String(null==s?void 0:s.contractAddress),signer:g,walletAddress:null==r?void 0:r.walletAddress,maxFeePerGas:b,maxPriorityFeePerGas:h});if((null==e?void 0:e.message)&&(null==e?void 0:e.status)){T(null==e?void 0:e.message),P();const l=await p.waitForTransaction(null==e?void 0:e.message,1);0!==(null==l?void 0:l.status)&&m(null==e?void 0:e.message)}else"Reject"===(null==e?void 0:e.message)?y("Transaction has been cancelled by user"):y(null!==(c=null==e?void 0:e.message)&&void 0!==c?c:"")}}catch(e){y(null==e?void 0:e.message)}}),[s,null==r?void 0:r.provider,null==r?void 0:r.providerType,null==r?void 0:r.walletAddress,k,d,u,null===(p=null==r?void 0:r.networkDetails)||void 0===p?void 0:p.chainID,P,m,T]),F=l.useCallback((async()=>{""===k?y("Please enter the wallet address"):i.validateWalletAddress(k)?h(!0):y("Please enter valid wallet address")}),[k]),S=l.useCallback((async()=>{y(""),h(!1)}),[]);return l.useEffect((()=>{i.validateWalletAddress(k)||""===k?y(""):y("Please enter valid wallet address")}),[k]),e.jsx(n.default,{open:o,copied:f,error:w,tokenDetails:{itemId:null==s?void 0:s.onChainTokenID,contractAddress:null==s?void 0:s.contractAddress,onChainTokenID:null==s?void 0:s.onChainTokenID,tokenImage:null==s?void 0:s.tokenImage,tokenName:null==s?void 0:s.tokenName,tokenSubTitle:null==s?void 0:s.tokenSubTitle,thumbnail:null==s?void 0:s.thumbnail},mediaCardAttributes:Object.assign(Object.assign({},v),{customThumbnail:(null==v?void 0:v.customThumbnail)||(null==s?void 0:s.thumbnail)}),walletDetails:r,transferWalletAddress:k,maxLength:42,confirmTransfer:b,onClickCopy:D,handlePaste:A,onCloseModal:P,onChangeWalletAddress:I,onTransferNFT:F,onConfirmTransferNFT:x,onEditWalletAddress:S})};