@whisk/graphql 0.0.14 → 0.0.16

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.
@@ -0,0 +1,819 @@
1
+ type Query {
2
+ aeraVaults(where: AeraVaultFilter, before: String, after: String, limit: Int): AeraVaultPage!
3
+ aeraVaultPositions(where: AeraVaultPositionFilter!, before: String, after: String, limit: Int): AeraVaultPositionPage!
4
+ chains(where: ChainFilter): [Chain!]!
5
+ tokens(inputs: [TokenInput!]!): [Token]!
6
+ tokenHoldings(inputs: [TokenHoldingInput!]!): [TokenHolding]!
7
+ erc4626Vaults(where: Erc4626VaultFilter, before: String, after: String, limit: Int): Erc4626VaultPage!
8
+ erc4626VaultPositions(where: Erc4626VaultPositionFilter, before: String, after: String, limit: Int): Erc4626VaultPositionPage!
9
+ identity(address: Address!, resolverOrder: [IdentityResolver!]): Identity
10
+ identities(addresses: [Address!]!, resolverOrder: [IdentityResolver!]): [Identity!]!
11
+ merklAccountRewards(chainId: ChainId!, accountAddress: Address!): [MerklAccountReward!]!
12
+ morphoMarkets(where: MorphoMarketFilter, before: String, after: String, limit: Int): MorphoMarketPage!
13
+ morphoVaults(where: MorphoVaultFilter, before: String, after: String, limit: Int): MorphoVaultPage!
14
+ morphoMarketPositions(where: MorphoMarketPositionFilter!, before: String, after: String, limit: Int): MorphoMarketPositionPage!
15
+ morphoVaultPositions(where: MorphoVaultPositionFilter!, before: String, after: String, limit: Int): MorphoVaultPositionPage!
16
+ steakhouseTvl: SteakhouseTvl! @deprecated(reason: "Schema is subject to change, not yet stable")
17
+ vaults(inputs: [VaultInput!]!): [Vault]!
18
+ }
19
+
20
+ input AeraVaultFilter {
21
+ chainId_in: [ChainId!]
22
+ vaultAddress_in: [Address!]
23
+ }
24
+
25
+ input AeraVaultPositionFilter {
26
+ chainId_in: [ChainId!]
27
+ vaultAddress_in: [Address!]
28
+ accountAddress_in: [Address!]
29
+ }
30
+
31
+ type AeraVaultPage {
32
+ items: [AeraVault]!
33
+ pageInfo: PageInfo!
34
+ totalCount: Int!
35
+ }
36
+
37
+ type AeraVaultPositionPage {
38
+ items: [AeraVaultPosition]!
39
+ pageInfo: PageInfo!
40
+ totalCount: Int!
41
+ }
42
+
43
+ type AeraVault {
44
+ chain: Chain!
45
+ vaultAddress: Address!
46
+ name: String!
47
+ totalSupplied: TokenAmount!
48
+ supplyApy1d: Apy!
49
+ supplyApy7d: Apy!
50
+ supplyApy30d: Apy!
51
+ isPaused: Boolean!
52
+ numeraireAsset: Token!
53
+ performanceFee: OnchainAmount!
54
+ managementFee: OnchainAmount!
55
+ }
56
+
57
+ type AeraVaultPosition {
58
+ vault: AeraVault!
59
+ accountAddress: Address!
60
+ supplyShares: OnchainAmount!
61
+ supplyAmount: TokenAmount!
62
+ hasPendingDeposit: Boolean!
63
+ hasPendingWithdrawal: Boolean!
64
+ pendingDeposits: [AeraPendingAction!]!
65
+ pendingWithdrawals: [AeraPendingAction!]!
66
+ }
67
+
68
+ type AeraPendingAction {
69
+ hash: Hex!
70
+ token: Token!
71
+ amount: TokenAmount!
72
+ }
73
+
74
+ scalar BigInt
75
+
76
+ scalar URL
77
+
78
+ scalar Hex
79
+
80
+ scalar Address
81
+
82
+ scalar ChainId
83
+
84
+ type OnchainAmount {
85
+ raw: BigInt!
86
+ formatted: String!
87
+ }
88
+
89
+ type PageInfo {
90
+ hasNextPage: Boolean!
91
+ hasPreviousPage: Boolean!
92
+ startCursor: String
93
+ endCursor: String
94
+ }
95
+
96
+ type Reward {
97
+ asset: Token!
98
+ apr: Float!
99
+ }
100
+
101
+ enum ApySide {
102
+ Supply
103
+ Borrow
104
+ }
105
+
106
+ type TimeSeriesPoint {
107
+ timestamp: Int!
108
+ value: Float!
109
+ }
110
+
111
+ type Apy {
112
+ side: ApySide!
113
+ base: Float!
114
+ rewards: [Reward!]!
115
+ fee: Float!
116
+ total: Float!
117
+ }
118
+
119
+ type BoxVault implements Erc4626Vault & Erc20 {
120
+ chain: Chain!
121
+ address: Address!
122
+ name: String!
123
+ symbol: String!
124
+ decimals: Int!
125
+ icon: URL
126
+ priceUsd: Float
127
+ category: TokenCategory
128
+ riskAssessment: RiskAssessment!
129
+ yield: YieldInfo
130
+ vaultAddress: Address! @deprecated(reason: "Use address instead")
131
+ asset: Token!
132
+ totalAssets: TokenAmount!
133
+ apy(timeframe: ApyTimeframe!): Apy!
134
+ historical: Erc4626VaultHistorical
135
+ allocations: [TokenHolding!]! @deprecated(reason: "Schema is subject to change, not yet stable")
136
+ fundingModules: [BoxFundingModule!]! @deprecated(reason: "Schema is subject to change, not yet stable")
137
+ }
138
+
139
+ interface BoxFundingModule {
140
+ fundingModuleAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
141
+ collateralHoldings: [TokenHolding!]! @deprecated(reason: "Schema is subject to change, not yet stable")
142
+ debtHoldings: [TokenHolding!]! @deprecated(reason: "Schema is subject to change, not yet stable")
143
+ nav: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
144
+ }
145
+
146
+ type BoxMorphoFundingModule implements BoxFundingModule {
147
+ fundingModuleAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
148
+ collateralHoldings: [TokenHolding!]! @deprecated(reason: "Schema is subject to change, not yet stable")
149
+ debtHoldings: [TokenHolding!]! @deprecated(reason: "Schema is subject to change, not yet stable")
150
+ nav: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
151
+ positions: [MorphoMarketPosition!]! @deprecated(reason: "Schema is subject to change, not yet stable")
152
+ }
153
+
154
+ type BoxUnknownFundingModule implements BoxFundingModule {
155
+ fundingModuleAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
156
+ collateralHoldings: [TokenHolding!]! @deprecated(reason: "Schema is subject to change, not yet stable")
157
+ debtHoldings: [TokenHolding!]! @deprecated(reason: "Schema is subject to change, not yet stable")
158
+ nav: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
159
+ }
160
+
161
+ input ChainFilter {
162
+ chainId_in: [ChainId!]
163
+ }
164
+
165
+ type Chain {
166
+ id: ChainId!
167
+ name: String!
168
+ icon: URL!
169
+ nativeToken: Token!
170
+ wrappedNativeToken: Token!
171
+ }
172
+
173
+ type YieldInfo {
174
+ intrinsicApy: Float!
175
+ trailingPeriod: Int
176
+ maturity: Int
177
+ }
178
+
179
+ interface Erc20 {
180
+ chain: Chain!
181
+ address: Address!
182
+ name: String!
183
+ symbol: String!
184
+ decimals: Int!
185
+ icon: URL
186
+ priceUsd: Float
187
+ category: TokenCategory
188
+ riskAssessment: RiskAssessment!
189
+ yield: YieldInfo
190
+ }
191
+
192
+ input TokenInput {
193
+ chainId: ChainId!
194
+ tokenAddress: Address!
195
+ }
196
+
197
+ enum TokenCategory {
198
+ Stable
199
+ Eth
200
+ Btc
201
+ }
202
+
203
+ type Token implements Erc20 {
204
+ chain: Chain!
205
+ address: Address!
206
+ name: String!
207
+ symbol: String!
208
+ decimals: Int!
209
+ icon: URL
210
+ category: TokenCategory
211
+ priceUsd: Float
212
+ riskAssessment: RiskAssessment!
213
+ yield: YieldInfo
214
+ }
215
+
216
+ type TokenAmount {
217
+ raw: BigInt!
218
+ formatted: String!
219
+ usd: Float
220
+ }
221
+
222
+ input TokenHoldingInput {
223
+ chainId: ChainId!
224
+ tokenAddress: Address!
225
+ accountAddress: Address!
226
+ }
227
+
228
+ type TokenHolding {
229
+ token: Erc20!
230
+ accountAddress: Address!
231
+ balance: TokenAmount!
232
+ }
233
+
234
+ enum Erc4626VaultProtocol {
235
+ generic
236
+ morpho_v1
237
+ morpho_v2
238
+ box
239
+ }
240
+
241
+ input Erc4626VaultKey {
242
+ chainId: ChainId!
243
+ vaultAddress: Address!
244
+ protocol: Erc4626VaultProtocol!
245
+ }
246
+
247
+ input Erc4626VaultFilter {
248
+ keys: [Erc4626VaultKey!]
249
+ }
250
+
251
+ type Erc4626VaultPage {
252
+ items: [Erc4626Vault]!
253
+ pageInfo: PageInfo!
254
+ totalCount: Int!
255
+ }
256
+
257
+ input Erc4626VaultPositionFilter {
258
+ keys: [Erc4626VaultPositionKey!]
259
+ }
260
+
261
+ input Erc4626VaultPositionKey {
262
+ chainId: ChainId!
263
+ vaultAddress: Address!
264
+ protocol: Erc4626VaultProtocol!
265
+ accountAddress: Address!
266
+ }
267
+
268
+ type Erc4626VaultPositionPage {
269
+ items: [Erc4626VaultPosition]!
270
+ pageInfo: PageInfo!
271
+ totalCount: Int!
272
+ }
273
+
274
+ enum ApyTimeframe {
275
+ six_hours
276
+ one_day
277
+ seven_days
278
+ thirty_days
279
+ }
280
+
281
+ interface Erc4626VaultHistorical {
282
+ returns: [TimeSeriesPoint!]
283
+ }
284
+
285
+ type GenericErc4626VaultHistorical implements Erc4626VaultHistorical {
286
+ returns: [TimeSeriesPoint!]
287
+ }
288
+
289
+ interface Erc4626Vault implements Erc20 {
290
+ chain: Chain!
291
+ address: Address!
292
+ name: String!
293
+ symbol: String!
294
+ decimals: Int!
295
+ icon: URL
296
+ priceUsd: Float
297
+ category: TokenCategory
298
+ riskAssessment: RiskAssessment!
299
+ yield: YieldInfo
300
+ vaultAddress: Address! @deprecated(reason: "Use address instead")
301
+ asset: Token!
302
+ totalAssets: TokenAmount!
303
+ apy(timeframe: ApyTimeframe!): Apy!
304
+ historical: Erc4626VaultHistorical
305
+ }
306
+
307
+ type GenericErc4626Vault implements Erc4626Vault & Erc20 {
308
+ chain: Chain!
309
+ address: Address!
310
+ name: String!
311
+ symbol: String!
312
+ decimals: Int!
313
+ icon: URL
314
+ priceUsd: Float
315
+ category: TokenCategory
316
+ riskAssessment: RiskAssessment!
317
+ yield: YieldInfo
318
+ vaultAddress: Address! @deprecated(reason: "Use address instead")
319
+ asset: Token!
320
+ totalAssets: TokenAmount!
321
+ apy(timeframe: ApyTimeframe!): Apy!
322
+ historical: Erc4626VaultHistorical
323
+ }
324
+
325
+ interface Erc4626VaultPosition {
326
+ vault: Erc4626Vault!
327
+ accountAddress: Address!
328
+ shares: OnchainAmount!
329
+ assets: TokenAmount!
330
+ walletAssetHolding: TokenHolding!
331
+ }
332
+
333
+ type GenericErc4626VaultPosition implements Erc4626VaultPosition {
334
+ vault: Erc4626Vault!
335
+ accountAddress: Address!
336
+ shares: OnchainAmount!
337
+ assets: TokenAmount!
338
+ walletAssetHolding: TokenHolding!
339
+ }
340
+
341
+ enum IdentityResolver {
342
+ ens
343
+ farcaster
344
+ nns
345
+ base
346
+ uni
347
+ lens
348
+ world
349
+ }
350
+
351
+ type Identity {
352
+ aggregate: IdentityResolverOutput!
353
+ isOfacSanctioned: Boolean!
354
+ ens: IdentityResolverOutput!
355
+ farcaster: IdentityResolverOutput!
356
+ nns: IdentityResolverOutput!
357
+ base: IdentityResolverOutput!
358
+ uni: IdentityResolverOutput!
359
+ lens: IdentityResolverOutput!
360
+ world: IdentityResolverOutput!
361
+ }
362
+
363
+ type IdentityResolverOutput {
364
+ name: String
365
+ avatar: String
366
+ bio: String
367
+ website: String
368
+ x: String
369
+ github: String
370
+ discord: String
371
+ telegram: String
372
+ }
373
+
374
+ enum MerklAction {
375
+ Lend
376
+ Borrow
377
+ }
378
+
379
+ input MerklRewardInput {
380
+ chainId: ChainId!
381
+ mainProtocolId: String!
382
+ identifier: String!
383
+ action: MerklAction
384
+ }
385
+
386
+ type MerklAccountReward {
387
+ token: Token!
388
+ creditedAmount: TokenAmount!
389
+ claimableAmount: TokenAmount!
390
+ pendingAmount: TokenAmount!
391
+ proofs: [Hex!]!
392
+ distributorAddress: Address!
393
+ }
394
+
395
+ input MorphoVaultFilter {
396
+ chainId_in: [ChainId!]
397
+ vaultAddress_in: [Address!]
398
+ whitelisted: Boolean
399
+ }
400
+
401
+ type MorphoVaultPage {
402
+ items: [MorphoVault]!
403
+ pageInfo: PageInfo!
404
+ totalCount: Int!
405
+ }
406
+
407
+ type MorphoVault implements Erc4626Vault & Erc20 {
408
+ chain: Chain!
409
+ address: Address!
410
+ name: String!
411
+ symbol: String!
412
+ decimals: Int!
413
+ icon: URL
414
+ priceUsd: Float
415
+ category: TokenCategory
416
+ riskAssessment: RiskAssessment!
417
+ yield: YieldInfo
418
+ vaultAddress: Address! @deprecated(reason: "Use address instead")
419
+ asset: Token!
420
+ totalAssets: TokenAmount!
421
+ apy(timeframe: ApyTimeframe!): Apy!
422
+ metadata: MorphoVaultMetadata
423
+ performanceFee: Float!
424
+ feeRecipientAddress: Address
425
+ ownerAddress: Address!
426
+ curatorAddress: Address!
427
+ guardianAddress: Address!
428
+ totalLiquidity: TokenAmount!
429
+ marketAllocations: [MorphoVaultMarketAllocation!]!
430
+ historical: MorphoVaultHistorical
431
+ deploymentTimestamp: Int
432
+ timelockDuration: BigInt!
433
+ totalSupplied: TokenAmount! @deprecated(reason: "Use totalAssets instead")
434
+ supplyApy: Apy! @deprecated(reason: "Use apy(timeframe: one_day) instead")
435
+ supplyApy1d: Apy! @deprecated(reason: "Use apy(timeframe: one_day) instead")
436
+ supplyApy7d: Apy! @deprecated(reason: "Use apy(timeframe: seven_days) instead")
437
+ supplyApy30d: Apy! @deprecated(reason: "Use apy(timeframe: thirty_days) instead")
438
+ }
439
+
440
+ type MorphoVaultV2 implements Erc4626Vault & Erc20 {
441
+ chain: Chain!
442
+ address: Address!
443
+ name: String!
444
+ symbol: String!
445
+ decimals: Int!
446
+ icon: URL
447
+ priceUsd: Float
448
+ category: TokenCategory
449
+ riskAssessment: RiskAssessment!
450
+ yield: YieldInfo
451
+ vaultAddress: Address! @deprecated(reason: "Use address instead")
452
+ asset: Token!
453
+ totalAssets: TokenAmount!
454
+ apy(timeframe: ApyTimeframe!): Apy!
455
+ idleAssets: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
456
+ liquidityAssets: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
457
+ metadata: MorphoVaultMetadata @deprecated(reason: "Schema is subject to change, not yet stable")
458
+ ownerAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
459
+ curatorAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
460
+ performanceFee: OnchainAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
461
+ performanceFeeRecipientAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
462
+ managementFee: OnchainAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
463
+ managementFeeRecipientAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
464
+ allocatorAddresses: [Address!] @deprecated(reason: "Schema is subject to change, not yet stable")
465
+ sentinelAddresses: [Address!] @deprecated(reason: "Schema is subject to change, not yet stable")
466
+ allocations: [Adapter!]!
467
+ adapters: [Adapter!]! @deprecated(reason: "Use allocations instead")
468
+ caps: [Cap!] @deprecated(reason: "Schema is subject to change, not yet stable")
469
+ liquidityAdapterAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
470
+ receiveSharesGateAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
471
+ sendSharesGateAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
472
+ receiveAssetsGateAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
473
+ sendAssetsGateAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
474
+ historical: MorphoVaultHistorical
475
+ deploymentTimestamp: Int @deprecated(reason: "Schema is subject to change, not yet stable")
476
+ nav: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
477
+ }
478
+
479
+ interface Adapter {
480
+ adapterAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
481
+ adapterCap: AdapterCap @deprecated(reason: "Schema is subject to change, not yet stable")
482
+ name: String
483
+ riskAssessment: RiskAssessment!
484
+ }
485
+
486
+ type MarketV1Adapter implements Adapter {
487
+ adapterAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
488
+ adapterCap: AdapterCap @deprecated(reason: "Schema is subject to change, not yet stable")
489
+ name: String @deprecated(reason: "Schema is subject to change, not yet stable")
490
+ riskAssessment: RiskAssessment!
491
+ marketCaps: [MarketV1ExposureCap!]! @deprecated(reason: "Schema is subject to change, not yet stable")
492
+ }
493
+
494
+ type VaultV1Adapter implements Adapter {
495
+ adapterAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
496
+ adapterCap: AdapterCap @deprecated(reason: "Schema is subject to change, not yet stable")
497
+ name: String @deprecated(reason: "Schema is subject to change, not yet stable")
498
+ riskAssessment: RiskAssessment!
499
+ vault: MorphoVault @deprecated(reason: "Schema is subject to change, not yet stable")
500
+ }
501
+
502
+ type BoxVaultAdapter implements Adapter {
503
+ adapterAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
504
+ adapterCap: AdapterCap @deprecated(reason: "Schema is subject to change, not yet stable")
505
+ name: String @deprecated(reason: "Schema is subject to change, not yet stable")
506
+ riskAssessment: RiskAssessment!
507
+ vault: BoxVault @deprecated(reason: "Schema is subject to change, not yet stable")
508
+ }
509
+
510
+ type Erc4626VaultAdapter implements Adapter {
511
+ adapterAddress: Address!
512
+ adapterCap: AdapterCap
513
+ name: String
514
+ riskAssessment: RiskAssessment!
515
+ vault: Erc4626Vault
516
+ }
517
+
518
+ type UnknownAdapter implements Adapter {
519
+ adapterAddress: Address! @deprecated(reason: "Schema is subject to change, not yet stable")
520
+ adapterCap: AdapterCap @deprecated(reason: "Schema is subject to change, not yet stable")
521
+ name: String @deprecated(reason: "Schema is subject to change, not yet stable")
522
+ riskAssessment: RiskAssessment!
523
+ }
524
+
525
+ interface Cap {
526
+ capId: Hex! @deprecated(reason: "Schema is subject to change, not yet stable")
527
+ allocation: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
528
+ absoluteCap: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
529
+ relativeCap: OnchainAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
530
+ }
531
+
532
+ type AdapterCap implements Cap {
533
+ capId: Hex! @deprecated(reason: "Schema is subject to change, not yet stable")
534
+ allocation: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
535
+ absoluteCap: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
536
+ relativeCap: OnchainAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
537
+ }
538
+
539
+ type MarketV1ExposureCap implements Cap {
540
+ capId: Hex! @deprecated(reason: "Schema is subject to change, not yet stable")
541
+ allocation: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
542
+ absoluteCap: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
543
+ relativeCap: OnchainAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
544
+ market: MorphoMarket! @deprecated(reason: "Schema is subject to change, not yet stable")
545
+ }
546
+
547
+ type CollateralExposureCap implements Cap {
548
+ capId: Hex! @deprecated(reason: "Schema is subject to change, not yet stable")
549
+ allocation: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
550
+ absoluteCap: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
551
+ relativeCap: OnchainAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
552
+ collateralToken: Token! @deprecated(reason: "Schema is subject to change, not yet stable")
553
+ }
554
+
555
+ type UnknownCap implements Cap {
556
+ capId: Hex! @deprecated(reason: "Schema is subject to change, not yet stable")
557
+ allocation: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
558
+ absoluteCap: TokenAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
559
+ relativeCap: OnchainAmount! @deprecated(reason: "Schema is subject to change, not yet stable")
560
+ }
561
+
562
+ type Curator {
563
+ name: String!
564
+ image: String!
565
+ url: String!
566
+ }
567
+
568
+ type MorphoVaultMetadata {
569
+ description: String
570
+ image: String
571
+ curator: Curator
572
+ forumLink: String @deprecated(reason: "Hourly data is currently not supported, and will return an empty array. Use daily or weekly instead.")
573
+ curators: [Curator!]! @deprecated(reason: "Use curator field instead.")
574
+ }
575
+
576
+ type MorphoVaultHistoricalEntry {
577
+ bucketTimestamp: Int!
578
+ totalSupplied: TokenAmount!
579
+ supplyApy6h: Apy!
580
+ supplyApy1d: Apy!
581
+ supplyApy7d: Apy!
582
+ supplyApy30d: Apy!
583
+ }
584
+
585
+ type MorphoVaultHistorical implements Erc4626VaultHistorical {
586
+ returns: [TimeSeriesPoint!]
587
+ hourly: [MorphoVaultHistoricalEntry!]! @deprecated(reason: "Hourly data is currently not supported, and will return an empty array. Use daily or weekly instead.")
588
+ daily: [MorphoVaultHistoricalEntry!]!
589
+ weekly: [MorphoVaultHistoricalEntry!]!
590
+ }
591
+
592
+ input MorphoMarketFilter {
593
+ chainId_in: [ChainId!]
594
+ marketId_in: [Hex!]
595
+ whitelisted: Boolean
596
+ }
597
+
598
+ type MorphoMarketPage {
599
+ items: [MorphoMarket]!
600
+ pageInfo: PageInfo!
601
+ totalCount: Int!
602
+ }
603
+
604
+ type MorphoMarket {
605
+ chain: Chain!
606
+ marketId: Hex!
607
+ loanAsset: Token!
608
+ collateralAsset: Token
609
+ name: String!
610
+ isIdle: Boolean!
611
+ oracleAddress: Address!
612
+ irm: MorphoIrm!
613
+ lltv: OnchainAmount!
614
+ liquidationPenalty: Float!
615
+ fee: OnchainAmount!
616
+ totalSupplied: TokenAmount!
617
+ totalBorrowed: TokenAmount!
618
+ liquidityInMarket: TokenAmount!
619
+ publicAllocatorSharedLiquidity: TokenAmount!
620
+ utilization: Float!
621
+ collateralPriceInLoanAsset: OnchainAmount
622
+ supplyApy: Apy!
623
+ supplyApy6h: Apy!
624
+ supplyApy1d: Apy!
625
+ supplyApy7d: Apy!
626
+ supplyApy30d: Apy!
627
+ borrowApy: Apy!
628
+ borrowApy6h: Apy!
629
+ borrowApy1d: Apy!
630
+ borrowApy7d: Apy!
631
+ borrowApy30d: Apy!
632
+ vaultAllocations: [MorphoVaultMarketAllocation!]!
633
+ historical: MorphoMarketHistorical
634
+ totalCollateral: TokenAmount
635
+ riskAssessment: RiskAssessment!
636
+ }
637
+
638
+ type MorphoIrm {
639
+ address: Address!
640
+ targetUtilization: Float!
641
+ curve: [MorphoIrmCurvePoint!]
642
+ rateAtTarget: BigInt
643
+ }
644
+
645
+ type MorphoIrmCurvePoint {
646
+ supplyApy: Float!
647
+ borrowApy: Float!
648
+ utilization: Float!
649
+ }
650
+
651
+ type MorphoMarketHistoricalEntry {
652
+ bucketTimestamp: Int!
653
+ totalSupplied: TokenAmount!
654
+ totalBorrowed: TokenAmount!
655
+ totalCollateral: TokenAmount!
656
+ collateralPriceInLoanAsset: OnchainAmount
657
+ supplyApyInstantaneous: Apy!
658
+ supplyApy6h: Apy!
659
+ supplyApy1d: Apy!
660
+ supplyApy7d: Apy!
661
+ supplyApy30d: Apy!
662
+ borrowApyInstantaneous: Apy!
663
+ borrowApy6h: Apy!
664
+ borrowApy1d: Apy!
665
+ borrowApy7d: Apy!
666
+ borrowApy30d: Apy!
667
+ }
668
+
669
+ type MorphoMarketHistorical {
670
+ hourly: [MorphoMarketHistoricalEntry!]! @deprecated(reason: "Hourly data is no longer supported")
671
+ daily: [MorphoMarketHistoricalEntry!]!
672
+ weekly: [MorphoMarketHistoricalEntry!]!
673
+ }
674
+
675
+ input MorphoMarketPositionFilter {
676
+ chainId_in: [ChainId!]
677
+ marketId_in: [Hex!]
678
+ accountAddress_in: [Address!]!
679
+ whitelisted: Boolean
680
+ }
681
+
682
+ type MorphoMarketPositionPage {
683
+ items: [MorphoMarketPosition]!
684
+ pageInfo: PageInfo!
685
+ totalCount: Int!
686
+ }
687
+
688
+ type MorphoMarketPosition {
689
+ market: MorphoMarket!
690
+ accountAddress: Address!
691
+ supplyShares: BigInt!
692
+ borrowShares: BigInt!
693
+ supplyAmount: TokenAmount!
694
+ borrowAmount: TokenAmount!
695
+ collateralAmount: TokenAmount
696
+ healthFactor: OnchainAmount
697
+ ltv: OnchainAmount
698
+ walletLoanAssetHolding: TokenHolding!
699
+ walletCollateralAssetHolding: TokenHolding
700
+ }
701
+
702
+ input MorphoVaultPositionFilter {
703
+ chainId_in: [ChainId!]
704
+ vaultAddress_in: [Address!]
705
+ accountAddress_in: [Address!]!
706
+ whitelisted: Boolean
707
+ }
708
+
709
+ type MorphoVaultPositionPage {
710
+ items: [MorphoVaultPosition]!
711
+ pageInfo: PageInfo!
712
+ totalCount: Int!
713
+ }
714
+
715
+ type MorphoVaultPosition {
716
+ vault: MorphoVault!
717
+ accountAddress: Address!
718
+ supplyShares: BigInt!
719
+ supplyAmount: TokenAmount!
720
+ walletUnderlyingAssetHolding: TokenHolding
721
+ }
722
+
723
+ type MorphoVaultMarketAllocation {
724
+ vault: MorphoVault!
725
+ market: MorphoMarket!
726
+ position: MorphoMarketPosition!
727
+ enabled: Boolean!
728
+ supplyCap: TokenAmount!
729
+ vaultSupplyShare: Float!
730
+ marketSupplyShare: Float!
731
+ }
732
+
733
+ type SteakhouseRiskAssessment {
734
+ score: Float!
735
+ rating: String!
736
+ }
737
+
738
+ type RiskAssessment {
739
+ steakhouse: SteakhouseRiskAssessment
740
+ }
741
+
742
+ type SteakhouseTvlSnapshot {
743
+ timestamp: Int!
744
+ totalUsd: Float!
745
+ byChain: [SteakhouseTvlByChain!]!
746
+ byProtocol: [SteakhouseTvlByProtocol!]!
747
+ byAssetCategory: [SteakhouseTvlByAssetCategory!]!
748
+ }
749
+
750
+ type SteakhouseTvl {
751
+ current: SteakhouseTvlSnapshot!
752
+ historical: [SteakhouseTvlSnapshot!]!
753
+ totalUsd: Float! @deprecated(reason: "Use current.totalUsd")
754
+ computedAt: Int! @deprecated(reason: "Use current.timestamp")
755
+ byChain: [SteakhouseTvlByChain!]! @deprecated(reason: "Use current.byChain")
756
+ byProtocol: [SteakhouseTvlByProtocol!]! @deprecated(reason: "Use current.byProtocol")
757
+ byAssetCategory: [SteakhouseTvlByAssetCategory!]! @deprecated(reason: "Use current.byAssetCategory")
758
+ }
759
+
760
+ type SteakhouseTvlByChain {
761
+ chain: Chain!
762
+ tvlUsd: Float!
763
+ }
764
+
765
+ type SteakhouseTvlByProtocol {
766
+ protocol: Erc4626VaultProtocol!
767
+ tvlUsd: Float!
768
+ }
769
+
770
+ type SteakhouseTvlByAssetCategory {
771
+ category: TokenCategory
772
+ tvlUsd: Float!
773
+ }
774
+
775
+ enum VaultProtocol {
776
+ euler_v2
777
+ euler_earn
778
+ morpho
779
+ enzyme
780
+ mellow
781
+ midas
782
+ turtle_club
783
+ silo
784
+ reserve
785
+ napier
786
+ gearbox
787
+ pendle
788
+ lista
789
+ }
790
+
791
+ enum VaultType {
792
+ lending
793
+ staking
794
+ index
795
+ }
796
+
797
+ input VaultInput {
798
+ chainId: ChainId!
799
+ protocol: VaultProtocol!
800
+ vaultAddress: Address!
801
+ }
802
+
803
+ type Protocol {
804
+ name: String!
805
+ icon: String!
806
+ }
807
+
808
+ type Vault {
809
+ chain: Chain!
810
+ protocol: Protocol!
811
+ vaultAddress: Address!
812
+ type: VaultType!
813
+ name: String!
814
+ description: String
815
+ url: String!
816
+ asset: Token!
817
+ totalSupplied: TokenAmount!
818
+ supplyApy: Apy!
819
+ }