@lagoon-protocol/lagoon-mcp 0.2.20 → 0.2.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/graphql/queries/index.d.ts +1 -1
- package/dist/graphql/queries/index.d.ts.map +1 -1
- package/dist/graphql/queries/index.js +1 -1
- package/dist/graphql/queries/index.js.map +1 -1
- package/dist/graphql/queries/vault.queries.d.ts +17 -0
- package/dist/graphql/queries/vault.queries.d.ts.map +1 -1
- package/dist/graphql/queries/vault.queries.js +30 -0
- package/dist/graphql/queries/vault.queries.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/services/analytics/risk.service.d.ts.map +1 -1
- package/dist/services/analytics/risk.service.js +26 -2
- package/dist/services/analytics/risk.service.js.map +1 -1
- package/dist/tools/compare-vaults.d.ts.map +1 -1
- package/dist/tools/compare-vaults.js +76 -12
- package/dist/tools/compare-vaults.js.map +1 -1
- package/dist/tools/predict-yield.d.ts.map +1 -1
- package/dist/tools/predict-yield.js +32 -0
- package/dist/tools/predict-yield.js.map +1 -1
- package/dist/utils/comparison-metrics.d.ts +2 -2
- package/dist/utils/comparison-metrics.d.ts.map +1 -1
- package/dist/utils/comparison-metrics.js +22 -10
- package/dist/utils/comparison-metrics.js.map +1 -1
- package/dist/utils/portfolio-optimization.d.ts.map +1 -1
- package/dist/utils/portfolio-optimization.js +66 -17
- package/dist/utils/portfolio-optimization.js.map +1 -1
- package/dist/utils/risk-scoring.d.ts +61 -2
- package/dist/utils/risk-scoring.d.ts.map +1 -1
- package/dist/utils/risk-scoring.js +109 -32
- package/dist/utils/risk-scoring.js.map +1 -1
- package/dist/utils/safe-math.d.ts +64 -0
- package/dist/utils/safe-math.d.ts.map +1 -0
- package/dist/utils/safe-math.js +116 -0
- package/dist/utils/safe-math.js.map +1 -0
- package/dist/utils/validators.d.ts +16 -16
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +3 -1
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/yield-prediction.d.ts +7 -0
- package/dist/utils/yield-prediction.d.ts.map +1 -1
- package/dist/utils/yield-prediction.js +49 -31
- package/dist/utils/yield-prediction.js.map +1 -1
- package/package.json +1 -1
- package/dist/services/analytics/protocol-overview.service.d.ts +0 -61
- package/dist/services/analytics/protocol-overview.service.d.ts.map +0 -1
- package/dist/services/analytics/protocol-overview.service.js +0 -182
- package/dist/services/analytics/protocol-overview.service.js.map +0 -1
|
@@ -463,30 +463,62 @@ export function calculateCapacityUtilizationRisk(utilizationData) {
|
|
|
463
463
|
return 0.8; // Near capacity (>90%) = deposit risk
|
|
464
464
|
}
|
|
465
465
|
}
|
|
466
|
+
/**
|
|
467
|
+
* Risk factor weights for calculating overall risk score.
|
|
468
|
+
*
|
|
469
|
+
* Weights are derived from DeFi risk research and empirical analysis:
|
|
470
|
+
*
|
|
471
|
+
* **Market & Liquidity (24%)**
|
|
472
|
+
* - TVL (8%): Liquidity depth and market validation signal
|
|
473
|
+
* - Concentration (8%): Protocol-wide exposure and systemic risk
|
|
474
|
+
* - Liquidity (8%): Redemption coverage and operational liquidity
|
|
475
|
+
*
|
|
476
|
+
* **Performance & Stability (27%)**
|
|
477
|
+
* - Volatility (14%): Primary indicator of price instability and risk
|
|
478
|
+
* - APR Consistency (13%): Yield reliability signals strategy health
|
|
479
|
+
*
|
|
480
|
+
* **Operational (21%)**
|
|
481
|
+
* - Age (8%): Operational track record and battle-testing
|
|
482
|
+
* - Curator (8%): Management quality and experience
|
|
483
|
+
* - Settlement (5%): Operational efficiency and delay risk
|
|
484
|
+
*
|
|
485
|
+
* **Fee Structure (8%)**
|
|
486
|
+
* - Fee (8%): Cost drag on returns and alignment of interests
|
|
487
|
+
*
|
|
488
|
+
* **Strategy Composition (20%)**
|
|
489
|
+
* - Yield Sustainability (5%): Native vs incentive-based yield mix
|
|
490
|
+
* - Integration Complexity (5%): Smart contract attack surface
|
|
491
|
+
* - Capacity Utilization (5%): Demand signals and deposit headroom
|
|
492
|
+
* - Protocol Diversification (5%): HHI-based protocol concentration
|
|
493
|
+
* - Top Protocol Concentration (5%): Single protocol exposure risk
|
|
494
|
+
*
|
|
495
|
+
* Total: 100% (weights sum to 1.0)
|
|
496
|
+
*/
|
|
497
|
+
export const RISK_WEIGHTS = {
|
|
498
|
+
tvl: 0.08,
|
|
499
|
+
concentration: 0.08,
|
|
500
|
+
volatility: 0.14,
|
|
501
|
+
age: 0.08,
|
|
502
|
+
curator: 0.08,
|
|
503
|
+
fee: 0.08,
|
|
504
|
+
liquidity: 0.08,
|
|
505
|
+
aprConsistency: 0.13,
|
|
506
|
+
yieldSustainability: 0.05,
|
|
507
|
+
settlement: 0.05,
|
|
508
|
+
integrationComplexity: 0.05,
|
|
509
|
+
capacityUtilization: 0.05,
|
|
510
|
+
protocolDiversification: 0.05,
|
|
511
|
+
topProtocolConcentration: 0.05,
|
|
512
|
+
};
|
|
466
513
|
/**
|
|
467
514
|
* Calculate overall risk score with weighted factors
|
|
468
515
|
*
|
|
469
|
-
* @param breakdown - Individual risk factor scores
|
|
516
|
+
* @param breakdown - Individual risk factor scores (excluding overall and data quality fields)
|
|
470
517
|
* @returns Overall risk score 0-1 and risk level
|
|
471
518
|
*/
|
|
472
519
|
export function calculateOverallRisk(breakdown) {
|
|
473
|
-
//
|
|
474
|
-
const weights =
|
|
475
|
-
tvl: 0.08, // Reduced from 0.1
|
|
476
|
-
concentration: 0.08, // Reduced from 0.1
|
|
477
|
-
volatility: 0.14, // Reduced from 0.15
|
|
478
|
-
age: 0.08, // Reduced from 0.1
|
|
479
|
-
curator: 0.08, // Reduced from 0.1
|
|
480
|
-
fee: 0.08, // Reduced from 0.1
|
|
481
|
-
liquidity: 0.08, // Reduced from 0.1
|
|
482
|
-
aprConsistency: 0.13, // Reduced from 0.15
|
|
483
|
-
yieldSustainability: 0.05,
|
|
484
|
-
settlement: 0.05,
|
|
485
|
-
integrationComplexity: 0.05,
|
|
486
|
-
capacityUtilization: 0.05,
|
|
487
|
-
protocolDiversification: 0.05, // NEW: Composition-based
|
|
488
|
-
topProtocolConcentration: 0.05, // NEW: Composition-based
|
|
489
|
-
};
|
|
520
|
+
// Use the documented risk weights
|
|
521
|
+
const weights = RISK_WEIGHTS;
|
|
490
522
|
const overallRisk = breakdown.tvlRisk * weights.tvl +
|
|
491
523
|
breakdown.concentrationRisk * weights.concentration +
|
|
492
524
|
breakdown.volatilityRisk * weights.volatility +
|
|
@@ -524,29 +556,70 @@ export function calculateOverallRisk(breakdown) {
|
|
|
524
556
|
* @returns Complete risk score breakdown
|
|
525
557
|
*/
|
|
526
558
|
export function analyzeRisk(params) {
|
|
559
|
+
// Track data quality notes for transparency
|
|
560
|
+
const dataQualityNotes = [];
|
|
527
561
|
const tvlRisk = calculateTVLRisk(params.tvl);
|
|
528
562
|
const concentrationRisk = calculateConcentrationRisk(params.tvl, params.totalProtocolTVL);
|
|
563
|
+
// Volatility risk - track if insufficient price history
|
|
529
564
|
const volatilityRisk = calculateVolatilityRisk(params.priceHistory);
|
|
565
|
+
if (params.priceHistory.length < 7) {
|
|
566
|
+
dataQualityNotes.push('Limited price history for volatility calculation');
|
|
567
|
+
}
|
|
530
568
|
const ageRisk = calculateAgeRisk(params.ageInDays);
|
|
569
|
+
// Curator risk - track if new curator with limited track record
|
|
531
570
|
const curatorRisk = calculateCuratorRisk(params.curatorVaultCount, params.curatorSuccessRate, params.curatorProfessionalSignals);
|
|
571
|
+
if (params.curatorVaultCount < 3) {
|
|
572
|
+
dataQualityNotes.push('New curator with limited track record');
|
|
573
|
+
}
|
|
532
574
|
const feeRisk = calculateFeeRisk(params.managementFee, params.performanceFee, params.performanceFeeActive);
|
|
533
575
|
const liquidityRisk = calculateLiquidityRisk(params.safeAssets, params.pendingRedemptions);
|
|
534
576
|
// Calculate new risk factors (with defaults if data not provided)
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
577
|
+
// Track when defaults are used for transparency
|
|
578
|
+
let aprConsistencyRisk;
|
|
579
|
+
if (params.aprData) {
|
|
580
|
+
aprConsistencyRisk = calculateAPRConsistencyRisk(params.aprData);
|
|
581
|
+
}
|
|
582
|
+
else {
|
|
583
|
+
aprConsistencyRisk = 0.5; // Default to medium risk if no data
|
|
584
|
+
dataQualityNotes.push('APR consistency using default (no historical APR data)');
|
|
585
|
+
}
|
|
586
|
+
let yieldSustainabilityRisk;
|
|
587
|
+
if (params.yieldComposition) {
|
|
588
|
+
yieldSustainabilityRisk = calculateYieldSustainabilityRisk(params.yieldComposition);
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
yieldSustainabilityRisk = 0.5; // Default to medium risk if no data
|
|
592
|
+
dataQualityNotes.push('Yield sustainability using default (no composition data)');
|
|
593
|
+
}
|
|
594
|
+
let settlementRisk;
|
|
595
|
+
if (params.settlementData) {
|
|
596
|
+
settlementRisk = calculateSettlementRisk(params.settlementData);
|
|
597
|
+
}
|
|
598
|
+
else {
|
|
599
|
+
settlementRisk = 0.5; // Default to medium risk if no data
|
|
600
|
+
dataQualityNotes.push('Settlement risk using default (no settlement data)');
|
|
601
|
+
}
|
|
602
|
+
let integrationComplexityRisk;
|
|
603
|
+
if (params.integrationCount !== undefined) {
|
|
604
|
+
integrationComplexityRisk = calculateIntegrationComplexityRisk(params.integrationCount);
|
|
605
|
+
}
|
|
606
|
+
else {
|
|
607
|
+
integrationComplexityRisk = 0.5; // Default to medium risk if no data
|
|
608
|
+
dataQualityNotes.push('Integration complexity using default (no integration data)');
|
|
609
|
+
}
|
|
610
|
+
let capacityUtilizationRisk;
|
|
611
|
+
if (params.capacityData) {
|
|
612
|
+
capacityUtilizationRisk = calculateCapacityUtilizationRisk(params.capacityData);
|
|
613
|
+
}
|
|
614
|
+
else {
|
|
615
|
+
capacityUtilizationRisk = 0.2; // Default to low risk (no capacity limit)
|
|
616
|
+
// Not adding note - no capacity limit is normal and not a data quality issue
|
|
617
|
+
}
|
|
618
|
+
// Calculate composition-based risk factors
|
|
549
619
|
const protocolDiversificationRisk = calculateProtocolDiversificationRisk(params.compositionData?.compositions);
|
|
620
|
+
if (!params.compositionData?.compositions?.length) {
|
|
621
|
+
dataQualityNotes.push('Protocol diversification using default (no composition data)');
|
|
622
|
+
}
|
|
550
623
|
const topProtocolConcentrationRisk = calculateTopProtocolConcentrationRisk(params.compositionData?.topProtocolPercent);
|
|
551
624
|
const { overallRisk, riskLevel } = calculateOverallRisk({
|
|
552
625
|
tvlRisk,
|
|
@@ -564,6 +637,8 @@ export function analyzeRisk(params) {
|
|
|
564
637
|
protocolDiversificationRisk,
|
|
565
638
|
topProtocolConcentrationRisk,
|
|
566
639
|
});
|
|
640
|
+
// Determine overall data quality based on number of notes
|
|
641
|
+
const dataQuality = dataQualityNotes.length === 0 ? 'high' : dataQualityNotes.length <= 2 ? 'medium' : 'low';
|
|
567
642
|
return {
|
|
568
643
|
tvlRisk,
|
|
569
644
|
concentrationRisk,
|
|
@@ -581,6 +656,8 @@ export function analyzeRisk(params) {
|
|
|
581
656
|
topProtocolConcentrationRisk,
|
|
582
657
|
overallRisk,
|
|
583
658
|
riskLevel,
|
|
659
|
+
dataQuality,
|
|
660
|
+
dataQualityNotes,
|
|
584
661
|
};
|
|
585
662
|
}
|
|
586
663
|
//# sourceMappingURL=risk-scoring.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk-scoring.js","sourceRoot":"","sources":["../../src/utils/risk-scoring.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"risk-scoring.js","sourceRoot":"","sources":["../../src/utils/risk-scoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe Math Utilities
|
|
3
|
+
*
|
|
4
|
+
* Defensive arithmetic operations to prevent division by zero,
|
|
5
|
+
* NaN propagation, and empty array exceptions.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Safe division with fallback value
|
|
9
|
+
* @param numerator - The numerator
|
|
10
|
+
* @param denominator - The denominator
|
|
11
|
+
* @param fallback - Value to return if division would fail (default: 0)
|
|
12
|
+
* @returns Result of division or fallback if denominator is 0, NaN, or undefined
|
|
13
|
+
*/
|
|
14
|
+
export declare function safeDivide(numerator: number, denominator: number, fallback?: number): number;
|
|
15
|
+
/**
|
|
16
|
+
* Safe reduce with empty array guard
|
|
17
|
+
* @param arr - Array to reduce
|
|
18
|
+
* @param reducer - Reducer function
|
|
19
|
+
* @param initial - Initial value
|
|
20
|
+
* @param emptyFallback - Value to return if array is empty (defaults to initial)
|
|
21
|
+
*/
|
|
22
|
+
export declare function safeReduce<T, R>(arr: T[] | null | undefined, reducer: (acc: R, item: T, index: number) => R, initial: R, emptyFallback?: R): R;
|
|
23
|
+
/**
|
|
24
|
+
* Safe average calculation
|
|
25
|
+
* @param values - Array of numbers
|
|
26
|
+
* @param fallback - Value to return if array is empty or all values are invalid
|
|
27
|
+
*/
|
|
28
|
+
export declare function safeAverage(values: number[] | null | undefined, fallback?: number): number;
|
|
29
|
+
/**
|
|
30
|
+
* Safe toFixed that handles NaN/undefined
|
|
31
|
+
* @param value - Number to format
|
|
32
|
+
* @param decimals - Decimal places
|
|
33
|
+
* @param fallback - Fallback string if value is invalid
|
|
34
|
+
*/
|
|
35
|
+
export declare function safeToFixed(value: number | null | undefined, decimals?: number, fallback?: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Safe percentile calculation
|
|
38
|
+
* Returns fallback for empty or single-element arrays (where percentile is meaningless)
|
|
39
|
+
* @param value - The value to find percentile for
|
|
40
|
+
* @param arr - Array of values to calculate percentile against
|
|
41
|
+
* @param fallback - Fallback percentile for edge cases (default: 50)
|
|
42
|
+
*/
|
|
43
|
+
export declare function safePercentile(value: number, arr: number[], fallback?: number): number;
|
|
44
|
+
/**
|
|
45
|
+
* Guard for operations that require non-empty arrays
|
|
46
|
+
* @param arr - Array to check
|
|
47
|
+
* @param context - Context description for error message
|
|
48
|
+
* @returns Object with isEmpty flag and optional data
|
|
49
|
+
*/
|
|
50
|
+
export declare function guardEmptyArray<T>(arr: T[] | null | undefined, context?: string): {
|
|
51
|
+
isEmpty: true;
|
|
52
|
+
message: string;
|
|
53
|
+
} | {
|
|
54
|
+
isEmpty: false;
|
|
55
|
+
data: T[];
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Safe min/max finder that handles empty arrays
|
|
59
|
+
* @param arr - Array of numbers
|
|
60
|
+
* @param type - 'min' or 'max'
|
|
61
|
+
* @param fallback - Fallback value if array is empty
|
|
62
|
+
*/
|
|
63
|
+
export declare function safeMinMax(arr: number[] | null | undefined, type: 'min' | 'max', fallback?: number): number;
|
|
64
|
+
//# sourceMappingURL=safe-math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-math.d.ts","sourceRoot":"","sources":["../../src/utils/safe-math.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAM/F;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAC7B,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAC3B,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAC9C,OAAO,EAAE,CAAC,EACV,aAAa,CAAC,EAAE,CAAC,GAChB,CAAC,CAKH;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAS7F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,QAAQ,GAAE,MAAU,EACpB,QAAQ,GAAE,MAAc,GACvB,MAAM,CAKR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,CAkB1F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAC3B,OAAO,GAAE,MAAoB,GAC5B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,CAAC,EAAE,CAAA;CAAE,CAQpE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAChC,IAAI,EAAE,KAAK,GAAG,KAAK,EACnB,QAAQ,GAAE,MAAU,GACnB,MAAM,CASR"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe Math Utilities
|
|
3
|
+
*
|
|
4
|
+
* Defensive arithmetic operations to prevent division by zero,
|
|
5
|
+
* NaN propagation, and empty array exceptions.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Safe division with fallback value
|
|
9
|
+
* @param numerator - The numerator
|
|
10
|
+
* @param denominator - The denominator
|
|
11
|
+
* @param fallback - Value to return if division would fail (default: 0)
|
|
12
|
+
* @returns Result of division or fallback if denominator is 0, NaN, or undefined
|
|
13
|
+
*/
|
|
14
|
+
export function safeDivide(numerator, denominator, fallback = 0) {
|
|
15
|
+
if (denominator === 0 || !Number.isFinite(denominator) || !Number.isFinite(numerator)) {
|
|
16
|
+
return fallback;
|
|
17
|
+
}
|
|
18
|
+
const result = numerator / denominator;
|
|
19
|
+
return Number.isFinite(result) ? result : fallback;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Safe reduce with empty array guard
|
|
23
|
+
* @param arr - Array to reduce
|
|
24
|
+
* @param reducer - Reducer function
|
|
25
|
+
* @param initial - Initial value
|
|
26
|
+
* @param emptyFallback - Value to return if array is empty (defaults to initial)
|
|
27
|
+
*/
|
|
28
|
+
export function safeReduce(arr, reducer, initial, emptyFallback) {
|
|
29
|
+
if (!arr || arr.length === 0) {
|
|
30
|
+
return emptyFallback !== undefined ? emptyFallback : initial;
|
|
31
|
+
}
|
|
32
|
+
return arr.reduce(reducer, initial);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Safe average calculation
|
|
36
|
+
* @param values - Array of numbers
|
|
37
|
+
* @param fallback - Value to return if array is empty or all values are invalid
|
|
38
|
+
*/
|
|
39
|
+
export function safeAverage(values, fallback = 0) {
|
|
40
|
+
if (!values || values.length === 0) {
|
|
41
|
+
return fallback;
|
|
42
|
+
}
|
|
43
|
+
const validValues = values.filter((v) => Number.isFinite(v));
|
|
44
|
+
if (validValues.length === 0) {
|
|
45
|
+
return fallback;
|
|
46
|
+
}
|
|
47
|
+
return validValues.reduce((sum, v) => sum + v, 0) / validValues.length;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Safe toFixed that handles NaN/undefined
|
|
51
|
+
* @param value - Number to format
|
|
52
|
+
* @param decimals - Decimal places
|
|
53
|
+
* @param fallback - Fallback string if value is invalid
|
|
54
|
+
*/
|
|
55
|
+
export function safeToFixed(value, decimals = 2, fallback = 'N/A') {
|
|
56
|
+
if (value === null || value === undefined || !Number.isFinite(value)) {
|
|
57
|
+
return fallback;
|
|
58
|
+
}
|
|
59
|
+
return value.toFixed(decimals);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Safe percentile calculation
|
|
63
|
+
* Returns fallback for empty or single-element arrays (where percentile is meaningless)
|
|
64
|
+
* @param value - The value to find percentile for
|
|
65
|
+
* @param arr - Array of values to calculate percentile against
|
|
66
|
+
* @param fallback - Fallback percentile for edge cases (default: 50)
|
|
67
|
+
*/
|
|
68
|
+
export function safePercentile(value, arr, fallback = 50) {
|
|
69
|
+
// Guard: empty array
|
|
70
|
+
if (!arr || arr.length === 0) {
|
|
71
|
+
return fallback;
|
|
72
|
+
}
|
|
73
|
+
// Guard: single element - percentile is meaningless
|
|
74
|
+
if (arr.length === 1) {
|
|
75
|
+
return arr[0] === value ? fallback : 0;
|
|
76
|
+
}
|
|
77
|
+
const sorted = [...arr].sort((a, b) => a - b);
|
|
78
|
+
const index = sorted.indexOf(value);
|
|
79
|
+
if (index === -1)
|
|
80
|
+
return 0;
|
|
81
|
+
// sorted.length - 1 is now guaranteed > 0
|
|
82
|
+
const percentile = (index / (sorted.length - 1)) * 100;
|
|
83
|
+
return Math.round(percentile * 100) / 100;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Guard for operations that require non-empty arrays
|
|
87
|
+
* @param arr - Array to check
|
|
88
|
+
* @param context - Context description for error message
|
|
89
|
+
* @returns Object with isEmpty flag and optional data
|
|
90
|
+
*/
|
|
91
|
+
export function guardEmptyArray(arr, context = 'operation') {
|
|
92
|
+
if (!arr || arr.length === 0) {
|
|
93
|
+
return {
|
|
94
|
+
isEmpty: true,
|
|
95
|
+
message: `No data available for ${context}`,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return { isEmpty: false, data: arr };
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Safe min/max finder that handles empty arrays
|
|
102
|
+
* @param arr - Array of numbers
|
|
103
|
+
* @param type - 'min' or 'max'
|
|
104
|
+
* @param fallback - Fallback value if array is empty
|
|
105
|
+
*/
|
|
106
|
+
export function safeMinMax(arr, type, fallback = 0) {
|
|
107
|
+
if (!arr || arr.length === 0) {
|
|
108
|
+
return fallback;
|
|
109
|
+
}
|
|
110
|
+
const validValues = arr.filter((v) => Number.isFinite(v));
|
|
111
|
+
if (validValues.length === 0) {
|
|
112
|
+
return fallback;
|
|
113
|
+
}
|
|
114
|
+
return type === 'min' ? Math.min(...validValues) : Math.max(...validValues);
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=safe-math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-math.js","sourceRoot":"","sources":["../../src/utils/safe-math.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { z } from 'zod';
|
|
|
7
7
|
/**
|
|
8
8
|
* Reusable validation schemas
|
|
9
9
|
*/
|
|
10
|
-
export declare const ethereumAddressSchema: z.ZodString
|
|
10
|
+
export declare const ethereumAddressSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
11
11
|
export declare const chainIdSchema: z.ZodNumber;
|
|
12
12
|
export declare const paginationFirstSchema: z.ZodDefault<z.ZodNumber>;
|
|
13
13
|
export declare const paginationSkipSchema: z.ZodDefault<z.ZodNumber>;
|
|
@@ -25,7 +25,7 @@ export declare const queryGraphQLInputSchema: z.ZodObject<{
|
|
|
25
25
|
variables?: Record<string, unknown> | undefined;
|
|
26
26
|
}>;
|
|
27
27
|
export declare const getVaultDataInputSchema: z.ZodObject<{
|
|
28
|
-
vaultAddress: z.ZodString
|
|
28
|
+
vaultAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
29
29
|
chainId: z.ZodNumber;
|
|
30
30
|
}, "strip", z.ZodTypeAny, {
|
|
31
31
|
vaultAddress: string;
|
|
@@ -35,7 +35,7 @@ export declare const getVaultDataInputSchema: z.ZodObject<{
|
|
|
35
35
|
chainId: number;
|
|
36
36
|
}>;
|
|
37
37
|
export declare const getUserPortfolioInputSchema: z.ZodObject<{
|
|
38
|
-
userAddress: z.ZodString
|
|
38
|
+
userAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
39
39
|
responseFormat: z.ZodDefault<z.ZodEnum<["list", "summary", "full"]>>;
|
|
40
40
|
}, "strip", z.ZodTypeAny, {
|
|
41
41
|
userAddress: string;
|
|
@@ -55,8 +55,8 @@ export declare const searchVaultsInputSchema: z.ZodObject<{
|
|
|
55
55
|
curatorIds_contains: z.ZodOptional<z.ZodString>;
|
|
56
56
|
curatorIds_contains_any: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
57
57
|
isVisible_eq: z.ZodOptional<z.ZodBoolean>;
|
|
58
|
-
address_eq: z.ZodOptional<z.ZodString
|
|
59
|
-
address_in: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
58
|
+
address_eq: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
59
|
+
address_in: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
|
|
60
60
|
symbol_eq: z.ZodOptional<z.ZodString>;
|
|
61
61
|
symbol_in: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
62
62
|
integratorId_eq: z.ZodOptional<z.ZodString>;
|
|
@@ -162,7 +162,7 @@ export declare const searchVaultsInputSchema: z.ZodObject<{
|
|
|
162
162
|
maxResults?: number | undefined;
|
|
163
163
|
}>;
|
|
164
164
|
export declare const getVaultPerformanceInputSchema: z.ZodObject<{
|
|
165
|
-
vaultAddress: z.ZodString
|
|
165
|
+
vaultAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
166
166
|
chainId: z.ZodNumber;
|
|
167
167
|
timeRange: z.ZodEnum<["7d", "30d", "90d", "1y"]>;
|
|
168
168
|
includeSDKCalculations: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -181,7 +181,7 @@ export declare const getVaultPerformanceInputSchema: z.ZodObject<{
|
|
|
181
181
|
includeSDKCalculations?: boolean | undefined;
|
|
182
182
|
}>;
|
|
183
183
|
export declare const getTransactionsInputSchema: z.ZodObject<{
|
|
184
|
-
vaultAddress: z.ZodString
|
|
184
|
+
vaultAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
185
185
|
chainId: z.ZodNumber;
|
|
186
186
|
transactionTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<["SettleDeposit", "SettleRedeem", "DepositRequest", "RedeemRequest", "NewTotalAssetsUpdated", "TotalAssetsUpdated", "PeriodSummary", "DepositSync", "DepositRequestCanceled", "RatesUpdated", "StateUpdated", "VaultState", "WhitelistUpdated"]>, "many">>;
|
|
187
187
|
pagination: z.ZodOptional<z.ZodObject<{
|
|
@@ -221,7 +221,7 @@ export declare const getTransactionsInputSchema: z.ZodObject<{
|
|
|
221
221
|
transactionTypes?: ("SettleDeposit" | "SettleRedeem" | "DepositRequest" | "RedeemRequest" | "NewTotalAssetsUpdated" | "TotalAssetsUpdated" | "PeriodSummary" | "DepositSync" | "DepositRequestCanceled" | "RatesUpdated" | "StateUpdated" | "VaultState" | "WhitelistUpdated")[] | undefined;
|
|
222
222
|
}>;
|
|
223
223
|
export declare const compareVaultsInputSchema: z.ZodEffects<z.ZodObject<{
|
|
224
|
-
vaultAddresses: z.ZodArray<z.ZodString, "many">;
|
|
224
|
+
vaultAddresses: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
225
225
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
226
226
|
chainIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
227
227
|
responseFormat: z.ZodDefault<z.ZodEnum<["summary", "full"]>>;
|
|
@@ -247,7 +247,7 @@ export declare const compareVaultsInputSchema: z.ZodEffects<z.ZodObject<{
|
|
|
247
247
|
chainIds?: number[] | undefined;
|
|
248
248
|
}>;
|
|
249
249
|
export declare const priceHistoryInputSchema: z.ZodObject<{
|
|
250
|
-
vaultAddress: z.ZodString
|
|
250
|
+
vaultAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
251
251
|
chainId: z.ZodNumber;
|
|
252
252
|
timeRange: z.ZodEnum<["7d", "30d", "90d", "1y", "all"]>;
|
|
253
253
|
responseFormat: z.ZodDefault<z.ZodEnum<["summary", "detailed"]>>;
|
|
@@ -263,7 +263,7 @@ export declare const priceHistoryInputSchema: z.ZodObject<{
|
|
|
263
263
|
responseFormat?: "summary" | "detailed" | undefined;
|
|
264
264
|
}>;
|
|
265
265
|
export declare const exportDataInputSchema: z.ZodObject<{
|
|
266
|
-
vaultAddresses: z.ZodArray<z.ZodString, "many">;
|
|
266
|
+
vaultAddresses: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
267
267
|
chainId: z.ZodNumber;
|
|
268
268
|
dataType: z.ZodEnum<["vaults", "transactions", "price_history", "performance"]>;
|
|
269
269
|
format: z.ZodEnum<["csv", "json"]>;
|
|
@@ -279,7 +279,7 @@ export declare const exportDataInputSchema: z.ZodObject<{
|
|
|
279
279
|
format: "csv" | "json";
|
|
280
280
|
}>;
|
|
281
281
|
export declare const analyzeRiskInputSchema: z.ZodObject<{
|
|
282
|
-
vaultAddress: z.ZodString
|
|
282
|
+
vaultAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
283
283
|
chainId: z.ZodNumber;
|
|
284
284
|
responseFormat: z.ZodDefault<z.ZodEnum<["score", "summary", "detailed"]>>;
|
|
285
285
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -292,7 +292,7 @@ export declare const analyzeRiskInputSchema: z.ZodObject<{
|
|
|
292
292
|
responseFormat?: "summary" | "detailed" | "score" | undefined;
|
|
293
293
|
}>;
|
|
294
294
|
export declare const analyzeRisksInputSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
295
|
-
vaultAddresses: z.ZodArray<z.ZodString, "many">;
|
|
295
|
+
vaultAddresses: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
296
296
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
297
297
|
chainIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
298
298
|
responseFormat: z.ZodDefault<z.ZodEnum<["score", "summary", "detailed"]>>;
|
|
@@ -328,7 +328,7 @@ export declare const analyzeRisksInputSchema: z.ZodEffects<z.ZodEffects<z.ZodObj
|
|
|
328
328
|
chainIds?: number[] | undefined;
|
|
329
329
|
}>;
|
|
330
330
|
export declare const predictYieldInputSchema: z.ZodObject<{
|
|
331
|
-
vaultAddress: z.ZodString
|
|
331
|
+
vaultAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
332
332
|
chainId: z.ZodNumber;
|
|
333
333
|
timeRange: z.ZodEnum<["7d", "30d", "90d"]>;
|
|
334
334
|
responseFormat: z.ZodDefault<z.ZodEnum<["quick", "detailed"]>>;
|
|
@@ -344,10 +344,10 @@ export declare const predictYieldInputSchema: z.ZodObject<{
|
|
|
344
344
|
responseFormat?: "detailed" | "quick" | undefined;
|
|
345
345
|
}>;
|
|
346
346
|
export declare const optimizePortfolioInputSchema: z.ZodObject<{
|
|
347
|
-
vaultAddresses: z.ZodArray<z.ZodString, "many">;
|
|
347
|
+
vaultAddresses: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
348
348
|
chainId: z.ZodNumber;
|
|
349
349
|
currentPositions: z.ZodArray<z.ZodObject<{
|
|
350
|
-
vaultAddress: z.ZodString
|
|
350
|
+
vaultAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
351
351
|
valueUsd: z.ZodNumber;
|
|
352
352
|
}, "strip", z.ZodTypeAny, {
|
|
353
353
|
vaultAddress: string;
|
|
@@ -381,7 +381,7 @@ export declare const optimizePortfolioInputSchema: z.ZodObject<{
|
|
|
381
381
|
rebalanceThreshold?: number | undefined;
|
|
382
382
|
}>;
|
|
383
383
|
export declare const getVaultCompositionInputSchema: z.ZodObject<{
|
|
384
|
-
vaultAddress: z.ZodString
|
|
384
|
+
vaultAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
385
385
|
responseFormat: z.ZodDefault<z.ZodEnum<["summary", "protocols", "full"]>>;
|
|
386
386
|
}, "strip", z.ZodTypeAny, {
|
|
387
387
|
vaultAddress: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/validators.js
CHANGED
|
@@ -8,9 +8,11 @@ import { z } from 'zod';
|
|
|
8
8
|
* Reusable validation schemas
|
|
9
9
|
*/
|
|
10
10
|
// Ethereum address (0x + 40 hex characters)
|
|
11
|
+
// Normalized to lowercase for consistent GraphQL queries (address_in filter is case-sensitive)
|
|
11
12
|
export const ethereumAddressSchema = z
|
|
12
13
|
.string()
|
|
13
|
-
.regex(/^0x[a-fA-F0-9]{40}$/, 'Invalid Ethereum address format (must be 0x followed by 40 hex characters)')
|
|
14
|
+
.regex(/^0x[a-fA-F0-9]{40}$/, 'Invalid Ethereum address format (must be 0x followed by 40 hex characters)')
|
|
15
|
+
.transform((addr) => addr.toLowerCase());
|
|
14
16
|
// Chain ID (positive integer)
|
|
15
17
|
export const chainIdSchema = z.number().int().positive('Chain ID must be a positive integer');
|
|
16
18
|
// Pagination first parameter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,KAAK,CACJ,qBAAqB,EACrB,4EAA4E,CAC7E,CAAC;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,4CAA4C;AAC5C,+FAA+F;AAC/F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,KAAK,CACJ,qBAAqB,EACrB,4EAA4E,CAC7E;KACA,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAE3C,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;AAE9F,6BAA6B;AAC7B,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,GAAG,EAAE;KACL,QAAQ,EAAE;KACV,GAAG,CAAC,IAAI,EAAE,2BAA2B,CAAC;KACtC,OAAO,CAAC,EAAE,CAAC,CAAC;AAEf,4BAA4B;AAC5B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,GAAG,EAAE;KACL,WAAW,CAAC,2BAA2B,CAAC;KACxC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEd;;GAEG;AAEH,sBAAsB;AACtB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,uBAAuB;AACvB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,qBAAqB;IAClC,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACjC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,yHAAyH,CAC1H;CACJ,CAAC,CAAC;AAEH,sBAAsB;AACtB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,gBAAgB;QAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAE1C,gBAAgB;QAChB,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE;QACpC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;QAE7C,kBAAkB;QAClB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1C,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAEvD,aAAa;QACb,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAEpC,qBAAqB;QACrB,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE;QAC5C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;QACrD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAChD,CAAC;SACD,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,oBAAoB;KAC3B,CAAC;SACD,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACzF,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvD,8CAA8C;IAC9C,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACjC,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,uGAAuG,CACxG;IACH,gDAAgD;IAChD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;QAC5C,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;KAC7E,CAAC;IACF,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5D,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC7B,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,oGAAoG,CACrG;CACJ,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,gBAAgB,EAAE,CAAC;SAChB,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;QACL,eAAe;QACf,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,uBAAuB;QACvB,oBAAoB;QACpB,eAAe;QACf,aAAa;QACb,wBAAwB;QACxB,cAAc;QACd,cAAc;QACd,YAAY;QACZ,kBAAkB;KACnB,CAAC,CACH;SACA,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,oBAAoB;KAC3B,CAAC;SACD,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACrF,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvD,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SACrC,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,gLAAgL,CACjL;CACJ,CAAC,CAAC;AAEH,uBAAuB;AACvB,gGAAgG;AAChG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,qBAAqB,CAAC;SAC5B,GAAG,CAAC,CAAC,EAAE,wDAAwD,CAAC;SAChE,GAAG,CAAC,EAAE,EAAE,2CAA2C,CAAC;IACvD,4CAA4C;IAC5C,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjC,gDAAgD;IAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IAC3C,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SACzB,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,gGAAgG,CACjG;CACJ,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;IAC3F,OAAO,EAAE,6CAA6C;CACvD,CAAC,CAAC;AAEL,0BAA0B;AAC1B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;QACnD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;KAClF,CAAC;IACF,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC7B,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,kGAAkG,CACnG;CACJ,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;IAC7F,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;QAC3E,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,4EAA4E;SACtF,CAAC;KACH,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;QAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;KACnE,CAAC;CACH,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;SACtC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,wLAAwL,CACzL;CACJ,CAAC,CAAC;AAEH,+CAA+C;AAC/C,wFAAwF;AACxF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,qBAAqB,CAAC;SAC5B,GAAG,CAAC,CAAC,EAAE,4DAA4D,CAAC;SACpE,GAAG,CAAC,EAAE,EAAE,2CAA2C,CAAC;IACvD,8CAA8C;IAC9C,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjC,sFAAsF;IACtF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IAC3C,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;SACtC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,2LAA2L,CAC5L;CACJ,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;IAC3F,OAAO,EAAE,6CAA6C;CACvD,CAAC;KACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,EACD;IACE,OAAO,EAAE,6EAA6E;CACvF,CACF,CAAC;AAEJ,sBAAsB;AACtB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;QACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;KACzE,CAAC;IACF,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SAC3B,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CACP,mHAAmH,CACpH;CACJ,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,qBAAqB,CAAC;SAC5B,GAAG,CAAC,CAAC,EAAE,oEAAoE,CAAC;SAC5E,GAAG,CAAC,EAAE,EAAE,gDAAgD,CAAC;IAC5D,OAAO,EAAE,aAAa;IACtB,gBAAgB,EAAE,CAAC,CAAC,KAAK,CACvB,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KACjE,CAAC,CACH;IACD,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE;QACnE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,8EAA8E;SACxF,CAAC;KACH,CAAC;SACD,OAAO,CAAC,YAAY,CAAC;IACxB,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,QAAQ,CAAC,sCAAsC,CAAC;SAChD,GAAG,CAAC,EAAE,EAAE,uCAAuC,CAAC;SAChD,OAAO,CAAC,GAAG,CAAC;IACf,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;SACvC,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CACP,uLAAuL,CACxL;CACJ,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,YAAY,EAAE,qBAAqB;IACnC,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;SACtC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,oLAAoL,CACrL;CACJ,CAAC,CAAC"}
|