@mojito-inc/secondary-market
Version:
Mojito secondary market is the platform to purchase NFT.
2 lines (1 loc) • 1.46 kB
JavaScript
"use strict";var e=require("react"),t=require("@mojito-inc/core-service");exports.useTax=(o,l,i,a,n="USD")=>{const{estimateTaxAndRoyaltyFee:r}=t.useFee(),[c,u]=e.useState({platformFee:0,royaltyFee:0,taxPercentage:0,commissionFee:0,taxResponse:{cryptoTaxPrice:0,cryptoTotalPrice:0,USDUnitprice:0,taxPercentage:0}}),[s,d]=e.useState(!1),v=e.useCallback((async()=>{var e,t,a,c,s,v,p,x,y,m,F,P,T;try{d(!0);const g=await r({orgId:o,estimateType:l,nftTokenId:i,price:1,currency:n}),R=null===(e=null==g?void 0:g.data)||void 0===e?void 0:e.estimateTaxAndRoyaltyFee;return u({platformFee:null!==(t=null==R?void 0:R.platformFee)&&void 0!==t?t:0,royaltyFee:null!==(a=null==R?void 0:R.royaltyFee)&&void 0!==a?a:0,taxPercentage:null!==(c=null==R?void 0:R.taxPercentage)&&void 0!==c?c:0,commissionFee:null!==(s=null==R?void 0:R.commissionFee)&&void 0!==s?s:0,taxResponse:{cryptoTaxPrice:null!==(p=null===(v=null==R?void 0:R.taxResponse)||void 0===v?void 0:v.cryptoTaxPrice)&&void 0!==p?p:0,cryptoTotalPrice:null!==(y=null===(x=null==R?void 0:R.taxResponse)||void 0===x?void 0:x.cryptoTotalPrice)&&void 0!==y?y:0,taxPercentage:null!==(F=null===(m=null==R?void 0:R.taxResponse)||void 0===m?void 0:m.taxPercentage)&&void 0!==F?F:0,USDUnitprice:null!==(T=null===(P=null==R?void 0:R.taxResponse)||void 0===P?void 0:P.USDUnitprice)&&void 0!==T?T:0}}),d(!1),R}catch(e){return d(!1),u(null),null}}),[r,o,l,i,n]);return e.useEffect((()=>{a&&v()}),[a,v]),{taxData:c,taxLoading:s}};