@whisk/steakhouse 0.3.8 → 0.4.0
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.d.ts +5 -0
- package/dist/metadata/generated/vaults.js +2 -2
- package/dist/metadata/generated/vaults.js.map +1 -1
- package/dist/queries/fragments.d.ts +687 -0
- package/dist/queries/fragments.js +158 -0
- package/dist/queries/fragments.js.map +1 -0
- package/dist/queries/getStats.d.ts +1 -1
- package/dist/queries/getVault.d.ts +1108 -0
- package/dist/queries/getVault.js +197 -0
- package/dist/queries/getVault.js.map +1 -0
- package/dist/queries/getVaultHistory.d.ts +15 -0
- package/dist/queries/getVaultHistory.js +55 -0
- package/dist/queries/getVaultHistory.js.map +1 -0
- package/dist/queries/getVaults.d.ts +429 -0
- package/dist/queries/getVaults.js +49 -0
- package/dist/queries/getVaults.js.map +1 -0
- package/dist/queries/index.d.ts +5 -0
- package/dist/queries/index.js +3 -0
- package/dist/queries/index.js.map +1 -1
- package/package.json +1 -1
- package/src/metadata/generated/vaults.ts +2 -2
- package/src/metadata/vaults/mainnet/ausd-high-tield-term.md +1 -1
- package/src/metadata/vaults/mainnet/usdc-high-yield-term.md +1 -1
- package/src/queries/fragments.ts +163 -0
- package/src/queries/getVault.ts +222 -0
- package/src/queries/getVaultHistory.ts +72 -0
- package/src/queries/getVaults.ts +64 -0
- package/src/queries/index.ts +3 -0
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import * as gql_tada from 'gql.tada';
|
|
2
|
+
import { ResultOf } from '@whisk/graphql';
|
|
3
|
+
import { WhiskClient } from '@whisk/client';
|
|
4
|
+
import { VaultConfig } from '../metadata/types.js';
|
|
5
|
+
import { Prettify } from './fragments.js';
|
|
6
|
+
|
|
7
|
+
declare const vaultsQuery: gql_tada.TadaDocumentNode<{
|
|
8
|
+
erc4626Vaults: {
|
|
9
|
+
items: ({
|
|
10
|
+
__typename: "GenericErc4626Vault";
|
|
11
|
+
chain: {
|
|
12
|
+
id: number;
|
|
13
|
+
name: string;
|
|
14
|
+
icon: string;
|
|
15
|
+
};
|
|
16
|
+
address: `0x${string}`;
|
|
17
|
+
name: string;
|
|
18
|
+
symbol: string;
|
|
19
|
+
decimals: number;
|
|
20
|
+
icon: string | null;
|
|
21
|
+
priceUsd: number | null;
|
|
22
|
+
asset: {
|
|
23
|
+
__typename?: "Token";
|
|
24
|
+
address: `0x${string}`;
|
|
25
|
+
name: string;
|
|
26
|
+
symbol: string;
|
|
27
|
+
decimals: number;
|
|
28
|
+
icon: string | null;
|
|
29
|
+
priceUsd: number | null;
|
|
30
|
+
};
|
|
31
|
+
totalAssets: {
|
|
32
|
+
raw: bigint;
|
|
33
|
+
formatted: string;
|
|
34
|
+
usd: number | null;
|
|
35
|
+
};
|
|
36
|
+
apyInstant: {
|
|
37
|
+
base: number;
|
|
38
|
+
rewards: {
|
|
39
|
+
asset: {
|
|
40
|
+
__typename?: "Token";
|
|
41
|
+
address: `0x${string}`;
|
|
42
|
+
name: string;
|
|
43
|
+
symbol: string;
|
|
44
|
+
decimals: number;
|
|
45
|
+
icon: string | null;
|
|
46
|
+
priceUsd: number | null;
|
|
47
|
+
};
|
|
48
|
+
apr: number;
|
|
49
|
+
}[];
|
|
50
|
+
fee: number;
|
|
51
|
+
total: number;
|
|
52
|
+
};
|
|
53
|
+
apy1d: {
|
|
54
|
+
base: number;
|
|
55
|
+
rewards: {
|
|
56
|
+
asset: {
|
|
57
|
+
__typename?: "Token";
|
|
58
|
+
address: `0x${string}`;
|
|
59
|
+
name: string;
|
|
60
|
+
symbol: string;
|
|
61
|
+
decimals: number;
|
|
62
|
+
icon: string | null;
|
|
63
|
+
priceUsd: number | null;
|
|
64
|
+
};
|
|
65
|
+
apr: number;
|
|
66
|
+
}[];
|
|
67
|
+
fee: number;
|
|
68
|
+
total: number;
|
|
69
|
+
};
|
|
70
|
+
apy7d: {
|
|
71
|
+
base: number;
|
|
72
|
+
rewards: {
|
|
73
|
+
asset: {
|
|
74
|
+
__typename?: "Token";
|
|
75
|
+
address: `0x${string}`;
|
|
76
|
+
name: string;
|
|
77
|
+
symbol: string;
|
|
78
|
+
decimals: number;
|
|
79
|
+
icon: string | null;
|
|
80
|
+
priceUsd: number | null;
|
|
81
|
+
};
|
|
82
|
+
apr: number;
|
|
83
|
+
}[];
|
|
84
|
+
fee: number;
|
|
85
|
+
total: number;
|
|
86
|
+
};
|
|
87
|
+
apy30d: {
|
|
88
|
+
base: number;
|
|
89
|
+
rewards: {
|
|
90
|
+
asset: {
|
|
91
|
+
__typename?: "Token";
|
|
92
|
+
address: `0x${string}`;
|
|
93
|
+
name: string;
|
|
94
|
+
symbol: string;
|
|
95
|
+
decimals: number;
|
|
96
|
+
icon: string | null;
|
|
97
|
+
priceUsd: number | null;
|
|
98
|
+
};
|
|
99
|
+
apr: number;
|
|
100
|
+
}[];
|
|
101
|
+
fee: number;
|
|
102
|
+
total: number;
|
|
103
|
+
};
|
|
104
|
+
riskAssessment: {
|
|
105
|
+
steakhouse: {
|
|
106
|
+
score: number;
|
|
107
|
+
rating: string;
|
|
108
|
+
} | null;
|
|
109
|
+
};
|
|
110
|
+
} | {
|
|
111
|
+
__typename: "BoxVault";
|
|
112
|
+
chain: {
|
|
113
|
+
id: number;
|
|
114
|
+
name: string;
|
|
115
|
+
icon: string;
|
|
116
|
+
};
|
|
117
|
+
address: `0x${string}`;
|
|
118
|
+
name: string;
|
|
119
|
+
symbol: string;
|
|
120
|
+
decimals: number;
|
|
121
|
+
icon: string | null;
|
|
122
|
+
priceUsd: number | null;
|
|
123
|
+
asset: {
|
|
124
|
+
__typename?: "Token";
|
|
125
|
+
address: `0x${string}`;
|
|
126
|
+
name: string;
|
|
127
|
+
symbol: string;
|
|
128
|
+
decimals: number;
|
|
129
|
+
icon: string | null;
|
|
130
|
+
priceUsd: number | null;
|
|
131
|
+
};
|
|
132
|
+
totalAssets: {
|
|
133
|
+
raw: bigint;
|
|
134
|
+
formatted: string;
|
|
135
|
+
usd: number | null;
|
|
136
|
+
};
|
|
137
|
+
apyInstant: {
|
|
138
|
+
base: number;
|
|
139
|
+
rewards: {
|
|
140
|
+
asset: {
|
|
141
|
+
__typename?: "Token";
|
|
142
|
+
address: `0x${string}`;
|
|
143
|
+
name: string;
|
|
144
|
+
symbol: string;
|
|
145
|
+
decimals: number;
|
|
146
|
+
icon: string | null;
|
|
147
|
+
priceUsd: number | null;
|
|
148
|
+
};
|
|
149
|
+
apr: number;
|
|
150
|
+
}[];
|
|
151
|
+
fee: number;
|
|
152
|
+
total: number;
|
|
153
|
+
};
|
|
154
|
+
apy1d: {
|
|
155
|
+
base: number;
|
|
156
|
+
rewards: {
|
|
157
|
+
asset: {
|
|
158
|
+
__typename?: "Token";
|
|
159
|
+
address: `0x${string}`;
|
|
160
|
+
name: string;
|
|
161
|
+
symbol: string;
|
|
162
|
+
decimals: number;
|
|
163
|
+
icon: string | null;
|
|
164
|
+
priceUsd: number | null;
|
|
165
|
+
};
|
|
166
|
+
apr: number;
|
|
167
|
+
}[];
|
|
168
|
+
fee: number;
|
|
169
|
+
total: number;
|
|
170
|
+
};
|
|
171
|
+
apy7d: {
|
|
172
|
+
base: number;
|
|
173
|
+
rewards: {
|
|
174
|
+
asset: {
|
|
175
|
+
__typename?: "Token";
|
|
176
|
+
address: `0x${string}`;
|
|
177
|
+
name: string;
|
|
178
|
+
symbol: string;
|
|
179
|
+
decimals: number;
|
|
180
|
+
icon: string | null;
|
|
181
|
+
priceUsd: number | null;
|
|
182
|
+
};
|
|
183
|
+
apr: number;
|
|
184
|
+
}[];
|
|
185
|
+
fee: number;
|
|
186
|
+
total: number;
|
|
187
|
+
};
|
|
188
|
+
apy30d: {
|
|
189
|
+
base: number;
|
|
190
|
+
rewards: {
|
|
191
|
+
asset: {
|
|
192
|
+
__typename?: "Token";
|
|
193
|
+
address: `0x${string}`;
|
|
194
|
+
name: string;
|
|
195
|
+
symbol: string;
|
|
196
|
+
decimals: number;
|
|
197
|
+
icon: string | null;
|
|
198
|
+
priceUsd: number | null;
|
|
199
|
+
};
|
|
200
|
+
apr: number;
|
|
201
|
+
}[];
|
|
202
|
+
fee: number;
|
|
203
|
+
total: number;
|
|
204
|
+
};
|
|
205
|
+
riskAssessment: {
|
|
206
|
+
steakhouse: {
|
|
207
|
+
score: number;
|
|
208
|
+
rating: string;
|
|
209
|
+
} | null;
|
|
210
|
+
};
|
|
211
|
+
} | {
|
|
212
|
+
__typename: "MorphoVault";
|
|
213
|
+
chain: {
|
|
214
|
+
id: number;
|
|
215
|
+
name: string;
|
|
216
|
+
icon: string;
|
|
217
|
+
};
|
|
218
|
+
address: `0x${string}`;
|
|
219
|
+
name: string;
|
|
220
|
+
symbol: string;
|
|
221
|
+
decimals: number;
|
|
222
|
+
icon: string | null;
|
|
223
|
+
priceUsd: number | null;
|
|
224
|
+
asset: {
|
|
225
|
+
__typename?: "Token";
|
|
226
|
+
address: `0x${string}`;
|
|
227
|
+
name: string;
|
|
228
|
+
symbol: string;
|
|
229
|
+
decimals: number;
|
|
230
|
+
icon: string | null;
|
|
231
|
+
priceUsd: number | null;
|
|
232
|
+
};
|
|
233
|
+
totalAssets: {
|
|
234
|
+
raw: bigint;
|
|
235
|
+
formatted: string;
|
|
236
|
+
usd: number | null;
|
|
237
|
+
};
|
|
238
|
+
apyInstant: {
|
|
239
|
+
base: number;
|
|
240
|
+
rewards: {
|
|
241
|
+
asset: {
|
|
242
|
+
__typename?: "Token";
|
|
243
|
+
address: `0x${string}`;
|
|
244
|
+
name: string;
|
|
245
|
+
symbol: string;
|
|
246
|
+
decimals: number;
|
|
247
|
+
icon: string | null;
|
|
248
|
+
priceUsd: number | null;
|
|
249
|
+
};
|
|
250
|
+
apr: number;
|
|
251
|
+
}[];
|
|
252
|
+
fee: number;
|
|
253
|
+
total: number;
|
|
254
|
+
};
|
|
255
|
+
apy1d: {
|
|
256
|
+
base: number;
|
|
257
|
+
rewards: {
|
|
258
|
+
asset: {
|
|
259
|
+
__typename?: "Token";
|
|
260
|
+
address: `0x${string}`;
|
|
261
|
+
name: string;
|
|
262
|
+
symbol: string;
|
|
263
|
+
decimals: number;
|
|
264
|
+
icon: string | null;
|
|
265
|
+
priceUsd: number | null;
|
|
266
|
+
};
|
|
267
|
+
apr: number;
|
|
268
|
+
}[];
|
|
269
|
+
fee: number;
|
|
270
|
+
total: number;
|
|
271
|
+
};
|
|
272
|
+
apy7d: {
|
|
273
|
+
base: number;
|
|
274
|
+
rewards: {
|
|
275
|
+
asset: {
|
|
276
|
+
__typename?: "Token";
|
|
277
|
+
address: `0x${string}`;
|
|
278
|
+
name: string;
|
|
279
|
+
symbol: string;
|
|
280
|
+
decimals: number;
|
|
281
|
+
icon: string | null;
|
|
282
|
+
priceUsd: number | null;
|
|
283
|
+
};
|
|
284
|
+
apr: number;
|
|
285
|
+
}[];
|
|
286
|
+
fee: number;
|
|
287
|
+
total: number;
|
|
288
|
+
};
|
|
289
|
+
apy30d: {
|
|
290
|
+
base: number;
|
|
291
|
+
rewards: {
|
|
292
|
+
asset: {
|
|
293
|
+
__typename?: "Token";
|
|
294
|
+
address: `0x${string}`;
|
|
295
|
+
name: string;
|
|
296
|
+
symbol: string;
|
|
297
|
+
decimals: number;
|
|
298
|
+
icon: string | null;
|
|
299
|
+
priceUsd: number | null;
|
|
300
|
+
};
|
|
301
|
+
apr: number;
|
|
302
|
+
}[];
|
|
303
|
+
fee: number;
|
|
304
|
+
total: number;
|
|
305
|
+
};
|
|
306
|
+
riskAssessment: {
|
|
307
|
+
steakhouse: {
|
|
308
|
+
score: number;
|
|
309
|
+
rating: string;
|
|
310
|
+
} | null;
|
|
311
|
+
};
|
|
312
|
+
} | {
|
|
313
|
+
__typename: "MorphoVaultV2";
|
|
314
|
+
chain: {
|
|
315
|
+
id: number;
|
|
316
|
+
name: string;
|
|
317
|
+
icon: string;
|
|
318
|
+
};
|
|
319
|
+
address: `0x${string}`;
|
|
320
|
+
name: string;
|
|
321
|
+
symbol: string;
|
|
322
|
+
decimals: number;
|
|
323
|
+
icon: string | null;
|
|
324
|
+
priceUsd: number | null;
|
|
325
|
+
asset: {
|
|
326
|
+
__typename?: "Token";
|
|
327
|
+
address: `0x${string}`;
|
|
328
|
+
name: string;
|
|
329
|
+
symbol: string;
|
|
330
|
+
decimals: number;
|
|
331
|
+
icon: string | null;
|
|
332
|
+
priceUsd: number | null;
|
|
333
|
+
};
|
|
334
|
+
totalAssets: {
|
|
335
|
+
raw: bigint;
|
|
336
|
+
formatted: string;
|
|
337
|
+
usd: number | null;
|
|
338
|
+
};
|
|
339
|
+
apyInstant: {
|
|
340
|
+
base: number;
|
|
341
|
+
rewards: {
|
|
342
|
+
asset: {
|
|
343
|
+
__typename?: "Token";
|
|
344
|
+
address: `0x${string}`;
|
|
345
|
+
name: string;
|
|
346
|
+
symbol: string;
|
|
347
|
+
decimals: number;
|
|
348
|
+
icon: string | null;
|
|
349
|
+
priceUsd: number | null;
|
|
350
|
+
};
|
|
351
|
+
apr: number;
|
|
352
|
+
}[];
|
|
353
|
+
fee: number;
|
|
354
|
+
total: number;
|
|
355
|
+
};
|
|
356
|
+
apy1d: {
|
|
357
|
+
base: number;
|
|
358
|
+
rewards: {
|
|
359
|
+
asset: {
|
|
360
|
+
__typename?: "Token";
|
|
361
|
+
address: `0x${string}`;
|
|
362
|
+
name: string;
|
|
363
|
+
symbol: string;
|
|
364
|
+
decimals: number;
|
|
365
|
+
icon: string | null;
|
|
366
|
+
priceUsd: number | null;
|
|
367
|
+
};
|
|
368
|
+
apr: number;
|
|
369
|
+
}[];
|
|
370
|
+
fee: number;
|
|
371
|
+
total: number;
|
|
372
|
+
};
|
|
373
|
+
apy7d: {
|
|
374
|
+
base: number;
|
|
375
|
+
rewards: {
|
|
376
|
+
asset: {
|
|
377
|
+
__typename?: "Token";
|
|
378
|
+
address: `0x${string}`;
|
|
379
|
+
name: string;
|
|
380
|
+
symbol: string;
|
|
381
|
+
decimals: number;
|
|
382
|
+
icon: string | null;
|
|
383
|
+
priceUsd: number | null;
|
|
384
|
+
};
|
|
385
|
+
apr: number;
|
|
386
|
+
}[];
|
|
387
|
+
fee: number;
|
|
388
|
+
total: number;
|
|
389
|
+
};
|
|
390
|
+
apy30d: {
|
|
391
|
+
base: number;
|
|
392
|
+
rewards: {
|
|
393
|
+
asset: {
|
|
394
|
+
__typename?: "Token";
|
|
395
|
+
address: `0x${string}`;
|
|
396
|
+
name: string;
|
|
397
|
+
symbol: string;
|
|
398
|
+
decimals: number;
|
|
399
|
+
icon: string | null;
|
|
400
|
+
priceUsd: number | null;
|
|
401
|
+
};
|
|
402
|
+
apr: number;
|
|
403
|
+
}[];
|
|
404
|
+
fee: number;
|
|
405
|
+
total: number;
|
|
406
|
+
};
|
|
407
|
+
riskAssessment: {
|
|
408
|
+
steakhouse: {
|
|
409
|
+
score: number;
|
|
410
|
+
rating: string;
|
|
411
|
+
} | null;
|
|
412
|
+
};
|
|
413
|
+
} | null)[];
|
|
414
|
+
};
|
|
415
|
+
}, {
|
|
416
|
+
keys: {
|
|
417
|
+
protocol: "generic" | "morpho_v1" | "morpho_v2" | "box";
|
|
418
|
+
vaultAddress: `0x${string}`;
|
|
419
|
+
chainId: number;
|
|
420
|
+
}[];
|
|
421
|
+
}, void>;
|
|
422
|
+
type VaultItem = NonNullable<ResultOf<typeof vaultsQuery>["erc4626Vaults"]["items"][number]>;
|
|
423
|
+
type SteakhouseVaultSummary = Prettify<VaultItem & {
|
|
424
|
+
strategy: VaultConfig["strategy"];
|
|
425
|
+
isListed: boolean;
|
|
426
|
+
}>;
|
|
427
|
+
declare function getVaults(client: WhiskClient): Promise<SteakhouseVaultSummary[]>;
|
|
428
|
+
|
|
429
|
+
export { type SteakhouseVaultSummary, getVaults };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { graphql } from "@whisk/graphql";
|
|
2
|
+
import { STEAKHOUSE_VAULTS } from "../metadata/generated/vaults.js";
|
|
3
|
+
import { vaultSummaryFragment } from "./fragments.js";
|
|
4
|
+
const vaultsQuery = graphql(
|
|
5
|
+
`
|
|
6
|
+
query GetSteakhouseVaults($keys: [Erc4626VaultKey!]!) {
|
|
7
|
+
erc4626Vaults(where: { keys: $keys }) {
|
|
8
|
+
items {
|
|
9
|
+
...VaultSummaryFields
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
`,
|
|
14
|
+
[vaultSummaryFragment]
|
|
15
|
+
);
|
|
16
|
+
async function getVaults(client) {
|
|
17
|
+
const configs = STEAKHOUSE_VAULTS;
|
|
18
|
+
const keys = configs.map((v) => ({
|
|
19
|
+
chainId: v.chainId,
|
|
20
|
+
vaultAddress: v.address,
|
|
21
|
+
protocol: v.protocol
|
|
22
|
+
}));
|
|
23
|
+
const result = await client.query(vaultsQuery, { keys });
|
|
24
|
+
const configByChainAndAddress = new Map(
|
|
25
|
+
configs.map((v) => [`${v.chainId}:${v.address.toLowerCase()}`, v])
|
|
26
|
+
);
|
|
27
|
+
const vaults = [];
|
|
28
|
+
for (const item of result.erc4626Vaults.items) {
|
|
29
|
+
if (!item) continue;
|
|
30
|
+
const config = configByChainAndAddress.get(`${item.chain.id}:${item.address.toLowerCase()}`);
|
|
31
|
+
if (!config) {
|
|
32
|
+
console.warn(
|
|
33
|
+
`[getVaults] Vault ${item.address} on chain ${item.chain.id} has no matching config, skipping`
|
|
34
|
+
);
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
vaults.push({
|
|
38
|
+
...item,
|
|
39
|
+
name: config.name ?? item.name,
|
|
40
|
+
strategy: config.strategy,
|
|
41
|
+
isListed: config.isListed
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return vaults;
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
getVaults
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=getVaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/queries/getVaults.ts"],"sourcesContent":["import { graphql, type ResultOf } from \"@whisk/graphql\"\nimport type { SteakhouseClient } from \"../client.js\"\nimport { STEAKHOUSE_VAULTS } from \"../metadata/generated/vaults.js\"\nimport type { VaultConfig } from \"../metadata/types.js\"\nimport { type Prettify, vaultSummaryFragment } from \"./fragments.js\"\n\nconst vaultsQuery = graphql(\n `\n query GetSteakhouseVaults($keys: [Erc4626VaultKey!]!) {\n erc4626Vaults(where: { keys: $keys }) {\n items {\n ...VaultSummaryFields\n }\n }\n }\n`,\n [vaultSummaryFragment],\n)\n\ntype VaultItem = NonNullable<ResultOf<typeof vaultsQuery>[\"erc4626Vaults\"][\"items\"][number]>\n\nexport type SteakhouseVaultSummary = Prettify<\n VaultItem & {\n strategy: VaultConfig[\"strategy\"]\n isListed: boolean\n }\n>\n\nexport async function getVaults(client: SteakhouseClient): Promise<SteakhouseVaultSummary[]> {\n const configs = STEAKHOUSE_VAULTS\n\n const keys = configs.map((v) => ({\n chainId: v.chainId,\n vaultAddress: v.address,\n protocol: v.protocol,\n }))\n\n const result = await client.query(vaultsQuery, { keys })\n\n const configByChainAndAddress = new Map(\n configs.map((v) => [`${v.chainId}:${v.address.toLowerCase()}`, v]),\n )\n\n const vaults: SteakhouseVaultSummary[] = []\n for (const item of result.erc4626Vaults.items) {\n if (!item) continue\n const config = configByChainAndAddress.get(`${item.chain.id}:${item.address.toLowerCase()}`)\n if (!config) {\n console.warn(\n `[getVaults] Vault ${item.address} on chain ${item.chain.id} has no matching config, skipping`,\n )\n continue\n }\n\n vaults.push({\n ...item,\n name: config.name ?? item.name,\n strategy: config.strategy,\n isListed: config.isListed,\n })\n }\n\n return vaults\n}\n"],"mappings":"AAAA,SAAS,eAA8B;AAEvC,SAAS,yBAAyB;AAElC,SAAwB,4BAA4B;AAEpD,MAAM,cAAc;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,CAAC,oBAAoB;AACvB;AAWA,eAAsB,UAAU,QAA6D;AAC3F,QAAM,UAAU;AAEhB,QAAM,OAAO,QAAQ,IAAI,CAAC,OAAO;AAAA,IAC/B,SAAS,EAAE;AAAA,IACX,cAAc,EAAE;AAAA,IAChB,UAAU,EAAE;AAAA,EACd,EAAE;AAEF,QAAM,SAAS,MAAM,OAAO,MAAM,aAAa,EAAE,KAAK,CAAC;AAEvD,QAAM,0BAA0B,IAAI;AAAA,IAClC,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,QAAQ,YAAY,CAAC,IAAI,CAAC,CAAC;AAAA,EACnE;AAEA,QAAM,SAAmC,CAAC;AAC1C,aAAW,QAAQ,OAAO,cAAc,OAAO;AAC7C,QAAI,CAAC,KAAM;AACX,UAAM,SAAS,wBAAwB,IAAI,GAAG,KAAK,MAAM,EAAE,IAAI,KAAK,QAAQ,YAAY,CAAC,EAAE;AAC3F,QAAI,CAAC,QAAQ;AACX,cAAQ;AAAA,QACN,qBAAqB,KAAK,OAAO,aAAa,KAAK,MAAM,EAAE;AAAA,MAC7D;AACA;AAAA,IACF;AAEA,WAAO,KAAK;AAAA,MACV,GAAG;AAAA,MACH,MAAM,OAAO,QAAQ,KAAK;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,UAAU,OAAO;AAAA,IACnB,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}
|
package/dist/queries/index.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export { GetStatsResultWithHistorical, GetStatsResultWithoutHistorical, getStats } from './getStats.js';
|
|
2
|
+
export { GetVaultVariables, SteakhouseVaultDetail, getVault } from './getVault.js';
|
|
3
|
+
export { GetVaultHistoryVariables, SteakhouseVaultHistory, getVaultHistory } from './getVaultHistory.js';
|
|
4
|
+
export { SteakhouseVaultSummary, getVaults } from './getVaults.js';
|
|
2
5
|
import '@whisk/client';
|
|
3
6
|
import 'gql.tada';
|
|
4
7
|
import '@whisk/graphql';
|
|
8
|
+
import '../metadata/types.js';
|
|
9
|
+
import './fragments.js';
|
package/dist/queries/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queries/index.ts"],"sourcesContent":["export * from \"./getStats.js\"\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/queries/index.ts"],"sourcesContent":["export * from \"./getStats.js\"\nexport * from \"./getVault.js\"\nexport * from \"./getVaultHistory.js\"\nexport * from \"./getVaults.js\"\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
package/package.json
CHANGED
|
@@ -287,7 +287,7 @@ export const STEAKHOUSE_VAULTS: readonly VaultConfig[] = [
|
|
|
287
287
|
address: "0xBEEFF0DeaC1aBa71EF0D88C4291354eb92ef4589",
|
|
288
288
|
protocol: "morpho_v2",
|
|
289
289
|
name: "AUSD High Yield Term",
|
|
290
|
-
description: "****Agora USD****\n\nAUSD is a stablecoin issued by [Agora](https://www.agora.finance/product/ausd) with reserves custodied by State Street and managed by VanEck.\n\nAUSD Term is a first-of-its kind noncustodial vault allowing AUSD holders to access term-locked strategies with a fixed maturity, through the Morpho v2 construct with our custom adapters.\n\n****Term-locked strategy****\n\nTerm vaults ([docs](https://www.steakhouse.financial/docs/products/vault-products/current/term)) target a 10% liquidity rate held in repo and the remainder programmatically allocated to a simple buy-and-hold strategy of collateral assets with a fixed maturity, such as PT rolling strategies.\n\nTerm collateral includes, for example, Pendle PT tokens held to maturity. The collateral selected fits our [risk framework](https://www.steakhouse.financial/docs/risk-management) to mitigate solvency risks.\n\nPositions are intended to be held for an extended period (>30 days) to avoid slippage from swapping into positions from diluting the NAV.\n\nUses [Steakhouse Box](https://www.steakhouse.financial/docs/products/infrastructure/box-vaults) custom adapters to extend the noncustodial features of Morpho v2 vaults to additional strategies beyond borrow/lend. Position constraints are encoded onchain in the Box adapter permissions. As this vault does not use the Morpho adapter registry, it is not available on the Morpho frontend.\n\nUsers are advised Term vaults are significantly less liquid than repo vaults and face possibility of loss.",
|
|
290
|
+
description: "****Agora USD****\n\nAUSD is a stablecoin issued by [Agora](https://www.agora.finance/product/ausd) with reserves custodied by State Street and managed by VanEck.\n\nAUSD Term is a first-of-its kind noncustodial vault allowing AUSD holders to access term-locked strategies with a fixed maturity, through the Morpho v2 construct with our custom adapters.\n\n****Term-locked strategy****\n\nTerm vaults ([docs](https://www.steakhouse.financial/docs/products/vault-products/current/high-yield-term)) target a 10% liquidity rate held in repo and the remainder programmatically allocated to a simple buy-and-hold strategy of collateral assets with a fixed maturity, such as PT rolling strategies.\n\nTerm collateral includes, for example, Pendle PT tokens held to maturity. The collateral selected fits our [risk framework](https://www.steakhouse.financial/docs/risk-management) to mitigate solvency risks.\n\nPositions are intended to be held for an extended period (>30 days) to avoid slippage from swapping into positions from diluting the NAV.\n\nUses [Steakhouse Box](https://www.steakhouse.financial/docs/products/infrastructure/box-vaults) custom adapters to extend the noncustodial features of Morpho v2 vaults to additional strategies beyond borrow/lend. Position constraints are encoded onchain in the Box adapter permissions. As this vault does not use the Morpho adapter registry, it is not available on the Morpho frontend.\n\nUsers are advised Term vaults are significantly less liquid than repo vaults and face possibility of loss.",
|
|
291
291
|
strategy: "Term",
|
|
292
292
|
isListed: true,
|
|
293
293
|
},
|
|
@@ -497,7 +497,7 @@ export const STEAKHOUSE_VAULTS: readonly VaultConfig[] = [
|
|
|
497
497
|
address: "0xBEEFFFC57A26fD8D3b693Ba025ead597DbECEBfe",
|
|
498
498
|
protocol: "morpho_v2",
|
|
499
499
|
name: "USDC High Yield Term",
|
|
500
|
-
description: "**Term-locked strategy**\n\nTerm vaults ([docs](https://www.steakhouse.financial/docs/products/vault-products/current/term)) target a 10% liquidity rate held in repo and the remainder programmatically allocated to a simple buy-and-hold strategy of collateral assets with a fixed maturity, such as PT rolling strategies.\n\nTerm collateral includes, for example, Pendle PT tokens held to maturity. The collateral selected fits our [risk framework](https://www.steakhouse.financial/docs/risk-management) to mitigate solvency risks.\n\nPositions are intended to be held for an extended period (>30 days) to avoid slippage from swapping into positions from diluting the NAV.\n\nUses [Steakhouse Box](https://www.steakhouse.financial/docs/products/infrastructure/box-vaults) custom adapters to extend the noncustodial features of Morpho v2 vaults to additional strategies beyond borrow/lend. As this vault does not use the Morpho adapter registry, it is not available on the Morpho frontend.",
|
|
500
|
+
description: "**Term-locked strategy**\n\nTerm vaults ([docs](https://www.steakhouse.financial/docs/products/vault-products/current/high-yield-term)) target a 10% liquidity rate held in repo and the remainder programmatically allocated to a simple buy-and-hold strategy of collateral assets with a fixed maturity, such as PT rolling strategies.\n\nTerm collateral includes, for example, Pendle PT tokens held to maturity. The collateral selected fits our [risk framework](https://www.steakhouse.financial/docs/risk-management) to mitigate solvency risks.\n\nPositions are intended to be held for an extended period (>30 days) to avoid slippage from swapping into positions from diluting the NAV.\n\nUses [Steakhouse Box](https://www.steakhouse.financial/docs/products/infrastructure/box-vaults) custom adapters to extend the noncustodial features of Morpho v2 vaults to additional strategies beyond borrow/lend. As this vault does not use the Morpho adapter registry, it is not available on the Morpho frontend.",
|
|
501
501
|
strategy: "Term",
|
|
502
502
|
isListed: false,
|
|
503
503
|
},
|
|
@@ -16,7 +16,7 @@ AUSD Term is a first-of-its kind noncustodial vault allowing AUSD holders to acc
|
|
|
16
16
|
|
|
17
17
|
****Term-locked strategy****
|
|
18
18
|
|
|
19
|
-
Term vaults ([docs](https://www.steakhouse.financial/docs/products/vault-products/current/term)) target a 10% liquidity rate held in repo and the remainder programmatically allocated to a simple buy-and-hold strategy of collateral assets with a fixed maturity, such as PT rolling strategies.
|
|
19
|
+
Term vaults ([docs](https://www.steakhouse.financial/docs/products/vault-products/current/high-yield-term)) target a 10% liquidity rate held in repo and the remainder programmatically allocated to a simple buy-and-hold strategy of collateral assets with a fixed maturity, such as PT rolling strategies.
|
|
20
20
|
|
|
21
21
|
Term collateral includes, for example, Pendle PT tokens held to maturity. The collateral selected fits our [risk framework](https://www.steakhouse.financial/docs/risk-management) to mitigate solvency risks.
|
|
22
22
|
|
|
@@ -9,7 +9,7 @@ isListed: false
|
|
|
9
9
|
|
|
10
10
|
**Term-locked strategy**
|
|
11
11
|
|
|
12
|
-
Term vaults ([docs](https://www.steakhouse.financial/docs/products/vault-products/current/term)) target a 10% liquidity rate held in repo and the remainder programmatically allocated to a simple buy-and-hold strategy of collateral assets with a fixed maturity, such as PT rolling strategies.
|
|
12
|
+
Term vaults ([docs](https://www.steakhouse.financial/docs/products/vault-products/current/high-yield-term)) target a 10% liquidity rate held in repo and the remainder programmatically allocated to a simple buy-and-hold strategy of collateral assets with a fixed maturity, such as PT rolling strategies.
|
|
13
13
|
|
|
14
14
|
Term collateral includes, for example, Pendle PT tokens held to maturity. The collateral selected fits our [risk framework](https://www.steakhouse.financial/docs/risk-management) to mitigate solvency risks.
|
|
15
15
|
|