@aave/client 4.0.0-next.8 → 4.0.0-next.9

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.
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","_parent","args","cache","isTxHashInputVariant","txHash","chainId","matches","f","set","pageRef","itemRefs","ref","spokeRef","chainRef","itemChainId","data","production","staging","local","configureContext","environment","headers","debug","fragments","isHasProcessedKnownTransactionRequest","result","AaveClient","_AaveClient","GqlClient","options","invariant","ResultAsync","err","TimeoutError","UnexpectedError","document","predicate","op","startedAt","hasProcessedKnownTransaction","ok","delay"],"mappings":"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","file":"index.js","sourcesContent":["import {\n type ActivitiesQuery,\n type BorrowActivity,\n type Chain,\n type Erc20Token,\n encodeHubId,\n type Hub,\n type HubAsset,\n type HubQuery,\n isHubInputVariant,\n isTxHashInputVariant,\n type LiquidatedActivity,\n type NativeToken,\n type RepayActivity,\n type Reserve,\n type ReserveInfo,\n type Spoke,\n type SupplyActivity,\n type SwapByIntent,\n type SwapByIntentWithApprovalRequired,\n type SwapByTransaction,\n type TokenInfo,\n type UpdatedDynamicConfigActivity,\n type UpdatedRiskPremiumActivity,\n type UserPosition,\n type UsingAsCollateralActivity,\n type VariablesOf,\n type WithdrawActivity,\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 ProtocolHistorySample: {\n date: transformToDate,\n },\n BorrowActivity: {\n timestamp: transformToDate,\n },\n LiquidatedActivity: {\n timestamp: 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 SpokeUserPositionManager: {\n approvedOn: transformToDate,\n },\n SwapCancelled: {\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 // Intentionally omitted to keep it as BigIntString\n // PermitMessageData: {\n // value: transformToBigInt,\n // nonce: transformToBigInt,\n // },\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 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 // Entitied with composite key\n Hub: (data: Hub) => data.id,\n HubAsset: (data: HubAsset) => data.id,\n Reserve: (data: Reserve) => data.id,\n ReserveInfo: (data: ReserveInfo) => data.id,\n Spoke: (data: Spoke) => data.id,\n\n // Entities with id field as key\n BorrowActivity: (data: BorrowActivity) => data.id,\n LiquidatedActivity: (data: LiquidatedActivity) => data.id,\n SupplyActivity: (data: SupplyActivity) => data.id,\n SwapByIntent: (data: SwapByIntent) => data.quote.quoteId,\n SwapByIntentWithApprovalRequired: (\n data: SwapByIntentWithApprovalRequired,\n ) => data.quote.quoteId,\n SwapByTransaction: (data: SwapByTransaction) => data.quote.quoteId,\n UserPosition: (data: UserPosition) => data.id,\n UpdatedDynamicConfigActivity: (data: UpdatedDynamicConfigActivity) =>\n data.id,\n UpdatedRiskPremiumActivity: (data: UpdatedRiskPremiumActivity) => data.id,\n UsingAsCollateralActivity: (data: UsingAsCollateralActivity) => data.id,\n WithdrawActivity: (data: WithdrawActivity) => data.id,\n RepayActivity: (data: RepayActivity) => data.id,\n TokenInfo: (data: TokenInfo) => 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 // Entities without keys will be embedded directly on the parent entity\n PaginatedActivitiesResult: () => null,\n PaginatedResultInfo: () => null,\n PaginatedSpokePositionManagerResult: () => null,\n PaginatedSpokeUserPositionManagerResult: () => null,\n PaginatedUserSwapsResult: () => null,\n SpokePositionManger: () => null,\n SpokeUserPositionManager: () => null,\n SwapReceipt: () => null,\n SwapTransactionRequest: () => null,\n\n // Value objects and result types\n ApySample: () => null,\n Asset: () => null,\n AssetBorrowSample: () => null,\n AssetPriceSample: () => null,\n AssetSummary: () => null,\n AssetSupplySample: () => null,\n CancelSwapTypedData: () => null,\n CancelSwapTypeDefinition: () => null,\n DecimalNumber: () => null,\n DecimalNumberWithChange: () => null,\n DomainData: () => null,\n Erc20Amount: () => null,\n Erc20ApprovalRequired: () => null,\n ExchangeAmount: () => null,\n ExchangeAmountValueVariation: () => 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 InsufficientBalanceError: () => null,\n NativeAmount: () => null,\n PercentNumber: () => null,\n PercentNumberVariation: () => null,\n PercentNumberWithChange: () => null,\n PermitMessageData: () => null,\n PermitTypedDataResponse: () => null,\n PreContractActionRequired: () => null,\n PrepareSwapCancelResult: () => null,\n PreviewUserPosition: () => null,\n ProtocolHistorySample: () => null,\n ReserveSettings: () => null,\n ReserveStatus: () => null,\n ReserveSummary: () => null,\n ReserveUserState: () => null,\n SwapApprovalRequired: () => null,\n SwapByIntentTypedData: () => null,\n SwapByIntentTypeDefinition: () => null,\n SwapCancelled: () => null,\n SwapExpired: () => null,\n SwapFulfilled: () => null,\n SwapOpen: () => null,\n SwapPendingSignature: () => null,\n SwapQuote: () => null,\n SwapQuoteCosts: () => null,\n TransactionRequest: () => null,\n TypeDefinition: () => null,\n TypeField: () => null,\n UserBalance: () => null,\n UserBorrowItem: () => 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.v4.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 100,\n exchangeRateInterval: 10000,\n};\n\n/**\n * @internal\n */\nexport const staging: EnvironmentConfig = {\n name: 'staging',\n backend: 'https://api.v4.staging.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 500,\n exchangeRateInterval: 10000,\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: 10000,\n};\n","import type { Context } from '@aave/core';\nimport type { TypedDocumentNode } from '@urql/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 debug mode.\n *\n * @defaultValue `false`\n */\n debug?: boolean;\n /**\n * The custom fragments to use.\n *\n * @experimental This is an experimental API and may be subject to breaking changes.\n */\n fragments?: TypedDocumentNode[];\n};\n\n/**\n * @internal\n */\nexport function configureContext({\n environment = production,\n headers,\n cache = true,\n debug = false,\n fragments = [],\n}: ClientConfig): Context {\n return {\n displayName: 'AaveClient',\n environment,\n headers,\n cache: cache ? exchange : null,\n debug,\n fragments,\n };\n}\n","import type {\n CancelError,\n SigningError,\n TransactionError,\n UnexpectedError,\n ValidationError,\n} from '@aave/core';\nimport type {\n CancelSwapTypedData,\n ERC20PermitSignature,\n ExecutionPlan,\n HasProcessedKnownTransactionRequest,\n InsufficientBalanceError,\n OperationType,\n PermitTypedDataResponse,\n SwapByIntentTypedData,\n} from '@aave/graphql';\nimport type { ResultAsync, 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 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 ERC20PermitHandler = (\n result: PermitTypedDataResponse,\n) => ResultAsync<ERC20PermitSignature, SigningError>;\n\nexport type SwapSignatureHandler = (\n result: CancelSwapTypedData | SwapByIntentTypedData,\n) => ResultAsync<ERC20PermitSignature, SigningError>;\n","import {\n delay,\n GqlClient,\n type StandardData,\n TimeoutError,\n UnexpectedError,\n} from '@aave/core';\nimport type { HasProcessedKnownTransactionRequest } from '@aave/graphql';\nimport {\n type AnyVariables,\n invariant,\n ResultAsync,\n type TxHash,\n} from '@aave/types';\nimport type { TypedDocumentNode } from '@urql/core';\nimport { hasProcessedKnownTransaction } from './actions';\nimport { type ClientConfig, configureContext } from './config';\nimport {\n isHasProcessedKnownTransactionRequest,\n type TransactionResult,\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 transaction hash or a TimeoutError\n */\n readonly waitForTransaction = (\n result: TransactionResult,\n ): ResultAsync<TxHash, TimeoutError | UnexpectedError> => {\n invariant(\n isHasProcessedKnownTransactionRequest(result),\n `Received a transaction result for an untracked operation. Make sure you're following the instructions in the docs.`,\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 /**\n * @internal\n */\n async refreshQueryWhere<TValue, TVariables extends AnyVariables>(\n document: TypedDocumentNode<StandardData<TValue>, TVariables>,\n predicate: (\n variables: TVariables,\n data: TValue,\n ) => boolean | Promise<boolean>,\n ): Promise<void> {\n await this.refreshWhere(async (op) => {\n if (op.query === document) {\n const result = await this.query(document, op.variables as TVariables, {\n requestPolicy: 'cache-only',\n });\n\n if (result.isErr()) {\n return false;\n }\n\n return predicate(op.variables as TVariables, result.value as TValue);\n }\n return false;\n });\n }\n\n protected async pollTransactionStatus(\n request: HasProcessedKnownTransactionRequest,\n ): Promise<TxHash> {\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 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","_parent","args","cache","isTxHashInputVariant","txHash","chainId","matches","f","set","pageRef","itemRefs","ref","spokeRef","chainRef","itemChainId","data","production","staging","local","configureContext","environment","headers","debug","fragments","isHasProcessedKnownTransactionRequest","result","AaveClient","_AaveClient","GqlClient","options","invariant","ResultAsync","err","TimeoutError","UnexpectedError","document","predicate","op","startedAt","hasProcessedKnownTransaction","ok","delay"],"mappings":"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","file":"index.js","sourcesContent":["import {\n type ActivitiesQuery,\n type BorrowActivity,\n type Chain,\n type Erc20Token,\n encodeHubId,\n type Hub,\n type HubAsset,\n type HubQuery,\n isHubInputVariant,\n isTxHashInputVariant,\n type LiquidatedActivity,\n type NativeToken,\n type RepayActivity,\n type Reserve,\n type ReserveInfo,\n type Spoke,\n type SupplyActivity,\n type SwapByIntent,\n type SwapByIntentWithApprovalRequired,\n type SwapByTransaction,\n type TokenInfo,\n type UpdatedDynamicConfigActivity,\n type UpdatedRiskPremiumActivity,\n type UserPosition,\n type UsingAsCollateralActivity,\n type VariablesOf,\n type WithdrawActivity,\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 AssetCategoryBorrowSample: {\n date: transformToDate,\n },\n AssetCategorySupplySample: {\n date: transformToDate,\n },\n AssetSupplySample: {\n date: transformToDate,\n },\n HubSummarySample: {\n date: transformToDate,\n },\n ProtocolHistorySample: {\n date: transformToDate,\n },\n BorrowActivity: {\n timestamp: transformToDate,\n },\n LiquidatedActivity: {\n timestamp: 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 SpokeUserPositionManager: {\n approvedOn: transformToDate,\n },\n SwapCancelled: {\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 // Intentionally omitted to keep it as BigIntString\n // PermitMessageData: {\n // value: transformToBigInt,\n // nonce: transformToBigInt,\n // },\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 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 // Entitied with composite key\n Hub: (data: Hub) => data.id,\n HubAsset: (data: HubAsset) => data.id,\n Reserve: (data: Reserve) => data.id,\n ReserveInfo: (data: ReserveInfo) => data.id,\n Spoke: (data: Spoke) => data.id,\n\n // Entities with id field as key\n BorrowActivity: (data: BorrowActivity) => data.id,\n LiquidatedActivity: (data: LiquidatedActivity) => data.id,\n SupplyActivity: (data: SupplyActivity) => data.id,\n SwapByIntent: (data: SwapByIntent) => data.quote.quoteId,\n SwapByIntentWithApprovalRequired: (\n data: SwapByIntentWithApprovalRequired,\n ) => data.quote.quoteId,\n SwapByTransaction: (data: SwapByTransaction) => data.quote.quoteId,\n UserPosition: (data: UserPosition) => data.id,\n UpdatedDynamicConfigActivity: (data: UpdatedDynamicConfigActivity) =>\n data.id,\n UpdatedRiskPremiumActivity: (data: UpdatedRiskPremiumActivity) => data.id,\n UsingAsCollateralActivity: (data: UsingAsCollateralActivity) => data.id,\n WithdrawActivity: (data: WithdrawActivity) => data.id,\n RepayActivity: (data: RepayActivity) => data.id,\n TokenInfo: (data: TokenInfo) => 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 // Entities without keys will be embedded directly on the parent entity\n PaginatedActivitiesResult: () => null,\n PaginatedResultInfo: () => null,\n PaginatedSpokePositionManagerResult: () => null,\n PaginatedSpokeUserPositionManagerResult: () => null,\n PaginatedUserSwapsResult: () => null,\n SpokePositionManger: () => null,\n SpokeUserPositionManager: () => null,\n SwapReceipt: () => null,\n SwapTransactionRequest: () => null,\n\n // Value objects and result types\n ApySample: () => null,\n Asset: () => null,\n AssetBorrowSample: () => null,\n AssetCategoryBorrowSample: () => null,\n AssetCategorySupplySample: () => null,\n AssetPriceSample: () => null,\n AssetSummary: () => null,\n AssetSupplySample: () => null,\n CancelSwapTypedData: () => null,\n CancelSwapTypeDefinition: () => null,\n DecimalNumber: () => null,\n DecimalNumberWithChange: () => null,\n DomainData: () => null,\n Erc20Amount: () => 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 NativeAmount: () => null,\n PercentNumber: () => null,\n PercentNumberVariation: () => null,\n PercentNumberWithChange: () => null,\n PermitMessageData: () => null,\n PermitTypedDataResponse: () => null,\n PreContractActionRequired: () => null,\n PrepareSwapCancelResult: () => null,\n PreviewUserPosition: () => null,\n ProtocolHistorySample: () => null,\n ReserveSettings: () => null,\n ReserveStatus: () => null,\n ReserveSummary: () => null,\n ReserveUserState: () => null,\n SwapApprovalRequired: () => null,\n SwapByIntentTypedData: () => null,\n SwapByIntentTypeDefinition: () => null,\n SwapCancelled: () => null,\n SwapExpired: () => null,\n SwapFulfilled: () => null,\n SwapOpen: () => null,\n SwapPendingSignature: () => null,\n SwapQuote: () => null,\n SwapQuoteCosts: () => null,\n TransactionRequest: () => null,\n TypeDefinition: () => null,\n TypeField: () => null,\n UserBalance: () => null,\n UserBorrowItem: () => 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.v4.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 100,\n exchangeRateInterval: 10000,\n};\n\n/**\n * @internal\n */\nexport const staging: EnvironmentConfig = {\n name: 'staging',\n backend: 'https://api.v4.staging.aave.com/graphql',\n indexingTimeout: 60_000,\n pollingInterval: 500,\n exchangeRateInterval: 10000,\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: 10000,\n};\n","import type { Context } from '@aave/core';\nimport type { TypedDocumentNode } from '@urql/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 debug mode.\n *\n * @defaultValue `false`\n */\n debug?: boolean;\n /**\n * The custom fragments to use.\n *\n * @experimental This is an experimental API and may be subject to breaking changes.\n */\n fragments?: TypedDocumentNode[];\n};\n\n/**\n * @internal\n */\nexport function configureContext({\n environment = production,\n headers,\n cache = true,\n debug = false,\n fragments = [],\n}: ClientConfig): Context {\n return {\n displayName: 'AaveClient',\n environment,\n headers,\n cache: cache ? exchange : null,\n debug,\n fragments,\n };\n}\n","import type {\n CancelError,\n SigningError,\n TransactionError,\n UnexpectedError,\n ValidationError,\n} from '@aave/core';\nimport type {\n CancelSwapTypedData,\n ERC20PermitSignature,\n ExecutionPlan,\n HasProcessedKnownTransactionRequest,\n InsufficientBalanceError,\n OperationType,\n PermitTypedDataResponse,\n SwapByIntentTypedData,\n} from '@aave/graphql';\nimport type { ResultAsync, 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 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 ERC20PermitHandler = (\n result: PermitTypedDataResponse,\n) => ResultAsync<ERC20PermitSignature, SigningError>;\n\nexport type SwapSignatureHandler = (\n result: CancelSwapTypedData | SwapByIntentTypedData,\n) => ResultAsync<ERC20PermitSignature, SigningError>;\n","import {\n delay,\n GqlClient,\n type StandardData,\n TimeoutError,\n UnexpectedError,\n} from '@aave/core';\nimport type { HasProcessedKnownTransactionRequest } from '@aave/graphql';\nimport {\n type AnyVariables,\n invariant,\n ResultAsync,\n type TxHash,\n} from '@aave/types';\nimport type { TypedDocumentNode } from '@urql/core';\nimport { hasProcessedKnownTransaction } from './actions';\nimport { type ClientConfig, configureContext } from './config';\nimport {\n isHasProcessedKnownTransactionRequest,\n type TransactionResult,\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 transaction hash or a TimeoutError\n */\n readonly waitForTransaction = (\n result: TransactionResult,\n ): ResultAsync<TxHash, TimeoutError | UnexpectedError> => {\n invariant(\n isHasProcessedKnownTransactionRequest(result),\n `Received a transaction result for an untracked operation. Make sure you're following the instructions in the docs.`,\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 /**\n * @internal\n */\n async refreshQueryWhere<TValue, TVariables extends AnyVariables>(\n document: TypedDocumentNode<StandardData<TValue>, TVariables>,\n predicate: (\n variables: TVariables,\n data: TValue,\n ) => boolean | Promise<boolean>,\n ): Promise<void> {\n await this.refreshWhere(async (op) => {\n if (op.query === document) {\n const result = await this.query(document, op.variables as TVariables, {\n requestPolicy: 'cache-only',\n });\n\n if (result.isErr()) {\n return false;\n }\n\n return predicate(op.variables as TVariables, result.value as TValue);\n }\n return false;\n });\n }\n\n protected async pollTransactionStatus(\n request: HasProcessedKnownTransactionRequest,\n ): Promise<TxHash> {\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 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 {a,f}from'./chunk-X2C2UEY7.js';import'./chunk-3VL3Y3IZ.js';import {ValidationError,SigningError}from'@aave/core';import {errAsync,ResultAsync,signatureFrom,txHash,okAsync}from'@aave/types';import {createPublicClient,http}from'viem';import {waitForTransactionReceipt}from'viem/actions';async function S(e,n,a){let{hash:t}=await e.walletApi.ethereum.sendTransaction({walletId:a,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(t)}function o(e,n,a$1){let t=createPublicClient({chain:a[n.chainId],transport:http()});return ResultAsync.fromPromise(S(e,n,a$1),r=>SigningError.from(r)).map(async r=>waitForTransactionReceipt(t,{hash:r,pollingInterval:100,retryCount:20,retryDelay:50})).andThen(r=>{let c=txHash(r.transactionHash);return r.status==="reverted"?errAsync(f(a[n.chainId],c,n)):okAsync({txHash:c,operations:n.operations})})}function d(e,n,a){switch(a.__typename){case "TransactionRequest":return o(e,a,n);case "Erc20ApprovalRequired":case "PreContractActionRequired":return o(e,a.transaction,n).andThen(()=>o(e,a.originalTransaction,n));case "InsufficientBalanceError":return errAsync(ValidationError.fromGqlNode(a))}}function D(e,n,a){return a?d(e,n,a):d.bind(null,e,n)}function C(e,n,a){return ResultAsync.fromPromise(e.walletApi.ethereum.signTypedData({walletId:n,typedData:{domain:a.domain,types:a.types,message:a.message,primaryType:a.primaryType}}),t=>SigningError.from(t)).map(t=>({deadline:a.message.deadline,value:signatureFrom(t.signature)}))}function I(e,n){return C.bind(null,e,n)}function y(e,n,a){let t=JSON.parse(a.message);return ResultAsync.fromPromise(e.walletApi.ethereum.signTypedData({walletId:n,typedData:{domain:a.domain,types:a.types,message:t,primaryType:a.primaryType}}),r=>SigningError.from(r)).map(r=>({deadline:t.deadline,value:signatureFrom(r.signature)}))}function A(e,n,a){return a?y(e,n,a):y.bind(null,e,n)}export{D as sendWith,I as signERC20PermitWith,A as signSwapTypedDataWith};//# sourceMappingURL=privy.js.map
1
+ import {a,f}from'./chunk-QV7WXM6U.js';import'./chunk-OKIVO6WG.js';import {ValidationError,SigningError}from'@aave/core';import {errAsync,ResultAsync,signatureFrom,txHash,okAsync}from'@aave/types';import {createPublicClient,http}from'viem';import {waitForTransactionReceipt}from'viem/actions';async function S(e,n,a){let{hash:t}=await e.walletApi.ethereum.sendTransaction({walletId:a,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(t)}function o(e,n,a$1){let t=createPublicClient({chain:a[n.chainId],transport:http()});return ResultAsync.fromPromise(S(e,n,a$1),r=>SigningError.from(r)).map(async r=>waitForTransactionReceipt(t,{hash:r,pollingInterval:100,retryCount:20,retryDelay:50})).andThen(r=>{let c=txHash(r.transactionHash);return r.status==="reverted"?errAsync(f(a[n.chainId],c,n)):okAsync({txHash:c,operations:n.operations})})}function d(e,n,a){switch(a.__typename){case "TransactionRequest":return o(e,a,n);case "Erc20ApprovalRequired":case "PreContractActionRequired":return o(e,a.transaction,n).andThen(()=>o(e,a.originalTransaction,n));case "InsufficientBalanceError":return errAsync(ValidationError.fromGqlNode(a))}}function D(e,n,a){return a?d(e,n,a):d.bind(null,e,n)}function C(e,n,a){return ResultAsync.fromPromise(e.walletApi.ethereum.signTypedData({walletId:n,typedData:{domain:a.domain,types:a.types,message:a.message,primaryType:a.primaryType}}),t=>SigningError.from(t)).map(t=>({deadline:a.message.deadline,value:signatureFrom(t.signature)}))}function I(e,n){return C.bind(null,e,n)}function y(e,n,a){let t=JSON.parse(a.message);return ResultAsync.fromPromise(e.walletApi.ethereum.signTypedData({walletId:n,typedData:{domain:a.domain,types:a.types,message:t,primaryType:a.primaryType}}),r=>SigningError.from(r)).map(r=>({deadline:t.deadline,value:signatureFrom(r.signature)}))}function A(e,n,a){return a?y(e,n,a):y.bind(null,e,n)}export{D as sendWith,I as signERC20PermitWith,A as signSwapTypedDataWith};//# sourceMappingURL=privy.js.map
2
2
  //# sourceMappingURL=privy.js.map