@xoxno/sdk-js
Version:
The SDK to interact with the XOXNO Protocol!
1 lines • 31.4 kB
JavaScript
(()=>{"use strict";var t,e,i,a,r,n,o,s,c,l,d,g,u,h,p,f,T,m,y,w,E,S,k,A,v={d:(t,e)=>{for(var i in e)v.o(e,i)&&!v.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},C={};v.r(C),v.d(C,{AssetCategory:()=>d,AuctionType:()=>m,AuctionTypes:()=>l,Chain:()=>H,CollectionModule:()=>Y,CollectionStatsOrderBy:()=>h,CollectionStatsSelectFields:()=>u,CollectionsFieldsToSelect:()=>s,CollectionsOrderBy:()=>n,CollectionsSummaryFilter:()=>g,CommonModule:()=>et,DropsOderBy:()=>a,EventUserRolePermission:()=>L,EventUserRoles:()=>x,FieldsToSelect:()=>e,GlobalOfferFieldsToSelect:()=>c,GlobalOfferOrderBy:()=>o,IEventCategory:()=>A,IssuingType:()=>y,Marketplace:()=>t,NFTModule:()=>Z,NftActivityType:()=>p,OfferType:()=>S,OrderByTradingActivity:()=>f,PoolType:()=>w,SearchOrderBy:()=>i,SelectFieldsTradingActivity:()=>T,StakingModule:()=>tt,StakingStatus:()=>E,SuggestOrderBy:()=>r,Type:()=>k,UserModule:()=>Q,XOXNOClient:()=>G,eventCategories:()=>q,eventPermissions:()=>V,eventRoles:()=>b,eventSubCategories:()=>P,getEventCategories:()=>W,getEventSubCategories:()=>M,isValidCollectionTicker:()=>K,isValidNftIdentifier:()=>z}),function(t){t.XO="xoxno",t.FM="frameit",t.DR="deadrare",t.KG="krogan"}(t||(t={})),function(t){t.Rank="metadata.rarity.rank",t.Attributes="metadata.attributes",t.Description="metadata.description",t.Name="name",t.OnSale="onSale",t.SaleInfo="saleInfo",t.Royalties="royalties",t.Identifier="identifier",t.Collection="collection",t.OriginalURL="url",t.Nonce="nonce",t.ContentType="originalMedia.contentType",t.WasProcessed="wasProcessed",t.AvifURL="avifUrl",t.WebpURL="webpUrl",t.Type="type"}(e||(e={})),function(t){t.PriceHighToLow="saleInfo.minBidShort desc",t.PriceLowToHigh="saleInfo.minBidShort asc",t.MaxPriceHighToLow="saleInfo.maxBidShort desc",t.MaxPriceLowToHigh="saleInfo.maxBidShort asc",t.BidPriceHighToLow="saleInfo.currentBidShort desc",t.BidPriceLowToHigh="saleInfo.currentBidShort asc",t.RarityHighToLow="metadata.rarity.rank desc",t.RarityLowToHigh="metadata.rarity.rank asc",t.NonceHighToLow="nonce desc",t.NonceLowToHigh="nonce asc",t.RecentListed="saleInfo.timestamp desc",t.OldestListed="saleInfo.timestamp asc",t.EndingLate="saleInfo.deadline desc",t.EndingSoon="saleInfo.deadline asc"}(i||(i={})),function(t){t.EndingLate="startTime desc",t.EndingSoon="startTime asc"}(a||(a={})),function(t){t.TotalVolumeHighToLow="statistics/tradeData/totalEgldVolume desc",t.FollowersHighToLow="statistics/other/followCount desc",t.IsVerifiedTrueToFalse="isVerified desc",t.HasImageTrueToFalse="profile desc",t.HasBannerTrueToFalse="banner desc"}(r||(r={})),function(t){t.WeekVolumeHighToLow="statistics.tradeData.weekEgldVolume desc",t.WeekVolumeLowToHigh="statistics.tradeData.weekEgldVolume asc",t.DailyVolumeHighToLow="statistics.tradeData.dayEgldVolume desc",t.DailyVolumeLowToHigh="statistics.tradeData.dayEgldVolume asc",t.TotalVolumeHighToLow="statistics.tradeData.totalEgldVolume desc",t.TotalVolumeLowToHigh="statistics.tradeData.totalEgldVolume asc",t.AvgVolumePriceHighToLow="statistics.tradeData.averageEgldPrice desc",t.AvgVolumePriceLowToHigh="statistics.tradeData.averageEgldPrice asc",t.ATHHighToLow="statistics.tradeData.athEgldPrice desc",t.ATHLowToHigh="statistics.tradeData.athEgldPrice asc",t.TotalTradesHighToLow="statistics.tradeData.totalTrades desc",t.TotalTradesLowToHigh="statistics.tradeData.totalTrades asc",t.SupplyHighToLow="statistics.other.nftCount desc",t.SupplyLowToHigh="statistics.other.nftCount asc",t.FollowersHighToLow="statistics.other.followCount desc",t.FollowersLowToHigh="statistics.other.followCount asc"}(n||(n={})),function(t){t.PriceHighToLow="priceShort desc",t.PriceLowToHigh="priceShort asc",t.OfferIdHighToLow="offerIddesc",t.OfferIdLowToHigh="offerId asc",t.RecentListed="timestamp desc",t.OldestListed="timestamp asc"}(o||(o={})),function(t){t.Profile="profile",t.Description="description",t.Creator="creator",t.Owner="owner",t.Socials="socials",t.Type="type",t.HasStaking="hasStaking",t.Name="name",t.Banner="banner",t.IsVerified="isVerified",t.IsMintable="isMintable",t.Statistics="statistics",t.Collection="collection"}(s||(s={})),function(t){t.Attributes="attributes",t.Collection="collection",t.Marketplace="marketplace",t.PaymentToken="paymentToken",t.LongPrice="price",t.ShortPrice="priceShort"}(c||(c={})),function(t){t.FixedPrice="FixedPrice",t.Auctions="Auctions",t.All="All",t.AllListed="AllListed"}(l||(l={})),function(t){t.ALL="all",t.Trade="trade",t.P2P="p2p",t.Staking="staking",t.Minting="minting"}(d||(d={})),function(t){t.TotalVolume="TotalVolume",t.TotalTrades="TotalTrades",t.DailyVolume="DailyVolume",t.Last2DaysVolume="Last2DaysVolume",t.DailyTrades="DailyTrades",t.Last2DaysTrades="Last2DaysTrades",t.WeekTrades="WeekTrades",t.LastWeekTrades="LastWeekTrades",t.WeekVolume="WeekVolume",t.LastWeekVolume="LastWeekVolume",t.WeeklyTradesMargin="WeeklyTradesMargin",t.DailyTradesMargin="DailyTradesMargin",t.WeeklyVolumeMargin="WeeklyVolumeMargin",t.DailyVolumeEgldMargin="DailyVolumeEgldMargin",t.CollectionAthTrade="CollectionAthTrade"}(g||(g={})),function(t){t.TradingStats="tradingStats"}(u||(u={})),function(t){t.ListedCountDesc="tradingStats.listedCount DESC",t.ListedCountAsc="tradingStats.listedCount ASC",t.FloorPriceDesc="tradingStats.floorPrice DESC",t.FloorPriceAsc="tradingStats.floorPrice ASC",t.TotalVolumeDesc="tradingStats.totalVolume DESC",t.TotalVolumeAsc="tradingStats.totalVolume ASC",t.TotalTradesDesc="tradingStats.totalTrades DESC",t.TotalTradesAsc="tradingStats.totalTrades ASC",t.AllTimeHighDesc="tradingStats.allTimeHigh.price DESC",t.AllTimeHighAsc="tradingStats.allTimeHigh.price ASC",t.DayVolumeDesc="tradingStats.day.volume DESC",t.DayVolumeAsc="tradingStats.day.volume ASC",t.DayVolumeMarginDesc="tradingStats.day.volumeMargin DESC",t.DayVolumeMarginAsc="tradingStats.day.volumeMargin ASC",t.DayTradesDesc="tradingStats.day.trades DESC",t.DayTradesAsc="tradingStats.day.trades ASC",t.DayTradesMarginDesc="tradingStats.day.tradesMargin DESC",t.DayTradesMarginAsc="tradingStats.day.tradesMargin ASC",t.WeekVolumeDesc="tradingStats.week.volume DESC",t.WeekVolumeAsc="tradingStats.week.volume ASC",t.WeekVolumeMarginDesc="tradingStats.week.volumeMargin DESC",t.WeekVolumeMarginAsc="tradingStats.week.volumeMargin ASC",t.WeekTradesDesc="tradingStats.week.trades DESC",t.WeekTradesAsc="tradingStats.week.trades ASC",t.WeekTradesMarginDesc="tradingStats.week.tradesMargin DESC",t.WeekTradesMarginAsc="tradingStats.week.tradesMargin ASC",t.MonthVolumeDesc="tradingStats.month.volume DESC",t.MonthVolumeAsc="tradingStats.month.volume ASC",t.MonthVolumeMarginDesc="tradingStats.month.volumeMargin DESC",t.MonthVolumeMarginAsc="tradingStats.month.volumeMargin ASC",t.MonthTradesDesc="tradingStats.month.trades DESC",t.MonthTradesAsc="tradingStats.month.trades ASC",t.MonthTradesMarginDesc="tradingStats.month.tradesMargin DESC",t.MonthTradesMarginAsc="tradingStats.month.tradesMargin ASC",t.YearVolumeDesc="tradingStats.year.volume DESC",t.YearVolumeAsc="tradingStats.year.volume ASC",t.YearVolumeMarginDesc="tradingStats.year.volumeMargin DESC",t.YearVolumeMarginAsc="tradingStats.year.volumeMargin ASC",t.YearTradesDesc="tradingStats.year.trades DESC",t.YearTradesAsc="tradingStats.year.trades ASC",t.YearTradesMarginDesc="tradingStats.year.tradesMargin DESC",t.YearTradesMarginAsc="tradingStats.year.tradesMargin ASC"}(h||(h={})),function(t){t.NFT_CREATE="nftCreate",t.NFT_BURN="nftBurn",t.NFT_UPDATE="nftUpdate",t.NFT_TRANSFER="nftTransfer",t.LISTING_CREATE="listingCreate",t.LISTING_WITHDRAW="listingWithdraw",t.LISTING_UPDATE="listingUpdate",t.AUCTION_BID="auctionBid",t.AUCTION_OUT_BID="auctionOutBid",t.OFFER_CREATE="offerCreate",t.OFFER_WITHDRAW="offerWithdraw",t.OFFER_REJECT="offerReject",t.GLOBAL_OFFER_CREATE="globalOfferCreate",t.GLOBAL_OFFER_WITHDRAW="globalOfferWithdraw",t.TRADE="trade",t.BULK_TRADE="bulkTrade",t.AUCTION_TRADE="auctionTrade",t.OTHER_TRADE="otherTrade",t.OFFER_TRADE="offerTrade",t.GLOBAL_OFFER_TRADE="globalOfferTrade",t.STAKE="stake",t.UN_STAKE="unStake"}(p||(p={})),function(t){t.PriceHighToLow="activityData.egldValue desc",t.PriceLowToHigh="activityData.egldValue asc",t.RecentPlaced="timestamp desc",t.OldestPlaced="timestamp asc"}(f||(f={})),function(t){t[t.attributes=0]="attributes",t[t.collection=1]="collection",t[t.offer_id=2]="offer_id",t[t.owner=3]="owner",t[t.short_price=4]="short_price",t[t.price=5]="price",t[t.id=6]="id",t[t.dataType=7]="dataType",t[t.marketplace=8]="marketplace",t[t.payment_token=9]="payment_token"}(T||(T={})),function(t){t[t.NftBid=0]="NftBid",t[t.Nft=1]="Nft",t[t.SftAll=2]="SftAll",t[t.SftOnePerPayment=3]="SftOnePerPayment"}(m||(m={})),function(t){t.Dynamic="Dynamic",t.Fixed="Fixed"}(y||(y={})),function(t){t.Duo="Duo",t.Single="Single",t.Perk="Perk"}(w||(w={})),function(t){t.Staked="staked",t.Unbounding="unstaked",t.Available="available"}(E||(E={})),function(t){t.Received="received",t.Placed="placed"}(S||(S={})),function(t){t.NonFungibleESDT="NonFungibleESDT"}(k||(k={})),function(t){t.FESTIVAL="festival",t.CONFERENCE="conference",t.NETWORKING="networking",t.MEETUP="meetup",t.WEB3="web3",t.ENTERTAINMENT="entertainment"}(A||(A={}));const q=Object.values(A);var D,N,I,O,_,R;!function(t){t.MUSIC="music",t.ARTS_AND_CULTURE="arts-and-culture",t.FOOD_AND_DRINK="food-and-drink",t.LIFESTYLE_AND_WELLNESS="lifestyle-and-wellness",t.LOCAL_AND_COMMUNITY="local-and-community"}(D||(D={})),function(t){t.TECHNOLOGY_AND_INNOVATION="technology-and-innovation",t.BUSINESS_AND_FINANCE="business-and-finance",t.HEALTHCARE_AND_SCIENCE="healthcare-and-science",t.EDUCATION_AND_LEARNING="education-and-learning",t.MARKETING_AND_MEDIA="marketing-and-media"}(N||(N={})),function(t){t.INDUSTRY_SPECIFIC="industry-specific",t.CAREER_DEVELOPMENT="career-development",t.INVESTOR_AND_STARTUPS="investor-and-startups",t.SOCIAL_IMPACT="social-impact",t.PERSONAL_DEVELOPMENT="personal-development"}(I||(I={})),function(t){t.HOBBIES_AND_INTERESTS="hobbies-and-interests",t.PROFESSIONAL_GROUPS="professional-groups",t.SOCIAL_GATHERING="social-gathering",t.EDUCATION_AND_SKILLS="education-and-skills",t.FAMILY_AND_KIDS="family-and-kids"}(O||(O={})),function(t){t.BLOCKCHAIN_AND_CRYPTOCURRENCY="blockchain-and-cryptocurrency",t.METAVERSE_AND_VR="metaverse-and-vr",t.DEFI_AND_FINANCE="defi-and-finance",t.DAO_AND_GOVERNANCE="dao-and-governance",t.WEB3_STARTUPS="web3-startups"}(_||(_={})),function(t){t.LIVE_MUSIC="live-music",t.COMEDY_SHOWS="comedy-shows",t.THEATRE_AND_PERFORMANCE="theatre-and-performance",t.MOVIES="movies",t.NIGHTLIFE_AND_CLUBBING="nightlife-and-clubbing"}(R||(R={}));const P={festival:Object.values(D),conference:Object.values(N),networking:Object.values(I),meetup:Object.values(O),web3:Object.values(_),entertainment:Object.values(R)};async function W(){return q}async function M(t){return P[t]}var x,L;!function(t){t.EVENT_MANAGER="event-manager",t.CHECK_IN_MANAGER="check-in-manager",t.EVENT_READER="event-reader"}(x||(x={})),function(t){t.EVENT_READER_VIEW="event-reader-view",t.EVENT_MANAGER_EDIT_PAGE="event-manager-edit-page",t.EVENT_MANAGER_CREATE_TICKET="event-manager-create-ticket",t.EVENT_MANAGER_EDIT_TICKET="event-manager-edit-ticket",t.EVENT_MANAGER_DELETE_TICKET="event-manager-delete-ticket",t.EVENT_MANAGER_EDIT_GUEST="event-manager-edit-guest",t.EVENT_MANAGER_CREATE_STAGE="event-manager-create-stage",t.EVENT_MANAGER_EDIT_STAGE="event-manager-edit-stage"}(L||(L={}));const b=Object.values(x),V=Object.values(L),F="https://api.xoxno.com",$="erd1qqqqqqqqqqqqqpgq705fxpfrjne0tl3ece0rrspykq88mynn4kxs2cg43s",B="erd1qqqqqqqqqqqqqpgqd9rvv2n378e27jcts8vfwynpx0gfl5ufz6hqhfy0u0",U="erd1qqqqqqqqqqqqqpgq8xwzu82v8ex3h4ayl5lsvxqxnhecpwyvwe0sf2qj4e";var H;!function(t){t.MAINNET="1",t.DEVNET="D"}(H||(H={}));class G{static instance;apiUrl;apiKey;chain;config;constructor(t=F,e="",i){this.apiUrl=t,this.apiKey=e,this.chain=i,this.config=i==H.MAINNET?{mediaUrl:"https://media.xoxno.com",gatewayUrl:"https://gateway.xoxno.com",XO_SC:"erd1qqqqqqqqqqqqqpgq6wegs2xkypfpync8mn2sa5cmpqjlvrhwz5nqgepyg8",FM_SC:$,DR_SC:B,KG_SC:U,Staking_SC:"erd1qqqqqqqqqqqqqpgqvpkd3g3uwludduv3797j54qt6c888wa59w2shntt6z",Manager_SC:"erd1qqqqqqqqqqqqqpgqg9fa0dmpn8fu3fnleeqn5zt8rl8mdqjkys5s2gtas7",P2P_SC:"erd1qqqqqqqqqqqqqpgq47y8hnct68v6asjv6gxem6h9rumn9frzah0skhxxt6"}:{mediaUrl:"https://devnet-media.xoxno.com",gatewayUrl:"https://devnet-gateway.xoxno.com",XO_SC:"erd1qqqqqqqqqqqqqpgql0dnz6n5hpuw8cptlt00khd0nn4ja8eadsfq2xrqw4",FM_SC:$,DR_SC:B,KG_SC:U,Staking_SC:"erd1qqqqqqqqqqqqqpgqsc5hnewwpep8qq0d7kjjzrquapuucrygah0s85zres",Manager_SC:"erd1qqqqqqqqqqqqqpgqluclyhfsa2uw7q9cjwd8knk989hg57u8ah0slq2nlr",P2P_SC:"erd1qqqqqqqqqqqqqpgqfja7ukpngrun78ueq583l0vd6aj4ekhrah0sa9wyrv"}}static init({apiUrl:t=F,apiKey:e="",chain:i=H.MAINNET}={}){if(null==G.instance||null==G.instance){if(i==H.DEVNET)return G.instance=new G(t??"https://devnet-api.xoxno.com",e,i),G.instance;G.instance=new G(t,e,i)}return G.instance}static getInstance(){if(null==G.instance||null==G.instance)throw new Error("XOXNOClient is not initialized");return G.instance}fetchWithTimeout=async(t,e={})=>{const i={"Accept-Encoding":"gzip,deflate,br",Referer:"https://xoxno.sdk","User-Agent":"XOXNO/1.0/SDK",..."POST"===e.method?{"Content-Type":"application/json"}:{},...e.headers??{}},a=`${"string"==typeof t&&t.startsWith("/")?`${this.apiUrl}${t}`:t}${e.params?"?"+Object.keys(e.params).map((t=>`${t}=${encodeURIComponent(e.params[t])}`)).join("&"):""}`,r=await fetch(a,{...e,cache:"no-store",...Object.keys(i).length?{headers:i}:{},method:e.method??"GET"});if(!r.ok){const e=await r.text();let i;try{i=JSON.parse(e)}catch(t){i={message:e}}throw new Error(`${t}: ${r.status};${r.statusText};${i.message}`)}return r.json()}}const j=async(t,e)=>{if(t.top&&t.top>100)throw new Error("Top cannot be greater than 100");const i=[];t.priceRange&&i.push({...t.priceRange,field:"activityData.egldValue"}),t.timestampRange&&i.push({...t.timestampRange,field:"timestamp"});const a={filters:{activityData:null==t.from&&null==t.to?{collection:t.collections,identifier:t.identifiers||void 0}:void 0,from:t.from,to:t.to,activityAddress:t.wallets||void 0,source:t.source||void 0,activityType:t.activityType||void 0,range:i},strictSelect:t.strictSelect,includeCount:t.includeCount||!1,orderBy:t.orderBy,select:t.select,top:t.top||35,skip:t.skip||0},r=await e.fetchWithTimeout("/activity/query",{params:{filter:JSON.stringify(a)},next:{tags:["getActivity"]}});return{...r,getNextPagePayload:{...t,skip:(t.skip??0)+(t.top??35)},empty:0===r.resources.length}},K=t=>/^[A-Z0-9]{3,10}-[a-z0-9]{6}$/.test(t),z=t=>/^[A-Za-z0-9]{3,10}-[A-Za-z0-9]{6}-[A-Za-z0-9]{2,7}(?:-\d+(?:-[A-Za-z0-9]+)?)?$/.test(t);class Y{api;constructor(){this.api=G.getInstance()}getCollectionProfile=async t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/profile`,{next:{tags:["getCollectionProfile"]}})};getDailyTrending=async()=>await this.api.fetchWithTimeout("/nfts/getDailyTrending",{next:{tags:["getDailyTrending"]}});getCollectionFloorPrice=async(t,e="EGLD")=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/floor-price`,{next:{tags:["getCollectionFloorPrice"]},params:{token:e}})};getCollectionAttributes=async t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/attributes`,{next:{tags:["getCollectionAttributes"]}})};getNFTs=async t=>{if(t?.collections?.forEach((t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t)})),t.top&&t.top>100)throw new Error("Top cannot be greater than 100");const e=[];t.priceRange&&e.push({...t.priceRange,field:t.auctionType==l.Auctions?"saleInfo.currentBidShort":"saleInfo.minBidShort"}),t.rankRange&&e.push({...t.rankRange,field:"metadata.rarity.rank"});const i={name:t.name,filters:{dataType:t.dataType??["nft"],activeAuction:t.activeAuctions,identifier:t.identifiers,collection:t.collections??[],onSale:t.onlyOnSale,saleInfo:{seller:t.listedBy||[],marketplace:t.listedOnlyOn||void 0,paymentToken:t.listedInToken||[],auctionType:t.auctionType==l.Auctions?["NftBid","SftAll"]:t.auctionType==l.FixedPrice?["Nft","SftOnePerPayment"]:t.auctionType==l.AllListed?["NftBid","SftAll","Nft","SftOnePerPayment"]:void 0},owner:t.ownedBy||[],verifiedOnly:t.onlyVerified||!1,metadata:{attributes:t.attributes||void 0},range:e,nonce:t.nonces||void 0,cp_staked:t.isStaked??void 0},applyNftExtraDetails:t.applyNftExtraDetails,orderBy:t.orderBy||[],select:t.onlySelectFields||[],strictSelect:t.strictSelect||!1,includeCount:t.includeCount||!1,top:t.top||35,skip:t.skip||0};return{...await this.api.fetchWithTimeout("/nft/query",{params:{filter:JSON.stringify(i)},next:{tags:["getCollectionNFTs"]}}),getNextPagePayload:{...t,skip:(t.skip??0)+(t.top??35)}}};getSearchNFTs=async t=>{if(t?.collections?.forEach((t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t)})),t.top&&t.top>100)throw new Error("Top cannot be greater than 100");const e=[];t.priceRange&&e.push({...t.priceRange,field:t.auctionType==l.Auctions?"saleInfo.currentBidShort":"saleInfo.minBidShort"}),t.rankRange&&e.push({...t.rankRange,field:"metadata.rarity.rank"});const i={name:t.name,filters:{dataType:t.dataType??["nft"],activeAuction:t.activeAuctions,collection:t.collections??[],onSale:t.onlyOnSale,saleInfo:{seller:t.listedBy||[],marketplace:t.listedOnlyOn||void 0,paymentToken:t.listedInToken||[],auctionType:t.auctionType==l.Auctions?["NftBid","SftAll"]:t.auctionType==l.FixedPrice?["Nft","SftOnePerPayment"]:t.auctionType==l.AllListed?["NftBid","SftAll","Nft","SftOnePerPayment"]:void 0},owner:t.ownedBy||[],verifiedOnly:t.onlyVerified||!1,metadata:{attributes:t.attributes||void 0},range:e,nonce:t.nonces||void 0,cp_staked:t.isStaked??void 0},applyNftExtraDetails:t.applyNftExtraDetails,orderBy:t.orderBy||[],select:t.onlySelectFields||[],strictSelect:t.strictSelect||!1,includeCount:t.includeCount||!1,top:t.top||35,skip:t.skip||0};return{...await this.api.fetchWithTimeout("/nft/search/query",{params:{filter:JSON.stringify(i)},next:{tags:["getCollectionNFTs"]}}),getNextPagePayload:{...t,skip:(t.skip??0)+(t.top??35)}}};suggestCollections=async t=>{if(t.top&&t.top>100)throw new Error("Top cannot be greater than 100");const e={name:t.name,top:t.top||35,skip:t.skip||0};return await this.api.fetchWithTimeout("/collection/search",{params:{filter:JSON.stringify(e)},next:{tags:["/collection/search"]}})};collectionListingsAnalytics=async t=>await this.api.fetchWithTimeout(`/collection/${t}/listings`,{next:{tags:["collection/${ticker}/listings"]}});getTradingActivity=async t=>await j(t,this.api);getOffers=async t=>await this.api.fetchWithTimeout("/nft/offer/query",{params:{filter:JSON.stringify(t)},next:{tags:["/nft/offer/query"]}});getCollections=async t=>{if(t?.top&&t.top>100)throw new Error("Top cannot be greater than 100");const e={skip:t?.skip||0,top:t?.top||25,select:t?.onlySelectFields||[],filters:{dataType:"collectionProfile",isMintable:t?.onlyMintable||void 0,...t?.collections&&t.collections.length>0&&{collection:t.collections}},orderBy:[t?.orderBy||"statistics.tradeData.weekEgldVolume desc"]},i=await this.api.fetchWithTimeout("/collection/query",{params:{filter:JSON.stringify(e)},next:{tags:["getCollections"]}});return{results:i,resultsCount:i.length,empty:0===i.length,getNextPagePayload:{...t,skip:(t?.skip||0)+(t?.top||25)},hasMoreResults:i.length>=(t?.top||25)}};getGlobalOffers=async t=>{if(t?.top&&t.top>100)throw new Error("Top cannot be greater than 100");const e={skip:t?.skip||0,top:t?.top||25,select:t?.onlySelectFields||[],filters:{collection:t?.collections||[],withAttributes:t?.withAttributes,isActive:t?.onlyActive,offerId:t?.offerIds,owner:t?.ownedBy,marketplace:t?.listedOnlyOn,range:t?.priceRange?{...t.priceRange,type:"priceShort"}:void 0,attributes:t?.attributes},orderBy:t?.orderBy||[o.PriceHighToLow]},i=await this.api.fetchWithTimeout("/collection/global-offer/query",{params:{filter:JSON.stringify(e)},next:{tags:["getGlobalOffers"]}});return{...i,getNextPagePayload:{...t,skip:(t?.top||25)+i.lastSkip}}};getCollectionVolume=async(t,e,i,a)=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/analytics/volume?startTime=${e}&endTime=${i}&bin=${a}`,{next:{tags:["getCollectionVolume"]}})};getMarketplaceVolume=async(t,e,i)=>await this.api.fetchWithTimeout(`/analytics/volume?startTime=${t}&endTime=${e}&bin=${i}`,{next:{tags:["getMarketplaceVolume"]}});getCollectionOwners=async t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/holders`,{next:{tags:["getCollectionOwners"]}})};getExportOwners=async t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/holders?exportHolders=true`,{next:{tags:["getExportOwners"]}})};getCollectionsStatistics=async t=>{if(t?.top&&t.top>100)throw new Error("Top cannot be greater than 100");return{...await this.api.fetchWithTimeout("/collection/stats/query",{params:{filter:JSON.stringify(t)},next:{tags:["collectionStatistics"]}}),getNextPagePayload:{...t,skip:t.skip+t.top}}};getCollectionStats=async t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/stats`,{next:{tags:["collectionStatistics"]}})};getAwaitEmpty=async t=>new Promise((e=>{setTimeout((()=>{e(!0)}),t)}));getCollectionMintInfo=async({ticker:t,extra:e})=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/drop-info`,{next:{tags:[`/collection/${t}/drop-info`]},...e})};getCollectionRanks=async({ticker:t,extra:e})=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/ranks`,{next:{tags:[`/collection/${t}/ranks`]},...e})};getDropInfo=async({collectionTag:t,creatorTag:e,extra:i})=>await this.api.fetchWithTimeout(`/collection/${e}/${t}/drop-info`,{next:{tags:[`/collection/${e}/${t}/drop-info`]},...i});getCollectionGraphData=async(t,e,i,a)=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/analytics/volume`,{params:{startTime:e,endTime:i,bin:a},next:{tags:[`/collection/${t}/analytics/volume`]}})};getPinnedCollections=async()=>await this.api.fetchWithTimeout("/collection/pinned",{next:{tags:["/collection/pinned"]}});getSearchDrops=async t=>{if(t?.collections?.forEach((t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t)})),t.top&&t.top>100)throw new Error("Top cannot be greater than 100");const e=[];t.timeRange&&e.push({...t.timeRange,field:"startTime"});const i={name:t.name,filters:{collection:t.collections??[],verifiedOnly:t.onlyVerified||!1,mintToken:t.listedInToken||void 0,range:e},orderBy:t.orderBy||[],select:t.onlySelectFields||[],includeCount:t.includeCount||!1,top:t.top||35,skip:t.skip||0};return{...await this.api.fetchWithTimeout("/collection/drops/search",{params:{filter:JSON.stringify(i)},next:{tags:["/collection/drops/search"]}}),getNextPagePayload:{...t,skip:(t.skip??0)+(t.top??35)}}};getDrops=async t=>{if(t?.collections?.forEach((t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t)})),t.top&&t.top>100)throw new Error("Top cannot be greater than 100");const e=[];t.timeRange&&e.push({...t.timeRange,field:"startTime"});const i={name:t.name,filters:{collection:t.collections??[],verifiedOnly:t.onlyVerified||!1,mintToken:t.listedInToken||void 0,range:e},orderBy:t.orderBy||[],select:t.onlySelectFields||[],includeCount:t.includeCount||!1,top:t.top||35,skip:t.skip||0};return{...await this.api.fetchWithTimeout("/collection/drops/query",{params:{filter:JSON.stringify(i)},next:{tags:["/collection/drops/query"]}}),getNextPagePayload:{...t,skip:(t.skip??0)+(t.top??35)}}};getCollectionStakingSummary=async({collection:t,extra:e})=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return await this.api.fetchWithTimeout(`/collection/${t}/staking/summary`,{...e})};getCollectionsFloor=async t=>(t?.forEach((t=>{if(!K(t))throw new Error("Invalid collection ticker: "+t)})),await this.api.fetchWithTimeout("/collection/floor-price",{params:{collection:t.join(",")}}))}const J=t=>{let e=t.toString(16);return e.length%2!=0&&(e="0"+e),e},X=t=>t.includes("erd1")&&62===t?.length;class Z{api;constructor(){this.api=G.getInstance()}getNFTByIdentifier=async(t,e)=>{if(!z(t))throw new Error("Invalid identifier: "+t);return await this.api.fetchWithTimeout(`/nft/${t}`,{...e})};getNFTsOffers=async(t,e=0,i=25)=>{if(!z(t))throw new Error("Invalid identifier: "+t);return await this.api.fetchWithTimeout(`/nft/${t}/offers?skip=${e}&top=${i}`,{next:{tags:["getNFTsOffers"]}})};getNFTByCollectionAndNonce=async(t,e)=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);const i=await this.api.fetchWithTimeout(`/${((t,e)=>[t,J(e)].join("-"))(t,e)}`);return i};getNFTByCollectionAndNonceHex=async(t,e)=>{if(!K(t))throw new Error("Invalid collection ticker: "+t);return e.length%2!=0&&(e="0"+e),await this.api.fetchWithTimeout(`/${[t,e].join("-")}`)};getTradingActivity=async t=>await j(t,this.api)}class Q{api;collection;constructor(){this.api=G.getInstance(),this.collection=new Y}getUserProfile=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/profile`)};getBulkAccounts=async t=>await this.api.fetchWithTimeout("/user/network-account",{method:"POST",body:JSON.stringify(t)});getUserAccount=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/network-account`)};getUserTokenInventory=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/token-inventory`)};getUserSummaryInventory=async(t,e=!0)=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/inventory-summary?activeAuction=${e}`)};getUserNFTs=async t=>await this.collection.getNFTs(t);getUserOffers=async t=>{if(!X(t.address))throw new Error("Invalid address:"+t.address);return await this.api.fetchWithTimeout(`/user/${t.address}/offers`,{params:{type:t.type,skip:t.skip,top:t.top}})};suggestUsers=async t=>{if(t.top&&t.top>100)throw new Error("Top cannot be greater than 100");const e={name:t.name,top:t.top||35,skip:t.skip||0};return await this.api.fetchWithTimeout("/user/search",{params:{filter:JSON.stringify(e)},next:{tags:["/search/global"]}})};getTradingActivity=async t=>await j(t,this.api);getUserCreatorProfile=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/creator/profile`)};getCreatorListings=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/creator/listing`)};getCreatorEvents=async(t,e)=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/creator/events`,{...e})};getUserStakingSummary=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/staking/summary`)};getUserStakingAailable=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/staking/available-pools`)};getUserCreatorInfo=async(t,e)=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/creator/details`,{...e})};getUserCollectionStaking=async(t,e)=>{if(!X(t))throw new Error("Invalid address:"+t);if(!K(e))throw new Error("Invalid collection ticker: "+e);return await this.api.fetchWithTimeout(`/user/${t}/staking/collection/${e}`)};getUserPoolStaking=async(t,e,i)=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/staking/pool/${e}/nfts?status=${i}`)};getOwnedPoolsByAddress=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/staking/owned-pools`)};getUserAnalyticsSummary=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/analytics/volume`)};getUserFavoriteNFTs=async(t,e,i)=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/favorite/nfts`,{params:{top:e,skip:i}})};getUserFavoriteCollectionTickers=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/favorite/collections`)};getIsCreatorRegistered=async t=>await this.api.fetchWithTimeout(`/user/${t}/creator/is-registered`);getUsersStats=async({top:t,skip:e,orderBy:i,orderDirection:a})=>{if(t&&t>35)throw new Error("Top cannot be greater than 100");return await this.api.fetchWithTimeout("/user/stats",{params:{top:t,skip:e,orderBy:i,orderDirection:a??"desc"},next:{tags:["/user/stats"]}})};getStakingCreatorInfo=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/staking/creator`,{next:{tags:[`/user/${t}/staking/creator`]}})};getUsersDrop=async({top:t,skip:e,address:i})=>{if(t&&t>35)throw new Error("Top cannot be greater than 100");if(i&&!X(i))throw new Error("Invalid address:"+i);return await this.api.fetchWithTimeout("/user/xoxno-drop",{params:{top:t,skip:e,...i?{address:i}:{}},next:{tags:["/user/xoxno-drop"]}})};getUserOwnerCollections=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/user/${t}/staking/owned-collections`)};getRoyaltiesSharesCreator=async t=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/launchpad/${t}/shareholders/royalties`)};getMintSharesCreator=async(t,e)=>{if(!X(t))throw new Error("Invalid address:"+t);return await this.api.fetchWithTimeout(`/launchpad/${t}/shareholders/collection/${e}`)}}class tt{api;constructor(){this.api=G.getInstance()}getPoolDetails=async t=>await this.api.fetchWithTimeout(`/pool/${t}/profile`)}class et{api;constructor(){this.api=G.getInstance()}getTokensUsdPrice=async()=>await this.api.fetchWithTimeout("/tokens/usd-price");getAshSwapAmount=async({originalToken:t,originalTokenValue:e,paymentToken:i})=>await this.api.fetchWithTimeout("/ash/min-token-quantity",{params:{originalToken:t,originalTokenValue:e,paymentToken:i}});getFungibleTokens=async(t=[d.ALL],e)=>{let i={};return e&&(i={identifier:e.join(",")}),t&&(i={...i,category:t.join(",")}),await this.api.fetchWithTimeout("/tokens",{params:i})};getGlobalGraphData=async(t,e,i)=>await this.api.fetchWithTimeout("/analytics/volume",{params:{startTime:t,endTime:e,bin:i},next:{tags:["/analytics/volume"]}});getAnalyticsOverview=async()=>await this.api.fetchWithTimeout("/analytics/overview",{next:{tags:["/analytics/overview"]}});suggestResults=async t=>{if(t.top&&t.top>100)throw new Error("Top cannot be greater than 100");const e={name:t.name,top:t.top||35,skip:t.skip||0};return await this.api.fetchWithTimeout("/search",{params:{filter:JSON.stringify(e)},next:{tags:["/search/global"]}})};getExploreStaking=async()=>await this.api.fetchWithTimeout("/collection/staking/explore",{next:{tags:["/collection/staking/explore"]}})}module.exports=C})();