Skip to content

Commit fc345ca

Browse files
committed
fix: build and user transaction history API
1 parent 07be475 commit fc345ca

File tree

4 files changed

+71
-7
lines changed

4 files changed

+71
-7
lines changed

packages/client/src/actions/user.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
UserSuppliesQuery,
88
type UserSuppliesRequest,
99
UserTransactionHistoryQuery,
10+
type UserTransactionHistoryRequest,
1011
} from '@aave/graphql';
1112
import type { ResultAsync } from '@aave/types';
1213
import type { AaveClient } from '../client';
@@ -66,6 +67,7 @@ export function userBorrows(
6667
*/
6768
export function userTransactionHistory(
6869
client: AaveClient,
70+
request: UserTransactionHistoryRequest,
6971
): ResultAsync<PaginatedUserTransactionHistoryResult, UnexpectedError> {
70-
return client.query(UserTransactionHistoryQuery, {});
72+
return client.query(UserTransactionHistoryQuery, { request });
7173
}

packages/graphql/src/user.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export const UserSuppliesQuery = graphql(
1313
}`,
1414
[MarketUserReserveSupplyPositionFragment],
1515
);
16+
export type UserSuppliesRequest = RequestOf<typeof UserSuppliesQuery>;
1617

1718
export const UserBorrowsQuery = graphql(
1819
`query UserBorrows($request: UserBorrowsRequest!) {
@@ -32,4 +33,6 @@ export const UserTransactionHistoryQuery = graphql(
3233
}`,
3334
[PaginatedUserTransactionHistoryResultFragment],
3435
);
35-
export type UserSuppliesRequest = RequestOf<typeof UserSuppliesQuery>;
36+
export type UserTransactionHistoryRequest = RequestOf<
37+
typeof UserTransactionHistoryQuery
38+
>;

packages/react/README.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,57 @@ The official React bindings for the Aave Protocol.
44

55
---
66

7+
## Usage
78

9+
### Setup
10+
11+
```typescript
12+
// client.ts
13+
import { AaveClient } from '@aave/react';
14+
15+
export const client = AaveClient.create();
16+
```
17+
18+
```tsx
19+
// App.tsx
20+
import { AaveProvider } from '@aave/react';
21+
import { client } from './client';
22+
23+
export function App() {
24+
return (
25+
<AaveProvider client={client}>
26+
<MarketData />
27+
<UserPositions />
28+
</AaveProvider>
29+
);
30+
}
31+
```
32+
33+
### Query Data
34+
35+
```tsx
36+
import { evmAddress, useAaveChains, useUserSupplies } from '@aave/react';
37+
38+
function MarketData() {
39+
const { data: chains, loading } = useAaveChains();
40+
41+
if (loading) return <div>Loading...</div>;
42+
43+
return (
44+
<div>
45+
{chains?.map(chain => (
46+
<div key={chain.id}>{chain.name}</div>
47+
))}
48+
</div>
49+
);
50+
}
51+
52+
function UserPositions() {
53+
const { data: supplies } = useUserSupplies({
54+
markets: [evmAddress('0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2')],
55+
user: evmAddress('0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234'),
56+
});
57+
58+
return <div>Supplies: {supplies?.length || 0}</div>;
59+
}
60+
```

packages/react/src/user.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import type {
66
UserBorrowsRequest,
77
UserMarketStateRequest,
88
UserSuppliesRequest,
9+
UserTransactionHistoryRequest,
910
} from '@aave/graphql';
1011
import {
1112
UserBorrowsQuery,
@@ -178,6 +179,8 @@ export function useUserMarketState({
178179
});
179180
}
180181

182+
export type UseUserTransactionHistoryArgs = UserTransactionHistoryRequest;
183+
181184
/**
182185
* Fetch user transaction history.
183186
*
@@ -190,7 +193,7 @@ export function useUserMarketState({
190193
* ```
191194
*/
192195
export function useUserTransactionHistory(
193-
args: Suspendable,
196+
args: UseUserTransactionHistoryArgs & Suspendable,
194197
): SuspenseResult<PaginatedUserTransactionHistoryResult>;
195198

196199
/**
@@ -200,16 +203,19 @@ export function useUserTransactionHistory(
200203
* const { data, loading } = useUserTransactionHistory();
201204
* ```
202205
*/
203-
export function useUserTransactionHistory(): ReadResult<PaginatedUserTransactionHistoryResult>;
206+
export function useUserTransactionHistory(
207+
args: UseUserTransactionHistoryArgs,
208+
): ReadResult<PaginatedUserTransactionHistoryResult>;
204209

205210
export function useUserTransactionHistory({
206211
suspense = false,
207-
}: {
212+
...request
213+
}: UseUserTransactionHistoryArgs & {
208214
suspense?: boolean;
209-
} = {}): SuspendableResult<PaginatedUserTransactionHistoryResult> {
215+
}): SuspendableResult<PaginatedUserTransactionHistoryResult> {
210216
return useSuspendableQuery({
211217
document: UserTransactionHistoryQuery,
212-
variables: {},
218+
variables: { request },
213219
suspense,
214220
});
215221
}

0 commit comments

Comments
 (0)