@aave/react 4.0.0-next.34 → 4.0.0-next.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import {b}from'./chunk-4NA4FB6K.js';import {a}from'./chunk-4GURAVFN.js';import {chain,exchangeRate}from'@aave/client/actions';import {ChainsFilter,ChainQuery,ChainsQuery,ExchangeRateQuery}from'@aave/graphql';import {UnexpectedError}from'@aave/client';import {identity,invariant}from'@aave/types';import {useState,useMemo,useEffect}from'react';import {useQuery}from'urql';var u={Loading:()=>({data:void 0,error:void 0,loading:true,paused:false,reloading:false}),Success:(e,a=false)=>({data:e,error:void 0,loading:false,paused:false,reloading:a}),Failure:(e,a=false)=>({data:void 0,error:e,loading:false,paused:false,reloading:a}),Paused:(e,a)=>({data:e,error:a,loading:false,paused:true,reloading:false})};function i({document:e,variables:a,suspense:s,pause:t,selector:b=identity,pollInterval:d=0,batch:x=true}){let[f,E]=useState(true),[{fetching:n,data:r,error:l,stale:U},R]=useQuery({query:e,variables:a,pause:t,context:useMemo(()=>({batch:x,suspense:s}),[x,s])});if(useEffect(()=>{t||n||E(false);},[n,t]),useEffect(()=>{if(d<=0||n||t)return;let o=setTimeout(()=>{R({requestPolicy:"network-only",batch:false});},d);return ()=>clearTimeout(o)},[n,R,d,t]),t)return u.Paused(r?b(r.value):void 0,l?UnexpectedError.from(l):void 0);if(!s&&f)return u.Loading();let g=U||!f&&n;if(l){let o=UnexpectedError.from(l);if(s)throw o;return u.Failure(o,g)}return invariant(r,"No data returned"),u.Success(b(r.value),g)}function G({suspense:e=false,pause:a=false,...s}){return i({document:ChainQuery,variables:{request:s},suspense:e,pause:a})}function H(){let e=b();return a(a=>chain(e,a,{batch:false,requestPolicy:"cache-first"}),[e])}function J({suspense:e=false,pause:a=false,...s}={query:{filter:ChainsFilter.ALL}}){return i({document:ChainsQuery,variables:{request:s},suspense:e,pause:a})}function K(){let e=b();return a(a=>exchangeRate(e,a,{requestPolicy:"network-only"}),[e])}function X({suspense:e=false,pause:a=false,...s}){let t=b();return i({document:ExchangeRateQuery,variables:{request:s},suspense:e,pause:a,pollInterval:s.at?0:t.context.environment.exchangeRateInterval})}export{u as a,i as b,G as c,H as d,J as e,K as f,X as g};//# sourceMappingURL=chunk-EX7WQ47T.js.map
2
+ //# sourceMappingURL=chunk-EX7WQ47T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/helpers/results.ts","../src/helpers/reads.ts","../src/misc.ts"],"names":["ReadResult","data","reloading","error","useSuspendableQuery","document","variables","suspense","pause","selector","identity","pollInterval","batch","loading","setLoading","useState","fetching","stale","executeQuery","useQuery","useMemo","useEffect","timerId","UnexpectedError","unexpected","invariant","useChain","request","ChainQuery","useChainAction","client","useAaveClient","useAsyncTask","fetchChain","useChains","ChainsFilter","ChainsQuery","useExchangeRateAction","exchangeRate","useExchangeRate","ExchangeRateQuery"],"mappings":"mXAiEO,IAAMA,CAAAA,CAAa,CACxB,QAAS,KAGyB,CAChC,IAAA,CAAM,MAAA,CACN,KAAA,CAAO,MAAA,CACP,QAAS,IAAA,CACT,MAAA,CAAQ,KAAA,CACR,SAAA,CAAW,KACb,CAAA,CAAA,CACA,QAAS,CACPC,CAAAA,CACAC,CAAAA,CAAY,KAAA,IACkB,CAC9B,IAAA,CAAAD,EACA,KAAA,CAAO,MAAA,CACP,OAAA,CAAS,KAAA,CACT,MAAA,CAAQ,KAAA,CACR,UAAAC,CACF,CAAA,CAAA,CACA,OAAA,CAAS,CACPC,CAAAA,CACAD,CAAAA,CAAY,SACkB,CAC9B,IAAA,CAAM,MAAA,CACN,KAAA,CAAAC,CAAAA,CACA,OAAA,CAAS,MACT,MAAA,CAAQ,KAAA,CACR,SAAA,CAAAD,CACF,CAAA,CAAA,CACA,MAAA,CAAQ,CACND,CAAAA,CACAE,CAAAA,IAC8B,CAC9B,IAAA,CAAAF,CAAAA,CACA,KAAA,CAAAE,EACA,OAAA,CAAS,KAAA,CACT,MAAA,CAAQ,IAAA,CACR,SAAA,CAAW,KACb,EACF,ECMO,SAASC,CAAAA,CAId,CACA,QAAA,CAAAC,CAAAA,CACA,UAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,EAAWC,QAAAA,CACX,YAAA,CAAAC,CAAAA,CAAe,CAAA,CACf,KAAA,CAAAC,CAAAA,CAAQ,IACV,CAAA,CAM+C,CAC7C,GAAM,CAACC,CAAAA,CAASC,CAAU,EAAIC,QAAAA,CAAS,IAAI,CAAA,CACrC,CAAC,CAAE,QAAA,CAAAC,EAAU,IAAA,CAAAf,CAAAA,CAAM,KAAA,CAAAE,CAAAA,CAAO,KAAA,CAAAc,CAAM,EAAGC,CAAY,CAAA,CAAIC,QAAAA,CAAS,CAChE,KAAA,CAAOd,CAAAA,CACP,UAAWC,CAAAA,CACX,KAAA,CAAAE,CAAAA,CACA,OAAA,CAASY,OAAAA,CACP,KAAO,CACL,KAAA,CAAAR,CAAAA,CACA,QAAA,CAAAL,CACF,CAAA,CAAA,CACA,CAACK,EAAOL,CAAQ,CAClB,CACF,CAAC,CAAA,CAuBD,GArBAc,UAAU,IAAM,CACVb,CAAAA,EAECQ,CAAAA,EACHF,CAAAA,CAAW,KAAK,EAEpB,CAAA,CAAG,CAACE,CAAAA,CAAUR,CAAK,CAAC,CAAA,CAEpBa,UAAU,IAAM,CACd,GAAIV,CAAAA,EAAgB,CAAA,EAAKK,CAAAA,EAAYR,EAAO,OAE5C,IAAMc,CAAAA,CAAU,UAAA,CAAW,IAAM,CAC/BJ,EAAa,CACX,aAAA,CAAe,cAAA,CACf,KAAA,CAAO,KACT,CAAC,EACH,CAAA,CAAGP,CAAY,CAAA,CAEf,OAAO,IAAM,YAAA,CAAaW,CAAO,CACnC,CAAA,CAAG,CAACN,CAAAA,CAAUE,CAAAA,CAAcP,CAAAA,CAAcH,CAAK,CAAC,CAAA,CAE5CA,CAAAA,CACF,OAAOR,CAAAA,CAAW,MAAA,CAChBC,CAAAA,CAAOQ,EAASR,CAAAA,CAAK,KAAK,CAAA,CAAI,MAAA,CAC9BE,CAAAA,CAAQoB,eAAAA,CAAgB,KAAKpB,CAAK,CAAA,CAAI,MACxC,CAAA,CAGF,GAAI,CAACI,GAAYM,CAAAA,CACf,OAAOb,CAAAA,CAAW,OAAA,EAAQ,CAK5B,IAAME,EAAYe,CAAAA,EAAU,CAACJ,CAAAA,EAAWG,CAAAA,CAExC,GAAIb,CAAAA,CAAO,CACT,IAAMqB,CAAAA,CAAaD,eAAAA,CAAgB,IAAA,CAAKpB,CAAK,CAAA,CAC7C,GAAII,CAAAA,CACF,MAAMiB,CAAAA,CAGR,OAAOxB,CAAAA,CAAW,OAAA,CAAQwB,EAAYtB,CAAS,CACjD,CAEA,OAAAuB,SAAAA,CAAUxB,CAAAA,CAAM,kBAAkB,CAAA,CAE3BD,CAAAA,CAAW,OAAA,CAAQS,CAAAA,CAASR,CAAAA,CAAK,KAAK,EAAGC,CAAS,CAC3D,CCvGO,SAASwB,CAAAA,CAAS,CACvB,SAAAnB,CAAAA,CAAW,KAAA,CACX,KAAA,CAAAC,CAAAA,CAAQ,KAAA,CACR,GAAGmB,CACL,CAAA,CAGqD,CACnD,OAAOvB,CAAAA,CAAoB,CACzB,QAAA,CAAUwB,WACV,SAAA,CAAW,CACT,OAAA,CAAAD,CACF,CAAA,CACA,QAAA,CAAApB,EACA,KAAA,CAAAC,CACF,CAAC,CACH,CA2BO,SAASqB,GAId,CACA,IAAMC,CAAAA,CAASC,CAAAA,EAAc,CAE7B,OAAOC,EACJL,CAAAA,EACCM,KAAAA,CAAWH,CAAAA,CAAQH,CAAAA,CAAS,CAC1B,KAAA,CAAO,MACP,aAAA,CAAe,aACjB,CAAC,CAAA,CACH,CAACG,CAAM,CACT,CACF,CA4DO,SAASI,CAAAA,CACd,CACE,QAAA,CAAA3B,EAAW,KAAA,CACX,KAAA,CAAAC,CAAAA,CAAQ,KAAA,CACR,GAAGmB,CACL,EAGI,CAAE,KAAA,CAAO,CAAE,MAAA,CAAQQ,YAAAA,CAAa,GAAI,CAAE,CAAA,CACG,CAC7C,OAAO/B,CAAAA,CAAoB,CACzB,QAAA,CAAUgC,YACV,SAAA,CAAW,CAAE,OAAA,CAAAT,CAAQ,CAAA,CACrB,QAAA,CAAApB,EACA,KAAA,CAAAC,CACF,CAAC,CACH,CA0BO,SAAS6B,GAId,CACA,IAAMP,CAAAA,CAASC,CAAAA,EAAc,CAE7B,OAAOC,EACJL,CAAAA,EACCW,YAAAA,CAAaR,CAAAA,CAAQH,CAAAA,CAAS,CAAE,aAAA,CAAe,cAAe,CAAC,CAAA,CACjE,CAACG,CAAM,CACT,CACF,CAyFO,SAASS,CAAAA,CAAgB,CAC9B,QAAA,CAAAhC,CAAAA,CAAW,KAAA,CACX,MAAAC,CAAAA,CAAQ,KAAA,CACR,GAAGmB,CACL,CAAA,CAGuD,CACrD,IAAMG,CAAAA,CAASC,CAAAA,EAAc,CAE7B,OAAO3B,CAAAA,CAAoB,CACzB,SAAUoC,iBAAAA,CACV,SAAA,CAAW,CAAE,OAAA,CAAAb,CAAQ,CAAA,CACrB,SAAApB,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,YAAA,CAAcmB,CAAAA,CAAQ,EAAA,CAClB,CAAA,CACAG,CAAAA,CAAO,OAAA,CAAQ,WAAA,CAAY,oBACjC,CAAC,CACH","file":"chunk-EX7WQ47T.js","sourcesContent":["import type { UnexpectedError } from '@aave/client';\n\n/**\n * A read hook result.\n *\n * It's a discriminated union of the possible results of a read operation:\n * - Rely on the `loading` value to determine if the `data` or `error` can be evaluated.\n * - If `error` is `undefined`, then `data` value will be available.\n */\nexport type ReadResult<T, E extends UnexpectedError = UnexpectedError> =\n | {\n data: undefined;\n error: undefined;\n loading: true;\n reloading: false;\n }\n | {\n data: T;\n error: undefined;\n loading: false;\n reloading: boolean;\n }\n | {\n data: undefined;\n error: E;\n loading: false;\n reloading: boolean;\n };\n\n/**\n * A read hook result that supports pausing.\n */\nexport type PausableReadResult<T, E extends UnexpectedError = UnexpectedError> =\n | {\n data: T | undefined;\n error: E | undefined;\n loading: false;\n paused: true;\n reloading: false;\n }\n | {\n data: undefined;\n error: undefined;\n loading: true;\n paused: false;\n reloading: false;\n }\n | {\n data: T;\n error: undefined;\n loading: false;\n paused: false;\n reloading: boolean;\n }\n | {\n data: undefined;\n error: E;\n loading: false;\n paused: false;\n reloading: boolean;\n };\n\n/**\n * @internal\n */\nexport const ReadResult = {\n Loading: <\n T,\n E extends UnexpectedError = UnexpectedError,\n >(): PausableReadResult<T, E> => ({\n data: undefined,\n error: undefined,\n loading: true,\n paused: false,\n reloading: false,\n }),\n Success: <T, E extends UnexpectedError = UnexpectedError>(\n data: T,\n reloading = false,\n ): PausableReadResult<T, E> => ({\n data,\n error: undefined,\n loading: false,\n paused: false,\n reloading,\n }),\n Failure: <T, E extends UnexpectedError = UnexpectedError>(\n error: E,\n reloading = false,\n ): PausableReadResult<T, E> => ({\n data: undefined,\n error,\n loading: false,\n paused: false,\n reloading,\n }),\n Paused: <T, E extends UnexpectedError = UnexpectedError>(\n data: T | undefined,\n error: E | undefined,\n ): PausableReadResult<T, E> => ({\n data,\n error,\n loading: false,\n paused: true,\n reloading: false,\n }),\n};\n\n/**\n * A read hook result that supports React Suspense.\n */\nexport type SuspenseResult<T> = {\n data: T;\n};\n\n/**\n * A read hook result that supports React Suspense and can be paused.\n */\nexport type PausableSuspenseResult<T> =\n | {\n paused: true;\n data: undefined;\n }\n | {\n paused: false;\n data: T;\n };\n\nexport type SuspendableResult<T, E extends UnexpectedError = UnexpectedError> =\n | ReadResult<T, E>\n | SuspenseResult<T>\n | PausableReadResult<T, E>\n | PausableSuspenseResult<T>;\n","import { type StandardData, UnexpectedError } from '@aave/client';\nimport {\n type AnyVariables,\n identity,\n invariant,\n type NullishDeep,\n type Prettify,\n} from '@aave/types';\nimport { useEffect, useMemo, useState } from 'react';\nimport { type TypedDocumentNode, useQuery } from 'urql';\nimport {\n type PausableReadResult,\n type PausableSuspenseResult,\n ReadResult,\n type SuspendableResult,\n type SuspenseResult,\n} from './results';\n\nexport type Selector<T, V> = (data: T) => V;\n\nexport type Pausable<T, WhenPaused = NullishDeep<T>> = Prettify<\n WhenPaused & {\n /**\n * Prevents the hook from automatically executing GraphQL query operations.\n *\n * @experimental This is an experimental feature and may change in the future.\n *\n * @remarks\n * `pause` may be set to `true` to stop the query operation from executing\n * automatically. The hook will stop receiving updates and won’t execute the query\n * operation until it’s set to `false`.\n */\n pause: boolean;\n }\n>;\n\nexport type Suspendable = { suspense: true };\n\n/**\n * @internal\n */\nexport type UseSuspendableQueryArgs<\n Value,\n Output,\n Variables extends AnyVariables,\n Suspense extends boolean,\n Pause extends boolean = never,\n> = {\n document: TypedDocumentNode<StandardData<Value>, Variables>;\n variables?: Pause extends boolean ? NullishDeep<Variables> : Variables;\n suspense: Suspense;\n selector?: Selector<Value, Output>;\n pollInterval?: number;\n batch?: boolean;\n pause?: Pause;\n};\n\n/**\n * @internal\n */\nexport function useSuspendableQuery<\n Value,\n Output,\n Variables extends AnyVariables,\n Pausable extends boolean = never,\n>({\n document,\n variables,\n suspense,\n pause,\n}: UseSuspendableQueryArgs<Value, Output, Variables, false, Pausable>):\n | ReadResult<Output>\n | PausableReadResult<Output>;\n/**\n * @internal\n */\nexport function useSuspendableQuery<\n Value,\n Output,\n Variables extends AnyVariables,\n Pausable extends boolean = never,\n>({\n document,\n variables,\n suspense,\n pause,\n}: UseSuspendableQueryArgs<Value, Output, Variables, true, Pausable>):\n | SuspenseResult<Output>\n | PausableSuspenseResult<Output>;\n/**\n * @internal\n */\nexport function useSuspendableQuery<\n Value,\n Output,\n Variables extends AnyVariables,\n Pausable extends boolean = never,\n>({\n document,\n variables,\n suspense,\n pause,\n}: UseSuspendableQueryArgs<\n Value,\n Output,\n Variables,\n boolean,\n Pausable\n>): SuspendableResult<Output, UnexpectedError>;\n/**\n * Implementation.\n */\nexport function useSuspendableQuery<\n Value,\n Output,\n Variables extends AnyVariables,\n>({\n document,\n variables,\n suspense,\n pause,\n selector = identity as Selector<Value, Output>,\n pollInterval = 0,\n batch = true,\n}: UseSuspendableQueryArgs<\n Value,\n Output,\n Variables,\n boolean,\n boolean\n>): SuspendableResult<Output, UnexpectedError> {\n const [loading, setLoading] = useState(true);\n const [{ fetching, data, error, stale }, executeQuery] = useQuery({\n query: document,\n variables: variables as Variables,\n pause,\n context: useMemo(\n () => ({\n batch,\n suspense,\n }),\n [batch, suspense],\n ),\n });\n\n useEffect(() => {\n if (pause) return;\n\n if (!fetching) {\n setLoading(false);\n }\n }, [fetching, pause]);\n\n useEffect(() => {\n if (pollInterval <= 0 || fetching || pause) return undefined;\n\n const timerId = setTimeout(() => {\n executeQuery({\n requestPolicy: 'network-only',\n batch: false, // never batch, run now!\n });\n }, pollInterval);\n\n return () => clearTimeout(timerId);\n }, [fetching, executeQuery, pollInterval, pause]);\n\n if (pause) {\n return ReadResult.Paused(\n data ? selector(data.value) : undefined,\n error ? UnexpectedError.from(error) : undefined,\n );\n }\n\n if (!suspense && loading) {\n return ReadResult.Loading();\n }\n\n // stale indicates that the useQuery is fetching new data because the variables changed\n // !loading && fetching indicates that a re-fetch is happening as consequence of calling executeQuery (e.g., polling)\n const reloading = stale || (!loading && fetching);\n\n if (error) {\n const unexpected = UnexpectedError.from(error);\n if (suspense) {\n throw unexpected;\n }\n\n return ReadResult.Failure(unexpected, reloading);\n }\n\n invariant(data, 'No data returned');\n\n return ReadResult.Success(selector(data.value), reloading);\n}\n","import type { CurrencyQueryOptions } from '@aave/client';\nimport { exchangeRate, chain as fetchChain } from '@aave/client/actions';\nimport type { UnexpectedError } from '@aave/core';\nimport type { Chain, ExchangeAmount, ExchangeRateRequest } from '@aave/graphql';\nimport {\n type ActivityItem,\n ChainQuery,\n type ChainRequest,\n ChainsFilter,\n ChainsQuery,\n type ChainsRequest,\n ExchangeRateQuery,\n type NativeAmount,\n type PreviewAction,\n} from '@aave/graphql';\nimport type { NullishDeep, Prettify } from '@aave/types';\nimport { useAaveClient } from './context';\nimport {\n type Pausable,\n type PausableReadResult,\n type PausableSuspenseResult,\n type ReadResult,\n type Suspendable,\n type SuspendableResult,\n type SuspenseResult,\n useSuspendableQuery,\n} from './helpers';\nimport { type UseAsyncTask, useAsyncTask } from './helpers/tasks';\n\nexport type UseChainArgs = ChainRequest;\n\n/**\n * Fetch a specific chain by chain ID.\n *\n * This signature supports React Suspense:\n *\n * ```tsx\n * const { data } = useChain({\n * chainId: chainId(1),\n * suspense: true,\n * });\n * // data will be Chain | null\n * ```\n */\nexport function useChain(\n args: UseChainArgs & Suspendable,\n): SuspenseResult<Chain | null>;\n/**\n * Fetch a specific chain by chain ID.\n *\n * Pausable suspense mode.\n *\n * ```tsx\n * const { data } = useChain({\n * chainId: chainId(1),\n * suspense: true,\n * pause: true,\n * });\n * ```\n */\nexport function useChain(\n args: Pausable<UseChainArgs> & Suspendable,\n): PausableSuspenseResult<Chain | null>;\n/**\n * Fetch a specific chain by chain ID.\n *\n * ```tsx\n * const { data, error, loading } = useChain({\n * chainId: chainId(1),\n * });\n * // data will be Chain | null\n * ```\n */\nexport function useChain(args: UseChainArgs): ReadResult<Chain | null>;\n/**\n * Fetch a specific chain by chain ID.\n *\n * Pausable loading state mode.\n *\n * ```tsx\n * const { data, error, loading, paused } = useChain({\n * chainId: chainId(1),\n * pause: true,\n * });\n * ```\n */\nexport function useChain(\n args: Pausable<UseChainArgs>,\n): PausableReadResult<Chain | null>;\n\nexport function useChain({\n suspense = false,\n pause = false,\n ...request\n}: NullishDeep<UseChainArgs> & {\n suspense?: boolean;\n pause?: boolean;\n}): SuspendableResult<Chain | null, UnexpectedError> {\n return useSuspendableQuery({\n document: ChainQuery,\n variables: {\n request,\n },\n suspense,\n pause,\n });\n}\n\n/**\n * Low-level hook to execute a {@link chain} action directly.\n *\n * @experimental This hook is experimental and may be subject to breaking changes.\n * @remarks\n * This hook **does not** actively watch for updated data on the chain.\n * Use this hook to retrieve data on demand as part of a larger workflow\n * (e.g., in an event handler in order to move to the next step).\n *\n * ```ts\n * const [execute, { called, data, error, loading }] = useChainAction();\n *\n * // …\n *\n * const result = await execute({\n * chainId: chainId(1),\n * });\n *\n * if (result.isOk()) {\n * console.log(result.value); // Chain | null\n * } else {\n * console.error(result.error);\n * }\n * ```\n */\nexport function useChainAction(): UseAsyncTask<\n ChainRequest,\n Chain | null,\n UnexpectedError\n> {\n const client = useAaveClient();\n\n return useAsyncTask(\n (request: ChainRequest) =>\n fetchChain(client, request, {\n batch: false,\n requestPolicy: 'cache-first',\n }),\n [client],\n );\n}\n\nexport type UseChainsArgs = ChainsRequest;\n/**\n * Fetches the list of supported chains.\n *\n * This signature supports React Suspense:\n *\n * ```tsx\n * const { data } = useChains({\n * query: { filter: ChainsFilter.ALL },\n * suspense: true,\n * });\n * ```\n */\nexport function useChains(\n args: UseChainsArgs & Suspendable,\n): SuspenseResult<Chain[]>;\n/**\n * Fetches the list of supported chains.\n *\n * Pausable suspense mode.\n *\n * ```tsx\n * const { data } = useChains({\n * query: { filter: ChainsFilter.ALL },\n * suspense: true,\n * pause: true,\n * });\n * ```\n */\nexport function useChains(\n args: Pausable<UseChainsArgs> & Suspendable,\n): PausableSuspenseResult<Chain[]>;\n/**\n * Fetches the list of supported chains.\n *\n * ```tsx\n * const { data, error, loading } = useChains({\n * query: { filter: ChainsFilter.ALL },\n * });\n * ```\n */\nexport function useChains(args?: UseChainsArgs): ReadResult<Chain[]>;\n/**\n * Fetches the list of supported chains.\n *\n * Pausable loading state mode.\n *\n * ```tsx\n * const { data, error, loading, paused } = useChains({\n * query: { filter: ChainsFilter.ALL },\n * pause: true,\n * });\n * ```\n */\nexport function useChains(\n args?: Pausable<UseChainsArgs>,\n): PausableReadResult<Chain[]>;\n\nexport function useChains(\n {\n suspense = false,\n pause = false,\n ...request\n }: NullishDeep<UseChainsArgs> & {\n suspense?: boolean;\n pause?: boolean;\n } = { query: { filter: ChainsFilter.ALL } },\n): SuspendableResult<Chain[], UnexpectedError> {\n return useSuspendableQuery({\n document: ChainsQuery,\n variables: { request },\n suspense,\n pause,\n });\n}\n\n/**\n * Fetches exchange rates between tokens and fiat currencies.\n *\n * ```tsx\n * const [getExchangeRate, gettingRate] = useExchangeRateAction();\n *\n * const loading = gettingRate.loading;\n * const error = gettingRate.error;\n *\n * // …\n *\n * const result = await getExchangeRate({\n * from: { erc20: { chainId: chainId(1), address: evmAddress('0xA0b86a33E6...') } },\n * to: Currency.Usd,\n * });\n *\n * if (result.isErr()) {\n * console.error(result.error);\n * return;\n * }\n *\n * console.log('Exchange rate:', result.value);\n * ```\n */\nexport function useExchangeRateAction(): UseAsyncTask<\n ExchangeRateRequest,\n ExchangeAmount,\n UnexpectedError\n> {\n const client = useAaveClient();\n\n return useAsyncTask(\n (request: ExchangeRateRequest) =>\n exchangeRate(client, request, { requestPolicy: 'network-only' }),\n [client],\n );\n}\n\nexport type UseExchangeRateArgs = ExchangeRateRequest;\n\n/**\n * Fetches exchange rates between tokens and fiat currencies with automatic polling.\n *\n * This signature supports React Suspense:\n *\n * ```tsx\n * const { data } = useExchangeRate({\n * from: {\n * erc20: {\n * chainId: chainId(1),\n * address: evmAddress('0xA0b86a33E6...')\n * }\n * },\n * to: Currency.Usd,\n * suspense: true,\n * });\n * ```\n */\nexport function useExchangeRate(\n args: UseExchangeRateArgs & Suspendable,\n): SuspenseResult<ExchangeAmount>;\n/**\n * Fetches exchange rates between tokens and fiat currencies with automatic polling.\n *\n * Pausable suspense mode.\n *\n * ```tsx\n * const { data } = useExchangeRate({\n * from: {\n * erc20: {\n * chainId: chainId(1),\n * address: evmAddress('0xA0b86a33E6...')\n * }\n * },\n * to: Currency.Usd,\n * suspense: true,\n * pause: true,\n * });\n * ```\n */\nexport function useExchangeRate(\n args: Pausable<UseExchangeRateArgs> & Suspendable,\n): PausableSuspenseResult<ExchangeAmount>;\n/**\n * Fetches exchange rates between tokens and fiat currencies with automatic polling.\n *\n * ```tsx\n * const { data, error, loading } = useExchangeRate({\n * from: {\n * erc20: {\n * chainId: chainId(1),\n * address: evmAddress('0xA0b86a33E6...')\n * }\n * },\n * to: Currency.Usd,\n * });\n *\n * <Component value={somewhere} fxRate={data} />\n * ```\n */\nexport function useExchangeRate(\n args: UseExchangeRateArgs,\n): ReadResult<ExchangeAmount>;\n/**\n * Fetches exchange rates between tokens and fiat currencies with automatic polling.\n *\n * Pausable loading state mode.\n *\n * ```tsx\n * const { data, error, loading, paused } = useExchangeRate({\n * from: {\n * erc20: {\n * chainId: chainId(1),\n * address: evmAddress('0xA0b86a33E6...')\n * }\n * },\n * to: Currency.Usd,\n * pause: true,\n * });\n * ```\n */\nexport function useExchangeRate(\n args: Pausable<UseExchangeRateArgs>,\n): PausableReadResult<ExchangeAmount>;\n\nexport function useExchangeRate({\n suspense = false,\n pause = false,\n ...request\n}: NullishDeep<UseExchangeRateArgs> & {\n suspense?: boolean;\n pause?: boolean;\n}): SuspendableResult<ExchangeAmount, UnexpectedError> {\n const client = useAaveClient();\n\n return useSuspendableQuery({\n document: ExchangeRateQuery,\n variables: { request },\n suspense,\n pause,\n pollInterval: request.at\n ? 0\n : client.context.environment.exchangeRateInterval,\n });\n}\n\nexport type UseNetworkFeeRequestQuery =\n | {\n activity: ActivityItem;\n }\n | {\n estimate: PreviewAction;\n };\n\nexport type UseNetworkFeeArgs = Prettify<\n {\n query: UseNetworkFeeRequestQuery;\n } & CurrencyQueryOptions\n>;\n\ntype PausableUseNetworkFeeArgs = Partial<\n {\n query: Partial<UseNetworkFeeRequestQuery>;\n } & CurrencyQueryOptions\n>;\n\n/**\n * Fetch the network fee for an ActivityItem.\n *\n * @experimental This hook is experimental and may be subject to breaking changes.\n */\nexport type UseNetworkFee<T extends NativeAmount = NativeAmount> =\n /**\n * Fetches the network fee for a past ActivityItem.\n *\n * This signature supports React Suspense:\n *\n * ```tsx\n * const { data } = useNetworkFee({\n * query: { activity },\n * suspense: true,\n * });\n *\n * data: NativeAmount\n * ```\n */\n ((args: UseNetworkFeeArgs & Suspendable) => SuspenseResult<T>) &\n /**\n * Fetches the network fee for a past ActivityItem.\n *\n * Pausable suspense mode.\n *\n * ```tsx\n * const { data, paused } = useNetworkFee({\n * query: { activity },\n * suspense: true,\n * pause: true,\n * });\n *\n * data: NativeAmount | undefined\n * ```\n */\n ((\n args: Pausable<UseNetworkFeeArgs, PausableUseNetworkFeeArgs> &\n Suspendable,\n ) => PausableSuspenseResult<T>) &\n /**\n * Fetches the network fee for a past ActivityItem.\n *\n * ```tsx\n * const { data, error, loading } = useNetworkFee({\n * query: { activity },\n * });\n * ```\n */\n ((args: UseNetworkFeeArgs) => ReadResult<T>) &\n /**\n * Fetches the network fee for a past ActivityItem.\n *\n * Pausable loading state mode.\n *\n * ```tsx\n * const { data, error, loading, paused } = useNetworkFee({\n * query: { activity },\n * pause: true,\n * });\n *\n * data: NativeAmount | undefined\n * ```\n */\n ((\n args: Pausable<UseNetworkFeeArgs, PausableUseNetworkFeeArgs>,\n ) => PausableReadResult<T>);\n"]}
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var client=require('@aave/client'),D=require('react'),types=require('@aave/types'),urql=require('urql'),actions=require('@aave/client/actions'),graphql=require('@aave/graphql'),core=require('@aave/core');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var D__default=/*#__PURE__*/_interopDefault(D);var G=D__default.default.createContext(null);function Y({children:e,client:s}){return D__default.default.createElement(G.Provider,{value:s},D__default.default.createElement(urql.Provider,{value:s.urql},e))}function i(){let e=D.useContext(G);return types.invariant(e,"Could not find Aave SDK context, ensure your code is wrapped in a <AaveProvider>"),e}function _r({children:e,client:s}){return D__default.default.createElement(Y,{client:s},e)}function rs(e){if("userSpoke"in e)return e.userSpoke.user;if("userToken"in e)return e.userToken.user;if("userChains"in e)return e.userChains.user;if("userHub"in e)return e.userHub.user;let{user:s}=graphql.decodeUserPositionId(e.userPositionId);return s}function ts(e){if("userSpoke"in e)return e.userSpoke.user;if("userToken"in e)return e.userToken.user;if("userChains"in e)return e.userChains.user;if("userHub"in e)return e.userHub.user;let{user:s}=graphql.decodeUserPositionId(e.userPositionId);return s}function z(e,s){return e.refreshQueryWhere(graphql.UserBalancesQuery,r=>r.request.user===s)}function J(e,s){return e.refreshQueryWhere(graphql.UserSuppliesQuery,r=>rs(r.request.query)===s)}function X(e,s){return e.refreshQueryWhere(graphql.UserBorrowsQuery,r=>ts(r.request.query)===s)}function Z(e,s,r){return Promise.all([e.refreshQueryWhere(graphql.UserPositionsQuery,(t,n)=>n.some(a=>a.spoke.chain.chainId===r.chainId&&a.spoke.address===r.address&&a.user===s)),e.refreshQueryWhere(graphql.UserPositionQuery,(t,n)=>n?.spoke.chain.chainId===r.chainId&&n?.spoke.address===r.address&&n.user===s)])}function ee(e,s){return Promise.all([e.refreshQueryWhere(graphql.ReserveQuery,(r,t)=>t?.id===s),e.refreshQueryWhere(graphql.ReservesQuery,(r,t)=>t.some(n=>n.id===s))])}function se(e,s,r){return e.refreshQueryWhere(graphql.UserSummaryQuery,t=>t.request.user===s&&graphql.isSpokeInputVariant(t.request.filter)?t.request.filter.spoke.chainId===r.chainId&&t.request.filter.spoke.address===r.address:graphql.isChainIdsVariant(t.request.filter)?t.request.filter.chainIds.some(n=>n===r.chainId):false)}function re(e,s){return Promise.all([e.refreshQueryWhere(graphql.SpokeQuery,(r,t)=>t?.chain.chainId===s.chainId&&t?.address===s.address),e.refreshQueryWhere(graphql.SpokesQuery,(r,t)=>t.some(n=>n.chain.chainId===s.chainId&&n.address===s.address))])}function te(e,s){return e.refreshQueryWhere(graphql.HubsQuery,r=>graphql.isChainIdsVariant(r.request)&&r.request.chainIds.some(t=>t===s))}var h={Loading:()=>({data:void 0,error:void 0,loading:true,paused:false}),Success:e=>({data:e,error:void 0,loading:false,paused:false}),Failure:e=>({data:void 0,error:e,loading:false,paused:false}),Paused:(e,s)=>({data:e,error:s,loading:false,paused:true})};function o({document:e,variables:s,suspense:r,pause:t,selector:n=types.identity,pollInterval:a=0,batch:u=true}){let[l,y]=D.useState(true),[{fetching:S,data:P,error:v},j]=urql.useQuery({query:e,variables:s,pause:t,context:D.useMemo(()=>({batch:u,suspense:r}),[u,r])});if(D.useEffect(()=>{t||S||y(false);},[S,t]),D.useEffect(()=>{if(a<=0||S||t)return;let q=setTimeout(()=>{j({requestPolicy:"network-only",batch:false});},a);return ()=>clearTimeout(q)},[S,j,a,t]),t)return h.Paused(P?n(P.value):void 0,v?client.UnexpectedError.from(v):void 0);if(!r&&l)return h.Loading();if(v){let q=client.UnexpectedError.from(v);if(r)throw q;return h.Failure(q)}return types.invariant(P,"No data returned"),h.Success(n(P.value))}var N={Idle:()=>({called:false,loading:false,data:void 0,error:void 0}),Loading:e=>({called:true,loading:true,data:e,error:void 0}),Success:e=>({called:true,loading:false,data:e,error:void 0}),Failed:e=>({called:true,loading:false,data:void 0,error:e})};function c(e,s){let[r,t]=D.useState(N.Idle()),n=D.useRef(false),a=D.useCallback(e,s);return [D.useCallback(l=>{types.invariant(!n.current,"Cannot execute a task while another is in progress."),n.current=true;let y;t(S=>(y=S,{called:true,loading:true,data:S.data,error:void 0}));try{let S=a(l);return S.match(P=>{n.current=!1,t(N.Success(P));},P=>{n.current=!1,t(N.Failed(P));}),S}catch(S){throw n.current=false,t(types.nonNullable(y)),S}},[a]),r]}var p=e=>core.CancelError.from(e).asResultAsync(),f=class e{constructor(s){this.wait=s;}static isInstanceOf(s){return s instanceof e}static tryFrom(s){return e.isInstanceOf(s)?types.okAsync(s):core.UnexpectedError.from(s).asResultAsync()}};function g(e){return types.isSignature(e)?types.okAsync(e):core.UnexpectedError.from(`Expected Signature, but got ${String(e)}`).asResultAsync()}function it({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.HubQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function pt({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.HubsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function lt({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.HubAssetsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function ct({suspense:e=false,pause:s=false,...r}){return o({document:graphql.HubSummaryHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function yt(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.hubs(s,r,{currency:e.currency,requestPolicy:"cache-first"}),[s,e.currency])}function At({suspense:e=false,pause:s=false,...r}){return o({document:graphql.ChainQuery,variables:{request:r},suspense:e,pause:s})}function gt(){let e=i();return c(s=>actions.chain(e,s,{batch:false,requestPolicy:"cache-first"}),[e])}function Pt({suspense:e=false,pause:s=false,...r}={query:{filter:graphql.ChainsFilter.ALL}}){return o({document:graphql.ChainsQuery,variables:{request:r},suspense:e,pause:s})}function bt(){let e=i();return c(s=>actions.exchangeRate(e,s,{requestPolicy:"network-only"}),[e])}function wt({suspense:e=false,pause:s=false,...r}){let t=i();return o({document:graphql.ExchangeRateQuery,variables:{request:r},suspense:e,pause:s,pollInterval:r.at?0:t.context.environment.exchangeRateInterval})}function Et({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.AssetQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function kt({suspense:e=false,pause:s=false,...r}){return o({document:graphql.AssetPriceHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function vt({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.AssetSupplyHistoryQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s,batch:false})}function qt({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.AssetBorrowHistoryQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s,batch:false})}function Ht({suspense:e=false,pause:s=false,...r}){return o({document:graphql.ProtocolHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function Nt({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.ReserveQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function _t(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.reserve(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function Vt({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,selector:n,...a}){return o({document:graphql.ReservesQuery,variables:{request:a,currency:r,timeWindow:t},suspense:e,pause:s,selector:n||void 0})}function Mt(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.reserves(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function Ft({suspense:e=false,pause:s=false,...r}){return o({document:graphql.BorrowApyHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function Lt({suspense:e=false,pause:s=false,...r}){return o({document:graphql.SupplyApyHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function $t({suspense:e=false,pause:s=false,...r}){return o({document:graphql.SpokeQuery,variables:{request:r},suspense:e,pause:s})}function Kt({suspense:e=false,pause:s=false,...r}){return o({document:graphql.SpokesQuery,variables:{request:r},suspense:e,pause:s})}function zt({suspense:e=false,pause:s=false,...r}){return o({document:graphql.SpokePositionManagersQuery,variables:{request:r},suspense:e,pause:s})}function Jt({suspense:e=false,pause:s=false,...r}){return o({document:graphql.SpokeUserPositionManagersQuery,variables:{request:r},suspense:e,pause:s})}function V(e){switch(e.__typename){case "SwapByIntent":case "SwapByIntentWithApprovalRequired":case "SwapByTransaction":return e.quote;case "InsufficientLiquidityError":throw core.ValidationError.fromGqlNode(e);default:throw core.UnexpectedError.upgradeRequired(`Unsupported swap quote result: ${e.__typename}`)}}function Re(e){return {__typename:"SwapCancelledResult",swapId:e.swapId,createdAt:e.createdAt,cancelledAt:e.cancelledAt,explorerUrl:e.explorerUrl}}function m(e){switch(e.__typename){case "PositionSwapByIntentApprovalsRequired":return e.quote;case "InsufficientLiquidityError":throw core.ValidationError.fromGqlNode(e);default:throw core.UnexpectedError.upgradeRequired(`Unsupported position swap quote result: ${e.__typename}`)}}function fe(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function me(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function Ue(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function Ae(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function ge(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function pn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=o({document:graphql.TokenSwapQuoteQuery,variables:{request:fe(t,graphql.QuoteAccuracy.Fast),currency:r},selector:V,suspense:e,pause:s,batch:false}),u=o({document:graphql.TokenSwapQuoteQuery,variables:{request:fe(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:V,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return u.data?u:a}function ln(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.tokenSwapQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(V),[s,e.currency])}function cn({suspense:e=false,pause:s=false,...r}){return o({document:graphql.SwappableTokensQuery,variables:{request:r},suspense:e,pause:s})}function yn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){let a=i(),[u,l]=D.useState(false),y=o({document:graphql.UserSwapsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s||u,pollInterval:a.context.environment.swapStatusInterval});return D.useEffect(()=>{y.data&&y.data.items.length>0&&y.data.items.every(ve)&&l(true);},[y.data]),y}function ve(e){return e.__typename==="SwapFulfilled"||e.__typename==="SwapCancelled"||e.__typename==="SwapExpired"}function dn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){let a=i(),[u,l]=D.useState(false),y=o({document:graphql.SwapStatusQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s||u,pollInterval:a.context.environment.swapStatusInterval});return D.useEffect(()=>{y.data&&ve(y.data)&&l(true);},[y.data]),y}function Sn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=o({document:graphql.SupplySwapQuoteQuery,variables:{request:me(t,graphql.QuoteAccuracy.Fast),currency:r},selector:m,suspense:e,pause:s,batch:false}),u=o({document:graphql.SupplySwapQuoteQuery,variables:{request:me(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:m,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return u.data?u:a}function Rn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.supplySwapQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(m),[s,e.currency])}function fn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=o({document:graphql.BorrowSwapQuoteQuery,variables:{request:Ue(t,graphql.QuoteAccuracy.Fast),currency:r},selector:m,suspense:e,pause:s,batch:false}),u=o({document:graphql.BorrowSwapQuoteQuery,variables:{request:Ue(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:m,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return u.data?u:a}function mn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.borrowSwapQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(m),[s,e.currency])}function B(e){return {with:s=>e.approvals.reduce((r,t)=>r.andThen(n=>s(t,{cancel:p}).map(a=>{switch(t.__typename){case "PositionSwapAdapterContractApproval":n.adapterContractSignature=types.isSignature(a)?a:null;break;case "PositionSwapPositionManagerApproval":n.positionManagerSignature=types.isSignature(a)?a:null;break}return n})),types.okAsync({quoteId:e.quote.quoteId,adapterContractSignature:null,positionManagerSignature:null}))}}function W(e,s){return actions.swap(e,{intent:s}).andThen(r=>{switch(r.__typename){case "SwapReceipt":return types.okAsync(r);default:return core.UnexpectedError.from(r).asResultAsync()}})}function Un(e){let s=i();return c(({currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t})=>actions.supplySwapQuote(s,t,{currency:r}).andThen(n=>B(n).with(e).andThen(a=>actions.preparePositionSwap(s,a)).andThen(a=>e(a.data,{cancel:p}).andThen(g).andThen(u=>W(s,{quoteId:a.newQuoteId,signature:u})))),[s,e])}function An(e){let s=i();return c(({currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t})=>actions.borrowSwapQuote(s,t,{currency:r}).andThen(n=>B(n).with(e).andThen(a=>actions.preparePositionSwap(s,a)).andThen(a=>e(a.data,{cancel:p}).andThen(g).andThen(u=>W(s,{quoteId:a.newQuoteId,signature:u})))),[s,e])}function gn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=o({document:graphql.RepayWithSupplyQuoteQuery,variables:{request:Ae(t,graphql.QuoteAccuracy.Fast),currency:r},selector:m,suspense:e,pause:s,batch:false}),u=o({document:graphql.RepayWithSupplyQuoteQuery,variables:{request:Ae(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:m,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return u.data?u:a}function Pn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.repayWithSupplyQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(m),[s,e.currency])}function bn(e){let s=i();return c(({currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t})=>actions.repayWithSupplyQuote(s,t,{currency:r}).andThen(n=>B(n).with(e).andThen(a=>actions.preparePositionSwap(s,a)).andThen(a=>e(a.data,{cancel:p}).andThen(g).andThen(u=>W(s,{quoteId:a.newQuoteId,signature:u})))),[s,e])}function wn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=o({document:graphql.WithdrawSwapQuoteQuery,variables:{request:ge(t,graphql.QuoteAccuracy.Fast),currency:r},selector:m,suspense:e,pause:s,batch:false}),u=o({document:graphql.WithdrawSwapQuoteQuery,variables:{request:ge(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:m,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return u.data?u:a}function Tn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.withdrawSwapQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(m),[s,e.currency])}function xn(e){let s=i();return c(({currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t})=>actions.withdrawSwapQuote(s,t,{currency:r}).andThen(n=>B(n).with(e).andThen(a=>actions.preparePositionSwap(s,a)).andThen(a=>e(a.data,{cancel:p}).andThen(g).andThen(u=>W(s,{quoteId:a.newQuoteId,signature:u})))),[s,e])}function hn(e){let s=i(),r=D.useCallback(t=>actions.swap(s,t).andThen(n=>{switch(n.__typename){case "SwapTransactionRequest":return e(n,{cancel:p}).andThen(f.tryFrom).andThen(a=>a.wait()).andThen(()=>types.okAsync(n.orderReceipt));case "SwapReceipt":return types.okAsync(n)}}),[s,e]);return c(({currency:t=client.DEFAULT_QUERY_OPTIONS.currency,...n})=>actions.tokenSwapQuote(s,n,{currency:t}).andThen(a=>{switch(a.__typename){case "SwapByTransaction":return r({transaction:{quoteId:a.quote.quoteId}});case "SwapByIntent":return actions.prepareTokenSwap(s,{quoteId:a.quote.quoteId}).andThen(u=>e(u.data,{cancel:p}).andThen(g).andThen(l=>r({intent:{quoteId:u.newQuoteId,signature:l}})));case "SwapByIntentWithApprovalRequired":if(client.supportsPermit(a)){let u=a.approvals[0];return e(u,{cancel:p}).andThen(l=>types.isSignature(l)?actions.prepareTokenSwap(s,{quoteId:a.quote.quoteId,permitSig:{deadline:u.bySignature.message.deadline,value:l}}):f.isInstanceOf(l)?l.wait().andThen(()=>actions.prepareTokenSwap(s,{quoteId:a.quote.quoteId})):core.UnexpectedError.from(l).asResultAsync()).andThen(l=>e(l.data,{cancel:p}).andThen(g).andThen(y=>r({intent:{quoteId:l.newQuoteId,signature:y}})))}return a.approvals.reduce((u,l)=>u.andThen(()=>e({...l,bySignature:null},{cancel:p}).andThen(f.tryFrom).andThen(y=>y.wait())),types.okAsync(void 0)).andThen(()=>actions.prepareTokenSwap(s,{quoteId:a.quote.quoteId})).andThen(u=>e(u.data,{cancel:p})).andThen(g).andThen(u=>r({intent:{quoteId:a.quote.quoteId,signature:u}}));default:types.never(`Unsupported swap quote result: ${a.__typename}. To be removed from API soon.`);}}),[s,e,r])}var C=class extends types.ResultAwareError{name="CannotCancelSwapError"};function Qn(e){let s=i();return c(r=>actions.swapStatus(s,{id:r.id}).andThen(t=>{switch(t.__typename){case "SwapOpen":case "SwapPendingSignature":return actions.prepareSwapCancel(s,r).andThen(n=>e(n.data,{cancel:p})).andThen(g).andThen(n=>actions.cancelSwap(s,{intent:{id:r.id,signature:n}})).andThen(n=>n.__typename==="SwapCancelledResult"?types.okAsync(n):e(n,{cancel:p}).andThen(f.tryFrom).andThen(a=>a.wait()).andThen(()=>actions.swapStatus(s,{id:r.id})).andThen(a=>a.__typename==="SwapCancelled"?types.okAsync(Re(a)):new C("Failed to cancel swap").asResultAsync()));case "SwapCancelled":return types.okAsync(Re(t));case "SwapExpired":return new C("Swap cannot longer be cancelled").asResultAsync();default:return core.UnexpectedError.upgradeRequired(`Unsupported swap status: ${t.__typename}`).asResultAsync()}}),[s,e])}function O(e,s){let{chainId:r,spoke:t}=graphql.decodeReserveId(s.reserve),n={chainId:r,address:t};return async()=>Promise.all([Z(e,s.sender,n),se(e,s.sender,n),ee(e,s.reserve),re(e,n),z(e,s.sender),J(e,s.sender),X(e,s.sender),te(e,r)])}function Ur(e,s){return {deadline:s.message.deadline,value:e}}function F(e,s){return e.approvals.reduce((r,t)=>r.andThen(()=>s({...t,bySignature:null},{cancel:p}).andThen(f.tryFrom).andThen(n=>n.wait())),types.okAsync(void 0)).map(()=>e.originalTransaction)}function L(e,s,r){let t=e.approvals[0];return s(t,{cancel:p}).andThen(n=>types.isSignature(n)?r(Ur(n,t.bySignature)).map(types.expectTypename("TransactionRequest")):n.wait().map(()=>e.originalTransaction))}function Wn(e){let s=i();return c(r=>actions.supply(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "Erc20ApprovalRequired":return client.supportsPermit(t)?L(t,e,n=>actions.supply(s,Ar(r,n))).andThen(n=>e(n,{cancel:p})):F(t,e).andThen(n=>e(n,{cancel:p}));case "PreContractActionRequired":return e(t,{cancel:p}).andThen(f.tryFrom).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t))}}).andThen(f.tryFrom).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(O(s,r)),[s,e])}function Ar(e,s){return "erc20"in e.amount?{...e,amount:{erc20:{...e.amount.erc20,permitSig:s}}}:e}function On(e){let s=i();return c(r=>actions.borrow(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "PreContractActionRequired":return e(t,{cancel:p}).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t));case "Erc20ApprovalRequired":return client.UnexpectedError.from(t).asResultAsync()}}).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(O(s,r)),[s,e])}function Dn(e){let s=i();return c(r=>actions.repay(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "Erc20ApprovalRequired":return client.supportsPermit(t)?L(t,e,n=>actions.repay(s,gr(r,n))).andThen(n=>e(n,{cancel:p})):F(t,e).andThen(n=>e(n,{cancel:p}));case "PreContractActionRequired":return e(t,{cancel:p}).andThen(f.tryFrom).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t))}}).andThen(f.tryFrom).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(O(s,r)),[s,e])}function gr(e,s){return "erc20"in e.amount?{...e,amount:{erc20:{...e.amount.erc20,permitSig:s}}}:e}function Nn(e){let s=i();return c(r=>actions.withdraw(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "PreContractActionRequired":return e(t,{cancel:p}).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t));case "Erc20ApprovalRequired":return client.UnexpectedError.from(t).asResultAsync()}}).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(O(s,r)),[s,e])}function _n(e){let s=i();return c(r=>actions.renounceSpokeUserPositionManager(s,r).andThen(t=>e(t,{cancel:p})).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(()=>s.refreshQueryWhere(graphql.SpokePositionManagersQuery,t=>t.request.spoke===r.spoke)),[s,e])}function Vn(e){let s=i();return c(r=>actions.updateUserPositionConditions(s,r).andThen(t=>e(t,{cancel:p})).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(async()=>{let{userPositionId:t}=r;return Promise.all([s.refreshQueryWhere(graphql.UserPositionsQuery,(n,a)=>a.some(u=>u.id===t)),s.refreshQueryWhere(graphql.UserPositionQuery,(n,a)=>a?.id===t)])}),[s,e])}function Mn(e){let s=i();return c(r=>{let t=r.changes.map(a=>a.reserve),n=t.map(a=>graphql.decodeReserveId(a));return actions.setUserSuppliesAsCollateral(s,r).andThen(a=>e(a,{cancel:p})).andThen(a=>a.wait()).andThen(s.waitForTransaction).andTee(()=>Promise.all([...n.map(({chainId:a,spoke:u})=>s.refreshQueryWhere(graphql.UserPositionsQuery,(l,y)=>l.request.user===r.sender&&y.some(S=>S.spoke.chain.chainId===a&&S.spoke.address===u))),...n.map(({chainId:a,spoke:u})=>s.refreshQueryWhere(graphql.UserPositionQuery,(l,y)=>y?.spoke.chain.chainId===a&&y?.spoke.address===u&&y.user===r.sender)),...n.map(({chainId:a,spoke:u})=>s.refreshQueryWhere(graphql.UserSummaryQuery,l=>l.request.user===r.sender&&graphql.isSpokeInputVariant(l.request.filter)?l.request.filter.spoke.chainId===a&&l.request.filter.spoke.address===u:graphql.isChainIdsVariant(l.request.filter)?l.request.filter.chainIds.some(y=>y===a):false)),s.refreshQueryWhere(graphql.ReservesQuery,(a,u)=>u.some(l=>t.includes(l.id))),...n.map(({chainId:a,spoke:u})=>s.refreshQueryWhere(graphql.SpokesQuery,(l,y)=>y.some(S=>S.chain.chainId===a&&S.address===u))),...n.map(({chainId:a})=>s.refreshQueryWhere(graphql.HubsQuery,u=>graphql.isChainIdsVariant(u.request.query)?u.request.query.chainIds.some(l=>l===a):graphql.isTokensVariant(u.request.query)?u.request.query.tokens.some(l=>l.chainId===a):true)),...n.map(({chainId:a})=>s.refreshQueryWhere(graphql.HubQuery,u=>graphql.isHubInputVariant(u.request.query)?u.request.query.hubInput.chainId===a:graphql.decodeHubId(u.request.query.hubId).chainId===a))]))},[s,e])}function Fn(e){let s=i();return c(r=>actions.liquidatePosition(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "Erc20ApprovalRequired":return client.supportsPermit(t)?L(t,e,n=>actions.liquidatePosition(s,Pr(r))).andThen(n=>e(n,{cancel:p})):F(t,e).andThen(n=>e(n,{cancel:p}));case "PreContractActionRequired":return e(t,{cancel:p}).andThen(f.tryFrom).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t))}}).andThen(f.tryFrom).andThen(t=>t.wait()).andThen(s.waitForTransaction),[s,e])}function Pr(e,s){return e}function Ln(e){let s=i();return c(r=>actions.setSpokeUserPositionManager(s,r).andThen(t=>e(t,{cancel:p})).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(()=>s.refreshQueryWhere(graphql.SpokePositionManagersQuery,t=>t.request.spoke===r.spoke)),[s,e])}function jn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.preview(s,r,{currency:e.currency,requestPolicy:"network-only"}),[s,e.currency])}function Gn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){return o({document:graphql.PreviewQuery,variables:{request:t,currency:r},suspense:e,pause:s})}function Yn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.ActivitiesQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function $n(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.activities(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function sa({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.UserSuppliesQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function ra(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.userSupplies(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function ta({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.UserBorrowsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function na(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.userBorrows(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function aa({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.UserSummaryQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function ua({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.UserPositionsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function oa(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.userPositions(s,r,{currency:e.currency,timeWindow:e.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function ia({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return o({document:graphql.UserPositionQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function pa({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){return o({document:graphql.UserBalancesQuery,variables:{request:t,currency:r},suspense:e,pause:s})}function la({suspense:e=false,pause:s=false,...r}){return o({document:graphql.UserRiskPremiumBreakdownQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function ca(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return c(r=>actions.userBalances(s,r,{currency:e.currency,requestPolicy:"cache-first"}),[s,e.currency])}function ya({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){return o({document:graphql.UserSummaryHistoryQuery,variables:{request:t,currency:r},suspense:e,pause:s,batch:false})}exports.AaveProvider=_r;exports.CannotCancelSwapError=C;exports.useAaveClient=i;exports.useActivities=Yn;exports.useActivitiesAction=$n;exports.useAsset=Et;exports.useAssetBorrowHistory=qt;exports.useAssetPriceHistory=kt;exports.useAssetSupplyHistory=vt;exports.useBorrow=On;exports.useBorrowApyHistory=Ft;exports.useBorrowSwap=An;exports.useBorrowSwapQuote=fn;exports.useBorrowSwapQuoteAction=mn;exports.useCancelSwap=Qn;exports.useChain=At;exports.useChainAction=gt;exports.useChains=Pt;exports.useExchangeRate=wt;exports.useExchangeRateAction=bt;exports.useHub=it;exports.useHubAssets=lt;exports.useHubSummaryHistory=ct;exports.useHubs=pt;exports.useHubsAction=yt;exports.useLiquidatePosition=Fn;exports.usePreview=Gn;exports.usePreviewAction=jn;exports.useProtocolHistory=Ht;exports.useRenounceSpokeUserPositionManager=_n;exports.useRepay=Dn;exports.useRepayWithSupply=bn;exports.useRepayWithSupplyQuote=gn;exports.useRepayWithSupplyQuoteAction=Pn;exports.useReserve=Nt;exports.useReserveAction=_t;exports.useReserves=Vt;exports.useReservesAction=Mt;exports.useSetSpokeUserPositionManager=Ln;exports.useSetUserSuppliesAsCollateral=Mn;exports.useSpoke=$t;exports.useSpokePositionManagers=zt;exports.useSpokeUserPositionManagers=Jt;exports.useSpokes=Kt;exports.useSupply=Wn;exports.useSupplyApyHistory=Lt;exports.useSupplySwap=Un;exports.useSupplySwapQuote=Sn;exports.useSupplySwapQuoteAction=Rn;exports.useSwapStatus=dn;exports.useSwappableTokens=cn;exports.useTokenSwap=hn;exports.useTokenSwapQuote=pn;exports.useTokenSwapQuoteAction=ln;exports.useUpdateUserPositionConditions=Vn;exports.useUserBalances=pa;exports.useUserBalancesAction=ca;exports.useUserBorrows=ta;exports.useUserBorrowsAction=na;exports.useUserPosition=ia;exports.useUserPositions=ua;exports.useUserPositionsAction=oa;exports.useUserRiskPremiumBreakdown=la;exports.useUserSummary=aa;exports.useUserSummaryHistory=ya;exports.useUserSupplies=sa;exports.useUserSuppliesAction=ra;exports.useUserSwaps=yn;exports.useWithdraw=Nn;exports.useWithdrawSwap=xn;exports.useWithdrawSwapQuote=wn;exports.useWithdrawSwapQuoteAction=Tn;Object.keys(client).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return client[k]}})});//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var client=require('@aave/client'),D=require('react'),types=require('@aave/types'),urql=require('urql'),actions=require('@aave/client/actions'),graphql=require('@aave/graphql'),core=require('@aave/core');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var D__default=/*#__PURE__*/_interopDefault(D);var Z=D__default.default.createContext(null);function ee({children:e,client:s}){return D__default.default.createElement(Z.Provider,{value:s},D__default.default.createElement(urql.Provider,{value:s.urql},e))}function i(){let e=D.useContext(Z);return types.invariant(e,"Could not find Aave SDK context, ensure your code is wrapped in a <AaveProvider>"),e}function Wr({children:e,client:s}){return D__default.default.createElement(ee,{client:s},e)}function as(e){if("userSpoke"in e)return e.userSpoke.user;if("userToken"in e)return e.userToken.user;if("userChains"in e)return e.userChains.user;if("userHub"in e)return e.userHub.user;let{user:s}=graphql.decodeUserPositionId(e.userPositionId);return s}function us(e){if("userSpoke"in e)return e.userSpoke.user;if("userToken"in e)return e.userToken.user;if("userChains"in e)return e.userChains.user;if("userHub"in e)return e.userHub.user;let{user:s}=graphql.decodeUserPositionId(e.userPositionId);return s}function te(e,s){return e.refreshQueryWhere(graphql.UserBalancesQuery,r=>r.request.user===s)}function N(e,s){return e.refreshQueryWhere(graphql.UserSuppliesQuery,r=>as(r.request.query)===s)}function ne(e,s){return e.refreshQueryWhere(graphql.UserBorrowsQuery,r=>us(r.request.query)===s)}function V(e,s,r){return Promise.all([e.refreshQueryWhere(graphql.UserPositionsQuery,(t,n)=>n.some(a=>a.spoke.chain.chainId===r.chainId&&a.spoke.address===r.address&&a.user===s)),e.refreshQueryWhere(graphql.UserPositionQuery,(t,n)=>n?.spoke.chain.chainId===r.chainId&&n?.spoke.address===r.address&&n.user===s)])}function _(e,s){return Promise.all([e.refreshQueryWhere(graphql.ReserveQuery,(r,t)=>t!==null&&s.includes(t.id)),e.refreshQueryWhere(graphql.ReservesQuery,(r,t)=>t.some(n=>s.includes(n.id)))])}function M(e,s,r){return e.refreshQueryWhere(graphql.UserSummaryQuery,t=>t.request.user===s&&graphql.isSpokeInputVariant(t.request.filter)?t.request.filter.spoke.chainId===r.chainId&&t.request.filter.spoke.address===r.address:graphql.isChainIdsVariant(t.request.filter)?t.request.filter.chainIds.some(n=>n===r.chainId):false)}function F(e,s){return Promise.all([e.refreshQueryWhere(graphql.SpokeQuery,(r,t)=>t?.chain.chainId===s.chainId&&t?.address===s.address),e.refreshQueryWhere(graphql.SpokesQuery,(r,t)=>t.some(n=>n.chain.chainId===s.chainId&&n.address===s.address))])}function L(e,s){return Promise.all([e.refreshQueryWhere(graphql.HubQuery,r=>graphql.isHubInputVariant(r.request.query)?r.request.query.hubInput.chainId===s:graphql.decodeHubId(r.request.query.hubId).chainId===s),e.refreshQueryWhere(graphql.HubsQuery,r=>graphql.isChainIdsVariant(r.request)?r.request.chainIds.some(t=>t===s):graphql.isTokensVariant(r.request.query)?r.request.query.tokens.some(t=>t.chainId===s):true)])}var h={Loading:()=>({data:void 0,error:void 0,loading:true,paused:false,reloading:false}),Success:(e,s=false)=>({data:e,error:void 0,loading:false,paused:false,reloading:s}),Failure:(e,s=false)=>({data:void 0,error:e,loading:false,paused:false,reloading:s}),Paused:(e,s)=>({data:e,error:s,loading:false,paused:true,reloading:false})};function u({document:e,variables:s,suspense:r,pause:t,selector:n=types.identity,pollInterval:a=0,batch:o=true}){let[c,d]=D.useState(true),[{fetching:f,data:b,error:v,stale:De},J]=urql.useQuery({query:e,variables:s,pause:t,context:D.useMemo(()=>({batch:o,suspense:r}),[o,r])});if(D.useEffect(()=>{t||f||d(false);},[f,t]),D.useEffect(()=>{if(a<=0||f||t)return;let q=setTimeout(()=>{J({requestPolicy:"network-only",batch:false});},a);return ()=>clearTimeout(q)},[f,J,a,t]),t)return h.Paused(b?n(b.value):void 0,v?client.UnexpectedError.from(v):void 0);if(!r&&c)return h.Loading();let X=De||!c&&f;if(v){let q=client.UnexpectedError.from(v);if(r)throw q;return h.Failure(q,X)}return types.invariant(b,"No data returned"),h.Success(n(b.value),X)}var j={Idle:()=>({called:false,loading:false,data:void 0,error:void 0}),Loading:e=>({called:true,loading:true,data:e,error:void 0}),Success:e=>({called:true,loading:false,data:e,error:void 0}),Failed:e=>({called:true,loading:false,data:void 0,error:e})};function l(e,s){let[r,t]=D.useState(j.Idle()),n=D.useRef(false),a=D.useCallback(e,s);return [D.useCallback(c=>{types.invariant(!n.current,"Cannot execute a task while another is in progress."),n.current=true;let d;t(f=>(d=f,{called:true,loading:true,data:f.data,error:void 0}));try{let f=a(c);return f.match(b=>{n.current=!1,t(j.Success(b));},b=>{n.current=!1,t(j.Failed(b));}),f}catch(f){throw n.current=false,t(types.nonNullable(d)),f}},[a]),r]}var p=e=>core.CancelError.from(e).asResultAsync(),R=class e{constructor(s){this.wait=s;}static isInstanceOf(s){return s instanceof e}static tryFrom(s){return e.isInstanceOf(s)?types.okAsync(s):core.UnexpectedError.from(s).asResultAsync()}};function g(e){return types.isSignature(e)?types.okAsync(e):core.UnexpectedError.from(`Expected Signature, but got ${String(e)}`).asResultAsync()}function nt({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.HubQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function at({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.HubsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function ut({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.HubAssetsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function ot({suspense:e=false,pause:s=false,...r}){return u({document:graphql.HubSummaryHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function it(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.hubs(s,r,{currency:e.currency,requestPolicy:"cache-first"}),[s,e.currency])}function Rt({suspense:e=false,pause:s=false,...r}){return u({document:graphql.ChainQuery,variables:{request:r},suspense:e,pause:s})}function ft(){let e=i();return l(s=>actions.chain(e,s,{batch:false,requestPolicy:"cache-first"}),[e])}function mt({suspense:e=false,pause:s=false,...r}={query:{filter:graphql.ChainsFilter.ALL}}){return u({document:graphql.ChainsQuery,variables:{request:r},suspense:e,pause:s})}function Ut(){let e=i();return l(s=>actions.exchangeRate(e,s,{requestPolicy:"network-only"}),[e])}function At({suspense:e=false,pause:s=false,...r}){let t=i();return u({document:graphql.ExchangeRateQuery,variables:{request:r},suspense:e,pause:s,pollInterval:r.at?0:t.context.environment.exchangeRateInterval})}function Tt({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.AssetQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function xt({suspense:e=false,pause:s=false,...r}){return u({document:graphql.AssetPriceHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function ht({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.AssetSupplyHistoryQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s,batch:false})}function Et({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.AssetBorrowHistoryQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s,batch:false})}function Qt({suspense:e=false,pause:s=false,...r}){return u({document:graphql.ProtocolHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function Bt({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.ReserveQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function Wt(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.reserve(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function Ot({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,selector:n,...a}){return u({document:graphql.ReservesQuery,variables:{request:a,currency:r,timeWindow:t},suspense:e,pause:s,selector:n||void 0})}function Dt(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.reserves(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function Nt({suspense:e=false,pause:s=false,...r}){return u({document:graphql.BorrowApyHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function Vt({suspense:e=false,pause:s=false,...r}){return u({document:graphql.SupplyApyHistoryQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function Lt({suspense:e=false,pause:s=false,...r}){return u({document:graphql.SpokeQuery,variables:{request:r},suspense:e,pause:s})}function jt({suspense:e=false,pause:s=false,...r}){return u({document:graphql.SpokesQuery,variables:{request:r},suspense:e,pause:s})}function Gt({suspense:e=false,pause:s=false,...r}){return u({document:graphql.SpokePositionManagersQuery,variables:{request:r},suspense:e,pause:s})}function Yt({suspense:e=false,pause:s=false,...r}){return u({document:graphql.SpokeUserPositionManagersQuery,variables:{request:r},suspense:e,pause:s})}function Y(e){switch(e.__typename){case "SwapByIntent":case "SwapByIntentWithApprovalRequired":case "SwapByTransaction":return e.quote;case "InsufficientLiquidityError":throw core.ValidationError.fromGqlNode(e);default:throw core.UnexpectedError.upgradeRequired(`Unsupported swap quote result: ${e.__typename}`)}}function fe(e){return {__typename:"SwapCancelledResult",swapId:e.swapId,createdAt:e.createdAt,cancelledAt:e.cancelledAt,explorerUrl:e.explorerUrl}}function m(e){switch(e.__typename){case "PositionSwapByIntentApprovalsRequired":return e.quote;case "InsufficientLiquidityError":throw core.ValidationError.fromGqlNode(e);default:throw core.UnexpectedError.upgradeRequired(`Unsupported position swap quote result: ${e.__typename}`)}}function me(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function Ue(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function Ae(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function ge(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function be(e,s){return "market"in e&&e.market?{market:{...e.market,accuracy:s}}:e}function nn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=u({document:graphql.TokenSwapQuoteQuery,variables:{request:me(t,graphql.QuoteAccuracy.Fast),currency:r},selector:Y,suspense:e,pause:s,batch:false}),o=u({document:graphql.TokenSwapQuoteQuery,variables:{request:me(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:Y,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return o.data?o:a}function an(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.tokenSwapQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(Y),[s,e.currency])}function un({suspense:e=false,pause:s=false,...r}){return u({document:graphql.SwappableTokensQuery,variables:{request:r},suspense:e,pause:s})}function on({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){let a=i(),[o,c]=D.useState(false),d=u({document:graphql.UserSwapsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s||o,pollInterval:a.context.environment.swapStatusInterval});return D.useEffect(()=>{d.data&&d.data.items.length>0&&d.data.items.every(qe)&&c(true);},[d.data]),d}function qe(e){return e.__typename==="SwapFulfilled"||e.__typename==="SwapCancelled"||e.__typename==="SwapExpired"}function pn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){let a=i(),[o,c]=D.useState(false),d=u({document:graphql.SwapStatusQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s||o,pollInterval:a.context.environment.swapStatusInterval});return D.useEffect(()=>{d.data&&qe(d.data)&&c(true);},[d.data]),d}function ln({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=u({document:graphql.SupplySwapQuoteQuery,variables:{request:Ue(t,graphql.QuoteAccuracy.Fast),currency:r},selector:m,suspense:e,pause:s,batch:false}),o=u({document:graphql.SupplySwapQuoteQuery,variables:{request:Ue(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:m,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return o.data?o:a}function cn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.supplySwapQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(m),[s,e.currency])}function yn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=u({document:graphql.BorrowSwapQuoteQuery,variables:{request:Ae(t,graphql.QuoteAccuracy.Fast),currency:r},selector:m,suspense:e,pause:s,batch:false}),o=u({document:graphql.BorrowSwapQuoteQuery,variables:{request:Ae(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:m,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return o.data?o:a}function dn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.borrowSwapQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(m),[s,e.currency])}function B(e){return {with:s=>e.approvals.reduce((r,t)=>r.andThen(n=>s(t,{cancel:p}).map(a=>{switch(t.__typename){case "PositionSwapAdapterContractApproval":n.adapterContractSignature=types.isSignature(a)?a:null;break;case "PositionSwapPositionManagerApproval":n.positionManagerSignature=types.isSignature(a)?a:null;break}return n})),types.okAsync({quoteId:e.quote.quoteId,adapterContractSignature:null,positionManagerSignature:null}))}}function W(e,s){return actions.swap(e,{intent:s}).andThen(r=>{switch(r.__typename){case "SwapReceipt":return types.okAsync(r);default:return core.UnexpectedError.from(r).asResultAsync()}})}function Sn(e){let s=i();return l(({currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t})=>actions.supplySwapQuote(s,t,{currency:r}).andThen(n=>B(n).with(e).andThen(a=>actions.preparePositionSwap(s,a)).andThen(a=>e(a.data,{cancel:p}).andThen(g).andThen(o=>W(s,{quoteId:a.newQuoteId,signature:o})))),[s,e])}function Rn(e){let s=i();return l(({currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t})=>actions.borrowSwapQuote(s,t,{currency:r}).andThen(n=>B(n).with(e).andThen(a=>actions.preparePositionSwap(s,a)).andThen(a=>e(a.data,{cancel:p}).andThen(g).andThen(o=>W(s,{quoteId:a.newQuoteId,signature:o})))),[s,e])}function fn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=u({document:graphql.RepayWithSupplyQuoteQuery,variables:{request:ge(t,graphql.QuoteAccuracy.Fast),currency:r},selector:m,suspense:e,pause:s,batch:false}),o=u({document:graphql.RepayWithSupplyQuoteQuery,variables:{request:ge(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:m,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return o.data?o:a}function mn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.repayWithSupplyQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(m),[s,e.currency])}function Un(e){let s=i();return l(({currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t})=>actions.repayWithSupplyQuote(s,t,{currency:r}).andThen(n=>B(n).with(e).andThen(a=>actions.preparePositionSwap(s,a)).andThen(a=>e(a.data,{cancel:p}).andThen(g).andThen(o=>W(s,{quoteId:a.newQuoteId,signature:o})))),[s,e])}function An({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){let n=i(),a=u({document:graphql.WithdrawSwapQuoteQuery,variables:{request:be(t,graphql.QuoteAccuracy.Fast),currency:r},selector:m,suspense:e,pause:s,batch:false}),o=u({document:graphql.WithdrawSwapQuoteQuery,variables:{request:be(t,graphql.QuoteAccuracy.Accurate),currency:r},selector:m,suspense:false,pause:s||e&&!a.data,pollInterval:n.context.environment.swapQuoteInterval,batch:false});return o.data?o:a}function gn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.withdrawSwapQuote(s,r,{currency:e.currency,requestPolicy:"network-only"}).map(m),[s,e.currency])}function bn(e){let s=i();return l(({currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t})=>actions.withdrawSwapQuote(s,t,{currency:r}).andThen(n=>B(n).with(e).andThen(a=>actions.preparePositionSwap(s,a)).andThen(a=>e(a.data,{cancel:p}).andThen(g).andThen(o=>W(s,{quoteId:a.newQuoteId,signature:o})))),[s,e])}function Pn(e){let s=i(),r=D.useCallback(t=>actions.swap(s,t).andThen(n=>{switch(n.__typename){case "SwapTransactionRequest":return e(n,{cancel:p}).andThen(R.tryFrom).andThen(a=>a.wait()).andThen(()=>types.okAsync(n.orderReceipt));case "SwapReceipt":return types.okAsync(n)}}),[s,e]);return l(({currency:t=client.DEFAULT_QUERY_OPTIONS.currency,...n})=>actions.tokenSwapQuote(s,n,{currency:t}).andThen(a=>{switch(a.__typename){case "SwapByTransaction":return r({transaction:{quoteId:a.quote.quoteId}});case "SwapByIntent":return actions.prepareTokenSwap(s,{quoteId:a.quote.quoteId}).andThen(o=>e(o.data,{cancel:p}).andThen(g).andThen(c=>r({intent:{quoteId:o.newQuoteId,signature:c}})));case "SwapByIntentWithApprovalRequired":if(client.supportsPermit(a)){let o=a.approvals[0];return e(o,{cancel:p}).andThen(c=>types.isSignature(c)?actions.prepareTokenSwap(s,{quoteId:a.quote.quoteId,permitSig:{deadline:o.bySignature.message.deadline,value:c}}):R.isInstanceOf(c)?c.wait().andThen(()=>actions.prepareTokenSwap(s,{quoteId:a.quote.quoteId})):core.UnexpectedError.from(c).asResultAsync()).andThen(c=>e(c.data,{cancel:p}).andThen(g).andThen(d=>r({intent:{quoteId:c.newQuoteId,signature:d}})))}return a.approvals.reduce((o,c)=>o.andThen(()=>e({...c,bySignature:null},{cancel:p}).andThen(R.tryFrom).andThen(d=>d.wait())),types.okAsync(void 0)).andThen(()=>actions.prepareTokenSwap(s,{quoteId:a.quote.quoteId})).andThen(o=>e(o.data,{cancel:p})).andThen(g).andThen(o=>r({intent:{quoteId:a.quote.quoteId,signature:o}}));default:types.never(`Unsupported swap quote result: ${a.__typename}. To be removed from API soon.`);}}),[s,e,r])}var C=class extends types.ResultAwareError{name="CannotCancelSwapError"};function wn(e){let s=i();return l(r=>actions.swapStatus(s,{id:r.id}).andThen(t=>{switch(t.__typename){case "SwapOpen":case "SwapPendingSignature":return actions.prepareSwapCancel(s,r).andThen(n=>e(n.data,{cancel:p})).andThen(g).andThen(n=>actions.cancelSwap(s,{intent:{id:r.id,signature:n}})).andThen(n=>n.__typename==="SwapCancelledResult"?types.okAsync(n):e(n,{cancel:p}).andThen(R.tryFrom).andThen(a=>a.wait()).andThen(()=>actions.swapStatus(s,{id:r.id})).andThen(a=>a.__typename==="SwapCancelled"?types.okAsync(fe(a)):new C("Failed to cancel swap").asResultAsync()));case "SwapCancelled":return types.okAsync(fe(t));case "SwapExpired":return new C("Swap cannot longer be cancelled").asResultAsync();default:return core.UnexpectedError.upgradeRequired(`Unsupported swap status: ${t.__typename}`).asResultAsync()}}),[s,e])}function O(e,s){let{chainId:r,spoke:t}=graphql.decodeReserveId(s.reserve),n={chainId:r,address:t};return async()=>Promise.all([V(e,s.sender,n),M(e,s.sender,n),_(e,[s.reserve]),F(e,n),te(e,s.sender),N(e,s.sender),ne(e,s.sender),L(e,r)])}function Sr(e,s){return {deadline:s.message.deadline,value:e}}function K(e,s){return e.approvals.reduce((r,t)=>r.andThen(()=>s({...t,bySignature:null},{cancel:p}).andThen(R.tryFrom).andThen(n=>n.wait())),types.okAsync(void 0)).map(()=>e.originalTransaction)}function z(e,s,r){let t=e.approvals[0];return s(t,{cancel:p}).andThen(n=>types.isSignature(n)?r(Sr(n,t.bySignature)).map(types.expectTypename("TransactionRequest")):n.wait().map(()=>e.originalTransaction))}function Hn(e){let s=i();return l(r=>actions.supply(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "Erc20ApprovalRequired":return client.supportsPermit(t)?z(t,e,n=>actions.supply(s,Rr(r,n))).andThen(n=>e(n,{cancel:p})):K(t,e).andThen(n=>e(n,{cancel:p}));case "PreContractActionRequired":return e(t,{cancel:p}).andThen(R.tryFrom).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t))}}).andThen(R.tryFrom).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(O(s,r)),[s,e])}function Rr(e,s){return "erc20"in e.amount?{...e,amount:{erc20:{...e.amount.erc20,permitSig:s}}}:e}function Cn(e){let s=i();return l(r=>actions.borrow(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "PreContractActionRequired":return e(t,{cancel:p}).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t));case "Erc20ApprovalRequired":return client.UnexpectedError.from(t).asResultAsync()}}).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(O(s,r)),[s,e])}function In(e){let s=i();return l(r=>actions.repay(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "Erc20ApprovalRequired":return client.supportsPermit(t)?z(t,e,n=>actions.repay(s,fr(r,n))).andThen(n=>e(n,{cancel:p})):K(t,e).andThen(n=>e(n,{cancel:p}));case "PreContractActionRequired":return e(t,{cancel:p}).andThen(R.tryFrom).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t))}}).andThen(R.tryFrom).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(O(s,r)),[s,e])}function fr(e,s){return "erc20"in e.amount?{...e,amount:{erc20:{...e.amount.erc20,permitSig:s}}}:e}function Bn(e){let s=i();return l(r=>actions.withdraw(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "PreContractActionRequired":return e(t,{cancel:p}).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t));case "Erc20ApprovalRequired":return client.UnexpectedError.from(t).asResultAsync()}}).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(O(s,r)),[s,e])}function Wn(e){let s=i();return l(r=>actions.renounceSpokeUserPositionManager(s,r).andThen(t=>e(t,{cancel:p})).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(()=>s.refreshQueryWhere(graphql.SpokePositionManagersQuery,t=>t.request.spoke===r.spoke)),[s,e])}function On(e){let s=i();return l(r=>actions.updateUserPositionConditions(s,r).andThen(t=>e(t,{cancel:p})).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(async()=>{let{userPositionId:t}=r;return Promise.all([s.refreshQueryWhere(graphql.UserPositionsQuery,(n,a)=>a.some(o=>o.id===t)),s.refreshQueryWhere(graphql.UserPositionQuery,(n,a)=>a?.id===t)])}),[s,e])}function Dn(e){let s=i();return l(r=>{let t=r.changes.map(a=>a.reserve),n=t.map(a=>graphql.decodeReserveId(a));return actions.setUserSuppliesAsCollateral(s,r).andThen(a=>e(a,{cancel:p})).andThen(a=>a.wait()).andThen(s.waitForTransaction).andTee(()=>Promise.all([N(s,r.sender),...n.flatMap(({chainId:a,spoke:o})=>[V(s,r.sender,{chainId:a,address:o}),M(s,r.sender,{chainId:a,address:o}),F(s,{chainId:a,address:o})]),_(s,t),...n.map(({chainId:a})=>L(s,a))]))},[s,e])}function Nn(e){let s=i();return l(r=>actions.liquidatePosition(s,r).andThen(t=>{switch(t.__typename){case "TransactionRequest":return e(t,{cancel:p});case "Erc20ApprovalRequired":return client.supportsPermit(t)?z(t,e,n=>actions.liquidatePosition(s,mr(r))).andThen(n=>e(n,{cancel:p})):K(t,e).andThen(n=>e(n,{cancel:p}));case "PreContractActionRequired":return e(t,{cancel:p}).andThen(R.tryFrom).andThen(n=>n.wait()).andThen(()=>e(t.originalTransaction,{cancel:p}));case "InsufficientBalanceError":return types.errAsync(core.ValidationError.fromGqlNode(t))}}).andThen(R.tryFrom).andThen(t=>t.wait()).andThen(s.waitForTransaction),[s,e])}function mr(e,s){return e}function Vn(e){let s=i();return l(r=>actions.setSpokeUserPositionManager(s,r).andThen(t=>e(t,{cancel:p})).andThen(t=>t.wait()).andThen(s.waitForTransaction).andTee(()=>s.refreshQueryWhere(graphql.SpokePositionManagersQuery,t=>t.request.spoke===r.spoke)),[s,e])}function _n(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.preview(s,r,{currency:e.currency,requestPolicy:"network-only"}),[s,e.currency])}function Mn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){return u({document:graphql.PreviewQuery,variables:{request:t,currency:r},suspense:e,pause:s})}function Fn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.ActivitiesQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function Ln(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.activities(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function Jn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.UserSuppliesQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function Xn(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.userSupplies(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function Zn({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.UserBorrowsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function ea(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.userBorrows(s,r,{currency:e.currency??client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:e.timeWindow??client.DEFAULT_QUERY_OPTIONS.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function sa({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.UserSummaryQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function ra({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.UserPositionsQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function ta(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.userPositions(s,r,{currency:e.currency,timeWindow:e.timeWindow,requestPolicy:"cache-first"}),[s,e.currency,e.timeWindow])}function na({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,timeWindow:t=client.DEFAULT_QUERY_OPTIONS.timeWindow,...n}){return u({document:graphql.UserPositionQuery,variables:{request:n,currency:r,timeWindow:t},suspense:e,pause:s})}function aa({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){return u({document:graphql.UserBalancesQuery,variables:{request:t,currency:r},suspense:e,pause:s})}function ua({suspense:e=false,pause:s=false,...r}){return u({document:graphql.UserRiskPremiumBreakdownQuery,variables:{request:r},suspense:e,pause:s,batch:false})}function oa(e=client.DEFAULT_QUERY_OPTIONS){let s=i();return l(r=>actions.userBalances(s,r,{currency:e.currency,requestPolicy:"cache-first"}),[s,e.currency])}function ia({suspense:e=false,pause:s=false,currency:r=client.DEFAULT_QUERY_OPTIONS.currency,...t}){return u({document:graphql.UserSummaryHistoryQuery,variables:{request:t,currency:r},suspense:e,pause:s,batch:false})}exports.AaveProvider=Wr;exports.CannotCancelSwapError=C;exports.useAaveClient=i;exports.useActivities=Fn;exports.useActivitiesAction=Ln;exports.useAsset=Tt;exports.useAssetBorrowHistory=Et;exports.useAssetPriceHistory=xt;exports.useAssetSupplyHistory=ht;exports.useBorrow=Cn;exports.useBorrowApyHistory=Nt;exports.useBorrowSwap=Rn;exports.useBorrowSwapQuote=yn;exports.useBorrowSwapQuoteAction=dn;exports.useCancelSwap=wn;exports.useChain=Rt;exports.useChainAction=ft;exports.useChains=mt;exports.useExchangeRate=At;exports.useExchangeRateAction=Ut;exports.useHub=nt;exports.useHubAssets=ut;exports.useHubSummaryHistory=ot;exports.useHubs=at;exports.useHubsAction=it;exports.useLiquidatePosition=Nn;exports.usePreview=Mn;exports.usePreviewAction=_n;exports.useProtocolHistory=Qt;exports.useRenounceSpokeUserPositionManager=Wn;exports.useRepay=In;exports.useRepayWithSupply=Un;exports.useRepayWithSupplyQuote=fn;exports.useRepayWithSupplyQuoteAction=mn;exports.useReserve=Bt;exports.useReserveAction=Wt;exports.useReserves=Ot;exports.useReservesAction=Dt;exports.useSetSpokeUserPositionManager=Vn;exports.useSetUserSuppliesAsCollateral=Dn;exports.useSpoke=Lt;exports.useSpokePositionManagers=Gt;exports.useSpokeUserPositionManagers=Yt;exports.useSpokes=jt;exports.useSupply=Hn;exports.useSupplyApyHistory=Vt;exports.useSupplySwap=Sn;exports.useSupplySwapQuote=ln;exports.useSupplySwapQuoteAction=cn;exports.useSwapStatus=pn;exports.useSwappableTokens=un;exports.useTokenSwap=Pn;exports.useTokenSwapQuote=nn;exports.useTokenSwapQuoteAction=an;exports.useUpdateUserPositionConditions=On;exports.useUserBalances=aa;exports.useUserBalancesAction=oa;exports.useUserBorrows=Zn;exports.useUserBorrowsAction=ea;exports.useUserPosition=na;exports.useUserPositions=ra;exports.useUserPositionsAction=ta;exports.useUserRiskPremiumBreakdown=ua;exports.useUserSummary=sa;exports.useUserSummaryHistory=ia;exports.useUserSupplies=Jn;exports.useUserSuppliesAction=Xn;exports.useUserSwaps=on;exports.useWithdraw=Bn;exports.useWithdrawSwap=bn;exports.useWithdrawSwapQuote=An;exports.useWithdrawSwapQuoteAction=gn;Object.keys(client).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return client[k]}})});//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map