@aegis-engine/core 0.2.0 → 0.3.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/README.md +109 -4
- package/THIRD_PARTY_NOTICES.md +211 -0
- package/dist/actions/kyberSwap.d.ts +3 -2
- package/dist/address.d.ts +3 -1
- package/dist/aegis-core.js +8421 -5279
- package/dist/backendAdapters.d.ts +25 -1
- package/dist/config/constants.d.ts +4 -0
- package/dist/config/types.d.ts +5 -0
- package/dist/contract/backendClient.d.ts +16 -6
- package/dist/contract/generated/aegis-swap.d.ts +2682 -96
- package/dist/contract/schemas.d.ts +27 -20
- package/dist/engine/actions.d.ts +56 -0
- package/dist/engine/borrowCostProjection.d.ts +1 -0
- package/dist/engine/dataSource.d.ts +63 -0
- package/dist/engine/index.d.ts +7 -0
- package/dist/engine/marketAdapter.d.ts +8 -0
- package/dist/engine/quotes.d.ts +8 -0
- package/dist/engine/reads.d.ts +41 -0
- package/dist/engine/registry.d.ts +27 -0
- package/dist/engine/restSchemas.d.ts +409 -0
- package/dist/engine/sdk.d.ts +1 -0
- package/dist/engine/sdkRuntime.d.ts +1 -0
- package/dist/engine/types.d.ts +992 -0
- package/dist/errors.d.ts +10 -0
- package/dist/historicalPrices.d.ts +78 -0
- package/dist/index.d.ts +13 -8
- package/dist/internal/requestSignal.d.ts +9 -0
- package/dist/internal/ttlCache.d.ts +19 -0
- package/dist/metadata.d.ts +4 -0
- package/dist/permit.d.ts +1 -0
- package/dist/quote/aggregatedSwapQuote.d.ts +12 -0
- package/dist/quote/kyberCalldata.d.ts +211 -0
- package/dist/quote.d.ts +1 -0
- package/dist/sdkRuntime-CCRVvSwD.js +16052 -0
- package/dist/services/kyberSwap.d.ts +22 -2
- package/dist/swap/receiptWait.d.ts +17 -0
- package/dist/swap/sendSwapTransaction.d.ts +40 -6
- package/dist/swap/settlement.d.ts +15 -0
- package/dist/transactionProgress.d.ts +8 -1
- package/dist/types/aggregatedSwap.d.ts +18 -0
- package/package.json +15 -7
|
@@ -77,6 +77,46 @@ export interface paths {
|
|
|
77
77
|
patch?: never;
|
|
78
78
|
trace?: never;
|
|
79
79
|
};
|
|
80
|
+
"/v1/tokens/{chainId}/{address}/price-history": {
|
|
81
|
+
parameters: {
|
|
82
|
+
query?: never;
|
|
83
|
+
header?: never;
|
|
84
|
+
path?: never;
|
|
85
|
+
cookie?: never;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Get 12-hour USD price history for a token
|
|
89
|
+
* @description Returns bucketed USD price points from the shared token price store. Points are recorded at most once per 12-hour UTC bucket and retained for 180 days, so new tokens report warming_up until at least two points exist. A token with no history record returns an explicit empty series with status no_data rather than a 404; the series is never padded from the current price. Responses are shared-cacheable.
|
|
90
|
+
*/
|
|
91
|
+
get: operations["getTokenPriceHistory"];
|
|
92
|
+
put?: never;
|
|
93
|
+
post?: never;
|
|
94
|
+
delete?: never;
|
|
95
|
+
options?: never;
|
|
96
|
+
head?: never;
|
|
97
|
+
patch?: never;
|
|
98
|
+
trace?: never;
|
|
99
|
+
};
|
|
100
|
+
"/v1/engine/markets/{marketId}/history": {
|
|
101
|
+
parameters: {
|
|
102
|
+
query?: never;
|
|
103
|
+
header?: never;
|
|
104
|
+
path?: never;
|
|
105
|
+
cookie?: never;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Get 12-hour Engine metric history for a market
|
|
109
|
+
* @description Returns bucketed Engine market snapshots (utilization, rates, USD supply/borrow, and fee-mode state) from the shared engine-metrics store. One coherent snapshot is recorded per 12-hour UTC bucket and retained ~60 days, so a new market reports warming_up until at least two points exist. A market with no history returns an explicit empty series with status no_data rather than a 404. A metric unavailable for a frame is null (never a false zero) with the reason in that point's warnings. Fee fields follow the same units and manualOverride semantics as GET /v1/engine/markets. Responses are shared-cacheable.
|
|
110
|
+
*/
|
|
111
|
+
get: operations["getEngineMarketHistory"];
|
|
112
|
+
put?: never;
|
|
113
|
+
post?: never;
|
|
114
|
+
delete?: never;
|
|
115
|
+
options?: never;
|
|
116
|
+
head?: never;
|
|
117
|
+
patch?: never;
|
|
118
|
+
trace?: never;
|
|
119
|
+
};
|
|
80
120
|
"/v1/markets": {
|
|
81
121
|
parameters: {
|
|
82
122
|
query?: never;
|
|
@@ -97,6 +137,86 @@ export interface paths {
|
|
|
97
137
|
patch?: never;
|
|
98
138
|
trace?: never;
|
|
99
139
|
};
|
|
140
|
+
"/v1/engine/markets": {
|
|
141
|
+
parameters: {
|
|
142
|
+
query?: never;
|
|
143
|
+
header?: never;
|
|
144
|
+
path?: never;
|
|
145
|
+
cookie?: never;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* List Aegis Engine lending and borrow markets for a chain
|
|
149
|
+
* @description Returns the partner-safe Engine market read model used by one-tap lend and borrow widgets. The response is derived from Canopy metadata plus token config, validated against the SDK deployment address policy, and action-gated by backend operator flags plus on-chain readiness. Hidden markets are omitted and paused or untrusted markets are returned disabled. Historical price and APY/utilization series are intentionally out of scope for this endpoint.
|
|
150
|
+
*/
|
|
151
|
+
get: operations["listEngineMarkets"];
|
|
152
|
+
put?: never;
|
|
153
|
+
post?: never;
|
|
154
|
+
delete?: never;
|
|
155
|
+
options?: never;
|
|
156
|
+
head?: never;
|
|
157
|
+
patch?: never;
|
|
158
|
+
trace?: never;
|
|
159
|
+
};
|
|
160
|
+
"/v1/engine/positions": {
|
|
161
|
+
parameters: {
|
|
162
|
+
query?: never;
|
|
163
|
+
header?: never;
|
|
164
|
+
path?: never;
|
|
165
|
+
cookie?: never;
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* List open Aegis Engine positions for a wallet
|
|
169
|
+
* @description Returns wallet-scoped open Engine vaults from the Engine subgraph, joined to the backend-owned market read model. Responses are private/no-store because they are account-specific. NFT collateral is included as raw vault metadata; dollar valuation is limited to idle token balances until richer backend valuation/history data is added.
|
|
170
|
+
*/
|
|
171
|
+
get: operations["listEnginePositions"];
|
|
172
|
+
put?: never;
|
|
173
|
+
post?: never;
|
|
174
|
+
delete?: never;
|
|
175
|
+
options?: never;
|
|
176
|
+
head?: never;
|
|
177
|
+
patch?: never;
|
|
178
|
+
trace?: never;
|
|
179
|
+
};
|
|
180
|
+
"/v1/engine/positions/v2": {
|
|
181
|
+
parameters: {
|
|
182
|
+
query?: never;
|
|
183
|
+
header?: never;
|
|
184
|
+
path?: never;
|
|
185
|
+
cookie?: never;
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* List Aegis Engine borrow and lend positions for a wallet
|
|
189
|
+
* @description Returns one schema v2 discriminated array containing borrow vaults and indexed lender-share balances, joined to the backend-owned market read model including owned hidden or retired markets. Responses are private/no-store because they are account-specific. Indexed balances and last-locked risk fields are discovery data, not live on-chain health.
|
|
190
|
+
*/
|
|
191
|
+
get: operations["listEnginePositionsV2"];
|
|
192
|
+
put?: never;
|
|
193
|
+
post?: never;
|
|
194
|
+
delete?: never;
|
|
195
|
+
options?: never;
|
|
196
|
+
head?: never;
|
|
197
|
+
patch?: never;
|
|
198
|
+
trace?: never;
|
|
199
|
+
};
|
|
200
|
+
"/v1/engine/positions/activity": {
|
|
201
|
+
parameters: {
|
|
202
|
+
query?: never;
|
|
203
|
+
header?: never;
|
|
204
|
+
path?: never;
|
|
205
|
+
cookie?: never;
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* List the Aegis Engine position activity ledger for a wallet
|
|
209
|
+
* @description Returns the wallet-scoped Engine action ledger from the Engine subgraph: per-vault typed actions (create, burn, lock, debt and idle changes, micro-liquidations) and the per-market lend ledger (share deposits, withdrawals, and peer-to-peer share transfers), joined to the backend-owned market read model including owned hidden or retired markets. Containers are deterministically ordered: vaults newest-first by numeric vaultId, lend entries by poolId ascending. Action lists are ordered oldest-first (ledger replay order): by blockNumber, then transactionIndex, then logIndex — on-chain execution order, since timestamp is block-granular and logIndex is block-scoped; a subgraph row missing any of those keys cannot be execution-ordered and is dropped with a logged warning. Each referenced market also carries its current indexed accrual state under marketState (borrowIndexWad, lastAccrueTimestamp, totalRlBorrowed, shareTotalSupply) plus the read-model ratePerSecondWad and its rateUpdatedAt freshness so accrued-interest and cost-basis math needs no extra RPC or subgraph call. Amounts are raw signed bigint decimal strings; the backend never synthesizes USD values here. All collections are read in one combined page-0 query at a single coherent block, with id-cursor continuation pages capped fail-loud at 10 pages of 1000 rows per action kind — an account beyond that cap returns a 500 rather than a silently truncated ledger. Responses are private/no-store because they are account-specific.
|
|
210
|
+
*/
|
|
211
|
+
get: operations["listEnginePositionActivity"];
|
|
212
|
+
put?: never;
|
|
213
|
+
post?: never;
|
|
214
|
+
delete?: never;
|
|
215
|
+
options?: never;
|
|
216
|
+
head?: never;
|
|
217
|
+
patch?: never;
|
|
218
|
+
trace?: never;
|
|
219
|
+
};
|
|
100
220
|
"/v1/swap/quote": {
|
|
101
221
|
parameters: {
|
|
102
222
|
query?: never;
|
|
@@ -152,7 +272,7 @@ export interface components {
|
|
|
152
272
|
};
|
|
153
273
|
ServerErrorResponse: {
|
|
154
274
|
error: string;
|
|
155
|
-
details
|
|
275
|
+
details?: string;
|
|
156
276
|
};
|
|
157
277
|
SwapChain: {
|
|
158
278
|
/**
|
|
@@ -399,123 +519,2354 @@ export interface components {
|
|
|
399
519
|
};
|
|
400
520
|
warnings: ("paused" | "surge-active" | "cap-event")[];
|
|
401
521
|
}[];
|
|
402
|
-
|
|
522
|
+
EngineToken: {
|
|
403
523
|
/**
|
|
404
524
|
* @example 130
|
|
405
525
|
* @enum {integer}
|
|
406
526
|
*/
|
|
407
527
|
chainId: 1 | 130 | 8453;
|
|
528
|
+
address: string;
|
|
529
|
+
symbol: string;
|
|
530
|
+
name: string;
|
|
531
|
+
decimals: number;
|
|
532
|
+
iconUrl?: string | null;
|
|
533
|
+
priceUsd?: number | null;
|
|
534
|
+
stable?: boolean | null;
|
|
535
|
+
};
|
|
536
|
+
EngineMarketMetrics: {
|
|
537
|
+
tvlUsd?: number | null;
|
|
538
|
+
suppliedUsd?: number | null;
|
|
539
|
+
borrowedUsd?: number | null;
|
|
540
|
+
availableToBorrowUsd?: number | null;
|
|
541
|
+
utilizationPct?: number | null;
|
|
542
|
+
borrowAprPct?: number | null;
|
|
543
|
+
lendApyPct?: number | null;
|
|
544
|
+
activeDebtVaultCount?: number | null;
|
|
545
|
+
sharePriceWad?: string | null;
|
|
546
|
+
ratePerSecondWad?: string | null;
|
|
547
|
+
/** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
|
|
548
|
+
fullUtilizationRate?: string | null;
|
|
549
|
+
/** @description Rate model source, e.g. "irm". */
|
|
550
|
+
rateSource?: string | null;
|
|
551
|
+
totalLendShares?: string | null;
|
|
552
|
+
/** @description Dynamic base fee in parts-per-million (fee fraction = ppm / 1e6). Shadow value when manualOverride is true. */
|
|
553
|
+
baseFeePpm?: number | null;
|
|
554
|
+
/** @description Fee the pool actually charges, in ppm (fraction = ppm / 1e6). Under manualOverride this is fixed and need not equal baseFeePpm + surgeFeePpm. */
|
|
555
|
+
activeFeePpm?: number | null;
|
|
556
|
+
/** @description Dynamic surge fee in ppm. Shadow value when manualOverride is true. */
|
|
557
|
+
surgeFeePpm?: number | null;
|
|
558
|
+
/** @description True only for the fee actually applied: !manualOverride && surgeFeePpm > 0. Not derived from inCapEvent. */
|
|
559
|
+
surgeActive?: boolean | null;
|
|
560
|
+
/** @description Raw contract cap-event flag (may be true even while surgeActive is false under a manual override). */
|
|
561
|
+
inCapEvent?: boolean | null;
|
|
562
|
+
/** @description When true, the pool charges a fixed activeFeePpm and the dynamic base/surge fees are shadow values. */
|
|
563
|
+
manualOverride?: boolean | null;
|
|
564
|
+
/** @description Engine fee-mode flag: fee recomputed per swap. */
|
|
565
|
+
perSwapMode?: boolean | null;
|
|
566
|
+
/** @description Fee model source, e.g. "engine-v2". */
|
|
567
|
+
feeSource?: string | null;
|
|
408
568
|
/**
|
|
409
|
-
*
|
|
410
|
-
* @
|
|
569
|
+
* Format: date-time
|
|
570
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
411
571
|
*/
|
|
412
|
-
|
|
413
|
-
marketId?: string;
|
|
414
|
-
tokenIn: string;
|
|
415
|
-
tokenOut: string;
|
|
416
|
-
/** @default 100 */
|
|
417
|
-
slippageBps: number;
|
|
418
|
-
account?: string | null;
|
|
419
|
-
/** @enum {string} */
|
|
420
|
-
mode: "exactIn";
|
|
421
|
-
/** @description Raw integer token amount in tokenIn base units. */
|
|
422
|
-
amountIn: string;
|
|
423
|
-
} & {
|
|
424
|
-
[key: string]: unknown;
|
|
425
|
-
}) | ({
|
|
572
|
+
updatedAt?: string | null;
|
|
426
573
|
/**
|
|
427
|
-
*
|
|
428
|
-
* @
|
|
574
|
+
* Format: date-time
|
|
575
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
429
576
|
*/
|
|
430
|
-
|
|
577
|
+
engineUpdatedAt?: string | null;
|
|
431
578
|
/**
|
|
432
|
-
*
|
|
433
|
-
* @
|
|
579
|
+
* Format: date-time
|
|
580
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
434
581
|
*/
|
|
435
|
-
|
|
436
|
-
marketId?: string;
|
|
437
|
-
tokenIn: string;
|
|
438
|
-
tokenOut: string;
|
|
439
|
-
/** @default 100 */
|
|
440
|
-
slippageBps: number;
|
|
441
|
-
account?: string | null;
|
|
442
|
-
/** @enum {string} */
|
|
443
|
-
mode: "exactOut";
|
|
444
|
-
/** @description Raw integer token amount in tokenOut base units. */
|
|
445
|
-
amountOut: string;
|
|
446
|
-
} & {
|
|
447
|
-
[key: string]: unknown;
|
|
448
|
-
});
|
|
449
|
-
SwapQuoteResponse: {
|
|
450
|
-
/** @enum {boolean} */
|
|
451
|
-
indicative: true;
|
|
452
|
-
/** @enum {boolean} */
|
|
453
|
-
executable: false;
|
|
454
|
-
/** @enum {string} */
|
|
455
|
-
provider: "aegis-direct-v4";
|
|
456
|
-
marketId: string;
|
|
457
|
-
/** @enum {string} */
|
|
458
|
-
mode: "exactIn";
|
|
459
|
-
tokenIn: string;
|
|
460
|
-
tokenOut: string;
|
|
461
|
-
amountIn: string;
|
|
462
|
-
amountOut: string;
|
|
463
|
-
minAmountOut: string;
|
|
464
|
-
price: number;
|
|
465
|
-
slippageBps: number;
|
|
466
|
-
fee: {
|
|
467
|
-
/** @enum {number} */
|
|
468
|
-
outputFeeBps: 50;
|
|
469
|
-
/** @enum {string} */
|
|
470
|
-
recipient: "0x8ea2C7de60ef1Cd4dcE64ea2DDDe2f99F0127eFC";
|
|
471
|
-
};
|
|
582
|
+
rateUpdatedAt?: string | null;
|
|
472
583
|
/**
|
|
473
584
|
* Format: date-time
|
|
474
585
|
* @example 2026-06-19T11:31:32.964Z
|
|
475
586
|
*/
|
|
476
|
-
|
|
477
|
-
warnings: string[];
|
|
587
|
+
feeUpdatedAt?: string | null;
|
|
478
588
|
};
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
589
|
+
EngineMarketFreshness: {
|
|
590
|
+
/** @enum {string} */
|
|
591
|
+
source: "canopy";
|
|
592
|
+
/**
|
|
593
|
+
* Format: date-time
|
|
594
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
595
|
+
*/
|
|
596
|
+
updatedAt?: string | null;
|
|
597
|
+
/**
|
|
598
|
+
* Format: date-time
|
|
599
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
600
|
+
*/
|
|
601
|
+
engineUpdatedAt?: string | null;
|
|
602
|
+
/**
|
|
603
|
+
* Format: date-time
|
|
604
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
605
|
+
*/
|
|
606
|
+
rateUpdatedAt?: string | null;
|
|
607
|
+
/**
|
|
608
|
+
* Format: date-time
|
|
609
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
610
|
+
*/
|
|
611
|
+
feeUpdatedAt?: string | null;
|
|
612
|
+
blockNumber?: number | null;
|
|
613
|
+
blockTimestamp?: number | null;
|
|
489
614
|
};
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
BadRequest: {
|
|
494
|
-
headers: {
|
|
495
|
-
[name: string]: unknown;
|
|
496
|
-
};
|
|
497
|
-
content: {
|
|
498
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
499
|
-
};
|
|
615
|
+
EngineMarketDisabledReasons: {
|
|
616
|
+
borrow: string[];
|
|
617
|
+
lend: string[];
|
|
500
618
|
};
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
619
|
+
EngineMarket: {
|
|
620
|
+
id: string;
|
|
621
|
+
/**
|
|
622
|
+
* @example 130
|
|
623
|
+
* @enum {integer}
|
|
624
|
+
*/
|
|
625
|
+
chainId: 1 | 130 | 8453;
|
|
626
|
+
/** @enum {string} */
|
|
627
|
+
source: "rest";
|
|
628
|
+
/** @enum {string} */
|
|
629
|
+
status: "enabled" | "disabled";
|
|
630
|
+
displayName: string;
|
|
631
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
632
|
+
poolId: string;
|
|
633
|
+
token0: {
|
|
634
|
+
/**
|
|
635
|
+
* @example 130
|
|
636
|
+
* @enum {integer}
|
|
637
|
+
*/
|
|
638
|
+
chainId: 1 | 130 | 8453;
|
|
639
|
+
address: string;
|
|
640
|
+
symbol: string;
|
|
641
|
+
name: string;
|
|
642
|
+
decimals: number;
|
|
643
|
+
iconUrl?: string | null;
|
|
644
|
+
priceUsd?: number | null;
|
|
645
|
+
stable?: boolean | null;
|
|
505
646
|
};
|
|
506
|
-
|
|
507
|
-
|
|
647
|
+
token1: {
|
|
648
|
+
/**
|
|
649
|
+
* @example 130
|
|
650
|
+
* @enum {integer}
|
|
651
|
+
*/
|
|
652
|
+
chainId: 1 | 130 | 8453;
|
|
653
|
+
address: string;
|
|
654
|
+
symbol: string;
|
|
655
|
+
name: string;
|
|
656
|
+
decimals: number;
|
|
657
|
+
iconUrl?: string | null;
|
|
658
|
+
priceUsd?: number | null;
|
|
659
|
+
stable?: boolean | null;
|
|
508
660
|
};
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
661
|
+
poolKey: {
|
|
662
|
+
currency0: string;
|
|
663
|
+
currency1: string;
|
|
664
|
+
/**
|
|
665
|
+
* @description Uniswap v4 fee value. 8388608 indicates dynamic fee.
|
|
666
|
+
* @example 8388608
|
|
667
|
+
*/
|
|
668
|
+
fee: number;
|
|
669
|
+
tickSpacing: number;
|
|
670
|
+
hooks: string;
|
|
514
671
|
};
|
|
515
|
-
|
|
516
|
-
|
|
672
|
+
engine?: string;
|
|
673
|
+
stateView?: string;
|
|
674
|
+
v4StateView?: string;
|
|
675
|
+
v4Quoter?: string;
|
|
676
|
+
router?: string;
|
|
677
|
+
permit2?: string;
|
|
678
|
+
vaultRegistry?: string;
|
|
679
|
+
borrowEnabled: boolean;
|
|
680
|
+
lendEnabled: boolean;
|
|
681
|
+
canBorrow?: boolean | null;
|
|
682
|
+
canLend?: boolean | null;
|
|
683
|
+
maxLtvPips?: number | null;
|
|
684
|
+
hardLtvPips?: number | null;
|
|
685
|
+
warnings: string[];
|
|
686
|
+
disabledReasons: {
|
|
687
|
+
borrow: string[];
|
|
688
|
+
lend: string[];
|
|
517
689
|
};
|
|
518
|
-
|
|
690
|
+
metrics: {
|
|
691
|
+
tvlUsd?: number | null;
|
|
692
|
+
suppliedUsd?: number | null;
|
|
693
|
+
borrowedUsd?: number | null;
|
|
694
|
+
availableToBorrowUsd?: number | null;
|
|
695
|
+
utilizationPct?: number | null;
|
|
696
|
+
borrowAprPct?: number | null;
|
|
697
|
+
lendApyPct?: number | null;
|
|
698
|
+
activeDebtVaultCount?: number | null;
|
|
699
|
+
sharePriceWad?: string | null;
|
|
700
|
+
ratePerSecondWad?: string | null;
|
|
701
|
+
/** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
|
|
702
|
+
fullUtilizationRate?: string | null;
|
|
703
|
+
/** @description Rate model source, e.g. "irm". */
|
|
704
|
+
rateSource?: string | null;
|
|
705
|
+
totalLendShares?: string | null;
|
|
706
|
+
/** @description Dynamic base fee in parts-per-million (fee fraction = ppm / 1e6). Shadow value when manualOverride is true. */
|
|
707
|
+
baseFeePpm?: number | null;
|
|
708
|
+
/** @description Fee the pool actually charges, in ppm (fraction = ppm / 1e6). Under manualOverride this is fixed and need not equal baseFeePpm + surgeFeePpm. */
|
|
709
|
+
activeFeePpm?: number | null;
|
|
710
|
+
/** @description Dynamic surge fee in ppm. Shadow value when manualOverride is true. */
|
|
711
|
+
surgeFeePpm?: number | null;
|
|
712
|
+
/** @description True only for the fee actually applied: !manualOverride && surgeFeePpm > 0. Not derived from inCapEvent. */
|
|
713
|
+
surgeActive?: boolean | null;
|
|
714
|
+
/** @description Raw contract cap-event flag (may be true even while surgeActive is false under a manual override). */
|
|
715
|
+
inCapEvent?: boolean | null;
|
|
716
|
+
/** @description When true, the pool charges a fixed activeFeePpm and the dynamic base/surge fees are shadow values. */
|
|
717
|
+
manualOverride?: boolean | null;
|
|
718
|
+
/** @description Engine fee-mode flag: fee recomputed per swap. */
|
|
719
|
+
perSwapMode?: boolean | null;
|
|
720
|
+
/** @description Fee model source, e.g. "engine-v2". */
|
|
721
|
+
feeSource?: string | null;
|
|
722
|
+
/**
|
|
723
|
+
* Format: date-time
|
|
724
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
725
|
+
*/
|
|
726
|
+
updatedAt?: string | null;
|
|
727
|
+
/**
|
|
728
|
+
* Format: date-time
|
|
729
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
730
|
+
*/
|
|
731
|
+
engineUpdatedAt?: string | null;
|
|
732
|
+
/**
|
|
733
|
+
* Format: date-time
|
|
734
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
735
|
+
*/
|
|
736
|
+
rateUpdatedAt?: string | null;
|
|
737
|
+
/**
|
|
738
|
+
* Format: date-time
|
|
739
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
740
|
+
*/
|
|
741
|
+
feeUpdatedAt?: string | null;
|
|
742
|
+
};
|
|
743
|
+
freshness: {
|
|
744
|
+
/** @enum {string} */
|
|
745
|
+
source: "canopy";
|
|
746
|
+
/**
|
|
747
|
+
* Format: date-time
|
|
748
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
749
|
+
*/
|
|
750
|
+
updatedAt?: string | null;
|
|
751
|
+
/**
|
|
752
|
+
* Format: date-time
|
|
753
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
754
|
+
*/
|
|
755
|
+
engineUpdatedAt?: string | null;
|
|
756
|
+
/**
|
|
757
|
+
* Format: date-time
|
|
758
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
759
|
+
*/
|
|
760
|
+
rateUpdatedAt?: string | null;
|
|
761
|
+
/**
|
|
762
|
+
* Format: date-time
|
|
763
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
764
|
+
*/
|
|
765
|
+
feeUpdatedAt?: string | null;
|
|
766
|
+
blockNumber?: number | null;
|
|
767
|
+
blockTimestamp?: number | null;
|
|
768
|
+
};
|
|
769
|
+
};
|
|
770
|
+
EngineMarketsFreshness: {
|
|
771
|
+
/** @enum {string} */
|
|
772
|
+
source: "canopy";
|
|
773
|
+
/**
|
|
774
|
+
* Format: date-time
|
|
775
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
776
|
+
*/
|
|
777
|
+
updatedAt?: string | null;
|
|
778
|
+
blockNumber?: number | null;
|
|
779
|
+
marketCount: number;
|
|
780
|
+
};
|
|
781
|
+
EngineMarketsResponse: {
|
|
782
|
+
/** @enum {string} */
|
|
783
|
+
schemaVersion: "1";
|
|
784
|
+
/**
|
|
785
|
+
* @example 130
|
|
786
|
+
* @enum {integer}
|
|
787
|
+
*/
|
|
788
|
+
chainId: 1 | 130 | 8453;
|
|
789
|
+
markets: {
|
|
790
|
+
id: string;
|
|
791
|
+
/**
|
|
792
|
+
* @example 130
|
|
793
|
+
* @enum {integer}
|
|
794
|
+
*/
|
|
795
|
+
chainId: 1 | 130 | 8453;
|
|
796
|
+
/** @enum {string} */
|
|
797
|
+
source: "rest";
|
|
798
|
+
/** @enum {string} */
|
|
799
|
+
status: "enabled" | "disabled";
|
|
800
|
+
displayName: string;
|
|
801
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
802
|
+
poolId: string;
|
|
803
|
+
token0: {
|
|
804
|
+
/**
|
|
805
|
+
* @example 130
|
|
806
|
+
* @enum {integer}
|
|
807
|
+
*/
|
|
808
|
+
chainId: 1 | 130 | 8453;
|
|
809
|
+
address: string;
|
|
810
|
+
symbol: string;
|
|
811
|
+
name: string;
|
|
812
|
+
decimals: number;
|
|
813
|
+
iconUrl?: string | null;
|
|
814
|
+
priceUsd?: number | null;
|
|
815
|
+
stable?: boolean | null;
|
|
816
|
+
};
|
|
817
|
+
token1: {
|
|
818
|
+
/**
|
|
819
|
+
* @example 130
|
|
820
|
+
* @enum {integer}
|
|
821
|
+
*/
|
|
822
|
+
chainId: 1 | 130 | 8453;
|
|
823
|
+
address: string;
|
|
824
|
+
symbol: string;
|
|
825
|
+
name: string;
|
|
826
|
+
decimals: number;
|
|
827
|
+
iconUrl?: string | null;
|
|
828
|
+
priceUsd?: number | null;
|
|
829
|
+
stable?: boolean | null;
|
|
830
|
+
};
|
|
831
|
+
poolKey: {
|
|
832
|
+
currency0: string;
|
|
833
|
+
currency1: string;
|
|
834
|
+
/**
|
|
835
|
+
* @description Uniswap v4 fee value. 8388608 indicates dynamic fee.
|
|
836
|
+
* @example 8388608
|
|
837
|
+
*/
|
|
838
|
+
fee: number;
|
|
839
|
+
tickSpacing: number;
|
|
840
|
+
hooks: string;
|
|
841
|
+
};
|
|
842
|
+
engine?: string;
|
|
843
|
+
stateView?: string;
|
|
844
|
+
v4StateView?: string;
|
|
845
|
+
v4Quoter?: string;
|
|
846
|
+
router?: string;
|
|
847
|
+
permit2?: string;
|
|
848
|
+
vaultRegistry?: string;
|
|
849
|
+
borrowEnabled: boolean;
|
|
850
|
+
lendEnabled: boolean;
|
|
851
|
+
canBorrow?: boolean | null;
|
|
852
|
+
canLend?: boolean | null;
|
|
853
|
+
maxLtvPips?: number | null;
|
|
854
|
+
hardLtvPips?: number | null;
|
|
855
|
+
warnings: string[];
|
|
856
|
+
disabledReasons: {
|
|
857
|
+
borrow: string[];
|
|
858
|
+
lend: string[];
|
|
859
|
+
};
|
|
860
|
+
metrics: {
|
|
861
|
+
tvlUsd?: number | null;
|
|
862
|
+
suppliedUsd?: number | null;
|
|
863
|
+
borrowedUsd?: number | null;
|
|
864
|
+
availableToBorrowUsd?: number | null;
|
|
865
|
+
utilizationPct?: number | null;
|
|
866
|
+
borrowAprPct?: number | null;
|
|
867
|
+
lendApyPct?: number | null;
|
|
868
|
+
activeDebtVaultCount?: number | null;
|
|
869
|
+
sharePriceWad?: string | null;
|
|
870
|
+
ratePerSecondWad?: string | null;
|
|
871
|
+
/** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
|
|
872
|
+
fullUtilizationRate?: string | null;
|
|
873
|
+
/** @description Rate model source, e.g. "irm". */
|
|
874
|
+
rateSource?: string | null;
|
|
875
|
+
totalLendShares?: string | null;
|
|
876
|
+
/** @description Dynamic base fee in parts-per-million (fee fraction = ppm / 1e6). Shadow value when manualOverride is true. */
|
|
877
|
+
baseFeePpm?: number | null;
|
|
878
|
+
/** @description Fee the pool actually charges, in ppm (fraction = ppm / 1e6). Under manualOverride this is fixed and need not equal baseFeePpm + surgeFeePpm. */
|
|
879
|
+
activeFeePpm?: number | null;
|
|
880
|
+
/** @description Dynamic surge fee in ppm. Shadow value when manualOverride is true. */
|
|
881
|
+
surgeFeePpm?: number | null;
|
|
882
|
+
/** @description True only for the fee actually applied: !manualOverride && surgeFeePpm > 0. Not derived from inCapEvent. */
|
|
883
|
+
surgeActive?: boolean | null;
|
|
884
|
+
/** @description Raw contract cap-event flag (may be true even while surgeActive is false under a manual override). */
|
|
885
|
+
inCapEvent?: boolean | null;
|
|
886
|
+
/** @description When true, the pool charges a fixed activeFeePpm and the dynamic base/surge fees are shadow values. */
|
|
887
|
+
manualOverride?: boolean | null;
|
|
888
|
+
/** @description Engine fee-mode flag: fee recomputed per swap. */
|
|
889
|
+
perSwapMode?: boolean | null;
|
|
890
|
+
/** @description Fee model source, e.g. "engine-v2". */
|
|
891
|
+
feeSource?: string | null;
|
|
892
|
+
/**
|
|
893
|
+
* Format: date-time
|
|
894
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
895
|
+
*/
|
|
896
|
+
updatedAt?: string | null;
|
|
897
|
+
/**
|
|
898
|
+
* Format: date-time
|
|
899
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
900
|
+
*/
|
|
901
|
+
engineUpdatedAt?: string | null;
|
|
902
|
+
/**
|
|
903
|
+
* Format: date-time
|
|
904
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
905
|
+
*/
|
|
906
|
+
rateUpdatedAt?: string | null;
|
|
907
|
+
/**
|
|
908
|
+
* Format: date-time
|
|
909
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
910
|
+
*/
|
|
911
|
+
feeUpdatedAt?: string | null;
|
|
912
|
+
};
|
|
913
|
+
freshness: {
|
|
914
|
+
/** @enum {string} */
|
|
915
|
+
source: "canopy";
|
|
916
|
+
/**
|
|
917
|
+
* Format: date-time
|
|
918
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
919
|
+
*/
|
|
920
|
+
updatedAt?: string | null;
|
|
921
|
+
/**
|
|
922
|
+
* Format: date-time
|
|
923
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
924
|
+
*/
|
|
925
|
+
engineUpdatedAt?: string | null;
|
|
926
|
+
/**
|
|
927
|
+
* Format: date-time
|
|
928
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
929
|
+
*/
|
|
930
|
+
rateUpdatedAt?: string | null;
|
|
931
|
+
/**
|
|
932
|
+
* Format: date-time
|
|
933
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
934
|
+
*/
|
|
935
|
+
feeUpdatedAt?: string | null;
|
|
936
|
+
blockNumber?: number | null;
|
|
937
|
+
blockTimestamp?: number | null;
|
|
938
|
+
};
|
|
939
|
+
}[];
|
|
940
|
+
freshness: {
|
|
941
|
+
/** @enum {string} */
|
|
942
|
+
source: "canopy";
|
|
943
|
+
/**
|
|
944
|
+
* Format: date-time
|
|
945
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
946
|
+
*/
|
|
947
|
+
updatedAt?: string | null;
|
|
948
|
+
blockNumber?: number | null;
|
|
949
|
+
marketCount: number;
|
|
950
|
+
};
|
|
951
|
+
};
|
|
952
|
+
EnginePositionTokenAmount: {
|
|
953
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
954
|
+
raw: string;
|
|
955
|
+
formatted: string;
|
|
956
|
+
valueUsd?: number | null;
|
|
957
|
+
};
|
|
958
|
+
EnginePositionDebt: {
|
|
959
|
+
/** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
|
|
960
|
+
principalRaw: string;
|
|
961
|
+
/** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
|
|
962
|
+
borrowIndexWadAtLastDebt?: string | null;
|
|
963
|
+
};
|
|
964
|
+
EnginePositionLtv: {
|
|
965
|
+
/** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
|
|
966
|
+
lastLockedPips?: number | null;
|
|
967
|
+
/** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
|
|
968
|
+
lastLockedPct?: number | null;
|
|
969
|
+
/** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
|
|
970
|
+
maxLtvPips?: number | null;
|
|
971
|
+
/** @description Market hard LTV in pips (1,000,000 pips = 100%). */
|
|
972
|
+
hardLtvPips?: number | null;
|
|
973
|
+
};
|
|
974
|
+
EnginePositionNft: {
|
|
975
|
+
id?: string | null;
|
|
976
|
+
kind?: string | null;
|
|
977
|
+
tokenId?: string | null;
|
|
978
|
+
/** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
|
|
979
|
+
liquidityRaw?: string | null;
|
|
980
|
+
};
|
|
981
|
+
EnginePosition: {
|
|
982
|
+
id: string;
|
|
983
|
+
/**
|
|
984
|
+
* @example 130
|
|
985
|
+
* @enum {integer}
|
|
986
|
+
*/
|
|
987
|
+
chainId: 1 | 130 | 8453;
|
|
988
|
+
account: string;
|
|
989
|
+
vaultId: string;
|
|
990
|
+
/** @enum {string} */
|
|
991
|
+
status: "open" | "debt" | "collateral" | "empty";
|
|
992
|
+
marketId?: string | null;
|
|
993
|
+
marketName?: string | null;
|
|
994
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
995
|
+
poolId: string;
|
|
996
|
+
token0?: {
|
|
997
|
+
/**
|
|
998
|
+
* @example 130
|
|
999
|
+
* @enum {integer}
|
|
1000
|
+
*/
|
|
1001
|
+
chainId: 1 | 130 | 8453;
|
|
1002
|
+
address: string;
|
|
1003
|
+
symbol: string;
|
|
1004
|
+
name: string;
|
|
1005
|
+
decimals: number;
|
|
1006
|
+
iconUrl?: string | null;
|
|
1007
|
+
priceUsd?: number | null;
|
|
1008
|
+
stable?: boolean | null;
|
|
1009
|
+
} | null;
|
|
1010
|
+
token1?: {
|
|
1011
|
+
/**
|
|
1012
|
+
* @example 130
|
|
1013
|
+
* @enum {integer}
|
|
1014
|
+
*/
|
|
1015
|
+
chainId: 1 | 130 | 8453;
|
|
1016
|
+
address: string;
|
|
1017
|
+
symbol: string;
|
|
1018
|
+
name: string;
|
|
1019
|
+
decimals: number;
|
|
1020
|
+
iconUrl?: string | null;
|
|
1021
|
+
priceUsd?: number | null;
|
|
1022
|
+
stable?: boolean | null;
|
|
1023
|
+
} | null;
|
|
1024
|
+
amount0: {
|
|
1025
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1026
|
+
raw: string;
|
|
1027
|
+
formatted: string;
|
|
1028
|
+
valueUsd?: number | null;
|
|
1029
|
+
};
|
|
1030
|
+
amount1: {
|
|
1031
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1032
|
+
raw: string;
|
|
1033
|
+
formatted: string;
|
|
1034
|
+
valueUsd?: number | null;
|
|
1035
|
+
};
|
|
1036
|
+
collateralValueUsd?: number | null;
|
|
1037
|
+
debt: {
|
|
1038
|
+
/** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
|
|
1039
|
+
principalRaw: string;
|
|
1040
|
+
/** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
|
|
1041
|
+
borrowIndexWadAtLastDebt?: string | null;
|
|
1042
|
+
};
|
|
1043
|
+
ltv: {
|
|
1044
|
+
/** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
|
|
1045
|
+
lastLockedPips?: number | null;
|
|
1046
|
+
/** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
|
|
1047
|
+
lastLockedPct?: number | null;
|
|
1048
|
+
/** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
|
|
1049
|
+
maxLtvPips?: number | null;
|
|
1050
|
+
/** @description Market hard LTV in pips (1,000,000 pips = 100%). */
|
|
1051
|
+
hardLtvPips?: number | null;
|
|
1052
|
+
};
|
|
1053
|
+
nfts: {
|
|
1054
|
+
count: number;
|
|
1055
|
+
items: {
|
|
1056
|
+
id?: string | null;
|
|
1057
|
+
kind?: string | null;
|
|
1058
|
+
tokenId?: string | null;
|
|
1059
|
+
/** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
|
|
1060
|
+
liquidityRaw?: string | null;
|
|
1061
|
+
}[];
|
|
1062
|
+
};
|
|
1063
|
+
/**
|
|
1064
|
+
* Format: date-time
|
|
1065
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1066
|
+
*/
|
|
1067
|
+
createdAt?: string | null;
|
|
1068
|
+
createdBlockNumber?: number | null;
|
|
1069
|
+
/**
|
|
1070
|
+
* Format: date-time
|
|
1071
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1072
|
+
*/
|
|
1073
|
+
updatedAt?: string | null;
|
|
1074
|
+
warnings: string[];
|
|
1075
|
+
};
|
|
1076
|
+
EngineBorrowVaultPositionV2: {
|
|
1077
|
+
id: string;
|
|
1078
|
+
/**
|
|
1079
|
+
* @example 130
|
|
1080
|
+
* @enum {integer}
|
|
1081
|
+
*/
|
|
1082
|
+
chainId: 1 | 130 | 8453;
|
|
1083
|
+
account: string;
|
|
1084
|
+
vaultId: string;
|
|
1085
|
+
/** @enum {string} */
|
|
1086
|
+
status: "open" | "debt" | "collateral" | "empty";
|
|
1087
|
+
marketId?: string | null;
|
|
1088
|
+
marketName?: string | null;
|
|
1089
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
1090
|
+
poolId: string;
|
|
1091
|
+
token0?: {
|
|
1092
|
+
/**
|
|
1093
|
+
* @example 130
|
|
1094
|
+
* @enum {integer}
|
|
1095
|
+
*/
|
|
1096
|
+
chainId: 1 | 130 | 8453;
|
|
1097
|
+
address: string;
|
|
1098
|
+
symbol: string;
|
|
1099
|
+
name: string;
|
|
1100
|
+
decimals: number;
|
|
1101
|
+
iconUrl?: string | null;
|
|
1102
|
+
priceUsd?: number | null;
|
|
1103
|
+
stable?: boolean | null;
|
|
1104
|
+
} | null;
|
|
1105
|
+
token1?: {
|
|
1106
|
+
/**
|
|
1107
|
+
* @example 130
|
|
1108
|
+
* @enum {integer}
|
|
1109
|
+
*/
|
|
1110
|
+
chainId: 1 | 130 | 8453;
|
|
1111
|
+
address: string;
|
|
1112
|
+
symbol: string;
|
|
1113
|
+
name: string;
|
|
1114
|
+
decimals: number;
|
|
1115
|
+
iconUrl?: string | null;
|
|
1116
|
+
priceUsd?: number | null;
|
|
1117
|
+
stable?: boolean | null;
|
|
1118
|
+
} | null;
|
|
1119
|
+
amount0: {
|
|
1120
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1121
|
+
raw: string;
|
|
1122
|
+
formatted: string;
|
|
1123
|
+
valueUsd?: number | null;
|
|
1124
|
+
};
|
|
1125
|
+
amount1: {
|
|
1126
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1127
|
+
raw: string;
|
|
1128
|
+
formatted: string;
|
|
1129
|
+
valueUsd?: number | null;
|
|
1130
|
+
};
|
|
1131
|
+
collateralValueUsd?: number | null;
|
|
1132
|
+
debt: {
|
|
1133
|
+
/** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
|
|
1134
|
+
principalRaw: string;
|
|
1135
|
+
/** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
|
|
1136
|
+
borrowIndexWadAtLastDebt?: string | null;
|
|
1137
|
+
};
|
|
1138
|
+
ltv: {
|
|
1139
|
+
/** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
|
|
1140
|
+
lastLockedPips?: number | null;
|
|
1141
|
+
/** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
|
|
1142
|
+
lastLockedPct?: number | null;
|
|
1143
|
+
/** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
|
|
1144
|
+
maxLtvPips?: number | null;
|
|
1145
|
+
/** @description Market hard LTV in pips (1,000,000 pips = 100%). */
|
|
1146
|
+
hardLtvPips?: number | null;
|
|
1147
|
+
};
|
|
1148
|
+
nfts: {
|
|
1149
|
+
count: number;
|
|
1150
|
+
items: {
|
|
1151
|
+
id?: string | null;
|
|
1152
|
+
kind?: string | null;
|
|
1153
|
+
tokenId?: string | null;
|
|
1154
|
+
/** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
|
|
1155
|
+
liquidityRaw?: string | null;
|
|
1156
|
+
}[];
|
|
1157
|
+
};
|
|
1158
|
+
/**
|
|
1159
|
+
* Format: date-time
|
|
1160
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1161
|
+
*/
|
|
1162
|
+
createdAt?: string | null;
|
|
1163
|
+
createdBlockNumber?: number | null;
|
|
1164
|
+
/**
|
|
1165
|
+
* Format: date-time
|
|
1166
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1167
|
+
*/
|
|
1168
|
+
updatedAt?: string | null;
|
|
1169
|
+
warnings: string[];
|
|
1170
|
+
/** @enum {string} */
|
|
1171
|
+
kind: "borrow_vault";
|
|
1172
|
+
};
|
|
1173
|
+
EngineLendSharesPosition: {
|
|
1174
|
+
/** @enum {string} */
|
|
1175
|
+
kind: "lend_shares";
|
|
1176
|
+
/** @example engine-lend:1:0x… */
|
|
1177
|
+
id: string;
|
|
1178
|
+
/**
|
|
1179
|
+
* @example 130
|
|
1180
|
+
* @enum {integer}
|
|
1181
|
+
*/
|
|
1182
|
+
chainId: 1 | 130 | 8453;
|
|
1183
|
+
account: string;
|
|
1184
|
+
marketId: string | null;
|
|
1185
|
+
marketName: string | null;
|
|
1186
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
1187
|
+
poolId: string;
|
|
1188
|
+
token0: {
|
|
1189
|
+
/**
|
|
1190
|
+
* @example 130
|
|
1191
|
+
* @enum {integer}
|
|
1192
|
+
*/
|
|
1193
|
+
chainId: 1 | 130 | 8453;
|
|
1194
|
+
address: string;
|
|
1195
|
+
symbol: string;
|
|
1196
|
+
name: string;
|
|
1197
|
+
decimals: number;
|
|
1198
|
+
iconUrl?: string | null;
|
|
1199
|
+
priceUsd?: number | null;
|
|
1200
|
+
stable?: boolean | null;
|
|
1201
|
+
} | null;
|
|
1202
|
+
token1: {
|
|
1203
|
+
/**
|
|
1204
|
+
* @example 130
|
|
1205
|
+
* @enum {integer}
|
|
1206
|
+
*/
|
|
1207
|
+
chainId: 1 | 130 | 8453;
|
|
1208
|
+
address: string;
|
|
1209
|
+
symbol: string;
|
|
1210
|
+
name: string;
|
|
1211
|
+
decimals: number;
|
|
1212
|
+
iconUrl?: string | null;
|
|
1213
|
+
priceUsd?: number | null;
|
|
1214
|
+
stable?: boolean | null;
|
|
1215
|
+
} | null;
|
|
1216
|
+
/** @description Indexed lender balance in raw Engine share units as an unsigned bigint decimal string. Use a current share price for valuation. */
|
|
1217
|
+
indexedBalanceRaw: string;
|
|
1218
|
+
warnings: string[];
|
|
1219
|
+
freshness: {
|
|
1220
|
+
/** @enum {string} */
|
|
1221
|
+
source: "subgraph";
|
|
1222
|
+
/** @description Subgraph block used as the conservative freshness watermark for the indexed share page set. Null when a page did not report a block. */
|
|
1223
|
+
indexedBlockNumber: number | null;
|
|
1224
|
+
};
|
|
1225
|
+
};
|
|
1226
|
+
EnginePositionV2: {
|
|
1227
|
+
id: string;
|
|
1228
|
+
/**
|
|
1229
|
+
* @example 130
|
|
1230
|
+
* @enum {integer}
|
|
1231
|
+
*/
|
|
1232
|
+
chainId: 1 | 130 | 8453;
|
|
1233
|
+
account: string;
|
|
1234
|
+
vaultId: string;
|
|
1235
|
+
/** @enum {string} */
|
|
1236
|
+
status: "open" | "debt" | "collateral" | "empty";
|
|
1237
|
+
marketId?: string | null;
|
|
1238
|
+
marketName?: string | null;
|
|
1239
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
1240
|
+
poolId: string;
|
|
1241
|
+
token0?: {
|
|
1242
|
+
/**
|
|
1243
|
+
* @example 130
|
|
1244
|
+
* @enum {integer}
|
|
1245
|
+
*/
|
|
1246
|
+
chainId: 1 | 130 | 8453;
|
|
1247
|
+
address: string;
|
|
1248
|
+
symbol: string;
|
|
1249
|
+
name: string;
|
|
1250
|
+
decimals: number;
|
|
1251
|
+
iconUrl?: string | null;
|
|
1252
|
+
priceUsd?: number | null;
|
|
1253
|
+
stable?: boolean | null;
|
|
1254
|
+
} | null;
|
|
1255
|
+
token1?: {
|
|
1256
|
+
/**
|
|
1257
|
+
* @example 130
|
|
1258
|
+
* @enum {integer}
|
|
1259
|
+
*/
|
|
1260
|
+
chainId: 1 | 130 | 8453;
|
|
1261
|
+
address: string;
|
|
1262
|
+
symbol: string;
|
|
1263
|
+
name: string;
|
|
1264
|
+
decimals: number;
|
|
1265
|
+
iconUrl?: string | null;
|
|
1266
|
+
priceUsd?: number | null;
|
|
1267
|
+
stable?: boolean | null;
|
|
1268
|
+
} | null;
|
|
1269
|
+
amount0: {
|
|
1270
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1271
|
+
raw: string;
|
|
1272
|
+
formatted: string;
|
|
1273
|
+
valueUsd?: number | null;
|
|
1274
|
+
};
|
|
1275
|
+
amount1: {
|
|
1276
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1277
|
+
raw: string;
|
|
1278
|
+
formatted: string;
|
|
1279
|
+
valueUsd?: number | null;
|
|
1280
|
+
};
|
|
1281
|
+
collateralValueUsd?: number | null;
|
|
1282
|
+
debt: {
|
|
1283
|
+
/** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
|
|
1284
|
+
principalRaw: string;
|
|
1285
|
+
/** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
|
|
1286
|
+
borrowIndexWadAtLastDebt?: string | null;
|
|
1287
|
+
};
|
|
1288
|
+
ltv: {
|
|
1289
|
+
/** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
|
|
1290
|
+
lastLockedPips?: number | null;
|
|
1291
|
+
/** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
|
|
1292
|
+
lastLockedPct?: number | null;
|
|
1293
|
+
/** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
|
|
1294
|
+
maxLtvPips?: number | null;
|
|
1295
|
+
/** @description Market hard LTV in pips (1,000,000 pips = 100%). */
|
|
1296
|
+
hardLtvPips?: number | null;
|
|
1297
|
+
};
|
|
1298
|
+
nfts: {
|
|
1299
|
+
count: number;
|
|
1300
|
+
items: {
|
|
1301
|
+
id?: string | null;
|
|
1302
|
+
kind?: string | null;
|
|
1303
|
+
tokenId?: string | null;
|
|
1304
|
+
/** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
|
|
1305
|
+
liquidityRaw?: string | null;
|
|
1306
|
+
}[];
|
|
1307
|
+
};
|
|
1308
|
+
/**
|
|
1309
|
+
* Format: date-time
|
|
1310
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1311
|
+
*/
|
|
1312
|
+
createdAt?: string | null;
|
|
1313
|
+
createdBlockNumber?: number | null;
|
|
1314
|
+
/**
|
|
1315
|
+
* Format: date-time
|
|
1316
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1317
|
+
*/
|
|
1318
|
+
updatedAt?: string | null;
|
|
1319
|
+
warnings: string[];
|
|
1320
|
+
/** @enum {string} */
|
|
1321
|
+
kind: "borrow_vault";
|
|
1322
|
+
} | {
|
|
1323
|
+
/** @enum {string} */
|
|
1324
|
+
kind: "lend_shares";
|
|
1325
|
+
/** @example engine-lend:1:0x… */
|
|
1326
|
+
id: string;
|
|
1327
|
+
/**
|
|
1328
|
+
* @example 130
|
|
1329
|
+
* @enum {integer}
|
|
1330
|
+
*/
|
|
1331
|
+
chainId: 1 | 130 | 8453;
|
|
1332
|
+
account: string;
|
|
1333
|
+
marketId: string | null;
|
|
1334
|
+
marketName: string | null;
|
|
1335
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
1336
|
+
poolId: string;
|
|
1337
|
+
token0: {
|
|
1338
|
+
/**
|
|
1339
|
+
* @example 130
|
|
1340
|
+
* @enum {integer}
|
|
1341
|
+
*/
|
|
1342
|
+
chainId: 1 | 130 | 8453;
|
|
1343
|
+
address: string;
|
|
1344
|
+
symbol: string;
|
|
1345
|
+
name: string;
|
|
1346
|
+
decimals: number;
|
|
1347
|
+
iconUrl?: string | null;
|
|
1348
|
+
priceUsd?: number | null;
|
|
1349
|
+
stable?: boolean | null;
|
|
1350
|
+
} | null;
|
|
1351
|
+
token1: {
|
|
1352
|
+
/**
|
|
1353
|
+
* @example 130
|
|
1354
|
+
* @enum {integer}
|
|
1355
|
+
*/
|
|
1356
|
+
chainId: 1 | 130 | 8453;
|
|
1357
|
+
address: string;
|
|
1358
|
+
symbol: string;
|
|
1359
|
+
name: string;
|
|
1360
|
+
decimals: number;
|
|
1361
|
+
iconUrl?: string | null;
|
|
1362
|
+
priceUsd?: number | null;
|
|
1363
|
+
stable?: boolean | null;
|
|
1364
|
+
} | null;
|
|
1365
|
+
/** @description Indexed lender balance in raw Engine share units as an unsigned bigint decimal string. Use a current share price for valuation. */
|
|
1366
|
+
indexedBalanceRaw: string;
|
|
1367
|
+
warnings: string[];
|
|
1368
|
+
freshness: {
|
|
1369
|
+
/** @enum {string} */
|
|
1370
|
+
source: "subgraph";
|
|
1371
|
+
/** @description Subgraph block used as the conservative freshness watermark for the indexed share page set. Null when a page did not report a block. */
|
|
1372
|
+
indexedBlockNumber: number | null;
|
|
1373
|
+
};
|
|
1374
|
+
};
|
|
1375
|
+
EnginePositionsResponse: {
|
|
1376
|
+
/** @enum {string} */
|
|
1377
|
+
schemaVersion: "1";
|
|
1378
|
+
/**
|
|
1379
|
+
* @example 130
|
|
1380
|
+
* @enum {integer}
|
|
1381
|
+
*/
|
|
1382
|
+
chainId: 1 | 130 | 8453;
|
|
1383
|
+
account: string;
|
|
1384
|
+
positions: {
|
|
1385
|
+
id: string;
|
|
1386
|
+
/**
|
|
1387
|
+
* @example 130
|
|
1388
|
+
* @enum {integer}
|
|
1389
|
+
*/
|
|
1390
|
+
chainId: 1 | 130 | 8453;
|
|
1391
|
+
account: string;
|
|
1392
|
+
vaultId: string;
|
|
1393
|
+
/** @enum {string} */
|
|
1394
|
+
status: "open" | "debt" | "collateral" | "empty";
|
|
1395
|
+
marketId?: string | null;
|
|
1396
|
+
marketName?: string | null;
|
|
1397
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
1398
|
+
poolId: string;
|
|
1399
|
+
token0?: {
|
|
1400
|
+
/**
|
|
1401
|
+
* @example 130
|
|
1402
|
+
* @enum {integer}
|
|
1403
|
+
*/
|
|
1404
|
+
chainId: 1 | 130 | 8453;
|
|
1405
|
+
address: string;
|
|
1406
|
+
symbol: string;
|
|
1407
|
+
name: string;
|
|
1408
|
+
decimals: number;
|
|
1409
|
+
iconUrl?: string | null;
|
|
1410
|
+
priceUsd?: number | null;
|
|
1411
|
+
stable?: boolean | null;
|
|
1412
|
+
} | null;
|
|
1413
|
+
token1?: {
|
|
1414
|
+
/**
|
|
1415
|
+
* @example 130
|
|
1416
|
+
* @enum {integer}
|
|
1417
|
+
*/
|
|
1418
|
+
chainId: 1 | 130 | 8453;
|
|
1419
|
+
address: string;
|
|
1420
|
+
symbol: string;
|
|
1421
|
+
name: string;
|
|
1422
|
+
decimals: number;
|
|
1423
|
+
iconUrl?: string | null;
|
|
1424
|
+
priceUsd?: number | null;
|
|
1425
|
+
stable?: boolean | null;
|
|
1426
|
+
} | null;
|
|
1427
|
+
amount0: {
|
|
1428
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1429
|
+
raw: string;
|
|
1430
|
+
formatted: string;
|
|
1431
|
+
valueUsd?: number | null;
|
|
1432
|
+
};
|
|
1433
|
+
amount1: {
|
|
1434
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1435
|
+
raw: string;
|
|
1436
|
+
formatted: string;
|
|
1437
|
+
valueUsd?: number | null;
|
|
1438
|
+
};
|
|
1439
|
+
collateralValueUsd?: number | null;
|
|
1440
|
+
debt: {
|
|
1441
|
+
/** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
|
|
1442
|
+
principalRaw: string;
|
|
1443
|
+
/** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
|
|
1444
|
+
borrowIndexWadAtLastDebt?: string | null;
|
|
1445
|
+
};
|
|
1446
|
+
ltv: {
|
|
1447
|
+
/** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
|
|
1448
|
+
lastLockedPips?: number | null;
|
|
1449
|
+
/** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
|
|
1450
|
+
lastLockedPct?: number | null;
|
|
1451
|
+
/** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
|
|
1452
|
+
maxLtvPips?: number | null;
|
|
1453
|
+
/** @description Market hard LTV in pips (1,000,000 pips = 100%). */
|
|
1454
|
+
hardLtvPips?: number | null;
|
|
1455
|
+
};
|
|
1456
|
+
nfts: {
|
|
1457
|
+
count: number;
|
|
1458
|
+
items: {
|
|
1459
|
+
id?: string | null;
|
|
1460
|
+
kind?: string | null;
|
|
1461
|
+
tokenId?: string | null;
|
|
1462
|
+
/** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
|
|
1463
|
+
liquidityRaw?: string | null;
|
|
1464
|
+
}[];
|
|
1465
|
+
};
|
|
1466
|
+
/**
|
|
1467
|
+
* Format: date-time
|
|
1468
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1469
|
+
*/
|
|
1470
|
+
createdAt?: string | null;
|
|
1471
|
+
createdBlockNumber?: number | null;
|
|
1472
|
+
/**
|
|
1473
|
+
* Format: date-time
|
|
1474
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1475
|
+
*/
|
|
1476
|
+
updatedAt?: string | null;
|
|
1477
|
+
warnings: string[];
|
|
1478
|
+
}[];
|
|
1479
|
+
totals: {
|
|
1480
|
+
collateralValueUsd?: number | null;
|
|
1481
|
+
positionCount: number;
|
|
1482
|
+
};
|
|
1483
|
+
freshness: {
|
|
1484
|
+
/** @enum {string} */
|
|
1485
|
+
source: "subgraph";
|
|
1486
|
+
/** @description Block number reported by the vault subgraph read. */
|
|
1487
|
+
blockNumber?: number | null;
|
|
1488
|
+
positionCount: number;
|
|
1489
|
+
};
|
|
1490
|
+
};
|
|
1491
|
+
EnginePositionsV2Response: {
|
|
1492
|
+
/** @enum {string} */
|
|
1493
|
+
schemaVersion: "2";
|
|
1494
|
+
/**
|
|
1495
|
+
* @example 130
|
|
1496
|
+
* @enum {integer}
|
|
1497
|
+
*/
|
|
1498
|
+
chainId: 1 | 130 | 8453;
|
|
1499
|
+
account: string;
|
|
1500
|
+
positions: ({
|
|
1501
|
+
id: string;
|
|
1502
|
+
/**
|
|
1503
|
+
* @example 130
|
|
1504
|
+
* @enum {integer}
|
|
1505
|
+
*/
|
|
1506
|
+
chainId: 1 | 130 | 8453;
|
|
1507
|
+
account: string;
|
|
1508
|
+
vaultId: string;
|
|
1509
|
+
/** @enum {string} */
|
|
1510
|
+
status: "open" | "debt" | "collateral" | "empty";
|
|
1511
|
+
marketId?: string | null;
|
|
1512
|
+
marketName?: string | null;
|
|
1513
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
1514
|
+
poolId: string;
|
|
1515
|
+
token0?: {
|
|
1516
|
+
/**
|
|
1517
|
+
* @example 130
|
|
1518
|
+
* @enum {integer}
|
|
1519
|
+
*/
|
|
1520
|
+
chainId: 1 | 130 | 8453;
|
|
1521
|
+
address: string;
|
|
1522
|
+
symbol: string;
|
|
1523
|
+
name: string;
|
|
1524
|
+
decimals: number;
|
|
1525
|
+
iconUrl?: string | null;
|
|
1526
|
+
priceUsd?: number | null;
|
|
1527
|
+
stable?: boolean | null;
|
|
1528
|
+
} | null;
|
|
1529
|
+
token1?: {
|
|
1530
|
+
/**
|
|
1531
|
+
* @example 130
|
|
1532
|
+
* @enum {integer}
|
|
1533
|
+
*/
|
|
1534
|
+
chainId: 1 | 130 | 8453;
|
|
1535
|
+
address: string;
|
|
1536
|
+
symbol: string;
|
|
1537
|
+
name: string;
|
|
1538
|
+
decimals: number;
|
|
1539
|
+
iconUrl?: string | null;
|
|
1540
|
+
priceUsd?: number | null;
|
|
1541
|
+
stable?: boolean | null;
|
|
1542
|
+
} | null;
|
|
1543
|
+
amount0: {
|
|
1544
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1545
|
+
raw: string;
|
|
1546
|
+
formatted: string;
|
|
1547
|
+
valueUsd?: number | null;
|
|
1548
|
+
};
|
|
1549
|
+
amount1: {
|
|
1550
|
+
/** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
|
|
1551
|
+
raw: string;
|
|
1552
|
+
formatted: string;
|
|
1553
|
+
valueUsd?: number | null;
|
|
1554
|
+
};
|
|
1555
|
+
collateralValueUsd?: number | null;
|
|
1556
|
+
debt: {
|
|
1557
|
+
/** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
|
|
1558
|
+
principalRaw: string;
|
|
1559
|
+
/** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
|
|
1560
|
+
borrowIndexWadAtLastDebt?: string | null;
|
|
1561
|
+
};
|
|
1562
|
+
ltv: {
|
|
1563
|
+
/** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
|
|
1564
|
+
lastLockedPips?: number | null;
|
|
1565
|
+
/** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
|
|
1566
|
+
lastLockedPct?: number | null;
|
|
1567
|
+
/** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
|
|
1568
|
+
maxLtvPips?: number | null;
|
|
1569
|
+
/** @description Market hard LTV in pips (1,000,000 pips = 100%). */
|
|
1570
|
+
hardLtvPips?: number | null;
|
|
1571
|
+
};
|
|
1572
|
+
nfts: {
|
|
1573
|
+
count: number;
|
|
1574
|
+
items: {
|
|
1575
|
+
id?: string | null;
|
|
1576
|
+
kind?: string | null;
|
|
1577
|
+
tokenId?: string | null;
|
|
1578
|
+
/** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
|
|
1579
|
+
liquidityRaw?: string | null;
|
|
1580
|
+
}[];
|
|
1581
|
+
};
|
|
1582
|
+
/**
|
|
1583
|
+
* Format: date-time
|
|
1584
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1585
|
+
*/
|
|
1586
|
+
createdAt?: string | null;
|
|
1587
|
+
createdBlockNumber?: number | null;
|
|
1588
|
+
/**
|
|
1589
|
+
* Format: date-time
|
|
1590
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1591
|
+
*/
|
|
1592
|
+
updatedAt?: string | null;
|
|
1593
|
+
warnings: string[];
|
|
1594
|
+
/** @enum {string} */
|
|
1595
|
+
kind: "borrow_vault";
|
|
1596
|
+
} | {
|
|
1597
|
+
/** @enum {string} */
|
|
1598
|
+
kind: "lend_shares";
|
|
1599
|
+
/** @example engine-lend:1:0x… */
|
|
1600
|
+
id: string;
|
|
1601
|
+
/**
|
|
1602
|
+
* @example 130
|
|
1603
|
+
* @enum {integer}
|
|
1604
|
+
*/
|
|
1605
|
+
chainId: 1 | 130 | 8453;
|
|
1606
|
+
account: string;
|
|
1607
|
+
marketId: string | null;
|
|
1608
|
+
marketName: string | null;
|
|
1609
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
1610
|
+
poolId: string;
|
|
1611
|
+
token0: {
|
|
1612
|
+
/**
|
|
1613
|
+
* @example 130
|
|
1614
|
+
* @enum {integer}
|
|
1615
|
+
*/
|
|
1616
|
+
chainId: 1 | 130 | 8453;
|
|
1617
|
+
address: string;
|
|
1618
|
+
symbol: string;
|
|
1619
|
+
name: string;
|
|
1620
|
+
decimals: number;
|
|
1621
|
+
iconUrl?: string | null;
|
|
1622
|
+
priceUsd?: number | null;
|
|
1623
|
+
stable?: boolean | null;
|
|
1624
|
+
} | null;
|
|
1625
|
+
token1: {
|
|
1626
|
+
/**
|
|
1627
|
+
* @example 130
|
|
1628
|
+
* @enum {integer}
|
|
1629
|
+
*/
|
|
1630
|
+
chainId: 1 | 130 | 8453;
|
|
1631
|
+
address: string;
|
|
1632
|
+
symbol: string;
|
|
1633
|
+
name: string;
|
|
1634
|
+
decimals: number;
|
|
1635
|
+
iconUrl?: string | null;
|
|
1636
|
+
priceUsd?: number | null;
|
|
1637
|
+
stable?: boolean | null;
|
|
1638
|
+
} | null;
|
|
1639
|
+
/** @description Indexed lender balance in raw Engine share units as an unsigned bigint decimal string. Use a current share price for valuation. */
|
|
1640
|
+
indexedBalanceRaw: string;
|
|
1641
|
+
warnings: string[];
|
|
1642
|
+
freshness: {
|
|
1643
|
+
/** @enum {string} */
|
|
1644
|
+
source: "subgraph";
|
|
1645
|
+
/** @description Subgraph block used as the conservative freshness watermark for the indexed share page set. Null when a page did not report a block. */
|
|
1646
|
+
indexedBlockNumber: number | null;
|
|
1647
|
+
};
|
|
1648
|
+
})[];
|
|
1649
|
+
totals: {
|
|
1650
|
+
collateralValueUsd?: number | null;
|
|
1651
|
+
positionCount: number;
|
|
1652
|
+
borrowVaultCount: number;
|
|
1653
|
+
lendPositionCount: number;
|
|
1654
|
+
};
|
|
1655
|
+
freshness: {
|
|
1656
|
+
/** @enum {string} */
|
|
1657
|
+
source: "subgraph";
|
|
1658
|
+
/** @description Oldest indexed block across the vault and lender-share reads; null when either source does not report a block. */
|
|
1659
|
+
blockNumber?: number | null;
|
|
1660
|
+
positionCount: number;
|
|
1661
|
+
};
|
|
1662
|
+
};
|
|
1663
|
+
EngineActivityMarketState: {
|
|
1664
|
+
marketId: string | null;
|
|
1665
|
+
marketName: string | null;
|
|
1666
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
1667
|
+
poolId: string;
|
|
1668
|
+
/** @description Market borrow index as last indexed, WAD (1e18), as an unsigned bigint decimal string. */
|
|
1669
|
+
borrowIndexWad: string | null;
|
|
1670
|
+
/** @description Unix seconds of the market's last on-chain interest accrual; project the index forward from here with ratePerSecondWad. */
|
|
1671
|
+
lastAccrueTimestamp: number | null;
|
|
1672
|
+
/** @description Current per-second borrow rate from the REST market read model, WAD (1e18). Null (never zero) with a rate-unavailable warning when unknown. */
|
|
1673
|
+
ratePerSecondWad: string | null;
|
|
1674
|
+
/**
|
|
1675
|
+
* Format: date-time
|
|
1676
|
+
* @description When the Canopy-sourced ratePerSecondWad snapshot was written; null when unknown. Unlike the sibling subgraph-at-block fields, the rate has its own freshness — use it to bound the error when projecting the index forward.
|
|
1677
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1678
|
+
*/
|
|
1679
|
+
rateUpdatedAt: string | null;
|
|
1680
|
+
/** @description Total pool-relative liquidity debt outstanding as last indexed, as an unsigned bigint decimal string; not a token amount. */
|
|
1681
|
+
totalRlBorrowed: string | null;
|
|
1682
|
+
/** @description Total lender shares outstanding as last indexed, in raw Engine share units as an unsigned bigint decimal string. */
|
|
1683
|
+
shareTotalSupply: string | null;
|
|
1684
|
+
warnings: string[];
|
|
1685
|
+
};
|
|
1686
|
+
EngineVaultActivityAction: {
|
|
1687
|
+
/** @enum {string} */
|
|
1688
|
+
kind: "vault_created";
|
|
1689
|
+
/**
|
|
1690
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1691
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1692
|
+
*/
|
|
1693
|
+
id: string;
|
|
1694
|
+
/**
|
|
1695
|
+
* @description Event block time in Unix seconds.
|
|
1696
|
+
* @example 1777990794
|
|
1697
|
+
*/
|
|
1698
|
+
timestamp: number;
|
|
1699
|
+
blockNumber: number;
|
|
1700
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1701
|
+
transactionIndex: number;
|
|
1702
|
+
/**
|
|
1703
|
+
* @description Transaction hash.
|
|
1704
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1705
|
+
*/
|
|
1706
|
+
txHash: string;
|
|
1707
|
+
logIndex: number;
|
|
1708
|
+
owner: string;
|
|
1709
|
+
} | {
|
|
1710
|
+
/** @enum {string} */
|
|
1711
|
+
kind: "vault_burned";
|
|
1712
|
+
/**
|
|
1713
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1714
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1715
|
+
*/
|
|
1716
|
+
id: string;
|
|
1717
|
+
/**
|
|
1718
|
+
* @description Event block time in Unix seconds.
|
|
1719
|
+
* @example 1777990794
|
|
1720
|
+
*/
|
|
1721
|
+
timestamp: number;
|
|
1722
|
+
blockNumber: number;
|
|
1723
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1724
|
+
transactionIndex: number;
|
|
1725
|
+
/**
|
|
1726
|
+
* @description Transaction hash.
|
|
1727
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1728
|
+
*/
|
|
1729
|
+
txHash: string;
|
|
1730
|
+
logIndex: number;
|
|
1731
|
+
/** @description Address that executed the burn — in practice the chain's constant Engine periphery/router, not the vault owner. */
|
|
1732
|
+
caller: string;
|
|
1733
|
+
} | {
|
|
1734
|
+
/** @enum {string} */
|
|
1735
|
+
kind: "vault_locked";
|
|
1736
|
+
/**
|
|
1737
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1738
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1739
|
+
*/
|
|
1740
|
+
id: string;
|
|
1741
|
+
/**
|
|
1742
|
+
* @description Event block time in Unix seconds.
|
|
1743
|
+
* @example 1777990794
|
|
1744
|
+
*/
|
|
1745
|
+
timestamp: number;
|
|
1746
|
+
blockNumber: number;
|
|
1747
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1748
|
+
transactionIndex: number;
|
|
1749
|
+
/**
|
|
1750
|
+
* @description Transaction hash.
|
|
1751
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1752
|
+
*/
|
|
1753
|
+
txHash: string;
|
|
1754
|
+
logIndex: number;
|
|
1755
|
+
/** @description Vault LTV in pips at this lock (1,000,000 pips = 100%); historical, not current health. */
|
|
1756
|
+
ltvPips: number | null;
|
|
1757
|
+
} | {
|
|
1758
|
+
/** @enum {string} */
|
|
1759
|
+
kind: "debt_modified";
|
|
1760
|
+
/**
|
|
1761
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1762
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1763
|
+
*/
|
|
1764
|
+
id: string;
|
|
1765
|
+
/**
|
|
1766
|
+
* @description Event block time in Unix seconds.
|
|
1767
|
+
* @example 1777990794
|
|
1768
|
+
*/
|
|
1769
|
+
timestamp: number;
|
|
1770
|
+
blockNumber: number;
|
|
1771
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1772
|
+
transactionIndex: number;
|
|
1773
|
+
/**
|
|
1774
|
+
* @description Transaction hash.
|
|
1775
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1776
|
+
*/
|
|
1777
|
+
txHash: string;
|
|
1778
|
+
logIndex: number;
|
|
1779
|
+
/** @description Signed pool-relative liquidity-debt principal delta the caller requested, as a bigint decimal string. */
|
|
1780
|
+
principalDeltaRequestedRaw: string;
|
|
1781
|
+
/** @description Signed pool-relative liquidity-debt principal delta actually applied (positive = borrow, negative = repay), as a bigint decimal string. */
|
|
1782
|
+
principalDeltaActualRaw: string;
|
|
1783
|
+
/** @description Market borrow index at this event, WAD (1e18). Growing the event principal by currentBorrowIndexWad / borrowIndexWad yields the accrued debt from this borrow. */
|
|
1784
|
+
borrowIndexWad: string;
|
|
1785
|
+
deltaIdle0Raw: string;
|
|
1786
|
+
deltaIdle1Raw: string;
|
|
1787
|
+
} | {
|
|
1788
|
+
/** @enum {string} */
|
|
1789
|
+
kind: "idle_modified";
|
|
1790
|
+
/**
|
|
1791
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1792
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1793
|
+
*/
|
|
1794
|
+
id: string;
|
|
1795
|
+
/**
|
|
1796
|
+
* @description Event block time in Unix seconds.
|
|
1797
|
+
* @example 1777990794
|
|
1798
|
+
*/
|
|
1799
|
+
timestamp: number;
|
|
1800
|
+
blockNumber: number;
|
|
1801
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1802
|
+
transactionIndex: number;
|
|
1803
|
+
/**
|
|
1804
|
+
* @description Transaction hash.
|
|
1805
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1806
|
+
*/
|
|
1807
|
+
txHash: string;
|
|
1808
|
+
logIndex: number;
|
|
1809
|
+
deltaAmount0Raw: string;
|
|
1810
|
+
deltaAmount1Raw: string;
|
|
1811
|
+
} | {
|
|
1812
|
+
/** @enum {string} */
|
|
1813
|
+
kind: "vault_micro_liquidated";
|
|
1814
|
+
/**
|
|
1815
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1816
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1817
|
+
*/
|
|
1818
|
+
id: string;
|
|
1819
|
+
/**
|
|
1820
|
+
* @description Event block time in Unix seconds.
|
|
1821
|
+
* @example 1777990794
|
|
1822
|
+
*/
|
|
1823
|
+
timestamp: number;
|
|
1824
|
+
blockNumber: number;
|
|
1825
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1826
|
+
transactionIndex: number;
|
|
1827
|
+
/**
|
|
1828
|
+
* @description Transaction hash.
|
|
1829
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1830
|
+
*/
|
|
1831
|
+
txHash: string;
|
|
1832
|
+
logIndex: number;
|
|
1833
|
+
caller: string;
|
|
1834
|
+
zeroForOne: boolean;
|
|
1835
|
+
swapDelta0Raw: string;
|
|
1836
|
+
swapDelta1Raw: string;
|
|
1837
|
+
debtRepaidRlRaw: string;
|
|
1838
|
+
idleDelta0Raw: string;
|
|
1839
|
+
idleDelta1Raw: string;
|
|
1840
|
+
keeperFee0Raw: string;
|
|
1841
|
+
keeperFee1Raw: string;
|
|
1842
|
+
initialLtvPips: number | null;
|
|
1843
|
+
};
|
|
1844
|
+
EngineLendActivityAction: {
|
|
1845
|
+
/** @enum {string} */
|
|
1846
|
+
kind: "deposit";
|
|
1847
|
+
/**
|
|
1848
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1849
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1850
|
+
*/
|
|
1851
|
+
id: string;
|
|
1852
|
+
/**
|
|
1853
|
+
* @description Event block time in Unix seconds.
|
|
1854
|
+
* @example 1777990794
|
|
1855
|
+
*/
|
|
1856
|
+
timestamp: number;
|
|
1857
|
+
blockNumber: number;
|
|
1858
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1859
|
+
transactionIndex: number;
|
|
1860
|
+
/**
|
|
1861
|
+
* @description Transaction hash.
|
|
1862
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1863
|
+
*/
|
|
1864
|
+
txHash: string;
|
|
1865
|
+
logIndex: number;
|
|
1866
|
+
/** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
|
|
1867
|
+
deltaSharesRaw: string;
|
|
1868
|
+
/** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
1869
|
+
deltaAmount0Raw: string;
|
|
1870
|
+
/** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
1871
|
+
deltaAmount1Raw: string;
|
|
1872
|
+
} | {
|
|
1873
|
+
/** @enum {string} */
|
|
1874
|
+
kind: "withdraw";
|
|
1875
|
+
/**
|
|
1876
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1877
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1878
|
+
*/
|
|
1879
|
+
id: string;
|
|
1880
|
+
/**
|
|
1881
|
+
* @description Event block time in Unix seconds.
|
|
1882
|
+
* @example 1777990794
|
|
1883
|
+
*/
|
|
1884
|
+
timestamp: number;
|
|
1885
|
+
blockNumber: number;
|
|
1886
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1887
|
+
transactionIndex: number;
|
|
1888
|
+
/**
|
|
1889
|
+
* @description Transaction hash.
|
|
1890
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1891
|
+
*/
|
|
1892
|
+
txHash: string;
|
|
1893
|
+
logIndex: number;
|
|
1894
|
+
/** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
|
|
1895
|
+
deltaSharesRaw: string;
|
|
1896
|
+
/** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
1897
|
+
deltaAmount0Raw: string;
|
|
1898
|
+
/** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
1899
|
+
deltaAmount1Raw: string;
|
|
1900
|
+
} | {
|
|
1901
|
+
/** @enum {string} */
|
|
1902
|
+
kind: "transfer_in";
|
|
1903
|
+
/**
|
|
1904
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1905
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1906
|
+
*/
|
|
1907
|
+
id: string;
|
|
1908
|
+
/**
|
|
1909
|
+
* @description Event block time in Unix seconds.
|
|
1910
|
+
* @example 1777990794
|
|
1911
|
+
*/
|
|
1912
|
+
timestamp: number;
|
|
1913
|
+
blockNumber: number;
|
|
1914
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1915
|
+
transactionIndex: number;
|
|
1916
|
+
/**
|
|
1917
|
+
* @description Transaction hash.
|
|
1918
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1919
|
+
*/
|
|
1920
|
+
txHash: string;
|
|
1921
|
+
logIndex: number;
|
|
1922
|
+
/** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
|
|
1923
|
+
sharesRaw: string;
|
|
1924
|
+
counterparty: string;
|
|
1925
|
+
} | {
|
|
1926
|
+
/** @enum {string} */
|
|
1927
|
+
kind: "transfer_out";
|
|
1928
|
+
/**
|
|
1929
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1930
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1931
|
+
*/
|
|
1932
|
+
id: string;
|
|
1933
|
+
/**
|
|
1934
|
+
* @description Event block time in Unix seconds.
|
|
1935
|
+
* @example 1777990794
|
|
1936
|
+
*/
|
|
1937
|
+
timestamp: number;
|
|
1938
|
+
blockNumber: number;
|
|
1939
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1940
|
+
transactionIndex: number;
|
|
1941
|
+
/**
|
|
1942
|
+
* @description Transaction hash.
|
|
1943
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1944
|
+
*/
|
|
1945
|
+
txHash: string;
|
|
1946
|
+
logIndex: number;
|
|
1947
|
+
/** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
|
|
1948
|
+
sharesRaw: string;
|
|
1949
|
+
counterparty: string;
|
|
1950
|
+
};
|
|
1951
|
+
EngineVaultActivity: {
|
|
1952
|
+
vaultId: string;
|
|
1953
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
1954
|
+
poolId: string;
|
|
1955
|
+
marketId: string | null;
|
|
1956
|
+
marketName: string | null;
|
|
1957
|
+
/**
|
|
1958
|
+
* Format: date-time
|
|
1959
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1960
|
+
*/
|
|
1961
|
+
createdAt: string | null;
|
|
1962
|
+
/**
|
|
1963
|
+
* Format: date-time
|
|
1964
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
1965
|
+
*/
|
|
1966
|
+
burnedAt: string | null;
|
|
1967
|
+
/** @description Ordered oldest-first (ledger replay order), by blockNumber, then transactionIndex, then logIndex. */
|
|
1968
|
+
actions: ({
|
|
1969
|
+
/** @enum {string} */
|
|
1970
|
+
kind: "vault_created";
|
|
1971
|
+
/**
|
|
1972
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1973
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1974
|
+
*/
|
|
1975
|
+
id: string;
|
|
1976
|
+
/**
|
|
1977
|
+
* @description Event block time in Unix seconds.
|
|
1978
|
+
* @example 1777990794
|
|
1979
|
+
*/
|
|
1980
|
+
timestamp: number;
|
|
1981
|
+
blockNumber: number;
|
|
1982
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
1983
|
+
transactionIndex: number;
|
|
1984
|
+
/**
|
|
1985
|
+
* @description Transaction hash.
|
|
1986
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
1987
|
+
*/
|
|
1988
|
+
txHash: string;
|
|
1989
|
+
logIndex: number;
|
|
1990
|
+
owner: string;
|
|
1991
|
+
} | {
|
|
1992
|
+
/** @enum {string} */
|
|
1993
|
+
kind: "vault_burned";
|
|
1994
|
+
/**
|
|
1995
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
1996
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
1997
|
+
*/
|
|
1998
|
+
id: string;
|
|
1999
|
+
/**
|
|
2000
|
+
* @description Event block time in Unix seconds.
|
|
2001
|
+
* @example 1777990794
|
|
2002
|
+
*/
|
|
2003
|
+
timestamp: number;
|
|
2004
|
+
blockNumber: number;
|
|
2005
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2006
|
+
transactionIndex: number;
|
|
2007
|
+
/**
|
|
2008
|
+
* @description Transaction hash.
|
|
2009
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2010
|
+
*/
|
|
2011
|
+
txHash: string;
|
|
2012
|
+
logIndex: number;
|
|
2013
|
+
/** @description Address that executed the burn — in practice the chain's constant Engine periphery/router, not the vault owner. */
|
|
2014
|
+
caller: string;
|
|
2015
|
+
} | {
|
|
2016
|
+
/** @enum {string} */
|
|
2017
|
+
kind: "vault_locked";
|
|
2018
|
+
/**
|
|
2019
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2020
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2021
|
+
*/
|
|
2022
|
+
id: string;
|
|
2023
|
+
/**
|
|
2024
|
+
* @description Event block time in Unix seconds.
|
|
2025
|
+
* @example 1777990794
|
|
2026
|
+
*/
|
|
2027
|
+
timestamp: number;
|
|
2028
|
+
blockNumber: number;
|
|
2029
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2030
|
+
transactionIndex: number;
|
|
2031
|
+
/**
|
|
2032
|
+
* @description Transaction hash.
|
|
2033
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2034
|
+
*/
|
|
2035
|
+
txHash: string;
|
|
2036
|
+
logIndex: number;
|
|
2037
|
+
/** @description Vault LTV in pips at this lock (1,000,000 pips = 100%); historical, not current health. */
|
|
2038
|
+
ltvPips: number | null;
|
|
2039
|
+
} | {
|
|
2040
|
+
/** @enum {string} */
|
|
2041
|
+
kind: "debt_modified";
|
|
2042
|
+
/**
|
|
2043
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2044
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2045
|
+
*/
|
|
2046
|
+
id: string;
|
|
2047
|
+
/**
|
|
2048
|
+
* @description Event block time in Unix seconds.
|
|
2049
|
+
* @example 1777990794
|
|
2050
|
+
*/
|
|
2051
|
+
timestamp: number;
|
|
2052
|
+
blockNumber: number;
|
|
2053
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2054
|
+
transactionIndex: number;
|
|
2055
|
+
/**
|
|
2056
|
+
* @description Transaction hash.
|
|
2057
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2058
|
+
*/
|
|
2059
|
+
txHash: string;
|
|
2060
|
+
logIndex: number;
|
|
2061
|
+
/** @description Signed pool-relative liquidity-debt principal delta the caller requested, as a bigint decimal string. */
|
|
2062
|
+
principalDeltaRequestedRaw: string;
|
|
2063
|
+
/** @description Signed pool-relative liquidity-debt principal delta actually applied (positive = borrow, negative = repay), as a bigint decimal string. */
|
|
2064
|
+
principalDeltaActualRaw: string;
|
|
2065
|
+
/** @description Market borrow index at this event, WAD (1e18). Growing the event principal by currentBorrowIndexWad / borrowIndexWad yields the accrued debt from this borrow. */
|
|
2066
|
+
borrowIndexWad: string;
|
|
2067
|
+
deltaIdle0Raw: string;
|
|
2068
|
+
deltaIdle1Raw: string;
|
|
2069
|
+
} | {
|
|
2070
|
+
/** @enum {string} */
|
|
2071
|
+
kind: "idle_modified";
|
|
2072
|
+
/**
|
|
2073
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2074
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2075
|
+
*/
|
|
2076
|
+
id: string;
|
|
2077
|
+
/**
|
|
2078
|
+
* @description Event block time in Unix seconds.
|
|
2079
|
+
* @example 1777990794
|
|
2080
|
+
*/
|
|
2081
|
+
timestamp: number;
|
|
2082
|
+
blockNumber: number;
|
|
2083
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2084
|
+
transactionIndex: number;
|
|
2085
|
+
/**
|
|
2086
|
+
* @description Transaction hash.
|
|
2087
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2088
|
+
*/
|
|
2089
|
+
txHash: string;
|
|
2090
|
+
logIndex: number;
|
|
2091
|
+
deltaAmount0Raw: string;
|
|
2092
|
+
deltaAmount1Raw: string;
|
|
2093
|
+
} | {
|
|
2094
|
+
/** @enum {string} */
|
|
2095
|
+
kind: "vault_micro_liquidated";
|
|
2096
|
+
/**
|
|
2097
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2098
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2099
|
+
*/
|
|
2100
|
+
id: string;
|
|
2101
|
+
/**
|
|
2102
|
+
* @description Event block time in Unix seconds.
|
|
2103
|
+
* @example 1777990794
|
|
2104
|
+
*/
|
|
2105
|
+
timestamp: number;
|
|
2106
|
+
blockNumber: number;
|
|
2107
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2108
|
+
transactionIndex: number;
|
|
2109
|
+
/**
|
|
2110
|
+
* @description Transaction hash.
|
|
2111
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2112
|
+
*/
|
|
2113
|
+
txHash: string;
|
|
2114
|
+
logIndex: number;
|
|
2115
|
+
caller: string;
|
|
2116
|
+
zeroForOne: boolean;
|
|
2117
|
+
swapDelta0Raw: string;
|
|
2118
|
+
swapDelta1Raw: string;
|
|
2119
|
+
debtRepaidRlRaw: string;
|
|
2120
|
+
idleDelta0Raw: string;
|
|
2121
|
+
idleDelta1Raw: string;
|
|
2122
|
+
keeperFee0Raw: string;
|
|
2123
|
+
keeperFee1Raw: string;
|
|
2124
|
+
initialLtvPips: number | null;
|
|
2125
|
+
})[];
|
|
2126
|
+
};
|
|
2127
|
+
EngineLendActivity: {
|
|
2128
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
2129
|
+
poolId: string;
|
|
2130
|
+
marketId: string | null;
|
|
2131
|
+
marketName: string | null;
|
|
2132
|
+
/** @description Ordered oldest-first (ledger replay order), by blockNumber, then transactionIndex, then logIndex. */
|
|
2133
|
+
actions: ({
|
|
2134
|
+
/** @enum {string} */
|
|
2135
|
+
kind: "deposit";
|
|
2136
|
+
/**
|
|
2137
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2138
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2139
|
+
*/
|
|
2140
|
+
id: string;
|
|
2141
|
+
/**
|
|
2142
|
+
* @description Event block time in Unix seconds.
|
|
2143
|
+
* @example 1777990794
|
|
2144
|
+
*/
|
|
2145
|
+
timestamp: number;
|
|
2146
|
+
blockNumber: number;
|
|
2147
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2148
|
+
transactionIndex: number;
|
|
2149
|
+
/**
|
|
2150
|
+
* @description Transaction hash.
|
|
2151
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2152
|
+
*/
|
|
2153
|
+
txHash: string;
|
|
2154
|
+
logIndex: number;
|
|
2155
|
+
/** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
|
|
2156
|
+
deltaSharesRaw: string;
|
|
2157
|
+
/** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
2158
|
+
deltaAmount0Raw: string;
|
|
2159
|
+
/** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
2160
|
+
deltaAmount1Raw: string;
|
|
2161
|
+
} | {
|
|
2162
|
+
/** @enum {string} */
|
|
2163
|
+
kind: "withdraw";
|
|
2164
|
+
/**
|
|
2165
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2166
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2167
|
+
*/
|
|
2168
|
+
id: string;
|
|
2169
|
+
/**
|
|
2170
|
+
* @description Event block time in Unix seconds.
|
|
2171
|
+
* @example 1777990794
|
|
2172
|
+
*/
|
|
2173
|
+
timestamp: number;
|
|
2174
|
+
blockNumber: number;
|
|
2175
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2176
|
+
transactionIndex: number;
|
|
2177
|
+
/**
|
|
2178
|
+
* @description Transaction hash.
|
|
2179
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2180
|
+
*/
|
|
2181
|
+
txHash: string;
|
|
2182
|
+
logIndex: number;
|
|
2183
|
+
/** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
|
|
2184
|
+
deltaSharesRaw: string;
|
|
2185
|
+
/** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
2186
|
+
deltaAmount0Raw: string;
|
|
2187
|
+
/** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
2188
|
+
deltaAmount1Raw: string;
|
|
2189
|
+
} | {
|
|
2190
|
+
/** @enum {string} */
|
|
2191
|
+
kind: "transfer_in";
|
|
2192
|
+
/**
|
|
2193
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2194
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2195
|
+
*/
|
|
2196
|
+
id: string;
|
|
2197
|
+
/**
|
|
2198
|
+
* @description Event block time in Unix seconds.
|
|
2199
|
+
* @example 1777990794
|
|
2200
|
+
*/
|
|
2201
|
+
timestamp: number;
|
|
2202
|
+
blockNumber: number;
|
|
2203
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2204
|
+
transactionIndex: number;
|
|
2205
|
+
/**
|
|
2206
|
+
* @description Transaction hash.
|
|
2207
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2208
|
+
*/
|
|
2209
|
+
txHash: string;
|
|
2210
|
+
logIndex: number;
|
|
2211
|
+
/** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
|
|
2212
|
+
sharesRaw: string;
|
|
2213
|
+
counterparty: string;
|
|
2214
|
+
} | {
|
|
2215
|
+
/** @enum {string} */
|
|
2216
|
+
kind: "transfer_out";
|
|
2217
|
+
/**
|
|
2218
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2219
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2220
|
+
*/
|
|
2221
|
+
id: string;
|
|
2222
|
+
/**
|
|
2223
|
+
* @description Event block time in Unix seconds.
|
|
2224
|
+
* @example 1777990794
|
|
2225
|
+
*/
|
|
2226
|
+
timestamp: number;
|
|
2227
|
+
blockNumber: number;
|
|
2228
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2229
|
+
transactionIndex: number;
|
|
2230
|
+
/**
|
|
2231
|
+
* @description Transaction hash.
|
|
2232
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2233
|
+
*/
|
|
2234
|
+
txHash: string;
|
|
2235
|
+
logIndex: number;
|
|
2236
|
+
/** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
|
|
2237
|
+
sharesRaw: string;
|
|
2238
|
+
counterparty: string;
|
|
2239
|
+
})[];
|
|
2240
|
+
};
|
|
2241
|
+
EngineActivityResponse: {
|
|
2242
|
+
/** @enum {string} */
|
|
2243
|
+
schemaVersion: "1";
|
|
2244
|
+
/**
|
|
2245
|
+
* @example 130
|
|
2246
|
+
* @enum {integer}
|
|
2247
|
+
*/
|
|
2248
|
+
chainId: 1 | 130 | 8453;
|
|
2249
|
+
account: string;
|
|
2250
|
+
marketState: {
|
|
2251
|
+
marketId: string | null;
|
|
2252
|
+
marketName: string | null;
|
|
2253
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
2254
|
+
poolId: string;
|
|
2255
|
+
/** @description Market borrow index as last indexed, WAD (1e18), as an unsigned bigint decimal string. */
|
|
2256
|
+
borrowIndexWad: string | null;
|
|
2257
|
+
/** @description Unix seconds of the market's last on-chain interest accrual; project the index forward from here with ratePerSecondWad. */
|
|
2258
|
+
lastAccrueTimestamp: number | null;
|
|
2259
|
+
/** @description Current per-second borrow rate from the REST market read model, WAD (1e18). Null (never zero) with a rate-unavailable warning when unknown. */
|
|
2260
|
+
ratePerSecondWad: string | null;
|
|
2261
|
+
/**
|
|
2262
|
+
* Format: date-time
|
|
2263
|
+
* @description When the Canopy-sourced ratePerSecondWad snapshot was written; null when unknown. Unlike the sibling subgraph-at-block fields, the rate has its own freshness — use it to bound the error when projecting the index forward.
|
|
2264
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
2265
|
+
*/
|
|
2266
|
+
rateUpdatedAt: string | null;
|
|
2267
|
+
/** @description Total pool-relative liquidity debt outstanding as last indexed, as an unsigned bigint decimal string; not a token amount. */
|
|
2268
|
+
totalRlBorrowed: string | null;
|
|
2269
|
+
/** @description Total lender shares outstanding as last indexed, in raw Engine share units as an unsigned bigint decimal string. */
|
|
2270
|
+
shareTotalSupply: string | null;
|
|
2271
|
+
warnings: string[];
|
|
2272
|
+
}[];
|
|
2273
|
+
/** @description Ordered newest-first by numeric vaultId (vault ids are minted sequentially), matching the positions ordering. Burned vaults are included. */
|
|
2274
|
+
vaults: {
|
|
2275
|
+
vaultId: string;
|
|
2276
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
2277
|
+
poolId: string;
|
|
2278
|
+
marketId: string | null;
|
|
2279
|
+
marketName: string | null;
|
|
2280
|
+
/**
|
|
2281
|
+
* Format: date-time
|
|
2282
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
2283
|
+
*/
|
|
2284
|
+
createdAt: string | null;
|
|
2285
|
+
/**
|
|
2286
|
+
* Format: date-time
|
|
2287
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
2288
|
+
*/
|
|
2289
|
+
burnedAt: string | null;
|
|
2290
|
+
/** @description Ordered oldest-first (ledger replay order), by blockNumber, then transactionIndex, then logIndex. */
|
|
2291
|
+
actions: ({
|
|
2292
|
+
/** @enum {string} */
|
|
2293
|
+
kind: "vault_created";
|
|
2294
|
+
/**
|
|
2295
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2296
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2297
|
+
*/
|
|
2298
|
+
id: string;
|
|
2299
|
+
/**
|
|
2300
|
+
* @description Event block time in Unix seconds.
|
|
2301
|
+
* @example 1777990794
|
|
2302
|
+
*/
|
|
2303
|
+
timestamp: number;
|
|
2304
|
+
blockNumber: number;
|
|
2305
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2306
|
+
transactionIndex: number;
|
|
2307
|
+
/**
|
|
2308
|
+
* @description Transaction hash.
|
|
2309
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2310
|
+
*/
|
|
2311
|
+
txHash: string;
|
|
2312
|
+
logIndex: number;
|
|
2313
|
+
owner: string;
|
|
2314
|
+
} | {
|
|
2315
|
+
/** @enum {string} */
|
|
2316
|
+
kind: "vault_burned";
|
|
2317
|
+
/**
|
|
2318
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2319
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2320
|
+
*/
|
|
2321
|
+
id: string;
|
|
2322
|
+
/**
|
|
2323
|
+
* @description Event block time in Unix seconds.
|
|
2324
|
+
* @example 1777990794
|
|
2325
|
+
*/
|
|
2326
|
+
timestamp: number;
|
|
2327
|
+
blockNumber: number;
|
|
2328
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2329
|
+
transactionIndex: number;
|
|
2330
|
+
/**
|
|
2331
|
+
* @description Transaction hash.
|
|
2332
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2333
|
+
*/
|
|
2334
|
+
txHash: string;
|
|
2335
|
+
logIndex: number;
|
|
2336
|
+
/** @description Address that executed the burn — in practice the chain's constant Engine periphery/router, not the vault owner. */
|
|
2337
|
+
caller: string;
|
|
2338
|
+
} | {
|
|
2339
|
+
/** @enum {string} */
|
|
2340
|
+
kind: "vault_locked";
|
|
2341
|
+
/**
|
|
2342
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2343
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2344
|
+
*/
|
|
2345
|
+
id: string;
|
|
2346
|
+
/**
|
|
2347
|
+
* @description Event block time in Unix seconds.
|
|
2348
|
+
* @example 1777990794
|
|
2349
|
+
*/
|
|
2350
|
+
timestamp: number;
|
|
2351
|
+
blockNumber: number;
|
|
2352
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2353
|
+
transactionIndex: number;
|
|
2354
|
+
/**
|
|
2355
|
+
* @description Transaction hash.
|
|
2356
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2357
|
+
*/
|
|
2358
|
+
txHash: string;
|
|
2359
|
+
logIndex: number;
|
|
2360
|
+
/** @description Vault LTV in pips at this lock (1,000,000 pips = 100%); historical, not current health. */
|
|
2361
|
+
ltvPips: number | null;
|
|
2362
|
+
} | {
|
|
2363
|
+
/** @enum {string} */
|
|
2364
|
+
kind: "debt_modified";
|
|
2365
|
+
/**
|
|
2366
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2367
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2368
|
+
*/
|
|
2369
|
+
id: string;
|
|
2370
|
+
/**
|
|
2371
|
+
* @description Event block time in Unix seconds.
|
|
2372
|
+
* @example 1777990794
|
|
2373
|
+
*/
|
|
2374
|
+
timestamp: number;
|
|
2375
|
+
blockNumber: number;
|
|
2376
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2377
|
+
transactionIndex: number;
|
|
2378
|
+
/**
|
|
2379
|
+
* @description Transaction hash.
|
|
2380
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2381
|
+
*/
|
|
2382
|
+
txHash: string;
|
|
2383
|
+
logIndex: number;
|
|
2384
|
+
/** @description Signed pool-relative liquidity-debt principal delta the caller requested, as a bigint decimal string. */
|
|
2385
|
+
principalDeltaRequestedRaw: string;
|
|
2386
|
+
/** @description Signed pool-relative liquidity-debt principal delta actually applied (positive = borrow, negative = repay), as a bigint decimal string. */
|
|
2387
|
+
principalDeltaActualRaw: string;
|
|
2388
|
+
/** @description Market borrow index at this event, WAD (1e18). Growing the event principal by currentBorrowIndexWad / borrowIndexWad yields the accrued debt from this borrow. */
|
|
2389
|
+
borrowIndexWad: string;
|
|
2390
|
+
deltaIdle0Raw: string;
|
|
2391
|
+
deltaIdle1Raw: string;
|
|
2392
|
+
} | {
|
|
2393
|
+
/** @enum {string} */
|
|
2394
|
+
kind: "idle_modified";
|
|
2395
|
+
/**
|
|
2396
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2397
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2398
|
+
*/
|
|
2399
|
+
id: string;
|
|
2400
|
+
/**
|
|
2401
|
+
* @description Event block time in Unix seconds.
|
|
2402
|
+
* @example 1777990794
|
|
2403
|
+
*/
|
|
2404
|
+
timestamp: number;
|
|
2405
|
+
blockNumber: number;
|
|
2406
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2407
|
+
transactionIndex: number;
|
|
2408
|
+
/**
|
|
2409
|
+
* @description Transaction hash.
|
|
2410
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2411
|
+
*/
|
|
2412
|
+
txHash: string;
|
|
2413
|
+
logIndex: number;
|
|
2414
|
+
deltaAmount0Raw: string;
|
|
2415
|
+
deltaAmount1Raw: string;
|
|
2416
|
+
} | {
|
|
2417
|
+
/** @enum {string} */
|
|
2418
|
+
kind: "vault_micro_liquidated";
|
|
2419
|
+
/**
|
|
2420
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2421
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2422
|
+
*/
|
|
2423
|
+
id: string;
|
|
2424
|
+
/**
|
|
2425
|
+
* @description Event block time in Unix seconds.
|
|
2426
|
+
* @example 1777990794
|
|
2427
|
+
*/
|
|
2428
|
+
timestamp: number;
|
|
2429
|
+
blockNumber: number;
|
|
2430
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2431
|
+
transactionIndex: number;
|
|
2432
|
+
/**
|
|
2433
|
+
* @description Transaction hash.
|
|
2434
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2435
|
+
*/
|
|
2436
|
+
txHash: string;
|
|
2437
|
+
logIndex: number;
|
|
2438
|
+
caller: string;
|
|
2439
|
+
zeroForOne: boolean;
|
|
2440
|
+
swapDelta0Raw: string;
|
|
2441
|
+
swapDelta1Raw: string;
|
|
2442
|
+
debtRepaidRlRaw: string;
|
|
2443
|
+
idleDelta0Raw: string;
|
|
2444
|
+
idleDelta1Raw: string;
|
|
2445
|
+
keeperFee0Raw: string;
|
|
2446
|
+
keeperFee1Raw: string;
|
|
2447
|
+
initialLtvPips: number | null;
|
|
2448
|
+
})[];
|
|
2449
|
+
}[];
|
|
2450
|
+
/** @description Ordered by poolId ascending. */
|
|
2451
|
+
lend: {
|
|
2452
|
+
/** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
|
|
2453
|
+
poolId: string;
|
|
2454
|
+
marketId: string | null;
|
|
2455
|
+
marketName: string | null;
|
|
2456
|
+
/** @description Ordered oldest-first (ledger replay order), by blockNumber, then transactionIndex, then logIndex. */
|
|
2457
|
+
actions: ({
|
|
2458
|
+
/** @enum {string} */
|
|
2459
|
+
kind: "deposit";
|
|
2460
|
+
/**
|
|
2461
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2462
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2463
|
+
*/
|
|
2464
|
+
id: string;
|
|
2465
|
+
/**
|
|
2466
|
+
* @description Event block time in Unix seconds.
|
|
2467
|
+
* @example 1777990794
|
|
2468
|
+
*/
|
|
2469
|
+
timestamp: number;
|
|
2470
|
+
blockNumber: number;
|
|
2471
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2472
|
+
transactionIndex: number;
|
|
2473
|
+
/**
|
|
2474
|
+
* @description Transaction hash.
|
|
2475
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2476
|
+
*/
|
|
2477
|
+
txHash: string;
|
|
2478
|
+
logIndex: number;
|
|
2479
|
+
/** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
|
|
2480
|
+
deltaSharesRaw: string;
|
|
2481
|
+
/** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
2482
|
+
deltaAmount0Raw: string;
|
|
2483
|
+
/** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
2484
|
+
deltaAmount1Raw: string;
|
|
2485
|
+
} | {
|
|
2486
|
+
/** @enum {string} */
|
|
2487
|
+
kind: "withdraw";
|
|
2488
|
+
/**
|
|
2489
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2490
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2491
|
+
*/
|
|
2492
|
+
id: string;
|
|
2493
|
+
/**
|
|
2494
|
+
* @description Event block time in Unix seconds.
|
|
2495
|
+
* @example 1777990794
|
|
2496
|
+
*/
|
|
2497
|
+
timestamp: number;
|
|
2498
|
+
blockNumber: number;
|
|
2499
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2500
|
+
transactionIndex: number;
|
|
2501
|
+
/**
|
|
2502
|
+
* @description Transaction hash.
|
|
2503
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2504
|
+
*/
|
|
2505
|
+
txHash: string;
|
|
2506
|
+
logIndex: number;
|
|
2507
|
+
/** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
|
|
2508
|
+
deltaSharesRaw: string;
|
|
2509
|
+
/** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
2510
|
+
deltaAmount0Raw: string;
|
|
2511
|
+
/** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
|
|
2512
|
+
deltaAmount1Raw: string;
|
|
2513
|
+
} | {
|
|
2514
|
+
/** @enum {string} */
|
|
2515
|
+
kind: "transfer_in";
|
|
2516
|
+
/**
|
|
2517
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2518
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2519
|
+
*/
|
|
2520
|
+
id: string;
|
|
2521
|
+
/**
|
|
2522
|
+
* @description Event block time in Unix seconds.
|
|
2523
|
+
* @example 1777990794
|
|
2524
|
+
*/
|
|
2525
|
+
timestamp: number;
|
|
2526
|
+
blockNumber: number;
|
|
2527
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2528
|
+
transactionIndex: number;
|
|
2529
|
+
/**
|
|
2530
|
+
* @description Transaction hash.
|
|
2531
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2532
|
+
*/
|
|
2533
|
+
txHash: string;
|
|
2534
|
+
logIndex: number;
|
|
2535
|
+
/** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
|
|
2536
|
+
sharesRaw: string;
|
|
2537
|
+
counterparty: string;
|
|
2538
|
+
} | {
|
|
2539
|
+
/** @enum {string} */
|
|
2540
|
+
kind: "transfer_out";
|
|
2541
|
+
/**
|
|
2542
|
+
* @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
|
|
2543
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
|
|
2544
|
+
*/
|
|
2545
|
+
id: string;
|
|
2546
|
+
/**
|
|
2547
|
+
* @description Event block time in Unix seconds.
|
|
2548
|
+
* @example 1777990794
|
|
2549
|
+
*/
|
|
2550
|
+
timestamp: number;
|
|
2551
|
+
blockNumber: number;
|
|
2552
|
+
/** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
|
|
2553
|
+
transactionIndex: number;
|
|
2554
|
+
/**
|
|
2555
|
+
* @description Transaction hash.
|
|
2556
|
+
* @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
|
|
2557
|
+
*/
|
|
2558
|
+
txHash: string;
|
|
2559
|
+
logIndex: number;
|
|
2560
|
+
/** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
|
|
2561
|
+
sharesRaw: string;
|
|
2562
|
+
counterparty: string;
|
|
2563
|
+
})[];
|
|
2564
|
+
}[];
|
|
2565
|
+
totals: {
|
|
2566
|
+
vaultCount: number;
|
|
2567
|
+
lendMarketCount: number;
|
|
2568
|
+
vaultActionCount: number;
|
|
2569
|
+
lendActionCount: number;
|
|
2570
|
+
};
|
|
2571
|
+
freshness: {
|
|
2572
|
+
/** @enum {string} */
|
|
2573
|
+
source: "subgraph";
|
|
2574
|
+
/** @description Oldest indexed block across every subgraph page read; null when any page did not report a block. */
|
|
2575
|
+
blockNumber: number | null;
|
|
2576
|
+
};
|
|
2577
|
+
};
|
|
2578
|
+
/**
|
|
2579
|
+
* @description History window relative to now. Defaults to 30d.
|
|
2580
|
+
* @example 30d
|
|
2581
|
+
* @enum {string}
|
|
2582
|
+
*/
|
|
2583
|
+
PriceHistoryWindow: "7d" | "30d" | "90d" | "180d";
|
|
2584
|
+
PricePoint: {
|
|
2585
|
+
/**
|
|
2586
|
+
* @description Start of the 12-hour UTC bucket, in Unix seconds.
|
|
2587
|
+
* @example 1784289600
|
|
2588
|
+
*/
|
|
2589
|
+
t: number;
|
|
2590
|
+
/**
|
|
2591
|
+
* @description USD price recorded for that bucket.
|
|
2592
|
+
* @example 0.00167899
|
|
2593
|
+
*/
|
|
2594
|
+
p: number;
|
|
2595
|
+
};
|
|
2596
|
+
PriceHistoryResponse: {
|
|
2597
|
+
/**
|
|
2598
|
+
* @description EVM chain ID. Any chain the price indexer covers.
|
|
2599
|
+
* @example 146
|
|
2600
|
+
*/
|
|
2601
|
+
chainId: number;
|
|
2602
|
+
address: string;
|
|
2603
|
+
/**
|
|
2604
|
+
* @description Stored token symbol; null when the token has no history record.
|
|
2605
|
+
* @example WOOD
|
|
2606
|
+
*/
|
|
2607
|
+
symbol: string | null;
|
|
2608
|
+
/** @enum {string} */
|
|
2609
|
+
resolution: "12h";
|
|
2610
|
+
/**
|
|
2611
|
+
* @description History window relative to now. Defaults to 30d.
|
|
2612
|
+
* @example 30d
|
|
2613
|
+
* @enum {string}
|
|
2614
|
+
*/
|
|
2615
|
+
window: "7d" | "30d" | "90d" | "180d";
|
|
2616
|
+
/**
|
|
2617
|
+
* @description ready = at least two points in the window; warming_up = exactly one; no_data = none.
|
|
2618
|
+
* @example warming_up
|
|
2619
|
+
* @enum {string}
|
|
2620
|
+
*/
|
|
2621
|
+
status: "ready" | "warming_up" | "no_data";
|
|
2622
|
+
points: {
|
|
2623
|
+
/**
|
|
2624
|
+
* @description Start of the 12-hour UTC bucket, in Unix seconds.
|
|
2625
|
+
* @example 1784289600
|
|
2626
|
+
*/
|
|
2627
|
+
t: number;
|
|
2628
|
+
/**
|
|
2629
|
+
* @description USD price recorded for that bucket.
|
|
2630
|
+
* @example 0.00167899
|
|
2631
|
+
*/
|
|
2632
|
+
p: number;
|
|
2633
|
+
}[];
|
|
2634
|
+
pointCount: number;
|
|
2635
|
+
/**
|
|
2636
|
+
* Format: date-time
|
|
2637
|
+
* @description When the history record was last written; null without a record.
|
|
2638
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
2639
|
+
*/
|
|
2640
|
+
updatedAt: string | null;
|
|
2641
|
+
};
|
|
2642
|
+
/**
|
|
2643
|
+
* @description History window relative to now. Defaults to 30d.
|
|
2644
|
+
* @example 30d
|
|
2645
|
+
* @enum {string}
|
|
2646
|
+
*/
|
|
2647
|
+
EngineHistoryWindow: "7d" | "30d" | "60d";
|
|
2648
|
+
EngineMetricPoint: {
|
|
2649
|
+
/**
|
|
2650
|
+
* @description Start of the 12-hour UTC bucket, in Unix seconds.
|
|
2651
|
+
* @example 1784289600
|
|
2652
|
+
*/
|
|
2653
|
+
t: number;
|
|
2654
|
+
/**
|
|
2655
|
+
* Format: date-time
|
|
2656
|
+
* @description ISO block time (blockTimestamp) of the coherent read frame; carries millisecond precision.
|
|
2657
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
2658
|
+
*/
|
|
2659
|
+
observedAt: string;
|
|
2660
|
+
blockNumber: number;
|
|
2661
|
+
utilizationPct: number | null;
|
|
2662
|
+
borrowAprPct: number | null;
|
|
2663
|
+
lendApyPct: number | null;
|
|
2664
|
+
/** @description Per-second interest rate, WAD (÷1e18). */
|
|
2665
|
+
ratePerSecondWad: string | null;
|
|
2666
|
+
rateSource: string | null;
|
|
2667
|
+
/** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
|
|
2668
|
+
fullUtilizationRate: string | null;
|
|
2669
|
+
/** @description Lend share price, WAD (÷1e18). */
|
|
2670
|
+
sharePriceWad: string | null;
|
|
2671
|
+
suppliedUsd: number | null;
|
|
2672
|
+
borrowedUsd: number | null;
|
|
2673
|
+
availableToBorrowUsd: number | null;
|
|
2674
|
+
/** @description Dynamic base fee, ppm (fraction = ppm / 1e6). Shadow value under manualOverride. */
|
|
2675
|
+
baseFeePpm: number | null;
|
|
2676
|
+
/** @description Fee the pool actually charged, ppm. Fixed under manualOverride. */
|
|
2677
|
+
activeFeePpm: number | null;
|
|
2678
|
+
surgeFeePpm: number | null;
|
|
2679
|
+
feeSource: string | null;
|
|
2680
|
+
/** @description !manualOverride && surgeFeePpm > 0; not derived from inCapEvent. */
|
|
2681
|
+
surgeActive: boolean | null;
|
|
2682
|
+
inCapEvent: boolean | null;
|
|
2683
|
+
manualOverride: boolean | null;
|
|
2684
|
+
perSwapMode: boolean | null;
|
|
2685
|
+
/** @description Stable codes for any metric the writer could not read this frame (that field is null). */
|
|
2686
|
+
warnings: string[];
|
|
2687
|
+
};
|
|
2688
|
+
EngineMetricHistoryResponse: {
|
|
2689
|
+
/** @example evm_1_0xd0194ad1f57730361b93ecf8da86e18590bd5e1f64e4a35f3a5b5bd666e48ae1 */
|
|
2690
|
+
marketId: string;
|
|
2691
|
+
/** @enum {string} */
|
|
2692
|
+
resolution: "12h";
|
|
2693
|
+
/**
|
|
2694
|
+
* @description History window relative to now. Defaults to 30d.
|
|
2695
|
+
* @example 30d
|
|
2696
|
+
* @enum {string}
|
|
2697
|
+
*/
|
|
2698
|
+
window: "7d" | "30d" | "60d";
|
|
2699
|
+
/**
|
|
2700
|
+
* @description ready = at least two points in the window; warming_up = exactly one; no_data = none.
|
|
2701
|
+
* @example ready
|
|
2702
|
+
* @enum {string}
|
|
2703
|
+
*/
|
|
2704
|
+
status: "ready" | "warming_up" | "no_data";
|
|
2705
|
+
pointCount: number;
|
|
2706
|
+
points: {
|
|
2707
|
+
/**
|
|
2708
|
+
* @description Start of the 12-hour UTC bucket, in Unix seconds.
|
|
2709
|
+
* @example 1784289600
|
|
2710
|
+
*/
|
|
2711
|
+
t: number;
|
|
2712
|
+
/**
|
|
2713
|
+
* Format: date-time
|
|
2714
|
+
* @description ISO block time (blockTimestamp) of the coherent read frame; carries millisecond precision.
|
|
2715
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
2716
|
+
*/
|
|
2717
|
+
observedAt: string;
|
|
2718
|
+
blockNumber: number;
|
|
2719
|
+
utilizationPct: number | null;
|
|
2720
|
+
borrowAprPct: number | null;
|
|
2721
|
+
lendApyPct: number | null;
|
|
2722
|
+
/** @description Per-second interest rate, WAD (÷1e18). */
|
|
2723
|
+
ratePerSecondWad: string | null;
|
|
2724
|
+
rateSource: string | null;
|
|
2725
|
+
/** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
|
|
2726
|
+
fullUtilizationRate: string | null;
|
|
2727
|
+
/** @description Lend share price, WAD (÷1e18). */
|
|
2728
|
+
sharePriceWad: string | null;
|
|
2729
|
+
suppliedUsd: number | null;
|
|
2730
|
+
borrowedUsd: number | null;
|
|
2731
|
+
availableToBorrowUsd: number | null;
|
|
2732
|
+
/** @description Dynamic base fee, ppm (fraction = ppm / 1e6). Shadow value under manualOverride. */
|
|
2733
|
+
baseFeePpm: number | null;
|
|
2734
|
+
/** @description Fee the pool actually charged, ppm. Fixed under manualOverride. */
|
|
2735
|
+
activeFeePpm: number | null;
|
|
2736
|
+
surgeFeePpm: number | null;
|
|
2737
|
+
feeSource: string | null;
|
|
2738
|
+
/** @description !manualOverride && surgeFeePpm > 0; not derived from inCapEvent. */
|
|
2739
|
+
surgeActive: boolean | null;
|
|
2740
|
+
inCapEvent: boolean | null;
|
|
2741
|
+
manualOverride: boolean | null;
|
|
2742
|
+
perSwapMode: boolean | null;
|
|
2743
|
+
/** @description Stable codes for any metric the writer could not read this frame (that field is null). */
|
|
2744
|
+
warnings: string[];
|
|
2745
|
+
}[];
|
|
2746
|
+
/**
|
|
2747
|
+
* Format: date-time
|
|
2748
|
+
* @description observedAt of the newest point; null when no_data.
|
|
2749
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
2750
|
+
*/
|
|
2751
|
+
updatedAt: string | null;
|
|
2752
|
+
};
|
|
2753
|
+
SwapQuoteRequest: ({
|
|
2754
|
+
/**
|
|
2755
|
+
* @example 130
|
|
2756
|
+
* @enum {integer}
|
|
2757
|
+
*/
|
|
2758
|
+
chainId: 1 | 130 | 8453;
|
|
2759
|
+
/**
|
|
2760
|
+
* @example aegis-direct-v4
|
|
2761
|
+
* @enum {string}
|
|
2762
|
+
*/
|
|
2763
|
+
provider: "aegis-direct-v4" | "kyber";
|
|
2764
|
+
marketId?: string;
|
|
2765
|
+
tokenIn: string;
|
|
2766
|
+
tokenOut: string;
|
|
2767
|
+
/** @default 100 */
|
|
2768
|
+
slippageBps: number;
|
|
2769
|
+
account?: string | null;
|
|
2770
|
+
/** @enum {string} */
|
|
2771
|
+
mode: "exactIn";
|
|
2772
|
+
/** @description Raw integer token amount in tokenIn base units. */
|
|
2773
|
+
amountIn: string;
|
|
2774
|
+
} & {
|
|
2775
|
+
[key: string]: unknown;
|
|
2776
|
+
}) | ({
|
|
2777
|
+
/**
|
|
2778
|
+
* @example 130
|
|
2779
|
+
* @enum {integer}
|
|
2780
|
+
*/
|
|
2781
|
+
chainId: 1 | 130 | 8453;
|
|
2782
|
+
/**
|
|
2783
|
+
* @example aegis-direct-v4
|
|
2784
|
+
* @enum {string}
|
|
2785
|
+
*/
|
|
2786
|
+
provider: "aegis-direct-v4" | "kyber";
|
|
2787
|
+
marketId?: string;
|
|
2788
|
+
tokenIn: string;
|
|
2789
|
+
tokenOut: string;
|
|
2790
|
+
/** @default 100 */
|
|
2791
|
+
slippageBps: number;
|
|
2792
|
+
account?: string | null;
|
|
2793
|
+
/** @enum {string} */
|
|
2794
|
+
mode: "exactOut";
|
|
2795
|
+
/** @description Raw integer token amount in tokenOut base units. */
|
|
2796
|
+
amountOut: string;
|
|
2797
|
+
} & {
|
|
2798
|
+
[key: string]: unknown;
|
|
2799
|
+
});
|
|
2800
|
+
SwapQuoteResponse: {
|
|
2801
|
+
/** @enum {boolean} */
|
|
2802
|
+
indicative: true;
|
|
2803
|
+
/** @enum {boolean} */
|
|
2804
|
+
executable: false;
|
|
2805
|
+
/** @enum {string} */
|
|
2806
|
+
provider: "aegis-direct-v4";
|
|
2807
|
+
marketId: string;
|
|
2808
|
+
/** @enum {string} */
|
|
2809
|
+
mode: "exactIn";
|
|
2810
|
+
tokenIn: string;
|
|
2811
|
+
tokenOut: string;
|
|
2812
|
+
amountIn: string;
|
|
2813
|
+
amountOut: string;
|
|
2814
|
+
minAmountOut: string;
|
|
2815
|
+
price: number;
|
|
2816
|
+
slippageBps: number;
|
|
2817
|
+
fee: {
|
|
2818
|
+
/** @enum {number} */
|
|
2819
|
+
outputFeeBps: 50;
|
|
2820
|
+
/** @enum {string} */
|
|
2821
|
+
recipient: "0x8ea2C7de60ef1Cd4dcE64ea2DDDe2f99F0127eFC";
|
|
2822
|
+
};
|
|
2823
|
+
/**
|
|
2824
|
+
* Format: date-time
|
|
2825
|
+
* @example 2026-06-19T11:31:32.964Z
|
|
2826
|
+
*/
|
|
2827
|
+
asOf: string;
|
|
2828
|
+
warnings: string[];
|
|
2829
|
+
};
|
|
2830
|
+
OpenApiDocument: {
|
|
2831
|
+
openapi: string;
|
|
2832
|
+
info: {
|
|
2833
|
+
[key: string]: unknown;
|
|
2834
|
+
};
|
|
2835
|
+
paths: {
|
|
2836
|
+
[key: string]: unknown;
|
|
2837
|
+
};
|
|
2838
|
+
} & {
|
|
2839
|
+
[key: string]: unknown;
|
|
2840
|
+
};
|
|
2841
|
+
};
|
|
2842
|
+
responses: {
|
|
2843
|
+
/** @description Missing or invalid request parameters */
|
|
2844
|
+
BadRequest: {
|
|
2845
|
+
headers: {
|
|
2846
|
+
[name: string]: unknown;
|
|
2847
|
+
};
|
|
2848
|
+
content: {
|
|
2849
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2850
|
+
};
|
|
2851
|
+
};
|
|
2852
|
+
/** @description Requested resource was not found */
|
|
2853
|
+
NotFound: {
|
|
2854
|
+
headers: {
|
|
2855
|
+
[name: string]: unknown;
|
|
2856
|
+
};
|
|
2857
|
+
content: {
|
|
2858
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2859
|
+
};
|
|
2860
|
+
};
|
|
2861
|
+
/** @description Server error */
|
|
2862
|
+
ServerError: {
|
|
2863
|
+
headers: {
|
|
2864
|
+
[name: string]: unknown;
|
|
2865
|
+
};
|
|
2866
|
+
content: {
|
|
2867
|
+
"application/json": components["schemas"]["ServerErrorResponse"];
|
|
2868
|
+
};
|
|
2869
|
+
};
|
|
519
2870
|
};
|
|
520
2871
|
parameters: {
|
|
521
2872
|
/**
|
|
@@ -528,6 +2879,41 @@ export interface components {
|
|
|
528
2879
|
* @example 0x078d782b760474a361dda0af3839290b0ef57ad6,0x83f31af747189c2fa9e5deb253200c505eff6ed2
|
|
529
2880
|
*/
|
|
530
2881
|
AddressesQuery: string;
|
|
2882
|
+
/**
|
|
2883
|
+
* @description Wallet address whose Engine positions should be returned.
|
|
2884
|
+
* @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
|
|
2885
|
+
*/
|
|
2886
|
+
AccountQuery: string;
|
|
2887
|
+
/**
|
|
2888
|
+
* @description Wallet address whose Engine activity ledger should be returned — every vault and lend action the account has made, including burned vaults and fully withdrawn lend positions.
|
|
2889
|
+
* @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
|
|
2890
|
+
*/
|
|
2891
|
+
ActivityAccountQuery: string;
|
|
2892
|
+
/**
|
|
2893
|
+
* @description EVM chain ID path parameter. Any chain the price indexer covers. JSON response bodies use numeric chainId values.
|
|
2894
|
+
* @example 146
|
|
2895
|
+
*/
|
|
2896
|
+
ChainIdPath: string;
|
|
2897
|
+
/**
|
|
2898
|
+
* @description EVM token address. Matching is case-insensitive; native ETH history is stored under the zero address.
|
|
2899
|
+
* @example 0x670afdd7226e73d3cc55b5cd83933e46af22decd
|
|
2900
|
+
*/
|
|
2901
|
+
TokenAddressPath: string;
|
|
2902
|
+
/**
|
|
2903
|
+
* @description History window relative to now. Defaults to 30d.
|
|
2904
|
+
* @example 30d
|
|
2905
|
+
*/
|
|
2906
|
+
PriceHistoryWindowQuery: components["schemas"]["PriceHistoryWindow"];
|
|
2907
|
+
/**
|
|
2908
|
+
* @description Canonical Engine market id, e.g. evm_1_0x…. Case-sensitive — pass the id from GET /v1/engine/markets verbatim (do not lowercase).
|
|
2909
|
+
* @example evm_1_0xd0194ad1f57730361b93ecf8da86e18590bd5e1f64e4a35f3a5b5bd666e48ae1
|
|
2910
|
+
*/
|
|
2911
|
+
EngineMarketIdPath: string;
|
|
2912
|
+
/**
|
|
2913
|
+
* @description History window relative to now. Defaults to 30d.
|
|
2914
|
+
* @example 30d
|
|
2915
|
+
*/
|
|
2916
|
+
EngineHistoryWindowQuery: components["schemas"]["EngineHistoryWindow"];
|
|
531
2917
|
};
|
|
532
2918
|
requestBodies: never;
|
|
533
2919
|
headers: never;
|
|
@@ -640,6 +3026,79 @@ export interface operations {
|
|
|
640
3026
|
500: components["responses"]["ServerError"];
|
|
641
3027
|
};
|
|
642
3028
|
};
|
|
3029
|
+
getTokenPriceHistory: {
|
|
3030
|
+
parameters: {
|
|
3031
|
+
query?: {
|
|
3032
|
+
/**
|
|
3033
|
+
* @description History window relative to now. Defaults to 30d.
|
|
3034
|
+
* @example 30d
|
|
3035
|
+
*/
|
|
3036
|
+
window?: components["parameters"]["PriceHistoryWindowQuery"];
|
|
3037
|
+
};
|
|
3038
|
+
header?: never;
|
|
3039
|
+
path: {
|
|
3040
|
+
/**
|
|
3041
|
+
* @description EVM chain ID path parameter. Any chain the price indexer covers. JSON response bodies use numeric chainId values.
|
|
3042
|
+
* @example 146
|
|
3043
|
+
*/
|
|
3044
|
+
chainId: components["parameters"]["ChainIdPath"];
|
|
3045
|
+
/**
|
|
3046
|
+
* @description EVM token address. Matching is case-insensitive; native ETH history is stored under the zero address.
|
|
3047
|
+
* @example 0x670afdd7226e73d3cc55b5cd83933e46af22decd
|
|
3048
|
+
*/
|
|
3049
|
+
address: components["parameters"]["TokenAddressPath"];
|
|
3050
|
+
};
|
|
3051
|
+
cookie?: never;
|
|
3052
|
+
};
|
|
3053
|
+
requestBody?: never;
|
|
3054
|
+
responses: {
|
|
3055
|
+
/** @description Token price history */
|
|
3056
|
+
200: {
|
|
3057
|
+
headers: {
|
|
3058
|
+
[name: string]: unknown;
|
|
3059
|
+
};
|
|
3060
|
+
content: {
|
|
3061
|
+
"application/json": components["schemas"]["PriceHistoryResponse"];
|
|
3062
|
+
};
|
|
3063
|
+
};
|
|
3064
|
+
400: components["responses"]["BadRequest"];
|
|
3065
|
+
500: components["responses"]["ServerError"];
|
|
3066
|
+
};
|
|
3067
|
+
};
|
|
3068
|
+
getEngineMarketHistory: {
|
|
3069
|
+
parameters: {
|
|
3070
|
+
query?: {
|
|
3071
|
+
/**
|
|
3072
|
+
* @description History window relative to now. Defaults to 30d.
|
|
3073
|
+
* @example 30d
|
|
3074
|
+
*/
|
|
3075
|
+
window?: components["parameters"]["EngineHistoryWindowQuery"];
|
|
3076
|
+
};
|
|
3077
|
+
header?: never;
|
|
3078
|
+
path: {
|
|
3079
|
+
/**
|
|
3080
|
+
* @description Canonical Engine market id, e.g. evm_1_0x…. Case-sensitive — pass the id from GET /v1/engine/markets verbatim (do not lowercase).
|
|
3081
|
+
* @example evm_1_0xd0194ad1f57730361b93ecf8da86e18590bd5e1f64e4a35f3a5b5bd666e48ae1
|
|
3082
|
+
*/
|
|
3083
|
+
marketId: components["parameters"]["EngineMarketIdPath"];
|
|
3084
|
+
};
|
|
3085
|
+
cookie?: never;
|
|
3086
|
+
};
|
|
3087
|
+
requestBody?: never;
|
|
3088
|
+
responses: {
|
|
3089
|
+
/** @description Engine metric history */
|
|
3090
|
+
200: {
|
|
3091
|
+
headers: {
|
|
3092
|
+
[name: string]: unknown;
|
|
3093
|
+
};
|
|
3094
|
+
content: {
|
|
3095
|
+
"application/json": components["schemas"]["EngineMetricHistoryResponse"];
|
|
3096
|
+
};
|
|
3097
|
+
};
|
|
3098
|
+
400: components["responses"]["BadRequest"];
|
|
3099
|
+
500: components["responses"]["ServerError"];
|
|
3100
|
+
};
|
|
3101
|
+
};
|
|
643
3102
|
listMarkets: {
|
|
644
3103
|
parameters: {
|
|
645
3104
|
query: {
|
|
@@ -668,6 +3127,133 @@ export interface operations {
|
|
|
668
3127
|
500: components["responses"]["ServerError"];
|
|
669
3128
|
};
|
|
670
3129
|
};
|
|
3130
|
+
listEngineMarkets: {
|
|
3131
|
+
parameters: {
|
|
3132
|
+
query: {
|
|
3133
|
+
/**
|
|
3134
|
+
* @description EVM chain ID as a string query parameter. JSON response bodies use numeric chainId values.
|
|
3135
|
+
* @example 130
|
|
3136
|
+
*/
|
|
3137
|
+
chainId: components["parameters"]["ChainIdQuery"];
|
|
3138
|
+
};
|
|
3139
|
+
header?: never;
|
|
3140
|
+
path?: never;
|
|
3141
|
+
cookie?: never;
|
|
3142
|
+
};
|
|
3143
|
+
requestBody?: never;
|
|
3144
|
+
responses: {
|
|
3145
|
+
/** @description Engine markets */
|
|
3146
|
+
200: {
|
|
3147
|
+
headers: {
|
|
3148
|
+
[name: string]: unknown;
|
|
3149
|
+
};
|
|
3150
|
+
content: {
|
|
3151
|
+
"application/json": components["schemas"]["EngineMarketsResponse"];
|
|
3152
|
+
};
|
|
3153
|
+
};
|
|
3154
|
+
400: components["responses"]["BadRequest"];
|
|
3155
|
+
500: components["responses"]["ServerError"];
|
|
3156
|
+
};
|
|
3157
|
+
};
|
|
3158
|
+
listEnginePositions: {
|
|
3159
|
+
parameters: {
|
|
3160
|
+
query: {
|
|
3161
|
+
/**
|
|
3162
|
+
* @description EVM chain ID as a string query parameter. JSON response bodies use numeric chainId values.
|
|
3163
|
+
* @example 130
|
|
3164
|
+
*/
|
|
3165
|
+
chainId: components["parameters"]["ChainIdQuery"];
|
|
3166
|
+
/**
|
|
3167
|
+
* @description Wallet address whose Engine positions should be returned.
|
|
3168
|
+
* @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
|
|
3169
|
+
*/
|
|
3170
|
+
account: components["parameters"]["AccountQuery"];
|
|
3171
|
+
};
|
|
3172
|
+
header?: never;
|
|
3173
|
+
path?: never;
|
|
3174
|
+
cookie?: never;
|
|
3175
|
+
};
|
|
3176
|
+
requestBody?: never;
|
|
3177
|
+
responses: {
|
|
3178
|
+
/** @description Engine wallet positions */
|
|
3179
|
+
200: {
|
|
3180
|
+
headers: {
|
|
3181
|
+
[name: string]: unknown;
|
|
3182
|
+
};
|
|
3183
|
+
content: {
|
|
3184
|
+
"application/json": components["schemas"]["EnginePositionsResponse"];
|
|
3185
|
+
};
|
|
3186
|
+
};
|
|
3187
|
+
400: components["responses"]["BadRequest"];
|
|
3188
|
+
500: components["responses"]["ServerError"];
|
|
3189
|
+
};
|
|
3190
|
+
};
|
|
3191
|
+
listEnginePositionsV2: {
|
|
3192
|
+
parameters: {
|
|
3193
|
+
query: {
|
|
3194
|
+
/**
|
|
3195
|
+
* @description EVM chain ID as a string query parameter. JSON response bodies use numeric chainId values.
|
|
3196
|
+
* @example 130
|
|
3197
|
+
*/
|
|
3198
|
+
chainId: components["parameters"]["ChainIdQuery"];
|
|
3199
|
+
/**
|
|
3200
|
+
* @description Wallet address whose Engine positions should be returned.
|
|
3201
|
+
* @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
|
|
3202
|
+
*/
|
|
3203
|
+
account: components["parameters"]["AccountQuery"];
|
|
3204
|
+
};
|
|
3205
|
+
header?: never;
|
|
3206
|
+
path?: never;
|
|
3207
|
+
cookie?: never;
|
|
3208
|
+
};
|
|
3209
|
+
requestBody?: never;
|
|
3210
|
+
responses: {
|
|
3211
|
+
/** @description Engine wallet borrow and lend positions */
|
|
3212
|
+
200: {
|
|
3213
|
+
headers: {
|
|
3214
|
+
[name: string]: unknown;
|
|
3215
|
+
};
|
|
3216
|
+
content: {
|
|
3217
|
+
"application/json": components["schemas"]["EnginePositionsV2Response"];
|
|
3218
|
+
};
|
|
3219
|
+
};
|
|
3220
|
+
400: components["responses"]["BadRequest"];
|
|
3221
|
+
500: components["responses"]["ServerError"];
|
|
3222
|
+
};
|
|
3223
|
+
};
|
|
3224
|
+
listEnginePositionActivity: {
|
|
3225
|
+
parameters: {
|
|
3226
|
+
query: {
|
|
3227
|
+
/**
|
|
3228
|
+
* @description EVM chain ID as a string query parameter. JSON response bodies use numeric chainId values.
|
|
3229
|
+
* @example 130
|
|
3230
|
+
*/
|
|
3231
|
+
chainId: components["parameters"]["ChainIdQuery"];
|
|
3232
|
+
/**
|
|
3233
|
+
* @description Wallet address whose Engine activity ledger should be returned — every vault and lend action the account has made, including burned vaults and fully withdrawn lend positions.
|
|
3234
|
+
* @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
|
|
3235
|
+
*/
|
|
3236
|
+
account: components["parameters"]["ActivityAccountQuery"];
|
|
3237
|
+
};
|
|
3238
|
+
header?: never;
|
|
3239
|
+
path?: never;
|
|
3240
|
+
cookie?: never;
|
|
3241
|
+
};
|
|
3242
|
+
requestBody?: never;
|
|
3243
|
+
responses: {
|
|
3244
|
+
/** @description Engine wallet position activity */
|
|
3245
|
+
200: {
|
|
3246
|
+
headers: {
|
|
3247
|
+
[name: string]: unknown;
|
|
3248
|
+
};
|
|
3249
|
+
content: {
|
|
3250
|
+
"application/json": components["schemas"]["EngineActivityResponse"];
|
|
3251
|
+
};
|
|
3252
|
+
};
|
|
3253
|
+
400: components["responses"]["BadRequest"];
|
|
3254
|
+
500: components["responses"]["ServerError"];
|
|
3255
|
+
};
|
|
3256
|
+
};
|
|
671
3257
|
createIndicativeSwapQuote: {
|
|
672
3258
|
parameters: {
|
|
673
3259
|
query?: never;
|