@lagoon-protocol/lagoon-mcp 0.1.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/LICENSE +201 -0
- package/README.md +618 -0
- package/dist/cache/index.d.ts +97 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +106 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/config.d.ts +34 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +40 -0
- package/dist/config.js.map +1 -0
- package/dist/core/cache-adapter.d.ts +73 -0
- package/dist/core/cache-adapter.d.ts.map +1 -0
- package/dist/core/cache-adapter.js +47 -0
- package/dist/core/cache-adapter.js.map +1 -0
- package/dist/core/cache-invalidation.d.ts +72 -0
- package/dist/core/cache-invalidation.d.ts.map +1 -0
- package/dist/core/cache-invalidation.js +114 -0
- package/dist/core/cache-invalidation.js.map +1 -0
- package/dist/core/container.d.ts +34 -0
- package/dist/core/container.d.ts.map +1 -0
- package/dist/core/container.js +75 -0
- package/dist/core/container.js.map +1 -0
- package/dist/graphql/client.d.ts +32 -0
- package/dist/graphql/client.d.ts.map +1 -0
- package/dist/graphql/client.js +49 -0
- package/dist/graphql/client.js.map +1 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.d.ts +64 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.js +62 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.js.map +1 -0
- package/dist/graphql/fragments/asset-info.fragment.d.ts +18 -0
- package/dist/graphql/fragments/asset-info.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/asset-info.fragment.js +36 -0
- package/dist/graphql/fragments/asset-info.fragment.js.map +1 -0
- package/dist/graphql/fragments/chain-info.fragment.d.ts +18 -0
- package/dist/graphql/fragments/chain-info.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/chain-info.fragment.js +32 -0
- package/dist/graphql/fragments/chain-info.fragment.js.map +1 -0
- package/dist/graphql/fragments/index.d.ts +15 -0
- package/dist/graphql/fragments/index.d.ts.map +1 -0
- package/dist/graphql/fragments/index.js +21 -0
- package/dist/graphql/fragments/index.js.map +1 -0
- package/dist/graphql/fragments/pageinfo.fragment.d.ts +33 -0
- package/dist/graphql/fragments/pageinfo.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/pageinfo.fragment.js +47 -0
- package/dist/graphql/fragments/pageinfo.fragment.js.map +1 -0
- package/dist/graphql/fragments/transaction-base.fragment.d.ts +19 -0
- package/dist/graphql/fragments/transaction-base.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/transaction-base.fragment.js +32 -0
- package/dist/graphql/fragments/transaction-base.fragment.js.map +1 -0
- package/dist/graphql/fragments/vault-list.fragment.d.ts +53 -0
- package/dist/graphql/fragments/vault-list.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/vault-list.fragment.js +51 -0
- package/dist/graphql/fragments/vault-list.fragment.js.map +1 -0
- package/dist/graphql/fragments/vault-summary.fragment.d.ts +68 -0
- package/dist/graphql/fragments/vault-summary.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/vault-summary.fragment.js +66 -0
- package/dist/graphql/fragments/vault-summary.fragment.js.map +1 -0
- package/dist/graphql/fragments/vault.fragment.d.ts +133 -0
- package/dist/graphql/fragments/vault.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/vault.fragment.js +119 -0
- package/dist/graphql/fragments/vault.fragment.js.map +1 -0
- package/dist/graphql/fragments.d.ts +183 -0
- package/dist/graphql/fragments.d.ts.map +1 -0
- package/dist/graphql/fragments.js +297 -0
- package/dist/graphql/fragments.js.map +1 -0
- package/dist/graphql/queries/export.queries.d.ts +72 -0
- package/dist/graphql/queries/export.queries.d.ts.map +1 -0
- package/dist/graphql/queries/export.queries.js +202 -0
- package/dist/graphql/queries/export.queries.js.map +1 -0
- package/dist/graphql/queries/index.d.ts +15 -0
- package/dist/graphql/queries/index.d.ts.map +1 -0
- package/dist/graphql/queries/index.js +23 -0
- package/dist/graphql/queries/index.js.map +1 -0
- package/dist/graphql/queries/performance.queries.d.ts +63 -0
- package/dist/graphql/queries/performance.queries.d.ts.map +1 -0
- package/dist/graphql/queries/performance.queries.js +133 -0
- package/dist/graphql/queries/performance.queries.js.map +1 -0
- package/dist/graphql/queries/period-summaries.d.ts +15 -0
- package/dist/graphql/queries/period-summaries.d.ts.map +1 -0
- package/dist/graphql/queries/period-summaries.js +24 -0
- package/dist/graphql/queries/period-summaries.js.map +1 -0
- package/dist/graphql/queries/portfolio.queries.d.ts +78 -0
- package/dist/graphql/queries/portfolio.queries.d.ts.map +1 -0
- package/dist/graphql/queries/portfolio.queries.js +198 -0
- package/dist/graphql/queries/portfolio.queries.js.map +1 -0
- package/dist/graphql/queries/prediction.queries.d.ts +38 -0
- package/dist/graphql/queries/prediction.queries.d.ts.map +1 -0
- package/dist/graphql/queries/prediction.queries.js +100 -0
- package/dist/graphql/queries/prediction.queries.js.map +1 -0
- package/dist/graphql/queries/risk.queries.d.ts +37 -0
- package/dist/graphql/queries/risk.queries.d.ts.map +1 -0
- package/dist/graphql/queries/risk.queries.js +90 -0
- package/dist/graphql/queries/risk.queries.js.map +1 -0
- package/dist/graphql/queries/search.queries.d.ts +61 -0
- package/dist/graphql/queries/search.queries.d.ts.map +1 -0
- package/dist/graphql/queries/search.queries.js +103 -0
- package/dist/graphql/queries/search.queries.js.map +1 -0
- package/dist/graphql/queries/transaction.queries.d.ts +60 -0
- package/dist/graphql/queries/transaction.queries.d.ts.map +1 -0
- package/dist/graphql/queries/transaction.queries.js +252 -0
- package/dist/graphql/queries/transaction.queries.js.map +1 -0
- package/dist/graphql/queries/vault.queries.d.ts +54 -0
- package/dist/graphql/queries/vault.queries.d.ts.map +1 -0
- package/dist/graphql/queries/vault.queries.js +78 -0
- package/dist/graphql/queries/vault.queries.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/competitor-comparison.d.ts +8 -0
- package/dist/prompts/competitor-comparison.d.ts.map +1 -0
- package/dist/prompts/competitor-comparison.js +432 -0
- package/dist/prompts/competitor-comparison.js.map +1 -0
- package/dist/prompts/curator-performance.d.ts +8 -0
- package/dist/prompts/curator-performance.d.ts.map +1 -0
- package/dist/prompts/curator-performance.js +383 -0
- package/dist/prompts/curator-performance.js.map +1 -0
- package/dist/prompts/financial-analysis.d.ts +8 -0
- package/dist/prompts/financial-analysis.d.ts.map +1 -0
- package/dist/prompts/financial-analysis.js +480 -0
- package/dist/prompts/financial-analysis.js.map +1 -0
- package/dist/prompts/index.d.ts +21 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +50 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/onboarding-first-vault.d.ts +8 -0
- package/dist/prompts/onboarding-first-vault.d.ts.map +1 -0
- package/dist/prompts/onboarding-first-vault.js +317 -0
- package/dist/prompts/onboarding-first-vault.js.map +1 -0
- package/dist/prompts/portfolio-optimization.d.ts +8 -0
- package/dist/prompts/portfolio-optimization.d.ts.map +1 -0
- package/dist/prompts/portfolio-optimization.js +412 -0
- package/dist/prompts/portfolio-optimization.js.map +1 -0
- package/dist/prompts/protocol-overview.d.ts +8 -0
- package/dist/prompts/protocol-overview.d.ts.map +1 -0
- package/dist/prompts/protocol-overview.js +398 -0
- package/dist/prompts/protocol-overview.js.map +1 -0
- package/dist/prompts/shared/disclaimers.d.ts +54 -0
- package/dist/prompts/shared/disclaimers.d.ts.map +1 -0
- package/dist/prompts/shared/disclaimers.js +400 -0
- package/dist/prompts/shared/disclaimers.js.map +1 -0
- package/dist/resources/glossary.d.ts +8 -0
- package/dist/resources/glossary.d.ts.map +1 -0
- package/dist/resources/glossary.js +407 -0
- package/dist/resources/glossary.js.map +1 -0
- package/dist/resources/index.d.ts +18 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +29 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/schema.d.ts +22 -0
- package/dist/resources/schema.d.ts.map +1 -0
- package/dist/resources/schema.js +67 -0
- package/dist/resources/schema.js.map +1 -0
- package/dist/schemas/config.schema.d.ts +46 -0
- package/dist/schemas/config.schema.d.ts.map +1 -0
- package/dist/schemas/config.schema.js +48 -0
- package/dist/schemas/config.schema.js.map +1 -0
- package/dist/sdk/__tests__/apr-service.test.d.ts +7 -0
- package/dist/sdk/__tests__/apr-service.test.d.ts.map +1 -0
- package/dist/sdk/__tests__/apr-service.test.js +385 -0
- package/dist/sdk/__tests__/apr-service.test.js.map +1 -0
- package/dist/sdk/__tests__/math-utils.test.d.ts +7 -0
- package/dist/sdk/__tests__/math-utils.test.d.ts.map +1 -0
- package/dist/sdk/__tests__/math-utils.test.js +185 -0
- package/dist/sdk/__tests__/math-utils.test.js.map +1 -0
- package/dist/sdk/__tests__/simulation-service.test.d.ts +5 -0
- package/dist/sdk/__tests__/simulation-service.test.d.ts.map +1 -0
- package/dist/sdk/__tests__/simulation-service.test.js +397 -0
- package/dist/sdk/__tests__/simulation-service.test.js.map +1 -0
- package/dist/sdk/__tests__/vault-utils.test.d.ts +7 -0
- package/dist/sdk/__tests__/vault-utils.test.d.ts.map +1 -0
- package/dist/sdk/__tests__/vault-utils.test.js +189 -0
- package/dist/sdk/__tests__/vault-utils.test.js.map +1 -0
- package/dist/sdk/apr-service.d.ts +101 -0
- package/dist/sdk/apr-service.d.ts.map +1 -0
- package/dist/sdk/apr-service.js +175 -0
- package/dist/sdk/apr-service.js.map +1 -0
- package/dist/sdk/math-utils.d.ts +138 -0
- package/dist/sdk/math-utils.d.ts.map +1 -0
- package/dist/sdk/math-utils.js +218 -0
- package/dist/sdk/math-utils.js.map +1 -0
- package/dist/sdk/simulation-service.d.ts +106 -0
- package/dist/sdk/simulation-service.d.ts.map +1 -0
- package/dist/sdk/simulation-service.js +143 -0
- package/dist/sdk/simulation-service.js.map +1 -0
- package/dist/sdk/vault-utils.d.ts +125 -0
- package/dist/sdk/vault-utils.d.ts.map +1 -0
- package/dist/sdk/vault-utils.js +165 -0
- package/dist/sdk/vault-utils.js.map +1 -0
- package/dist/server.d.ts +21 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +225 -0
- package/dist/server.js.map +1 -0
- package/dist/services/analytics/protocol-overview.service.d.ts +61 -0
- package/dist/services/analytics/protocol-overview.service.d.ts.map +1 -0
- package/dist/services/analytics/protocol-overview.service.js +182 -0
- package/dist/services/analytics/protocol-overview.service.js.map +1 -0
- package/dist/services/analytics/risk.service.d.ts +92 -0
- package/dist/services/analytics/risk.service.d.ts.map +1 -0
- package/dist/services/analytics/risk.service.js +423 -0
- package/dist/services/analytics/risk.service.js.map +1 -0
- package/dist/services/base.service.d.ts +39 -0
- package/dist/services/base.service.d.ts.map +1 -0
- package/dist/services/base.service.js +37 -0
- package/dist/services/base.service.js.map +1 -0
- package/dist/services/index.d.ts +30 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +101 -0
- package/dist/services/index.js.map +1 -0
- package/dist/tools/__tests__/simulate-vault.test.d.ts +5 -0
- package/dist/tools/__tests__/simulate-vault.test.d.ts.map +1 -0
- package/dist/tools/__tests__/simulate-vault.test.js +363 -0
- package/dist/tools/__tests__/simulate-vault.test.js.map +1 -0
- package/dist/tools/analyze-risk.d.ts +34 -0
- package/dist/tools/analyze-risk.d.ts.map +1 -0
- package/dist/tools/analyze-risk.js +100 -0
- package/dist/tools/analyze-risk.js.map +1 -0
- package/dist/tools/compare-vaults.d.ts +29 -0
- package/dist/tools/compare-vaults.d.ts.map +1 -0
- package/dist/tools/compare-vaults.js +285 -0
- package/dist/tools/compare-vaults.js.map +1 -0
- package/dist/tools/export-data.d.ts +34 -0
- package/dist/tools/export-data.d.ts.map +1 -0
- package/dist/tools/export-data.js +309 -0
- package/dist/tools/export-data.js.map +1 -0
- package/dist/tools/get-price-history.d.ts +29 -0
- package/dist/tools/get-price-history.d.ts.map +1 -0
- package/dist/tools/get-price-history.js +236 -0
- package/dist/tools/get-price-history.js.map +1 -0
- package/dist/tools/get-transactions.d.ts +29 -0
- package/dist/tools/get-transactions.d.ts.map +1 -0
- package/dist/tools/get-transactions.js +181 -0
- package/dist/tools/get-transactions.js.map +1 -0
- package/dist/tools/index.d.ts +26 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +32 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/optimize-portfolio.d.ts +37 -0
- package/dist/tools/optimize-portfolio.d.ts.map +1 -0
- package/dist/tools/optimize-portfolio.js +459 -0
- package/dist/tools/optimize-portfolio.js.map +1 -0
- package/dist/tools/predict-yield.d.ts +30 -0
- package/dist/tools/predict-yield.d.ts.map +1 -0
- package/dist/tools/predict-yield.js +248 -0
- package/dist/tools/predict-yield.js.map +1 -0
- package/dist/tools/query-graphql.d.ts +35 -0
- package/dist/tools/query-graphql.d.ts.map +1 -0
- package/dist/tools/query-graphql.js +54 -0
- package/dist/tools/query-graphql.js.map +1 -0
- package/dist/tools/registry.d.ts +42 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +231 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/search-vaults.d.ts +40 -0
- package/dist/tools/search-vaults.d.ts.map +1 -0
- package/dist/tools/search-vaults.js +184 -0
- package/dist/tools/search-vaults.js.map +1 -0
- package/dist/tools/simulate-vault.d.ts +80 -0
- package/dist/tools/simulate-vault.d.ts.map +1 -0
- package/dist/tools/simulate-vault.js +281 -0
- package/dist/tools/simulate-vault.js.map +1 -0
- package/dist/tools/user-portfolio.d.ts +30 -0
- package/dist/tools/user-portfolio.d.ts.map +1 -0
- package/dist/tools/user-portfolio.js +142 -0
- package/dist/tools/user-portfolio.js.map +1 -0
- package/dist/tools/vault-data.d.ts +23 -0
- package/dist/tools/vault-data.d.ts.map +1 -0
- package/dist/tools/vault-data.js +68 -0
- package/dist/tools/vault-data.js.map +1 -0
- package/dist/tools/vault-performance.d.ts +30 -0
- package/dist/tools/vault-performance.d.ts.map +1 -0
- package/dist/tools/vault-performance.js +275 -0
- package/dist/tools/vault-performance.js.map +1 -0
- package/dist/types/generated.d.ts +1109 -0
- package/dist/types/generated.d.ts.map +1 -0
- package/dist/types/generated.js +2 -0
- package/dist/types/generated.js.map +1 -0
- package/dist/types/index.d.ts +46 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/comparison-metrics.d.ts +120 -0
- package/dist/utils/comparison-metrics.d.ts.map +1 -0
- package/dist/utils/comparison-metrics.js +215 -0
- package/dist/utils/comparison-metrics.js.map +1 -0
- package/dist/utils/config-loader.d.ts +17 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +45 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/csv-generator.d.ts +89 -0
- package/dist/utils/csv-generator.d.ts.map +1 -0
- package/dist/utils/csv-generator.js +97 -0
- package/dist/utils/csv-generator.js.map +1 -0
- package/dist/utils/disclaimers.d.ts +70 -0
- package/dist/utils/disclaimers.d.ts.map +1 -0
- package/dist/utils/disclaimers.js +161 -0
- package/dist/utils/disclaimers.js.map +1 -0
- package/dist/utils/errors.d.ts +66 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +86 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/execute-tool-with-cache.d.ts +97 -0
- package/dist/utils/execute-tool-with-cache.d.ts.map +1 -0
- package/dist/utils/execute-tool-with-cache.js +105 -0
- package/dist/utils/execute-tool-with-cache.js.map +1 -0
- package/dist/utils/portfolio-optimization.d.ts +100 -0
- package/dist/utils/portfolio-optimization.d.ts.map +1 -0
- package/dist/utils/portfolio-optimization.js +283 -0
- package/dist/utils/portfolio-optimization.js.map +1 -0
- package/dist/utils/risk-scoring.d.ts +226 -0
- package/dist/utils/risk-scoring.d.ts.map +1 -0
- package/dist/utils/risk-scoring.js +523 -0
- package/dist/utils/risk-scoring.js.map +1 -0
- package/dist/utils/tool-error-handler.d.ts +16 -0
- package/dist/utils/tool-error-handler.d.ts.map +1 -0
- package/dist/utils/tool-error-handler.js +43 -0
- package/dist/utils/tool-error-handler.js.map +1 -0
- package/dist/utils/tool-handler.d.ts +33 -0
- package/dist/utils/tool-handler.d.ts.map +1 -0
- package/dist/utils/tool-handler.js +59 -0
- package/dist/utils/tool-handler.js.map +1 -0
- package/dist/utils/tool-response.d.ts +16 -0
- package/dist/utils/tool-response.d.ts.map +1 -0
- package/dist/utils/tool-response.js +25 -0
- package/dist/utils/tool-response.js.map +1 -0
- package/dist/utils/validators.d.ts +359 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +233 -0
- package/dist/utils/validators.js.map +1 -0
- package/dist/utils/yield-prediction.d.ts +69 -0
- package/dist/utils/yield-prediction.d.ts.map +1 -0
- package/dist/utils/yield-prediction.js +290 -0
- package/dist/utils/yield-prediction.js.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export Queries
|
|
3
|
+
*
|
|
4
|
+
* GraphQL queries for data export operations.
|
|
5
|
+
* Supports exporting vaults, transactions, price history, and performance metrics.
|
|
6
|
+
*/
|
|
7
|
+
import { VAULT_FRAGMENT, TRANSACTION_BASE_FRAGMENT } from '../fragments/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* GraphQL query for vault data export
|
|
10
|
+
*
|
|
11
|
+
* Fetches complete vault data for CSV or JSON export.
|
|
12
|
+
*
|
|
13
|
+
* Used by: export_data tool (dataType: 'vaults')
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const data = await graphqlClient.request<{ vaults: VaultData[] }>(
|
|
18
|
+
* EXPORT_VAULTS_QUERY,
|
|
19
|
+
* { addresses: ['0x...', '0x...'], chainId: 1 }
|
|
20
|
+
* );
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export const EXPORT_VAULTS_QUERY = `
|
|
24
|
+
query ExportVaults($addresses: [String!]!, $chainId: Int!) {
|
|
25
|
+
vaults(where: { address_in: $addresses, chainId_eq: $chainId }) {
|
|
26
|
+
items {
|
|
27
|
+
...VaultFragment
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
${VAULT_FRAGMENT}
|
|
32
|
+
`;
|
|
33
|
+
/**
|
|
34
|
+
* GraphQL query for transaction export
|
|
35
|
+
*
|
|
36
|
+
* Fetches transaction data with essential fields for export.
|
|
37
|
+
* Includes deposit, redeem, and request transactions.
|
|
38
|
+
*
|
|
39
|
+
* Used by: export_data tool (dataType: 'transactions')
|
|
40
|
+
*
|
|
41
|
+
* Usage:
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const data = await graphqlClient.request<TransactionsExportResponse>(
|
|
44
|
+
* EXPORT_TRANSACTIONS_QUERY,
|
|
45
|
+
* { vault_in: ['0x...'], chainId: 1, first: 1000 }
|
|
46
|
+
* );
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export const EXPORT_TRANSACTIONS_QUERY = `
|
|
50
|
+
query ExportTransactions($vault_in: [Address!]!, $chainId: Int!, $first: Int!) {
|
|
51
|
+
transactions(
|
|
52
|
+
where: { vault_in: $vault_in, chainId_eq: $chainId },
|
|
53
|
+
orderBy: timestamp,
|
|
54
|
+
orderDirection: desc,
|
|
55
|
+
first: $first
|
|
56
|
+
) {
|
|
57
|
+
items {
|
|
58
|
+
...TransactionBaseFragment
|
|
59
|
+
data {
|
|
60
|
+
... on SettleDeposit {
|
|
61
|
+
assetsDeposited
|
|
62
|
+
assetsDepositedUsd
|
|
63
|
+
sharesMinted
|
|
64
|
+
vault {
|
|
65
|
+
id
|
|
66
|
+
address
|
|
67
|
+
symbol
|
|
68
|
+
decimals
|
|
69
|
+
asset {
|
|
70
|
+
decimals
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
... on SettleRedeem {
|
|
75
|
+
assetsWithdrawed
|
|
76
|
+
assetsWithdrawedUsd
|
|
77
|
+
sharesBurned
|
|
78
|
+
vault {
|
|
79
|
+
id
|
|
80
|
+
address
|
|
81
|
+
symbol
|
|
82
|
+
decimals
|
|
83
|
+
asset {
|
|
84
|
+
decimals
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
... on DepositRequest {
|
|
89
|
+
owner
|
|
90
|
+
assets
|
|
91
|
+
assetsUsd
|
|
92
|
+
vault {
|
|
93
|
+
id
|
|
94
|
+
address
|
|
95
|
+
symbol
|
|
96
|
+
decimals
|
|
97
|
+
asset {
|
|
98
|
+
decimals
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
... on RedeemRequest {
|
|
103
|
+
owner
|
|
104
|
+
shares
|
|
105
|
+
sharesUsd
|
|
106
|
+
vault {
|
|
107
|
+
id
|
|
108
|
+
address
|
|
109
|
+
symbol
|
|
110
|
+
decimals
|
|
111
|
+
asset {
|
|
112
|
+
decimals
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
${TRANSACTION_BASE_FRAGMENT}
|
|
121
|
+
`;
|
|
122
|
+
/**
|
|
123
|
+
* GraphQL query for price history export
|
|
124
|
+
*
|
|
125
|
+
* Fetches historical price data for OHLCV export.
|
|
126
|
+
*
|
|
127
|
+
* Used by: export_data tool (dataType: 'price_history')
|
|
128
|
+
*
|
|
129
|
+
* Usage:
|
|
130
|
+
* ```typescript
|
|
131
|
+
* const data = await graphqlClient.request<PriceHistoryExportResponse>(
|
|
132
|
+
* EXPORT_PRICE_HISTORY_QUERY,
|
|
133
|
+
* { vault_in: ['0x...'], first: 1000 }
|
|
134
|
+
* );
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export const EXPORT_PRICE_HISTORY_QUERY = `
|
|
138
|
+
query ExportPriceHistory($vault_in: [Address!]!, $first: Int!) {
|
|
139
|
+
transactions(
|
|
140
|
+
where: { vault_in: $vault_in, type_in: [TotalAssetsUpdated] },
|
|
141
|
+
orderBy: timestamp,
|
|
142
|
+
orderDirection: asc,
|
|
143
|
+
first: $first
|
|
144
|
+
) {
|
|
145
|
+
items {
|
|
146
|
+
timestamp
|
|
147
|
+
data {
|
|
148
|
+
... on TotalAssetsUpdated {
|
|
149
|
+
totalAssets
|
|
150
|
+
totalAssetsUsd
|
|
151
|
+
totalSupply
|
|
152
|
+
vault {
|
|
153
|
+
id
|
|
154
|
+
address
|
|
155
|
+
symbol
|
|
156
|
+
decimals
|
|
157
|
+
asset {
|
|
158
|
+
decimals
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
`;
|
|
167
|
+
/**
|
|
168
|
+
* GraphQL query for performance metrics export
|
|
169
|
+
*
|
|
170
|
+
* Fetches TVL history for performance metric export.
|
|
171
|
+
*
|
|
172
|
+
* Used by: export_data tool (dataType: 'performance')
|
|
173
|
+
*
|
|
174
|
+
* Usage:
|
|
175
|
+
* ```typescript
|
|
176
|
+
* const data = await graphqlClient.request<PerformanceExportResponse>(
|
|
177
|
+
* EXPORT_PERFORMANCE_QUERY,
|
|
178
|
+
* { vault_in: ['0x...'], first: 1000 }
|
|
179
|
+
* );
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
export const EXPORT_PERFORMANCE_QUERY = `
|
|
183
|
+
query ExportPerformance($vault_in: [Address!]!, $first: Int!) {
|
|
184
|
+
transactions(
|
|
185
|
+
where: { vault_in: $vault_in, type_in: [TotalAssetsUpdated] },
|
|
186
|
+
orderBy: timestamp,
|
|
187
|
+
orderDirection: asc,
|
|
188
|
+
first: $first
|
|
189
|
+
) {
|
|
190
|
+
items {
|
|
191
|
+
timestamp
|
|
192
|
+
blockNumber
|
|
193
|
+
data {
|
|
194
|
+
... on TotalAssetsUpdated {
|
|
195
|
+
totalAssetsUsd
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
`;
|
|
202
|
+
//# sourceMappingURL=export.queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/export.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;IAQ/B,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuErC,yBAAyB;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BzC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;CAmBvC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphQL Queries Index
|
|
3
|
+
*
|
|
4
|
+
* Central export point for all GraphQL queries.
|
|
5
|
+
* Import from this file for convenience: `import { GET_VAULT_DATA_QUERY } from '../graphql/queries'`
|
|
6
|
+
*/
|
|
7
|
+
export { GET_VAULT_DATA_QUERY, GET_VAULT_FOR_APR_QUERY, COMPARE_VAULTS_QUERY, } from './vault.queries.js';
|
|
8
|
+
export { TRANSACTIONS_QUERY, PRICE_HISTORY_QUERY } from './transaction.queries.js';
|
|
9
|
+
export { GET_VAULT_PERFORMANCE_QUERY, GET_PERIOD_SUMMARIES_QUERY } from './performance.queries.js';
|
|
10
|
+
export { GET_USER_PORTFOLIO_QUERY, createGetUserPortfolioQuery, type PortfolioResponseFormat, SINGLE_VAULT_OPTIMIZATION_QUERY, PORTFOLIO_OPTIMIZATION_QUERY, } from './portfolio.queries.js';
|
|
11
|
+
export { RISK_ANALYSIS_QUERY } from './risk.queries.js';
|
|
12
|
+
export { YIELD_PREDICTION_QUERY, createYieldPredictionQuery, type PredictionResponseFormat, } from './prediction.queries.js';
|
|
13
|
+
export { EXPORT_VAULTS_QUERY, EXPORT_TRANSACTIONS_QUERY, EXPORT_PRICE_HISTORY_QUERY, EXPORT_PERFORMANCE_QUERY, } from './export.queries.js';
|
|
14
|
+
export { SEARCH_VAULTS_QUERY, createSearchVaultsQuery, type SearchVaultsResponseFormat, } from './search.queries.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGnF,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAGnG,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,0BAA0B,GAChC,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphQL Queries Index
|
|
3
|
+
*
|
|
4
|
+
* Central export point for all GraphQL queries.
|
|
5
|
+
* Import from this file for convenience: `import { GET_VAULT_DATA_QUERY } from '../graphql/queries'`
|
|
6
|
+
*/
|
|
7
|
+
// Vault Queries
|
|
8
|
+
export { GET_VAULT_DATA_QUERY, GET_VAULT_FOR_APR_QUERY, COMPARE_VAULTS_QUERY, } from './vault.queries.js';
|
|
9
|
+
// Transaction Queries
|
|
10
|
+
export { TRANSACTIONS_QUERY, PRICE_HISTORY_QUERY } from './transaction.queries.js';
|
|
11
|
+
// Performance Queries
|
|
12
|
+
export { GET_VAULT_PERFORMANCE_QUERY, GET_PERIOD_SUMMARIES_QUERY } from './performance.queries.js';
|
|
13
|
+
// Portfolio Queries
|
|
14
|
+
export { GET_USER_PORTFOLIO_QUERY, createGetUserPortfolioQuery, SINGLE_VAULT_OPTIMIZATION_QUERY, PORTFOLIO_OPTIMIZATION_QUERY, } from './portfolio.queries.js';
|
|
15
|
+
// Risk Queries
|
|
16
|
+
export { RISK_ANALYSIS_QUERY } from './risk.queries.js';
|
|
17
|
+
// Prediction Queries
|
|
18
|
+
export { YIELD_PREDICTION_QUERY, createYieldPredictionQuery, } from './prediction.queries.js';
|
|
19
|
+
// Export Queries
|
|
20
|
+
export { EXPORT_VAULTS_QUERY, EXPORT_TRANSACTIONS_QUERY, EXPORT_PRICE_HISTORY_QUERY, EXPORT_PERFORMANCE_QUERY, } from './export.queries.js';
|
|
21
|
+
// Search Queries
|
|
22
|
+
export { SEARCH_VAULTS_QUERY, createSearchVaultsQuery, } from './search.queries.js';
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graphql/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gBAAgB;AAChB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,sBAAsB;AACtB,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEnG,oBAAoB;AACpB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAE3B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAEhC,eAAe;AACf,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAE3B,MAAM,yBAAyB,CAAC;AAEjC,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Queries
|
|
3
|
+
*
|
|
4
|
+
* GraphQL queries for vault performance tracking and historical metrics.
|
|
5
|
+
* Includes vault performance analysis and period summaries for APR calculations.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Vault performance GraphQL query
|
|
9
|
+
*
|
|
10
|
+
* Fetches transactions with TotalAssetsUpdated and PeriodSummary data for
|
|
11
|
+
* historical metrics and trend analysis. Provides time-series performance data.
|
|
12
|
+
*
|
|
13
|
+
* Used by: get_vault_performance tool
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const data = await graphqlClient.request<VaultPerformanceResponse>(
|
|
18
|
+
* GET_VAULT_PERFORMANCE_QUERY,
|
|
19
|
+
* {
|
|
20
|
+
* where: {
|
|
21
|
+
* vault_in: ['0x...'],
|
|
22
|
+
* type_in: ['TotalAssetsUpdated', 'PeriodSummary']
|
|
23
|
+
* },
|
|
24
|
+
* orderBy: 'timestamp',
|
|
25
|
+
* orderDirection: 'asc',
|
|
26
|
+
* first: 1000
|
|
27
|
+
* }
|
|
28
|
+
* );
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare const GET_VAULT_PERFORMANCE_QUERY = "\n query GetVaultPerformance(\n $where: TransactionFilterInput!,\n $orderBy: TransactionOrderBy!,\n $orderDirection: OrderDirection!,\n $first: Int!\n ) {\n transactions(\n where: $where,\n orderBy: $orderBy,\n orderDirection: $orderDirection,\n first: $first\n ) {\n items {\n ...TransactionBaseFragment\n data {\n ... on TotalAssetsUpdated {\n totalAssetsUsd\n totalAssets\n }\n ... on PeriodSummary {\n duration\n totalAssetsAtStart\n totalAssetsAtEnd\n totalSupplyAtStart\n totalSupplyAtEnd\n netTotalSupplyAtEnd\n }\n }\n }\n pageInfo {\n ...PageInfoMinimalFragment\n }\n }\n }\n \n fragment TransactionBaseFragment on Transaction {\n id\n type\n timestamp\n blockNumber\n hash\n logIndex\n chain {\n id\n name\n }\n }\n\n \n fragment PageInfoMinimalFragment on PageInfo {\n hasNextPage\n hasPreviousPage\n }\n\n";
|
|
32
|
+
/**
|
|
33
|
+
* Query to fetch period summaries for a vault
|
|
34
|
+
*
|
|
35
|
+
* Period summaries contain historical snapshots of vault state at regular intervals.
|
|
36
|
+
* Used by Lagoon SDK to calculate accurate APR from price per share changes over time.
|
|
37
|
+
*
|
|
38
|
+
* Note: The GraphQL API doesn't have a direct 'periodSummaries' query. PeriodSummary data
|
|
39
|
+
* is fetched through the transactions query with type filtering.
|
|
40
|
+
*
|
|
41
|
+
* Used by: get_vault_performance tool (via calculateSDKAPR function)
|
|
42
|
+
*
|
|
43
|
+
* Usage:
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const data = await graphqlClient.request<{ transactions: { items: Transaction[] } }>(
|
|
46
|
+
* GET_PERIOD_SUMMARIES_QUERY,
|
|
47
|
+
* {
|
|
48
|
+
* where: {
|
|
49
|
+
* vault_in: ['0x...'],
|
|
50
|
+
* chainId_eq: 1,
|
|
51
|
+
* type_in: ['PeriodSummary']
|
|
52
|
+
* },
|
|
53
|
+
* orderBy: 'timestamp',
|
|
54
|
+
* orderDirection: 'asc',
|
|
55
|
+
* first: 1000
|
|
56
|
+
* }
|
|
57
|
+
* );
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* @returns Transactions containing PeriodSummary data with timestamp and vault state
|
|
61
|
+
*/
|
|
62
|
+
export declare const GET_PERIOD_SUMMARIES_QUERY = "\n query GetPeriodSummaries(\n $where: TransactionFilterInput!,\n $orderBy: TransactionOrderBy!,\n $orderDirection: OrderDirection!,\n $first: Int!\n ) {\n transactions(\n where: $where,\n orderBy: $orderBy,\n orderDirection: $orderDirection,\n first: $first\n ) {\n items {\n timestamp\n data {\n ... on PeriodSummary {\n duration\n totalAssetsAtStart\n totalAssetsAtEnd\n totalSupplyAtStart\n totalSupplyAtEnd\n netTotalSupplyAtEnd\n }\n }\n }\n pageInfo {\n ...PageInfoMinimalFragment\n }\n }\n }\n \n fragment PageInfoMinimalFragment on PageInfo {\n hasNextPage\n hasPreviousPage\n }\n\n";
|
|
63
|
+
//# sourceMappingURL=performance.queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.queries.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/performance.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,2BAA2B,4jCAqCvC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,0BAA0B,6wBAgCtC,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Queries
|
|
3
|
+
*
|
|
4
|
+
* GraphQL queries for vault performance tracking and historical metrics.
|
|
5
|
+
* Includes vault performance analysis and period summaries for APR calculations.
|
|
6
|
+
*/
|
|
7
|
+
import { TRANSACTION_BASE_FRAGMENT, PAGEINFO_MINIMAL_FRAGMENT } from '../fragments/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Vault performance GraphQL query
|
|
10
|
+
*
|
|
11
|
+
* Fetches transactions with TotalAssetsUpdated and PeriodSummary data for
|
|
12
|
+
* historical metrics and trend analysis. Provides time-series performance data.
|
|
13
|
+
*
|
|
14
|
+
* Used by: get_vault_performance tool
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const data = await graphqlClient.request<VaultPerformanceResponse>(
|
|
19
|
+
* GET_VAULT_PERFORMANCE_QUERY,
|
|
20
|
+
* {
|
|
21
|
+
* where: {
|
|
22
|
+
* vault_in: ['0x...'],
|
|
23
|
+
* type_in: ['TotalAssetsUpdated', 'PeriodSummary']
|
|
24
|
+
* },
|
|
25
|
+
* orderBy: 'timestamp',
|
|
26
|
+
* orderDirection: 'asc',
|
|
27
|
+
* first: 1000
|
|
28
|
+
* }
|
|
29
|
+
* );
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export const GET_VAULT_PERFORMANCE_QUERY = `
|
|
33
|
+
query GetVaultPerformance(
|
|
34
|
+
$where: TransactionFilterInput!,
|
|
35
|
+
$orderBy: TransactionOrderBy!,
|
|
36
|
+
$orderDirection: OrderDirection!,
|
|
37
|
+
$first: Int!
|
|
38
|
+
) {
|
|
39
|
+
transactions(
|
|
40
|
+
where: $where,
|
|
41
|
+
orderBy: $orderBy,
|
|
42
|
+
orderDirection: $orderDirection,
|
|
43
|
+
first: $first
|
|
44
|
+
) {
|
|
45
|
+
items {
|
|
46
|
+
...TransactionBaseFragment
|
|
47
|
+
data {
|
|
48
|
+
... on TotalAssetsUpdated {
|
|
49
|
+
totalAssetsUsd
|
|
50
|
+
totalAssets
|
|
51
|
+
}
|
|
52
|
+
... on PeriodSummary {
|
|
53
|
+
duration
|
|
54
|
+
totalAssetsAtStart
|
|
55
|
+
totalAssetsAtEnd
|
|
56
|
+
totalSupplyAtStart
|
|
57
|
+
totalSupplyAtEnd
|
|
58
|
+
netTotalSupplyAtEnd
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
pageInfo {
|
|
63
|
+
...PageInfoMinimalFragment
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
${TRANSACTION_BASE_FRAGMENT}
|
|
68
|
+
${PAGEINFO_MINIMAL_FRAGMENT}
|
|
69
|
+
`;
|
|
70
|
+
/**
|
|
71
|
+
* Query to fetch period summaries for a vault
|
|
72
|
+
*
|
|
73
|
+
* Period summaries contain historical snapshots of vault state at regular intervals.
|
|
74
|
+
* Used by Lagoon SDK to calculate accurate APR from price per share changes over time.
|
|
75
|
+
*
|
|
76
|
+
* Note: The GraphQL API doesn't have a direct 'periodSummaries' query. PeriodSummary data
|
|
77
|
+
* is fetched through the transactions query with type filtering.
|
|
78
|
+
*
|
|
79
|
+
* Used by: get_vault_performance tool (via calculateSDKAPR function)
|
|
80
|
+
*
|
|
81
|
+
* Usage:
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const data = await graphqlClient.request<{ transactions: { items: Transaction[] } }>(
|
|
84
|
+
* GET_PERIOD_SUMMARIES_QUERY,
|
|
85
|
+
* {
|
|
86
|
+
* where: {
|
|
87
|
+
* vault_in: ['0x...'],
|
|
88
|
+
* chainId_eq: 1,
|
|
89
|
+
* type_in: ['PeriodSummary']
|
|
90
|
+
* },
|
|
91
|
+
* orderBy: 'timestamp',
|
|
92
|
+
* orderDirection: 'asc',
|
|
93
|
+
* first: 1000
|
|
94
|
+
* }
|
|
95
|
+
* );
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* @returns Transactions containing PeriodSummary data with timestamp and vault state
|
|
99
|
+
*/
|
|
100
|
+
export const GET_PERIOD_SUMMARIES_QUERY = `
|
|
101
|
+
query GetPeriodSummaries(
|
|
102
|
+
$where: TransactionFilterInput!,
|
|
103
|
+
$orderBy: TransactionOrderBy!,
|
|
104
|
+
$orderDirection: OrderDirection!,
|
|
105
|
+
$first: Int!
|
|
106
|
+
) {
|
|
107
|
+
transactions(
|
|
108
|
+
where: $where,
|
|
109
|
+
orderBy: $orderBy,
|
|
110
|
+
orderDirection: $orderDirection,
|
|
111
|
+
first: $first
|
|
112
|
+
) {
|
|
113
|
+
items {
|
|
114
|
+
timestamp
|
|
115
|
+
data {
|
|
116
|
+
... on PeriodSummary {
|
|
117
|
+
duration
|
|
118
|
+
totalAssetsAtStart
|
|
119
|
+
totalAssetsAtEnd
|
|
120
|
+
totalSupplyAtStart
|
|
121
|
+
totalSupplyAtEnd
|
|
122
|
+
netTotalSupplyAtEnd
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
pageInfo {
|
|
127
|
+
...PageInfoMinimalFragment
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
${PAGEINFO_MINIMAL_FRAGMENT}
|
|
132
|
+
`;
|
|
133
|
+
//# sourceMappingURL=performance.queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/performance.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmCvC,yBAAyB;IACzB,yBAAyB;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+BtC,yBAAyB;CAC5B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphQL Query: Period Summaries
|
|
3
|
+
*
|
|
4
|
+
* Fetch historical vault period summaries for APR calculations.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Query to fetch period summaries for a vault
|
|
8
|
+
*
|
|
9
|
+
* Period summaries contain historical snapshots of vault state at regular intervals.
|
|
10
|
+
* Used by SDK to calculate accurate APR from price per share changes over time.
|
|
11
|
+
*
|
|
12
|
+
* @returns Array of period summaries with timestamp and vault state
|
|
13
|
+
*/
|
|
14
|
+
export declare const GET_PERIOD_SUMMARIES_QUERY: string;
|
|
15
|
+
//# sourceMappingURL=period-summaries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"period-summaries.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/period-summaries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,QAQtC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphQL Query: Period Summaries
|
|
3
|
+
*
|
|
4
|
+
* Fetch historical vault period summaries for APR calculations.
|
|
5
|
+
*/
|
|
6
|
+
import { gql } from 'graphql-request';
|
|
7
|
+
/**
|
|
8
|
+
* Query to fetch period summaries for a vault
|
|
9
|
+
*
|
|
10
|
+
* Period summaries contain historical snapshots of vault state at regular intervals.
|
|
11
|
+
* Used by SDK to calculate accurate APR from price per share changes over time.
|
|
12
|
+
*
|
|
13
|
+
* @returns Array of period summaries with timestamp and vault state
|
|
14
|
+
*/
|
|
15
|
+
export const GET_PERIOD_SUMMARIES_QUERY = gql `
|
|
16
|
+
query GetPeriodSummaries($vaultAddress: String!, $chainId: Int!) {
|
|
17
|
+
periodSummaries(vaultAddress: $vaultAddress, chainId: $chainId) {
|
|
18
|
+
timestamp
|
|
19
|
+
totalAssetsAtStart
|
|
20
|
+
totalSupplyAtStart
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
//# sourceMappingURL=period-summaries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"period-summaries.js","sourceRoot":"","sources":["../../../src/graphql/queries/period-summaries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAA;;;;;;;;CAQ5C,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Portfolio Queries
|
|
3
|
+
*
|
|
4
|
+
* GraphQL queries for user portfolio operations.
|
|
5
|
+
* Includes user portfolio data and portfolio optimization queries.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Response format type for user portfolio query
|
|
9
|
+
*/
|
|
10
|
+
export type PortfolioResponseFormat = 'list' | 'summary' | 'full';
|
|
11
|
+
/**
|
|
12
|
+
* Create user portfolio GraphQL query with dynamic fragment selection
|
|
13
|
+
*
|
|
14
|
+
* Fetches complete user portfolio with vault positions and metadata.
|
|
15
|
+
* Fragment selection optimizes token usage based on required detail level.
|
|
16
|
+
*
|
|
17
|
+
* Used by: get_user_portfolio tool
|
|
18
|
+
*
|
|
19
|
+
* @param responseFormat - Detail level: 'list' (~60 tokens/vault), 'summary' (~170 tokens/vault), 'full' (~600 tokens/vault)
|
|
20
|
+
* @returns GraphQL query string with appropriate fragment
|
|
21
|
+
*
|
|
22
|
+
* Usage:
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const query = createGetUserPortfolioQuery('summary'); // Balanced data
|
|
25
|
+
* const data = await graphqlClient.request<UserPortfolioResponse>(
|
|
26
|
+
* query,
|
|
27
|
+
* { where: { user_eq: '0x...' } }
|
|
28
|
+
* );
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* Token optimization:
|
|
32
|
+
* - list: ~60 tokens/position (minimal vault data)
|
|
33
|
+
* - summary: ~170 tokens/position (balanced - includes curators, descriptions)
|
|
34
|
+
* - full: ~600 tokens/position (complete vault data)
|
|
35
|
+
*
|
|
36
|
+
* For a user with 10 positions:
|
|
37
|
+
* - list: 600 tokens (90% reduction)
|
|
38
|
+
* - summary: 1,700 tokens (72% reduction)
|
|
39
|
+
* - full: 6,000 tokens (current behavior)
|
|
40
|
+
*/
|
|
41
|
+
export declare function createGetUserPortfolioQuery(responseFormat?: PortfolioResponseFormat): string;
|
|
42
|
+
/**
|
|
43
|
+
* User portfolio GraphQL query (legacy - uses full fragment)
|
|
44
|
+
*
|
|
45
|
+
* @deprecated Use createGetUserPortfolioQuery('full') instead for explicit fragment selection
|
|
46
|
+
*
|
|
47
|
+
* This maintains backward compatibility for existing code.
|
|
48
|
+
* Consider migrating to createGetUserPortfolioQuery() for better token efficiency.
|
|
49
|
+
*/
|
|
50
|
+
export declare const GET_USER_PORTFOLIO_QUERY: string;
|
|
51
|
+
/**
|
|
52
|
+
* GraphQL query for single vault optimization data
|
|
53
|
+
*
|
|
54
|
+
* Fetches one vault with its historical price and performance metrics
|
|
55
|
+
* for portfolio optimization calculations. Used in parallel queries.
|
|
56
|
+
*
|
|
57
|
+
* Used by: optimize_portfolio tool (per-vault queries)
|
|
58
|
+
*
|
|
59
|
+
* Usage:
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const data = await graphqlClient.request<SingleVaultOptimizationResponse>(
|
|
62
|
+
* SINGLE_VAULT_OPTIMIZATION_QUERY,
|
|
63
|
+
* { vaultAddress: '0x...', chainId: 1 }
|
|
64
|
+
* );
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare const SINGLE_VAULT_OPTIMIZATION_QUERY = "\n query SingleVaultOptimization($vaultAddress: Address!, $chainId: Int!) {\n vault: vaultByAddress(address: $vaultAddress, chainId: $chainId) {\n ...VaultFragment\n }\n\n # Get price history for volatility calculation\n priceHistory: transactions(\n where: {\n vault_in: [$vaultAddress],\n type_in: [TotalAssetsUpdated]\n },\n orderBy: timestamp,\n orderDirection: asc,\n first: 1000\n ) {\n items {\n timestamp\n data {\n ... on TotalAssetsUpdated {\n totalAssets\n totalAssetsUsd\n totalSupply\n vault {\n decimals\n asset {\n decimals\n }\n }\n }\n }\n }\n }\n }\n \n fragment VaultFragment on Vault {\n address\n symbol\n decimals\n name\n description\n shortDescription\n maxCapacity\n logoUrl\n averageSettlement\n isVisible\n asset {\n ...AssetInfoFragment\n }\n chain {\n ...ChainInfoFragment\n }\n state {\n state\n totalAssets\n totalAssetsUsd\n totalSupply\n pricePerShare\n pricePerShareUsd\n safeAssetBalance\n liveAPR {\n grossApr\n name\n netApr\n description\n }\n roles {\n owner\n valuationManager\n whitelistManager\n safe\n feeReceiver\n }\n managementFee\n performanceFee\n pendingSettlement {\n assets\n assetsUsd\n shares\n }\n inceptionApr {\n ...APRBreakdownFragment\n }\n pendingSiloBalances {\n assets\n shares\n }\n monthlyApr {\n ...APRBreakdownFragment\n }\n newTotalAssets\n highWaterMark\n lastFeeTime\n safeAssetBalanceUsd\n weeklyApr {\n ...APRBreakdownFragment\n }\n yearlyApr {\n ...APRBreakdownFragment\n }\n }\n curators {\n name\n id\n aboutDescription\n logoUrl\n url\n }\n integrator {\n name\n url\n logoUrl\n aboutDescription\n }\n defiIntegrations {\n name\n description\n link\n logoUrl\n type\n }\n }\n \n fragment AssetInfoFragment on Asset {\n id\n name\n symbol\n decimals\n address\n logoUrl\n description\n isVisible\n priceUsd\n chain {\n id\n name\n nativeToken\n logoUrl\n }\n }\n\n \n fragment ChainInfoFragment on Chain {\n id\n name\n nativeToken\n logoUrl\n wrappedNativeToken {\n address\n decimals\n name\n symbol\n }\n factory\n }\n\n \n fragment APRBreakdownFragment on APRs {\n linearNetApr\n linearNetAprWithoutExtraYields\n airdrops {\n name\n apr\n description\n distributionTimestamp\n endTimestamp\n isEstimation\n logoUrl\n multiplier\n ppsIncrease\n startTimestamp\n }\n incentives {\n name\n apr\n aprDescription\n description\n endTimestamp\n incentiveRate {\n incentiveAmount\n referenceToken {\n id\n }\n referenceTokenAmount\n }\n }\n nativeYields {\n name\n apr\n aprDescription\n description\n endTimestamp\n isEstimation\n logoUrl\n multiplier\n startTimestamp\n }\n }\n\n\n";
|
|
68
|
+
/**
|
|
69
|
+
* GraphQL query for portfolio optimization data (DEPRECATED)
|
|
70
|
+
*
|
|
71
|
+
* This query is deprecated in favor of SINGLE_VAULT_OPTIMIZATION_QUERY
|
|
72
|
+
* executed in parallel for each vault. Multi-vault queries cannot
|
|
73
|
+
* distinguish which transactions belong to which vault.
|
|
74
|
+
*
|
|
75
|
+
* @deprecated Use SINGLE_VAULT_OPTIMIZATION_QUERY with Promise.all instead
|
|
76
|
+
*/
|
|
77
|
+
export declare const PORTFOLIO_OPTIMIZATION_QUERY = "\n query PortfolioOptimization($vaultAddresses: [Address!]!, $chainId: Int!) {\n vaults(where: { address_in: $vaultAddresses, chainId_eq: $chainId }) {\n items {\n ...VaultFragment\n }\n }\n\n # Get price history for volatility calculation\n priceHistory: transactions(\n where: {\n vault_in: $vaultAddresses,\n type_in: [\"TotalAssetsUpdated\"]\n },\n orderBy: \"timestamp\",\n orderDirection: \"asc\",\n first: 1000\n ) {\n items {\n timestamp\n data {\n ... on TotalAssetsUpdated {\n pricePerShareUsd\n }\n }\n }\n }\n\n # Get APR data for return estimation\n performanceData: transactions(\n where: {\n vault_in: $vaultAddresses,\n type_in: [\"PeriodSummary\"]\n },\n orderBy: \"timestamp\",\n orderDirection: \"asc\",\n first: 1000\n ) {\n items {\n timestamp\n data {\n ... on PeriodSummary {\n linearNetApr\n }\n }\n }\n }\n }\n \n fragment VaultFragment on Vault {\n address\n symbol\n decimals\n name\n description\n shortDescription\n maxCapacity\n logoUrl\n averageSettlement\n isVisible\n asset {\n ...AssetInfoFragment\n }\n chain {\n ...ChainInfoFragment\n }\n state {\n state\n totalAssets\n totalAssetsUsd\n totalSupply\n pricePerShare\n pricePerShareUsd\n safeAssetBalance\n liveAPR {\n grossApr\n name\n netApr\n description\n }\n roles {\n owner\n valuationManager\n whitelistManager\n safe\n feeReceiver\n }\n managementFee\n performanceFee\n pendingSettlement {\n assets\n assetsUsd\n shares\n }\n inceptionApr {\n ...APRBreakdownFragment\n }\n pendingSiloBalances {\n assets\n shares\n }\n monthlyApr {\n ...APRBreakdownFragment\n }\n newTotalAssets\n highWaterMark\n lastFeeTime\n safeAssetBalanceUsd\n weeklyApr {\n ...APRBreakdownFragment\n }\n yearlyApr {\n ...APRBreakdownFragment\n }\n }\n curators {\n name\n id\n aboutDescription\n logoUrl\n url\n }\n integrator {\n name\n url\n logoUrl\n aboutDescription\n }\n defiIntegrations {\n name\n description\n link\n logoUrl\n type\n }\n }\n \n fragment AssetInfoFragment on Asset {\n id\n name\n symbol\n decimals\n address\n logoUrl\n description\n isVisible\n priceUsd\n chain {\n id\n name\n nativeToken\n logoUrl\n }\n }\n\n \n fragment ChainInfoFragment on Chain {\n id\n name\n nativeToken\n logoUrl\n wrappedNativeToken {\n address\n decimals\n name\n symbol\n }\n factory\n }\n\n \n fragment APRBreakdownFragment on APRs {\n linearNetApr\n linearNetAprWithoutExtraYields\n airdrops {\n name\n apr\n description\n distributionTimestamp\n endTimestamp\n isEstimation\n logoUrl\n multiplier\n ppsIncrease\n startTimestamp\n }\n incentives {\n name\n apr\n aprDescription\n description\n endTimestamp\n incentiveRate {\n incentiveAmount\n referenceToken {\n id\n }\n referenceTokenAmount\n }\n }\n nativeYields {\n name\n apr\n aprDescription\n description\n endTimestamp\n isEstimation\n logoUrl\n multiplier\n startTimestamp\n }\n }\n\n\n";
|
|
78
|
+
//# sourceMappingURL=portfolio.queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio.queries.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/portfolio.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAqBlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,GAAE,uBAAmC,GAClD,MAAM,CAyBR;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAAsC,CAAC;AAE5E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,s6GAmC3C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,0sHAiDxC,CAAC"}
|