@aave/client 4.0.0-next.50 → 4.0.0-next.51

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/options.ts","../src/actions/misc.ts","../src/cache.ts","../src/environments.ts","../src/config.ts","../src/types.ts","../src/AaveClient.ts","../src/adapters.ts"],"names":["DEFAULT_QUERY_OPTIONS","Currency","TimeWindow","hasProcessedKnownTransaction","client","request","HasProcessedKnownTransactionQuery","transformToBigInt","parent","_args","_cache","info","transformToBigDecimal","BigDecimal","transformToNullableBigDecimal","value","transformToDate","transformToNullableDate","exchange","cacheExchange","introspectedSchema","_","isHubInputVariant","encodeHubId","isReserveInputVariant","encodeReserveId","chainId","address","decodeSpokeId","encodeUserPositionId","_parent","args","cache","isTxHashInputVariant","txHash","matches","f","set","pageRef","itemRefs","ref","spokeRef","chainRef","itemChainId","data","production","staging","local","configureContext","environment","headers","batch","debug","isHasProcessedKnownTransactionRequest","result","transactionReceipt","AaveClient","_AaveClient","GqlClient","options","invariant","ResultAsync","err","TimeoutError","UnexpectedError","startedAt","ok","delay","hasApprovals","plan","supportsPermit","isOneEntryArray"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Currency, TimeWindow } from '@aave/graphql';\nimport type { RequestPolicy } from '@urql/core';\n\nexport type CurrencyQueryOptions = {\n /**\n * The currency for fiat amounts.\n *\n * @defaultValue {@link Currency.Usd}\n */\n currency?: Currency;\n};\n\nexport type TimeWindowQueryOptions = {\n /**\n * The time window for historical data changes.\n *\n * @defaultValue {@link TimeWindow.LastDay}\n */\n timeWindow?: TimeWindow;\n};\n\n/**\n * @internal\n */\nexport type RequestPolicyOptions = {\n /**\n * The request policy to use.\n *\n * @internal This is used for testing purposes and could be changed without notice.\n * @defaultValue `cache-and-network`\n */\n requestPolicy?: RequestPolicy;\n};\n\n/**\n * @internal\n */\nexport type BatchOptions = {\n /**\n * Whether to batch the query or not.\n *\n * @internal This is used to turn off batching for a single query.\n * @defaultValue `true`\n */\n batch?: boolean;\n};\n\nexport const DEFAULT_QUERY_OPTIONS = {\n currency: Currency.Usd,\n timeWindow: TimeWindow.LastDay,\n requestPolicy: 'cache-and-network',\n batch: true,\n} as const;\n","import type { UnexpectedError } from '@aave/core';\nimport {\n type Chain,\n ChainQuery,\n type ChainRequest,\n ChainsQuery,\n type ChainsRequest,\n type ExchangeAmount,\n ExchangeRateQuery,\n type ExchangeRateRequest,\n HasProcessedKnownTransactionQuery,\n type HasProcessedKnownTransactionRequest,\n} from '@aave/graphql';\nimport type { ResultAsync } from '@aave/types';\nimport type { AaveClient } from '../AaveClient';\nimport {\n type BatchOptions,\n DEFAULT_QUERY_OPTIONS,\n type RequestPolicyOptions,\n} from '../options';\n\n/**\n * Fetches a specific chain by chain ID.\n *\n * ```ts\n * const result = await chain(client, {\n * chainId: chainId(1),\n * });\n * ```\n *\n * @param client - Aave client.\n * @param request - The chain request parameters.\n * @param options - The query options.\n * @returns The chain data, or null if not found.\n */\nexport function chain(\n client: AaveClient,\n request: ChainRequest,\n {\n batch = DEFAULT_QUERY_OPTIONS.batch,\n requestPolicy = DEFAULT_QUERY_OPTIONS.requestPolicy,\n }: BatchOptions & RequestPolicyOptions = DEFAULT_QUERY_OPTIONS,\n): ResultAsync<Chain | null, UnexpectedError> {\n return client.query(ChainQuery, { request }, { batch, requestPolicy });\n}\n\n/**\n * Fetches the list of supported chains.\n *\n * ```ts\n * const chains = await chains(client, {\n * query: { filter: ChainsFilter.ALL }\n * });\n * ```\n *\n * ```ts\n * const chains = await chains(client, {\n * query: { chainIds: [chainId(1), chainId(137)] }\n * });\n * ```\n *\n * @param client - Aave client.\n * @param request - The chains request parameters.\n * @returns Array of supported chains.\n */\nexport function chains(\n client: AaveClient,\n request: ChainsRequest,\n): ResultAsync<Chain[], UnexpectedError> {\n return client.query(ChainsQuery, { request });\n}\n\n/**\n * Check if a transaction has been processed by the Aave API.\n *\n * @param client - Aave client.\n * @param request - The request containing transaction hash and operations to check.\n * @returns True if the transaction has been processed, false otherwise.\n */\nexport function hasProcessedKnownTransaction(\n client: AaveClient,\n request: HasProcessedKnownTransactionRequest,\n): ResultAsync<boolean, UnexpectedError> {\n return client.query(\n HasProcessedKnownTransactionQuery,\n { request },\n {\n requestPolicy: 'network-only', // alwats hit the network\n batch: false, // never batch, always run ASAP\n },\n );\n}\n\n/**\n * Fetches the exchange rate between tokens and fiat currencies.\n *\n * ```ts\n * const result = await exchangeRate(client, {\n * from: { erc20: { chainId: chainId(1), address: evmAddress('0xA0b86a33E6...') } },\n * to: Currency.Usd,\n * });\n * ```\n *\n * @param client - Aave client.\n * @param request - The exchange rate request parameters.\n * @param options - The query options.\n * @returns The exchange rate information as a fiat amount.\n */\nexport function exchangeRate(\n client: AaveClient,\n request: ExchangeRateRequest,\n {\n requestPolicy = DEFAULT_QUERY_OPTIONS.requestPolicy,\n }: RequestPolicyOptions = DEFAULT_QUERY_OPTIONS,\n): ResultAsync<ExchangeAmount, UnexpectedError> {\n return client.query(ExchangeRateQuery, { request }, { requestPolicy });\n}\n","import {\n type ActivitiesQuery,\n type Asset,\n type BorrowActivity,\n type BorrowSwapActivity,\n type Chain,\n decodeSpokeId,\n type Erc20Token,\n encodeHubId,\n encodeReserveId,\n encodeUserPositionId,\n type Hub,\n type HubAsset,\n type HubQuery,\n isHubInputVariant,\n isReserveInputVariant,\n isTxHashInputVariant,\n type LiquidatedActivity,\n type MerklBorrowReward,\n type MerklGenericCriteria,\n type MerklSupplyReward,\n type NativeToken,\n type RepayActivity,\n type RepayWithSupplyActivity,\n type Reserve,\n type ReserveInfo,\n type ReserveQuery,\n type Spoke,\n type SupplyActivity,\n type SupplySwapActivity,\n type TokenInfo,\n type TokenSwapActivity,\n type UpdatedDynamicConfigActivity,\n type UpdatedRiskPremiumActivity,\n type UserMerklClaimableReward,\n type UserPosition,\n type UserPositionQuery,\n type UsingAsCollateralActivity,\n type VariablesOf,\n type WithdrawActivity,\n type WithdrawSwapActivity,\n} from '@aave/graphql';\nimport introspectedSchema from '@aave/graphql/schema';\nimport { BigDecimal, type TxHash } from '@aave/types';\nimport {\n cacheExchange,\n type Resolver,\n type Scalar,\n} from '@urql/exchange-graphcache';\n\nconst transformToBigInt: Resolver = (parent, _args, _cache, info) => {\n return BigInt(parent[info.fieldName] as string) as unknown as Scalar;\n};\n\nconst transformToBigDecimal: Resolver = (parent, _args, _cache, info) => {\n return BigDecimal.new(parent[info.fieldName] as string);\n};\n\nconst transformToNullableBigDecimal: Resolver = (\n parent,\n _args,\n _cache,\n info,\n) => {\n const value = parent[info.fieldName];\n if (value === null || value === undefined) {\n return null;\n }\n return transformToBigDecimal(parent, _args, _cache, info);\n};\n\nconst transformToDate: Resolver = (parent, _args, _cache, info) => {\n return new Date(parent[info.fieldName] as string);\n};\n\nconst transformToNullableDate: Resolver = (parent, _args, _cache, info) => {\n const value = parent[info.fieldName];\n if (value === null || value === undefined) {\n return null;\n }\n return transformToDate(parent, _args, _cache, info);\n};\n\nexport const exchange = cacheExchange({\n schema: introspectedSchema,\n resolvers: {\n PercentNumber: {\n onChainValue: transformToBigInt,\n value: transformToBigDecimal,\n normalized: transformToBigDecimal,\n },\n DecimalNumber: {\n onChainValue: transformToBigInt,\n value: transformToBigDecimal,\n },\n ExchangeAmount: {\n value: transformToBigDecimal,\n },\n AssetPriceSample: {\n price: transformToBigDecimal,\n date: transformToDate,\n },\n Reserve: {\n borrowCap: transformToBigDecimal,\n supplyCap: transformToBigDecimal,\n },\n HealthFactorError: {\n current: transformToNullableBigDecimal,\n after: transformToNullableBigDecimal,\n },\n HealthFactorVariation: {\n current: transformToNullableBigDecimal,\n after: transformToNullableBigDecimal,\n },\n HealthFactorWithChange: {\n current: transformToNullableBigDecimal,\n },\n UserSummary: {\n lowestHealthFactor: transformToNullableBigDecimal,\n },\n UserSummaryHistoryItem: {\n healthFactor: transformToNullableBigDecimal,\n date: transformToDate,\n },\n TransactionRequest: {\n value: transformToBigInt,\n },\n ApySample: {\n date: transformToDate,\n },\n AssetBorrowSample: {\n date: transformToDate,\n },\n AssetSupplySample: {\n date: transformToDate,\n },\n HubSummarySample: {\n date: transformToDate,\n },\n PreviewMerklBorrowReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n PreviewMerklSupplyReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n ProtocolHistorySample: {\n date: transformToDate,\n },\n BorrowActivity: {\n timestamp: transformToDate,\n },\n LiquidatedActivity: {\n timestamp: transformToDate,\n },\n MerklBorrowReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n MerklSupplyReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n RepayActivity: {\n timestamp: transformToDate,\n },\n SupplyActivity: {\n timestamp: transformToDate,\n },\n WithdrawActivity: {\n timestamp: transformToDate,\n },\n UsingAsCollateralActivity: {\n timestamp: transformToDate,\n },\n UpdatedDynamicConfigActivity: {\n timestamp: transformToDate,\n },\n UpdatedRiskPremiumActivity: {\n timestamp: transformToDate,\n },\n TokenSwapActivity: {\n timestamp: transformToDate,\n },\n SupplySwapActivity: {\n timestamp: transformToDate,\n },\n BorrowSwapActivity: {\n timestamp: transformToDate,\n },\n RepayWithSupplyActivity: {\n timestamp: transformToDate,\n },\n WithdrawSwapActivity: {\n timestamp: transformToDate,\n },\n UserMerklClaimableReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n claimUntil: transformToDate,\n },\n UserPosition: {\n createdAt: transformToDate,\n },\n UserBorrowItem: {\n createdAt: transformToNullableDate,\n },\n UserSupplyItem: {\n createdAt: transformToNullableDate,\n },\n SpokeUserPositionManager: {\n approvedOn: transformToDate,\n },\n SwapCancelled: {\n createdAt: transformToDate,\n cancelledAt: transformToNullableDate,\n },\n SwapCancelledResult: {\n createdAt: transformToDate,\n cancelledAt: transformToNullableDate,\n },\n SwapExpired: {\n createdAt: transformToDate,\n expiredAt: transformToDate,\n },\n SwapFulfilled: {\n createdAt: transformToDate,\n fulfilledAt: transformToDate,\n },\n SwapOpen: {\n createdAt: transformToDate,\n deadline: transformToDate,\n },\n SwapPendingSignature: {\n createdAt: transformToDate,\n deadline: transformToDate,\n },\n SwapReceipt: {\n createdAt: transformToDate,\n },\n Query: {\n hub: (_, { request }: VariablesOf<typeof HubQuery>) => {\n if (isHubInputVariant(request.query)) {\n return {\n __typename: 'Hub',\n id: encodeHubId(request.query.hubInput),\n };\n }\n return {\n __typename: 'Hub',\n id: request.query.hubId,\n };\n },\n\n reserve: (_, { request }: VariablesOf<typeof ReserveQuery>) => {\n if (isReserveInputVariant(request.query)) {\n return {\n __typename: 'Reserve',\n id: encodeReserveId(request.query.reserveInput),\n };\n }\n return {\n __typename: 'Reserve',\n id: request.query.reserveId,\n };\n },\n\n userPosition: (_, { request }: VariablesOf<typeof UserPositionQuery>) => {\n if ('userSpoke' in request && request.userSpoke) {\n const { chainId, address } = decodeSpokeId(request.userSpoke.spoke);\n return {\n __typename: 'UserPosition',\n id: encodeUserPositionId({\n chainId,\n spoke: address,\n user: request.userSpoke.user,\n }),\n };\n }\n if ('id' in request && request.id) {\n return {\n __typename: 'UserPosition',\n id: request.id,\n };\n }\n return undefined;\n },\n\n activities: (\n _parent,\n args: VariablesOf<typeof ActivitiesQuery>,\n cache,\n ) => {\n // Bail out if not a txHash filter lookup\n if (!isTxHashInputVariant(args.request.query)) {\n return cache.resolve('Query', 'activities', args);\n }\n\n const { txHash, chainId } = args.request.query.txHash;\n\n // Collect all cached activities matching txHash\n const matches = cache\n .inspectFields('Query')\n .filter((f) => f.fieldName === 'activities')\n .reduce((set, f) => {\n const pageRef = cache.resolve('Query', f.fieldKey) as string | null;\n if (!pageRef) return set;\n\n const itemRefs = cache.resolve(pageRef, 'items') as string[] | null;\n if (!itemRefs) return set;\n\n for (const ref of itemRefs) {\n set.add(ref);\n }\n return set;\n }, new Set<string>())\n .values()\n .toArray()\n .filter((ref) => {\n const itemTxHash = cache.resolve(ref, 'txHash') as TxHash;\n if (itemTxHash !== txHash) return false;\n\n // Verify chainId via spoke.chain.chainId if present\n const spokeRef = cache.resolve(ref, 'spoke') as string | null;\n if (spokeRef) {\n const chainRef = cache.resolve(spokeRef, 'chain') as\n | string\n | null;\n const itemChainId = chainRef\n ? (cache.resolve(chainRef, 'chainId') as number | undefined)\n : undefined;\n if (typeof itemChainId === 'number') {\n return itemChainId === chainId;\n }\n }\n return true;\n });\n\n if (matches.length === 0) return undefined;\n\n return {\n __typename: 'PaginatedActivitiesResult',\n items: matches,\n pageInfo: {\n __typename: 'PaginatedResultInfo',\n prev: null,\n next: null,\n },\n };\n },\n },\n },\n keys: {\n // Entities with id field as key\n Asset: (data: Asset) => data.id,\n BorrowActivity: (data: BorrowActivity) => data.id,\n BorrowSwapActivity: (data: BorrowSwapActivity) => data.id,\n Hub: (data: Hub) => data.id,\n HubAsset: (data: HubAsset) => data.id,\n LiquidatedActivity: (data: LiquidatedActivity) => data.id,\n MerklBorrowReward: (data: MerklBorrowReward) => data.id,\n MerklGenericCriteria: (data: MerklGenericCriteria) => data.id,\n MerklSupplyReward: (data: MerklSupplyReward) => data.id,\n RepayActivity: (data: RepayActivity) => data.id,\n RepayWithSupplyActivity: (data: RepayWithSupplyActivity) => data.id,\n Reserve: (data: Reserve) => data.id,\n ReserveInfo: (data: ReserveInfo) => data.id,\n Spoke: (data: Spoke) => data.id,\n SupplyActivity: (data: SupplyActivity) => data.id,\n SupplySwapActivity: (data: SupplySwapActivity) => data.id,\n TokenInfo: (data: TokenInfo) => data.id,\n TokenSwapActivity: (data: TokenSwapActivity) => data.id,\n UpdatedDynamicConfigActivity: (data: UpdatedDynamicConfigActivity) =>\n data.id,\n UpdatedRiskPremiumActivity: (data: UpdatedRiskPremiumActivity) => data.id,\n UserMerklClaimableReward: (data: UserMerklClaimableReward) => data.id,\n UserPosition: (data: UserPosition) => data.id,\n UsingAsCollateralActivity: (data: UsingAsCollateralActivity) => data.id,\n WithdrawActivity: (data: WithdrawActivity) => data.id,\n WithdrawSwapActivity: (data: WithdrawSwapActivity) => data.id,\n\n // Entities with address field as key\n Erc20Token: (data: Erc20Token) => data.address,\n\n // Entities with other fields as key\n Chain: (data: Chain) => data.chainId.toString(),\n NativeToken: (data: NativeToken) => data.chain.chainId.toString(),\n\n // Value objects and result types\n ApySample: () => null,\n BorrowSwap: () => null,\n AssetAmountWithChange: () => null,\n AssetBorrowSample: () => null,\n AssetPriceSample: () => null,\n AssetSampleBreakdown: () => null,\n AssetSummary: () => null,\n AssetSupplySample: () => null,\n DecimalNumber: () => null,\n CollateralFactorVariation: () => null,\n DecimalNumberWithChange: () => null,\n DomainData: () => null,\n Erc20Amount: () => null,\n Erc20Approval: () => null,\n Erc20ApprovalRequired: () => null,\n ExchangeAmount: () => null,\n ExchangeAmountVariation: () => null,\n ExchangeAmountWithChange: () => null,\n ForkTopUpResponse: () => null,\n HealthFactorError: () => null,\n HealthFactorVariation: () => null,\n HealthFactorWithChange: () => null,\n HubAssetSettings: () => null,\n HubAssetSummary: () => null,\n HubAssetUserState: () => null,\n HubSummary: () => null,\n HubSummarySample: () => null,\n InsufficientBalanceError: () => null,\n InsufficientLiquidityError: () => null,\n LiquidationFeeVariation: () => null,\n MaxLiquidationBonusVariation: () => null,\n NativeAmount: () => null,\n PaginatedActivitiesResult: () => null,\n PaginatedResultInfo: () => null,\n PaginatedSpokePositionManagerResult: () => null,\n PaginatedSpokeUserPositionManagerResult: () => null,\n PaginatedUserSwapsResult: () => null,\n PercentNumber: () => null,\n PercentNumberVariation: () => null,\n PercentNumberWithChange: () => null,\n PermitTypedData: () => null,\n BorrowSwapQuoteResult: () => null,\n PercentNumberChangeSnapshot: () => null,\n PositionAmount: () => null,\n PositionSwapAdapterContractApproval: () => null,\n PositionSwapByIntentApprovalsRequired: () => null,\n PositionSwapPositionManagerApproval: () => null,\n PreContractActionRequired: () => null,\n PrepareSwapCancelResult: () => null,\n PrepareSwapOrder: () => null,\n PreviewMerklBorrowReward: () => null,\n PreviewMerklSupplyReward: () => null,\n PreviewRewardOutcome: () => null,\n PreviewUserPosition: () => null,\n RepayWithSupply: () => null,\n RepayWithSupplyQuoteResult: () => null,\n ProtocolHistorySample: () => null,\n ReserveSettings: () => null,\n ReserveStatus: () => null,\n ReserveSummary: () => null,\n ReserveUserState: () => null,\n SpokePositionManager: () => null,\n SpokeUserPositionManager: () => null,\n SwapByIntent: () => null,\n SwapByIntentWithApprovalRequired: () => null,\n SupplySwap: () => null,\n SupplySwapQuoteResult: () => null,\n SwapByTransaction: () => null,\n SwapCancelled: () => null,\n SwapCancelledResult: () => null,\n SwapExpired: () => null,\n SwapFulfilled: () => null,\n SwapOpen: () => null,\n SwapPendingSignature: () => null,\n SwapQuote: () => null,\n SwapQuoteCosts: () => null,\n SwapReceipt: () => null,\n SwapTransactionRequest: () => null,\n SwapTypedData: () => null,\n TokenSwap: () => null,\n TokenSwapQuoteResult: () => null,\n WithdrawSwap: () => null,\n WithdrawSwapQuoteResult: () => null,\n TransactionRequest: () => null,\n UserBalance: () => null,\n UserBorrowItem: () => null,\n UserPositionRiskPremium: () => null,\n UserRiskPremiumBreakdownItem: () => null,\n UserSummary: () => null,\n UserSummaryHistoryItem: () => null,\n UserSupplyItem: () => null,\n },\n});\n","import type { EnvironmentConfig } from '@aave/core';\n\n/**\n * The production environment configuration.\n */\nexport const production: EnvironmentConfig = {\n name: 'production',\n backend: 'https://api.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 100,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n\n/**\n * @internal\n */\nexport const staging: EnvironmentConfig = {\n name: 'staging',\n backend: 'https://api.staging.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 500,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n\n/**\n * @internal\n */\nexport const local: EnvironmentConfig = {\n name: 'local',\n backend: 'http://localhost:3007/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 1000,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n","import type { Context } from '@aave/core';\nimport type { EnvironmentConfig } from '../../core/src/types';\nimport { exchange } from './cache';\nimport { production } from './environments';\n\n/**\n * The client configuration.\n */\nexport type ClientConfig = {\n /**\n * @internal\n * @defaultValue `production`\n */\n environment?: EnvironmentConfig;\n /**\n * @internal\n */\n headers?: Record<string, string>;\n /**\n * Whether to enable caching.\n *\n * @defaultValue `true`\n */\n cache?: boolean;\n /**\n * Whether to enable query batching.\n *\n * @defaultValue `true`\n */\n batch?: boolean;\n /**\n * Whether to enable debug mode.\n *\n * @defaultValue `false`\n */\n debug?: boolean;\n};\n\n/**\n * @internal\n */\nexport function configureContext({\n environment = production,\n headers,\n cache = true,\n batch = true,\n debug = false,\n}: ClientConfig): Context {\n return {\n displayName: 'AaveClient',\n environment,\n headers,\n cache: cache ? exchange : null,\n batch,\n debug,\n };\n}\n","import type {\n CancelError,\n SigningError,\n TransactionError,\n UnexpectedError,\n ValidationError,\n} from '@aave/core';\nimport type {\n ExecutionPlan,\n HasProcessedKnownTransactionRequest,\n InsufficientBalanceError,\n OperationType,\n PermitTypedData,\n SwapTypedData,\n} from '@aave/graphql';\nimport type { ResultAsync, Signature, TxHash } from '@aave/types';\n\n/**\n * @internal\n */\nexport type TransactionResult = {\n txHash: TxHash;\n operations: OperationType[] | null;\n};\n\n/**\n * @internal\n */\nexport function isHasProcessedKnownTransactionRequest(\n result: TransactionResult,\n): result is HasProcessedKnownTransactionRequest {\n return result.operations !== null && result.operations.length > 0;\n}\n\nexport type TransactionReceipt = {\n __typename: 'TransactionReceipt';\n txHash: TxHash;\n};\n\n/**\n * @internal\n */\nexport function transactionReceipt(txHash: TxHash): TransactionReceipt {\n return { __typename: 'TransactionReceipt', txHash };\n}\n\nexport type SendWithError =\n | CancelError\n | SigningError\n | TransactionError\n | ValidationError<InsufficientBalanceError>\n | UnexpectedError;\n\nexport type ExecutionPlanHandler<T extends ExecutionPlan = ExecutionPlan> = (\n result: T,\n) => ResultAsync<TransactionResult, SendWithError>;\n\nexport type SignTypedDataError = CancelError | SigningError;\n\n/**\n * Union type for all EIP-712 typed data structures used in the SDK.\n */\nexport type TypedData = PermitTypedData | SwapTypedData;\n\nexport type TypedDataHandler = (\n data: TypedData,\n) => ResultAsync<Signature, SignTypedDataError>;\n","import { delay, GqlClient, TimeoutError, UnexpectedError } from '@aave/core';\nimport type { HasProcessedKnownTransactionRequest } from '@aave/graphql';\nimport { invariant, ResultAsync } from '@aave/types';\nimport { hasProcessedKnownTransaction } from './actions';\nimport { type ClientConfig, configureContext } from './config';\nimport {\n isHasProcessedKnownTransactionRequest,\n type TransactionReceipt,\n type TransactionResult,\n transactionReceipt,\n} from './types';\n\nexport class AaveClient extends GqlClient {\n /**\n * Create a new instance of the {@link AaveClient}.\n *\n * ```ts\n * const client = AaveClient.create({\n * environment: production,\n * });\n * ```\n *\n * @param options - The options to configure the client.\n * @returns The new instance of the client.\n */\n static create(options?: ClientConfig): AaveClient {\n return new AaveClient(configureContext(options ?? {}));\n }\n\n /**\n * Given the transaction hash of an Aave protocol transaction, wait for the transaction to be\n * processed by the Aave v4 API.\n *\n * Returns a {@link TimeoutError} if the transaction is not processed within the expected timeout period.\n *\n * @param result - The transaction execution result to wait for.\n * @returns The {@link TransactionReceipt} or a error\n */\n readonly waitForTransaction = (\n result: TransactionResult,\n ): ResultAsync<TransactionReceipt, TimeoutError | UnexpectedError> => {\n invariant(\n isHasProcessedKnownTransactionRequest(result),\n 'AaveClient.waitForTransaction called with an non-tracked operation. See the documentation for correct tracking setup.',\n );\n\n return ResultAsync.fromPromise(\n this.pollTransactionStatus(result),\n (err) => {\n if (err instanceof TimeoutError || err instanceof UnexpectedError) {\n return err;\n }\n return UnexpectedError.from(err);\n },\n );\n };\n\n protected async pollTransactionStatus(\n request: HasProcessedKnownTransactionRequest,\n ): Promise<TransactionReceipt> {\n const startedAt = Date.now();\n\n while (Date.now() - startedAt < this.context.environment.indexingTimeout) {\n const processed = await hasProcessedKnownTransaction(this, request).match(\n (ok) => ok,\n (err) => {\n throw err;\n },\n );\n\n if (processed) {\n return transactionReceipt(request.txHash);\n }\n\n await delay(this.context.environment.pollingInterval);\n }\n throw TimeoutError.from(\n `Timeout waiting for transaction ${request.txHash} to be processed.`,\n );\n }\n}\n","import type { Erc20Approval, PermitTypedData } from '@aave/graphql';\nimport { isOneEntryArray } from '@aave/types';\n\ntype WithApprovals = { approvals: Erc20Approval[] };\n\nfunction hasApprovals(plan: unknown): plan is WithApprovals {\n return (\n typeof plan === 'object' &&\n plan !== null &&\n 'approvals' in plan &&\n Array.isArray(plan.approvals)\n );\n}\n\n/**\n * Checks if a plan supports permit (single approval with bySignature).\n * Works with union types - picks any member that has an `approvals` array\n * with a single entry containing `bySignature`.\n *\n * @internal\n */\nexport function supportsPermit<T>(plan: T): plan is T &\n Extract<T, WithApprovals> & {\n approvals: [Erc20Approval & { bySignature: PermitTypedData }];\n } {\n return (\n hasApprovals(plan) &&\n isOneEntryArray(plan.approvals) &&\n !!plan.approvals[0].bySignature\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/options.ts","../src/actions/misc.ts","../src/cache.ts","../src/environments.ts","../src/config.ts","../src/types.ts","../src/AaveClient.ts","../src/adapters.ts"],"names":["DEFAULT_QUERY_OPTIONS","Currency","TimeWindow","hasProcessedKnownTransaction","client","request","HasProcessedKnownTransactionQuery","transformToBigInt","parent","_args","_cache","info","transformToBigDecimal","BigDecimal","transformToNullableBigDecimal","value","transformToDate","transformToNullableDate","exchange","cacheExchange","introspectedSchema","_","isHubInputVariant","encodeHubId","isReserveInputVariant","encodeReserveId","chainId","address","decodeSpokeId","encodeUserPositionId","_parent","args","cache","isTxHashInputVariant","txHash","matches","f","set","pageRef","itemRefs","ref","spokeRef","chainRef","itemChainId","data","production","staging","local","configureContext","environment","headers","batch","debug","isHasProcessedKnownTransactionRequest","result","transactionReceipt","AaveClient","_AaveClient","GqlClient","options","invariant","ResultAsync","err","TimeoutError","UnexpectedError","startedAt","ok","delay","hasApprovals","plan","supportsPermit","isOneEntryArray"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Currency, TimeWindow } from '@aave/graphql';\nimport type { RequestPolicy } from '@urql/core';\n\nexport type CurrencyQueryOptions = {\n /**\n * The currency for fiat amounts.\n *\n * @defaultValue {@link Currency.Usd}\n */\n currency?: Currency;\n};\n\nexport type TimeWindowQueryOptions = {\n /**\n * The time window for historical data changes.\n *\n * @defaultValue {@link TimeWindow.LastDay}\n */\n timeWindow?: TimeWindow;\n};\n\n/**\n * @internal\n */\nexport type RequestPolicyOptions = {\n /**\n * The request policy to use.\n *\n * @internal This is used for testing purposes and could be changed without notice.\n * @defaultValue `cache-and-network`\n */\n requestPolicy?: RequestPolicy;\n};\n\n/**\n * @internal\n */\nexport type BatchOptions = {\n /**\n * Whether to batch the query or not.\n *\n * @internal This is used to turn off batching for a single query.\n * @defaultValue `true`\n */\n batch?: boolean;\n};\n\nexport const DEFAULT_QUERY_OPTIONS = {\n currency: Currency.Usd,\n timeWindow: TimeWindow.LastDay,\n requestPolicy: 'cache-and-network',\n batch: true,\n} as const;\n","import type { UnexpectedError } from '@aave/core';\nimport {\n type Chain,\n ChainQuery,\n type ChainRequest,\n ChainsQuery,\n type ChainsRequest,\n type ExchangeAmount,\n ExchangeRateQuery,\n type ExchangeRateRequest,\n HasProcessedKnownTransactionQuery,\n type HasProcessedKnownTransactionRequest,\n} from '@aave/graphql';\nimport type { ResultAsync } from '@aave/types';\nimport type { AaveClient } from '../AaveClient';\nimport {\n type BatchOptions,\n DEFAULT_QUERY_OPTIONS,\n type RequestPolicyOptions,\n} from '../options';\n\n/**\n * Fetches a specific chain by chain ID.\n *\n * ```ts\n * const result = await chain(client, {\n * chainId: chainId(1),\n * });\n * ```\n *\n * @param client - Aave client.\n * @param request - The chain request parameters.\n * @param options - The query options.\n * @returns The chain data, or null if not found.\n */\nexport function chain(\n client: AaveClient,\n request: ChainRequest,\n {\n batch = DEFAULT_QUERY_OPTIONS.batch,\n requestPolicy = DEFAULT_QUERY_OPTIONS.requestPolicy,\n }: BatchOptions & RequestPolicyOptions = DEFAULT_QUERY_OPTIONS,\n): ResultAsync<Chain | null, UnexpectedError> {\n return client.query(ChainQuery, { request }, { batch, requestPolicy });\n}\n\n/**\n * Fetches the list of supported chains.\n *\n * ```ts\n * const chains = await chains(client, {\n * query: { filter: ChainsFilter.ALL }\n * });\n * ```\n *\n * ```ts\n * const chains = await chains(client, {\n * query: { chainIds: [chainId(1), chainId(137)] }\n * });\n * ```\n *\n * @param client - Aave client.\n * @param request - The chains request parameters.\n * @returns Array of supported chains.\n */\nexport function chains(\n client: AaveClient,\n request: ChainsRequest,\n): ResultAsync<Chain[], UnexpectedError> {\n return client.query(ChainsQuery, { request });\n}\n\n/**\n * Check if a transaction has been processed by the Aave API.\n *\n * @param client - Aave client.\n * @param request - The request containing transaction hash and operations to check.\n * @returns True if the transaction has been processed, false otherwise.\n */\nexport function hasProcessedKnownTransaction(\n client: AaveClient,\n request: HasProcessedKnownTransactionRequest,\n): ResultAsync<boolean, UnexpectedError> {\n return client.query(\n HasProcessedKnownTransactionQuery,\n { request },\n {\n requestPolicy: 'network-only', // alwats hit the network\n batch: false, // never batch, always run ASAP\n },\n );\n}\n\n/**\n * Fetches the exchange rate between tokens and fiat currencies.\n *\n * ```ts\n * const result = await exchangeRate(client, {\n * from: { erc20: { chainId: chainId(1), address: evmAddress('0xA0b86a33E6...') } },\n * to: Currency.Usd,\n * });\n * ```\n *\n * @param client - Aave client.\n * @param request - The exchange rate request parameters.\n * @param options - The query options.\n * @returns The exchange rate information as a fiat amount.\n */\nexport function exchangeRate(\n client: AaveClient,\n request: ExchangeRateRequest,\n {\n requestPolicy = DEFAULT_QUERY_OPTIONS.requestPolicy,\n }: RequestPolicyOptions = DEFAULT_QUERY_OPTIONS,\n): ResultAsync<ExchangeAmount, UnexpectedError> {\n return client.query(ExchangeRateQuery, { request }, { requestPolicy });\n}\n","import {\n type ActivitiesQuery,\n type Asset,\n type BorrowActivity,\n type BorrowSwapActivity,\n type Chain,\n decodeSpokeId,\n type Erc20Token,\n encodeHubId,\n encodeReserveId,\n encodeUserPositionId,\n type Hub,\n type HubAsset,\n type HubQuery,\n isHubInputVariant,\n isReserveInputVariant,\n isTxHashInputVariant,\n type LiquidatedActivity,\n type MerklBorrowReward,\n type MerklGenericCriteria,\n type MerklSupplyReward,\n type NativeToken,\n type RepayActivity,\n type RepayWithSupplyActivity,\n type Reserve,\n type ReserveInfo,\n type ReserveQuery,\n type Spoke,\n type SupplyActivity,\n type SupplySwapActivity,\n type TokenInfo,\n type TokenSwapActivity,\n type UpdatedDynamicConfigActivity,\n type UpdatedRiskPremiumActivity,\n type UserMerklClaimableReward,\n type UserPosition,\n type UserPositionQuery,\n type UsingAsCollateralActivity,\n type VariablesOf,\n type WithdrawActivity,\n type WithdrawSwapActivity,\n} from '@aave/graphql';\nimport introspectedSchema from '@aave/graphql/schema';\nimport { BigDecimal, type TxHash } from '@aave/types';\nimport {\n cacheExchange,\n type Resolver,\n type Scalar,\n} from '@urql/exchange-graphcache';\n\nconst transformToBigInt: Resolver = (parent, _args, _cache, info) => {\n return BigInt(parent[info.fieldName] as string) as unknown as Scalar;\n};\n\nconst transformToBigDecimal: Resolver = (parent, _args, _cache, info) => {\n return BigDecimal.new(parent[info.fieldName] as string);\n};\n\nconst transformToNullableBigDecimal: Resolver = (\n parent,\n _args,\n _cache,\n info,\n) => {\n const value = parent[info.fieldName];\n if (value === null || value === undefined) {\n return null;\n }\n return transformToBigDecimal(parent, _args, _cache, info);\n};\n\nconst transformToDate: Resolver = (parent, _args, _cache, info) => {\n return new Date(parent[info.fieldName] as string);\n};\n\nconst transformToNullableDate: Resolver = (parent, _args, _cache, info) => {\n const value = parent[info.fieldName];\n if (value === null || value === undefined) {\n return null;\n }\n return transformToDate(parent, _args, _cache, info);\n};\n\nexport const exchange = cacheExchange({\n schema: introspectedSchema,\n resolvers: {\n PercentNumber: {\n onChainValue: transformToBigInt,\n value: transformToBigDecimal,\n normalized: transformToBigDecimal,\n },\n DecimalNumber: {\n onChainValue: transformToBigInt,\n value: transformToBigDecimal,\n },\n ExchangeAmount: {\n value: transformToBigDecimal,\n },\n AssetPriceSample: {\n price: transformToBigDecimal,\n date: transformToDate,\n },\n Reserve: {\n borrowCap: transformToBigDecimal,\n supplyCap: transformToBigDecimal,\n },\n HealthFactorError: {\n current: transformToNullableBigDecimal,\n after: transformToNullableBigDecimal,\n },\n HealthFactorVariation: {\n current: transformToNullableBigDecimal,\n after: transformToNullableBigDecimal,\n },\n HealthFactorWithChange: {\n current: transformToNullableBigDecimal,\n },\n UserSummary: {\n lowestHealthFactor: transformToNullableBigDecimal,\n },\n UserSummaryHistoryItem: {\n healthFactor: transformToNullableBigDecimal,\n date: transformToDate,\n },\n TransactionRequest: {\n value: transformToBigInt,\n },\n ApySample: {\n date: transformToDate,\n },\n AssetBorrowSample: {\n date: transformToDate,\n },\n AssetSupplySample: {\n date: transformToDate,\n },\n HubSummarySample: {\n date: transformToDate,\n },\n PreviewMerklBorrowReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n PreviewMerklSupplyReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n ProtocolHistorySample: {\n date: transformToDate,\n },\n BorrowActivity: {\n timestamp: transformToDate,\n },\n LiquidatedActivity: {\n timestamp: transformToDate,\n },\n MerklBorrowReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n MerklSupplyReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n RepayActivity: {\n timestamp: transformToDate,\n },\n SupplyActivity: {\n timestamp: transformToDate,\n },\n WithdrawActivity: {\n timestamp: transformToDate,\n },\n UsingAsCollateralActivity: {\n timestamp: transformToDate,\n },\n UpdatedDynamicConfigActivity: {\n timestamp: transformToDate,\n },\n UpdatedRiskPremiumActivity: {\n timestamp: transformToDate,\n },\n TokenSwapActivity: {\n timestamp: transformToDate,\n },\n SupplySwapActivity: {\n timestamp: transformToDate,\n },\n BorrowSwapActivity: {\n timestamp: transformToDate,\n },\n RepayWithSupplyActivity: {\n timestamp: transformToDate,\n },\n WithdrawSwapActivity: {\n timestamp: transformToDate,\n },\n UserMerklClaimableReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n claimUntil: transformToDate,\n },\n UserPosition: {\n createdAt: transformToDate,\n },\n UserBorrowItem: {\n createdAt: transformToNullableDate,\n },\n UserSupplyItem: {\n createdAt: transformToNullableDate,\n },\n SpokeUserPositionManager: {\n approvedOn: transformToDate,\n },\n SwapCancelled: {\n createdAt: transformToDate,\n cancelledAt: transformToNullableDate,\n },\n SwapCancelledResult: {\n createdAt: transformToDate,\n cancelledAt: transformToNullableDate,\n },\n SwapExpired: {\n createdAt: transformToDate,\n expiredAt: transformToDate,\n },\n SwapFulfilled: {\n createdAt: transformToDate,\n fulfilledAt: transformToDate,\n },\n SwapOpen: {\n createdAt: transformToDate,\n deadline: transformToDate,\n },\n SwapPendingSignature: {\n createdAt: transformToDate,\n deadline: transformToDate,\n },\n SwapReceipt: {\n createdAt: transformToDate,\n },\n Query: {\n hub: (_, { request }: VariablesOf<typeof HubQuery>) => {\n if (isHubInputVariant(request.query)) {\n return {\n __typename: 'Hub',\n id: encodeHubId(request.query.hubInput),\n };\n }\n return {\n __typename: 'Hub',\n id: request.query.hubId,\n };\n },\n\n reserve: (_, { request }: VariablesOf<typeof ReserveQuery>) => {\n if (isReserveInputVariant(request.query)) {\n return {\n __typename: 'Reserve',\n id: encodeReserveId(request.query.reserveInput),\n };\n }\n return {\n __typename: 'Reserve',\n id: request.query.reserveId,\n };\n },\n\n userPosition: (_, { request }: VariablesOf<typeof UserPositionQuery>) => {\n if ('userSpoke' in request && request.userSpoke) {\n const { chainId, address } = decodeSpokeId(request.userSpoke.spoke);\n return {\n __typename: 'UserPosition',\n id: encodeUserPositionId({\n chainId,\n spoke: address,\n user: request.userSpoke.user,\n }),\n };\n }\n if ('id' in request && request.id) {\n return {\n __typename: 'UserPosition',\n id: request.id,\n };\n }\n return undefined;\n },\n\n activities: (\n _parent,\n args: VariablesOf<typeof ActivitiesQuery>,\n cache,\n ) => {\n // Bail out if not a txHash filter lookup\n if (!isTxHashInputVariant(args.request.query)) {\n return cache.resolve('Query', 'activities', args);\n }\n\n const { txHash, chainId } = args.request.query.txHash;\n\n // Collect all cached activities matching txHash\n const matches = cache\n .inspectFields('Query')\n .filter((f) => f.fieldName === 'activities')\n .reduce((set, f) => {\n const pageRef = cache.resolve('Query', f.fieldKey) as string | null;\n if (!pageRef) return set;\n\n const itemRefs = cache.resolve(pageRef, 'items') as string[] | null;\n if (!itemRefs) return set;\n\n for (const ref of itemRefs) {\n set.add(ref);\n }\n return set;\n }, new Set<string>())\n .values()\n .toArray()\n .filter((ref) => {\n const itemTxHash = cache.resolve(ref, 'txHash') as TxHash;\n if (itemTxHash !== txHash) return false;\n\n // Verify chainId via spoke.chain.chainId if present\n const spokeRef = cache.resolve(ref, 'spoke') as string | null;\n if (spokeRef) {\n const chainRef = cache.resolve(spokeRef, 'chain') as\n | string\n | null;\n const itemChainId = chainRef\n ? (cache.resolve(chainRef, 'chainId') as number | undefined)\n : undefined;\n if (typeof itemChainId === 'number') {\n return itemChainId === chainId;\n }\n }\n return true;\n });\n\n if (matches.length === 0) return undefined;\n\n return {\n __typename: 'PaginatedActivitiesResult',\n items: matches,\n pageInfo: {\n __typename: 'PaginatedResultInfo',\n prev: null,\n next: null,\n },\n };\n },\n },\n },\n keys: {\n // Entities with id field as key\n Asset: (data: Asset) => data.id,\n BorrowActivity: (data: BorrowActivity) => data.id,\n BorrowSwapActivity: (data: BorrowSwapActivity) => data.id,\n Hub: (data: Hub) => data.id,\n HubAsset: (data: HubAsset) => data.id,\n LiquidatedActivity: (data: LiquidatedActivity) => data.id,\n MerklBorrowReward: (data: MerklBorrowReward) => data.id,\n MerklGenericCriteria: (data: MerklGenericCriteria) => data.id,\n MerklSupplyReward: (data: MerklSupplyReward) => data.id,\n RepayActivity: (data: RepayActivity) => data.id,\n RepayWithSupplyActivity: (data: RepayWithSupplyActivity) => data.id,\n Reserve: (data: Reserve) => data.id,\n ReserveInfo: (data: ReserveInfo) => data.id,\n Spoke: (data: Spoke) => data.id,\n SupplyActivity: (data: SupplyActivity) => data.id,\n SupplySwapActivity: (data: SupplySwapActivity) => data.id,\n TokenInfo: (data: TokenInfo) => data.id,\n TokenSwapActivity: (data: TokenSwapActivity) => data.id,\n UpdatedDynamicConfigActivity: (data: UpdatedDynamicConfigActivity) =>\n data.id,\n UpdatedRiskPremiumActivity: (data: UpdatedRiskPremiumActivity) => data.id,\n UserMerklClaimableReward: (data: UserMerklClaimableReward) => data.id,\n UserPosition: (data: UserPosition) => data.id,\n UsingAsCollateralActivity: (data: UsingAsCollateralActivity) => data.id,\n WithdrawActivity: (data: WithdrawActivity) => data.id,\n WithdrawSwapActivity: (data: WithdrawSwapActivity) => data.id,\n\n // Entities with address field as key\n Erc20Token: (data: Erc20Token) => data.address,\n\n // Entities with other fields as key\n Chain: (data: Chain) => data.chainId.toString(),\n NativeToken: (data: NativeToken) => data.chain.chainId.toString(),\n\n // Value objects and result types\n ApySample: () => null,\n BorrowSwap: () => null,\n AssetAmountWithChange: () => null,\n AssetBorrowSample: () => null,\n AssetPriceSample: () => null,\n AssetSampleBreakdown: () => null,\n AssetSummary: () => null,\n AssetSupplySample: () => null,\n DecimalNumber: () => null,\n CollateralFactorVariation: () => null,\n DecimalNumberWithChange: () => null,\n DomainData: () => null,\n Erc20Amount: () => null,\n Erc20Approval: () => null,\n Erc20ApprovalRequired: () => null,\n ExchangeAmount: () => null,\n ExchangeAmountVariation: () => null,\n ExchangeAmountWithChange: () => null,\n ForkTopUpResponse: () => null,\n HealthFactorError: () => null,\n HealthFactorVariation: () => null,\n HealthFactorWithChange: () => null,\n HubAssetInterestRateModelPoint: () => null,\n HubAssetInterestRateModelResult: () => null,\n HubAssetSettings: () => null,\n HubAssetSummary: () => null,\n HubAssetUserState: () => null,\n HubSummary: () => null,\n HubSummarySample: () => null,\n InsufficientBalanceError: () => null,\n InsufficientLiquidityError: () => null,\n LiquidationFeeVariation: () => null,\n MaxLiquidationBonusVariation: () => null,\n NativeAmount: () => null,\n PaginatedActivitiesResult: () => null,\n PaginatedResultInfo: () => null,\n PaginatedSpokePositionManagerResult: () => null,\n PaginatedSpokeUserPositionManagerResult: () => null,\n PaginatedUserSwapsResult: () => null,\n PercentNumber: () => null,\n PercentNumberVariation: () => null,\n PercentNumberWithChange: () => null,\n PermitTypedData: () => null,\n BorrowSwapQuoteResult: () => null,\n PercentNumberChangeSnapshot: () => null,\n PositionAmount: () => null,\n PositionSwapAdapterContractApproval: () => null,\n PositionSwapByIntentApprovalsRequired: () => null,\n PositionSwapPositionManagerApproval: () => null,\n PreContractActionRequired: () => null,\n PrepareSwapCancelResult: () => null,\n PrepareSwapOrder: () => null,\n PreviewMerklBorrowReward: () => null,\n PreviewMerklSupplyReward: () => null,\n PreviewRewardOutcome: () => null,\n PreviewUserPosition: () => null,\n RepayWithSupply: () => null,\n RepayWithSupplyQuoteResult: () => null,\n ProtocolHistorySample: () => null,\n ReserveSettings: () => null,\n ReserveStatus: () => null,\n ReserveSummary: () => null,\n ReserveUserState: () => null,\n SpokePositionManager: () => null,\n SpokeUserPositionManager: () => null,\n SwapByIntent: () => null,\n SwapByIntentWithApprovalRequired: () => null,\n SupplySwap: () => null,\n SupplySwapQuoteResult: () => null,\n SwapByTransaction: () => null,\n SwapCancelled: () => null,\n SwapCancelledResult: () => null,\n SwapExpired: () => null,\n SwapFulfilled: () => null,\n SwapOpen: () => null,\n SwapPendingSignature: () => null,\n SwapQuote: () => null,\n SwapQuoteCosts: () => null,\n SwapReceipt: () => null,\n SwapTransactionRequest: () => null,\n SwapTypedData: () => null,\n TokenSwap: () => null,\n TokenSwapQuoteResult: () => null,\n WithdrawSwap: () => null,\n WithdrawSwapQuoteResult: () => null,\n TransactionRequest: () => null,\n UserBalance: () => null,\n UserBorrowItem: () => null,\n UserPositionRiskPremium: () => null,\n UserRiskPremiumBreakdownItem: () => null,\n UserSummary: () => null,\n UserSummaryHistoryItem: () => null,\n UserSupplyItem: () => null,\n },\n});\n","import type { EnvironmentConfig } from '@aave/core';\n\n/**\n * The production environment configuration.\n */\nexport const production: EnvironmentConfig = {\n name: 'production',\n backend: 'https://api.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 100,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n\n/**\n * @internal\n */\nexport const staging: EnvironmentConfig = {\n name: 'staging',\n backend: 'https://api.staging.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 500,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n\n/**\n * @internal\n */\nexport const local: EnvironmentConfig = {\n name: 'local',\n backend: 'http://localhost:3007/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 1000,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n","import type { Context } from '@aave/core';\nimport type { EnvironmentConfig } from '../../core/src/types';\nimport { exchange } from './cache';\nimport { production } from './environments';\n\n/**\n * The client configuration.\n */\nexport type ClientConfig = {\n /**\n * @internal\n * @defaultValue `production`\n */\n environment?: EnvironmentConfig;\n /**\n * @internal\n */\n headers?: Record<string, string>;\n /**\n * Whether to enable caching.\n *\n * @defaultValue `true`\n */\n cache?: boolean;\n /**\n * Whether to enable query batching.\n *\n * @defaultValue `true`\n */\n batch?: boolean;\n /**\n * Whether to enable debug mode.\n *\n * @defaultValue `false`\n */\n debug?: boolean;\n};\n\n/**\n * @internal\n */\nexport function configureContext({\n environment = production,\n headers,\n cache = true,\n batch = true,\n debug = false,\n}: ClientConfig): Context {\n return {\n displayName: 'AaveClient',\n environment,\n headers,\n cache: cache ? exchange : null,\n batch,\n debug,\n };\n}\n","import type {\n CancelError,\n SigningError,\n TransactionError,\n UnexpectedError,\n ValidationError,\n} from '@aave/core';\nimport type {\n ExecutionPlan,\n HasProcessedKnownTransactionRequest,\n InsufficientBalanceError,\n OperationType,\n PermitTypedData,\n SwapTypedData,\n} from '@aave/graphql';\nimport type { ResultAsync, Signature, TxHash } from '@aave/types';\n\n/**\n * @internal\n */\nexport type TransactionResult = {\n txHash: TxHash;\n operations: OperationType[] | null;\n};\n\n/**\n * @internal\n */\nexport function isHasProcessedKnownTransactionRequest(\n result: TransactionResult,\n): result is HasProcessedKnownTransactionRequest {\n return result.operations !== null && result.operations.length > 0;\n}\n\nexport type TransactionReceipt = {\n __typename: 'TransactionReceipt';\n txHash: TxHash;\n};\n\n/**\n * @internal\n */\nexport function transactionReceipt(txHash: TxHash): TransactionReceipt {\n return { __typename: 'TransactionReceipt', txHash };\n}\n\nexport type SendWithError =\n | CancelError\n | SigningError\n | TransactionError\n | ValidationError<InsufficientBalanceError>\n | UnexpectedError;\n\nexport type ExecutionPlanHandler<T extends ExecutionPlan = ExecutionPlan> = (\n result: T,\n) => ResultAsync<TransactionResult, SendWithError>;\n\nexport type SignTypedDataError = CancelError | SigningError;\n\n/**\n * Union type for all EIP-712 typed data structures used in the SDK.\n */\nexport type TypedData = PermitTypedData | SwapTypedData;\n\nexport type TypedDataHandler = (\n data: TypedData,\n) => ResultAsync<Signature, SignTypedDataError>;\n","import { delay, GqlClient, TimeoutError, UnexpectedError } from '@aave/core';\nimport type { HasProcessedKnownTransactionRequest } from '@aave/graphql';\nimport { invariant, ResultAsync } from '@aave/types';\nimport { hasProcessedKnownTransaction } from './actions';\nimport { type ClientConfig, configureContext } from './config';\nimport {\n isHasProcessedKnownTransactionRequest,\n type TransactionReceipt,\n type TransactionResult,\n transactionReceipt,\n} from './types';\n\nexport class AaveClient extends GqlClient {\n /**\n * Create a new instance of the {@link AaveClient}.\n *\n * ```ts\n * const client = AaveClient.create({\n * environment: production,\n * });\n * ```\n *\n * @param options - The options to configure the client.\n * @returns The new instance of the client.\n */\n static create(options?: ClientConfig): AaveClient {\n return new AaveClient(configureContext(options ?? {}));\n }\n\n /**\n * Given the transaction hash of an Aave protocol transaction, wait for the transaction to be\n * processed by the Aave v4 API.\n *\n * Returns a {@link TimeoutError} if the transaction is not processed within the expected timeout period.\n *\n * @param result - The transaction execution result to wait for.\n * @returns The {@link TransactionReceipt} or a error\n */\n readonly waitForTransaction = (\n result: TransactionResult,\n ): ResultAsync<TransactionReceipt, TimeoutError | UnexpectedError> => {\n invariant(\n isHasProcessedKnownTransactionRequest(result),\n 'AaveClient.waitForTransaction called with an non-tracked operation. See the documentation for correct tracking setup.',\n );\n\n return ResultAsync.fromPromise(\n this.pollTransactionStatus(result),\n (err) => {\n if (err instanceof TimeoutError || err instanceof UnexpectedError) {\n return err;\n }\n return UnexpectedError.from(err);\n },\n );\n };\n\n protected async pollTransactionStatus(\n request: HasProcessedKnownTransactionRequest,\n ): Promise<TransactionReceipt> {\n const startedAt = Date.now();\n\n while (Date.now() - startedAt < this.context.environment.indexingTimeout) {\n const processed = await hasProcessedKnownTransaction(this, request).match(\n (ok) => ok,\n (err) => {\n throw err;\n },\n );\n\n if (processed) {\n return transactionReceipt(request.txHash);\n }\n\n await delay(this.context.environment.pollingInterval);\n }\n throw TimeoutError.from(\n `Timeout waiting for transaction ${request.txHash} to be processed.`,\n );\n }\n}\n","import type { Erc20Approval, PermitTypedData } from '@aave/graphql';\nimport { isOneEntryArray } from '@aave/types';\n\ntype WithApprovals = { approvals: Erc20Approval[] };\n\nfunction hasApprovals(plan: unknown): plan is WithApprovals {\n return (\n typeof plan === 'object' &&\n plan !== null &&\n 'approvals' in plan &&\n Array.isArray(plan.approvals)\n );\n}\n\n/**\n * Checks if a plan supports permit (single approval with bySignature).\n * Works with union types - picks any member that has an `approvals` array\n * with a single entry containing `bySignature`.\n *\n * @internal\n */\nexport function supportsPermit<T>(plan: T): plan is T &\n Extract<T, WithApprovals> & {\n approvals: [Erc20Approval & { bySignature: PermitTypedData }];\n } {\n return (\n hasApprovals(plan) &&\n isOneEntryArray(plan.approvals) &&\n !!plan.approvals[0].bySignature\n );\n}\n"]}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export{a as supportsPermit}from'./chunk-N4LXBTGY.js';import {h}from'./chunk-2GSAKHLR.js';export{a as DEFAULT_QUERY_OPTIONS}from'./chunk-2GSAKHLR.js';import {GqlClient,UnexpectedError,TimeoutError,delay}from'@aave/core';export*from'@aave/core';import {encodeReserveId,encodeHubId,isTxHashInputVariant,decodeSpokeId,encodeUserPositionId,isReserveInputVariant,isHubInputVariant}from'@aave/graphql';export*from'@aave/graphql';import {BigDecimal,ResultAsync,invariant}from'@aave/types';export*from'@aave/types';import U from'@aave/graphql/schema';import {cacheExchange}from'@urql/exchange-graphcache';var y=(e,r,a,n)=>BigInt(e[n.fieldName]),l=(e,r,a,n)=>BigDecimal.new(e[n.fieldName]),s=(e,r,a,n)=>{let i=e[n.fieldName];return i==null?null:l(e,r,a,n)},t=(e,r,a,n)=>new Date(e[n.fieldName]),d=(e,r,a,n)=>{let i=e[n.fieldName];return i==null?null:t(e,r,a,n)},f=cacheExchange({schema:U,resolvers:{PercentNumber:{onChainValue:y,value:l,normalized:l},DecimalNumber:{onChainValue:y,value:l},ExchangeAmount:{value:l},AssetPriceSample:{price:l,date:t},Reserve:{borrowCap:l,supplyCap:l},HealthFactorError:{current:s,after:s},HealthFactorVariation:{current:s,after:s},HealthFactorWithChange:{current:s},UserSummary:{lowestHealthFactor:s},UserSummaryHistoryItem:{healthFactor:s,date:t},TransactionRequest:{value:y},ApySample:{date:t},AssetBorrowSample:{date:t},AssetSupplySample:{date:t},HubSummarySample:{date:t},PreviewMerklBorrowReward:{startDate:t,endDate:t},PreviewMerklSupplyReward:{startDate:t,endDate:t},ProtocolHistorySample:{date:t},BorrowActivity:{timestamp:t},LiquidatedActivity:{timestamp:t},MerklBorrowReward:{startDate:t,endDate:t},MerklSupplyReward:{startDate:t,endDate:t},RepayActivity:{timestamp:t},SupplyActivity:{timestamp:t},WithdrawActivity:{timestamp:t},UsingAsCollateralActivity:{timestamp:t},UpdatedDynamicConfigActivity:{timestamp:t},UpdatedRiskPremiumActivity:{timestamp:t},TokenSwapActivity:{timestamp:t},SupplySwapActivity:{timestamp:t},BorrowSwapActivity:{timestamp:t},RepayWithSupplyActivity:{timestamp:t},WithdrawSwapActivity:{timestamp:t},UserMerklClaimableReward:{startDate:t,endDate:t,claimUntil:t},UserPosition:{createdAt:t},UserBorrowItem:{createdAt:d},UserSupplyItem:{createdAt:d},SpokeUserPositionManager:{approvedOn:t},SwapCancelled:{createdAt:t,cancelledAt:d},SwapCancelledResult:{createdAt:t,cancelledAt:d},SwapExpired:{createdAt:t,expiredAt:t},SwapFulfilled:{createdAt:t,fulfilledAt:t},SwapOpen:{createdAt:t,deadline:t},SwapPendingSignature:{createdAt:t,deadline:t},SwapReceipt:{createdAt:t},Query:{hub:(e,{request:r})=>isHubInputVariant(r.query)?{__typename:"Hub",id:encodeHubId(r.query.hubInput)}:{__typename:"Hub",id:r.query.hubId},reserve:(e,{request:r})=>isReserveInputVariant(r.query)?{__typename:"Reserve",id:encodeReserveId(r.query.reserveInput)}:{__typename:"Reserve",id:r.query.reserveId},userPosition:(e,{request:r})=>{if("userSpoke"in r&&r.userSpoke){let{chainId:a,address:n}=decodeSpokeId(r.userSpoke.spoke);return {__typename:"UserPosition",id:encodeUserPositionId({chainId:a,spoke:n,user:r.userSpoke.user})}}if("id"in r&&r.id)return {__typename:"UserPosition",id:r.id}},activities:(e,r,a)=>{if(!isTxHashInputVariant(r.request.query))return a.resolve("Query","activities",r);let{txHash:n,chainId:i}=r.request.query.txHash,v=a.inspectFields("Query").filter(o=>o.fieldName==="activities").reduce((o,S)=>{let p=a.resolve("Query",S.fieldKey);if(!p)return o;let u=a.resolve(p,"items");if(!u)return o;for(let c of u)o.add(c);return o},new Set).values().toArray().filter(o=>{if(a.resolve(o,"txHash")!==n)return false;let p=a.resolve(o,"spoke");if(p){let u=a.resolve(p,"chain"),c=u?a.resolve(u,"chainId"):void 0;if(typeof c=="number")return c===i}return true});if(v.length!==0)return {__typename:"PaginatedActivitiesResult",items:v,pageInfo:{__typename:"PaginatedResultInfo",prev:null,next:null}}}}},keys:{Asset:e=>e.id,BorrowActivity:e=>e.id,BorrowSwapActivity:e=>e.id,Hub:e=>e.id,HubAsset:e=>e.id,LiquidatedActivity:e=>e.id,MerklBorrowReward:e=>e.id,MerklGenericCriteria:e=>e.id,MerklSupplyReward:e=>e.id,RepayActivity:e=>e.id,RepayWithSupplyActivity:e=>e.id,Reserve:e=>e.id,ReserveInfo:e=>e.id,Spoke:e=>e.id,SupplyActivity:e=>e.id,SupplySwapActivity:e=>e.id,TokenInfo:e=>e.id,TokenSwapActivity:e=>e.id,UpdatedDynamicConfigActivity:e=>e.id,UpdatedRiskPremiumActivity:e=>e.id,UserMerklClaimableReward:e=>e.id,UserPosition:e=>e.id,UsingAsCollateralActivity:e=>e.id,WithdrawActivity:e=>e.id,WithdrawSwapActivity:e=>e.id,Erc20Token:e=>e.address,Chain:e=>e.chainId.toString(),NativeToken:e=>e.chain.chainId.toString(),ApySample:()=>null,BorrowSwap:()=>null,AssetAmountWithChange:()=>null,AssetBorrowSample:()=>null,AssetPriceSample:()=>null,AssetSampleBreakdown:()=>null,AssetSummary:()=>null,AssetSupplySample:()=>null,DecimalNumber:()=>null,CollateralFactorVariation:()=>null,DecimalNumberWithChange:()=>null,DomainData:()=>null,Erc20Amount:()=>null,Erc20Approval:()=>null,Erc20ApprovalRequired:()=>null,ExchangeAmount:()=>null,ExchangeAmountVariation:()=>null,ExchangeAmountWithChange:()=>null,ForkTopUpResponse:()=>null,HealthFactorError:()=>null,HealthFactorVariation:()=>null,HealthFactorWithChange:()=>null,HubAssetSettings:()=>null,HubAssetSummary:()=>null,HubAssetUserState:()=>null,HubSummary:()=>null,HubSummarySample:()=>null,InsufficientBalanceError:()=>null,InsufficientLiquidityError:()=>null,LiquidationFeeVariation:()=>null,MaxLiquidationBonusVariation:()=>null,NativeAmount:()=>null,PaginatedActivitiesResult:()=>null,PaginatedResultInfo:()=>null,PaginatedSpokePositionManagerResult:()=>null,PaginatedSpokeUserPositionManagerResult:()=>null,PaginatedUserSwapsResult:()=>null,PercentNumber:()=>null,PercentNumberVariation:()=>null,PercentNumberWithChange:()=>null,PermitTypedData:()=>null,BorrowSwapQuoteResult:()=>null,PercentNumberChangeSnapshot:()=>null,PositionAmount:()=>null,PositionSwapAdapterContractApproval:()=>null,PositionSwapByIntentApprovalsRequired:()=>null,PositionSwapPositionManagerApproval:()=>null,PreContractActionRequired:()=>null,PrepareSwapCancelResult:()=>null,PrepareSwapOrder:()=>null,PreviewMerklBorrowReward:()=>null,PreviewMerklSupplyReward:()=>null,PreviewRewardOutcome:()=>null,PreviewUserPosition:()=>null,RepayWithSupply:()=>null,RepayWithSupplyQuoteResult:()=>null,ProtocolHistorySample:()=>null,ReserveSettings:()=>null,ReserveStatus:()=>null,ReserveSummary:()=>null,ReserveUserState:()=>null,SpokePositionManager:()=>null,SpokeUserPositionManager:()=>null,SwapByIntent:()=>null,SwapByIntentWithApprovalRequired:()=>null,SupplySwap:()=>null,SupplySwapQuoteResult:()=>null,SwapByTransaction:()=>null,SwapCancelled:()=>null,SwapCancelledResult:()=>null,SwapExpired:()=>null,SwapFulfilled:()=>null,SwapOpen:()=>null,SwapPendingSignature:()=>null,SwapQuote:()=>null,SwapQuoteCosts:()=>null,SwapReceipt:()=>null,SwapTransactionRequest:()=>null,SwapTypedData:()=>null,TokenSwap:()=>null,TokenSwapQuoteResult:()=>null,WithdrawSwap:()=>null,WithdrawSwapQuoteResult:()=>null,TransactionRequest:()=>null,UserBalance:()=>null,UserBorrowItem:()=>null,UserPositionRiskPremium:()=>null,UserRiskPremiumBreakdownItem:()=>null,UserSummary:()=>null,UserSummaryHistoryItem:()=>null,UserSupplyItem:()=>null}});var A={name:"production",backend:"https://api.aave.com/graphql",indexingTimeout:6e4,pollingInterval:100,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3},G={name:"staging",backend:"https://api.staging.aave.com/graphql",indexingTimeout:6e4,pollingInterval:500,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3},z={name:"local",backend:"http://localhost:3007/graphql",indexingTimeout:6e4,pollingInterval:1e3,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3};function R({environment:e=A,headers:r,cache:a=true,batch:n=true,debug:i=false}){return {displayName:"AaveClient",environment:e,headers:r,cache:a?f:null,batch:n,debug:i}}function g(e){return e.operations!==null&&e.operations.length>0}function m(e){return {__typename:"TransactionReceipt",txHash:e}}var x=class e extends GqlClient{static create(r){return new e(R(r??{}))}waitForTransaction=r=>(invariant(g(r),"AaveClient.waitForTransaction called with an non-tracked operation. See the documentation for correct tracking setup."),ResultAsync.fromPromise(this.pollTransactionStatus(r),a=>a instanceof TimeoutError||a instanceof UnexpectedError?a:UnexpectedError.from(a)));async pollTransactionStatus(r){let a=Date.now();for(;Date.now()-a<this.context.environment.indexingTimeout;){if(await h(this,r).match(i=>i,i=>{throw i}))return m(r.txHash);await delay(this.context.environment.pollingInterval);}throw TimeoutError.from(`Timeout waiting for transaction ${r.txHash} to be processed.`)}};
1
+ export{a as supportsPermit}from'./chunk-N4LXBTGY.js';import {i}from'./chunk-RM3HEVPN.js';export{a as DEFAULT_QUERY_OPTIONS}from'./chunk-RM3HEVPN.js';import {GqlClient,UnexpectedError,TimeoutError,delay}from'@aave/core';export*from'@aave/core';import {encodeReserveId,encodeHubId,isTxHashInputVariant,decodeSpokeId,encodeUserPositionId,isReserveInputVariant,isHubInputVariant}from'@aave/graphql';export*from'@aave/graphql';import {BigDecimal,ResultAsync,invariant}from'@aave/types';export*from'@aave/types';import U from'@aave/graphql/schema';import {cacheExchange}from'@urql/exchange-graphcache';var y=(e,r,n,a)=>BigInt(e[a.fieldName]),l=(e,r,n,a)=>BigDecimal.new(e[a.fieldName]),s=(e,r,n,a)=>{let i=e[a.fieldName];return i==null?null:l(e,r,n,a)},t=(e,r,n,a)=>new Date(e[a.fieldName]),d=(e,r,n,a)=>{let i=e[a.fieldName];return i==null?null:t(e,r,n,a)},f=cacheExchange({schema:U,resolvers:{PercentNumber:{onChainValue:y,value:l,normalized:l},DecimalNumber:{onChainValue:y,value:l},ExchangeAmount:{value:l},AssetPriceSample:{price:l,date:t},Reserve:{borrowCap:l,supplyCap:l},HealthFactorError:{current:s,after:s},HealthFactorVariation:{current:s,after:s},HealthFactorWithChange:{current:s},UserSummary:{lowestHealthFactor:s},UserSummaryHistoryItem:{healthFactor:s,date:t},TransactionRequest:{value:y},ApySample:{date:t},AssetBorrowSample:{date:t},AssetSupplySample:{date:t},HubSummarySample:{date:t},PreviewMerklBorrowReward:{startDate:t,endDate:t},PreviewMerklSupplyReward:{startDate:t,endDate:t},ProtocolHistorySample:{date:t},BorrowActivity:{timestamp:t},LiquidatedActivity:{timestamp:t},MerklBorrowReward:{startDate:t,endDate:t},MerklSupplyReward:{startDate:t,endDate:t},RepayActivity:{timestamp:t},SupplyActivity:{timestamp:t},WithdrawActivity:{timestamp:t},UsingAsCollateralActivity:{timestamp:t},UpdatedDynamicConfigActivity:{timestamp:t},UpdatedRiskPremiumActivity:{timestamp:t},TokenSwapActivity:{timestamp:t},SupplySwapActivity:{timestamp:t},BorrowSwapActivity:{timestamp:t},RepayWithSupplyActivity:{timestamp:t},WithdrawSwapActivity:{timestamp:t},UserMerklClaimableReward:{startDate:t,endDate:t,claimUntil:t},UserPosition:{createdAt:t},UserBorrowItem:{createdAt:d},UserSupplyItem:{createdAt:d},SpokeUserPositionManager:{approvedOn:t},SwapCancelled:{createdAt:t,cancelledAt:d},SwapCancelledResult:{createdAt:t,cancelledAt:d},SwapExpired:{createdAt:t,expiredAt:t},SwapFulfilled:{createdAt:t,fulfilledAt:t},SwapOpen:{createdAt:t,deadline:t},SwapPendingSignature:{createdAt:t,deadline:t},SwapReceipt:{createdAt:t},Query:{hub:(e,{request:r})=>isHubInputVariant(r.query)?{__typename:"Hub",id:encodeHubId(r.query.hubInput)}:{__typename:"Hub",id:r.query.hubId},reserve:(e,{request:r})=>isReserveInputVariant(r.query)?{__typename:"Reserve",id:encodeReserveId(r.query.reserveInput)}:{__typename:"Reserve",id:r.query.reserveId},userPosition:(e,{request:r})=>{if("userSpoke"in r&&r.userSpoke){let{chainId:n,address:a}=decodeSpokeId(r.userSpoke.spoke);return {__typename:"UserPosition",id:encodeUserPositionId({chainId:n,spoke:a,user:r.userSpoke.user})}}if("id"in r&&r.id)return {__typename:"UserPosition",id:r.id}},activities:(e,r,n)=>{if(!isTxHashInputVariant(r.request.query))return n.resolve("Query","activities",r);let{txHash:a,chainId:i}=r.request.query.txHash,v=n.inspectFields("Query").filter(o=>o.fieldName==="activities").reduce((o,S)=>{let p=n.resolve("Query",S.fieldKey);if(!p)return o;let u=n.resolve(p,"items");if(!u)return o;for(let c of u)o.add(c);return o},new Set).values().toArray().filter(o=>{if(n.resolve(o,"txHash")!==a)return false;let p=n.resolve(o,"spoke");if(p){let u=n.resolve(p,"chain"),c=u?n.resolve(u,"chainId"):void 0;if(typeof c=="number")return c===i}return true});if(v.length!==0)return {__typename:"PaginatedActivitiesResult",items:v,pageInfo:{__typename:"PaginatedResultInfo",prev:null,next:null}}}}},keys:{Asset:e=>e.id,BorrowActivity:e=>e.id,BorrowSwapActivity:e=>e.id,Hub:e=>e.id,HubAsset:e=>e.id,LiquidatedActivity:e=>e.id,MerklBorrowReward:e=>e.id,MerklGenericCriteria:e=>e.id,MerklSupplyReward:e=>e.id,RepayActivity:e=>e.id,RepayWithSupplyActivity:e=>e.id,Reserve:e=>e.id,ReserveInfo:e=>e.id,Spoke:e=>e.id,SupplyActivity:e=>e.id,SupplySwapActivity:e=>e.id,TokenInfo:e=>e.id,TokenSwapActivity:e=>e.id,UpdatedDynamicConfigActivity:e=>e.id,UpdatedRiskPremiumActivity:e=>e.id,UserMerklClaimableReward:e=>e.id,UserPosition:e=>e.id,UsingAsCollateralActivity:e=>e.id,WithdrawActivity:e=>e.id,WithdrawSwapActivity:e=>e.id,Erc20Token:e=>e.address,Chain:e=>e.chainId.toString(),NativeToken:e=>e.chain.chainId.toString(),ApySample:()=>null,BorrowSwap:()=>null,AssetAmountWithChange:()=>null,AssetBorrowSample:()=>null,AssetPriceSample:()=>null,AssetSampleBreakdown:()=>null,AssetSummary:()=>null,AssetSupplySample:()=>null,DecimalNumber:()=>null,CollateralFactorVariation:()=>null,DecimalNumberWithChange:()=>null,DomainData:()=>null,Erc20Amount:()=>null,Erc20Approval:()=>null,Erc20ApprovalRequired:()=>null,ExchangeAmount:()=>null,ExchangeAmountVariation:()=>null,ExchangeAmountWithChange:()=>null,ForkTopUpResponse:()=>null,HealthFactorError:()=>null,HealthFactorVariation:()=>null,HealthFactorWithChange:()=>null,HubAssetInterestRateModelPoint:()=>null,HubAssetInterestRateModelResult:()=>null,HubAssetSettings:()=>null,HubAssetSummary:()=>null,HubAssetUserState:()=>null,HubSummary:()=>null,HubSummarySample:()=>null,InsufficientBalanceError:()=>null,InsufficientLiquidityError:()=>null,LiquidationFeeVariation:()=>null,MaxLiquidationBonusVariation:()=>null,NativeAmount:()=>null,PaginatedActivitiesResult:()=>null,PaginatedResultInfo:()=>null,PaginatedSpokePositionManagerResult:()=>null,PaginatedSpokeUserPositionManagerResult:()=>null,PaginatedUserSwapsResult:()=>null,PercentNumber:()=>null,PercentNumberVariation:()=>null,PercentNumberWithChange:()=>null,PermitTypedData:()=>null,BorrowSwapQuoteResult:()=>null,PercentNumberChangeSnapshot:()=>null,PositionAmount:()=>null,PositionSwapAdapterContractApproval:()=>null,PositionSwapByIntentApprovalsRequired:()=>null,PositionSwapPositionManagerApproval:()=>null,PreContractActionRequired:()=>null,PrepareSwapCancelResult:()=>null,PrepareSwapOrder:()=>null,PreviewMerklBorrowReward:()=>null,PreviewMerklSupplyReward:()=>null,PreviewRewardOutcome:()=>null,PreviewUserPosition:()=>null,RepayWithSupply:()=>null,RepayWithSupplyQuoteResult:()=>null,ProtocolHistorySample:()=>null,ReserveSettings:()=>null,ReserveStatus:()=>null,ReserveSummary:()=>null,ReserveUserState:()=>null,SpokePositionManager:()=>null,SpokeUserPositionManager:()=>null,SwapByIntent:()=>null,SwapByIntentWithApprovalRequired:()=>null,SupplySwap:()=>null,SupplySwapQuoteResult:()=>null,SwapByTransaction:()=>null,SwapCancelled:()=>null,SwapCancelledResult:()=>null,SwapExpired:()=>null,SwapFulfilled:()=>null,SwapOpen:()=>null,SwapPendingSignature:()=>null,SwapQuote:()=>null,SwapQuoteCosts:()=>null,SwapReceipt:()=>null,SwapTransactionRequest:()=>null,SwapTypedData:()=>null,TokenSwap:()=>null,TokenSwapQuoteResult:()=>null,WithdrawSwap:()=>null,WithdrawSwapQuoteResult:()=>null,TransactionRequest:()=>null,UserBalance:()=>null,UserBorrowItem:()=>null,UserPositionRiskPremium:()=>null,UserRiskPremiumBreakdownItem:()=>null,UserSummary:()=>null,UserSummaryHistoryItem:()=>null,UserSupplyItem:()=>null}});var A={name:"production",backend:"https://api.aave.com/graphql",indexingTimeout:6e4,pollingInterval:100,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3},G={name:"staging",backend:"https://api.staging.aave.com/graphql",indexingTimeout:6e4,pollingInterval:500,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3},z={name:"local",backend:"http://localhost:3007/graphql",indexingTimeout:6e4,pollingInterval:1e3,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3};function R({environment:e=A,headers:r,cache:n=true,batch:a=true,debug:i=false}){return {displayName:"AaveClient",environment:e,headers:r,cache:n?f:null,batch:a,debug:i}}function g(e){return e.operations!==null&&e.operations.length>0}function m(e){return {__typename:"TransactionReceipt",txHash:e}}var x=class e extends GqlClient{static create(r){return new e(R(r??{}))}waitForTransaction=r=>(invariant(g(r),"AaveClient.waitForTransaction called with an non-tracked operation. See the documentation for correct tracking setup."),ResultAsync.fromPromise(this.pollTransactionStatus(r),n=>n instanceof TimeoutError||n instanceof UnexpectedError?n:UnexpectedError.from(n)));async pollTransactionStatus(r){let n=Date.now();for(;Date.now()-n<this.context.environment.indexingTimeout;){if(await i(this,r).match(i=>i,i=>{throw i}))return m(r.txHash);await delay(this.context.environment.pollingInterval);}throw TimeoutError.from(`Timeout waiting for transaction ${r.txHash} to be processed.`)}};
2
2
  export{x as AaveClient,z as local,A as production,G as staging,m as transactionReceipt};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cache.ts","../src/environments.ts","../src/config.ts","../src/types.ts","../src/AaveClient.ts"],"names":["transformToBigInt","parent","_args","_cache","info","transformToBigDecimal","BigDecimal","transformToNullableBigDecimal","value","transformToDate","transformToNullableDate","exchange","cacheExchange","introspectedSchema","_","request","isHubInputVariant","encodeHubId","isReserveInputVariant","encodeReserveId","chainId","address","decodeSpokeId","encodeUserPositionId","_parent","args","cache","isTxHashInputVariant","txHash","matches","f","set","pageRef","itemRefs","ref","spokeRef","chainRef","itemChainId","data","production","staging","local","configureContext","environment","headers","batch","debug","isHasProcessedKnownTransactionRequest","result","transactionReceipt","AaveClient","_AaveClient","GqlClient","options","invariant","ResultAsync","err","TimeoutError","UnexpectedError","startedAt","hasProcessedKnownTransaction","ok","delay"],"mappings":"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","file":"index.js","sourcesContent":["import {\n type ActivitiesQuery,\n type Asset,\n type BorrowActivity,\n type BorrowSwapActivity,\n type Chain,\n decodeSpokeId,\n type Erc20Token,\n encodeHubId,\n encodeReserveId,\n encodeUserPositionId,\n type Hub,\n type HubAsset,\n type HubQuery,\n isHubInputVariant,\n isReserveInputVariant,\n isTxHashInputVariant,\n type LiquidatedActivity,\n type MerklBorrowReward,\n type MerklGenericCriteria,\n type MerklSupplyReward,\n type NativeToken,\n type RepayActivity,\n type RepayWithSupplyActivity,\n type Reserve,\n type ReserveInfo,\n type ReserveQuery,\n type Spoke,\n type SupplyActivity,\n type SupplySwapActivity,\n type TokenInfo,\n type TokenSwapActivity,\n type UpdatedDynamicConfigActivity,\n type UpdatedRiskPremiumActivity,\n type UserMerklClaimableReward,\n type UserPosition,\n type UserPositionQuery,\n type UsingAsCollateralActivity,\n type VariablesOf,\n type WithdrawActivity,\n type WithdrawSwapActivity,\n} from '@aave/graphql';\nimport introspectedSchema from '@aave/graphql/schema';\nimport { BigDecimal, type TxHash } from '@aave/types';\nimport {\n cacheExchange,\n type Resolver,\n type Scalar,\n} from '@urql/exchange-graphcache';\n\nconst transformToBigInt: Resolver = (parent, _args, _cache, info) => {\n return BigInt(parent[info.fieldName] as string) as unknown as Scalar;\n};\n\nconst transformToBigDecimal: Resolver = (parent, _args, _cache, info) => {\n return BigDecimal.new(parent[info.fieldName] as string);\n};\n\nconst transformToNullableBigDecimal: Resolver = (\n parent,\n _args,\n _cache,\n info,\n) => {\n const value = parent[info.fieldName];\n if (value === null || value === undefined) {\n return null;\n }\n return transformToBigDecimal(parent, _args, _cache, info);\n};\n\nconst transformToDate: Resolver = (parent, _args, _cache, info) => {\n return new Date(parent[info.fieldName] as string);\n};\n\nconst transformToNullableDate: Resolver = (parent, _args, _cache, info) => {\n const value = parent[info.fieldName];\n if (value === null || value === undefined) {\n return null;\n }\n return transformToDate(parent, _args, _cache, info);\n};\n\nexport const exchange = cacheExchange({\n schema: introspectedSchema,\n resolvers: {\n PercentNumber: {\n onChainValue: transformToBigInt,\n value: transformToBigDecimal,\n normalized: transformToBigDecimal,\n },\n DecimalNumber: {\n onChainValue: transformToBigInt,\n value: transformToBigDecimal,\n },\n ExchangeAmount: {\n value: transformToBigDecimal,\n },\n AssetPriceSample: {\n price: transformToBigDecimal,\n date: transformToDate,\n },\n Reserve: {\n borrowCap: transformToBigDecimal,\n supplyCap: transformToBigDecimal,\n },\n HealthFactorError: {\n current: transformToNullableBigDecimal,\n after: transformToNullableBigDecimal,\n },\n HealthFactorVariation: {\n current: transformToNullableBigDecimal,\n after: transformToNullableBigDecimal,\n },\n HealthFactorWithChange: {\n current: transformToNullableBigDecimal,\n },\n UserSummary: {\n lowestHealthFactor: transformToNullableBigDecimal,\n },\n UserSummaryHistoryItem: {\n healthFactor: transformToNullableBigDecimal,\n date: transformToDate,\n },\n TransactionRequest: {\n value: transformToBigInt,\n },\n ApySample: {\n date: transformToDate,\n },\n AssetBorrowSample: {\n date: transformToDate,\n },\n AssetSupplySample: {\n date: transformToDate,\n },\n HubSummarySample: {\n date: transformToDate,\n },\n PreviewMerklBorrowReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n PreviewMerklSupplyReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n ProtocolHistorySample: {\n date: transformToDate,\n },\n BorrowActivity: {\n timestamp: transformToDate,\n },\n LiquidatedActivity: {\n timestamp: transformToDate,\n },\n MerklBorrowReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n MerklSupplyReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n RepayActivity: {\n timestamp: transformToDate,\n },\n SupplyActivity: {\n timestamp: transformToDate,\n },\n WithdrawActivity: {\n timestamp: transformToDate,\n },\n UsingAsCollateralActivity: {\n timestamp: transformToDate,\n },\n UpdatedDynamicConfigActivity: {\n timestamp: transformToDate,\n },\n UpdatedRiskPremiumActivity: {\n timestamp: transformToDate,\n },\n TokenSwapActivity: {\n timestamp: transformToDate,\n },\n SupplySwapActivity: {\n timestamp: transformToDate,\n },\n BorrowSwapActivity: {\n timestamp: transformToDate,\n },\n RepayWithSupplyActivity: {\n timestamp: transformToDate,\n },\n WithdrawSwapActivity: {\n timestamp: transformToDate,\n },\n UserMerklClaimableReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n claimUntil: transformToDate,\n },\n UserPosition: {\n createdAt: transformToDate,\n },\n UserBorrowItem: {\n createdAt: transformToNullableDate,\n },\n UserSupplyItem: {\n createdAt: transformToNullableDate,\n },\n SpokeUserPositionManager: {\n approvedOn: transformToDate,\n },\n SwapCancelled: {\n createdAt: transformToDate,\n cancelledAt: transformToNullableDate,\n },\n SwapCancelledResult: {\n createdAt: transformToDate,\n cancelledAt: transformToNullableDate,\n },\n SwapExpired: {\n createdAt: transformToDate,\n expiredAt: transformToDate,\n },\n SwapFulfilled: {\n createdAt: transformToDate,\n fulfilledAt: transformToDate,\n },\n SwapOpen: {\n createdAt: transformToDate,\n deadline: transformToDate,\n },\n SwapPendingSignature: {\n createdAt: transformToDate,\n deadline: transformToDate,\n },\n SwapReceipt: {\n createdAt: transformToDate,\n },\n Query: {\n hub: (_, { request }: VariablesOf<typeof HubQuery>) => {\n if (isHubInputVariant(request.query)) {\n return {\n __typename: 'Hub',\n id: encodeHubId(request.query.hubInput),\n };\n }\n return {\n __typename: 'Hub',\n id: request.query.hubId,\n };\n },\n\n reserve: (_, { request }: VariablesOf<typeof ReserveQuery>) => {\n if (isReserveInputVariant(request.query)) {\n return {\n __typename: 'Reserve',\n id: encodeReserveId(request.query.reserveInput),\n };\n }\n return {\n __typename: 'Reserve',\n id: request.query.reserveId,\n };\n },\n\n userPosition: (_, { request }: VariablesOf<typeof UserPositionQuery>) => {\n if ('userSpoke' in request && request.userSpoke) {\n const { chainId, address } = decodeSpokeId(request.userSpoke.spoke);\n return {\n __typename: 'UserPosition',\n id: encodeUserPositionId({\n chainId,\n spoke: address,\n user: request.userSpoke.user,\n }),\n };\n }\n if ('id' in request && request.id) {\n return {\n __typename: 'UserPosition',\n id: request.id,\n };\n }\n return undefined;\n },\n\n activities: (\n _parent,\n args: VariablesOf<typeof ActivitiesQuery>,\n cache,\n ) => {\n // Bail out if not a txHash filter lookup\n if (!isTxHashInputVariant(args.request.query)) {\n return cache.resolve('Query', 'activities', args);\n }\n\n const { txHash, chainId } = args.request.query.txHash;\n\n // Collect all cached activities matching txHash\n const matches = cache\n .inspectFields('Query')\n .filter((f) => f.fieldName === 'activities')\n .reduce((set, f) => {\n const pageRef = cache.resolve('Query', f.fieldKey) as string | null;\n if (!pageRef) return set;\n\n const itemRefs = cache.resolve(pageRef, 'items') as string[] | null;\n if (!itemRefs) return set;\n\n for (const ref of itemRefs) {\n set.add(ref);\n }\n return set;\n }, new Set<string>())\n .values()\n .toArray()\n .filter((ref) => {\n const itemTxHash = cache.resolve(ref, 'txHash') as TxHash;\n if (itemTxHash !== txHash) return false;\n\n // Verify chainId via spoke.chain.chainId if present\n const spokeRef = cache.resolve(ref, 'spoke') as string | null;\n if (spokeRef) {\n const chainRef = cache.resolve(spokeRef, 'chain') as\n | string\n | null;\n const itemChainId = chainRef\n ? (cache.resolve(chainRef, 'chainId') as number | undefined)\n : undefined;\n if (typeof itemChainId === 'number') {\n return itemChainId === chainId;\n }\n }\n return true;\n });\n\n if (matches.length === 0) return undefined;\n\n return {\n __typename: 'PaginatedActivitiesResult',\n items: matches,\n pageInfo: {\n __typename: 'PaginatedResultInfo',\n prev: null,\n next: null,\n },\n };\n },\n },\n },\n keys: {\n // Entities with id field as key\n Asset: (data: Asset) => data.id,\n BorrowActivity: (data: BorrowActivity) => data.id,\n BorrowSwapActivity: (data: BorrowSwapActivity) => data.id,\n Hub: (data: Hub) => data.id,\n HubAsset: (data: HubAsset) => data.id,\n LiquidatedActivity: (data: LiquidatedActivity) => data.id,\n MerklBorrowReward: (data: MerklBorrowReward) => data.id,\n MerklGenericCriteria: (data: MerklGenericCriteria) => data.id,\n MerklSupplyReward: (data: MerklSupplyReward) => data.id,\n RepayActivity: (data: RepayActivity) => data.id,\n RepayWithSupplyActivity: (data: RepayWithSupplyActivity) => data.id,\n Reserve: (data: Reserve) => data.id,\n ReserveInfo: (data: ReserveInfo) => data.id,\n Spoke: (data: Spoke) => data.id,\n SupplyActivity: (data: SupplyActivity) => data.id,\n SupplySwapActivity: (data: SupplySwapActivity) => data.id,\n TokenInfo: (data: TokenInfo) => data.id,\n TokenSwapActivity: (data: TokenSwapActivity) => data.id,\n UpdatedDynamicConfigActivity: (data: UpdatedDynamicConfigActivity) =>\n data.id,\n UpdatedRiskPremiumActivity: (data: UpdatedRiskPremiumActivity) => data.id,\n UserMerklClaimableReward: (data: UserMerklClaimableReward) => data.id,\n UserPosition: (data: UserPosition) => data.id,\n UsingAsCollateralActivity: (data: UsingAsCollateralActivity) => data.id,\n WithdrawActivity: (data: WithdrawActivity) => data.id,\n WithdrawSwapActivity: (data: WithdrawSwapActivity) => data.id,\n\n // Entities with address field as key\n Erc20Token: (data: Erc20Token) => data.address,\n\n // Entities with other fields as key\n Chain: (data: Chain) => data.chainId.toString(),\n NativeToken: (data: NativeToken) => data.chain.chainId.toString(),\n\n // Value objects and result types\n ApySample: () => null,\n BorrowSwap: () => null,\n AssetAmountWithChange: () => null,\n AssetBorrowSample: () => null,\n AssetPriceSample: () => null,\n AssetSampleBreakdown: () => null,\n AssetSummary: () => null,\n AssetSupplySample: () => null,\n DecimalNumber: () => null,\n CollateralFactorVariation: () => null,\n DecimalNumberWithChange: () => null,\n DomainData: () => null,\n Erc20Amount: () => null,\n Erc20Approval: () => null,\n Erc20ApprovalRequired: () => null,\n ExchangeAmount: () => null,\n ExchangeAmountVariation: () => null,\n ExchangeAmountWithChange: () => null,\n ForkTopUpResponse: () => null,\n HealthFactorError: () => null,\n HealthFactorVariation: () => null,\n HealthFactorWithChange: () => null,\n HubAssetSettings: () => null,\n HubAssetSummary: () => null,\n HubAssetUserState: () => null,\n HubSummary: () => null,\n HubSummarySample: () => null,\n InsufficientBalanceError: () => null,\n InsufficientLiquidityError: () => null,\n LiquidationFeeVariation: () => null,\n MaxLiquidationBonusVariation: () => null,\n NativeAmount: () => null,\n PaginatedActivitiesResult: () => null,\n PaginatedResultInfo: () => null,\n PaginatedSpokePositionManagerResult: () => null,\n PaginatedSpokeUserPositionManagerResult: () => null,\n PaginatedUserSwapsResult: () => null,\n PercentNumber: () => null,\n PercentNumberVariation: () => null,\n PercentNumberWithChange: () => null,\n PermitTypedData: () => null,\n BorrowSwapQuoteResult: () => null,\n PercentNumberChangeSnapshot: () => null,\n PositionAmount: () => null,\n PositionSwapAdapterContractApproval: () => null,\n PositionSwapByIntentApprovalsRequired: () => null,\n PositionSwapPositionManagerApproval: () => null,\n PreContractActionRequired: () => null,\n PrepareSwapCancelResult: () => null,\n PrepareSwapOrder: () => null,\n PreviewMerklBorrowReward: () => null,\n PreviewMerklSupplyReward: () => null,\n PreviewRewardOutcome: () => null,\n PreviewUserPosition: () => null,\n RepayWithSupply: () => null,\n RepayWithSupplyQuoteResult: () => null,\n ProtocolHistorySample: () => null,\n ReserveSettings: () => null,\n ReserveStatus: () => null,\n ReserveSummary: () => null,\n ReserveUserState: () => null,\n SpokePositionManager: () => null,\n SpokeUserPositionManager: () => null,\n SwapByIntent: () => null,\n SwapByIntentWithApprovalRequired: () => null,\n SupplySwap: () => null,\n SupplySwapQuoteResult: () => null,\n SwapByTransaction: () => null,\n SwapCancelled: () => null,\n SwapCancelledResult: () => null,\n SwapExpired: () => null,\n SwapFulfilled: () => null,\n SwapOpen: () => null,\n SwapPendingSignature: () => null,\n SwapQuote: () => null,\n SwapQuoteCosts: () => null,\n SwapReceipt: () => null,\n SwapTransactionRequest: () => null,\n SwapTypedData: () => null,\n TokenSwap: () => null,\n TokenSwapQuoteResult: () => null,\n WithdrawSwap: () => null,\n WithdrawSwapQuoteResult: () => null,\n TransactionRequest: () => null,\n UserBalance: () => null,\n UserBorrowItem: () => null,\n UserPositionRiskPremium: () => null,\n UserRiskPremiumBreakdownItem: () => null,\n UserSummary: () => null,\n UserSummaryHistoryItem: () => null,\n UserSupplyItem: () => null,\n },\n});\n","import type { EnvironmentConfig } from '@aave/core';\n\n/**\n * The production environment configuration.\n */\nexport const production: EnvironmentConfig = {\n name: 'production',\n backend: 'https://api.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 100,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n\n/**\n * @internal\n */\nexport const staging: EnvironmentConfig = {\n name: 'staging',\n backend: 'https://api.staging.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 500,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n\n/**\n * @internal\n */\nexport const local: EnvironmentConfig = {\n name: 'local',\n backend: 'http://localhost:3007/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 1000,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n","import type { Context } from '@aave/core';\nimport type { EnvironmentConfig } from '../../core/src/types';\nimport { exchange } from './cache';\nimport { production } from './environments';\n\n/**\n * The client configuration.\n */\nexport type ClientConfig = {\n /**\n * @internal\n * @defaultValue `production`\n */\n environment?: EnvironmentConfig;\n /**\n * @internal\n */\n headers?: Record<string, string>;\n /**\n * Whether to enable caching.\n *\n * @defaultValue `true`\n */\n cache?: boolean;\n /**\n * Whether to enable query batching.\n *\n * @defaultValue `true`\n */\n batch?: boolean;\n /**\n * Whether to enable debug mode.\n *\n * @defaultValue `false`\n */\n debug?: boolean;\n};\n\n/**\n * @internal\n */\nexport function configureContext({\n environment = production,\n headers,\n cache = true,\n batch = true,\n debug = false,\n}: ClientConfig): Context {\n return {\n displayName: 'AaveClient',\n environment,\n headers,\n cache: cache ? exchange : null,\n batch,\n debug,\n };\n}\n","import type {\n CancelError,\n SigningError,\n TransactionError,\n UnexpectedError,\n ValidationError,\n} from '@aave/core';\nimport type {\n ExecutionPlan,\n HasProcessedKnownTransactionRequest,\n InsufficientBalanceError,\n OperationType,\n PermitTypedData,\n SwapTypedData,\n} from '@aave/graphql';\nimport type { ResultAsync, Signature, TxHash } from '@aave/types';\n\n/**\n * @internal\n */\nexport type TransactionResult = {\n txHash: TxHash;\n operations: OperationType[] | null;\n};\n\n/**\n * @internal\n */\nexport function isHasProcessedKnownTransactionRequest(\n result: TransactionResult,\n): result is HasProcessedKnownTransactionRequest {\n return result.operations !== null && result.operations.length > 0;\n}\n\nexport type TransactionReceipt = {\n __typename: 'TransactionReceipt';\n txHash: TxHash;\n};\n\n/**\n * @internal\n */\nexport function transactionReceipt(txHash: TxHash): TransactionReceipt {\n return { __typename: 'TransactionReceipt', txHash };\n}\n\nexport type SendWithError =\n | CancelError\n | SigningError\n | TransactionError\n | ValidationError<InsufficientBalanceError>\n | UnexpectedError;\n\nexport type ExecutionPlanHandler<T extends ExecutionPlan = ExecutionPlan> = (\n result: T,\n) => ResultAsync<TransactionResult, SendWithError>;\n\nexport type SignTypedDataError = CancelError | SigningError;\n\n/**\n * Union type for all EIP-712 typed data structures used in the SDK.\n */\nexport type TypedData = PermitTypedData | SwapTypedData;\n\nexport type TypedDataHandler = (\n data: TypedData,\n) => ResultAsync<Signature, SignTypedDataError>;\n","import { delay, GqlClient, TimeoutError, UnexpectedError } from '@aave/core';\nimport type { HasProcessedKnownTransactionRequest } from '@aave/graphql';\nimport { invariant, ResultAsync } from '@aave/types';\nimport { hasProcessedKnownTransaction } from './actions';\nimport { type ClientConfig, configureContext } from './config';\nimport {\n isHasProcessedKnownTransactionRequest,\n type TransactionReceipt,\n type TransactionResult,\n transactionReceipt,\n} from './types';\n\nexport class AaveClient extends GqlClient {\n /**\n * Create a new instance of the {@link AaveClient}.\n *\n * ```ts\n * const client = AaveClient.create({\n * environment: production,\n * });\n * ```\n *\n * @param options - The options to configure the client.\n * @returns The new instance of the client.\n */\n static create(options?: ClientConfig): AaveClient {\n return new AaveClient(configureContext(options ?? {}));\n }\n\n /**\n * Given the transaction hash of an Aave protocol transaction, wait for the transaction to be\n * processed by the Aave v4 API.\n *\n * Returns a {@link TimeoutError} if the transaction is not processed within the expected timeout period.\n *\n * @param result - The transaction execution result to wait for.\n * @returns The {@link TransactionReceipt} or a error\n */\n readonly waitForTransaction = (\n result: TransactionResult,\n ): ResultAsync<TransactionReceipt, TimeoutError | UnexpectedError> => {\n invariant(\n isHasProcessedKnownTransactionRequest(result),\n 'AaveClient.waitForTransaction called with an non-tracked operation. See the documentation for correct tracking setup.',\n );\n\n return ResultAsync.fromPromise(\n this.pollTransactionStatus(result),\n (err) => {\n if (err instanceof TimeoutError || err instanceof UnexpectedError) {\n return err;\n }\n return UnexpectedError.from(err);\n },\n );\n };\n\n protected async pollTransactionStatus(\n request: HasProcessedKnownTransactionRequest,\n ): Promise<TransactionReceipt> {\n const startedAt = Date.now();\n\n while (Date.now() - startedAt < this.context.environment.indexingTimeout) {\n const processed = await hasProcessedKnownTransaction(this, request).match(\n (ok) => ok,\n (err) => {\n throw err;\n },\n );\n\n if (processed) {\n return transactionReceipt(request.txHash);\n }\n\n await delay(this.context.environment.pollingInterval);\n }\n throw TimeoutError.from(\n `Timeout waiting for transaction ${request.txHash} to be processed.`,\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/cache.ts","../src/environments.ts","../src/config.ts","../src/types.ts","../src/AaveClient.ts"],"names":["transformToBigInt","parent","_args","_cache","info","transformToBigDecimal","BigDecimal","transformToNullableBigDecimal","value","transformToDate","transformToNullableDate","exchange","cacheExchange","introspectedSchema","_","request","isHubInputVariant","encodeHubId","isReserveInputVariant","encodeReserveId","chainId","address","decodeSpokeId","encodeUserPositionId","_parent","args","cache","isTxHashInputVariant","txHash","matches","f","set","pageRef","itemRefs","ref","spokeRef","chainRef","itemChainId","data","production","staging","local","configureContext","environment","headers","batch","debug","isHasProcessedKnownTransactionRequest","result","transactionReceipt","AaveClient","_AaveClient","GqlClient","options","invariant","ResultAsync","err","TimeoutError","UnexpectedError","startedAt","hasProcessedKnownTransaction","ok","delay"],"mappings":"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","file":"index.js","sourcesContent":["import {\n type ActivitiesQuery,\n type Asset,\n type BorrowActivity,\n type BorrowSwapActivity,\n type Chain,\n decodeSpokeId,\n type Erc20Token,\n encodeHubId,\n encodeReserveId,\n encodeUserPositionId,\n type Hub,\n type HubAsset,\n type HubQuery,\n isHubInputVariant,\n isReserveInputVariant,\n isTxHashInputVariant,\n type LiquidatedActivity,\n type MerklBorrowReward,\n type MerklGenericCriteria,\n type MerklSupplyReward,\n type NativeToken,\n type RepayActivity,\n type RepayWithSupplyActivity,\n type Reserve,\n type ReserveInfo,\n type ReserveQuery,\n type Spoke,\n type SupplyActivity,\n type SupplySwapActivity,\n type TokenInfo,\n type TokenSwapActivity,\n type UpdatedDynamicConfigActivity,\n type UpdatedRiskPremiumActivity,\n type UserMerklClaimableReward,\n type UserPosition,\n type UserPositionQuery,\n type UsingAsCollateralActivity,\n type VariablesOf,\n type WithdrawActivity,\n type WithdrawSwapActivity,\n} from '@aave/graphql';\nimport introspectedSchema from '@aave/graphql/schema';\nimport { BigDecimal, type TxHash } from '@aave/types';\nimport {\n cacheExchange,\n type Resolver,\n type Scalar,\n} from '@urql/exchange-graphcache';\n\nconst transformToBigInt: Resolver = (parent, _args, _cache, info) => {\n return BigInt(parent[info.fieldName] as string) as unknown as Scalar;\n};\n\nconst transformToBigDecimal: Resolver = (parent, _args, _cache, info) => {\n return BigDecimal.new(parent[info.fieldName] as string);\n};\n\nconst transformToNullableBigDecimal: Resolver = (\n parent,\n _args,\n _cache,\n info,\n) => {\n const value = parent[info.fieldName];\n if (value === null || value === undefined) {\n return null;\n }\n return transformToBigDecimal(parent, _args, _cache, info);\n};\n\nconst transformToDate: Resolver = (parent, _args, _cache, info) => {\n return new Date(parent[info.fieldName] as string);\n};\n\nconst transformToNullableDate: Resolver = (parent, _args, _cache, info) => {\n const value = parent[info.fieldName];\n if (value === null || value === undefined) {\n return null;\n }\n return transformToDate(parent, _args, _cache, info);\n};\n\nexport const exchange = cacheExchange({\n schema: introspectedSchema,\n resolvers: {\n PercentNumber: {\n onChainValue: transformToBigInt,\n value: transformToBigDecimal,\n normalized: transformToBigDecimal,\n },\n DecimalNumber: {\n onChainValue: transformToBigInt,\n value: transformToBigDecimal,\n },\n ExchangeAmount: {\n value: transformToBigDecimal,\n },\n AssetPriceSample: {\n price: transformToBigDecimal,\n date: transformToDate,\n },\n Reserve: {\n borrowCap: transformToBigDecimal,\n supplyCap: transformToBigDecimal,\n },\n HealthFactorError: {\n current: transformToNullableBigDecimal,\n after: transformToNullableBigDecimal,\n },\n HealthFactorVariation: {\n current: transformToNullableBigDecimal,\n after: transformToNullableBigDecimal,\n },\n HealthFactorWithChange: {\n current: transformToNullableBigDecimal,\n },\n UserSummary: {\n lowestHealthFactor: transformToNullableBigDecimal,\n },\n UserSummaryHistoryItem: {\n healthFactor: transformToNullableBigDecimal,\n date: transformToDate,\n },\n TransactionRequest: {\n value: transformToBigInt,\n },\n ApySample: {\n date: transformToDate,\n },\n AssetBorrowSample: {\n date: transformToDate,\n },\n AssetSupplySample: {\n date: transformToDate,\n },\n HubSummarySample: {\n date: transformToDate,\n },\n PreviewMerklBorrowReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n PreviewMerklSupplyReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n ProtocolHistorySample: {\n date: transformToDate,\n },\n BorrowActivity: {\n timestamp: transformToDate,\n },\n LiquidatedActivity: {\n timestamp: transformToDate,\n },\n MerklBorrowReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n MerklSupplyReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n },\n RepayActivity: {\n timestamp: transformToDate,\n },\n SupplyActivity: {\n timestamp: transformToDate,\n },\n WithdrawActivity: {\n timestamp: transformToDate,\n },\n UsingAsCollateralActivity: {\n timestamp: transformToDate,\n },\n UpdatedDynamicConfigActivity: {\n timestamp: transformToDate,\n },\n UpdatedRiskPremiumActivity: {\n timestamp: transformToDate,\n },\n TokenSwapActivity: {\n timestamp: transformToDate,\n },\n SupplySwapActivity: {\n timestamp: transformToDate,\n },\n BorrowSwapActivity: {\n timestamp: transformToDate,\n },\n RepayWithSupplyActivity: {\n timestamp: transformToDate,\n },\n WithdrawSwapActivity: {\n timestamp: transformToDate,\n },\n UserMerklClaimableReward: {\n startDate: transformToDate,\n endDate: transformToDate,\n claimUntil: transformToDate,\n },\n UserPosition: {\n createdAt: transformToDate,\n },\n UserBorrowItem: {\n createdAt: transformToNullableDate,\n },\n UserSupplyItem: {\n createdAt: transformToNullableDate,\n },\n SpokeUserPositionManager: {\n approvedOn: transformToDate,\n },\n SwapCancelled: {\n createdAt: transformToDate,\n cancelledAt: transformToNullableDate,\n },\n SwapCancelledResult: {\n createdAt: transformToDate,\n cancelledAt: transformToNullableDate,\n },\n SwapExpired: {\n createdAt: transformToDate,\n expiredAt: transformToDate,\n },\n SwapFulfilled: {\n createdAt: transformToDate,\n fulfilledAt: transformToDate,\n },\n SwapOpen: {\n createdAt: transformToDate,\n deadline: transformToDate,\n },\n SwapPendingSignature: {\n createdAt: transformToDate,\n deadline: transformToDate,\n },\n SwapReceipt: {\n createdAt: transformToDate,\n },\n Query: {\n hub: (_, { request }: VariablesOf<typeof HubQuery>) => {\n if (isHubInputVariant(request.query)) {\n return {\n __typename: 'Hub',\n id: encodeHubId(request.query.hubInput),\n };\n }\n return {\n __typename: 'Hub',\n id: request.query.hubId,\n };\n },\n\n reserve: (_, { request }: VariablesOf<typeof ReserveQuery>) => {\n if (isReserveInputVariant(request.query)) {\n return {\n __typename: 'Reserve',\n id: encodeReserveId(request.query.reserveInput),\n };\n }\n return {\n __typename: 'Reserve',\n id: request.query.reserveId,\n };\n },\n\n userPosition: (_, { request }: VariablesOf<typeof UserPositionQuery>) => {\n if ('userSpoke' in request && request.userSpoke) {\n const { chainId, address } = decodeSpokeId(request.userSpoke.spoke);\n return {\n __typename: 'UserPosition',\n id: encodeUserPositionId({\n chainId,\n spoke: address,\n user: request.userSpoke.user,\n }),\n };\n }\n if ('id' in request && request.id) {\n return {\n __typename: 'UserPosition',\n id: request.id,\n };\n }\n return undefined;\n },\n\n activities: (\n _parent,\n args: VariablesOf<typeof ActivitiesQuery>,\n cache,\n ) => {\n // Bail out if not a txHash filter lookup\n if (!isTxHashInputVariant(args.request.query)) {\n return cache.resolve('Query', 'activities', args);\n }\n\n const { txHash, chainId } = args.request.query.txHash;\n\n // Collect all cached activities matching txHash\n const matches = cache\n .inspectFields('Query')\n .filter((f) => f.fieldName === 'activities')\n .reduce((set, f) => {\n const pageRef = cache.resolve('Query', f.fieldKey) as string | null;\n if (!pageRef) return set;\n\n const itemRefs = cache.resolve(pageRef, 'items') as string[] | null;\n if (!itemRefs) return set;\n\n for (const ref of itemRefs) {\n set.add(ref);\n }\n return set;\n }, new Set<string>())\n .values()\n .toArray()\n .filter((ref) => {\n const itemTxHash = cache.resolve(ref, 'txHash') as TxHash;\n if (itemTxHash !== txHash) return false;\n\n // Verify chainId via spoke.chain.chainId if present\n const spokeRef = cache.resolve(ref, 'spoke') as string | null;\n if (spokeRef) {\n const chainRef = cache.resolve(spokeRef, 'chain') as\n | string\n | null;\n const itemChainId = chainRef\n ? (cache.resolve(chainRef, 'chainId') as number | undefined)\n : undefined;\n if (typeof itemChainId === 'number') {\n return itemChainId === chainId;\n }\n }\n return true;\n });\n\n if (matches.length === 0) return undefined;\n\n return {\n __typename: 'PaginatedActivitiesResult',\n items: matches,\n pageInfo: {\n __typename: 'PaginatedResultInfo',\n prev: null,\n next: null,\n },\n };\n },\n },\n },\n keys: {\n // Entities with id field as key\n Asset: (data: Asset) => data.id,\n BorrowActivity: (data: BorrowActivity) => data.id,\n BorrowSwapActivity: (data: BorrowSwapActivity) => data.id,\n Hub: (data: Hub) => data.id,\n HubAsset: (data: HubAsset) => data.id,\n LiquidatedActivity: (data: LiquidatedActivity) => data.id,\n MerklBorrowReward: (data: MerklBorrowReward) => data.id,\n MerklGenericCriteria: (data: MerklGenericCriteria) => data.id,\n MerklSupplyReward: (data: MerklSupplyReward) => data.id,\n RepayActivity: (data: RepayActivity) => data.id,\n RepayWithSupplyActivity: (data: RepayWithSupplyActivity) => data.id,\n Reserve: (data: Reserve) => data.id,\n ReserveInfo: (data: ReserveInfo) => data.id,\n Spoke: (data: Spoke) => data.id,\n SupplyActivity: (data: SupplyActivity) => data.id,\n SupplySwapActivity: (data: SupplySwapActivity) => data.id,\n TokenInfo: (data: TokenInfo) => data.id,\n TokenSwapActivity: (data: TokenSwapActivity) => data.id,\n UpdatedDynamicConfigActivity: (data: UpdatedDynamicConfigActivity) =>\n data.id,\n UpdatedRiskPremiumActivity: (data: UpdatedRiskPremiumActivity) => data.id,\n UserMerklClaimableReward: (data: UserMerklClaimableReward) => data.id,\n UserPosition: (data: UserPosition) => data.id,\n UsingAsCollateralActivity: (data: UsingAsCollateralActivity) => data.id,\n WithdrawActivity: (data: WithdrawActivity) => data.id,\n WithdrawSwapActivity: (data: WithdrawSwapActivity) => data.id,\n\n // Entities with address field as key\n Erc20Token: (data: Erc20Token) => data.address,\n\n // Entities with other fields as key\n Chain: (data: Chain) => data.chainId.toString(),\n NativeToken: (data: NativeToken) => data.chain.chainId.toString(),\n\n // Value objects and result types\n ApySample: () => null,\n BorrowSwap: () => null,\n AssetAmountWithChange: () => null,\n AssetBorrowSample: () => null,\n AssetPriceSample: () => null,\n AssetSampleBreakdown: () => null,\n AssetSummary: () => null,\n AssetSupplySample: () => null,\n DecimalNumber: () => null,\n CollateralFactorVariation: () => null,\n DecimalNumberWithChange: () => null,\n DomainData: () => null,\n Erc20Amount: () => null,\n Erc20Approval: () => null,\n Erc20ApprovalRequired: () => null,\n ExchangeAmount: () => null,\n ExchangeAmountVariation: () => null,\n ExchangeAmountWithChange: () => null,\n ForkTopUpResponse: () => null,\n HealthFactorError: () => null,\n HealthFactorVariation: () => null,\n HealthFactorWithChange: () => null,\n HubAssetInterestRateModelPoint: () => null,\n HubAssetInterestRateModelResult: () => null,\n HubAssetSettings: () => null,\n HubAssetSummary: () => null,\n HubAssetUserState: () => null,\n HubSummary: () => null,\n HubSummarySample: () => null,\n InsufficientBalanceError: () => null,\n InsufficientLiquidityError: () => null,\n LiquidationFeeVariation: () => null,\n MaxLiquidationBonusVariation: () => null,\n NativeAmount: () => null,\n PaginatedActivitiesResult: () => null,\n PaginatedResultInfo: () => null,\n PaginatedSpokePositionManagerResult: () => null,\n PaginatedSpokeUserPositionManagerResult: () => null,\n PaginatedUserSwapsResult: () => null,\n PercentNumber: () => null,\n PercentNumberVariation: () => null,\n PercentNumberWithChange: () => null,\n PermitTypedData: () => null,\n BorrowSwapQuoteResult: () => null,\n PercentNumberChangeSnapshot: () => null,\n PositionAmount: () => null,\n PositionSwapAdapterContractApproval: () => null,\n PositionSwapByIntentApprovalsRequired: () => null,\n PositionSwapPositionManagerApproval: () => null,\n PreContractActionRequired: () => null,\n PrepareSwapCancelResult: () => null,\n PrepareSwapOrder: () => null,\n PreviewMerklBorrowReward: () => null,\n PreviewMerklSupplyReward: () => null,\n PreviewRewardOutcome: () => null,\n PreviewUserPosition: () => null,\n RepayWithSupply: () => null,\n RepayWithSupplyQuoteResult: () => null,\n ProtocolHistorySample: () => null,\n ReserveSettings: () => null,\n ReserveStatus: () => null,\n ReserveSummary: () => null,\n ReserveUserState: () => null,\n SpokePositionManager: () => null,\n SpokeUserPositionManager: () => null,\n SwapByIntent: () => null,\n SwapByIntentWithApprovalRequired: () => null,\n SupplySwap: () => null,\n SupplySwapQuoteResult: () => null,\n SwapByTransaction: () => null,\n SwapCancelled: () => null,\n SwapCancelledResult: () => null,\n SwapExpired: () => null,\n SwapFulfilled: () => null,\n SwapOpen: () => null,\n SwapPendingSignature: () => null,\n SwapQuote: () => null,\n SwapQuoteCosts: () => null,\n SwapReceipt: () => null,\n SwapTransactionRequest: () => null,\n SwapTypedData: () => null,\n TokenSwap: () => null,\n TokenSwapQuoteResult: () => null,\n WithdrawSwap: () => null,\n WithdrawSwapQuoteResult: () => null,\n TransactionRequest: () => null,\n UserBalance: () => null,\n UserBorrowItem: () => null,\n UserPositionRiskPremium: () => null,\n UserRiskPremiumBreakdownItem: () => null,\n UserSummary: () => null,\n UserSummaryHistoryItem: () => null,\n UserSupplyItem: () => null,\n },\n});\n","import type { EnvironmentConfig } from '@aave/core';\n\n/**\n * The production environment configuration.\n */\nexport const production: EnvironmentConfig = {\n name: 'production',\n backend: 'https://api.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 100,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n\n/**\n * @internal\n */\nexport const staging: EnvironmentConfig = {\n name: 'staging',\n backend: 'https://api.staging.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 500,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n\n/**\n * @internal\n */\nexport const local: EnvironmentConfig = {\n name: 'local',\n backend: 'http://localhost:3007/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 1000,\n exchangeRateInterval: 10_000,\n swapQuoteInterval: 30_000,\n swapStatusInterval: 5_000,\n};\n","import type { Context } from '@aave/core';\nimport type { EnvironmentConfig } from '../../core/src/types';\nimport { exchange } from './cache';\nimport { production } from './environments';\n\n/**\n * The client configuration.\n */\nexport type ClientConfig = {\n /**\n * @internal\n * @defaultValue `production`\n */\n environment?: EnvironmentConfig;\n /**\n * @internal\n */\n headers?: Record<string, string>;\n /**\n * Whether to enable caching.\n *\n * @defaultValue `true`\n */\n cache?: boolean;\n /**\n * Whether to enable query batching.\n *\n * @defaultValue `true`\n */\n batch?: boolean;\n /**\n * Whether to enable debug mode.\n *\n * @defaultValue `false`\n */\n debug?: boolean;\n};\n\n/**\n * @internal\n */\nexport function configureContext({\n environment = production,\n headers,\n cache = true,\n batch = true,\n debug = false,\n}: ClientConfig): Context {\n return {\n displayName: 'AaveClient',\n environment,\n headers,\n cache: cache ? exchange : null,\n batch,\n debug,\n };\n}\n","import type {\n CancelError,\n SigningError,\n TransactionError,\n UnexpectedError,\n ValidationError,\n} from '@aave/core';\nimport type {\n ExecutionPlan,\n HasProcessedKnownTransactionRequest,\n InsufficientBalanceError,\n OperationType,\n PermitTypedData,\n SwapTypedData,\n} from '@aave/graphql';\nimport type { ResultAsync, Signature, TxHash } from '@aave/types';\n\n/**\n * @internal\n */\nexport type TransactionResult = {\n txHash: TxHash;\n operations: OperationType[] | null;\n};\n\n/**\n * @internal\n */\nexport function isHasProcessedKnownTransactionRequest(\n result: TransactionResult,\n): result is HasProcessedKnownTransactionRequest {\n return result.operations !== null && result.operations.length > 0;\n}\n\nexport type TransactionReceipt = {\n __typename: 'TransactionReceipt';\n txHash: TxHash;\n};\n\n/**\n * @internal\n */\nexport function transactionReceipt(txHash: TxHash): TransactionReceipt {\n return { __typename: 'TransactionReceipt', txHash };\n}\n\nexport type SendWithError =\n | CancelError\n | SigningError\n | TransactionError\n | ValidationError<InsufficientBalanceError>\n | UnexpectedError;\n\nexport type ExecutionPlanHandler<T extends ExecutionPlan = ExecutionPlan> = (\n result: T,\n) => ResultAsync<TransactionResult, SendWithError>;\n\nexport type SignTypedDataError = CancelError | SigningError;\n\n/**\n * Union type for all EIP-712 typed data structures used in the SDK.\n */\nexport type TypedData = PermitTypedData | SwapTypedData;\n\nexport type TypedDataHandler = (\n data: TypedData,\n) => ResultAsync<Signature, SignTypedDataError>;\n","import { delay, GqlClient, TimeoutError, UnexpectedError } from '@aave/core';\nimport type { HasProcessedKnownTransactionRequest } from '@aave/graphql';\nimport { invariant, ResultAsync } from '@aave/types';\nimport { hasProcessedKnownTransaction } from './actions';\nimport { type ClientConfig, configureContext } from './config';\nimport {\n isHasProcessedKnownTransactionRequest,\n type TransactionReceipt,\n type TransactionResult,\n transactionReceipt,\n} from './types';\n\nexport class AaveClient extends GqlClient {\n /**\n * Create a new instance of the {@link AaveClient}.\n *\n * ```ts\n * const client = AaveClient.create({\n * environment: production,\n * });\n * ```\n *\n * @param options - The options to configure the client.\n * @returns The new instance of the client.\n */\n static create(options?: ClientConfig): AaveClient {\n return new AaveClient(configureContext(options ?? {}));\n }\n\n /**\n * Given the transaction hash of an Aave protocol transaction, wait for the transaction to be\n * processed by the Aave v4 API.\n *\n * Returns a {@link TimeoutError} if the transaction is not processed within the expected timeout period.\n *\n * @param result - The transaction execution result to wait for.\n * @returns The {@link TransactionReceipt} or a error\n */\n readonly waitForTransaction = (\n result: TransactionResult,\n ): ResultAsync<TransactionReceipt, TimeoutError | UnexpectedError> => {\n invariant(\n isHasProcessedKnownTransactionRequest(result),\n 'AaveClient.waitForTransaction called with an non-tracked operation. See the documentation for correct tracking setup.',\n );\n\n return ResultAsync.fromPromise(\n this.pollTransactionStatus(result),\n (err) => {\n if (err instanceof TimeoutError || err instanceof UnexpectedError) {\n return err;\n }\n return UnexpectedError.from(err);\n },\n );\n };\n\n protected async pollTransactionStatus(\n request: HasProcessedKnownTransactionRequest,\n ): Promise<TransactionReceipt> {\n const startedAt = Date.now();\n\n while (Date.now() - startedAt < this.context.environment.indexingTimeout) {\n const processed = await hasProcessedKnownTransaction(this, request).match(\n (ok) => ok,\n (err) => {\n throw err;\n },\n );\n\n if (processed) {\n return transactionReceipt(request.txHash);\n }\n\n await delay(this.context.environment.pollingInterval);\n }\n throw TimeoutError.from(\n `Timeout waiting for transaction ${request.txHash} to be processed.`,\n );\n }\n}\n"]}
package/dist/privy.js CHANGED
@@ -1,2 +1,2 @@
1
- import {e}from'./chunk-2LML4TFR.js';import {a}from'./chunk-N4LXBTGY.js';import'./chunk-2GSAKHLR.js';import {ValidationError,SigningError,UnexpectedError}from'@aave/core';import {okAsync,signatureFrom,errAsync,ResultAsync,txHash}from'@aave/types';import {extractChain,createPublicClient,http}from'viem';import {waitForTransactionReceipt}from'viem/actions';import*as R from'viem/chains';var D=Object.values(R);async function H(e,n,t){let{hash:r}=await e.walletApi.ethereum.sendTransaction({walletId:t,caip2:`eip155:${n.chainId}`,transaction:{from:n.from,to:n.to,value:`0x${BigInt(n.value).toString(16)}`,chainId:n.chainId,data:n.data}});return txHash(r)}function o(e$1,n,t){let r=extractChain({chains:D,id:n.chainId}),i=createPublicClient({chain:r,transport:http()});return ResultAsync.fromPromise(H(e$1,n,t),a=>SigningError.from(a)).andThen(a=>ResultAsync.fromPromise(waitForTransactionReceipt(i,{hash:a,pollingInterval:100,retryCount:20,retryDelay:50}),s=>UnexpectedError.from(s))).andThen(a=>{let s=txHash(a.transactionHash);return a.status==="reverted"?errAsync(e(r,s,n)):okAsync({txHash:s,operations:n.operations})})}function y(e,n,t){switch(t.__typename){case "TransactionRequest":return o(e,t,n);case "Erc20ApprovalRequired":return t.approvals.reduce((r,i)=>r.andThen(()=>o(e,i.byTransaction,n)),okAsync(void 0)).andThen(()=>o(e,t.originalTransaction,n));case "PreContractActionRequired":return o(e,t.transaction,n).andThen(()=>o(e,t.originalTransaction,n));case "InsufficientBalanceError":return errAsync(ValidationError.fromGqlNode(t))}}function F(e,n,t){return t?y(e,n,t):y.bind(null,e,n)}function U(e,n,t){return t().andThen(r=>{if(a(r)){let i=r.approvals[0].bySignature;return A(e,n,i).map(a=>({deadline:i.message.deadline,value:a})).andThen(a=>t(a))}return okAsync(r)})}function T(e,n,t){return ResultAsync.fromPromise(e.walletApi.ethereum.signTypedData({walletId:n,typedData:{domain:t.domain,types:t.types,message:t.message,primaryType:t.primaryType}}),r=>SigningError.from(r)).map(r=>r.signature)}function A(e,n,t){return t===void 0?r=>T(e,n,r).map(signatureFrom):T(e,n,t).map(signatureFrom)}export{U as permitWith,F as sendWith,A as signTypedDataWith};//# sourceMappingURL=privy.js.map
1
+ import {e}from'./chunk-CMTDTGTS.js';import {a}from'./chunk-N4LXBTGY.js';import'./chunk-RM3HEVPN.js';import {ValidationError,SigningError,UnexpectedError}from'@aave/core';import {okAsync,signatureFrom,errAsync,ResultAsync,txHash}from'@aave/types';import {extractChain,createPublicClient,http}from'viem';import {waitForTransactionReceipt}from'viem/actions';import*as R from'viem/chains';var D=Object.values(R);async function H(e,n,t){let{hash:r}=await e.walletApi.ethereum.sendTransaction({walletId:t,caip2:`eip155:${n.chainId}`,transaction:{from:n.from,to:n.to,value:`0x${BigInt(n.value).toString(16)}`,chainId:n.chainId,data:n.data}});return txHash(r)}function o(e$1,n,t){let r=extractChain({chains:D,id:n.chainId}),i=createPublicClient({chain:r,transport:http()});return ResultAsync.fromPromise(H(e$1,n,t),a=>SigningError.from(a)).andThen(a=>ResultAsync.fromPromise(waitForTransactionReceipt(i,{hash:a,pollingInterval:100,retryCount:20,retryDelay:50}),s=>UnexpectedError.from(s))).andThen(a=>{let s=txHash(a.transactionHash);return a.status==="reverted"?errAsync(e(r,s,n)):okAsync({txHash:s,operations:n.operations})})}function y(e,n,t){switch(t.__typename){case "TransactionRequest":return o(e,t,n);case "Erc20ApprovalRequired":return t.approvals.reduce((r,i)=>r.andThen(()=>o(e,i.byTransaction,n)),okAsync(void 0)).andThen(()=>o(e,t.originalTransaction,n));case "PreContractActionRequired":return o(e,t.transaction,n).andThen(()=>o(e,t.originalTransaction,n));case "InsufficientBalanceError":return errAsync(ValidationError.fromGqlNode(t))}}function F(e,n,t){return t?y(e,n,t):y.bind(null,e,n)}function U(e,n,t){return t().andThen(r=>{if(a(r)){let i=r.approvals[0].bySignature;return A(e,n,i).map(a=>({deadline:i.message.deadline,value:a})).andThen(a=>t(a))}return okAsync(r)})}function T(e,n,t){return ResultAsync.fromPromise(e.walletApi.ethereum.signTypedData({walletId:n,typedData:{domain:t.domain,types:t.types,message:t.message,primaryType:t.primaryType}}),r=>SigningError.from(r)).map(r=>r.signature)}function A(e,n,t){return t===void 0?r=>T(e,n,r).map(signatureFrom):T(e,n,t).map(signatureFrom)}export{U as permitWith,F as sendWith,A as signTypedDataWith};//# sourceMappingURL=privy.js.map
2
2
  //# sourceMappingURL=privy.js.map
package/dist/testing.js CHANGED
@@ -41,7 +41,7 @@ Read more: https://mswjs.io/docs/http/intercepting-requests`;function s(u){switc
41
41
  `).map(r=>r.split("|"))[0],o=[];for(let r=0;r<Math.floor(t.length/n.length);r++){let a={};for(let i=0;i<n.length;i++)a[n[i]]=t[r*n.length+i];o.push(a);}return o}function ol(e){let t=bg(),n=e.split(`
42
42
  `).slice(1);for(let o of n){let r=fi(o);if(r&&r.file===t)return {line:r.line,column:r.column}}}globalThis.performance?globalThis.performance.now.bind(globalThis.performance):Date.now;globalThis.performance?globalThis.performance.now.bind(globalThis.performance):Date.now;da();var gi=new Map,rl=[],nr=[];function vl(e){if(gi.size){var t;let n=Array.from(gi).map(([r,a])=>[r,a[0],a[1]]),o=(t=e.onTaskUpdate)===null||t===void 0?void 0:t.call(e,n,rl);o&&(nr.push(o),o.then(()=>nr.splice(nr.indexOf(o),1),()=>{})),rl.length=0,gi.clear();}}async function Cg(e){vl(e),await Promise.all(nr);}var al=Date.now,ft={currentSuite:null};function Rg(e){var t;(t=ft.currentSuite)===null||t===void 0||t.tasks.push(e);}async function Ag(e,t){let n=ft.currentSuite;ft.currentSuite=e,await t(),ft.currentSuite=n;}function It(e,t,n=false,o,r){if(t<=0||t===Number.POSITIVE_INFINITY)return e;let{setTimeout:a,clearTimeout:i}=da();return function(...u){let c=al(),l=bl();return l._currentTaskStartTime=c,l._currentTaskTimeout=t,new Promise((p,y)=>{var h;let k=a(()=>{i(k),f();},t);(h=k.unref)===null||h===void 0||h.call(k);function f(){let q=Ig(n,t,o);r?.(u,q),y(q);}function v(q){if(l._currentTaskStartTime=void 0,l._currentTaskTimeout=void 0,i(k),al()-c>=t){f();return}p(q);}function R(q){l._currentTaskStartTime=void 0,l._currentTaskTimeout=void 0,i(k),y(q);}try{let q=e(...u);typeof q=="object"&&q!=null&&typeof q.then=="function"?q.then(v,R):v(q);}catch(q){R(q);}})}}var bi=new WeakMap;function wi([e],t){e&&Pg(e,t);}function Pg(e,t){let n=bi.get(e);n?.abort(t);}function _g(e,t){var n;let o=function(){throw new Error("done() callback is deprecated, use promise instead")},r=bi.get(o);r||(r=new AbortController,bi.set(o,r)),o.signal=r.signal,o.task=e,o.skip=(i,s)=>{if(i!==false)throw e.result??(e.result={state:"skip"}),e.result.pending=true,new yi("test is skipped; abort execution",e,typeof i=="string"?i:s)};async function a(i,s,u,c){let l={message:i,type:u||"notice"};if(c){if(!c.body&&!c.path)throw new TypeError("Test attachment requires body or path to be set. Both are missing.");if(c.body&&c.path)throw new TypeError('Test attachment requires only one of "body" or "path" to be set. Both are specified.');l.attachment=c,c.body instanceof Uint8Array&&(c.body=qg(c.body));}if(s&&(l.location=s),!t.onTestAnnotate)throw new Error("Test runner doesn't support test annotations.");await Cg(t);let p=await t.onTestAnnotate(e,l);return e.annotations.push(p),p}return o.annotate=(i,s,u)=>{if(e.result&&e.result.state!=="run")throw new Error(`Cannot annotate tests outside of the test run. The test "${e.name}" finished running with the "${e.result.state}" state already.`);let c,l=new Error("STACK_TRACE").stack,p=l.includes("STACK_TRACE")?2:1,y=l.split(`
43
43
  `)[p],h=fi(y);return h&&(c={file:h.file,line:h.line,column:h.column}),typeof s=="object"?il(e,a(i,c,void 0,s)):il(e,a(i,c,s,u))},o.onTestFailed=(i,s)=>{e.onFailed||(e.onFailed=[]),e.onFailed.push(It(i,s??t.config.hookTimeout,true,new Error("STACK_TRACE_ERROR"),(u,c)=>r.abort(c)));},o.onTestFinished=(i,s)=>{e.onFinished||(e.onFinished=[]),e.onFinished.push(It(i,s??t.config.hookTimeout,true,new Error("STACK_TRACE_ERROR"),(u,c)=>r.abort(c)));},((n=t.extendTaskContext)===null||n===void 0?void 0:n.call(t,o))||o}function Ig(e,t,n){let o=`${e?"Hook":"Test"} timed out in ${t}ms.
44
- If this is a long-running ${e?"hook":"test"}, pass a timeout value as the last argument or configure it globally with "${e?"hookTimeout":"testTimeout"}".`,r=new Error(o);return n?.stack&&(r.stack=n.stack.replace(r.message,n.message)),r}var Og=new WeakMap;function zg(e){let t=Og.get(e);if(!t)throw new Error(`Cannot find file context for ${e.name}`);return t}var De=[];for(let e=65;e<91;e++)De.push(String.fromCharCode(e));for(let e=97;e<123;e++)De.push(String.fromCharCode(e));for(let e=0;e<10;e++)De.push(e.toString(10));function qg(e){let t="",n=e.byteLength;for(let o=0;o<n;o+=3)if(n===o+1){let r=(e[o]&252)>>2,a=(e[o]&3)<<4;t+=De[r],t+=De[a],t+="==";}else if(n===o+2){let r=(e[o]&252)>>2,a=(e[o]&3)<<4|(e[o+1]&240)>>4,i=(e[o+1]&15)<<2;t+=De[r],t+=De[a],t+=De[i],t+="=";}else {let r=(e[o]&252)>>2,a=(e[o]&3)<<4|(e[o+1]&240)>>4,i=(e[o+1]&15)<<2|(e[o+2]&192)>>6,s=e[o+2]&63;t+=De[r],t+=De[a],t+=De[i],t+=De[s];}return t}function il(e,t){return t=t.finally(()=>{if(!e.promises)return;let n=e.promises.indexOf(t);n!==-1&&e.promises.splice(n,1);}),e.promises||(e.promises=[]),e.promises.push(t),t}function rr(){return bl().config.hookTimeout}var Dg=Symbol.for("VITEST_CLEANUP_TIMEOUT"),Ng=Symbol.for("VITEST_CLEANUP_STACK_TRACE");function ar(e,t=rr()){xn(e,'"beforeAll" callback',["function"]);let n=new Error("STACK_TRACE_ERROR");return Qt().on("beforeAll",Object.assign(It(e,t,true,n),{[Dg]:t,[Ng]:n}))}function ir(e,t){return xn(e,'"afterAll" callback',["function"]),Qt().on("afterAll",It(e,rr(),true,new Error("STACK_TRACE_ERROR")))}Ci(Il());var ur={currency:Currency.Usd,timeWindow:TimeWindow.LastDay,requestPolicy:"cache-and-network",batch:true};function Ol(e,t,{batch:n=ur.batch,requestPolicy:o=ur.requestPolicy}=ur){return e.query(ChainQuery,{request:t},{batch:n,requestPolicy:o})}function zl(e,t){return e.query(HasProcessedKnownTransactionQuery,{request:t},{requestPolicy:"network-only",batch:false})}var xi=(e,t,n,o)=>BigInt(e[o.fieldName]),dt=(e,t,n,o)=>BigDecimal.new(e[o.fieldName]),Ot=(e,t,n,o)=>{let r=e[o.fieldName];return r==null?null:dt(e,t,n,o)},$=(e,t,n,o)=>new Date(e[o.fieldName]),cr=(e,t,n,o)=>{let r=e[o.fieldName];return r==null?null:$(e,t,n,o)},ql=cacheExchange({schema:ny,resolvers:{PercentNumber:{onChainValue:xi,value:dt,normalized:dt},DecimalNumber:{onChainValue:xi,value:dt},ExchangeAmount:{value:dt},AssetPriceSample:{price:dt,date:$},Reserve:{borrowCap:dt,supplyCap:dt},HealthFactorError:{current:Ot,after:Ot},HealthFactorVariation:{current:Ot,after:Ot},HealthFactorWithChange:{current:Ot},UserSummary:{lowestHealthFactor:Ot},UserSummaryHistoryItem:{healthFactor:Ot,date:$},TransactionRequest:{value:xi},ApySample:{date:$},AssetBorrowSample:{date:$},AssetSupplySample:{date:$},HubSummarySample:{date:$},PreviewMerklBorrowReward:{startDate:$,endDate:$},PreviewMerklSupplyReward:{startDate:$,endDate:$},ProtocolHistorySample:{date:$},BorrowActivity:{timestamp:$},LiquidatedActivity:{timestamp:$},MerklBorrowReward:{startDate:$,endDate:$},MerklSupplyReward:{startDate:$,endDate:$},RepayActivity:{timestamp:$},SupplyActivity:{timestamp:$},WithdrawActivity:{timestamp:$},UsingAsCollateralActivity:{timestamp:$},UpdatedDynamicConfigActivity:{timestamp:$},UpdatedRiskPremiumActivity:{timestamp:$},TokenSwapActivity:{timestamp:$},SupplySwapActivity:{timestamp:$},BorrowSwapActivity:{timestamp:$},RepayWithSupplyActivity:{timestamp:$},WithdrawSwapActivity:{timestamp:$},UserMerklClaimableReward:{startDate:$,endDate:$,claimUntil:$},UserPosition:{createdAt:$},UserBorrowItem:{createdAt:cr},UserSupplyItem:{createdAt:cr},SpokeUserPositionManager:{approvedOn:$},SwapCancelled:{createdAt:$,cancelledAt:cr},SwapCancelledResult:{createdAt:$,cancelledAt:cr},SwapExpired:{createdAt:$,expiredAt:$},SwapFulfilled:{createdAt:$,fulfilledAt:$},SwapOpen:{createdAt:$,deadline:$},SwapPendingSignature:{createdAt:$,deadline:$},SwapReceipt:{createdAt:$},Query:{hub:(e,{request:t})=>isHubInputVariant(t.query)?{__typename:"Hub",id:encodeHubId(t.query.hubInput)}:{__typename:"Hub",id:t.query.hubId},reserve:(e,{request:t})=>isReserveInputVariant(t.query)?{__typename:"Reserve",id:encodeReserveId(t.query.reserveInput)}:{__typename:"Reserve",id:t.query.reserveId},userPosition:(e,{request:t})=>{if("userSpoke"in t&&t.userSpoke){let{chainId:n,address:o}=decodeSpokeId(t.userSpoke.spoke);return {__typename:"UserPosition",id:encodeUserPositionId({chainId:n,spoke:o,user:t.userSpoke.user})}}if("id"in t&&t.id)return {__typename:"UserPosition",id:t.id}},activities:(e,t,n)=>{if(!isTxHashInputVariant(t.request.query))return n.resolve("Query","activities",t);let{txHash:o,chainId:r}=t.request.query.txHash,a=n.inspectFields("Query").filter(i=>i.fieldName==="activities").reduce((i,s)=>{let u=n.resolve("Query",s.fieldKey);if(!u)return i;let c=n.resolve(u,"items");if(!c)return i;for(let l of c)i.add(l);return i},new Set).values().toArray().filter(i=>{if(n.resolve(i,"txHash")!==o)return false;let u=n.resolve(i,"spoke");if(u){let c=n.resolve(u,"chain"),l=c?n.resolve(c,"chainId"):void 0;if(typeof l=="number")return l===r}return true});if(a.length!==0)return {__typename:"PaginatedActivitiesResult",items:a,pageInfo:{__typename:"PaginatedResultInfo",prev:null,next:null}}}}},keys:{Asset:e=>e.id,BorrowActivity:e=>e.id,BorrowSwapActivity:e=>e.id,Hub:e=>e.id,HubAsset:e=>e.id,LiquidatedActivity:e=>e.id,MerklBorrowReward:e=>e.id,MerklGenericCriteria:e=>e.id,MerklSupplyReward:e=>e.id,RepayActivity:e=>e.id,RepayWithSupplyActivity:e=>e.id,Reserve:e=>e.id,ReserveInfo:e=>e.id,Spoke:e=>e.id,SupplyActivity:e=>e.id,SupplySwapActivity:e=>e.id,TokenInfo:e=>e.id,TokenSwapActivity:e=>e.id,UpdatedDynamicConfigActivity:e=>e.id,UpdatedRiskPremiumActivity:e=>e.id,UserMerklClaimableReward:e=>e.id,UserPosition:e=>e.id,UsingAsCollateralActivity:e=>e.id,WithdrawActivity:e=>e.id,WithdrawSwapActivity:e=>e.id,Erc20Token:e=>e.address,Chain:e=>e.chainId.toString(),NativeToken:e=>e.chain.chainId.toString(),ApySample:()=>null,BorrowSwap:()=>null,AssetAmountWithChange:()=>null,AssetBorrowSample:()=>null,AssetPriceSample:()=>null,AssetSampleBreakdown:()=>null,AssetSummary:()=>null,AssetSupplySample:()=>null,DecimalNumber:()=>null,CollateralFactorVariation:()=>null,DecimalNumberWithChange:()=>null,DomainData:()=>null,Erc20Amount:()=>null,Erc20Approval:()=>null,Erc20ApprovalRequired:()=>null,ExchangeAmount:()=>null,ExchangeAmountVariation:()=>null,ExchangeAmountWithChange:()=>null,ForkTopUpResponse:()=>null,HealthFactorError:()=>null,HealthFactorVariation:()=>null,HealthFactorWithChange:()=>null,HubAssetSettings:()=>null,HubAssetSummary:()=>null,HubAssetUserState:()=>null,HubSummary:()=>null,HubSummarySample:()=>null,InsufficientBalanceError:()=>null,InsufficientLiquidityError:()=>null,LiquidationFeeVariation:()=>null,MaxLiquidationBonusVariation:()=>null,NativeAmount:()=>null,PaginatedActivitiesResult:()=>null,PaginatedResultInfo:()=>null,PaginatedSpokePositionManagerResult:()=>null,PaginatedSpokeUserPositionManagerResult:()=>null,PaginatedUserSwapsResult:()=>null,PercentNumber:()=>null,PercentNumberVariation:()=>null,PercentNumberWithChange:()=>null,PermitTypedData:()=>null,BorrowSwapQuoteResult:()=>null,PercentNumberChangeSnapshot:()=>null,PositionAmount:()=>null,PositionSwapAdapterContractApproval:()=>null,PositionSwapByIntentApprovalsRequired:()=>null,PositionSwapPositionManagerApproval:()=>null,PreContractActionRequired:()=>null,PrepareSwapCancelResult:()=>null,PrepareSwapOrder:()=>null,PreviewMerklBorrowReward:()=>null,PreviewMerklSupplyReward:()=>null,PreviewRewardOutcome:()=>null,PreviewUserPosition:()=>null,RepayWithSupply:()=>null,RepayWithSupplyQuoteResult:()=>null,ProtocolHistorySample:()=>null,ReserveSettings:()=>null,ReserveStatus:()=>null,ReserveSummary:()=>null,ReserveUserState:()=>null,SpokePositionManager:()=>null,SpokeUserPositionManager:()=>null,SwapByIntent:()=>null,SwapByIntentWithApprovalRequired:()=>null,SupplySwap:()=>null,SupplySwapQuoteResult:()=>null,SwapByTransaction:()=>null,SwapCancelled:()=>null,SwapCancelledResult:()=>null,SwapExpired:()=>null,SwapFulfilled:()=>null,SwapOpen:()=>null,SwapPendingSignature:()=>null,SwapQuote:()=>null,SwapQuoteCosts:()=>null,SwapReceipt:()=>null,SwapTransactionRequest:()=>null,SwapTypedData:()=>null,TokenSwap:()=>null,TokenSwapQuoteResult:()=>null,WithdrawSwap:()=>null,WithdrawSwapQuoteResult:()=>null,TransactionRequest:()=>null,UserBalance:()=>null,UserBorrowItem:()=>null,UserPositionRiskPremium:()=>null,UserRiskPremiumBreakdownItem:()=>null,UserSummary:()=>null,UserSummaryHistoryItem:()=>null,UserSupplyItem:()=>null}});var lr={name:"production",backend:"https://api.aave.com/graphql",indexingTimeout:6e4,pollingInterval:100,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3},Dl={name:"staging",backend:"https://api.staging.aave.com/graphql",indexingTimeout:6e4,pollingInterval:500,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3},Nl={name:"local",backend:"http://localhost:3007/graphql",indexingTimeout:6e4,pollingInterval:1e3,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3};function Ml({environment:e=lr,headers:t,cache:n=true,batch:o=true,debug:r=false}){return {displayName:"AaveClient",environment:e,headers:t,cache:n?ql:null,batch:o,debug:r}}function Ll(e){return e.operations!==null&&e.operations.length>0}function Fl(e){return {__typename:"TransactionReceipt",txHash:e}}var pr=class e extends GqlClient{static create(t){return new e(Ml(t??{}))}waitForTransaction=t=>(invariant(Ll(t),"AaveClient.waitForTransaction called with an non-tracked operation. See the documentation for correct tracking setup."),ResultAsync.fromPromise(this.pollTransactionStatus(t),n=>n instanceof TimeoutError||n instanceof UnexpectedError?n:UnexpectedError.from(n)));async pollTransactionStatus(t){let n=Date.now();for(;Date.now()-n<this.context.environment.indexingTimeout;){if(await zl(this,t).match(r=>r,r=>{throw r}))return Fl(t.txHash);await delay(this.context.environment.pollingInterval);}throw TimeoutError.from(`Timeout waiting for transaction ${t.txHash} to be processed.`)}};function Vl(e){switch(e.chainId){case chainId(mainnet.id):return mainnet;case chainId(sepolia.id):return sepolia}return defineChain({id:e.chainId,name:e.name,nativeCurrency:{name:e.nativeInfo.name,symbol:e.nativeInfo.symbol,decimals:e.nativeInfo.decimals},rpcUrls:{default:{http:[e.rpcUrl]}},blockExplorers:{default:{name:`${e.name} Explorer`,url:e.explorerUrl}}})}var ky=import.meta.env.ENVIRONMENT==="local"?Nl:import.meta.env.ENVIRONMENT==="production"?lr:Dl,tn=chainId(Number.parseInt(import.meta.env.ETHEREUM_TENDERLY_FORK_ID,10)),YE=evmAddress("0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f"),QE=evmAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),ZE=evmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),eS=evmAddress("0xdC035D45d973E3EC169d2276DDab16f1e407384F"),tS=evmAddress("0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"),nS=evmAddress("0x111111111117dC0aa78b770fA6A738034120C302"),oS=evmAddress("0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9"),rS=evmAddress("0xdac17f958d2ee523a2206206994597c13d831ec7"),aS=evmAddress("0x4c9EDD5852cd905f086C759E8383e09bff1E68B3"),vy=evmAddress("0x46539e9123A18c427e6b4DFF114c28CF405Cb023"),iS=encodeSpokeId({chainId:tn,address:vy}),jy=evmAddress("0xf3b207c235f6154120F41eB63D5ACCBAfD4086D1"),sS=encodeSpokeId({chainId:tn,address:jy}),wy=evmAddress("0x3Ed2C9829FBCab6015E331a0352F8ae148217D70"),uS=encodeHubId({chainId:tn,address:wy}),Zt=import.meta.env.ETHEREUM_TENDERLY_PUBLIC_RPC,mr=import.meta.env.ETHEREUM_TENDERLY_ADMIN_RPC,xy=pr.create({environment:ky}),zn=await Ol(xy,{chainId:tn}).map(nonNullable).map(Vl).match(e=>e,()=>never("No devnet chain found"));async function cS(){return createPublicClient({chain:zn,transport:http(Zt)})}async function lS(e){if(!e){let t=generatePrivateKey(),n=createWalletClient({account:privateKeyToAccount(t),chain:zn,transport:http()});return await Ey(evmAddress(n.account.address)),n}return createWalletClient({account:privateKeyToAccount(e),chain:zn,transport:http()})}function Ey(e,t=bigDecimal("1.0")){let n=createPublicClient({chain:{id:tn,name:"Tenderly Fork",network:"tenderly-fork",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:[mr]}}},transport:http(mr)}),r=`0x${parseEther(t.toString()).toString(16)}`;return ResultAsync.fromPromise(n.request({method:"tenderly_setBalance",params:[[e],r]}),a=>UnexpectedError.from(a))}function pS(e,t){let n=createPublicClient({chain:{id:tn,name:"Tenderly Fork",network:"tenderly-fork",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:[mr]}}},transport:http(mr)}),r=`0x${parseUnits(t.amount.toString(),t.decimals??18).toString(16)}`;return ResultAsync.fromPromise(n.request({method:"tenderly_setErc20Balance",params:[t.address,e,r]}),a=>UnexpectedError.from(a))}function mS(e){return new Promise(t=>setTimeout(t,e))}async function fS(e,t){let n=createPublicClient({chain:zn,transport:http(Zt)}),[o,r]=await Promise.all([n.readContract({address:t,abi:[{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"balanceOf",args:[e]}),n.readContract({address:t,abi:[{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"}],functionName:"decimals"})]);return bigDecimal(o).rescale(-r)}async function dS(e){let n=await createPublicClient({chain:zn,transport:http(Zt)}).getBalance({address:e});return bigDecimal(n).rescale(-18)}function Ql(e){return isObject(e)&&"jsonrpc"in e&&"method"in e}function Sy(e){return Array.isArray(e)&&e.every(Ql)}function hS(e){let t=ou(Gn.post(Zt,async({request:n})=>{let o=await n.clone().json();if(Ql(o)){let r=e(o);return r?cn.json(r):ln()}if(Sy(o)){let r=o.map(a=>e(a));return r.some(a=>a===void 0)?ln():cn.json(r)}invariant(false,"body is not a valid JSON-RPC request or batch");}),Gn.post(Zt,()=>ln()));return ar(()=>{t.listen();}),ir(()=>{t.close();}),t}function gS(e){let t=createPublicClient({transport:http(Zt)});async function n(o,r){return t.request({method:o,params:r??[]})}return {async request(o){let r=await e(o);if(r!==void 0){if("error"in r)throw r.error;return r.result}return n(o.method,o.params)}}}/*! Bundled license information:
44
+ If this is a long-running ${e?"hook":"test"}, pass a timeout value as the last argument or configure it globally with "${e?"hookTimeout":"testTimeout"}".`,r=new Error(o);return n?.stack&&(r.stack=n.stack.replace(r.message,n.message)),r}var Og=new WeakMap;function zg(e){let t=Og.get(e);if(!t)throw new Error(`Cannot find file context for ${e.name}`);return t}var De=[];for(let e=65;e<91;e++)De.push(String.fromCharCode(e));for(let e=97;e<123;e++)De.push(String.fromCharCode(e));for(let e=0;e<10;e++)De.push(e.toString(10));function qg(e){let t="",n=e.byteLength;for(let o=0;o<n;o+=3)if(n===o+1){let r=(e[o]&252)>>2,a=(e[o]&3)<<4;t+=De[r],t+=De[a],t+="==";}else if(n===o+2){let r=(e[o]&252)>>2,a=(e[o]&3)<<4|(e[o+1]&240)>>4,i=(e[o+1]&15)<<2;t+=De[r],t+=De[a],t+=De[i],t+="=";}else {let r=(e[o]&252)>>2,a=(e[o]&3)<<4|(e[o+1]&240)>>4,i=(e[o+1]&15)<<2|(e[o+2]&192)>>6,s=e[o+2]&63;t+=De[r],t+=De[a],t+=De[i],t+=De[s];}return t}function il(e,t){return t=t.finally(()=>{if(!e.promises)return;let n=e.promises.indexOf(t);n!==-1&&e.promises.splice(n,1);}),e.promises||(e.promises=[]),e.promises.push(t),t}function rr(){return bl().config.hookTimeout}var Dg=Symbol.for("VITEST_CLEANUP_TIMEOUT"),Ng=Symbol.for("VITEST_CLEANUP_STACK_TRACE");function ar(e,t=rr()){xn(e,'"beforeAll" callback',["function"]);let n=new Error("STACK_TRACE_ERROR");return Qt().on("beforeAll",Object.assign(It(e,t,true,n),{[Dg]:t,[Ng]:n}))}function ir(e,t){return xn(e,'"afterAll" callback',["function"]),Qt().on("afterAll",It(e,rr(),true,new Error("STACK_TRACE_ERROR")))}Ci(Il());var ur={currency:Currency.Usd,timeWindow:TimeWindow.LastDay,requestPolicy:"cache-and-network",batch:true};function Ol(e,t,{batch:n=ur.batch,requestPolicy:o=ur.requestPolicy}=ur){return e.query(ChainQuery,{request:t},{batch:n,requestPolicy:o})}function zl(e,t){return e.query(HasProcessedKnownTransactionQuery,{request:t},{requestPolicy:"network-only",batch:false})}var xi=(e,t,n,o)=>BigInt(e[o.fieldName]),dt=(e,t,n,o)=>BigDecimal.new(e[o.fieldName]),Ot=(e,t,n,o)=>{let r=e[o.fieldName];return r==null?null:dt(e,t,n,o)},$=(e,t,n,o)=>new Date(e[o.fieldName]),cr=(e,t,n,o)=>{let r=e[o.fieldName];return r==null?null:$(e,t,n,o)},ql=cacheExchange({schema:ny,resolvers:{PercentNumber:{onChainValue:xi,value:dt,normalized:dt},DecimalNumber:{onChainValue:xi,value:dt},ExchangeAmount:{value:dt},AssetPriceSample:{price:dt,date:$},Reserve:{borrowCap:dt,supplyCap:dt},HealthFactorError:{current:Ot,after:Ot},HealthFactorVariation:{current:Ot,after:Ot},HealthFactorWithChange:{current:Ot},UserSummary:{lowestHealthFactor:Ot},UserSummaryHistoryItem:{healthFactor:Ot,date:$},TransactionRequest:{value:xi},ApySample:{date:$},AssetBorrowSample:{date:$},AssetSupplySample:{date:$},HubSummarySample:{date:$},PreviewMerklBorrowReward:{startDate:$,endDate:$},PreviewMerklSupplyReward:{startDate:$,endDate:$},ProtocolHistorySample:{date:$},BorrowActivity:{timestamp:$},LiquidatedActivity:{timestamp:$},MerklBorrowReward:{startDate:$,endDate:$},MerklSupplyReward:{startDate:$,endDate:$},RepayActivity:{timestamp:$},SupplyActivity:{timestamp:$},WithdrawActivity:{timestamp:$},UsingAsCollateralActivity:{timestamp:$},UpdatedDynamicConfigActivity:{timestamp:$},UpdatedRiskPremiumActivity:{timestamp:$},TokenSwapActivity:{timestamp:$},SupplySwapActivity:{timestamp:$},BorrowSwapActivity:{timestamp:$},RepayWithSupplyActivity:{timestamp:$},WithdrawSwapActivity:{timestamp:$},UserMerklClaimableReward:{startDate:$,endDate:$,claimUntil:$},UserPosition:{createdAt:$},UserBorrowItem:{createdAt:cr},UserSupplyItem:{createdAt:cr},SpokeUserPositionManager:{approvedOn:$},SwapCancelled:{createdAt:$,cancelledAt:cr},SwapCancelledResult:{createdAt:$,cancelledAt:cr},SwapExpired:{createdAt:$,expiredAt:$},SwapFulfilled:{createdAt:$,fulfilledAt:$},SwapOpen:{createdAt:$,deadline:$},SwapPendingSignature:{createdAt:$,deadline:$},SwapReceipt:{createdAt:$},Query:{hub:(e,{request:t})=>isHubInputVariant(t.query)?{__typename:"Hub",id:encodeHubId(t.query.hubInput)}:{__typename:"Hub",id:t.query.hubId},reserve:(e,{request:t})=>isReserveInputVariant(t.query)?{__typename:"Reserve",id:encodeReserveId(t.query.reserveInput)}:{__typename:"Reserve",id:t.query.reserveId},userPosition:(e,{request:t})=>{if("userSpoke"in t&&t.userSpoke){let{chainId:n,address:o}=decodeSpokeId(t.userSpoke.spoke);return {__typename:"UserPosition",id:encodeUserPositionId({chainId:n,spoke:o,user:t.userSpoke.user})}}if("id"in t&&t.id)return {__typename:"UserPosition",id:t.id}},activities:(e,t,n)=>{if(!isTxHashInputVariant(t.request.query))return n.resolve("Query","activities",t);let{txHash:o,chainId:r}=t.request.query.txHash,a=n.inspectFields("Query").filter(i=>i.fieldName==="activities").reduce((i,s)=>{let u=n.resolve("Query",s.fieldKey);if(!u)return i;let c=n.resolve(u,"items");if(!c)return i;for(let l of c)i.add(l);return i},new Set).values().toArray().filter(i=>{if(n.resolve(i,"txHash")!==o)return false;let u=n.resolve(i,"spoke");if(u){let c=n.resolve(u,"chain"),l=c?n.resolve(c,"chainId"):void 0;if(typeof l=="number")return l===r}return true});if(a.length!==0)return {__typename:"PaginatedActivitiesResult",items:a,pageInfo:{__typename:"PaginatedResultInfo",prev:null,next:null}}}}},keys:{Asset:e=>e.id,BorrowActivity:e=>e.id,BorrowSwapActivity:e=>e.id,Hub:e=>e.id,HubAsset:e=>e.id,LiquidatedActivity:e=>e.id,MerklBorrowReward:e=>e.id,MerklGenericCriteria:e=>e.id,MerklSupplyReward:e=>e.id,RepayActivity:e=>e.id,RepayWithSupplyActivity:e=>e.id,Reserve:e=>e.id,ReserveInfo:e=>e.id,Spoke:e=>e.id,SupplyActivity:e=>e.id,SupplySwapActivity:e=>e.id,TokenInfo:e=>e.id,TokenSwapActivity:e=>e.id,UpdatedDynamicConfigActivity:e=>e.id,UpdatedRiskPremiumActivity:e=>e.id,UserMerklClaimableReward:e=>e.id,UserPosition:e=>e.id,UsingAsCollateralActivity:e=>e.id,WithdrawActivity:e=>e.id,WithdrawSwapActivity:e=>e.id,Erc20Token:e=>e.address,Chain:e=>e.chainId.toString(),NativeToken:e=>e.chain.chainId.toString(),ApySample:()=>null,BorrowSwap:()=>null,AssetAmountWithChange:()=>null,AssetBorrowSample:()=>null,AssetPriceSample:()=>null,AssetSampleBreakdown:()=>null,AssetSummary:()=>null,AssetSupplySample:()=>null,DecimalNumber:()=>null,CollateralFactorVariation:()=>null,DecimalNumberWithChange:()=>null,DomainData:()=>null,Erc20Amount:()=>null,Erc20Approval:()=>null,Erc20ApprovalRequired:()=>null,ExchangeAmount:()=>null,ExchangeAmountVariation:()=>null,ExchangeAmountWithChange:()=>null,ForkTopUpResponse:()=>null,HealthFactorError:()=>null,HealthFactorVariation:()=>null,HealthFactorWithChange:()=>null,HubAssetInterestRateModelPoint:()=>null,HubAssetInterestRateModelResult:()=>null,HubAssetSettings:()=>null,HubAssetSummary:()=>null,HubAssetUserState:()=>null,HubSummary:()=>null,HubSummarySample:()=>null,InsufficientBalanceError:()=>null,InsufficientLiquidityError:()=>null,LiquidationFeeVariation:()=>null,MaxLiquidationBonusVariation:()=>null,NativeAmount:()=>null,PaginatedActivitiesResult:()=>null,PaginatedResultInfo:()=>null,PaginatedSpokePositionManagerResult:()=>null,PaginatedSpokeUserPositionManagerResult:()=>null,PaginatedUserSwapsResult:()=>null,PercentNumber:()=>null,PercentNumberVariation:()=>null,PercentNumberWithChange:()=>null,PermitTypedData:()=>null,BorrowSwapQuoteResult:()=>null,PercentNumberChangeSnapshot:()=>null,PositionAmount:()=>null,PositionSwapAdapterContractApproval:()=>null,PositionSwapByIntentApprovalsRequired:()=>null,PositionSwapPositionManagerApproval:()=>null,PreContractActionRequired:()=>null,PrepareSwapCancelResult:()=>null,PrepareSwapOrder:()=>null,PreviewMerklBorrowReward:()=>null,PreviewMerklSupplyReward:()=>null,PreviewRewardOutcome:()=>null,PreviewUserPosition:()=>null,RepayWithSupply:()=>null,RepayWithSupplyQuoteResult:()=>null,ProtocolHistorySample:()=>null,ReserveSettings:()=>null,ReserveStatus:()=>null,ReserveSummary:()=>null,ReserveUserState:()=>null,SpokePositionManager:()=>null,SpokeUserPositionManager:()=>null,SwapByIntent:()=>null,SwapByIntentWithApprovalRequired:()=>null,SupplySwap:()=>null,SupplySwapQuoteResult:()=>null,SwapByTransaction:()=>null,SwapCancelled:()=>null,SwapCancelledResult:()=>null,SwapExpired:()=>null,SwapFulfilled:()=>null,SwapOpen:()=>null,SwapPendingSignature:()=>null,SwapQuote:()=>null,SwapQuoteCosts:()=>null,SwapReceipt:()=>null,SwapTransactionRequest:()=>null,SwapTypedData:()=>null,TokenSwap:()=>null,TokenSwapQuoteResult:()=>null,WithdrawSwap:()=>null,WithdrawSwapQuoteResult:()=>null,TransactionRequest:()=>null,UserBalance:()=>null,UserBorrowItem:()=>null,UserPositionRiskPremium:()=>null,UserRiskPremiumBreakdownItem:()=>null,UserSummary:()=>null,UserSummaryHistoryItem:()=>null,UserSupplyItem:()=>null}});var lr={name:"production",backend:"https://api.aave.com/graphql",indexingTimeout:6e4,pollingInterval:100,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3},Dl={name:"staging",backend:"https://api.staging.aave.com/graphql",indexingTimeout:6e4,pollingInterval:500,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3},Nl={name:"local",backend:"http://localhost:3007/graphql",indexingTimeout:6e4,pollingInterval:1e3,exchangeRateInterval:1e4,swapQuoteInterval:3e4,swapStatusInterval:5e3};function Ml({environment:e=lr,headers:t,cache:n=true,batch:o=true,debug:r=false}){return {displayName:"AaveClient",environment:e,headers:t,cache:n?ql:null,batch:o,debug:r}}function Ll(e){return e.operations!==null&&e.operations.length>0}function Fl(e){return {__typename:"TransactionReceipt",txHash:e}}var pr=class e extends GqlClient{static create(t){return new e(Ml(t??{}))}waitForTransaction=t=>(invariant(Ll(t),"AaveClient.waitForTransaction called with an non-tracked operation. See the documentation for correct tracking setup."),ResultAsync.fromPromise(this.pollTransactionStatus(t),n=>n instanceof TimeoutError||n instanceof UnexpectedError?n:UnexpectedError.from(n)));async pollTransactionStatus(t){let n=Date.now();for(;Date.now()-n<this.context.environment.indexingTimeout;){if(await zl(this,t).match(r=>r,r=>{throw r}))return Fl(t.txHash);await delay(this.context.environment.pollingInterval);}throw TimeoutError.from(`Timeout waiting for transaction ${t.txHash} to be processed.`)}};function Vl(e){switch(e.chainId){case chainId(mainnet.id):return mainnet;case chainId(sepolia.id):return sepolia}return defineChain({id:e.chainId,name:e.name,nativeCurrency:{name:e.nativeInfo.name,symbol:e.nativeInfo.symbol,decimals:e.nativeInfo.decimals},rpcUrls:{default:{http:[e.rpcUrl]}},blockExplorers:{default:{name:`${e.name} Explorer`,url:e.explorerUrl}}})}var ky=import.meta.env.ENVIRONMENT==="local"?Nl:import.meta.env.ENVIRONMENT==="production"?lr:Dl,tn=chainId(Number.parseInt(import.meta.env.ETHEREUM_TENDERLY_FORK_ID,10)),YE=evmAddress("0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f"),QE=evmAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),ZE=evmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),eS=evmAddress("0xdC035D45d973E3EC169d2276DDab16f1e407384F"),tS=evmAddress("0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"),nS=evmAddress("0x111111111117dC0aa78b770fA6A738034120C302"),oS=evmAddress("0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9"),rS=evmAddress("0xdac17f958d2ee523a2206206994597c13d831ec7"),aS=evmAddress("0x4c9EDD5852cd905f086C759E8383e09bff1E68B3"),vy=evmAddress("0x46539e9123A18c427e6b4DFF114c28CF405Cb023"),iS=encodeSpokeId({chainId:tn,address:vy}),jy=evmAddress("0xf3b207c235f6154120F41eB63D5ACCBAfD4086D1"),sS=encodeSpokeId({chainId:tn,address:jy}),wy=evmAddress("0x3Ed2C9829FBCab6015E331a0352F8ae148217D70"),uS=encodeHubId({chainId:tn,address:wy}),Zt=import.meta.env.ETHEREUM_TENDERLY_PUBLIC_RPC,mr=import.meta.env.ETHEREUM_TENDERLY_ADMIN_RPC,xy=pr.create({environment:ky}),zn=await Ol(xy,{chainId:tn}).map(nonNullable).map(Vl).match(e=>e,()=>never("No devnet chain found"));async function cS(){return createPublicClient({chain:zn,transport:http(Zt)})}async function lS(e){if(!e){let t=generatePrivateKey(),n=createWalletClient({account:privateKeyToAccount(t),chain:zn,transport:http()});return await Ey(evmAddress(n.account.address)),n}return createWalletClient({account:privateKeyToAccount(e),chain:zn,transport:http()})}function Ey(e,t=bigDecimal("1.0")){let n=createPublicClient({chain:{id:tn,name:"Tenderly Fork",network:"tenderly-fork",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:[mr]}}},transport:http(mr)}),r=`0x${parseEther(t.toString()).toString(16)}`;return ResultAsync.fromPromise(n.request({method:"tenderly_setBalance",params:[[e],r]}),a=>UnexpectedError.from(a))}function pS(e,t){let n=createPublicClient({chain:{id:tn,name:"Tenderly Fork",network:"tenderly-fork",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:[mr]}}},transport:http(mr)}),r=`0x${parseUnits(t.amount.toString(),t.decimals??18).toString(16)}`;return ResultAsync.fromPromise(n.request({method:"tenderly_setErc20Balance",params:[t.address,e,r]}),a=>UnexpectedError.from(a))}function mS(e){return new Promise(t=>setTimeout(t,e))}async function fS(e,t){let n=createPublicClient({chain:zn,transport:http(Zt)}),[o,r]=await Promise.all([n.readContract({address:t,abi:[{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"balanceOf",args:[e]}),n.readContract({address:t,abi:[{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"}],functionName:"decimals"})]);return bigDecimal(o).rescale(-r)}async function dS(e){let n=await createPublicClient({chain:zn,transport:http(Zt)}).getBalance({address:e});return bigDecimal(n).rescale(-18)}function Ql(e){return isObject(e)&&"jsonrpc"in e&&"method"in e}function Sy(e){return Array.isArray(e)&&e.every(Ql)}function hS(e){let t=ou(Gn.post(Zt,async({request:n})=>{let o=await n.clone().json();if(Ql(o)){let r=e(o);return r?cn.json(r):ln()}if(Sy(o)){let r=o.map(a=>e(a));return r.some(a=>a===void 0)?ln():cn.json(r)}invariant(false,"body is not a valid JSON-RPC request or batch");}),Gn.post(Zt,()=>ln()));return ar(()=>{t.listen();}),ir(()=>{t.close();}),t}function gS(e){let t=createPublicClient({transport:http(Zt)});async function n(o,r){return t.request({method:o,params:r??[]})}return {async request(o){let r=await e(o);if(r!==void 0){if("error"in r)throw r.error;return r.result}return n(o.method,o.params)}}}/*! Bundled license information:
45
45
 
46
46
  @bundled-es-modules/statuses/index-esm.js:
47
47
  (*! Bundled license information: