@@ -3,9 +3,12 @@ import {
33 type PaginatedVaultsResult ,
44 type PaginatedVaultUserTransactionHistoryResult ,
55 type TokenAmount ,
6+ type TransactionRequest ,
67 UserVaultsQuery ,
78 type UserVaultsRequest ,
89 type Vault ,
10+ type VaultCreateRecipientsConfigurationRequest ,
11+ type VaultFeesRecipientsConfiguration ,
912 VaultPreviewDepositQuery ,
1013 type VaultPreviewDepositRequest ,
1114 VaultPreviewMintQuery ,
@@ -15,14 +18,21 @@ import {
1518 VaultPreviewWithdrawQuery ,
1619 type VaultPreviewWithdrawRequest ,
1720 VaultQuery ,
21+ type VaultRecipientConfigurationRequest ,
1822 type VaultRequest ,
23+ type VaultSetRecipientsConfigurationRequest ,
1924 VaultsQuery ,
2025 type VaultsRequest ,
26+ type VaultTransferOwnershipRequest ,
2127 VaultUserActivityQuery ,
2228 type VaultUserActivityRequest ,
2329 type VaultUserActivityResult ,
2430 VaultUserTransactionHistoryQuery ,
2531 type VaultUserTransactionHistoryRequest ,
32+ vaultCreateRecipientsConfigurationQuery ,
33+ vaultRecipientConfigurationQuery ,
34+ vaultSetRecipientsConfigurationQuery ,
35+ vaultTransferOwnershipQuery ,
2636} from '@aave/graphql' ;
2737import type { ResultAsync } from '@aave/types' ;
2838import type { AaveClient } from '../AaveClient' ;
@@ -181,7 +191,7 @@ export function vaultPreviewMint(
181191 *
182192 * ```ts
183193 * const result = await vaultPreviewWithdraw(client, {
184- * vault: evmAddress('0x1234567890abcdef1234567890abcdef12345678 '),
194+ * vault: evmAddress('0x1234… '),
185195 * chainId: chainId(1),
186196 * amount: bigDecimal('750'),
187197 * });
@@ -210,7 +220,7 @@ export function vaultPreviewWithdraw(
210220 *
211221 * ```ts
212222 * const result = await vaultPreviewRedeem(client, {
213- * vault: evmAddress('0x1234567890abcdef1234567890abcdef12345678 '),
223+ * vault: evmAddress('0x1234… '),
214224 * chainId: chainId(1),
215225 * amount: bigDecimal('200'),
216226 * });
@@ -239,9 +249,9 @@ export function vaultPreviewRedeem(
239249 *
240250 * ```ts
241251 * const result = await vaultUserTransactionHistory(client, {
242- * vault: evmAddress('0x1234567890abcdef1234567890abcdef12345678 '),
252+ * vault: evmAddress('0x1234… '),
243253 * chainId: chainId(1),
244- * user: evmAddress('0x5678901234567890abcdef1234567890abcdef12 '),
254+ * user: evmAddress('0x5678… '),
245255 * });
246256 *
247257 * if (result.isOk()) {
@@ -274,9 +284,9 @@ export function vaultUserTransactionHistory(
274284 *
275285 * ```ts
276286 * const result = await vaultUserActivity(client, {
277- * vault: evmAddress('0x1234567890abcdef1234567890abcdef12345678 '),
287+ * vault: evmAddress('0x1234… '),
278288 * chainId: chainId(1),
279- * user: evmAddress('0x5678901234567890abcdef1234567890abcdef12 '),
289+ * user: evmAddress('0x5678… '),
280290 * });
281291 *
282292 * if (result.isOk()) {
@@ -302,3 +312,63 @@ export function vaultUserActivity(
302312 request,
303313 } ) ;
304314}
315+
316+ /**
317+ * Creates a transaction to transfer ownership of a vault.
318+ *
319+ * ```ts
320+ * const result = await vaultTransferOwnership(client, {
321+ * vault: evmAddress('0x1234…'),
322+ * chainId: chainId(1),
323+ * newOwner: evmAddress('0x5678…'),
324+ * }).andThen(sendWith(wallet)).andThen(client.waitForTransaction);
325+ * ```
326+ *
327+ * @param client - Aave client.
328+ * @param request - The vault transfer ownership request parameters.
329+ * @returns The transaction data for transferring vault ownership.
330+ */
331+ export function vaultTransferOwnership (
332+ client : AaveClient ,
333+ request : VaultTransferOwnershipRequest ,
334+ ) : ResultAsync < TransactionRequest , UnexpectedError > {
335+ return client . query ( vaultTransferOwnershipQuery , {
336+ request,
337+ } ) ;
338+ }
339+
340+ /**
341+ * @internal
342+ */
343+ export function vaultCreateRecipientsConfiguration (
344+ client : AaveClient ,
345+ request : VaultCreateRecipientsConfigurationRequest ,
346+ ) : ResultAsync < TransactionRequest , UnexpectedError > {
347+ return client . query ( vaultCreateRecipientsConfigurationQuery , {
348+ request,
349+ } ) ;
350+ }
351+
352+ /**
353+ * @internal
354+ */
355+ export function vaultRecipientConfiguration (
356+ client : AaveClient ,
357+ request : VaultRecipientConfigurationRequest ,
358+ ) : ResultAsync < VaultFeesRecipientsConfiguration | null , UnexpectedError > {
359+ return client . query ( vaultRecipientConfigurationQuery , {
360+ request,
361+ } ) ;
362+ }
363+
364+ /**
365+ * @internal
366+ */
367+ export function vaultSetRecipientsConfiguration (
368+ client : AaveClient ,
369+ request : VaultSetRecipientsConfigurationRequest ,
370+ ) : ResultAsync < TransactionRequest , UnexpectedError > {
371+ return client . query ( vaultSetRecipientsConfigurationQuery , {
372+ request,
373+ } ) ;
374+ }
0 commit comments