Skip to content

Commit a7b2cfa

Browse files
committed
feat: eModeToggle action
1 parent 697ede4 commit a7b2cfa

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

packages/client/src/actions/transactions.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
import {
22
BorrowQuery,
33
type BorrowRequest,
4+
EModeToggleQuery,
5+
type EModeToggleRequest,
46
RepayQuery,
57
type RepayRequest,
68
SupplyQuery,
79
type SupplyRequest,
810
type Transaction,
11+
type TransactionRequest,
912
WithdrawQuery,
1013
type WithdrawRequest,
1114
} from '@aave/graphql';
@@ -124,3 +127,25 @@ export function withdraw(
124127
): ResultAsync<Transaction, UnexpectedError> {
125128
return client.query(WithdrawQuery, { request });
126129
}
130+
131+
/**
132+
* Creates a transaction to toggle eMode for a user in a market.
133+
*
134+
* ```ts
135+
* const result = await eModeToggle(client, {
136+
* market: evmAddress('0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2'),
137+
* user: evmAddress('0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234'),
138+
* chainId: chainId(1)
139+
* });
140+
* ```
141+
*
142+
* @param client - Aave client.
143+
* @param request - The eMode toggle request parameters.
144+
* @returns The transaction request data to toggle eMode.
145+
*/
146+
export function eModeToggle(
147+
client: AaveClient,
148+
request: EModeToggleRequest,
149+
): ResultAsync<TransactionRequest, UnexpectedError> {
150+
return client.query(EModeToggleQuery, { request });
151+
}

packages/graphql/src/transactions.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { TransactionFragment } from './fragments';
1+
import { TransactionFragment, TransactionRequestFragment } from './fragments';
22
import { graphql, type RequestOf } from './graphql';
33

44
/**
@@ -52,3 +52,16 @@ export const WithdrawQuery = graphql(
5252
[TransactionFragment],
5353
);
5454
export type WithdrawRequest = RequestOf<typeof WithdrawQuery>;
55+
56+
/**
57+
* @internal
58+
*/
59+
export const EModeToggleQuery = graphql(
60+
`query EModeToggle($request: EmodeToggleRequest!) {
61+
value: eModeToggle(request: $request) {
62+
...TransactionRequest
63+
}
64+
}`,
65+
[TransactionRequestFragment],
66+
);
67+
export type EModeToggleRequest = RequestOf<typeof EModeToggleQuery>;

0 commit comments

Comments
 (0)