@aave/graphql 1.0.0-next.6 → 1.0.0-next.8

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/enums.ts","../src/graphql.ts","../src/fragments/common.ts","../src/fragments/hubs.ts","../src/fragments/assets.ts","../src/fragments/spoke.ts","../src/fragments/reserve.ts","../src/permits.ts","../src/fragments/transactions.ts","../src/fragments/swaps.ts","../src/fragments/user.ts","../src/hub.ts","../src/id.ts","../src/inputs.ts","../src/misc.ts","../src/protocol.ts","../src/reserve.ts","../src/spoke.ts","../src/swaps.ts","../src/transactions.ts","../src/user.ts"],"names":["OrderDirection","PageSize","TimeWindow","OperationType","ChainsFilter","HubAssetStatusType","HubAssetsRequestOrderBy","ActivityType","ApyMetric","Currency","ReservesRequestFilter","SwapKind","SwapStatusFilter","TokenCategory","graphql","initGraphQLTada","DecimalNumberFragment","PercentNumberFragment","DecimalNumberWithChangeFragment","ExchangeAmountFragment","TokenInfoFragment","ChainFragment","Erc20TokenFragment","NativeTokenFragment","Erc20AmountFragment","NativeAmountFragment","TokenAmountFragment","TokenFragment","ExchangeAmountWithChangeFragment","PercentNumberWithChangeFragment","PaginatedResultInfoFragment","PercentNumberVariationFragment","ExchangeAmountValueVariationFragment","HealthFactorWithChangeFragment","HealthFactorVariationFragment","HealthFactorErrorFragment","HealthFactorResultFragment","HubSummaryFragment","HubFragment","HubAssetSummaryFragment","HubAssetSettingsFragment","HubAssetUserStateFragment","HubAssetFragment","SpokeFragment","SpokePositionManagerFragment","PaginatedSpokePositionManagerResultFragment","SpokeUserPositionManagerFragment","PaginatedSpokeUserPositionManagerResultFragment","ReserveSettingsFragment","ReserveStatusFragment","ReserveSummaryFragment","ReserveUserStateFragment","ReserveFragment","ReserveInfoFragment","TypeFieldFragment","TypeDefinitionFragment","DomainDataFragment","PermitMessageDataFragment","PermitTypedDataResponseFragment","PermitTypedDataQuery","TransactionRequestFragment","Erc20ApprovalRequiredFragment","PreContractActionRequiredFragment","InsufficientBalanceErrorFragment","ExecutionPlanFragment","SwapQuoteCostsFragment","SwapQuoteFragment","SwapByIntentTypeDefinitionFragment","SwapByIntentTypedDataFragment","SwapByIntentFragment","SwapByIntentWithApprovalRequiredFragment","SwapByTransactionFragment","SwapReceiptFragment","PrepareSwapResultFragment","SwapTransactionRequestFragment","SwapApprovalRequiredFragment","SwapExecutionPlanFragment","SwapCancelledFragment","SwapExpiredFragment","SwapOpenFragment","SwapPendingSignatureFragment","SwapFulfilledFragment","SwapStatusFragment","CancelSwapTypeDefinitionFragment","CancelSwapTypedDataFragment","PrepareSwapCancelResultFragment","CancelSwapExecutionPlanFragment","PaginatedUserSwapsResultFragment","UserSupplyItemFragment","UserBorrowItemFragment","UserSummaryFragment","UserRiskPremiumBreakdownItemFragment","UserPositionRiskPremiumFragment","UserPositionFragment","UserBalanceFragment","UserSummaryHistoryItemFragment","APYSampleFragment","HubQuery","HubsQuery","HubAssetsQuery","decodeBase64","value","c","encodeBase64","COMPOSITE_ID_SEPARATOR","assetId","invariant","hubId","encodeHubId","hub","decodeHubId","decoded","a","b","chainId","evmAddress","hubAssetId","reserveId","decodeReserveId","encodeReserveId","reserve","userPositionId","swapId","isValidHexString","swapQuoteId","encodeSpokeId","spoke","spokeId","userBalanceId","userBorrowItemId","userSupplyItemId","tokenInfoId","isHubInputVariant","input","isObject","isChainIdsVariant","isSpokeInputVariant","isTxHashInputVariant","ChainQuery","ChainsQuery","HasProcessedKnownTransactionQuery","HealthQuery","ExchangeRateQuery","AssetPriceSampleFragment","AssetSupplySampleFragment","AssetBorrowSampleFragment","AssetAmountWithChangeFragment","AssetSummaryFragment","AssetFragment","AssetQuery","AssetPriceHistoryQuery","AssetSupplyHistoryQuery","AssetBorrowHistoryQuery","BorrowApyHistoryQuery","SupplyApyHistoryQuery","ReserveQuery","ReservesQuery","SpokeQuery","SpokesQuery","SpokePositionManagersQuery","SpokeUserPositionManagersQuery","SwapQuoteQuery","SwappableTokensQuery","PrepareSwapQuery","SwapStatusQuery","SwapQuery","PrepareSwapCancelQuery","CancelSwapQuery","UserSwapsQuery","BorrowQuery","SupplyQuery","RepayQuery","WithdrawQuery","LiquidatePositionExecutionPlanFragment","LiquidatePositionQuery","SetSpokeUserPositionManagerQuery","SetUserSuppliesAsCollateralQuery","RenounceSpokeUserPositionManagerQuery","UpdateUserPositionConditionsQuery","PreviewUserPositionFragment","PreviewQuery","PercentNumberChangeSnapshotFragment","BorrowActivityFragment","SupplyActivityFragment","WithdrawActivityFragment","RepayActivityFragment","LiquidatedActivityFragment","UsingAsCollateralActivityFragment","UpdatedDynamicConfigActivityFragment","UpdatedRiskPremiumActivityFragment","ActivityItemFragment","PaginatedActivitiesResultFragment","ActivitiesQuery","UserSuppliesQuery","UserBorrowsQuery","UserSummaryQuery","UserPositionsQuery","UserPositionQuery","UserBalancesQuery","UserSummaryHistoryQuery"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { Tagged } from 'type-fest';\n\ntype EnumValues<E> = E[keyof E];\n\nexport type OpaqueEnumVariant = Tagged<string, 'OpaqueEnumVariant'>;\n\n/**\n * Adds an opaque value to an enum-union.\n *\n * @internal\n */\nexport type ExtendWithOpaqueVariant<E> = EnumValues<E> | OpaqueEnumVariant;\n\n/**\n * The order direction for sorting results.\n */\nexport enum OrderDirection {\n Asc = 'ASC',\n Desc = 'DESC',\n}\n\n/**\n * The page size for paginated results.\n */\nexport enum PageSize {\n Ten = 'TEN',\n Fifty = 'FIFTY',\n}\n\n/**\n * The time window for the historical data.\n */\nexport enum TimeWindow {\n LastDay = 'LAST_DAY',\n LastWeek = 'LAST_WEEK',\n LastMonth = 'LAST_MONTH',\n LastSixMonths = 'LAST_SIX_MONTHS',\n LastYear = 'LAST_YEAR',\n All = 'ALL',\n}\n\n/**\n * The operation type for transactions, used for tracking transaction processing.\n */\nexport enum OperationType {\n SpokeBorrow = 'SPOKE_BORROW',\n SpokeRepay = 'SPOKE_REPAY',\n SpokeSupply = 'SPOKE_SUPPLY',\n SpokeWithdraw = 'SPOKE_WITHDRAW',\n SpokeUpdateUserRiskPremium = 'SPOKE_UPDATE_USER_RISK_PREMIUM',\n SpokeSetUserUsingAsCollateral = 'SPOKE_SET_USER_USING_AS_COLLATERAL',\n SpokeSetUserPositionManager = 'SPOKE_SET_USER_POSITION_MANAGER',\n RenounceSpokeUserPositionManager = 'RENOUNCE_SPOKE_USER_POSITION_MANAGER',\n Liquidation = 'LIQUIDATION',\n}\n\n/**\n * The filter for chains.\n */\nexport enum ChainsFilter {\n TESTNET_ONLY = 'TESTNET_ONLY',\n MAINNET_ONLY = 'MAINNET_ONLY',\n ALL = 'ALL',\n}\n\n/**\n * The status type for hub assets.\n */\nexport enum HubAssetStatusType {\n Active = 'ACTIVE',\n Frozen = 'FROZEN',\n Paused = 'PAUSED',\n}\n\n/**\n * The order by options for hub assets request.\n */\nexport enum HubAssetsRequestOrderBy {\n Balance = 'BALANCE',\n Name = 'NAME',\n}\n\n/**\n * The activity type for user history.\n */\nexport enum ActivityType {\n Borrow = 'BORROW',\n Supply = 'SUPPLY',\n Withdraw = 'WITHDRAW',\n Repay = 'REPAY',\n Liquidated = 'LIQUIDATED',\n SetAsCollateral = 'SET_AS_COLLATERAL',\n UpdatedDynamicConfig = 'UPDATED_DYNAMIC_CONFIG',\n UpdatedRiskPremium = 'UPDATED_RISK_PREMIUM',\n}\n\n/**\n * The APY metric for comparing rates.\n */\nexport enum ApyMetric {\n Highest = 'HIGHEST',\n Lowest = 'LOWEST',\n Average = 'AVERAGE',\n}\n\n/**\n * The currency for fiat amounts.\n */\nexport enum Currency {\n Usd = 'USD',\n Eur = 'EUR',\n Gbp = 'GBP',\n}\n\n/**\n * The filter for reserves request.\n */\nexport enum ReservesRequestFilter {\n Supply = 'SUPPLY',\n Borrow = 'BORROW',\n All = 'ALL',\n}\n\n/**\n * The swap kind for swapping tokens.\n */\nexport enum SwapKind {\n Buy = 'BUY',\n Sell = 'SELL',\n}\n\n/**\n * The filter for swap status.\n */\nexport enum SwapStatusFilter {\n Cancelled = 'CANCELLED',\n Expired = 'EXPIRED',\n Fulfilled = 'FULFILLED',\n Open = 'OPEN',\n PendingSignature = 'PENDING_SIGNATURE',\n}\n\n/**\n * The category for tokens.\n */\nexport enum TokenCategory {\n Stablecoin = 'STABLECOIN',\n EthCorrelated = 'ETH_CORRELATED',\n}\n","import type {\n AnySelectionSet,\n AnyVariables,\n BigDecimal,\n BlockchainData,\n ChainId,\n Cursor,\n EvmAddress,\n JSONString,\n Signature,\n TxHash,\n TypedSelectionSet,\n Void,\n} from '@aave/types';\nimport {\n type DocumentDecoration,\n initGraphQLTada,\n type TadaDocumentNode,\n} from 'gql.tada';\nimport type {\n ActivityType,\n ApyMetric,\n ChainsFilter,\n Currency,\n HubAssetStatusType,\n HubAssetsRequestOrderBy,\n OperationType,\n OrderDirection,\n PageSize,\n ReservesRequestFilter,\n SwapKind,\n SwapStatusFilter,\n TimeWindow,\n TokenCategory,\n} from './enums';\nimport type { introspection } from './graphql-env';\nimport type {\n AssetId,\n HubAssetId,\n HubId,\n ID,\n OnChainHubAssetId,\n OnChainReserveId,\n ReserveId,\n SpokeId,\n SwapId,\n SwapQuoteId,\n TokenInfoId,\n UserBalanceId,\n UserBorrowItemId,\n UserPositionId,\n UserSupplyItemId,\n} from './id';\n\nexport type { FragmentOf, ResultOf, VariablesOf } from 'gql.tada';\n\nexport const graphql = initGraphQLTada<{\n disableMasking: true;\n introspection: introspection;\n scalars: {\n ActivityType: ActivityType;\n AlwaysTrue: true;\n ApyMetric: ApyMetric;\n AssetId: AssetId;\n BigDecimal: BigDecimal;\n BigInt: bigint;\n BlockchainData: BlockchainData;\n Boolean: boolean;\n ChainId: ChainId;\n ChainsFilter: ChainsFilter;\n Currency: Currency;\n Cursor: Cursor;\n DateTime: Date;\n EvmAddress: EvmAddress;\n Float: number;\n HubAssetId: HubAssetId;\n HubAssetsRequestOrderBy: HubAssetsRequestOrderBy;\n HubAssetStatusType: HubAssetStatusType;\n HubId: HubId;\n ID: ID;\n Int: number;\n JSON: JSONString;\n OnChainHubAssetId: OnChainHubAssetId;\n OnChainReserveId: OnChainReserveId;\n OperationType: OperationType;\n OrderDirection: OrderDirection;\n PageSize: PageSize;\n ReserveId: ReserveId;\n ReservesRequestFilter: ReservesRequestFilter;\n Signature: Signature;\n SpokeId: SpokeId;\n String: string;\n SwapId: SwapId;\n SwapKind: SwapKind;\n SwapQuoteId: SwapQuoteId;\n SwapStatusFilter: SwapStatusFilter;\n TimeWindow: TimeWindow;\n TokenCategory: TokenCategory;\n TokenInfoId: TokenInfoId;\n TxHash: TxHash;\n UserBalanceId: UserBalanceId;\n UserBorrowItemId: UserBorrowItemId;\n UserPositionId: UserPositionId;\n UserSupplyItemId: UserSupplyItemId;\n Void: Void;\n };\n}>();\n\n/**\n * @internal\n */\nexport type RequestOf<Document> = Document extends DocumentDecoration<\n unknown,\n infer Variables\n>\n ? Variables extends { request: infer Request }\n ? Request\n : never\n : never;\n\n/**\n * @internal\n */\nexport type FragmentDocumentFor<\n TGqlNode extends AnySelectionSet,\n TTypename extends string = TGqlNode extends TypedSelectionSet<infer TTypename>\n ? TTypename\n : never,\n TFragmentName extends string = TTypename,\n> = TadaDocumentNode<\n TGqlNode,\n AnyVariables,\n {\n fragment: TFragmentName;\n on: TTypename;\n masked: false;\n }\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport { type FragmentDocumentFor, graphql } from '../graphql';\n\nexport const DecimalNumberFragment =\n graphql(`fragment DecimalNumber on DecimalNumber {\n __typename\n onChainValue\n decimals\n value\n }`);\nexport type DecimalNumber = FragmentOf<typeof DecimalNumberFragment>;\n\nexport const PercentNumberFragment = graphql(\n `fragment PercentNumber on PercentNumber {\n __typename\n onChainValue\n decimals\n value\n normalized\n }`,\n);\nexport type PercentNumber = FragmentOf<typeof PercentNumberFragment>;\n\nexport const DecimalNumberWithChangeFragment = graphql(\n `fragment DecimalNumberWithChange on DecimalNumberWithChange {\n __typename\n current {\n ...DecimalNumber\n }\n change(window: $timeWindow) {\n ...PercentNumber\n }\n }`,\n [DecimalNumberFragment, PercentNumberFragment],\n);\nexport type DecimalNumberWithChange = FragmentOf<\n typeof DecimalNumberWithChangeFragment\n>;\n\nexport const ExchangeAmountFragment = graphql(\n `fragment ExchangeAmount on ExchangeAmount {\n __typename\n value\n name\n symbol\n icon\n decimals\n }`,\n);\nexport type ExchangeAmount = FragmentOf<typeof ExchangeAmountFragment>;\n\nexport const TokenInfoFragment = graphql(\n `fragment TokenInfo on TokenInfo {\n __typename\n id\n name\n symbol\n icon\n decimals\n categories\n }`,\n);\nexport type TokenInfo = FragmentOf<typeof TokenInfoFragment>;\n\nexport const ChainFragment = graphql(\n `fragment Chain on Chain {\n __typename\n name\n icon\n chainId\n rpcUrl\n explorerUrl\n isTestnet\n isFork\n nativeWrappedToken\n nativeGateway\n signatureGateway\n nativeInfo {\n ...TokenInfo\n }\n }`,\n [TokenInfoFragment],\n);\nexport type Chain = FragmentOf<typeof ChainFragment>;\n\nexport const Erc20TokenFragment = graphql(\n `fragment Erc20Token on Erc20Token {\n __typename\n info {\n ...TokenInfo\n }\n address\n chain {\n ...Chain\n }\n isWrappedNativeToken\n permitSupported\n }`,\n [TokenInfoFragment, ChainFragment],\n);\nexport type Erc20Token = FragmentOf<typeof Erc20TokenFragment>;\n\nexport const NativeTokenFragment = graphql(\n `fragment NativeToken on NativeToken {\n __typename\n info {\n ...TokenInfo\n }\n chain {\n ...Chain\n }\n }`,\n [TokenInfoFragment, ChainFragment],\n);\nexport type NativeToken = FragmentOf<typeof NativeTokenFragment>;\n\nexport const Erc20AmountFragment = graphql(\n `fragment Erc20Amount on Erc20Amount {\n __typename\n token {\n ...Erc20Token\n }\n amount {\n ...DecimalNumber\n }\n exchange(currency: $currency){\n ...ExchangeAmount\n }\n exchangeRate(currency: $currency){\n ...DecimalNumber\n }\n }`,\n [Erc20TokenFragment, DecimalNumberFragment, ExchangeAmountFragment],\n);\nexport type Erc20Amount = FragmentOf<typeof Erc20AmountFragment>;\n\nexport const NativeAmountFragment = graphql(\n `fragment NativeAmount on NativeAmount {\n __typename\n token {\n ...NativeToken\n }\n amount {\n ...DecimalNumber\n }\n exchange(currency: $currency){\n ...ExchangeAmount\n }\n exchangeRate(currency: $currency){\n ...DecimalNumber\n }\n }`,\n [NativeTokenFragment, DecimalNumberFragment, ExchangeAmountFragment],\n);\nexport type NativeAmount = FragmentOf<typeof NativeAmountFragment>;\n\nexport type TokenAmount = Erc20Amount | NativeAmount;\n\nexport const TokenAmountFragment: FragmentDocumentFor<\n TokenAmount,\n 'TokenAmount'\n> = graphql(\n `fragment TokenAmount on TokenAmount {\n __typename\n ... on Erc20Amount {\n ...Erc20Amount\n }\n ... on NativeAmount {\n ...NativeAmount\n }\n }`,\n [Erc20AmountFragment, NativeAmountFragment],\n);\n\nexport type Token = NativeToken | Erc20Token;\n\nexport const TokenFragment: FragmentDocumentFor<Token, 'Token'> = graphql(\n `fragment Token on Token {\n __typename\n ... on Erc20Token {\n ...Erc20Token\n }\n ... on NativeToken {\n ...NativeToken\n }\n }`,\n [Erc20TokenFragment, NativeTokenFragment],\n);\n\nexport const ExchangeAmountWithChangeFragment = graphql(\n `fragment ExchangeAmountWithChange on ExchangeAmountWithChange {\n __typename\n current {\n ...ExchangeAmount\n }\n change(window: $timeWindow){\n ...PercentNumber\n }\n }`,\n [ExchangeAmountFragment, PercentNumberFragment],\n);\nexport type ExchangeAmountWithChange = FragmentOf<\n typeof ExchangeAmountWithChangeFragment\n>;\n\nexport const PercentNumberWithChangeFragment = graphql(\n `fragment PercentNumberWithChange on PercentNumberWithChange {\n __typename\n current {\n ...PercentNumber\n }\n change(window: $timeWindow){\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type PercentNumberWithChange = FragmentOf<\n typeof PercentNumberWithChangeFragment\n>;\n\nexport const PaginatedResultInfoFragment = graphql(\n `fragment PaginatedResultInfo on PaginatedResultInfo {\n __typename\n prev\n next\n }`,\n);\nexport type PaginatedResultInfo = FragmentOf<\n typeof PaginatedResultInfoFragment\n>;\n\nexport const PercentNumberVariationFragment = graphql(\n `fragment PercentNumberVariation on PercentNumberVariation {\n __typename\n current {\n ...PercentNumber\n }\n after {\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type PercentNumberVariation = FragmentOf<\n typeof PercentNumberVariationFragment\n>;\n\nexport const ExchangeAmountValueVariationFragment = graphql(\n `fragment ExchangeAmountValueVariation on ExchangeAmountValueVariation {\n __typename\n current {\n ...ExchangeAmount\n }\n after {\n ...ExchangeAmount\n }\n }`,\n [ExchangeAmountFragment],\n);\nexport type ExchangeAmountValueVariation = FragmentOf<\n typeof ExchangeAmountValueVariationFragment\n>;\n\nexport const HealthFactorWithChangeFragment = graphql(\n `fragment HealthFactorWithChange on HealthFactorWithChange {\n __typename\n current\n change(window: $timeWindow) {\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type HealthFactorWithChange = FragmentOf<\n typeof HealthFactorWithChangeFragment\n>;\n\nexport const HealthFactorVariationFragment = graphql(\n `fragment HealthFactorVariation on HealthFactorVariation {\n __typename\n current\n after\n }`,\n);\nexport type HealthFactorVariation = FragmentOf<\n typeof HealthFactorVariationFragment\n>;\n\nexport const HealthFactorErrorFragment = graphql(\n `fragment HealthFactorError on HealthFactorError {\n __typename\n reason\n current\n after\n }`,\n);\nexport type HealthFactorError = FragmentOf<typeof HealthFactorErrorFragment>;\n\nexport type HealthFactorResult = HealthFactorVariation | HealthFactorError;\n\nexport const HealthFactorResultFragment: FragmentDocumentFor<\n HealthFactorResult,\n 'HealthFactorResult'\n> = graphql(\n `fragment HealthFactorResult on HealthFactorResult {\n __typename\n ... on HealthFactorVariation {\n ...HealthFactorVariation\n }\n ... on HealthFactorError {\n ...HealthFactorError\n }\n }`,\n [HealthFactorVariationFragment, HealthFactorErrorFragment],\n);\n","import type { FragmentOf } from 'gql.tada';\nimport { graphql } from '../graphql';\nimport {\n ChainFragment,\n ExchangeAmountFragment,\n ExchangeAmountWithChangeFragment,\n PercentNumberFragment,\n} from './common';\n\nexport const HubSummaryFragment = graphql(\n `fragment HubSummary on HubSummary {\n __typename\n totalBorrowed {\n ...ExchangeAmountWithChange\n }\n totalBorrowCap {\n ...ExchangeAmount\n }\n totalSupplied {\n ...ExchangeAmountWithChange\n }\n totalSupplyCap {\n ...ExchangeAmount\n }\n utilizationRate {\n ...PercentNumber\n }\n }`,\n [\n ExchangeAmountFragment,\n ExchangeAmountWithChangeFragment,\n PercentNumberFragment,\n ],\n);\nexport type HubSummary = FragmentOf<typeof HubSummaryFragment>;\n\nexport const HubFragment = graphql(\n `fragment Hub on Hub {\n __typename\n id\n name\n address\n chain {\n ...Chain\n }\n summary(currency: $currency) {\n ...HubSummary\n }\n }`,\n [ChainFragment, HubSummaryFragment],\n);\nexport type Hub = FragmentOf<typeof HubFragment>;\n","import { type FragmentOf, graphql } from '../graphql';\nimport {\n Erc20AmountFragment,\n Erc20TokenFragment,\n PercentNumberFragment,\n} from './common';\nimport { HubFragment } from './hubs';\n\nexport const HubAssetSummaryFragment = graphql(\n `fragment HubAssetSummary on HubAssetSummary {\n __typename\n supplied {\n ...Erc20Amount\n }\n borrowed {\n ...Erc20Amount\n }\n availableLiquidity {\n ...Erc20Amount\n }\n supplyApy {\n ...PercentNumber\n }\n borrowApy {\n ...PercentNumber\n }\n netApy {\n ...PercentNumber\n }\n utilizationRate {\n ...PercentNumber\n }\n }`,\n [Erc20AmountFragment, PercentNumberFragment],\n);\nexport type HubAssetSummary = FragmentOf<typeof HubAssetSummaryFragment>;\n\nexport const HubAssetSettingsFragment = graphql(\n `fragment HubAssetSettings on HubAssetSettings {\n __typename\n feeReceiver\n liquidityFee {\n ...PercentNumber\n }\n irStrategy\n reinvestmentController\n }`,\n [PercentNumberFragment],\n);\nexport type HubAssetSettings = FragmentOf<typeof HubAssetSettingsFragment>;\n\nexport const HubAssetUserStateFragment = graphql(\n `fragment HubAssetUserState on HubAssetUserState {\n __typename\n balance {\n ...Erc20Amount\n }\n }`,\n [Erc20AmountFragment],\n);\nexport type HubAssetUserState = FragmentOf<typeof HubAssetUserStateFragment>;\n\nexport const HubAssetFragment = graphql(\n `fragment HubAsset on HubAsset {\n __typename\n id\n onchainAssetId\n hub {\n ...Hub\n }\n underlying {\n ...Erc20Token\n }\n summary {\n ...HubAssetSummary\n }\n settings {\n ...HubAssetSettings\n }\n userState {\n ...HubAssetUserState\n }\n }`,\n [\n HubFragment,\n Erc20TokenFragment,\n HubAssetSummaryFragment,\n HubAssetSettingsFragment,\n HubAssetUserStateFragment,\n ],\n);\nexport type HubAsset = FragmentOf<typeof HubAssetFragment>;\n","import type { FragmentOf } from 'gql.tada';\nimport { graphql } from '../graphql';\nimport { ChainFragment, PaginatedResultInfoFragment } from './common';\n\nexport const SpokeFragment = graphql(\n `fragment Spoke on Spoke {\n __typename\n id\n name\n address\n chain {\n ...Chain\n }\n }`,\n [ChainFragment],\n);\n\nexport type Spoke = FragmentOf<typeof SpokeFragment>;\n\nexport const SpokePositionManagerFragment = graphql(\n `fragment SpokePositionManager on SpokePositionManger {\n __typename\n address\n active\n name\n }`,\n);\n\nexport type SpokePositionManager = FragmentOf<\n typeof SpokePositionManagerFragment\n>;\n\nexport const PaginatedSpokePositionManagerResultFragment = graphql(\n `fragment PaginatedSpokePositionManagerResult on PaginatedSpokePositionManagerResult {\n __typename\n items {\n ...SpokePositionManager\n }\n pageInfo {\n ...PaginatedResultInfo\n }\n }`,\n [SpokePositionManagerFragment, PaginatedResultInfoFragment],\n);\n\nexport type PaginatedSpokePositionManagerResult = FragmentOf<\n typeof PaginatedSpokePositionManagerResultFragment\n>;\n\nexport const SpokeUserPositionManagerFragment = graphql(\n `fragment SpokeUserPositionManager on SpokeUserPositionManager {\n __typename\n address\n approvedOn\n active\n name\n }`,\n);\n\nexport type SpokeUserPositionManager = FragmentOf<\n typeof SpokeUserPositionManagerFragment\n>;\n\nexport const PaginatedSpokeUserPositionManagerResultFragment = graphql(\n `fragment PaginatedSpokeUserPositionManagerResult on PaginatedSpokeUserPositionManagerResult {\n __typename\n items {\n ...SpokeUserPositionManager\n }\n pageInfo {\n ...PaginatedResultInfo\n }\n }`,\n [SpokeUserPositionManagerFragment, PaginatedResultInfoFragment],\n);\n\nexport type PaginatedSpokeUserPositionManagerResult = FragmentOf<\n typeof PaginatedSpokeUserPositionManagerResultFragment\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport { graphql } from '../graphql';\nimport { HubAssetFragment } from './assets';\nimport {\n ChainFragment,\n Erc20AmountFragment,\n PercentNumberFragment,\n} from './common';\nimport { SpokeFragment } from './spoke';\n\nexport const ReserveSettingsFragment = graphql(\n `fragment ReserveSettings on ReserveSettings {\n __typename\n collateralFactor {\n ...PercentNumber\n }\n maxLiquidationBonus {\n ...PercentNumber\n }\n liquidationFee {\n ...PercentNumber\n }\n collateralRisk {\n ...PercentNumber\n }\n borrowable\n collateral\n suppliable\n latestDynamicConfigKey\n }`,\n [PercentNumberFragment],\n);\nexport type ReserveSettings = FragmentOf<typeof ReserveSettingsFragment>;\n\nexport const ReserveStatusFragment = graphql(\n `fragment ReserveStatus on ReserveStatus {\n __typename\n frozen\n paused\n active\n }`,\n);\nexport type ReserveStatus = FragmentOf<typeof ReserveStatusFragment>;\n\nexport const ReserveSummaryFragment = graphql(\n `fragment ReserveSummary on ReserveSummary {\n __typename\n supplied {\n ...Erc20Amount\n }\n borrowed {\n ...Erc20Amount\n }\n supplyApy {\n ...PercentNumber\n }\n borrowApy {\n ...PercentNumber\n }\n }`,\n [Erc20AmountFragment, PercentNumberFragment],\n);\nexport type ReserveSummary = FragmentOf<typeof ReserveSummaryFragment>;\n\nexport const ReserveUserStateFragment = graphql(\n `fragment ReserveUserState on ReserveUserState {\n __typename\n balance {\n ...Erc20Amount\n }\n suppliable {\n ...Erc20Amount\n }\n borrowable {\n ...Erc20Amount\n }\n borrowingPower {\n ...Erc20Amount\n }\n borrowApy {\n ...PercentNumber\n }\n collateralFactor {\n ...PercentNumber\n }\n maxLiquidationBonus {\n ...PercentNumber\n }\n liquidationFee {\n ...PercentNumber\n }\n dynamicConfigKey\n isUsingLatestDynamicConfigKey\n }`,\n [Erc20AmountFragment, PercentNumberFragment],\n);\nexport type ReserveUserState = FragmentOf<typeof ReserveUserStateFragment>;\n\nexport const ReserveFragment = graphql(\n `fragment Reserve on Reserve {\n __typename\n id\n onChainId\n spoke {\n ...Spoke\n }\n borrowCap\n supplyCap\n chain {\n ...Chain\n }\n summary {\n ...ReserveSummary\n }\n settings {\n ...ReserveSettings\n }\n status {\n ...ReserveStatus\n }\n canBorrow\n canSupply\n canUseAsCollateral\n userState {\n ...ReserveUserState\n }\n asset {\n ...HubAsset\n }\n }`,\n [\n SpokeFragment,\n ChainFragment,\n ReserveSummaryFragment,\n ReserveSettingsFragment,\n ReserveStatusFragment,\n ReserveUserStateFragment,\n HubAssetFragment,\n ],\n);\nexport type Reserve = FragmentOf<typeof ReserveFragment>;\n\nexport const ReserveInfoFragment = graphql(\n `fragment ReserveInfo on ReserveInfo {\n __typename\n id\n asset {\n ...HubAsset\n }\n }`,\n [HubAssetFragment],\n);\nexport type ReserveInfo = FragmentOf<typeof ReserveInfoFragment>;\n","import { type FragmentOf, graphql, type RequestOf } from './graphql';\n\nexport const TypeFieldFragment = graphql(\n `fragment TypeField on TypeField {\n name\n type\n }`,\n);\nexport type TypeField = FragmentOf<typeof TypeFieldFragment>;\n\nexport const TypeDefinitionFragment = graphql(\n `fragment TypeDefinition on TypeDefinition {\n EIP712Domain {\n ...TypeField\n }\n Permit {\n ...TypeField\n }\n }`,\n [TypeFieldFragment],\n);\nexport type TypeDefinition = FragmentOf<typeof TypeDefinitionFragment>;\n\nexport const DomainDataFragment = graphql(\n `fragment DomainData on DomainData {\n name\n version\n chainId\n verifyingContract\n }`,\n);\nexport type DomainData = FragmentOf<typeof DomainDataFragment>;\n\nexport const PermitMessageDataFragment = graphql(\n `fragment PermitMessageData on PermitMessageData {\n owner\n spender\n value\n nonce\n deadline\n }`,\n);\nexport type PermitMessageData = FragmentOf<typeof PermitMessageDataFragment>;\n\nexport const PermitTypedDataResponseFragment = graphql(\n `fragment PermitTypedDataResponse on PermitTypedDataResponse {\n types {\n ...TypeDefinition\n }\n primaryType\n domain {\n ...DomainData\n }\n message {\n ...PermitMessageData\n }\n }`,\n [TypeDefinitionFragment, DomainDataFragment, PermitMessageDataFragment],\n);\nexport type PermitTypedDataResponse = FragmentOf<\n typeof PermitTypedDataResponseFragment\n>;\n\nexport type ERC20PermitSignature = ReturnType<\n typeof graphql.scalar<'ERC20PermitSignature'>\n>;\n\n/**\n * @internal\n */\nexport const PermitTypedDataQuery = graphql(\n `query PermitTypedData($request: PermitRequest!) {\n value: permitTypedData(request: $request) {\n ...PermitTypedDataResponse\n }\n }`,\n [PermitTypedDataResponseFragment],\n);\nexport type PermitRequest = RequestOf<typeof PermitTypedDataQuery>;\n\nexport type RepayPermitRequest = ReturnType<\n typeof graphql.scalar<'RepayPermitRequest'>\n>;\n\nexport type SupplyPermitRequest = ReturnType<\n typeof graphql.scalar<'SupplyPermitRequest'>\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport { type FragmentDocumentFor, graphql } from '../graphql';\nimport { DecimalNumberFragment } from './common';\n\nexport const TransactionRequestFragment = graphql(\n `fragment TransactionRequest on TransactionRequest {\n __typename\n to\n from\n data\n value\n chainId\n operations\n }`,\n);\nexport type TransactionRequest = FragmentOf<typeof TransactionRequestFragment>;\n\nexport const Erc20ApprovalRequiredFragment = graphql(\n `fragment Erc20ApprovalRequired on Erc20ApprovalRequired {\n __typename\n transaction {\n ...TransactionRequest\n }\n reason\n requiredAmount {\n ...DecimalNumber\n }\n currentAllowance {\n ...DecimalNumber\n }\n originalTransaction {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment, DecimalNumberFragment],\n);\nexport type Erc20ApprovalRequired = FragmentOf<\n typeof Erc20ApprovalRequiredFragment\n>;\n\nexport const PreContractActionRequiredFragment = graphql(\n `fragment PreContractActionRequired on PreContractActionRequired {\n __typename\n transaction {\n ...TransactionRequest\n }\n reason\n originalTransaction {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type PreContractActionRequired = FragmentOf<\n typeof PreContractActionRequiredFragment\n>;\n\nexport const InsufficientBalanceErrorFragment = graphql(\n `fragment InsufficientBalanceError on InsufficientBalanceError {\n __typename\n required {\n ...DecimalNumber\n }\n available {\n ...DecimalNumber\n }\n }`,\n [DecimalNumberFragment],\n);\nexport type InsufficientBalanceError = FragmentOf<\n typeof InsufficientBalanceErrorFragment\n>;\n\nexport type ExecutionPlan =\n | TransactionRequest\n | Erc20ApprovalRequired\n | PreContractActionRequired\n | InsufficientBalanceError;\n\nexport const ExecutionPlanFragment: FragmentDocumentFor<\n ExecutionPlan,\n 'ExecutionPlan'\n> = graphql(\n `fragment ExecutionPlan on ExecutionPlan {\n __typename\n ... on TransactionRequest {\n ...TransactionRequest\n }\n ... on Erc20ApprovalRequired {\n ...Erc20ApprovalRequired\n }\n ... on PreContractActionRequired {\n ...PreContractActionRequired\n }\n ... on InsufficientBalanceError {\n ...InsufficientBalanceError\n }\n }`,\n [\n TransactionRequestFragment,\n Erc20ApprovalRequiredFragment,\n PreContractActionRequiredFragment,\n InsufficientBalanceErrorFragment,\n ],\n);\n","import type { FragmentOf } from 'gql.tada';\nimport { type FragmentDocumentFor, graphql } from '../graphql';\nimport { DomainDataFragment, TypeFieldFragment } from '../permits';\nimport {\n PaginatedResultInfoFragment,\n PercentNumberFragment,\n TokenAmountFragment,\n} from './common';\nimport {\n type InsufficientBalanceError,\n InsufficientBalanceErrorFragment,\n type TransactionRequest,\n TransactionRequestFragment,\n} from './transactions';\n\nexport const SwapQuoteCostsFragment = graphql(\n `fragment SwapQuoteCosts on SwapQuoteCosts {\n __typename\n networkCosts {\n ...TokenAmount\n }\n partnerFee {\n ...TokenAmount\n }\n }`,\n [TokenAmountFragment],\n);\nexport type SwapQuoteCosts = FragmentOf<typeof SwapQuoteCostsFragment>;\n\nexport const SwapQuoteFragment = graphql(\n `fragment SwapQuote on SwapQuote {\n __typename\n quoteId\n suggestedSlippage {\n ...PercentNumber\n }\n desiredSell {\n ...TokenAmount\n }\n desiredBuy {\n ...TokenAmount\n }\n costs {\n ...SwapQuoteCosts\n }\n minimumReceived {\n ...TokenAmount\n }\n }`,\n [PercentNumberFragment, TokenAmountFragment, SwapQuoteCostsFragment],\n);\nexport type SwapQuote = FragmentOf<typeof SwapQuoteFragment>;\n\nexport const SwapByIntentTypeDefinitionFragment = graphql(\n `fragment SwapByIntentTypeDefinition on SwapByIntentTypeDefinition {\n EIP712Domain {\n ...TypeField\n }\n Order {\n ...TypeField\n }\n }`,\n [TypeFieldFragment],\n);\nexport type SwapByIntentTypeDefinition = FragmentOf<\n typeof SwapByIntentTypeDefinitionFragment\n>;\n\nexport const SwapByIntentTypedDataFragment = graphql(\n `fragment SwapByIntentTypedData on SwapByIntentTypedData {\n __typename\n types {\n ...SwapByIntentTypeDefinition\n }\n primaryType\n domain {\n ...DomainData\n }\n message\n }`,\n [SwapByIntentTypeDefinitionFragment, DomainDataFragment],\n);\nexport type SwapByIntentTypedData = FragmentOf<\n typeof SwapByIntentTypedDataFragment\n>;\n\nexport const SwapByIntentFragment = graphql(\n `fragment SwapByIntent on SwapByIntent {\n __typename\n quote {\n ...SwapQuote\n }\n data {\n ...SwapByIntentTypedData\n }\n }`,\n [SwapQuoteFragment, SwapByIntentTypedDataFragment],\n);\nexport type SwapByIntent = FragmentOf<typeof SwapByIntentFragment>;\n\nexport const SwapByIntentWithApprovalRequiredFragment = graphql(\n `fragment SwapByIntentWithApprovalRequired on SwapByIntentWithApprovalRequired {\n __typename\n approval {\n ...TransactionRequest\n }\n quote {\n ...SwapQuote\n }\n data {\n ...SwapByIntentTypedData\n }\n }`,\n [\n TransactionRequestFragment,\n SwapQuoteFragment,\n SwapByIntentTypedDataFragment,\n ],\n);\nexport type SwapByIntentWithApprovalRequired = FragmentOf<\n typeof SwapByIntentWithApprovalRequiredFragment\n>;\n\nexport const SwapByTransactionFragment = graphql(\n `fragment SwapByTransaction on SwapByTransaction {\n __typename\n quote {\n ...SwapQuote\n }\n }`,\n [SwapQuoteFragment],\n);\nexport type SwapByTransaction = FragmentOf<typeof SwapByTransactionFragment>;\n\nexport const SwapReceiptFragment = graphql(\n `fragment SwapReceipt on SwapReceipt {\n __typename\n id\n explorerLink\n createdAt\n }`,\n);\nexport type SwapReceipt = FragmentOf<typeof SwapReceiptFragment>;\n\nexport type PrepareSwapResult =\n | SwapByIntent\n | SwapByIntentWithApprovalRequired\n | SwapByTransaction\n | InsufficientBalanceError;\n\nexport const PrepareSwapResultFragment: FragmentDocumentFor<\n PrepareSwapResult,\n 'PrepareSwapResult'\n> = graphql(\n `fragment PrepareSwapResult on PrepareSwapResult {\n __typename\n ... on SwapByIntent {\n ...SwapByIntent\n }\n ... on SwapByIntentWithApprovalRequired {\n ...SwapByIntentWithApprovalRequired\n }\n ... on SwapByTransaction {\n ...SwapByTransaction\n }\n ... on InsufficientBalanceError {\n ...InsufficientBalanceError\n }\n }`,\n [\n SwapByIntentFragment,\n SwapByIntentWithApprovalRequiredFragment,\n SwapByTransactionFragment,\n InsufficientBalanceErrorFragment,\n ],\n);\n\nexport const SwapTransactionRequestFragment = graphql(\n `fragment SwapTransactionRequest on SwapTransactionRequest {\n __typename\n transaction {\n ...TransactionRequest\n }\n orderReceipt {\n ...SwapReceipt\n }\n }`,\n [TransactionRequestFragment, SwapReceiptFragment],\n);\nexport type SwapTransactionRequest = FragmentOf<\n typeof SwapTransactionRequestFragment\n>;\n\nexport const SwapApprovalRequiredFragment = graphql(\n `fragment SwapApprovalRequired on SwapApprovalRequired {\n __typename\n approval {\n ...TransactionRequest\n }\n originalTransaction {\n ...SwapTransactionRequest\n }\n }`,\n [TransactionRequestFragment, SwapTransactionRequestFragment],\n);\nexport type SwapApprovalRequired = FragmentOf<\n typeof SwapApprovalRequiredFragment\n>;\n\nexport type SwapExecutionPlan =\n | SwapTransactionRequest\n | SwapApprovalRequired\n | InsufficientBalanceError\n | SwapReceipt;\n\nexport const SwapExecutionPlanFragment: FragmentDocumentFor<\n SwapExecutionPlan,\n 'SwapExecutionPlan'\n> = graphql(\n `fragment SwapExecutionPlan on SwapExecutionPlan {\n __typename\n ... on SwapTransactionRequest {\n ...SwapTransactionRequest\n }\n ... on SwapApprovalRequired {\n ...SwapApprovalRequired\n }\n ... on InsufficientBalanceError {\n ...InsufficientBalanceError\n }\n ... on SwapReceipt {\n ...SwapReceipt\n }\n }`,\n [\n SwapTransactionRequestFragment,\n SwapApprovalRequiredFragment,\n InsufficientBalanceErrorFragment,\n SwapReceiptFragment,\n ],\n);\n\nexport const SwapCancelledFragment = graphql(\n `fragment SwapCancelled on SwapCancelled {\n __typename\n createdAt\n cancelledAt\n explorerLink\n }`,\n);\nexport type SwapCancelled = FragmentOf<typeof SwapCancelledFragment>;\n\nexport const SwapExpiredFragment = graphql(\n `fragment SwapExpired on SwapExpired {\n __typename\n createdAt\n expiredAt\n explorerLink\n }`,\n);\nexport type SwapExpired = FragmentOf<typeof SwapExpiredFragment>;\n\nexport const SwapOpenFragment = graphql(\n `fragment SwapOpen on SwapOpen {\n __typename\n swapId\n createdAt\n deadline\n explorerLink\n desiredSell {\n ...TokenAmount\n }\n desiredBuy {\n ...TokenAmount\n }\n }`,\n [TokenAmountFragment],\n);\nexport type SwapOpen = FragmentOf<typeof SwapOpenFragment>;\n\nexport const SwapPendingSignatureFragment = graphql(\n `fragment SwapPendingSignature on SwapPendingSignature {\n __typename\n createdAt\n deadline\n explorerLink\n }`,\n);\nexport type SwapPendingSignature = FragmentOf<\n typeof SwapPendingSignatureFragment\n>;\n\nexport const SwapFulfilledFragment = graphql(\n `fragment SwapFulfilled on SwapFulfilled {\n __typename\n txHash\n desiredSell {\n ...TokenAmount\n }\n desiredBuy {\n ...TokenAmount\n }\n sold {\n ...TokenAmount\n }\n bought {\n ...TokenAmount\n }\n createdAt\n fulfilledAt\n explorerLink\n refundTxHash\n }`,\n [TokenAmountFragment],\n);\nexport type SwapFulfilled = FragmentOf<typeof SwapFulfilledFragment>;\n\nexport type SwapStatus =\n | SwapOpen\n | SwapPendingSignature\n | SwapCancelled\n | SwapExpired\n | SwapFulfilled;\n\nexport const SwapStatusFragment: FragmentDocumentFor<SwapStatus, 'SwapStatus'> =\n graphql(\n `fragment SwapStatus on SwapStatus {\n __typename\n ... on SwapOpen {\n ...SwapOpen\n }\n ... on SwapPendingSignature {\n ...SwapPendingSignature\n }\n ... on SwapCancelled {\n ...SwapCancelled\n }\n ... on SwapExpired {\n ...SwapExpired\n }\n ... on SwapFulfilled {\n ...SwapFulfilled\n }\n }`,\n [\n SwapOpenFragment,\n SwapPendingSignatureFragment,\n SwapCancelledFragment,\n SwapExpiredFragment,\n SwapFulfilledFragment,\n ],\n );\n\nexport const CancelSwapTypeDefinitionFragment = graphql(\n `fragment CancelSwapTypeDefinition on CancelSwapTypeDefinition {\n OrderCancellations {\n ...TypeField\n }\n EIP712Domain {\n ...TypeField\n }\n }`,\n [TypeFieldFragment],\n);\nexport type CancelSwapTypeDefinition = FragmentOf<\n typeof CancelSwapTypeDefinitionFragment\n>;\n\nexport const CancelSwapTypedDataFragment = graphql(\n `fragment CancelSwapTypedData on CancelSwapTypedData {\n types {\n ...CancelSwapTypeDefinition\n }\n primaryType\n domain {\n ...DomainData\n }\n message\n }`,\n [CancelSwapTypeDefinitionFragment, DomainDataFragment],\n);\nexport type CancelSwapTypedData = FragmentOf<\n typeof CancelSwapTypedDataFragment\n>;\n\nexport const PrepareSwapCancelResultFragment = graphql(\n `fragment PrepareSwapCancelResult on PrepareSwapCancelResult {\n __typename\n data {\n ...CancelSwapTypedData\n }\n }`,\n [CancelSwapTypedDataFragment],\n);\nexport type PrepareSwapCancelResult = FragmentOf<\n typeof PrepareSwapCancelResultFragment\n>;\n\nexport type CancelSwapExecutionPlan = TransactionRequest | SwapCancelled;\n\nexport const CancelSwapExecutionPlanFragment: FragmentDocumentFor<\n CancelSwapExecutionPlan,\n 'CancelSwapExecutionPlan'\n> = graphql(\n `fragment CancelSwapExecutionPlan on CancelSwapExecutionPlan {\n __typename\n ... on TransactionRequest {\n ...TransactionRequest\n }\n ... on SwapCancelled {\n ...SwapCancelled\n }\n }`,\n [TransactionRequestFragment, SwapCancelledFragment],\n);\n\nexport const PaginatedUserSwapsResultFragment = graphql(\n `fragment PaginatedUserSwapsResult on PaginatedUserSwapsResult {\n __typename\n items {\n ...SwapStatus\n }\n pageInfo {\n ...PaginatedResultInfo\n }\n }`,\n [SwapStatusFragment, PaginatedResultInfoFragment],\n);\nexport type PaginatedUserSwapsResult = FragmentOf<\n typeof PaginatedUserSwapsResultFragment\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport { graphql } from '../graphql';\nimport {\n DecimalNumberFragment,\n Erc20AmountFragment,\n Erc20TokenFragment,\n ExchangeAmountFragment,\n ExchangeAmountWithChangeFragment,\n HealthFactorWithChangeFragment,\n PercentNumberFragment,\n PercentNumberWithChangeFragment,\n TokenAmountFragment,\n TokenInfoFragment,\n} from './common';\nimport { ReserveFragment } from './reserve';\nimport { SpokeFragment } from './spoke';\n\nexport const UserSupplyItemFragment = graphql(\n `fragment UserSupplyItem on UserSupplyItem {\n __typename\n id\n reserve {\n ...Reserve\n }\n interest {\n ...Erc20Amount\n }\n principal {\n ...Erc20Amount\n }\n withdrawable {\n ...Erc20Amount\n }\n isCollateral\n createdAt\n }`,\n [Erc20AmountFragment, ReserveFragment],\n);\nexport type UserSupplyItem = FragmentOf<typeof UserSupplyItemFragment>;\n\nexport const UserBorrowItemFragment = graphql(\n `fragment UserBorrowItem on UserBorrowItem {\n __typename\n id\n principal {\n ...Erc20Amount\n }\n interest {\n ...Erc20Amount\n }\n debt {\n ...Erc20Amount\n }\n reserve {\n ...Reserve\n }\n createdAt\n }`,\n [Erc20AmountFragment, ReserveFragment],\n);\nexport type UserBorrowItem = FragmentOf<typeof UserBorrowItemFragment>;\n\nexport const UserSummaryFragment = graphql(\n `fragment UserSummary on UserSummary {\n __typename\n totalPositions\n netBalance(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n totalCollateral(currency: $currency) {\n ...ExchangeAmount\n }\n totalSupplied(currency: $currency) {\n ...ExchangeAmount\n }\n totalDebt(currency: $currency) {\n ...ExchangeAmount\n }\n netApy {\n ...PercentNumber\n }\n netFeeEarned {\n ...ExchangeAmount\n }\n lowestHealthFactor\n }`,\n [\n ExchangeAmountWithChangeFragment,\n ExchangeAmountFragment,\n PercentNumberFragment,\n ],\n);\nexport type UserSummary = FragmentOf<typeof UserSummaryFragment>;\n\nexport const UserRiskPremiumBreakdownItemFragment = graphql(\n `fragment UserRiskPremiumBreakdownItem on UserRiskPremiumBreakdownItem {\n __typename\n token {\n ...Erc20Token\n }\n riskPremiumWeight {\n ...PercentNumber\n }\n collateral {\n ...PercentNumber\n }\n }`,\n [Erc20TokenFragment, PercentNumberFragment],\n);\nexport type UserRiskPremiumBreakdownItem = FragmentOf<\n typeof UserRiskPremiumBreakdownItemFragment\n>;\n\nexport const UserPositionRiskPremiumFragment = graphql(\n `fragment UserPositionRiskPremium on UserPositionRiskPremium {\n __typename\n current {\n ...PercentNumber\n }\n better {\n ...PercentNumber\n }\n breakdown {\n ...UserRiskPremiumBreakdownItem\n }\n }`,\n [PercentNumberFragment, UserRiskPremiumBreakdownItemFragment],\n);\nexport type UserPositionRiskPremium = FragmentOf<\n typeof UserPositionRiskPremiumFragment\n>;\n\nexport const UserPositionFragment = graphql(\n `fragment UserPosition on UserPosition {\n __typename\n id\n spoke {\n ...Spoke\n }\n user\n createdAt\n netApy {\n ...PercentNumber\n }\n netCollateral(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n netBalance(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n totalCollateral(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n totalSupplied(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n totalDebt(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n netSupplyApy {\n ...PercentNumberWithChange\n }\n netBorrowApy {\n ...PercentNumberWithChange\n }\n healthFactor {\n ...HealthFactorWithChange\n }\n riskPremium {\n ...UserPositionRiskPremium\n }\n liquidationPrice(currency: $currency) {\n ...ExchangeAmount\n }\n borrowingPower(currency: $currency) {\n ...ExchangeAmount\n }\n isUsingLatestDynamicConfigKey\n netBalancePercentChange(window: $timeWindow) {\n ...PercentNumber\n }\n averageCollateralFactor {\n ...PercentNumber\n }\n }`,\n [\n SpokeFragment,\n PercentNumberFragment,\n ExchangeAmountWithChangeFragment,\n ExchangeAmountFragment,\n PercentNumberWithChangeFragment,\n HealthFactorWithChangeFragment,\n UserPositionRiskPremiumFragment,\n ],\n);\nexport type UserPosition = FragmentOf<typeof UserPositionFragment>;\n\nexport const UserBalanceFragment = graphql(\n `fragment UserBalance on UserBalance {\n __typename\n id\n info {\n ...TokenInfo\n }\n totalAmount {\n ...DecimalNumber\n }\n balances {\n ...TokenAmount\n }\n exchange(currency: $currency) {\n ...ExchangeAmount\n }\n highestSupplyApy: supplyApy(metric: HIGHEST) {\n ...PercentNumber\n }\n highestBorrowApy: borrowApy(metric: HIGHEST) {\n ...PercentNumber\n }\n lowestSupplyApy: supplyApy(metric: LOWEST) {\n ...PercentNumber\n }\n lowestBorrowApy: borrowApy(metric: LOWEST) {\n ...PercentNumber\n }\n highestCollateralFactor: collateralFactor(metric: HIGHEST) {\n ...PercentNumber\n }\n lowestCollateralFactor: collateralFactor(metric: LOWEST) {\n ...PercentNumber\n }\n }`,\n [\n TokenInfoFragment,\n DecimalNumberFragment,\n TokenAmountFragment,\n ExchangeAmountFragment,\n PercentNumberFragment,\n ],\n);\nexport type UserBalance = FragmentOf<typeof UserBalanceFragment>;\n\nexport const UserSummaryHistoryItemFragment = graphql(\n `fragment UserSummaryHistoryItem on UserSummaryHistoryItem {\n __typename\n netBalance(currency: $currency) {\n ...ExchangeAmount\n }\n borrows(currency: $currency) {\n ...ExchangeAmount\n }\n supplies(currency: $currency) {\n ...ExchangeAmount\n }\n healthFactor\n date\n }`,\n [ExchangeAmountFragment],\n);\nexport type UserSummaryHistoryItem = FragmentOf<\n typeof UserSummaryHistoryItemFragment\n>;\n\nexport const APYSampleFragment = graphql(\n `fragment APYSample on APYSample {\n __typename\n date\n avgRate {\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type APYSample = FragmentOf<typeof APYSampleFragment>;\n","import { HubAssetFragment } from './fragments';\nimport { HubFragment } from './fragments/hubs';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const HubQuery = graphql(\n `query Hub($request: HubRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: hub(request: $request) {\n ...Hub\n }\n }`,\n [HubFragment],\n);\nexport type HubRequest = RequestOf<typeof HubQuery>;\n\nexport type HubRequestQuery = ReturnType<\n typeof graphql.scalar<'HubRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const HubsQuery = graphql(\n `query Hubs($request: HubsRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: hubs(request: $request) {\n ...Hub\n }\n }`,\n [HubFragment],\n);\nexport type HubsRequest = RequestOf<typeof HubsQuery>;\n\n/**\n * @internal\n */\nexport const HubAssetsQuery = graphql(\n `query HubAssets($request: HubAssetsRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: hubAssets(request: $request) {\n ...HubAsset\n }\n }`,\n [HubAssetFragment],\n);\nexport type HubAssetsRequest = RequestOf<typeof HubAssetsQuery>;\n\nexport type HubAssetsRequestQuery = ReturnType<\n typeof graphql.scalar<'HubAssetsRequestQuery'>\n>;\n\nexport type HubsRequestQuery = ReturnType<\n typeof graphql.scalar<'HubsRequestQuery'>\n>;\n","import {\n type ChainId,\n chainId,\n type EvmAddress,\n evmAddress,\n invariant,\n isValidHexString,\n} from '@aave/types';\nimport type { Tagged } from 'type-fest';\n\n/**\n * An identifier.\n */\nexport type ID = Tagged<string, 'ID'>;\n\n/**\n * A base64 encoded composite identifier.\n *\n * @internal\n */\nexport type Base64EncodedCompositeId = Tagged<\n string,\n 'Base64EncodedCompositeId'\n>;\n\nfunction decodeBase64(value: Base64EncodedCompositeId): string {\n return new TextDecoder().decode(\n Uint8Array.from(atob(value), (c) => c.charCodeAt(0)),\n );\n}\n\nfunction encodeBase64(value: string): Base64EncodedCompositeId {\n return btoa(\n String.fromCharCode(...new TextEncoder().encode(value)),\n ) as Base64EncodedCompositeId;\n}\n\nconst COMPOSITE_ID_SEPARATOR = '::';\n\n/**\n * An asset identifier.\n */\nexport type AssetId = Tagged<Base64EncodedCompositeId, 'AssetId'>;\n\n/**\n * Creates an asset identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `Asset.id` retrieved from another API call.\n */\nexport function assetId(value: string): AssetId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid AssetId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `AssetId must be valid base64: ${value}`,\n );\n return value as AssetId;\n}\n\n/**\n * A hub identifier.\n */\nexport type HubId = Tagged<Base64EncodedCompositeId, 'HubId'>;\n\n/**\n * Creates a hub identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `Hub.id` retrieved from another API call.\n */\nexport function hubId(value: string): HubId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid HubId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `HubId must be valid base64: ${value}`,\n );\n return value as HubId;\n}\n\n/**\n * @internal\n */\nexport type HubIdParts = {\n address: EvmAddress;\n chainId: ChainId;\n};\n\n/**\n * @internal\n */\nexport function encodeHubId(hub: HubIdParts): HubId {\n return hubId(\n encodeBase64(`${hub.chainId}${COMPOSITE_ID_SEPARATOR}${hub.address}`),\n );\n}\n\n/**\n * @internal\n */\nexport function decodeHubId(value: HubId): HubIdParts {\n const decoded = decodeBase64(value);\n const [a, b] = decoded.split(COMPOSITE_ID_SEPARATOR) as [string, string];\n return {\n chainId: chainId(Number.parseInt(a, 10)),\n address: evmAddress(b),\n };\n}\n\n/**\n * A hub asset identifier.\n */\nexport type HubAssetId = Tagged<Base64EncodedCompositeId, 'HubAssetId'>;\n\n/**\n * Creates a hub asset identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `HubAsset.id` retrieved from another API call.\n */\nexport function hubAssetId(value: string): HubAssetId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid HubAssetId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `HubAssetId must be valid base64: ${value}`,\n );\n return value as HubAssetId;\n}\n\n/**\n * The on-chain ID of a HubAsset. This is scoped to the specific Hub.\n */\nexport type OnChainHubAssetId = Tagged<number, 'OnChainHubAssetId'>;\n\n/**\n * The on-chain ID of a Reserve. This is scoped to the specific Spoke.\n */\nexport type OnChainReserveId = Tagged<string, 'OnChainReserveId'>;\n\n/**\n * A reserve identifier.\n */\nexport type ReserveId = Tagged<Base64EncodedCompositeId, 'ReserveId'>;\n\n/**\n * Creates a reserve identifier from a given value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal ciscumstances\n * use the `Reserve.id` from data retrieved from the API.\n */\nexport function reserveId(value: string): ReserveId {\n return value as ReserveId;\n}\n\n/**\n * @internal\n */\nexport type ReserveIdParts = {\n chainId: ChainId;\n spoke: EvmAddress;\n onChainId: OnChainReserveId;\n};\n\n/**\n * @internal\n */\nexport function decodeReserveId(value: ReserveId): ReserveIdParts {\n const decoded = decodeBase64(value);\n const [a, b, c] = decoded.split(COMPOSITE_ID_SEPARATOR) as [\n string,\n string,\n string,\n ];\n return {\n chainId: chainId(Number.parseInt(a, 10)),\n spoke: evmAddress(b),\n onChainId: c as OnChainReserveId,\n };\n}\n\n/**\n * @internal\n */\nexport function encodeReserveId(reserve: ReserveIdParts): ReserveId {\n return reserveId(\n encodeBase64(\n `${reserve.chainId}${COMPOSITE_ID_SEPARATOR}${reserve.spoke}${COMPOSITE_ID_SEPARATOR}${reserve.onChainId}`,\n ),\n );\n}\n\n/**\n * A user position identifier.\n */\nexport type UserPositionId = Tagged<string, 'UserPositionId'>;\n\n/**\n * Creates a user position identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal ciscumstances\n * use the `UserPosition.id` retrieved from another API call.\n */\nexport function userPositionId(value: string): UserPositionId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid UserPositionId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `UserPositionId must be valid base64: ${value}`,\n );\n return value as UserPositionId;\n}\n\n/**\n * A swap identifier.\n */\nexport type SwapId = Tagged<string, 'SwapId'>;\n\n/**\n * Creates a type-safe swap Id.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal ciscumstances\n * use the `Swap.id` retrieved from another API call.\n */\nexport function swapId(value: string): SwapId {\n invariant(isValidHexString(value), `Invalid SwapId: ${value}`);\n return value as SwapId;\n}\n\n/**\n * A swap quote identifier.\n */\nexport type SwapQuoteId = Tagged<string, 'SwapQuoteId'>;\n\n/**\n * Creates a type-safe Swap Quote ID.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `SwapQuote.id` retrieved from another API call.\n */\nexport function swapQuoteId(value: string): SwapQuoteId {\n invariant(isValidHexString(value), `Invalid SwapQuoteId: ${value}`);\n return value as SwapQuoteId;\n}\n\n/**\n * A spoke identifier.\n */\nexport type SpokeId = Tagged<Base64EncodedCompositeId, 'SpokeId'>;\n\n/**\n * @internal\n */\nexport type SpokeIdParts = {\n address: EvmAddress;\n chainId: ChainId;\n};\n\n/**\n * @internal\n */\nexport function encodeSpokeId(spoke: SpokeIdParts): SpokeId {\n return spokeId(\n encodeBase64(`${spoke.chainId}${COMPOSITE_ID_SEPARATOR}${spoke.address}`),\n );\n}\n\n/**\n * Creates a spoke identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `Spoke.id` retrieved from another API call.\n */\nexport function spokeId(value: string): SpokeId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid SpokeId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `SpokeId must be valid base64: ${value}`,\n );\n return value as SpokeId;\n}\n\n/**\n * A user balance identifier.\n */\nexport type UserBalanceId = Tagged<string, 'UserBalanceId'>;\n\n/**\n * Creates a user balance identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `UserBalance.id` retrieved from another API call.\n */\nexport function userBalanceId(value: string): UserBalanceId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid UserBalanceId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `UserBalanceId must be valid base64: ${value}`,\n );\n return value as UserBalanceId;\n}\n\n/**\n * A user borrow item identifier.\n */\nexport type UserBorrowItemId = Tagged<string, 'UserBorrowItemId'>;\n\n/**\n * Creates a user borrow item identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `UserBorrowItem.id` retrieved from another API call.\n */\nexport function userBorrowItemId(value: string): UserBorrowItemId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid UserBorrowItemId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `UserBorrowItemId must be valid base64: ${value}`,\n );\n return value as UserBorrowItemId;\n}\n\n/**\n * A user supply item identifier.\n */\nexport type UserSupplyItemId = Tagged<string, 'UserSupplyItemId'>;\n\n/**\n * Creates a user supply item identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `UserSupplyItem.id` retrieved from another API call.\n */\nexport function userSupplyItemId(value: string): UserSupplyItemId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid UserSupplyItemId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `UserSupplyItemId must be valid base64: ${value}`,\n );\n return value as UserSupplyItemId;\n}\n\n/**\n * A token info identifier.\n */\nexport type TokenInfoId = Tagged<string, 'TokenInfoId'>;\n\n/**\n * @internal\n */\nexport function tokenInfoId(value: string): TokenInfoId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid TokenInfoId: ${value}`,\n );\n return value as TokenInfoId;\n}\n","import { type ChainId, isObject } from '@aave/types';\nimport type { graphql } from './graphql';\n\nexport type HubInput = ReturnType<typeof graphql.scalar<'HubInput'>>;\n\n/**\n * @internal\n */\nexport function isHubInputVariant<T>(\n input: T,\n): input is T & { hubInput: HubInput } {\n return isObject(input) && 'hubInput' in input && input.hubInput != null;\n}\n\n/**\n * @internal\n */\nexport function isChainIdsVariant<T>(\n input: T,\n): input is T & { chainIds: ChainId[] } {\n return isObject(input) && 'chainIds' in input && input.chainIds != null;\n}\n\nexport type SpokeInput = ReturnType<typeof graphql.scalar<'SpokeInput'>>;\n\n/**\n * @internal\n */\nexport function isSpokeInputVariant<T>(\n input: T,\n): input is T & { spoke: SpokeInput } {\n return isObject(input) && 'spoke' in input && input.spoke != null;\n}\n\n// Common input types used across multiple queries\nexport type AmountInput = ReturnType<typeof graphql.scalar<'AmountInput'>>;\nexport type Erc20Input = ReturnType<typeof graphql.scalar<'Erc20Input'>>;\nexport type TokenInput = ReturnType<typeof graphql.scalar<'TokenInput'>>;\nexport type ReserveInput = ReturnType<typeof graphql.scalar<'ReserveInput'>>;\nexport type ReserveAmountInput = ReturnType<\n typeof graphql.scalar<'ReserveAmountInput'>\n>;\nexport type ReserveErc20AmountInput = ReturnType<\n typeof graphql.scalar<'ReserveErc20AmountInput'>\n>;\nexport type ReserveAmountInputWithPermit = ReturnType<\n typeof graphql.scalar<'ReserveAmountInputWithPermit'>\n>;\nexport type ReserveErc20AmountInputWithPermit = ReturnType<\n typeof graphql.scalar<'ReserveErc20AmountInputWithPermit'>\n>;\nexport type TxHashInput = ReturnType<typeof graphql.scalar<'TxHashInput'>>;\n\n/**\n * @internal\n */\nexport function isTxHashInputVariant<T>(\n input: T,\n): input is T & { txHash: TxHashInput } {\n return isObject(input) && 'txHash' in input && input.txHash != null;\n}\n\nexport type HubTokenInput = ReturnType<typeof graphql.scalar<'HubTokenInput'>>;\nexport type HubIdTokenInput = ReturnType<\n typeof graphql.scalar<'HubIdTokenInput'>\n>;\nexport type SpokeTokenInput = ReturnType<\n typeof graphql.scalar<'SpokeTokenInput'>\n>;\n","import { ChainFragment, ExchangeAmountFragment } from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const ChainQuery = graphql(\n `query Chain($request: ChainRequest!) {\n value: chain(request: $request) {\n ...Chain\n }\n }`,\n [ChainFragment],\n);\nexport type ChainRequest = RequestOf<typeof ChainQuery>;\n\n/**\n * @internal\n */\nexport const ChainsQuery = graphql(\n `query Chains($request: ChainsRequest!) {\n value: chains(request: $request) {\n ...Chain\n }\n }`,\n [ChainFragment],\n);\nexport type ChainsRequest = RequestOf<typeof ChainsQuery>;\n\nexport type ChainsRequestQuery = ReturnType<\n typeof graphql.scalar<'ChainsRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const HasProcessedKnownTransactionQuery = graphql(\n `query HasProcessedKnownTransaction($request: HasProcessedKnownTransactionRequest!) {\n value: hasProcessedKnownTransaction(request: $request)\n }`,\n);\nexport type HasProcessedKnownTransactionRequest = RequestOf<\n typeof HasProcessedKnownTransactionQuery\n>;\n\n/**\n * @internal\n */\nexport const HealthQuery = graphql(\n `query Health {\n value: health\n }`,\n);\n\n/**\n * @internal\n */\nexport const ExchangeRateQuery = graphql(\n `query ExchangeRate($request: ExchangeRateRequest!) {\n value: exchangeRate(request: $request) {\n ...ExchangeAmount\n }\n }`,\n [ExchangeAmountFragment],\n);\nexport type ExchangeRateRequest = RequestOf<typeof ExchangeRateQuery>;\n\nexport type ExchangeRateRequestFrom = ReturnType<\n typeof graphql.scalar<'ExchangeRateRequestFrom'>\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport {\n DecimalNumberFragment,\n DecimalNumberWithChangeFragment,\n Erc20TokenFragment,\n ExchangeAmountWithChangeFragment,\n PercentNumberFragment,\n} from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\nexport const AssetPriceSampleFragment = graphql(\n `fragment AssetPriceSample on AssetPriceSample {\n __typename\n date\n price\n }`,\n);\nexport type AssetPriceSample = FragmentOf<typeof AssetPriceSampleFragment>;\n\nexport const AssetSupplySampleFragment = graphql(\n `fragment AssetSupplySample on AssetSupplySample {\n __typename\n date\n amount {\n ...DecimalNumber\n }\n highestAPY {\n ...PercentNumber\n }\n lowestAPY {\n ...PercentNumber\n }\n }`,\n [DecimalNumberFragment, PercentNumberFragment],\n);\nexport type AssetSupplySample = FragmentOf<typeof AssetSupplySampleFragment>;\n\nexport const AssetBorrowSampleFragment = graphql(\n `fragment AssetBorrowSample on AssetBorrowSample {\n __typename\n date\n amount {\n ...DecimalNumber\n }\n highestAPY {\n ...PercentNumber\n }\n lowestAPY {\n ...PercentNumber\n }\n }`,\n [DecimalNumberFragment, PercentNumberFragment],\n);\nexport type AssetBorrowSample = FragmentOf<typeof AssetBorrowSampleFragment>;\n\nexport const AssetAmountWithChangeFragment = graphql(\n `fragment AssetAmountWithChange on AssetAmountWithChange {\n __typename\n amount {\n ...DecimalNumberWithChange\n }\n exchange(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n }`,\n [DecimalNumberWithChangeFragment, ExchangeAmountWithChangeFragment],\n);\nexport type AssetAmountWithChange = FragmentOf<\n typeof AssetAmountWithChangeFragment\n>;\n\nexport const AssetSummaryFragment = graphql(\n `fragment AssetSummary on AssetSummary {\n __typename\n totalSupplyCap {\n ...DecimalNumberWithChange\n }\n totalSupplied {\n ...AssetAmountWithChange\n }\n totalSuppliable {\n ...AssetAmountWithChange\n }\n totalBorrowCap {\n ...DecimalNumberWithChange\n }\n totalBorrowed {\n ...AssetAmountWithChange\n }\n totalBorrowable {\n ...AssetAmountWithChange\n }\n averageBorrowApy: borrowApy(metric: AVERAGE) {\n ...PercentNumber\n }\n averageSupplyApy: supplyApy(metric: AVERAGE) {\n ...PercentNumber\n }\n }`,\n [\n AssetAmountWithChangeFragment,\n DecimalNumberWithChangeFragment,\n PercentNumberFragment,\n ],\n);\nexport type AssetSummary = FragmentOf<typeof AssetSummaryFragment>;\n\nexport const AssetFragment = graphql(\n `fragment Asset on Asset {\n __typename\n id\n token {\n ...Erc20Token\n }\n summary {\n ...AssetSummary\n }\n price(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n }`,\n [Erc20TokenFragment, AssetSummaryFragment, ExchangeAmountWithChangeFragment],\n);\nexport type Asset = FragmentOf<typeof AssetFragment>;\n\n/**\n * @internal\n */\nexport const AssetQuery = graphql(\n `query Asset($request: AssetRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: asset(request: $request) {\n ...Asset\n }\n }`,\n [AssetFragment],\n);\nexport type AssetRequest = RequestOf<typeof AssetQuery>;\n\nexport type AssetRequestQuery = ReturnType<\n typeof graphql.scalar<'AssetRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const AssetPriceHistoryQuery = graphql(\n `query AssetPriceHistory($request: AssetPriceHistoryRequest!) {\n value: assetPriceHistory(request: $request) {\n ...AssetPriceSample\n }\n }`,\n [AssetPriceSampleFragment],\n);\nexport type AssetPriceHistoryRequest = RequestOf<typeof AssetPriceHistoryQuery>;\nexport type AssetPriceHistoryRequestQuery = ReturnType<\n typeof graphql.scalar<'AssetPriceHistoryRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const AssetSupplyHistoryQuery = graphql(\n `query AssetSupplyHistory($request: AssetSupplyHistoryRequest!) {\n value: assetSupplyHistory(request: $request) {\n ...AssetSupplySample\n }\n }`,\n [AssetSupplySampleFragment],\n);\nexport type AssetSupplyHistoryRequest = RequestOf<\n typeof AssetSupplyHistoryQuery\n>;\nexport type AssetSupplyHistoryRequestQuery = ReturnType<\n typeof graphql.scalar<'AssetSupplyHistoryRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const AssetBorrowHistoryQuery = graphql(\n `query AssetBorrowHistory($request: AssetBorrowHistoryRequest!) {\n value: assetBorrowHistory(request: $request) {\n ...AssetBorrowSample\n }\n }`,\n [AssetBorrowSampleFragment],\n);\nexport type AssetBorrowHistoryRequest = RequestOf<\n typeof AssetBorrowHistoryQuery\n>;\nexport type AssetBorrowHistoryRequestQuery = ReturnType<\n typeof graphql.scalar<'AssetBorrowHistoryRequestQuery'>\n>;\n","import { APYSampleFragment, ReserveFragment } from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const BorrowApyHistoryQuery = graphql(\n `query BorrowApyHistory($request: BorrowAPYHistoryRequest!) {\n value: borrowApyHistory(request: $request) {\n ...APYSample\n }\n }`,\n [APYSampleFragment],\n);\nexport type BorrowAPYHistoryRequest = RequestOf<typeof BorrowApyHistoryQuery>;\n\n/**\n * @internal\n */\nexport const SupplyApyHistoryQuery = graphql(\n `query SupplyApyHistory($request: SupplyAPYHistoryRequest!) {\n value: supplyApyHistory(request: $request) {\n ...APYSample\n }\n }`,\n [APYSampleFragment],\n);\nexport type SupplyAPYHistoryRequest = RequestOf<typeof SupplyApyHistoryQuery>;\n\nexport const ReserveQuery = graphql(\n `query Reserve($request: ReserveRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: reserve(request: $request) {\n ...Reserve\n }\n }`,\n [ReserveFragment],\n);\nexport type ReserveRequest = RequestOf<typeof ReserveQuery>;\n\nexport type ReserveRequestQuery = ReturnType<\n typeof graphql.scalar<'ReserveRequestQuery'>\n>;\n\nexport const ReservesQuery = graphql(\n `query Reserves($request: ReservesRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: reserves(request: $request) {\n ...Reserve\n }\n }`,\n [ReserveFragment],\n);\nexport type ReservesRequest = RequestOf<typeof ReservesQuery>;\n\nexport type ReservesRequestOrderBy = ReturnType<\n typeof graphql.scalar<'ReservesRequestOrderBy'>\n>;\nexport type ReservesRequestQuery = ReturnType<\n typeof graphql.scalar<'ReservesRequestQuery'>\n>;\n","import {\n PaginatedSpokePositionManagerResultFragment,\n PaginatedSpokeUserPositionManagerResultFragment,\n SpokeFragment,\n} from './fragments/spoke';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const SpokeQuery = graphql(\n `query Spoke($request: SpokeRequest!) {\n value: spoke(request: $request) {\n ...Spoke\n }\n }`,\n [SpokeFragment],\n);\nexport type SpokeRequest = RequestOf<typeof SpokeQuery>;\n\nexport type SpokeRequestQuery = ReturnType<\n typeof graphql.scalar<'SpokeRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const SpokesQuery = graphql(\n `query Spokes($request: SpokesRequest!) {\n value: spokes(request: $request) {\n ...Spoke\n }\n }`,\n [SpokeFragment],\n);\nexport type SpokesRequest = RequestOf<typeof SpokesQuery>;\n\nexport type SpokesRequestQuery = ReturnType<\n typeof graphql.scalar<'SpokesRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const SpokePositionManagersQuery = graphql(\n `query SpokePositionManagers($request: SpokePositionManagersRequest!) {\n value: spokePositionManagers(request: $request) {\n ...PaginatedSpokePositionManagerResult\n }\n }`,\n [PaginatedSpokePositionManagerResultFragment],\n);\nexport type SpokePositionManagersRequest = RequestOf<\n typeof SpokePositionManagersQuery\n>;\n\n/**\n * @internal\n */\nexport const SpokeUserPositionManagersQuery = graphql(\n `query SpokeUserPositionManagers($request: SpokeUserPositionManagersRequest!) {\n value: spokeUserPositionManagers(request: $request) {\n ...PaginatedSpokeUserPositionManagerResult\n }\n }`,\n [PaginatedSpokeUserPositionManagerResultFragment],\n);\nexport type SpokeUserPositionManagersRequest = RequestOf<\n typeof SpokeUserPositionManagersQuery\n>;\n","import {\n CancelSwapExecutionPlanFragment,\n PaginatedUserSwapsResultFragment,\n PrepareSwapCancelResultFragment,\n PrepareSwapResultFragment,\n SwapExecutionPlanFragment,\n SwapQuoteFragment,\n SwapStatusFragment,\n TokenFragment,\n} from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const SwapQuoteQuery = graphql(\n `query SwapQuote($request: SwapQuoteRequest!, $currency: Currency!) {\n value: swapQuote(request: $request) {\n ...SwapQuote\n }\n }`,\n [SwapQuoteFragment],\n);\nexport type SwapQuoteRequest = RequestOf<typeof SwapQuoteQuery>;\n\n/**\n * @internal\n */\nexport const SwappableTokensQuery = graphql(\n `query SwappableTokens($request: SwappableTokensRequest!) {\n value: swappableTokens(request: $request) {\n ...Token\n }\n }`,\n [TokenFragment],\n);\nexport type SwappableTokensRequest = RequestOf<typeof SwappableTokensQuery>;\n\n/**\n * @internal\n */\nexport const PrepareSwapQuery = graphql(\n `query PrepareSwap($request: PrepareSwapRequest!, $currency: Currency!) {\n value: prepareSwap(request: $request) {\n ...PrepareSwapResult\n }\n }`,\n [PrepareSwapResultFragment],\n);\nexport type PrepareSwapRequest = RequestOf<typeof PrepareSwapQuery>;\n\n/**\n * @internal\n */\nexport const SwapStatusQuery = graphql(\n `query SwapStatus($request: SwapStatusRequest!, $currency: Currency!) {\n value: swapStatus(request: $request) {\n ...SwapStatus\n }\n }`,\n [SwapStatusFragment],\n);\nexport type SwapStatusRequest = RequestOf<typeof SwapStatusQuery>;\n\n/**\n * @internal\n */\nexport const SwapQuery = graphql(\n `query Swap($request: SwapRequest!) {\n value: swap(request: $request) {\n ...SwapExecutionPlan\n }\n }`,\n [SwapExecutionPlanFragment],\n);\nexport type SwapRequest = RequestOf<typeof SwapQuery>;\n\n/**\n * @internal\n */\nexport const PrepareSwapCancelQuery = graphql(\n `query PrepareSwapCancel($request: PrepareSwapCancelRequest!) {\n value: prepareSwapCancel(request: $request) {\n ...PrepareSwapCancelResult\n }\n }`,\n [PrepareSwapCancelResultFragment],\n);\nexport type PrepareSwapCancelRequest = RequestOf<typeof PrepareSwapCancelQuery>;\n\n/**\n * @internal\n */\nexport const CancelSwapQuery = graphql(\n `query CancelSwap($request: CancelSwapRequest!) {\n value: cancelSwap(request: $request) {\n ...CancelSwapExecutionPlan\n }\n }`,\n [CancelSwapExecutionPlanFragment],\n);\nexport type CancelSwapRequest = RequestOf<typeof CancelSwapQuery>;\n\n/**\n * @internal\n */\nexport const UserSwapsQuery = graphql(\n `query UserSwaps($request: UserSwapsRequest!, $currency: Currency!) {\n value: userSwaps(request: $request) {\n ...PaginatedUserSwapsResult\n }\n }`,\n [PaginatedUserSwapsResultFragment],\n);\nexport type UserSwapsRequest = RequestOf<typeof UserSwapsQuery>;\n\nexport type CancelIntentSwapInput = ReturnType<\n typeof graphql.scalar<'CancelIntentSwapInput'>\n>;\nexport type PrepareLimitOrderSwapInput = ReturnType<\n typeof graphql.scalar<'PrepareLimitOrderSwapInput'>\n>;\nexport type PrepareMarketOrderSwapInput = ReturnType<\n typeof graphql.scalar<'PrepareMarketOrderSwapInput'>\n>;\nexport type SwapByIntentInput = ReturnType<\n typeof graphql.scalar<'SwapByIntentInput'>\n>;\nexport type SwapWithTransactionInput = ReturnType<\n typeof graphql.scalar<'SwapWithTransactionInput'>\n>;\nexport type SwappableTokensRequestQuery = ReturnType<\n typeof graphql.scalar<'SwappableTokensRequestQuery'>\n>;\n","import type { ExtendWithOpaqueType, TxHash } from '@aave/types';\nimport type { FragmentOf } from 'gql.tada';\nimport {\n type Chain,\n ChainFragment,\n Erc20AmountFragment,\n type Erc20ApprovalRequired,\n Erc20ApprovalRequiredFragment,\n ExchangeAmountValueVariationFragment,\n ExecutionPlanFragment,\n HealthFactorResultFragment,\n type InsufficientBalanceError,\n InsufficientBalanceErrorFragment,\n PaginatedResultInfoFragment,\n PercentNumberFragment,\n PercentNumberVariationFragment,\n ReserveInfoFragment,\n SpokeFragment,\n type TransactionRequest,\n TransactionRequestFragment,\n} from './fragments';\nimport { type FragmentDocumentFor, graphql, type RequestOf } from './graphql';\nimport type { ID } from './id';\n\n/**\n * @internal\n */\nexport const BorrowQuery = graphql(\n `query Borrow($request: BorrowRequest!) {\n value: borrow(request: $request) {\n ...ExecutionPlan\n }\n }`,\n [ExecutionPlanFragment],\n);\nexport type BorrowRequest = RequestOf<typeof BorrowQuery>;\n\n/**\n * @internal\n */\nexport const SupplyQuery = graphql(\n `query Supply($request: SupplyRequest!) {\n value: supply(request: $request) {\n ...ExecutionPlan\n }\n }`,\n [ExecutionPlanFragment],\n);\nexport type SupplyRequest = RequestOf<typeof SupplyQuery>;\n\n/**\n * @internal\n */\nexport const RepayQuery = graphql(\n `query Repay($request: RepayRequest!) {\n value: repay(request: $request) {\n ...ExecutionPlan\n }\n }`,\n [ExecutionPlanFragment],\n);\nexport type RepayRequest = RequestOf<typeof RepayQuery>;\n\n/**\n * @internal\n */\nexport const WithdrawQuery = graphql(\n `query Withdraw($request: WithdrawRequest!) {\n value: withdraw(request: $request) {\n ...ExecutionPlan\n }\n }`,\n [ExecutionPlanFragment],\n);\nexport type WithdrawRequest = RequestOf<typeof WithdrawQuery>;\n\nexport type LiquidatePositionExecutionPlan =\n | TransactionRequest\n | Erc20ApprovalRequired\n | InsufficientBalanceError;\n\nexport const LiquidatePositionExecutionPlanFragment: FragmentDocumentFor<\n LiquidatePositionExecutionPlan,\n 'LiquidatePositionExecutionPlan'\n> = graphql(\n `fragment LiquidatePositionExecutionPlan on LiquidatePositionExecutionPlan {\n __typename\n ... on TransactionRequest {\n ...TransactionRequest\n }\n ... on Erc20ApprovalRequired {\n ...Erc20ApprovalRequired\n }\n ... on InsufficientBalanceError {\n ...InsufficientBalanceError\n }\n }`,\n [\n TransactionRequestFragment,\n Erc20ApprovalRequiredFragment,\n InsufficientBalanceErrorFragment,\n ],\n);\n\n/**\n * @internal\n */\nexport const LiquidatePositionQuery = graphql(\n `query LiquidatePosition($request: LiquidatePositionRequest!) {\n value: liquidatePosition(request: $request) {\n ...LiquidatePositionExecutionPlan\n }\n }`,\n [LiquidatePositionExecutionPlanFragment],\n);\nexport type LiquidatePositionRequest = RequestOf<typeof LiquidatePositionQuery>;\n\n/**\n * @internal\n */\nexport const SetSpokeUserPositionManagerQuery = graphql(\n `query SetSpokeUserPositionManager($request: SetSpokeUserPositionManagerRequest!) {\n value: setSpokeUserPositionManager(request: $request) {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type SetSpokeUserPositionManagerRequest = RequestOf<\n typeof SetSpokeUserPositionManagerQuery\n>;\n\n/**\n * @internal\n */\nexport const SetUserSuppliesAsCollateralQuery = graphql(\n `query SetUserSuppliesAsCollateral($request: SetUserSuppliesAsCollateralRequest!) {\n value: setUserSuppliesAsCollateral(request: $request) {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type SetUserSuppliesAsCollateralRequest = RequestOf<\n typeof SetUserSuppliesAsCollateralQuery\n>;\n\nexport type UserSupplyAsCollateral = ReturnType<\n typeof graphql.scalar<'UserSupplyAsCollateral'>\n>;\n\n/**\n * @internal\n */\nexport const RenounceSpokeUserPositionManagerQuery = graphql(\n `query RenounceSpokeUserPositionManager($request: RenounceSpokeUserPositionManagerRequest!) {\n value: renounceSpokeUserPositionManager(request: $request) {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type RenounceSpokeUserPositionManagerRequest = RequestOf<\n typeof RenounceSpokeUserPositionManagerQuery\n>;\n\n/**\n * @internal\n */\nexport const UpdateUserPositionConditionsQuery = graphql(\n `query UpdateUserPositionConditions($request: UpdateUserPositionConditionsRequest!) {\n value: updateUserPositionConditions(request: $request) {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type UpdateUserPositionConditionsRequest = RequestOf<\n typeof UpdateUserPositionConditionsQuery\n>;\n\nexport const PreviewUserPositionFragment = graphql(\n `fragment PreviewUserPosition on PreviewUserPosition {\n __typename\n id\n healthFactor {\n ...HealthFactorResult\n }\n netApy {\n ...PercentNumberVariation\n }\n riskPremium {\n ...PercentNumberVariation\n }\n netCollateral(currency: $currency) {\n ...ExchangeAmountValueVariation\n }\n netBalance(currency: $currency) {\n ...ExchangeAmountValueVariation\n }\n }`,\n [\n HealthFactorResultFragment,\n PercentNumberVariationFragment,\n ExchangeAmountValueVariationFragment,\n ],\n);\nexport type PreviewUserPosition = FragmentOf<\n typeof PreviewUserPositionFragment\n>;\n\n/**\n * @internal\n */\nexport const PreviewQuery = graphql(\n `query Preview($request: PreviewRequest!, $currency: Currency! = USD) {\n value: preview(request: $request) {\n ...PreviewUserPosition\n }\n }`,\n [PreviewUserPositionFragment],\n);\nexport type PreviewAction = ReturnType<typeof graphql.scalar<'PreviewAction'>>;\nexport type PreviewRequest = RequestOf<typeof PreviewQuery>;\n\nexport type LiquidatePositionDebtAmount = ReturnType<\n typeof graphql.scalar<'LiquidatePositionDebtAmount'>\n>;\nexport type RepayAmountInputWithPermit = ReturnType<\n typeof graphql.scalar<'RepayAmountInputWithPermit'>\n>;\nexport type RepayErc20AmountInputWithPermit = ReturnType<\n typeof graphql.scalar<'RepayErc20AmountInputWithPermit'>\n>;\nexport type WithdrawReserveAmountInput = ReturnType<\n typeof graphql.scalar<'WithdrawReserveAmountInput'>\n>;\n\n// Activity Fragments\nexport const PercentNumberChangeSnapshotFragment = graphql(\n `fragment PercentNumberChangeSnapshot on PercentNumberChangeSnapshot {\n __typename\n before {\n ...PercentNumber\n }\n after {\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type PercentNumberChangeSnapshot = FragmentOf<\n typeof PercentNumberChangeSnapshotFragment\n>;\n\nexport const BorrowActivityFragment = graphql(\n `fragment BorrowActivity on BorrowActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n borrowed {\n ...Erc20Amount\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type BorrowActivity = FragmentOf<typeof BorrowActivityFragment>;\n\nexport const SupplyActivityFragment = graphql(\n `fragment SupplyActivity on SupplyActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n supplied {\n ...Erc20Amount\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type SupplyActivity = FragmentOf<typeof SupplyActivityFragment>;\n\nexport const WithdrawActivityFragment = graphql(\n `fragment WithdrawActivity on WithdrawActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n withdrawn {\n ...Erc20Amount\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type WithdrawActivity = FragmentOf<typeof WithdrawActivityFragment>;\n\nexport const RepayActivityFragment = graphql(\n `fragment RepayActivity on RepayActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n repaid {\n ...Erc20Amount\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type RepayActivity = FragmentOf<typeof RepayActivityFragment>;\n\nexport const LiquidatedActivityFragment = graphql(\n `fragment LiquidatedActivity on LiquidatedActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n collateralReserve {\n ...ReserveInfo\n }\n debtReserve {\n ...ReserveInfo\n }\n collateral {\n ...Erc20Amount\n }\n debt {\n ...Erc20Amount\n }\n liquidator\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type LiquidatedActivity = FragmentOf<typeof LiquidatedActivityFragment>;\n\nexport const UsingAsCollateralActivityFragment = graphql(\n `fragment UsingAsCollateralActivity on UsingAsCollateralActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n enabledAsCollateral\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type UsingAsCollateralActivity = FragmentOf<\n typeof UsingAsCollateralActivityFragment\n>;\n\nexport const UpdatedDynamicConfigActivityFragment = graphql(\n `fragment UpdatedDynamicConfigActivity on UpdatedDynamicConfigActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n collateralFactor {\n ...PercentNumberChangeSnapshot\n }\n maxLiquidationBonus {\n ...PercentNumberChangeSnapshot\n }\n liquidationFee {\n ...PercentNumberChangeSnapshot\n }\n chain {\n ...Chain\n }\n }`,\n [\n SpokeFragment,\n ReserveInfoFragment,\n PercentNumberChangeSnapshotFragment,\n ChainFragment,\n ],\n);\nexport type UpdatedDynamicConfigActivity = FragmentOf<\n typeof UpdatedDynamicConfigActivityFragment\n>;\n\nexport const UpdatedRiskPremiumActivityFragment = graphql(\n `fragment UpdatedRiskPremiumActivity on UpdatedRiskPremiumActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n premium {\n ...PercentNumberChangeSnapshot\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, PercentNumberChangeSnapshotFragment, ChainFragment],\n);\nexport type UpdatedRiskPremiumActivity = FragmentOf<\n typeof UpdatedRiskPremiumActivityFragment\n>;\n\nexport const ActivityItemFragment = graphql(\n `fragment ActivityItem on ActivityItem {\n __typename\n ... on BorrowActivity {\n ...BorrowActivity\n }\n ... on SupplyActivity {\n ...SupplyActivity\n }\n ... on WithdrawActivity {\n ...WithdrawActivity\n }\n ... on RepayActivity {\n ...RepayActivity\n }\n ... on LiquidatedActivity {\n ...LiquidatedActivity\n }\n ... on UsingAsCollateralActivity {\n ...UsingAsCollateralActivity\n }\n ... on UpdatedDynamicConfigActivity {\n ...UpdatedDynamicConfigActivity\n }\n ... on UpdatedRiskPremiumActivity {\n ...UpdatedRiskPremiumActivity\n }\n }`,\n [\n BorrowActivityFragment,\n SupplyActivityFragment,\n WithdrawActivityFragment,\n RepayActivityFragment,\n LiquidatedActivityFragment,\n UsingAsCollateralActivityFragment,\n UpdatedDynamicConfigActivityFragment,\n UpdatedRiskPremiumActivityFragment,\n ],\n);\nexport type ActivityItem = ExtendWithOpaqueType<\n FragmentOf<typeof ActivityItemFragment>,\n {\n id: ID;\n timestamp: Date;\n txHash: TxHash;\n chain: Chain;\n }\n>;\n\nexport const PaginatedActivitiesResultFragment = graphql(\n `fragment PaginatedActivitiesResult on PaginatedActivitiesResult {\n __typename\n items {\n ...ActivityItem\n }\n pageInfo {\n ...PaginatedResultInfo\n }\n }`,\n [ActivityItemFragment, PaginatedResultInfoFragment],\n);\nexport type PaginatedActivitiesResult = FragmentOf<\n typeof PaginatedActivitiesResultFragment\n>;\n\n/**\n * @internal\n */\nexport const ActivitiesQuery = graphql(\n `query Activities($request: ActivitiesRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: activities(request: $request) {\n ...PaginatedActivitiesResult\n }\n }`,\n [PaginatedActivitiesResultFragment],\n);\nexport type ActivitiesRequest = RequestOf<typeof ActivitiesQuery>;\n\nexport type ActivitiesRequestQuery = ReturnType<\n typeof graphql.scalar<'ActivitiesRequestQuery'>\n>;\n","import {\n UserBalanceFragment,\n UserBorrowItemFragment,\n UserPositionFragment,\n UserSummaryFragment,\n UserSummaryHistoryItemFragment,\n UserSupplyItemFragment,\n} from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const UserSuppliesQuery = graphql(\n `query UserSupplies($request: UserSuppliesRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userSupplies(request: $request) {\n ...UserSupplyItem\n }\n }`,\n [UserSupplyItemFragment],\n);\nexport type UserSuppliesRequest = RequestOf<typeof UserSuppliesQuery>;\n\n/**\n * @internal\n */\nexport const UserBorrowsQuery = graphql(\n `query UserBorrows($request: UserBorrowsRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userBorrows(request: $request) {\n ...UserBorrowItem\n }\n }`,\n [UserBorrowItemFragment],\n);\nexport type UserBorrowsRequest = RequestOf<typeof UserBorrowsQuery>;\n\n/**\n * @internal\n */\nexport const UserSummaryQuery = graphql(\n `query UserSummary($request: UserSummaryRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userSummary(request: $request) {\n ...UserSummary\n }\n }`,\n [UserSummaryFragment],\n);\nexport type UserSummaryRequest = RequestOf<typeof UserSummaryQuery>;\n\n/**\n * @internal\n */\nexport const UserPositionsQuery = graphql(\n `query UserPositions($request: UserPositionsRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userPositions(request: $request) {\n ...UserPosition\n }\n }`,\n [UserPositionFragment],\n);\nexport type UserPositionsRequest = RequestOf<typeof UserPositionsQuery>;\n\n/**\n * @internal\n */\nexport const UserPositionQuery = graphql(\n `query UserPosition($request: UserPositionRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userPosition(request: $request) {\n ...UserPosition\n }\n }`,\n [UserPositionFragment],\n);\nexport type UserPositionRequest = RequestOf<typeof UserPositionQuery>;\n\n/**\n * @internal\n */\nexport const UserBalancesQuery = graphql(\n `query UserBalances($request: UserBalancesRequest!, $currency: Currency!) {\n value: userBalances(request: $request) {\n ...UserBalance\n }\n }`,\n [UserBalanceFragment],\n);\nexport type UserBalancesRequest = RequestOf<typeof UserBalancesQuery>;\n\nexport type UserBalancesRequestFilter = ReturnType<\n typeof graphql.scalar<'UserBalancesRequestFilter'>\n>;\nexport type UserBalancesByChains = ReturnType<\n typeof graphql.scalar<'UserBalancesByChains'>\n>;\nexport type UserBalancesByHub = ReturnType<\n typeof graphql.scalar<'UserBalancesByHub'>\n>;\nexport type UserBalancesByHubId = ReturnType<\n typeof graphql.scalar<'UserBalancesByHubId'>\n>;\nexport type UserBalancesBySpoke = ReturnType<\n typeof graphql.scalar<'UserBalancesBySpoke'>\n>;\nexport type UserBalancesByUserPosition = ReturnType<\n typeof graphql.scalar<'UserBalancesByUserPosition'>\n>;\n\n/**\n * @internal\n */\nexport const UserSummaryHistoryQuery = graphql(\n `query UserSummaryHistory($request: UserSummaryHistoryRequest!, $currency: Currency!) {\n value: userSummaryHistory(request: $request) {\n ...UserSummaryHistoryItem\n }\n }`,\n [UserSummaryHistoryItemFragment],\n);\nexport type UserSummaryHistoryRequest = RequestOf<\n typeof UserSummaryHistoryQuery\n>;\nexport type UserSpokeInput = ReturnType<\n typeof graphql.scalar<'UserSpokeInput'>\n>;\nexport type UserBalancesRequestOrderBy = ReturnType<\n typeof graphql.scalar<'UserBalancesRequestOrderBy'>\n>;\nexport type UserBorrowsRequestQuery = ReturnType<\n typeof graphql.scalar<'UserBorrowsRequestQuery'>\n>;\nexport type UserToken = ReturnType<typeof graphql.scalar<'UserToken'>>;\nexport type UserChains = ReturnType<typeof graphql.scalar<'UserChains'>>;\nexport type UserBorrowsRequestOrderBy = ReturnType<\n typeof graphql.scalar<'UserBorrowsRequestOrderBy'>\n>;\nexport type UserPositionsRequestFilter = ReturnType<\n typeof graphql.scalar<'UserPositionsRequestFilter'>\n>;\nexport type UserPositionsRequestOrderBy = ReturnType<\n typeof graphql.scalar<'UserPositionsRequestOrderBy'>\n>;\nexport type UserSummaryFilter = ReturnType<\n typeof graphql.scalar<'UserSummaryFilter'>\n>;\nexport type UserSuppliesRequestQuery = ReturnType<\n typeof graphql.scalar<'UserSuppliesRequestQuery'>\n>;\nexport type UserSuppliesRequestOrderBy = ReturnType<\n typeof graphql.scalar<'UserSuppliesRequestOrderBy'>\n>;\n"]}
1
+ {"version":3,"sources":["../src/enums.ts","../src/graphql.ts","../src/fragments/common.ts","../src/fragments/hubs.ts","../src/fragments/assets.ts","../src/fragments/spoke.ts","../src/fragments/reserve.ts","../src/permits.ts","../src/fragments/transactions.ts","../src/fragments/swaps.ts","../src/fragments/user.ts","../src/hub.ts","../src/id.ts","../src/inputs.ts","../src/misc.ts","../src/protocol.ts","../src/reserve.ts","../src/spoke.ts","../src/swaps.ts","../src/transactions.ts","../src/user.ts"],"names":["OrderDirection","PageSize","TimeWindow","OperationType","ChainsFilter","HubAssetStatusType","HubAssetsRequestOrderBy","ActivityType","ApyMetric","CollateralMetric","Currency","ReservesRequestFilter","SwapKind","SwapStatusFilter","TokenCategory","graphql","initGraphQLTada","DecimalNumberFragment","PercentNumberFragment","DecimalNumberWithChangeFragment","ExchangeAmountFragment","TokenInfoFragment","ChainFragment","Erc20TokenFragment","NativeTokenFragment","Erc20AmountFragment","NativeAmountFragment","TokenAmountFragment","TokenFragment","ExchangeAmountWithChangeFragment","PercentNumberWithChangeFragment","PaginatedResultInfoFragment","PercentNumberVariationFragment","ExchangeAmountVariationFragment","HealthFactorWithChangeFragment","HealthFactorVariationFragment","HealthFactorErrorFragment","HealthFactorResultFragment","HubSummaryFragment","HubFragment","HubAssetSummaryFragment","HubAssetSettingsFragment","HubAssetUserStateFragment","HubAssetFragment","SpokeFragment","SpokePositionManagerFragment","PaginatedSpokePositionManagerResultFragment","SpokeUserPositionManagerFragment","PaginatedSpokeUserPositionManagerResultFragment","ReserveSettingsFragment","ReserveStatusFragment","ReserveSummaryFragment","ReserveUserStateFragment","ReserveFragment","ReserveInfoFragment","TypeFieldFragment","TypeDefinitionFragment","DomainDataFragment","PermitMessageDataFragment","PermitTypedDataResponseFragment","PermitTypedDataQuery","TransactionRequestFragment","Erc20ApprovalRequiredFragment","PreContractActionRequiredFragment","InsufficientBalanceErrorFragment","ExecutionPlanFragment","SwapQuoteCostsFragment","SwapQuoteFragment","SwapByIntentTypeDefinitionFragment","SwapByIntentTypedDataFragment","SwapByIntentFragment","SwapByIntentWithApprovalRequiredFragment","SwapByTransactionFragment","SwapReceiptFragment","PrepareSwapResultFragment","SwapTransactionRequestFragment","SwapApprovalRequiredFragment","SwapExecutionPlanFragment","SwapCancelledFragment","SwapExpiredFragment","SwapOpenFragment","SwapPendingSignatureFragment","SwapFulfilledFragment","SwapStatusFragment","CancelSwapTypeDefinitionFragment","CancelSwapTypedDataFragment","PrepareSwapCancelResultFragment","CancelSwapExecutionPlanFragment","PaginatedUserSwapsResultFragment","UserSupplyItemFragment","UserBorrowItemFragment","UserSummaryFragment","UserRiskPremiumBreakdownItemFragment","UserPositionRiskPremiumFragment","UserPositionFragment","UserBalanceFragment","UserSummaryHistoryItemFragment","ApySampleFragment","HubQuery","HubsQuery","HubAssetsQuery","HubSummarySampleFragment","HubSummaryHistoryQuery","decodeBase64","value","c","encodeBase64","COMPOSITE_ID_SEPARATOR","assetId","invariant","hubId","encodeHubId","hub","decodeHubId","decoded","a","b","chainId","evmAddress","hubAssetId","reserveId","decodeReserveId","encodeReserveId","reserve","userPositionId","swapId","isValidHexString","swapQuoteId","encodeSpokeId","spoke","spokeId","userBalanceId","userBorrowItemId","userSupplyItemId","tokenInfoId","isHubInputVariant","input","isObject","isChainIdsVariant","isSpokeInputVariant","isTxHashInputVariant","ChainQuery","ChainsQuery","HasProcessedKnownTransactionQuery","HealthQuery","ExchangeRateQuery","AssetPriceSampleFragment","AssetSupplySampleFragment","AssetBorrowSampleFragment","AssetCategoryBorrowSampleFragment","AssetCategorySupplySampleFragment","AssetAmountWithChangeFragment","AssetSummaryFragment","AssetFragment","AssetQuery","AssetPriceHistoryQuery","AssetSupplyHistoryQuery","AssetBorrowHistoryQuery","AssetCategoryBorrowHistoryQuery","AssetCategorySupplyHistoryQuery","ProtocolHistorySampleFragment","ProtocolHistoryQuery","BorrowApyHistoryQuery","SupplyApyHistoryQuery","ReserveQuery","ReservesQuery","SpokeQuery","SpokesQuery","SpokePositionManagersQuery","SpokeUserPositionManagersQuery","SwapQuoteQuery","SwappableTokensQuery","PrepareSwapQuery","SwapStatusQuery","SwapQuery","PrepareSwapCancelQuery","CancelSwapQuery","UserSwapsQuery","BorrowQuery","SupplyQuery","RepayQuery","WithdrawQuery","LiquidatePositionExecutionPlanFragment","LiquidatePositionQuery","SetSpokeUserPositionManagerQuery","SetUserSuppliesAsCollateralQuery","RenounceSpokeUserPositionManagerQuery","UpdateUserPositionConditionsQuery","CollateralFactorVariationFragment","LiquidationFeeVariationFragment","MaxLiquidationBonusVariationFragment","UserPositionConditionVariationFragment","PreviewUserPositionFragment","PreviewQuery","PercentNumberChangeSnapshotFragment","BorrowActivityFragment","SupplyActivityFragment","WithdrawActivityFragment","RepayActivityFragment","LiquidatedActivityFragment","UsingAsCollateralActivityFragment","UpdatedDynamicConfigActivityFragment","UpdatedRiskPremiumActivityFragment","ActivityItemFragment","PaginatedActivitiesResultFragment","ActivitiesQuery","UserSuppliesQuery","UserBorrowsQuery","UserSummaryQuery","UserPositionsQuery","UserPositionQuery","UserBalancesQuery","UserSummaryHistoryQuery","UserRiskPremiumBreakdownQuery"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { Tagged } from 'type-fest';\n\ntype EnumValues<E> = E[keyof E];\n\nexport type OpaqueEnumVariant = Tagged<string, 'OpaqueEnumVariant'>;\n\n/**\n * Adds an opaque value to an enum-union.\n *\n * @internal\n */\nexport type ExtendWithOpaqueVariant<E> = EnumValues<E> | OpaqueEnumVariant;\n\n/**\n * The order direction for sorting results.\n */\nexport enum OrderDirection {\n Asc = 'ASC',\n Desc = 'DESC',\n}\n\n/**\n * The page size for paginated results.\n */\nexport enum PageSize {\n Ten = 'TEN',\n Fifty = 'FIFTY',\n}\n\n/**\n * The time window for the historical data.\n */\nexport enum TimeWindow {\n LastDay = 'LAST_DAY',\n LastWeek = 'LAST_WEEK',\n LastMonth = 'LAST_MONTH',\n LastSixMonths = 'LAST_SIX_MONTHS',\n LastYear = 'LAST_YEAR',\n All = 'ALL',\n}\n\n/**\n * The operation type for transactions, used for tracking transaction processing.\n */\nexport enum OperationType {\n SpokeBorrow = 'SPOKE_BORROW',\n SpokeRepay = 'SPOKE_REPAY',\n SpokeSupply = 'SPOKE_SUPPLY',\n SpokeWithdraw = 'SPOKE_WITHDRAW',\n SpokeUpdateUserRiskPremium = 'SPOKE_UPDATE_USER_RISK_PREMIUM',\n SpokeSetUserUsingAsCollateral = 'SPOKE_SET_USER_USING_AS_COLLATERAL',\n SpokeSetUserPositionManager = 'SPOKE_SET_USER_POSITION_MANAGER',\n RenounceSpokeUserPositionManager = 'RENOUNCE_SPOKE_USER_POSITION_MANAGER',\n Liquidation = 'LIQUIDATION',\n}\n\n/**\n * The filter for chains.\n */\nexport enum ChainsFilter {\n TESTNET_ONLY = 'TESTNET_ONLY',\n MAINNET_ONLY = 'MAINNET_ONLY',\n ALL = 'ALL',\n}\n\n/**\n * The status type for hub assets.\n */\nexport enum HubAssetStatusType {\n Active = 'ACTIVE',\n Frozen = 'FROZEN',\n Paused = 'PAUSED',\n}\n\n/**\n * The order by options for hub assets request.\n */\nexport enum HubAssetsRequestOrderBy {\n Balance = 'BALANCE',\n Name = 'NAME',\n}\n\n/**\n * The activity type for user history.\n */\nexport enum ActivityType {\n Borrow = 'BORROW',\n Supply = 'SUPPLY',\n Withdraw = 'WITHDRAW',\n Repay = 'REPAY',\n Liquidated = 'LIQUIDATED',\n SetAsCollateral = 'SET_AS_COLLATERAL',\n UpdatedDynamicConfig = 'UPDATED_DYNAMIC_CONFIG',\n UpdatedRiskPremium = 'UPDATED_RISK_PREMIUM',\n}\n\n/**\n * The APY metric for comparing rates.\n */\nexport enum ApyMetric {\n Highest = 'HIGHEST',\n Lowest = 'LOWEST',\n Average = 'AVERAGE',\n}\n\n/**\n * The collateral metric for comparing collateral factors.\n */\nexport enum CollateralMetric {\n Highest = 'HIGHEST',\n Lowest = 'LOWEST',\n}\n\n/**\n * The currency for fiat amounts.\n */\nexport enum Currency {\n Usd = 'USD',\n Eur = 'EUR',\n Gbp = 'GBP',\n}\n\n/**\n * The filter for reserves request.\n */\nexport enum ReservesRequestFilter {\n Supply = 'SUPPLY',\n Borrow = 'BORROW',\n Collateral = 'COLLATERAL',\n All = 'ALL',\n}\n\n/**\n * The swap kind for swapping tokens.\n */\nexport enum SwapKind {\n Buy = 'BUY',\n Sell = 'SELL',\n}\n\n/**\n * The filter for swap status.\n */\nexport enum SwapStatusFilter {\n Cancelled = 'CANCELLED',\n Expired = 'EXPIRED',\n Fulfilled = 'FULFILLED',\n Open = 'OPEN',\n PendingSignature = 'PENDING_SIGNATURE',\n}\n\n/**\n * The category for tokens.\n */\nexport enum TokenCategory {\n Stablecoin = 'STABLECOIN',\n EthCorrelated = 'ETH_CORRELATED',\n}\n","import type {\n AnySelectionSet,\n AnyVariables,\n BigDecimal,\n BlockchainData,\n ChainId,\n Cursor,\n EvmAddress,\n JSONString,\n Signature,\n TxHash,\n TypedSelectionSet,\n Void,\n} from '@aave/types';\nimport {\n type DocumentDecoration,\n initGraphQLTada,\n type TadaDocumentNode,\n} from 'gql.tada';\nimport type {\n ActivityType,\n ApyMetric,\n ChainsFilter,\n CollateralMetric,\n Currency,\n HubAssetStatusType,\n HubAssetsRequestOrderBy,\n OperationType,\n OrderDirection,\n PageSize,\n ReservesRequestFilter,\n SwapKind,\n SwapStatusFilter,\n TimeWindow,\n TokenCategory,\n} from './enums';\nimport type { introspection } from './graphql-env';\nimport type {\n AssetId,\n HubAssetId,\n HubId,\n ID,\n OnChainHubAssetId,\n OnChainReserveId,\n ReserveId,\n SpokeId,\n SwapId,\n SwapQuoteId,\n TokenInfoId,\n UserBalanceId,\n UserBorrowItemId,\n UserPositionId,\n UserSupplyItemId,\n} from './id';\n\nexport type { FragmentOf, ResultOf, VariablesOf } from 'gql.tada';\n\nexport const graphql = initGraphQLTada<{\n disableMasking: true;\n introspection: introspection;\n scalars: {\n ActivityType: ActivityType;\n AlwaysTrue: true;\n ApyMetric: ApyMetric;\n AssetId: AssetId;\n BigDecimal: BigDecimal;\n BigInt: bigint;\n BlockchainData: BlockchainData;\n Boolean: boolean;\n ChainId: ChainId;\n ChainsFilter: ChainsFilter;\n CollateralMetric: CollateralMetric;\n Currency: Currency;\n Cursor: Cursor;\n DateTime: Date;\n EvmAddress: EvmAddress;\n Float: number;\n HubAssetId: HubAssetId;\n HubAssetsRequestOrderBy: HubAssetsRequestOrderBy;\n HubAssetStatusType: HubAssetStatusType;\n HubId: HubId;\n ID: ID;\n Int: number;\n JSON: JSONString;\n OnChainHubAssetId: OnChainHubAssetId;\n OnChainReserveId: OnChainReserveId;\n OperationType: OperationType;\n OrderDirection: OrderDirection;\n PageSize: PageSize;\n ReserveId: ReserveId;\n ReservesRequestFilter: ReservesRequestFilter;\n Signature: Signature;\n SpokeId: SpokeId;\n String: string;\n SwapId: SwapId;\n SwapKind: SwapKind;\n SwapQuoteId: SwapQuoteId;\n SwapStatusFilter: SwapStatusFilter;\n TimeWindow: TimeWindow;\n TokenCategory: TokenCategory;\n TokenInfoId: TokenInfoId;\n TxHash: TxHash;\n UserBalanceId: UserBalanceId;\n UserBorrowItemId: UserBorrowItemId;\n UserPositionId: UserPositionId;\n UserSupplyItemId: UserSupplyItemId;\n Void: Void;\n };\n}>();\n\n/**\n * @internal\n */\nexport type RequestOf<Document> = Document extends DocumentDecoration<\n unknown,\n infer Variables\n>\n ? Variables extends { request: infer Request }\n ? Request\n : never\n : never;\n\n/**\n * @internal\n */\nexport type FragmentDocumentFor<\n TGqlNode extends AnySelectionSet,\n TTypename extends string = TGqlNode extends TypedSelectionSet<infer TTypename>\n ? TTypename\n : never,\n TFragmentName extends string = TTypename,\n> = TadaDocumentNode<\n TGqlNode,\n AnyVariables,\n {\n fragment: TFragmentName;\n on: TTypename;\n masked: false;\n }\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport { type FragmentDocumentFor, graphql } from '../graphql';\n\nexport const DecimalNumberFragment =\n graphql(`fragment DecimalNumber on DecimalNumber {\n __typename\n onChainValue\n decimals\n value\n }`);\nexport type DecimalNumber = FragmentOf<typeof DecimalNumberFragment>;\n\nexport const PercentNumberFragment = graphql(\n `fragment PercentNumber on PercentNumber {\n __typename\n onChainValue\n decimals\n value\n normalized\n }`,\n);\nexport type PercentNumber = FragmentOf<typeof PercentNumberFragment>;\n\nexport const DecimalNumberWithChangeFragment = graphql(\n `fragment DecimalNumberWithChange on DecimalNumberWithChange {\n __typename\n current {\n ...DecimalNumber\n }\n change(window: $timeWindow) {\n ...PercentNumber\n }\n }`,\n [DecimalNumberFragment, PercentNumberFragment],\n);\nexport type DecimalNumberWithChange = FragmentOf<\n typeof DecimalNumberWithChangeFragment\n>;\n\nexport const ExchangeAmountFragment = graphql(\n `fragment ExchangeAmount on ExchangeAmount {\n __typename\n value\n name\n symbol\n icon\n decimals\n }`,\n);\nexport type ExchangeAmount = FragmentOf<typeof ExchangeAmountFragment>;\n\nexport const TokenInfoFragment = graphql(\n `fragment TokenInfo on TokenInfo {\n __typename\n id\n name\n symbol\n icon\n decimals\n categories\n }`,\n);\nexport type TokenInfo = FragmentOf<typeof TokenInfoFragment>;\n\nexport const ChainFragment = graphql(\n `fragment Chain on Chain {\n __typename\n name\n icon\n chainId\n rpcUrl\n explorerUrl\n isTestnet\n isFork\n nativeWrappedToken\n nativeGateway\n signatureGateway\n nativeInfo {\n ...TokenInfo\n }\n }`,\n [TokenInfoFragment],\n);\nexport type Chain = FragmentOf<typeof ChainFragment>;\n\nexport const Erc20TokenFragment = graphql(\n `fragment Erc20Token on Erc20Token {\n __typename\n info {\n ...TokenInfo\n }\n address\n chain {\n ...Chain\n }\n isWrappedNativeToken\n permitSupported\n }`,\n [TokenInfoFragment, ChainFragment],\n);\nexport type Erc20Token = FragmentOf<typeof Erc20TokenFragment>;\n\nexport const NativeTokenFragment = graphql(\n `fragment NativeToken on NativeToken {\n __typename\n info {\n ...TokenInfo\n }\n chain {\n ...Chain\n }\n }`,\n [TokenInfoFragment, ChainFragment],\n);\nexport type NativeToken = FragmentOf<typeof NativeTokenFragment>;\n\nexport const Erc20AmountFragment = graphql(\n `fragment Erc20Amount on Erc20Amount {\n __typename\n token {\n ...Erc20Token\n }\n amount {\n ...DecimalNumber\n }\n exchange(currency: $currency){\n ...ExchangeAmount\n }\n exchangeRate(currency: $currency){\n ...DecimalNumber\n }\n }`,\n [Erc20TokenFragment, DecimalNumberFragment, ExchangeAmountFragment],\n);\nexport type Erc20Amount = FragmentOf<typeof Erc20AmountFragment>;\n\nexport const NativeAmountFragment = graphql(\n `fragment NativeAmount on NativeAmount {\n __typename\n token {\n ...NativeToken\n }\n amount {\n ...DecimalNumber\n }\n exchange(currency: $currency){\n ...ExchangeAmount\n }\n exchangeRate(currency: $currency){\n ...DecimalNumber\n }\n }`,\n [NativeTokenFragment, DecimalNumberFragment, ExchangeAmountFragment],\n);\nexport type NativeAmount = FragmentOf<typeof NativeAmountFragment>;\n\nexport type TokenAmount = Erc20Amount | NativeAmount;\n\nexport const TokenAmountFragment: FragmentDocumentFor<\n TokenAmount,\n 'TokenAmount'\n> = graphql(\n `fragment TokenAmount on TokenAmount {\n __typename\n ... on Erc20Amount {\n ...Erc20Amount\n }\n ... on NativeAmount {\n ...NativeAmount\n }\n }`,\n [Erc20AmountFragment, NativeAmountFragment],\n);\n\nexport type Token = NativeToken | Erc20Token;\n\nexport const TokenFragment: FragmentDocumentFor<Token, 'Token'> = graphql(\n `fragment Token on Token {\n __typename\n ... on Erc20Token {\n ...Erc20Token\n }\n ... on NativeToken {\n ...NativeToken\n }\n }`,\n [Erc20TokenFragment, NativeTokenFragment],\n);\n\nexport const ExchangeAmountWithChangeFragment = graphql(\n `fragment ExchangeAmountWithChange on ExchangeAmountWithChange {\n __typename\n current {\n ...ExchangeAmount\n }\n change(window: $timeWindow){\n ...PercentNumber\n }\n }`,\n [ExchangeAmountFragment, PercentNumberFragment],\n);\nexport type ExchangeAmountWithChange = FragmentOf<\n typeof ExchangeAmountWithChangeFragment\n>;\n\nexport const PercentNumberWithChangeFragment = graphql(\n `fragment PercentNumberWithChange on PercentNumberWithChange {\n __typename\n current {\n ...PercentNumber\n }\n change(window: $timeWindow){\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type PercentNumberWithChange = FragmentOf<\n typeof PercentNumberWithChangeFragment\n>;\n\nexport const PaginatedResultInfoFragment = graphql(\n `fragment PaginatedResultInfo on PaginatedResultInfo {\n __typename\n prev\n next\n }`,\n);\nexport type PaginatedResultInfo = FragmentOf<\n typeof PaginatedResultInfoFragment\n>;\n\nexport const PercentNumberVariationFragment = graphql(\n `fragment PercentNumberVariation on PercentNumberVariation {\n __typename\n current {\n ...PercentNumber\n }\n after {\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type PercentNumberVariation = FragmentOf<\n typeof PercentNumberVariationFragment\n>;\n\nexport const ExchangeAmountVariationFragment = graphql(\n `fragment ExchangeAmountVariation on ExchangeAmountVariation {\n __typename\n current {\n ...ExchangeAmount\n }\n after {\n ...ExchangeAmount\n }\n }`,\n [ExchangeAmountFragment],\n);\nexport type ExchangeAmountVariation = FragmentOf<\n typeof ExchangeAmountVariationFragment\n>;\n\nexport const HealthFactorWithChangeFragment = graphql(\n `fragment HealthFactorWithChange on HealthFactorWithChange {\n __typename\n current\n change(window: $timeWindow) {\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type HealthFactorWithChange = FragmentOf<\n typeof HealthFactorWithChangeFragment\n>;\n\nexport const HealthFactorVariationFragment = graphql(\n `fragment HealthFactorVariation on HealthFactorVariation {\n __typename\n current\n after\n }`,\n);\nexport type HealthFactorVariation = FragmentOf<\n typeof HealthFactorVariationFragment\n>;\n\nexport const HealthFactorErrorFragment = graphql(\n `fragment HealthFactorError on HealthFactorError {\n __typename\n reason\n current\n after\n }`,\n);\nexport type HealthFactorError = FragmentOf<typeof HealthFactorErrorFragment>;\n\nexport type HealthFactorResult = HealthFactorVariation | HealthFactorError;\n\nexport const HealthFactorResultFragment: FragmentDocumentFor<\n HealthFactorResult,\n 'HealthFactorResult'\n> = graphql(\n `fragment HealthFactorResult on HealthFactorResult {\n __typename\n ... on HealthFactorVariation {\n ...HealthFactorVariation\n }\n ... on HealthFactorError {\n ...HealthFactorError\n }\n }`,\n [HealthFactorVariationFragment, HealthFactorErrorFragment],\n);\n","import type { FragmentOf } from 'gql.tada';\nimport { graphql } from '../graphql';\nimport {\n ChainFragment,\n ExchangeAmountFragment,\n ExchangeAmountWithChangeFragment,\n PercentNumberFragment,\n} from './common';\n\nexport const HubSummaryFragment = graphql(\n `fragment HubSummary on HubSummary {\n __typename\n totalBorrowed {\n ...ExchangeAmountWithChange\n }\n totalBorrowCap {\n ...ExchangeAmount\n }\n totalSupplied {\n ...ExchangeAmountWithChange\n }\n totalSupplyCap {\n ...ExchangeAmount\n }\n utilizationRate {\n ...PercentNumber\n }\n }`,\n [\n ExchangeAmountFragment,\n ExchangeAmountWithChangeFragment,\n PercentNumberFragment,\n ],\n);\nexport type HubSummary = FragmentOf<typeof HubSummaryFragment>;\n\nexport const HubFragment = graphql(\n `fragment Hub on Hub {\n __typename\n id\n name\n address\n chain {\n ...Chain\n }\n summary(currency: $currency) {\n ...HubSummary\n }\n }`,\n [ChainFragment, HubSummaryFragment],\n);\nexport type Hub = FragmentOf<typeof HubFragment>;\n","import { type FragmentOf, graphql } from '../graphql';\nimport {\n Erc20AmountFragment,\n Erc20TokenFragment,\n PercentNumberFragment,\n} from './common';\nimport { HubFragment } from './hubs';\n\nexport const HubAssetSummaryFragment = graphql(\n `fragment HubAssetSummary on HubAssetSummary {\n __typename\n supplied {\n ...Erc20Amount\n }\n borrowed {\n ...Erc20Amount\n }\n availableLiquidity {\n ...Erc20Amount\n }\n supplyApy {\n ...PercentNumber\n }\n borrowApy {\n ...PercentNumber\n }\n netApy {\n ...PercentNumber\n }\n utilizationRate {\n ...PercentNumber\n }\n }`,\n [Erc20AmountFragment, PercentNumberFragment],\n);\nexport type HubAssetSummary = FragmentOf<typeof HubAssetSummaryFragment>;\n\nexport const HubAssetSettingsFragment = graphql(\n `fragment HubAssetSettings on HubAssetSettings {\n __typename\n feeReceiver\n liquidityFee {\n ...PercentNumber\n }\n irStrategy\n reinvestmentController\n }`,\n [PercentNumberFragment],\n);\nexport type HubAssetSettings = FragmentOf<typeof HubAssetSettingsFragment>;\n\nexport const HubAssetUserStateFragment = graphql(\n `fragment HubAssetUserState on HubAssetUserState {\n __typename\n balance {\n ...Erc20Amount\n }\n }`,\n [Erc20AmountFragment],\n);\nexport type HubAssetUserState = FragmentOf<typeof HubAssetUserStateFragment>;\n\nexport const HubAssetFragment = graphql(\n `fragment HubAsset on HubAsset {\n __typename\n id\n onchainAssetId\n hub {\n ...Hub\n }\n underlying {\n ...Erc20Token\n }\n summary {\n ...HubAssetSummary\n }\n settings {\n ...HubAssetSettings\n }\n userState {\n ...HubAssetUserState\n }\n }`,\n [\n HubFragment,\n Erc20TokenFragment,\n HubAssetSummaryFragment,\n HubAssetSettingsFragment,\n HubAssetUserStateFragment,\n ],\n);\nexport type HubAsset = FragmentOf<typeof HubAssetFragment>;\n","import type { FragmentOf } from 'gql.tada';\nimport { graphql } from '../graphql';\nimport { ChainFragment, PaginatedResultInfoFragment } from './common';\n\nexport const SpokeFragment = graphql(\n `fragment Spoke on Spoke {\n __typename\n id\n name\n address\n chain {\n ...Chain\n }\n }`,\n [ChainFragment],\n);\n\nexport type Spoke = FragmentOf<typeof SpokeFragment>;\n\nexport const SpokePositionManagerFragment = graphql(\n `fragment SpokePositionManager on SpokePositionManger {\n __typename\n address\n active\n name\n }`,\n);\n\nexport type SpokePositionManager = FragmentOf<\n typeof SpokePositionManagerFragment\n>;\n\nexport const PaginatedSpokePositionManagerResultFragment = graphql(\n `fragment PaginatedSpokePositionManagerResult on PaginatedSpokePositionManagerResult {\n __typename\n items {\n ...SpokePositionManager\n }\n pageInfo {\n ...PaginatedResultInfo\n }\n }`,\n [SpokePositionManagerFragment, PaginatedResultInfoFragment],\n);\n\nexport type PaginatedSpokePositionManagerResult = FragmentOf<\n typeof PaginatedSpokePositionManagerResultFragment\n>;\n\nexport const SpokeUserPositionManagerFragment = graphql(\n `fragment SpokeUserPositionManager on SpokeUserPositionManager {\n __typename\n address\n approvedOn\n active\n name\n }`,\n);\n\nexport type SpokeUserPositionManager = FragmentOf<\n typeof SpokeUserPositionManagerFragment\n>;\n\nexport const PaginatedSpokeUserPositionManagerResultFragment = graphql(\n `fragment PaginatedSpokeUserPositionManagerResult on PaginatedSpokeUserPositionManagerResult {\n __typename\n items {\n ...SpokeUserPositionManager\n }\n pageInfo {\n ...PaginatedResultInfo\n }\n }`,\n [SpokeUserPositionManagerFragment, PaginatedResultInfoFragment],\n);\n\nexport type PaginatedSpokeUserPositionManagerResult = FragmentOf<\n typeof PaginatedSpokeUserPositionManagerResultFragment\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport { graphql } from '../graphql';\nimport { HubAssetFragment } from './assets';\nimport {\n ChainFragment,\n Erc20AmountFragment,\n PercentNumberFragment,\n} from './common';\nimport { SpokeFragment } from './spoke';\n\nexport const ReserveSettingsFragment = graphql(\n `fragment ReserveSettings on ReserveSettings {\n __typename\n collateralFactor {\n ...PercentNumber\n }\n maxLiquidationBonus {\n ...PercentNumber\n }\n liquidationFee {\n ...PercentNumber\n }\n collateralRisk {\n ...PercentNumber\n }\n borrowable\n collateral\n suppliable\n latestDynamicConfigKey\n }`,\n [PercentNumberFragment],\n);\nexport type ReserveSettings = FragmentOf<typeof ReserveSettingsFragment>;\n\nexport const ReserveStatusFragment = graphql(\n `fragment ReserveStatus on ReserveStatus {\n __typename\n frozen\n paused\n active\n }`,\n);\nexport type ReserveStatus = FragmentOf<typeof ReserveStatusFragment>;\n\nexport const ReserveSummaryFragment = graphql(\n `fragment ReserveSummary on ReserveSummary {\n __typename\n supplied {\n ...Erc20Amount\n }\n borrowed {\n ...Erc20Amount\n }\n supplyApy {\n ...PercentNumber\n }\n borrowApy {\n ...PercentNumber\n }\n }`,\n [Erc20AmountFragment, PercentNumberFragment],\n);\nexport type ReserveSummary = FragmentOf<typeof ReserveSummaryFragment>;\n\nexport const ReserveUserStateFragment = graphql(\n `fragment ReserveUserState on ReserveUserState {\n __typename\n balance {\n ...Erc20Amount\n }\n suppliable {\n ...Erc20Amount\n }\n borrowable {\n ...Erc20Amount\n }\n borrowingPower {\n ...Erc20Amount\n }\n borrowApy {\n ...PercentNumber\n }\n collateralFactor {\n ...PercentNumber\n }\n maxLiquidationBonus {\n ...PercentNumber\n }\n liquidationFee {\n ...PercentNumber\n }\n dynamicConfigKey\n isUsingLatestDynamicConfigKey\n }`,\n [Erc20AmountFragment, PercentNumberFragment],\n);\nexport type ReserveUserState = FragmentOf<typeof ReserveUserStateFragment>;\n\nexport const ReserveFragment = graphql(\n `fragment Reserve on Reserve {\n __typename\n id\n onChainId\n spoke {\n ...Spoke\n }\n borrowCap\n supplyCap\n chain {\n ...Chain\n }\n summary {\n ...ReserveSummary\n }\n settings {\n ...ReserveSettings\n }\n status {\n ...ReserveStatus\n }\n canBorrow\n canSupply\n canUseAsCollateral\n userState {\n ...ReserveUserState\n }\n asset {\n ...HubAsset\n }\n }`,\n [\n SpokeFragment,\n ChainFragment,\n ReserveSummaryFragment,\n ReserveSettingsFragment,\n ReserveStatusFragment,\n ReserveUserStateFragment,\n HubAssetFragment,\n ],\n);\nexport type Reserve = FragmentOf<typeof ReserveFragment>;\n\nexport const ReserveInfoFragment = graphql(\n `fragment ReserveInfo on ReserveInfo {\n __typename\n id\n asset {\n ...HubAsset\n }\n }`,\n [HubAssetFragment],\n);\nexport type ReserveInfo = FragmentOf<typeof ReserveInfoFragment>;\n","import { type FragmentOf, graphql, type RequestOf } from './graphql';\n\nexport const TypeFieldFragment = graphql(\n `fragment TypeField on TypeField {\n name\n type\n }`,\n);\nexport type TypeField = FragmentOf<typeof TypeFieldFragment>;\n\nexport const TypeDefinitionFragment = graphql(\n `fragment TypeDefinition on TypeDefinition {\n EIP712Domain {\n ...TypeField\n }\n Permit {\n ...TypeField\n }\n }`,\n [TypeFieldFragment],\n);\nexport type TypeDefinition = FragmentOf<typeof TypeDefinitionFragment>;\n\nexport const DomainDataFragment = graphql(\n `fragment DomainData on DomainData {\n name\n version\n chainId\n verifyingContract\n }`,\n);\nexport type DomainData = FragmentOf<typeof DomainDataFragment>;\n\nexport const PermitMessageDataFragment = graphql(\n `fragment PermitMessageData on PermitMessageData {\n owner\n spender\n value\n nonce\n deadline\n }`,\n);\nexport type PermitMessageData = FragmentOf<typeof PermitMessageDataFragment>;\n\nexport const PermitTypedDataResponseFragment = graphql(\n `fragment PermitTypedDataResponse on PermitTypedDataResponse {\n types {\n ...TypeDefinition\n }\n primaryType\n domain {\n ...DomainData\n }\n message {\n ...PermitMessageData\n }\n }`,\n [TypeDefinitionFragment, DomainDataFragment, PermitMessageDataFragment],\n);\nexport type PermitTypedDataResponse = FragmentOf<\n typeof PermitTypedDataResponseFragment\n>;\n\nexport type ERC20PermitSignature = ReturnType<\n typeof graphql.scalar<'ERC20PermitSignature'>\n>;\n\n/**\n * @internal\n */\nexport const PermitTypedDataQuery = graphql(\n `query PermitTypedData($request: PermitRequest!) {\n value: permitTypedData(request: $request) {\n ...PermitTypedDataResponse\n }\n }`,\n [PermitTypedDataResponseFragment],\n);\nexport type PermitRequest = RequestOf<typeof PermitTypedDataQuery>;\n\nexport type RepayPermitRequest = ReturnType<\n typeof graphql.scalar<'RepayPermitRequest'>\n>;\n\nexport type SupplyPermitRequest = ReturnType<\n typeof graphql.scalar<'SupplyPermitRequest'>\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport { type FragmentDocumentFor, graphql } from '../graphql';\nimport { DecimalNumberFragment } from './common';\n\nexport const TransactionRequestFragment = graphql(\n `fragment TransactionRequest on TransactionRequest {\n __typename\n to\n from\n data\n value\n chainId\n operations\n }`,\n);\nexport type TransactionRequest = FragmentOf<typeof TransactionRequestFragment>;\n\nexport const Erc20ApprovalRequiredFragment = graphql(\n `fragment Erc20ApprovalRequired on Erc20ApprovalRequired {\n __typename\n transaction {\n ...TransactionRequest\n }\n reason\n requiredAmount {\n ...DecimalNumber\n }\n currentAllowance {\n ...DecimalNumber\n }\n originalTransaction {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment, DecimalNumberFragment],\n);\nexport type Erc20ApprovalRequired = FragmentOf<\n typeof Erc20ApprovalRequiredFragment\n>;\n\nexport const PreContractActionRequiredFragment = graphql(\n `fragment PreContractActionRequired on PreContractActionRequired {\n __typename\n transaction {\n ...TransactionRequest\n }\n reason\n originalTransaction {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type PreContractActionRequired = FragmentOf<\n typeof PreContractActionRequiredFragment\n>;\n\nexport const InsufficientBalanceErrorFragment = graphql(\n `fragment InsufficientBalanceError on InsufficientBalanceError {\n __typename\n required {\n ...DecimalNumber\n }\n available {\n ...DecimalNumber\n }\n }`,\n [DecimalNumberFragment],\n);\nexport type InsufficientBalanceError = FragmentOf<\n typeof InsufficientBalanceErrorFragment\n>;\n\nexport type ExecutionPlan =\n | TransactionRequest\n | Erc20ApprovalRequired\n | PreContractActionRequired\n | InsufficientBalanceError;\n\nexport const ExecutionPlanFragment: FragmentDocumentFor<\n ExecutionPlan,\n 'ExecutionPlan'\n> = graphql(\n `fragment ExecutionPlan on ExecutionPlan {\n __typename\n ... on TransactionRequest {\n ...TransactionRequest\n }\n ... on Erc20ApprovalRequired {\n ...Erc20ApprovalRequired\n }\n ... on PreContractActionRequired {\n ...PreContractActionRequired\n }\n ... on InsufficientBalanceError {\n ...InsufficientBalanceError\n }\n }`,\n [\n TransactionRequestFragment,\n Erc20ApprovalRequiredFragment,\n PreContractActionRequiredFragment,\n InsufficientBalanceErrorFragment,\n ],\n);\n","import type { FragmentOf } from 'gql.tada';\nimport { type FragmentDocumentFor, graphql } from '../graphql';\nimport { DomainDataFragment, TypeFieldFragment } from '../permits';\nimport {\n PaginatedResultInfoFragment,\n PercentNumberFragment,\n TokenAmountFragment,\n} from './common';\nimport {\n type InsufficientBalanceError,\n InsufficientBalanceErrorFragment,\n type TransactionRequest,\n TransactionRequestFragment,\n} from './transactions';\n\nexport const SwapQuoteCostsFragment = graphql(\n `fragment SwapQuoteCosts on SwapQuoteCosts {\n __typename\n networkCosts {\n ...TokenAmount\n }\n partnerFee {\n ...TokenAmount\n }\n }`,\n [TokenAmountFragment],\n);\nexport type SwapQuoteCosts = FragmentOf<typeof SwapQuoteCostsFragment>;\n\nexport const SwapQuoteFragment = graphql(\n `fragment SwapQuote on SwapQuote {\n __typename\n quoteId\n suggestedSlippage {\n ...PercentNumber\n }\n desiredSell {\n ...TokenAmount\n }\n desiredBuy {\n ...TokenAmount\n }\n costs {\n ...SwapQuoteCosts\n }\n minimumReceived {\n ...TokenAmount\n }\n }`,\n [PercentNumberFragment, TokenAmountFragment, SwapQuoteCostsFragment],\n);\nexport type SwapQuote = FragmentOf<typeof SwapQuoteFragment>;\n\nexport const SwapByIntentTypeDefinitionFragment = graphql(\n `fragment SwapByIntentTypeDefinition on SwapByIntentTypeDefinition {\n EIP712Domain {\n ...TypeField\n }\n Order {\n ...TypeField\n }\n }`,\n [TypeFieldFragment],\n);\nexport type SwapByIntentTypeDefinition = FragmentOf<\n typeof SwapByIntentTypeDefinitionFragment\n>;\n\nexport const SwapByIntentTypedDataFragment = graphql(\n `fragment SwapByIntentTypedData on SwapByIntentTypedData {\n __typename\n types {\n ...SwapByIntentTypeDefinition\n }\n primaryType\n domain {\n ...DomainData\n }\n message\n }`,\n [SwapByIntentTypeDefinitionFragment, DomainDataFragment],\n);\nexport type SwapByIntentTypedData = FragmentOf<\n typeof SwapByIntentTypedDataFragment\n>;\n\nexport const SwapByIntentFragment = graphql(\n `fragment SwapByIntent on SwapByIntent {\n __typename\n quote {\n ...SwapQuote\n }\n data {\n ...SwapByIntentTypedData\n }\n }`,\n [SwapQuoteFragment, SwapByIntentTypedDataFragment],\n);\nexport type SwapByIntent = FragmentOf<typeof SwapByIntentFragment>;\n\nexport const SwapByIntentWithApprovalRequiredFragment = graphql(\n `fragment SwapByIntentWithApprovalRequired on SwapByIntentWithApprovalRequired {\n __typename\n approval {\n ...TransactionRequest\n }\n quote {\n ...SwapQuote\n }\n data {\n ...SwapByIntentTypedData\n }\n }`,\n [\n TransactionRequestFragment,\n SwapQuoteFragment,\n SwapByIntentTypedDataFragment,\n ],\n);\nexport type SwapByIntentWithApprovalRequired = FragmentOf<\n typeof SwapByIntentWithApprovalRequiredFragment\n>;\n\nexport const SwapByTransactionFragment = graphql(\n `fragment SwapByTransaction on SwapByTransaction {\n __typename\n quote {\n ...SwapQuote\n }\n }`,\n [SwapQuoteFragment],\n);\nexport type SwapByTransaction = FragmentOf<typeof SwapByTransactionFragment>;\n\nexport const SwapReceiptFragment = graphql(\n `fragment SwapReceipt on SwapReceipt {\n __typename\n id\n explorerLink\n createdAt\n }`,\n);\nexport type SwapReceipt = FragmentOf<typeof SwapReceiptFragment>;\n\nexport type PrepareSwapResult =\n | SwapByIntent\n | SwapByIntentWithApprovalRequired\n | SwapByTransaction\n | InsufficientBalanceError;\n\nexport const PrepareSwapResultFragment: FragmentDocumentFor<\n PrepareSwapResult,\n 'PrepareSwapResult'\n> = graphql(\n `fragment PrepareSwapResult on PrepareSwapResult {\n __typename\n ... on SwapByIntent {\n ...SwapByIntent\n }\n ... on SwapByIntentWithApprovalRequired {\n ...SwapByIntentWithApprovalRequired\n }\n ... on SwapByTransaction {\n ...SwapByTransaction\n }\n ... on InsufficientBalanceError {\n ...InsufficientBalanceError\n }\n }`,\n [\n SwapByIntentFragment,\n SwapByIntentWithApprovalRequiredFragment,\n SwapByTransactionFragment,\n InsufficientBalanceErrorFragment,\n ],\n);\n\nexport const SwapTransactionRequestFragment = graphql(\n `fragment SwapTransactionRequest on SwapTransactionRequest {\n __typename\n transaction {\n ...TransactionRequest\n }\n orderReceipt {\n ...SwapReceipt\n }\n }`,\n [TransactionRequestFragment, SwapReceiptFragment],\n);\nexport type SwapTransactionRequest = FragmentOf<\n typeof SwapTransactionRequestFragment\n>;\n\nexport const SwapApprovalRequiredFragment = graphql(\n `fragment SwapApprovalRequired on SwapApprovalRequired {\n __typename\n approval {\n ...TransactionRequest\n }\n originalTransaction {\n ...SwapTransactionRequest\n }\n }`,\n [TransactionRequestFragment, SwapTransactionRequestFragment],\n);\nexport type SwapApprovalRequired = FragmentOf<\n typeof SwapApprovalRequiredFragment\n>;\n\nexport type SwapExecutionPlan =\n | SwapTransactionRequest\n | SwapApprovalRequired\n | InsufficientBalanceError\n | SwapReceipt;\n\nexport const SwapExecutionPlanFragment: FragmentDocumentFor<\n SwapExecutionPlan,\n 'SwapExecutionPlan'\n> = graphql(\n `fragment SwapExecutionPlan on SwapExecutionPlan {\n __typename\n ... on SwapTransactionRequest {\n ...SwapTransactionRequest\n }\n ... on SwapApprovalRequired {\n ...SwapApprovalRequired\n }\n ... on InsufficientBalanceError {\n ...InsufficientBalanceError\n }\n ... on SwapReceipt {\n ...SwapReceipt\n }\n }`,\n [\n SwapTransactionRequestFragment,\n SwapApprovalRequiredFragment,\n InsufficientBalanceErrorFragment,\n SwapReceiptFragment,\n ],\n);\n\nexport const SwapCancelledFragment = graphql(\n `fragment SwapCancelled on SwapCancelled {\n __typename\n createdAt\n cancelledAt\n explorerLink\n }`,\n);\nexport type SwapCancelled = FragmentOf<typeof SwapCancelledFragment>;\n\nexport const SwapExpiredFragment = graphql(\n `fragment SwapExpired on SwapExpired {\n __typename\n createdAt\n expiredAt\n explorerLink\n }`,\n);\nexport type SwapExpired = FragmentOf<typeof SwapExpiredFragment>;\n\nexport const SwapOpenFragment = graphql(\n `fragment SwapOpen on SwapOpen {\n __typename\n swapId\n createdAt\n deadline\n explorerLink\n desiredSell {\n ...TokenAmount\n }\n desiredBuy {\n ...TokenAmount\n }\n }`,\n [TokenAmountFragment],\n);\nexport type SwapOpen = FragmentOf<typeof SwapOpenFragment>;\n\nexport const SwapPendingSignatureFragment = graphql(\n `fragment SwapPendingSignature on SwapPendingSignature {\n __typename\n createdAt\n deadline\n explorerLink\n }`,\n);\nexport type SwapPendingSignature = FragmentOf<\n typeof SwapPendingSignatureFragment\n>;\n\nexport const SwapFulfilledFragment = graphql(\n `fragment SwapFulfilled on SwapFulfilled {\n __typename\n txHash\n desiredSell {\n ...TokenAmount\n }\n desiredBuy {\n ...TokenAmount\n }\n sold {\n ...TokenAmount\n }\n bought {\n ...TokenAmount\n }\n createdAt\n fulfilledAt\n explorerLink\n refundTxHash\n }`,\n [TokenAmountFragment],\n);\nexport type SwapFulfilled = FragmentOf<typeof SwapFulfilledFragment>;\n\nexport type SwapStatus =\n | SwapOpen\n | SwapPendingSignature\n | SwapCancelled\n | SwapExpired\n | SwapFulfilled;\n\nexport const SwapStatusFragment: FragmentDocumentFor<SwapStatus, 'SwapStatus'> =\n graphql(\n `fragment SwapStatus on SwapStatus {\n __typename\n ... on SwapOpen {\n ...SwapOpen\n }\n ... on SwapPendingSignature {\n ...SwapPendingSignature\n }\n ... on SwapCancelled {\n ...SwapCancelled\n }\n ... on SwapExpired {\n ...SwapExpired\n }\n ... on SwapFulfilled {\n ...SwapFulfilled\n }\n }`,\n [\n SwapOpenFragment,\n SwapPendingSignatureFragment,\n SwapCancelledFragment,\n SwapExpiredFragment,\n SwapFulfilledFragment,\n ],\n );\n\nexport const CancelSwapTypeDefinitionFragment = graphql(\n `fragment CancelSwapTypeDefinition on CancelSwapTypeDefinition {\n OrderCancellations {\n ...TypeField\n }\n EIP712Domain {\n ...TypeField\n }\n }`,\n [TypeFieldFragment],\n);\nexport type CancelSwapTypeDefinition = FragmentOf<\n typeof CancelSwapTypeDefinitionFragment\n>;\n\nexport const CancelSwapTypedDataFragment = graphql(\n `fragment CancelSwapTypedData on CancelSwapTypedData {\n types {\n ...CancelSwapTypeDefinition\n }\n primaryType\n domain {\n ...DomainData\n }\n message\n }`,\n [CancelSwapTypeDefinitionFragment, DomainDataFragment],\n);\nexport type CancelSwapTypedData = FragmentOf<\n typeof CancelSwapTypedDataFragment\n>;\n\nexport const PrepareSwapCancelResultFragment = graphql(\n `fragment PrepareSwapCancelResult on PrepareSwapCancelResult {\n __typename\n data {\n ...CancelSwapTypedData\n }\n }`,\n [CancelSwapTypedDataFragment],\n);\nexport type PrepareSwapCancelResult = FragmentOf<\n typeof PrepareSwapCancelResultFragment\n>;\n\nexport type CancelSwapExecutionPlan = TransactionRequest | SwapCancelled;\n\nexport const CancelSwapExecutionPlanFragment: FragmentDocumentFor<\n CancelSwapExecutionPlan,\n 'CancelSwapExecutionPlan'\n> = graphql(\n `fragment CancelSwapExecutionPlan on CancelSwapExecutionPlan {\n __typename\n ... on TransactionRequest {\n ...TransactionRequest\n }\n ... on SwapCancelled {\n ...SwapCancelled\n }\n }`,\n [TransactionRequestFragment, SwapCancelledFragment],\n);\n\nexport const PaginatedUserSwapsResultFragment = graphql(\n `fragment PaginatedUserSwapsResult on PaginatedUserSwapsResult {\n __typename\n items {\n ...SwapStatus\n }\n pageInfo {\n ...PaginatedResultInfo\n }\n }`,\n [SwapStatusFragment, PaginatedResultInfoFragment],\n);\nexport type PaginatedUserSwapsResult = FragmentOf<\n typeof PaginatedUserSwapsResultFragment\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport { graphql } from '../graphql';\nimport {\n DecimalNumberFragment,\n Erc20AmountFragment,\n Erc20TokenFragment,\n ExchangeAmountFragment,\n ExchangeAmountWithChangeFragment,\n HealthFactorWithChangeFragment,\n PercentNumberFragment,\n PercentNumberWithChangeFragment,\n TokenAmountFragment,\n TokenInfoFragment,\n} from './common';\nimport { ReserveFragment } from './reserve';\nimport { SpokeFragment } from './spoke';\n\nexport const UserSupplyItemFragment = graphql(\n `fragment UserSupplyItem on UserSupplyItem {\n __typename\n id\n reserve {\n ...Reserve\n }\n interest {\n ...Erc20Amount\n }\n principal {\n ...Erc20Amount\n }\n withdrawable {\n ...Erc20Amount\n }\n isCollateral\n createdAt\n }`,\n [Erc20AmountFragment, ReserveFragment],\n);\nexport type UserSupplyItem = FragmentOf<typeof UserSupplyItemFragment>;\n\nexport const UserBorrowItemFragment = graphql(\n `fragment UserBorrowItem on UserBorrowItem {\n __typename\n id\n principal {\n ...Erc20Amount\n }\n interest {\n ...Erc20Amount\n }\n debt {\n ...Erc20Amount\n }\n reserve {\n ...Reserve\n }\n createdAt\n }`,\n [Erc20AmountFragment, ReserveFragment],\n);\nexport type UserBorrowItem = FragmentOf<typeof UserBorrowItemFragment>;\n\nexport const UserSummaryFragment = graphql(\n `fragment UserSummary on UserSummary {\n __typename\n totalPositions\n netBalance(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n totalCollateral(currency: $currency) {\n ...ExchangeAmount\n }\n totalSupplied(currency: $currency) {\n ...ExchangeAmount\n }\n totalDebt(currency: $currency) {\n ...ExchangeAmount\n }\n netApy {\n ...PercentNumber\n }\n netFeeEarned {\n ...ExchangeAmount\n }\n lowestHealthFactor\n }`,\n [\n ExchangeAmountWithChangeFragment,\n ExchangeAmountFragment,\n PercentNumberFragment,\n ],\n);\nexport type UserSummary = FragmentOf<typeof UserSummaryFragment>;\n\nexport const UserRiskPremiumBreakdownItemFragment = graphql(\n `fragment UserRiskPremiumBreakdownItem on UserRiskPremiumBreakdownItem {\n __typename\n token {\n ...Erc20Token\n }\n riskPremiumWeight {\n ...PercentNumber\n }\n collateral {\n ...PercentNumber\n }\n }`,\n [Erc20TokenFragment, PercentNumberFragment],\n);\nexport type UserRiskPremiumBreakdownItem = FragmentOf<\n typeof UserRiskPremiumBreakdownItemFragment\n>;\n\nexport const UserPositionRiskPremiumFragment = graphql(\n `fragment UserPositionRiskPremium on UserPositionRiskPremium {\n __typename\n current {\n ...PercentNumber\n }\n better {\n ...PercentNumber\n }\n breakdown {\n ...UserRiskPremiumBreakdownItem\n }\n }`,\n [PercentNumberFragment, UserRiskPremiumBreakdownItemFragment],\n);\nexport type UserPositionRiskPremium = FragmentOf<\n typeof UserPositionRiskPremiumFragment\n>;\n\nexport const UserPositionFragment = graphql(\n `fragment UserPosition on UserPosition {\n __typename\n id\n spoke {\n ...Spoke\n }\n user\n createdAt\n netApy {\n ...PercentNumber\n }\n netCollateral(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n netBalance(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n totalCollateral(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n totalSupplied(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n totalDebt(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n netSupplyApy {\n ...PercentNumberWithChange\n }\n netBorrowApy {\n ...PercentNumberWithChange\n }\n healthFactor {\n ...HealthFactorWithChange\n }\n riskPremium {\n ...UserPositionRiskPremium\n }\n liquidationPrice(currency: $currency) {\n ...ExchangeAmount\n }\n borrowingPower(currency: $currency) {\n ...ExchangeAmount\n }\n isUsingLatestDynamicConfigKey\n netBalancePercentChange(window: $timeWindow) {\n ...PercentNumber\n }\n averageCollateralFactor {\n ...PercentNumber\n }\n }`,\n [\n SpokeFragment,\n PercentNumberFragment,\n ExchangeAmountWithChangeFragment,\n ExchangeAmountFragment,\n PercentNumberWithChangeFragment,\n HealthFactorWithChangeFragment,\n UserPositionRiskPremiumFragment,\n ],\n);\nexport type UserPosition = FragmentOf<typeof UserPositionFragment>;\n\nexport const UserBalanceFragment = graphql(\n `fragment UserBalance on UserBalance {\n __typename\n id\n info {\n ...TokenInfo\n }\n totalAmount {\n ...DecimalNumber\n }\n balances {\n ...TokenAmount\n }\n exchange(currency: $currency) {\n ...ExchangeAmount\n }\n highestSupplyApy: supplyApy(metric: HIGHEST) {\n ...PercentNumber\n }\n highestBorrowApy: borrowApy(metric: HIGHEST) {\n ...PercentNumber\n }\n lowestSupplyApy: supplyApy(metric: LOWEST) {\n ...PercentNumber\n }\n lowestBorrowApy: borrowApy(metric: LOWEST) {\n ...PercentNumber\n }\n highestCollateralFactor: collateralFactor(metric: HIGHEST) {\n ...PercentNumber\n }\n lowestCollateralFactor: collateralFactor(metric: LOWEST) {\n ...PercentNumber\n }\n }`,\n [\n TokenInfoFragment,\n DecimalNumberFragment,\n TokenAmountFragment,\n ExchangeAmountFragment,\n PercentNumberFragment,\n ],\n);\nexport type UserBalance = FragmentOf<typeof UserBalanceFragment>;\n\nexport const UserSummaryHistoryItemFragment = graphql(\n `fragment UserSummaryHistoryItem on UserSummaryHistoryItem {\n __typename\n netBalance(currency: $currency) {\n ...ExchangeAmount\n }\n borrows(currency: $currency) {\n ...ExchangeAmount\n }\n supplies(currency: $currency) {\n ...ExchangeAmount\n }\n healthFactor\n date\n }`,\n [ExchangeAmountFragment],\n);\nexport type UserSummaryHistoryItem = FragmentOf<\n typeof UserSummaryHistoryItemFragment\n>;\n\nexport const ApySampleFragment = graphql(\n `fragment ApySample on ApySample {\n __typename\n date\n avgRate {\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type ApySample = FragmentOf<typeof ApySampleFragment>;\n","import type { FragmentOf } from 'gql.tada';\nimport {\n ExchangeAmountFragment,\n HubAssetFragment,\n PercentNumberFragment,\n} from './fragments';\nimport { HubFragment } from './fragments/hubs';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const HubQuery = graphql(\n `query Hub($request: HubRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: hub(request: $request) {\n ...Hub\n }\n }`,\n [HubFragment],\n);\nexport type HubRequest = RequestOf<typeof HubQuery>;\n\nexport type HubRequestQuery = ReturnType<\n typeof graphql.scalar<'HubRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const HubsQuery = graphql(\n `query Hubs($request: HubsRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: hubs(request: $request) {\n ...Hub\n }\n }`,\n [HubFragment],\n);\nexport type HubsRequest = RequestOf<typeof HubsQuery>;\n\n/**\n * @internal\n */\nexport const HubAssetsQuery = graphql(\n `query HubAssets($request: HubAssetsRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: hubAssets(request: $request) {\n ...HubAsset\n }\n }`,\n [HubAssetFragment],\n);\nexport type HubAssetsRequest = RequestOf<typeof HubAssetsQuery>;\n\nexport type HubAssetsRequestQuery = ReturnType<\n typeof graphql.scalar<'HubAssetsRequestQuery'>\n>;\n\nexport type HubsRequestQuery = ReturnType<\n typeof graphql.scalar<'HubsRequestQuery'>\n>;\n\nexport const HubSummarySampleFragment = graphql(\n `fragment HubSummarySample on HubSummarySample {\n __typename\n date\n deposits {\n ...ExchangeAmount\n }\n borrows {\n ...ExchangeAmount\n }\n availableLiquidity {\n ...ExchangeAmount\n }\n utilizationRate {\n ...PercentNumber\n }\n }`,\n [ExchangeAmountFragment, PercentNumberFragment],\n);\nexport type HubSummarySample = FragmentOf<typeof HubSummarySampleFragment>;\n\n/**\n * @internal\n */\nexport const HubSummaryHistoryQuery = graphql(\n `query HubSummaryHistory($request: HubSummaryHistoryRequest!) {\n value: hubSummaryHistory(request: $request) {\n ...HubSummarySample\n }\n }`,\n [HubSummarySampleFragment],\n);\nexport type HubSummaryHistoryRequest = RequestOf<typeof HubSummaryHistoryQuery>;\n\nexport type HubSummaryHistoryRequestQuery = ReturnType<\n typeof graphql.scalar<'HubSummaryHistoryRequestQuery'>\n>;\n","import {\n type ChainId,\n chainId,\n type EvmAddress,\n evmAddress,\n invariant,\n isValidHexString,\n} from '@aave/types';\nimport type { Tagged } from 'type-fest';\n\n/**\n * An identifier.\n */\nexport type ID = Tagged<string, 'ID'>;\n\n/**\n * A base64 encoded composite identifier.\n *\n * @internal\n */\nexport type Base64EncodedCompositeId = Tagged<\n string,\n 'Base64EncodedCompositeId'\n>;\n\nfunction decodeBase64(value: Base64EncodedCompositeId): string {\n return new TextDecoder().decode(\n Uint8Array.from(atob(value), (c) => c.charCodeAt(0)),\n );\n}\n\nfunction encodeBase64(value: string): Base64EncodedCompositeId {\n return btoa(\n String.fromCharCode(...new TextEncoder().encode(value)),\n ) as Base64EncodedCompositeId;\n}\n\nconst COMPOSITE_ID_SEPARATOR = '::';\n\n/**\n * An asset identifier.\n */\nexport type AssetId = Tagged<Base64EncodedCompositeId, 'AssetId'>;\n\n/**\n * Creates an asset identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `Asset.id` retrieved from another API call.\n */\nexport function assetId(value: string): AssetId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid AssetId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `AssetId must be valid base64: ${value}`,\n );\n return value as AssetId;\n}\n\n/**\n * A hub identifier.\n */\nexport type HubId = Tagged<Base64EncodedCompositeId, 'HubId'>;\n\n/**\n * Creates a hub identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `Hub.id` retrieved from another API call.\n */\nexport function hubId(value: string): HubId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid HubId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `HubId must be valid base64: ${value}`,\n );\n return value as HubId;\n}\n\n/**\n * @internal\n */\nexport type HubIdParts = {\n address: EvmAddress;\n chainId: ChainId;\n};\n\n/**\n * @internal\n */\nexport function encodeHubId(hub: HubIdParts): HubId {\n return hubId(\n encodeBase64(`${hub.chainId}${COMPOSITE_ID_SEPARATOR}${hub.address}`),\n );\n}\n\n/**\n * @internal\n */\nexport function decodeHubId(value: HubId): HubIdParts {\n const decoded = decodeBase64(value);\n const [a, b] = decoded.split(COMPOSITE_ID_SEPARATOR) as [string, string];\n return {\n chainId: chainId(Number.parseInt(a, 10)),\n address: evmAddress(b),\n };\n}\n\n/**\n * A hub asset identifier.\n */\nexport type HubAssetId = Tagged<Base64EncodedCompositeId, 'HubAssetId'>;\n\n/**\n * Creates a hub asset identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `HubAsset.id` retrieved from another API call.\n */\nexport function hubAssetId(value: string): HubAssetId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid HubAssetId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `HubAssetId must be valid base64: ${value}`,\n );\n return value as HubAssetId;\n}\n\n/**\n * The on-chain ID of a HubAsset. This is scoped to the specific Hub.\n */\nexport type OnChainHubAssetId = Tagged<number, 'OnChainHubAssetId'>;\n\n/**\n * The on-chain ID of a Reserve. This is scoped to the specific Spoke.\n */\nexport type OnChainReserveId = Tagged<string, 'OnChainReserveId'>;\n\n/**\n * A reserve identifier.\n */\nexport type ReserveId = Tagged<Base64EncodedCompositeId, 'ReserveId'>;\n\n/**\n * Creates a reserve identifier from a given value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal ciscumstances\n * use the `Reserve.id` from data retrieved from the API.\n */\nexport function reserveId(value: string): ReserveId {\n return value as ReserveId;\n}\n\n/**\n * @internal\n */\nexport type ReserveIdParts = {\n chainId: ChainId;\n spoke: EvmAddress;\n onChainId: OnChainReserveId;\n};\n\n/**\n * @internal\n */\nexport function decodeReserveId(value: ReserveId): ReserveIdParts {\n const decoded = decodeBase64(value);\n const [a, b, c] = decoded.split(COMPOSITE_ID_SEPARATOR) as [\n string,\n string,\n string,\n ];\n return {\n chainId: chainId(Number.parseInt(a, 10)),\n spoke: evmAddress(b),\n onChainId: c as OnChainReserveId,\n };\n}\n\n/**\n * @internal\n */\nexport function encodeReserveId(reserve: ReserveIdParts): ReserveId {\n return reserveId(\n encodeBase64(\n `${reserve.chainId}${COMPOSITE_ID_SEPARATOR}${reserve.spoke}${COMPOSITE_ID_SEPARATOR}${reserve.onChainId}`,\n ),\n );\n}\n\n/**\n * A user position identifier.\n */\nexport type UserPositionId = Tagged<string, 'UserPositionId'>;\n\n/**\n * Creates a user position identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal ciscumstances\n * use the `UserPosition.id` retrieved from another API call.\n */\nexport function userPositionId(value: string): UserPositionId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid UserPositionId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `UserPositionId must be valid base64: ${value}`,\n );\n return value as UserPositionId;\n}\n\n/**\n * A swap identifier.\n */\nexport type SwapId = Tagged<string, 'SwapId'>;\n\n/**\n * Creates a type-safe swap Id.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal ciscumstances\n * use the `Swap.id` retrieved from another API call.\n */\nexport function swapId(value: string): SwapId {\n invariant(isValidHexString(value), `Invalid SwapId: ${value}`);\n return value as SwapId;\n}\n\n/**\n * A swap quote identifier.\n */\nexport type SwapQuoteId = Tagged<string, 'SwapQuoteId'>;\n\n/**\n * Creates a type-safe Swap Quote ID.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `SwapQuote.id` retrieved from another API call.\n */\nexport function swapQuoteId(value: string): SwapQuoteId {\n invariant(isValidHexString(value), `Invalid SwapQuoteId: ${value}`);\n return value as SwapQuoteId;\n}\n\n/**\n * A spoke identifier.\n */\nexport type SpokeId = Tagged<Base64EncodedCompositeId, 'SpokeId'>;\n\n/**\n * @internal\n */\nexport type SpokeIdParts = {\n address: EvmAddress;\n chainId: ChainId;\n};\n\n/**\n * @internal\n */\nexport function encodeSpokeId(spoke: SpokeIdParts): SpokeId {\n return spokeId(\n encodeBase64(`${spoke.chainId}${COMPOSITE_ID_SEPARATOR}${spoke.address}`),\n );\n}\n\n/**\n * Creates a spoke identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `Spoke.id` retrieved from another API call.\n */\nexport function spokeId(value: string): SpokeId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid SpokeId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `SpokeId must be valid base64: ${value}`,\n );\n return value as SpokeId;\n}\n\n/**\n * A user balance identifier.\n */\nexport type UserBalanceId = Tagged<string, 'UserBalanceId'>;\n\n/**\n * Creates a user balance identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `UserBalance.id` retrieved from another API call.\n */\nexport function userBalanceId(value: string): UserBalanceId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid UserBalanceId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `UserBalanceId must be valid base64: ${value}`,\n );\n return value as UserBalanceId;\n}\n\n/**\n * A user borrow item identifier.\n */\nexport type UserBorrowItemId = Tagged<string, 'UserBorrowItemId'>;\n\n/**\n * Creates a user borrow item identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `UserBorrowItem.id` retrieved from another API call.\n */\nexport function userBorrowItemId(value: string): UserBorrowItemId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid UserBorrowItemId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `UserBorrowItemId must be valid base64: ${value}`,\n );\n return value as UserBorrowItemId;\n}\n\n/**\n * A user supply item identifier.\n */\nexport type UserSupplyItemId = Tagged<string, 'UserSupplyItemId'>;\n\n/**\n * Creates a user supply item identifier from a given base64 value.\n *\n * @remarks\n * This is meant to be used in tests and POC context. In normal circumstances\n * use the `UserSupplyItem.id` retrieved from another API call.\n */\nexport function userSupplyItemId(value: string): UserSupplyItemId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid UserSupplyItemId: ${value}`,\n );\n // Basic base64 validation - contains only valid base64 characters\n invariant(\n /^[A-Za-z0-9+/]*={0,2}$/.test(value),\n `UserSupplyItemId must be valid base64: ${value}`,\n );\n return value as UserSupplyItemId;\n}\n\n/**\n * A token info identifier.\n */\nexport type TokenInfoId = Tagged<string, 'TokenInfoId'>;\n\n/**\n * @internal\n */\nexport function tokenInfoId(value: string): TokenInfoId {\n invariant(\n typeof value === 'string' && value.length > 0,\n `Invalid TokenInfoId: ${value}`,\n );\n return value as TokenInfoId;\n}\n","import { type ChainId, isObject } from '@aave/types';\nimport type { graphql } from './graphql';\n\nexport type HubInput = ReturnType<typeof graphql.scalar<'HubInput'>>;\n\n/**\n * @internal\n */\nexport function isHubInputVariant<T>(\n input: T,\n): input is T & { hubInput: HubInput } {\n return isObject(input) && 'hubInput' in input && input.hubInput != null;\n}\n\n/**\n * @internal\n */\nexport function isChainIdsVariant<T>(\n input: T,\n): input is T & { chainIds: ChainId[] } {\n return isObject(input) && 'chainIds' in input && input.chainIds != null;\n}\n\nexport type SpokeInput = ReturnType<typeof graphql.scalar<'SpokeInput'>>;\n\n/**\n * @internal\n */\nexport function isSpokeInputVariant<T>(\n input: T,\n): input is T & { spoke: SpokeInput } {\n return isObject(input) && 'spoke' in input && input.spoke != null;\n}\n\n// Common input types used across multiple queries\nexport type AmountInput = ReturnType<typeof graphql.scalar<'AmountInput'>>;\nexport type Erc20Input = ReturnType<typeof graphql.scalar<'Erc20Input'>>;\nexport type TokenInput = ReturnType<typeof graphql.scalar<'TokenInput'>>;\nexport type ReserveInput = ReturnType<typeof graphql.scalar<'ReserveInput'>>;\nexport type ReserveAmountInput = ReturnType<\n typeof graphql.scalar<'ReserveAmountInput'>\n>;\nexport type ReserveErc20AmountInput = ReturnType<\n typeof graphql.scalar<'ReserveErc20AmountInput'>\n>;\nexport type ReserveAmountInputWithPermit = ReturnType<\n typeof graphql.scalar<'ReserveAmountInputWithPermit'>\n>;\nexport type ReserveErc20AmountInputWithPermit = ReturnType<\n typeof graphql.scalar<'ReserveErc20AmountInputWithPermit'>\n>;\nexport type TxHashInput = ReturnType<typeof graphql.scalar<'TxHashInput'>>;\n\n/**\n * @internal\n */\nexport function isTxHashInputVariant<T>(\n input: T,\n): input is T & { txHash: TxHashInput } {\n return isObject(input) && 'txHash' in input && input.txHash != null;\n}\n\nexport type HubTokenInput = ReturnType<typeof graphql.scalar<'HubTokenInput'>>;\nexport type HubIdTokenInput = ReturnType<\n typeof graphql.scalar<'HubIdTokenInput'>\n>;\nexport type SpokeTokenInput = ReturnType<\n typeof graphql.scalar<'SpokeTokenInput'>\n>;\n","import { ChainFragment, ExchangeAmountFragment } from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const ChainQuery = graphql(\n `query Chain($request: ChainRequest!) {\n value: chain(request: $request) {\n ...Chain\n }\n }`,\n [ChainFragment],\n);\nexport type ChainRequest = RequestOf<typeof ChainQuery>;\n\n/**\n * @internal\n */\nexport const ChainsQuery = graphql(\n `query Chains($request: ChainsRequest!) {\n value: chains(request: $request) {\n ...Chain\n }\n }`,\n [ChainFragment],\n);\nexport type ChainsRequest = RequestOf<typeof ChainsQuery>;\n\nexport type ChainsRequestQuery = ReturnType<\n typeof graphql.scalar<'ChainsRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const HasProcessedKnownTransactionQuery = graphql(\n `query HasProcessedKnownTransaction($request: HasProcessedKnownTransactionRequest!) {\n value: hasProcessedKnownTransaction(request: $request)\n }`,\n);\nexport type HasProcessedKnownTransactionRequest = RequestOf<\n typeof HasProcessedKnownTransactionQuery\n>;\n\n/**\n * @internal\n */\nexport const HealthQuery = graphql(\n `query Health {\n value: health\n }`,\n);\n\n/**\n * @internal\n */\nexport const ExchangeRateQuery = graphql(\n `query ExchangeRate($request: ExchangeRateRequest!) {\n value: exchangeRate(request: $request) {\n ...ExchangeAmount\n }\n }`,\n [ExchangeAmountFragment],\n);\nexport type ExchangeRateRequest = RequestOf<typeof ExchangeRateQuery>;\n\nexport type ExchangeRateRequestFrom = ReturnType<\n typeof graphql.scalar<'ExchangeRateRequestFrom'>\n>;\n","import type { FragmentOf } from 'gql.tada';\nimport {\n DecimalNumberFragment,\n DecimalNumberWithChangeFragment,\n Erc20TokenFragment,\n ExchangeAmountFragment,\n ExchangeAmountWithChangeFragment,\n PercentNumberFragment,\n} from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\nexport const AssetPriceSampleFragment = graphql(\n `fragment AssetPriceSample on AssetPriceSample {\n __typename\n date\n price\n }`,\n);\nexport type AssetPriceSample = FragmentOf<typeof AssetPriceSampleFragment>;\n\nexport const AssetSupplySampleFragment = graphql(\n `fragment AssetSupplySample on AssetSupplySample {\n __typename\n date\n amount {\n ...DecimalNumber\n }\n highestApy {\n ...PercentNumber\n }\n lowestApy {\n ...PercentNumber\n }\n }`,\n [DecimalNumberFragment, PercentNumberFragment],\n);\nexport type AssetSupplySample = FragmentOf<typeof AssetSupplySampleFragment>;\n\nexport const AssetBorrowSampleFragment = graphql(\n `fragment AssetBorrowSample on AssetBorrowSample {\n __typename\n date\n amount {\n ...DecimalNumber\n }\n highestApy {\n ...PercentNumber\n }\n lowestApy {\n ...PercentNumber\n }\n }`,\n [DecimalNumberFragment, PercentNumberFragment],\n);\nexport type AssetBorrowSample = FragmentOf<typeof AssetBorrowSampleFragment>;\n\nexport const AssetCategoryBorrowSampleFragment = graphql(\n `fragment AssetCategoryBorrowSample on AssetCategoryBorrowSample {\n __typename\n date\n highestApy {\n ...PercentNumber\n }\n lowestApy {\n ...PercentNumber\n }\n borrows(currency: $currency) {\n ...ExchangeAmount\n }\n }`,\n [PercentNumberFragment, ExchangeAmountFragment],\n);\nexport type AssetCategoryBorrowSample = FragmentOf<\n typeof AssetCategoryBorrowSampleFragment\n>;\n\nexport const AssetCategorySupplySampleFragment = graphql(\n `fragment AssetCategorySupplySample on AssetCategorySupplySample {\n __typename\n date\n highestApy {\n ...PercentNumber\n }\n lowestApy {\n ...PercentNumber\n }\n deposits(currency: $currency) {\n ...ExchangeAmount\n }\n }`,\n [PercentNumberFragment, ExchangeAmountFragment],\n);\nexport type AssetCategorySupplySample = FragmentOf<\n typeof AssetCategorySupplySampleFragment\n>;\n\nexport const AssetAmountWithChangeFragment = graphql(\n `fragment AssetAmountWithChange on AssetAmountWithChange {\n __typename\n amount {\n ...DecimalNumberWithChange\n }\n exchange(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n }`,\n [DecimalNumberWithChangeFragment, ExchangeAmountWithChangeFragment],\n);\nexport type AssetAmountWithChange = FragmentOf<\n typeof AssetAmountWithChangeFragment\n>;\n\nexport const AssetSummaryFragment = graphql(\n `fragment AssetSummary on AssetSummary {\n __typename\n totalSupplyCap {\n ...DecimalNumberWithChange\n }\n totalSupplied {\n ...AssetAmountWithChange\n }\n totalSuppliable {\n ...AssetAmountWithChange\n }\n totalBorrowCap {\n ...DecimalNumberWithChange\n }\n totalBorrowed {\n ...AssetAmountWithChange\n }\n totalBorrowable {\n ...AssetAmountWithChange\n }\n averageBorrowApy: borrowApy(metric: AVERAGE) {\n ...PercentNumber\n }\n averageSupplyApy: supplyApy(metric: AVERAGE) {\n ...PercentNumber\n }\n }`,\n [\n AssetAmountWithChangeFragment,\n DecimalNumberWithChangeFragment,\n PercentNumberFragment,\n ],\n);\nexport type AssetSummary = FragmentOf<typeof AssetSummaryFragment>;\n\nexport const AssetFragment = graphql(\n `fragment Asset on Asset {\n __typename\n id\n token {\n ...Erc20Token\n }\n summary {\n ...AssetSummary\n }\n price(currency: $currency) {\n ...ExchangeAmountWithChange\n }\n }`,\n [Erc20TokenFragment, AssetSummaryFragment, ExchangeAmountWithChangeFragment],\n);\nexport type Asset = FragmentOf<typeof AssetFragment>;\n\n/**\n * @internal\n */\nexport const AssetQuery = graphql(\n `query Asset($request: AssetRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: asset(request: $request) {\n ...Asset\n }\n }`,\n [AssetFragment],\n);\nexport type AssetRequest = RequestOf<typeof AssetQuery>;\n\nexport type AssetRequestQuery = ReturnType<\n typeof graphql.scalar<'AssetRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const AssetPriceHistoryQuery = graphql(\n `query AssetPriceHistory($request: AssetPriceHistoryRequest!) {\n value: assetPriceHistory(request: $request) {\n ...AssetPriceSample\n }\n }`,\n [AssetPriceSampleFragment],\n);\nexport type AssetPriceHistoryRequest = RequestOf<typeof AssetPriceHistoryQuery>;\nexport type AssetPriceHistoryRequestQuery = ReturnType<\n typeof graphql.scalar<'AssetPriceHistoryRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const AssetSupplyHistoryQuery = graphql(\n `query AssetSupplyHistory($request: AssetSupplyHistoryRequest!) {\n value: assetSupplyHistory(request: $request) {\n ...AssetSupplySample\n }\n }`,\n [AssetSupplySampleFragment],\n);\nexport type AssetSupplyHistoryRequest = RequestOf<\n typeof AssetSupplyHistoryQuery\n>;\nexport type AssetSupplyHistoryRequestQuery = ReturnType<\n typeof graphql.scalar<'AssetSupplyHistoryRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const AssetBorrowHistoryQuery = graphql(\n `query AssetBorrowHistory($request: AssetBorrowHistoryRequest!) {\n value: assetBorrowHistory(request: $request) {\n ...AssetBorrowSample\n }\n }`,\n [AssetBorrowSampleFragment],\n);\nexport type AssetBorrowHistoryRequest = RequestOf<\n typeof AssetBorrowHistoryQuery\n>;\nexport type AssetBorrowHistoryRequestQuery = ReturnType<\n typeof graphql.scalar<'AssetBorrowHistoryRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const AssetCategoryBorrowHistoryQuery = graphql(\n `query AssetCategoryBorrowHistory($request: AssetCategoryBorrowHistoryRequest!, $currency: Currency! = USD) {\n value: assetCategoryBorrowHistory(request: $request) {\n ...AssetCategoryBorrowSample\n }\n }`,\n [AssetCategoryBorrowSampleFragment],\n);\nexport type AssetCategoryBorrowHistoryRequest = RequestOf<\n typeof AssetCategoryBorrowHistoryQuery\n>;\n\n/**\n * @internal\n */\nexport const AssetCategorySupplyHistoryQuery = graphql(\n `query AssetCategorySupplyHistory($request: AssetCategorySupplyHistoryRequest!, $currency: Currency! = USD) {\n value: assetCategorySupplyHistory(request: $request) {\n ...AssetCategorySupplySample\n }\n }`,\n [AssetCategorySupplySampleFragment],\n);\nexport type AssetCategorySupplyHistoryRequest = RequestOf<\n typeof AssetCategorySupplyHistoryQuery\n>;\n\nexport const ProtocolHistorySampleFragment = graphql(\n `fragment ProtocolHistorySample on ProtocolHistorySample {\n __typename\n date\n deposits {\n ...ExchangeAmount\n }\n borrows {\n ...ExchangeAmount\n }\n earnings {\n ...ExchangeAmount\n }\n }`,\n [ExchangeAmountFragment],\n);\nexport type ProtocolHistorySample = FragmentOf<\n typeof ProtocolHistorySampleFragment\n>;\n\n/**\n * @internal\n */\nexport const ProtocolHistoryQuery = graphql(\n `query ProtocolHistory($request: ProtocolHistoryRequest!) {\n value: protocolHistory(request: $request) {\n ...ProtocolHistorySample\n }\n }`,\n [ProtocolHistorySampleFragment],\n);\nexport type ProtocolHistoryRequest = RequestOf<typeof ProtocolHistoryQuery>;\n","import { ApySampleFragment, ReserveFragment } from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const BorrowApyHistoryQuery = graphql(\n `query BorrowApyHistory($request: BorrowApyHistoryRequest!) {\n value: borrowApyHistory(request: $request) {\n ...ApySample\n }\n }`,\n [ApySampleFragment],\n);\nexport type BorrowApyHistoryRequest = RequestOf<typeof BorrowApyHistoryQuery>;\n\n/**\n * @internal\n */\nexport const SupplyApyHistoryQuery = graphql(\n `query SupplyApyHistory($request: SupplyApyHistoryRequest!) {\n value: supplyApyHistory(request: $request) {\n ...ApySample\n }\n }`,\n [ApySampleFragment],\n);\nexport type SupplyApyHistoryRequest = RequestOf<typeof SupplyApyHistoryQuery>;\n\nexport const ReserveQuery = graphql(\n `query Reserve($request: ReserveRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: reserve(request: $request) {\n ...Reserve\n }\n }`,\n [ReserveFragment],\n);\nexport type ReserveRequest = RequestOf<typeof ReserveQuery>;\n\nexport type ReserveRequestQuery = ReturnType<\n typeof graphql.scalar<'ReserveRequestQuery'>\n>;\n\nexport const ReservesQuery = graphql(\n `query Reserves($request: ReservesRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: reserves(request: $request) {\n ...Reserve\n }\n }`,\n [ReserveFragment],\n);\nexport type ReservesRequest = RequestOf<typeof ReservesQuery>;\n\nexport type ReservesRequestOrderBy = ReturnType<\n typeof graphql.scalar<'ReservesRequestOrderBy'>\n>;\nexport type ReservesRequestQuery = ReturnType<\n typeof graphql.scalar<'ReservesRequestQuery'>\n>;\nexport type ChainTokenCategories = ReturnType<\n typeof graphql.scalar<'ChainTokenCategories'>\n>;\n","import {\n PaginatedSpokePositionManagerResultFragment,\n PaginatedSpokeUserPositionManagerResultFragment,\n SpokeFragment,\n} from './fragments/spoke';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const SpokeQuery = graphql(\n `query Spoke($request: SpokeRequest!) {\n value: spoke(request: $request) {\n ...Spoke\n }\n }`,\n [SpokeFragment],\n);\nexport type SpokeRequest = RequestOf<typeof SpokeQuery>;\n\nexport type SpokeRequestQuery = ReturnType<\n typeof graphql.scalar<'SpokeRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const SpokesQuery = graphql(\n `query Spokes($request: SpokesRequest!) {\n value: spokes(request: $request) {\n ...Spoke\n }\n }`,\n [SpokeFragment],\n);\nexport type SpokesRequest = RequestOf<typeof SpokesQuery>;\n\nexport type SpokesRequestQuery = ReturnType<\n typeof graphql.scalar<'SpokesRequestQuery'>\n>;\n\n/**\n * @internal\n */\nexport const SpokePositionManagersQuery = graphql(\n `query SpokePositionManagers($request: SpokePositionManagersRequest!) {\n value: spokePositionManagers(request: $request) {\n ...PaginatedSpokePositionManagerResult\n }\n }`,\n [PaginatedSpokePositionManagerResultFragment],\n);\nexport type SpokePositionManagersRequest = RequestOf<\n typeof SpokePositionManagersQuery\n>;\n\n/**\n * @internal\n */\nexport const SpokeUserPositionManagersQuery = graphql(\n `query SpokeUserPositionManagers($request: SpokeUserPositionManagersRequest!) {\n value: spokeUserPositionManagers(request: $request) {\n ...PaginatedSpokeUserPositionManagerResult\n }\n }`,\n [PaginatedSpokeUserPositionManagerResultFragment],\n);\nexport type SpokeUserPositionManagersRequest = RequestOf<\n typeof SpokeUserPositionManagersQuery\n>;\n","import {\n CancelSwapExecutionPlanFragment,\n PaginatedUserSwapsResultFragment,\n PrepareSwapCancelResultFragment,\n PrepareSwapResultFragment,\n SwapExecutionPlanFragment,\n SwapQuoteFragment,\n SwapStatusFragment,\n TokenFragment,\n} from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const SwapQuoteQuery = graphql(\n `query SwapQuote($request: SwapQuoteRequest!, $currency: Currency!) {\n value: swapQuote(request: $request) {\n ...SwapQuote\n }\n }`,\n [SwapQuoteFragment],\n);\nexport type SwapQuoteRequest = RequestOf<typeof SwapQuoteQuery>;\n\n/**\n * @internal\n */\nexport const SwappableTokensQuery = graphql(\n `query SwappableTokens($request: SwappableTokensRequest!) {\n value: swappableTokens(request: $request) {\n ...Token\n }\n }`,\n [TokenFragment],\n);\nexport type SwappableTokensRequest = RequestOf<typeof SwappableTokensQuery>;\n\n/**\n * @internal\n */\nexport const PrepareSwapQuery = graphql(\n `query PrepareSwap($request: PrepareSwapRequest!, $currency: Currency!) {\n value: prepareSwap(request: $request) {\n ...PrepareSwapResult\n }\n }`,\n [PrepareSwapResultFragment],\n);\nexport type PrepareSwapRequest = RequestOf<typeof PrepareSwapQuery>;\n\n/**\n * @internal\n */\nexport const SwapStatusQuery = graphql(\n `query SwapStatus($request: SwapStatusRequest!, $currency: Currency!) {\n value: swapStatus(request: $request) {\n ...SwapStatus\n }\n }`,\n [SwapStatusFragment],\n);\nexport type SwapStatusRequest = RequestOf<typeof SwapStatusQuery>;\n\n/**\n * @internal\n */\nexport const SwapQuery = graphql(\n `query Swap($request: SwapRequest!) {\n value: swap(request: $request) {\n ...SwapExecutionPlan\n }\n }`,\n [SwapExecutionPlanFragment],\n);\nexport type SwapRequest = RequestOf<typeof SwapQuery>;\n\n/**\n * @internal\n */\nexport const PrepareSwapCancelQuery = graphql(\n `query PrepareSwapCancel($request: PrepareSwapCancelRequest!) {\n value: prepareSwapCancel(request: $request) {\n ...PrepareSwapCancelResult\n }\n }`,\n [PrepareSwapCancelResultFragment],\n);\nexport type PrepareSwapCancelRequest = RequestOf<typeof PrepareSwapCancelQuery>;\n\n/**\n * @internal\n */\nexport const CancelSwapQuery = graphql(\n `query CancelSwap($request: CancelSwapRequest!) {\n value: cancelSwap(request: $request) {\n ...CancelSwapExecutionPlan\n }\n }`,\n [CancelSwapExecutionPlanFragment],\n);\nexport type CancelSwapRequest = RequestOf<typeof CancelSwapQuery>;\n\n/**\n * @internal\n */\nexport const UserSwapsQuery = graphql(\n `query UserSwaps($request: UserSwapsRequest!, $currency: Currency!) {\n value: userSwaps(request: $request) {\n ...PaginatedUserSwapsResult\n }\n }`,\n [PaginatedUserSwapsResultFragment],\n);\nexport type UserSwapsRequest = RequestOf<typeof UserSwapsQuery>;\n\nexport type CancelIntentSwapInput = ReturnType<\n typeof graphql.scalar<'CancelIntentSwapInput'>\n>;\nexport type PrepareLimitOrderSwapInput = ReturnType<\n typeof graphql.scalar<'PrepareLimitOrderSwapInput'>\n>;\nexport type PrepareMarketOrderSwapInput = ReturnType<\n typeof graphql.scalar<'PrepareMarketOrderSwapInput'>\n>;\nexport type SwapByIntentInput = ReturnType<\n typeof graphql.scalar<'SwapByIntentInput'>\n>;\nexport type SwapWithTransactionInput = ReturnType<\n typeof graphql.scalar<'SwapWithTransactionInput'>\n>;\nexport type SwappableTokensRequestQuery = ReturnType<\n typeof graphql.scalar<'SwappableTokensRequestQuery'>\n>;\n","import type { ExtendWithOpaqueType, TxHash } from '@aave/types';\nimport type { FragmentOf } from 'gql.tada';\nimport {\n type Chain,\n ChainFragment,\n Erc20AmountFragment,\n type Erc20ApprovalRequired,\n Erc20ApprovalRequiredFragment,\n Erc20TokenFragment,\n ExchangeAmountVariationFragment,\n ExecutionPlanFragment,\n HealthFactorResultFragment,\n type InsufficientBalanceError,\n InsufficientBalanceErrorFragment,\n PaginatedResultInfoFragment,\n PercentNumberFragment,\n PercentNumberVariationFragment,\n ReserveInfoFragment,\n SpokeFragment,\n type TransactionRequest,\n TransactionRequestFragment,\n} from './fragments';\nimport { type FragmentDocumentFor, graphql, type RequestOf } from './graphql';\nimport type { ID } from './id';\n\n/**\n * @internal\n */\nexport const BorrowQuery = graphql(\n `query Borrow($request: BorrowRequest!) {\n value: borrow(request: $request) {\n ...ExecutionPlan\n }\n }`,\n [ExecutionPlanFragment],\n);\nexport type BorrowRequest = RequestOf<typeof BorrowQuery>;\n\n/**\n * @internal\n */\nexport const SupplyQuery = graphql(\n `query Supply($request: SupplyRequest!) {\n value: supply(request: $request) {\n ...ExecutionPlan\n }\n }`,\n [ExecutionPlanFragment],\n);\nexport type SupplyRequest = RequestOf<typeof SupplyQuery>;\n\n/**\n * @internal\n */\nexport const RepayQuery = graphql(\n `query Repay($request: RepayRequest!) {\n value: repay(request: $request) {\n ...ExecutionPlan\n }\n }`,\n [ExecutionPlanFragment],\n);\nexport type RepayRequest = RequestOf<typeof RepayQuery>;\n\n/**\n * @internal\n */\nexport const WithdrawQuery = graphql(\n `query Withdraw($request: WithdrawRequest!) {\n value: withdraw(request: $request) {\n ...ExecutionPlan\n }\n }`,\n [ExecutionPlanFragment],\n);\nexport type WithdrawRequest = RequestOf<typeof WithdrawQuery>;\n\nexport type LiquidatePositionExecutionPlan =\n | TransactionRequest\n | Erc20ApprovalRequired\n | InsufficientBalanceError;\n\nexport const LiquidatePositionExecutionPlanFragment: FragmentDocumentFor<\n LiquidatePositionExecutionPlan,\n 'LiquidatePositionExecutionPlan'\n> = graphql(\n `fragment LiquidatePositionExecutionPlan on LiquidatePositionExecutionPlan {\n __typename\n ... on TransactionRequest {\n ...TransactionRequest\n }\n ... on Erc20ApprovalRequired {\n ...Erc20ApprovalRequired\n }\n ... on InsufficientBalanceError {\n ...InsufficientBalanceError\n }\n }`,\n [\n TransactionRequestFragment,\n Erc20ApprovalRequiredFragment,\n InsufficientBalanceErrorFragment,\n ],\n);\n\n/**\n * @internal\n */\nexport const LiquidatePositionQuery = graphql(\n `query LiquidatePosition($request: LiquidatePositionRequest!) {\n value: liquidatePosition(request: $request) {\n ...LiquidatePositionExecutionPlan\n }\n }`,\n [LiquidatePositionExecutionPlanFragment],\n);\nexport type LiquidatePositionRequest = RequestOf<typeof LiquidatePositionQuery>;\n\n/**\n * @internal\n */\nexport const SetSpokeUserPositionManagerQuery = graphql(\n `query SetSpokeUserPositionManager($request: SetSpokeUserPositionManagerRequest!) {\n value: setSpokeUserPositionManager(request: $request) {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type SetSpokeUserPositionManagerRequest = RequestOf<\n typeof SetSpokeUserPositionManagerQuery\n>;\n\n/**\n * @internal\n */\nexport const SetUserSuppliesAsCollateralQuery = graphql(\n `query SetUserSuppliesAsCollateral($request: SetUserSuppliesAsCollateralRequest!) {\n value: setUserSuppliesAsCollateral(request: $request) {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type SetUserSuppliesAsCollateralRequest = RequestOf<\n typeof SetUserSuppliesAsCollateralQuery\n>;\n\nexport type UserSupplyAsCollateral = ReturnType<\n typeof graphql.scalar<'UserSupplyAsCollateral'>\n>;\n\n/**\n * @internal\n */\nexport const RenounceSpokeUserPositionManagerQuery = graphql(\n `query RenounceSpokeUserPositionManager($request: RenounceSpokeUserPositionManagerRequest!) {\n value: renounceSpokeUserPositionManager(request: $request) {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type RenounceSpokeUserPositionManagerRequest = RequestOf<\n typeof RenounceSpokeUserPositionManagerQuery\n>;\n\n/**\n * @internal\n */\nexport const UpdateUserPositionConditionsQuery = graphql(\n `query UpdateUserPositionConditions($request: UpdateUserPositionConditionsRequest!) {\n value: updateUserPositionConditions(request: $request) {\n ...TransactionRequest\n }\n }`,\n [TransactionRequestFragment],\n);\nexport type UpdateUserPositionConditionsRequest = RequestOf<\n typeof UpdateUserPositionConditionsQuery\n>;\n\nexport const CollateralFactorVariationFragment = graphql(\n `fragment CollateralFactorVariation on CollateralFactorVariation {\n __typename\n reserveId\n token {\n ...Erc20Token\n }\n current {\n ...PercentNumber\n }\n after {\n ...PercentNumber\n }\n }`,\n [Erc20TokenFragment, PercentNumberFragment],\n);\nexport type CollateralFactorVariation = FragmentOf<\n typeof CollateralFactorVariationFragment\n>;\n\nexport const LiquidationFeeVariationFragment = graphql(\n `fragment LiquidationFeeVariation on LiquidationFeeVariation {\n __typename\n reserveId\n token {\n ...Erc20Token\n }\n current {\n ...PercentNumber\n }\n after {\n ...PercentNumber\n }\n }`,\n [Erc20TokenFragment, PercentNumberFragment],\n);\nexport type LiquidationFeeVariation = FragmentOf<\n typeof LiquidationFeeVariationFragment\n>;\n\nexport const MaxLiquidationBonusVariationFragment = graphql(\n `fragment MaxLiquidationBonusVariation on MaxLiquidationBonusVariation {\n __typename\n reserveId\n token {\n ...Erc20Token\n }\n current {\n ...PercentNumber\n }\n after {\n ...PercentNumber\n }\n }`,\n [Erc20TokenFragment, PercentNumberFragment],\n);\nexport type MaxLiquidationBonusVariation = FragmentOf<\n typeof MaxLiquidationBonusVariationFragment\n>;\n\nexport const UserPositionConditionVariationFragment = graphql(\n `fragment UserPositionConditionVariation on UserPositionConditionVariation {\n __typename\n ... on CollateralFactorVariation {\n ...CollateralFactorVariation\n }\n ... on LiquidationFeeVariation {\n ...LiquidationFeeVariation\n }\n ... on MaxLiquidationBonusVariation {\n ...MaxLiquidationBonusVariation\n }\n }`,\n [\n CollateralFactorVariationFragment,\n LiquidationFeeVariationFragment,\n MaxLiquidationBonusVariationFragment,\n ],\n);\nexport type UserPositionConditionVariation = FragmentOf<\n typeof UserPositionConditionVariationFragment\n>;\n\nexport const PreviewUserPositionFragment = graphql(\n `fragment PreviewUserPosition on PreviewUserPosition {\n __typename\n id\n healthFactor {\n ...HealthFactorResult\n }\n netApy {\n ...PercentNumberVariation\n }\n riskPremium {\n ...PercentNumberVariation\n }\n netCollateral(currency: $currency) {\n ...ExchangeAmountVariation\n }\n netBalance(currency: $currency) {\n ...ExchangeAmountVariation\n }\n projectedEarnings(period: ANNUAL) {\n ...ExchangeAmountVariation\n }\n borrowingPower {\n ...ExchangeAmountVariation\n }\n otherConditions {\n ...UserPositionConditionVariation\n }\n }`,\n [\n HealthFactorResultFragment,\n PercentNumberVariationFragment,\n ExchangeAmountVariationFragment,\n UserPositionConditionVariationFragment,\n ],\n);\nexport type PreviewUserPosition = FragmentOf<\n typeof PreviewUserPositionFragment\n>;\n\n/**\n * @internal\n */\nexport const PreviewQuery = graphql(\n `query Preview($request: PreviewRequest!, $currency: Currency! = USD) {\n value: preview(request: $request) {\n ...PreviewUserPosition\n }\n }`,\n [PreviewUserPositionFragment],\n);\nexport type PreviewAction = ReturnType<typeof graphql.scalar<'PreviewAction'>>;\nexport type PreviewRequest = RequestOf<typeof PreviewQuery>;\n\nexport type LiquidatePositionDebtAmount = ReturnType<\n typeof graphql.scalar<'LiquidatePositionDebtAmount'>\n>;\nexport type RepayAmountInputWithPermit = ReturnType<\n typeof graphql.scalar<'RepayAmountInputWithPermit'>\n>;\nexport type RepayErc20AmountInputWithPermit = ReturnType<\n typeof graphql.scalar<'RepayErc20AmountInputWithPermit'>\n>;\nexport type WithdrawReserveAmountInput = ReturnType<\n typeof graphql.scalar<'WithdrawReserveAmountInput'>\n>;\n\n// Activity Fragments\nexport const PercentNumberChangeSnapshotFragment = graphql(\n `fragment PercentNumberChangeSnapshot on PercentNumberChangeSnapshot {\n __typename\n before {\n ...PercentNumber\n }\n after {\n ...PercentNumber\n }\n }`,\n [PercentNumberFragment],\n);\nexport type PercentNumberChangeSnapshot = FragmentOf<\n typeof PercentNumberChangeSnapshotFragment\n>;\n\nexport const BorrowActivityFragment = graphql(\n `fragment BorrowActivity on BorrowActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n borrowed {\n ...Erc20Amount\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type BorrowActivity = FragmentOf<typeof BorrowActivityFragment>;\n\nexport const SupplyActivityFragment = graphql(\n `fragment SupplyActivity on SupplyActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n supplied {\n ...Erc20Amount\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type SupplyActivity = FragmentOf<typeof SupplyActivityFragment>;\n\nexport const WithdrawActivityFragment = graphql(\n `fragment WithdrawActivity on WithdrawActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n withdrawn {\n ...Erc20Amount\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type WithdrawActivity = FragmentOf<typeof WithdrawActivityFragment>;\n\nexport const RepayActivityFragment = graphql(\n `fragment RepayActivity on RepayActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n repaid {\n ...Erc20Amount\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type RepayActivity = FragmentOf<typeof RepayActivityFragment>;\n\nexport const LiquidatedActivityFragment = graphql(\n `fragment LiquidatedActivity on LiquidatedActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n collateralReserve {\n ...ReserveInfo\n }\n debtReserve {\n ...ReserveInfo\n }\n collateral {\n ...Erc20Amount\n }\n debt {\n ...Erc20Amount\n }\n liquidator\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, Erc20AmountFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type LiquidatedActivity = FragmentOf<typeof LiquidatedActivityFragment>;\n\nexport const UsingAsCollateralActivityFragment = graphql(\n `fragment UsingAsCollateralActivity on UsingAsCollateralActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n enabledAsCollateral\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, ReserveInfoFragment, ChainFragment],\n);\nexport type UsingAsCollateralActivity = FragmentOf<\n typeof UsingAsCollateralActivityFragment\n>;\n\nexport const UpdatedDynamicConfigActivityFragment = graphql(\n `fragment UpdatedDynamicConfigActivity on UpdatedDynamicConfigActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n reserve {\n ...ReserveInfo\n }\n collateralFactor {\n ...PercentNumberChangeSnapshot\n }\n maxLiquidationBonus {\n ...PercentNumberChangeSnapshot\n }\n liquidationFee {\n ...PercentNumberChangeSnapshot\n }\n chain {\n ...Chain\n }\n }`,\n [\n SpokeFragment,\n ReserveInfoFragment,\n PercentNumberChangeSnapshotFragment,\n ChainFragment,\n ],\n);\nexport type UpdatedDynamicConfigActivity = FragmentOf<\n typeof UpdatedDynamicConfigActivityFragment\n>;\n\nexport const UpdatedRiskPremiumActivityFragment = graphql(\n `fragment UpdatedRiskPremiumActivity on UpdatedRiskPremiumActivity {\n __typename\n id\n user\n timestamp\n txHash\n spoke {\n ...Spoke\n }\n premium {\n ...PercentNumberChangeSnapshot\n }\n chain {\n ...Chain\n }\n }`,\n [SpokeFragment, PercentNumberChangeSnapshotFragment, ChainFragment],\n);\nexport type UpdatedRiskPremiumActivity = FragmentOf<\n typeof UpdatedRiskPremiumActivityFragment\n>;\n\nexport const ActivityItemFragment = graphql(\n `fragment ActivityItem on ActivityItem {\n __typename\n ... on BorrowActivity {\n ...BorrowActivity\n }\n ... on SupplyActivity {\n ...SupplyActivity\n }\n ... on WithdrawActivity {\n ...WithdrawActivity\n }\n ... on RepayActivity {\n ...RepayActivity\n }\n ... on LiquidatedActivity {\n ...LiquidatedActivity\n }\n ... on UsingAsCollateralActivity {\n ...UsingAsCollateralActivity\n }\n ... on UpdatedDynamicConfigActivity {\n ...UpdatedDynamicConfigActivity\n }\n ... on UpdatedRiskPremiumActivity {\n ...UpdatedRiskPremiumActivity\n }\n }`,\n [\n BorrowActivityFragment,\n SupplyActivityFragment,\n WithdrawActivityFragment,\n RepayActivityFragment,\n LiquidatedActivityFragment,\n UsingAsCollateralActivityFragment,\n UpdatedDynamicConfigActivityFragment,\n UpdatedRiskPremiumActivityFragment,\n ],\n);\nexport type ActivityItem = ExtendWithOpaqueType<\n FragmentOf<typeof ActivityItemFragment>,\n {\n id: ID;\n timestamp: Date;\n txHash: TxHash;\n chain: Chain;\n }\n>;\n\nexport const PaginatedActivitiesResultFragment = graphql(\n `fragment PaginatedActivitiesResult on PaginatedActivitiesResult {\n __typename\n items {\n ...ActivityItem\n }\n pageInfo {\n ...PaginatedResultInfo\n }\n }`,\n [ActivityItemFragment, PaginatedResultInfoFragment],\n);\nexport type PaginatedActivitiesResult = FragmentOf<\n typeof PaginatedActivitiesResultFragment\n>;\n\n/**\n * @internal\n */\nexport const ActivitiesQuery = graphql(\n `query Activities($request: ActivitiesRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: activities(request: $request) {\n ...PaginatedActivitiesResult\n }\n }`,\n [PaginatedActivitiesResultFragment],\n);\nexport type ActivitiesRequest = RequestOf<typeof ActivitiesQuery>;\n\nexport type ActivitiesRequestQuery = ReturnType<\n typeof graphql.scalar<'ActivitiesRequestQuery'>\n>;\n","import {\n UserBalanceFragment,\n UserBorrowItemFragment,\n UserPositionFragment,\n UserRiskPremiumBreakdownItemFragment,\n UserSummaryFragment,\n UserSummaryHistoryItemFragment,\n UserSupplyItemFragment,\n} from './fragments';\nimport { graphql, type RequestOf } from './graphql';\n\n/**\n * @internal\n */\nexport const UserSuppliesQuery = graphql(\n `query UserSupplies($request: UserSuppliesRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userSupplies(request: $request) {\n ...UserSupplyItem\n }\n }`,\n [UserSupplyItemFragment],\n);\nexport type UserSuppliesRequest = RequestOf<typeof UserSuppliesQuery>;\n\n/**\n * @internal\n */\nexport const UserBorrowsQuery = graphql(\n `query UserBorrows($request: UserBorrowsRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userBorrows(request: $request) {\n ...UserBorrowItem\n }\n }`,\n [UserBorrowItemFragment],\n);\nexport type UserBorrowsRequest = RequestOf<typeof UserBorrowsQuery>;\n\n/**\n * @internal\n */\nexport const UserSummaryQuery = graphql(\n `query UserSummary($request: UserSummaryRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userSummary(request: $request) {\n ...UserSummary\n }\n }`,\n [UserSummaryFragment],\n);\nexport type UserSummaryRequest = RequestOf<typeof UserSummaryQuery>;\n\n/**\n * @internal\n */\nexport const UserPositionsQuery = graphql(\n `query UserPositions($request: UserPositionsRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userPositions(request: $request) {\n ...UserPosition\n }\n }`,\n [UserPositionFragment],\n);\nexport type UserPositionsRequest = RequestOf<typeof UserPositionsQuery>;\n\n/**\n * @internal\n */\nexport const UserPositionQuery = graphql(\n `query UserPosition($request: UserPositionRequest!, $currency: Currency!, $timeWindow: TimeWindow!) {\n value: userPosition(request: $request) {\n ...UserPosition\n }\n }`,\n [UserPositionFragment],\n);\nexport type UserPositionRequest = RequestOf<typeof UserPositionQuery>;\n\n/**\n * @internal\n */\nexport const UserBalancesQuery = graphql(\n `query UserBalances($request: UserBalancesRequest!, $currency: Currency!) {\n value: userBalances(request: $request) {\n ...UserBalance\n }\n }`,\n [UserBalanceFragment],\n);\nexport type UserBalancesRequest = RequestOf<typeof UserBalancesQuery>;\n\nexport type UserBalancesRequestFilter = ReturnType<\n typeof graphql.scalar<'UserBalancesRequestFilter'>\n>;\nexport type UserBalancesByChains = ReturnType<\n typeof graphql.scalar<'UserBalancesByChains'>\n>;\nexport type UserBalancesByHub = ReturnType<\n typeof graphql.scalar<'UserBalancesByHub'>\n>;\nexport type UserBalancesByHubId = ReturnType<\n typeof graphql.scalar<'UserBalancesByHubId'>\n>;\nexport type UserBalancesBySpoke = ReturnType<\n typeof graphql.scalar<'UserBalancesBySpoke'>\n>;\nexport type UserBalancesByUserPosition = ReturnType<\n typeof graphql.scalar<'UserBalancesByUserPosition'>\n>;\nexport type UserBalancesByTokens = ReturnType<\n typeof graphql.scalar<'UserBalancesByTokens'>\n>;\n\n/**\n * @internal\n */\nexport const UserSummaryHistoryQuery = graphql(\n `query UserSummaryHistory($request: UserSummaryHistoryRequest!, $currency: Currency!) {\n value: userSummaryHistory(request: $request) {\n ...UserSummaryHistoryItem\n }\n }`,\n [UserSummaryHistoryItemFragment],\n);\nexport type UserSummaryHistoryRequest = RequestOf<\n typeof UserSummaryHistoryQuery\n>;\nexport type UserSpokeInput = ReturnType<\n typeof graphql.scalar<'UserSpokeInput'>\n>;\nexport type UserBalancesRequestOrderBy = ReturnType<\n typeof graphql.scalar<'UserBalancesRequestOrderBy'>\n>;\nexport type UserBorrowsRequestQuery = ReturnType<\n typeof graphql.scalar<'UserBorrowsRequestQuery'>\n>;\nexport type UserToken = ReturnType<typeof graphql.scalar<'UserToken'>>;\nexport type UserChains = ReturnType<typeof graphql.scalar<'UserChains'>>;\nexport type UserBorrowsRequestOrderBy = ReturnType<\n typeof graphql.scalar<'UserBorrowsRequestOrderBy'>\n>;\nexport type UserPositionsRequestFilter = ReturnType<\n typeof graphql.scalar<'UserPositionsRequestFilter'>\n>;\nexport type UserPositionsRequestOrderBy = ReturnType<\n typeof graphql.scalar<'UserPositionsRequestOrderBy'>\n>;\nexport type UserSummaryFilter = ReturnType<\n typeof graphql.scalar<'UserSummaryFilter'>\n>;\nexport type UserSuppliesRequestQuery = ReturnType<\n typeof graphql.scalar<'UserSuppliesRequestQuery'>\n>;\nexport type UserSuppliesRequestOrderBy = ReturnType<\n typeof graphql.scalar<'UserSuppliesRequestOrderBy'>\n>;\n\n/**\n * @internal\n */\nexport const UserRiskPremiumBreakdownQuery = graphql(\n `query UserRiskPremiumBreakdown($request: UserRiskPremiumBreakdownRequest!) {\n value: userRiskPremiumBreakdown(request: $request) {\n ...UserRiskPremiumBreakdownItem\n }\n }`,\n [UserRiskPremiumBreakdownItemFragment],\n);\nexport type UserRiskPremiumBreakdownRequest = RequestOf<\n typeof UserRiskPremiumBreakdownQuery\n>;\n\nexport type UserRiskPremiumBreakdownRequestQuery = ReturnType<\n typeof graphql.scalar<'UserRiskPremiumBreakdownRequestQuery'>\n>;\n"]}