UNPKG

@multiversx/sdk-dapp-swap

Version:

A library to hold the main logic for swapping between tokens on the MultiversX blockchain

3 lines (2 loc) 2.58 kB
import{a as R,b as x}from"./chunk-C7OSDH6I.js";import{a as z}from"./chunk-M3EOZ6NB.js";import{a as q}from"./chunk-RWMDQQQ6.js";import{a as M}from"./chunk-E7RPY3JC.js";import{a as b}from"./chunk-TFANAJLM.js";import{a as B}from"./chunk-WECLRGMA.js";import{b as Q}from"./chunk-4XMIBGR3.js";import{a as f,b as E,f as O}from"./chunk-5W737WN4.js";O();import{useEffect as C,useMemo as H,useRef as ae,useState as o}from"react";var ue=0,pe=1e3,Te="",ge=!0,de=[],Ue=n=>{var v,G;let U=ae(!0),y=(v=n==null?void 0:n.enableProgressiveFetching)!=null?v:!0,{client:A,isAuthenticated:K}=Q(),u=H(()=>y?20:60,[y]);if(!A)throw new Error("Swap GraphQL client not initialized");let h=n==null?void 0:n.searchInput,[T,_]=o({first:u,after:""}),[j,D]=o(!0),[l,P]=o(),[V,m]=o(new Set),[p,Z]=o([]),[r,w]=o(),[J,X]=o(),[Y,$]=o(),{priceSubscriptions:a}=q(),ee=e=>{var N;if(!e)return;let{wrappingInfo:t,userTokens:s,factory:i,filteredTokens:d}=e,{edges:c,pageInfo:F,pageData:I}=d;$(I==null?void 0:I.count),i&&X(i);let k=t&&t.length?t[0].wrappedToken:void 0;if(k&&w(k),!c)return;P((N=c[c.length-1])==null?void 0:N.cursor);let ie=c.map(L=>E(f({},L.node),{balance:"0",valueUSD:"0"})),oe=b(ie,s),ce=B({tokens:oe,wrappedEgld:k});Z(L=>b(L,ce)),D(Boolean(y&&(F==null?void 0:F.hasNextPage)))},{isError:te,isLoading:g,execute:W}=z({query:K?x:R,queryOptions:{client:A,onCompleted:ee}}),S=e=>{var s,i,d,c;let t={userTokensLimit:pe,userTokensOffset:ue,identifiers:(s=e==null?void 0:e.identifiers)!=null?s:de,enabledSwaps:(i=e==null?void 0:e.enabledSwaps)!=null?i:ge,pagination:(d=e==null?void 0:e.pagination)!=null?d:{first:u,after:""},searchInput:(c=e==null?void 0:e.searchInput)!=null?c:Te};W({variables:t})};C(()=>{if(a){let e=r!=null&&r.identifier?a[r==null?void 0:r.identifier]:void 0;r&&e&&w(E(f({},r),{price:e.price}))}},[a]);let ne=H(()=>{let e=Object.keys(a);return p.some(({identifier:t})=>e.includes(t))?p.map(t=>{var i;let s=a[t.identifier];return E(f({},t),{price:(i=s==null?void 0:s.price)!=null?i:t.price})}):p},[p,a]),re=()=>{if(U.current){U.current=!1;return}_({first:u,after:""}),m(new Set),D(!0),S({pagination:{first:u,after:""},searchInput:h})},se=()=>{T.after&&(m(e=>new Set(e).add(T.after)),S({pagination:T,searchInput:h}))};return C(re,[h]),C(se,[T]),M({tokens:p,hasMore:j,loadedCursors:V,pageSize:u,isLoading:g!=null?g:!1,currentCursor:l!=null?l:"",observerId:(G=n==null?void 0:n.observerId)!=null?G:"",setPagination:_}),{swapConfig:J,wrappedEgld:r,isTokensError:te,isTokensLoading:g,totalTokensCount:Y,tokens:ne,getTokens:S,refetch:W}};export{Ue as a}; //# sourceMappingURL=chunk-O2OHYF2L.js.map