@lagoon-protocol/lagoon-mcp 0.5.0 → 0.7.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 +72 -54
- package/dist/cache/index.d.ts +4 -1
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +4 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/core/container.js +1 -1
- package/dist/graphql/fragments/apr-breakdown.fragment.d.ts +4 -1
- package/dist/graphql/fragments/apr-breakdown.fragment.d.ts.map +1 -1
- package/dist/graphql/fragments/apr-breakdown.fragment.js +3 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.js.map +1 -1
- package/dist/graphql/fragments/composition.fragment.d.ts +23 -134
- package/dist/graphql/fragments/composition.fragment.d.ts.map +1 -1
- package/dist/graphql/fragments/composition.fragment.js +9 -7
- package/dist/graphql/fragments/composition.fragment.js.map +1 -1
- package/dist/graphql/fragments/index.d.ts +1 -1
- package/dist/graphql/fragments/index.d.ts.map +1 -1
- package/dist/graphql/fragments/index.js +5 -4
- package/dist/graphql/fragments/index.js.map +1 -1
- package/dist/graphql/fragments/transaction-base.fragment.d.ts +1 -1
- package/dist/graphql/fragments/transaction-base.fragment.d.ts.map +1 -1
- package/dist/graphql/fragments/transaction-base.fragment.js +0 -1
- package/dist/graphql/fragments/transaction-base.fragment.js.map +1 -1
- package/dist/graphql/fragments/vault.fragment.d.ts +29 -1
- package/dist/graphql/fragments/vault.fragment.d.ts.map +1 -1
- package/dist/graphql/fragments/vault.fragment.js +29 -0
- package/dist/graphql/fragments/vault.fragment.js.map +1 -1
- package/dist/graphql/queries/composition.queries.d.ts +10 -28
- package/dist/graphql/queries/composition.queries.d.ts.map +1 -1
- package/dist/graphql/queries/composition.queries.js +17 -28
- package/dist/graphql/queries/composition.queries.js.map +1 -1
- package/dist/graphql/queries/discovery.queries.d.ts +50 -0
- package/dist/graphql/queries/discovery.queries.d.ts.map +1 -0
- package/dist/graphql/queries/discovery.queries.js +188 -0
- package/dist/graphql/queries/discovery.queries.js.map +1 -0
- package/dist/graphql/queries/export.queries.d.ts +5 -7
- package/dist/graphql/queries/export.queries.d.ts.map +1 -1
- package/dist/graphql/queries/export.queries.js +22 -28
- package/dist/graphql/queries/export.queries.js.map +1 -1
- package/dist/graphql/queries/index.d.ts +4 -3
- package/dist/graphql/queries/index.d.ts.map +1 -1
- package/dist/graphql/queries/index.js +5 -3
- package/dist/graphql/queries/index.js.map +1 -1
- package/dist/graphql/queries/performance.queries.d.ts +6 -4
- package/dist/graphql/queries/performance.queries.d.ts.map +1 -1
- package/dist/graphql/queries/performance.queries.js +5 -11
- package/dist/graphql/queries/performance.queries.js.map +1 -1
- package/dist/graphql/queries/portfolio.queries.d.ts +6 -12
- package/dist/graphql/queries/portfolio.queries.d.ts.map +1 -1
- package/dist/graphql/queries/portfolio.queries.js +21 -88
- package/dist/graphql/queries/portfolio.queries.js.map +1 -1
- package/dist/graphql/queries/prediction.queries.d.ts +13 -15
- package/dist/graphql/queries/prediction.queries.d.ts.map +1 -1
- package/dist/graphql/queries/prediction.queries.js +12 -31
- package/dist/graphql/queries/prediction.queries.js.map +1 -1
- package/dist/graphql/queries/risk.queries.d.ts +3 -3
- package/dist/graphql/queries/risk.queries.d.ts.map +1 -1
- package/dist/graphql/queries/risk.queries.js +7 -22
- package/dist/graphql/queries/risk.queries.js.map +1 -1
- package/dist/graphql/queries/search.queries.d.ts.map +1 -1
- package/dist/graphql/queries/search.queries.js +6 -2
- package/dist/graphql/queries/search.queries.js.map +1 -1
- package/dist/graphql/queries/transaction.queries.d.ts +6 -26
- package/dist/graphql/queries/transaction.queries.d.ts.map +1 -1
- package/dist/graphql/queries/transaction.queries.js +227 -59
- package/dist/graphql/queries/transaction.queries.js.map +1 -1
- package/dist/graphql/queries/vault.queries.d.ts +21 -3
- package/dist/graphql/queries/vault.queries.d.ts.map +1 -1
- package/dist/graphql/queries/vault.queries.js +38 -0
- package/dist/graphql/queries/vault.queries.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/services/analytics/risk.service.d.ts +52 -33
- package/dist/services/analytics/risk.service.d.ts.map +1 -1
- package/dist/services/analytics/risk.service.js +165 -155
- 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 +50 -77
- package/dist/tools/compare-vaults.js.map +1 -1
- package/dist/tools/export-data.d.ts.map +1 -1
- package/dist/tools/export-data.js +10 -16
- package/dist/tools/export-data.js.map +1 -1
- package/dist/tools/get-asset.d.ts +17 -0
- package/dist/tools/get-asset.d.ts.map +1 -0
- package/dist/tools/get-asset.js +44 -0
- package/dist/tools/get-asset.js.map +1 -0
- package/dist/tools/get-curator.d.ts +13 -0
- package/dist/tools/get-curator.d.ts.map +1 -0
- package/dist/tools/get-curator.js +81 -0
- package/dist/tools/get-curator.js.map +1 -0
- package/dist/tools/get-global-tvl.d.ts +20 -0
- package/dist/tools/get-global-tvl.d.ts.map +1 -0
- package/dist/tools/get-global-tvl.js +38 -0
- package/dist/tools/get-global-tvl.js.map +1 -0
- package/dist/tools/get-historical-state.d.ts +22 -0
- package/dist/tools/get-historical-state.d.ts.map +1 -0
- package/dist/tools/get-historical-state.js +65 -0
- package/dist/tools/get-historical-state.js.map +1 -0
- package/dist/tools/get-indexing-status.d.ts +20 -0
- package/dist/tools/get-indexing-status.d.ts.map +1 -0
- package/dist/tools/get-indexing-status.js +38 -0
- package/dist/tools/get-indexing-status.js.map +1 -0
- package/dist/tools/get-price-history.d.ts.map +1 -1
- package/dist/tools/get-price-history.js +55 -63
- package/dist/tools/get-price-history.js.map +1 -1
- package/dist/tools/get-transactions.d.ts.map +1 -1
- package/dist/tools/get-transactions.js +3 -1
- package/dist/tools/get-transactions.js.map +1 -1
- package/dist/tools/list-chains.d.ts +16 -0
- package/dist/tools/list-chains.d.ts.map +1 -0
- package/dist/tools/list-chains.js +46 -0
- package/dist/tools/list-chains.js.map +1 -0
- package/dist/tools/list-curators.d.ts +18 -0
- package/dist/tools/list-curators.d.ts.map +1 -0
- package/dist/tools/list-curators.js +49 -0
- package/dist/tools/list-curators.js.map +1 -0
- package/dist/tools/optimize-portfolio.d.ts.map +1 -1
- package/dist/tools/optimize-portfolio.js +6 -17
- package/dist/tools/optimize-portfolio.js.map +1 -1
- package/dist/tools/predict-yield.d.ts.map +1 -1
- package/dist/tools/predict-yield.js +109 -11
- package/dist/tools/predict-yield.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +83 -11
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/search-vaults.d.ts.map +1 -1
- package/dist/tools/search-vaults.js +9 -2
- package/dist/tools/search-vaults.js.map +1 -1
- package/dist/tools/simulate-vault.d.ts +1 -1
- package/dist/tools/user-portfolio.d.ts.map +1 -1
- package/dist/tools/user-portfolio.js +30 -51
- package/dist/tools/user-portfolio.js.map +1 -1
- package/dist/tools/vault-composition.d.ts +18 -15
- package/dist/tools/vault-composition.d.ts.map +1 -1
- package/dist/tools/vault-composition.js +71 -155
- package/dist/tools/vault-composition.js.map +1 -1
- package/dist/tools/vault-performance.d.ts.map +1 -1
- package/dist/tools/vault-performance.js +7 -19
- package/dist/tools/vault-performance.js.map +1 -1
- package/dist/types/generated.d.ts +1191 -21
- package/dist/types/generated.d.ts.map +1 -1
- package/dist/utils/comparison-metrics.d.ts +13 -1
- package/dist/utils/comparison-metrics.d.ts.map +1 -1
- package/dist/utils/comparison-metrics.js +29 -4
- package/dist/utils/comparison-metrics.js.map +1 -1
- package/dist/utils/composition-metrics.d.ts +42 -0
- package/dist/utils/composition-metrics.d.ts.map +1 -0
- package/dist/utils/composition-metrics.js +50 -0
- package/dist/utils/composition-metrics.js.map +1 -0
- package/dist/utils/csv-generator.d.ts +4 -1
- package/dist/utils/csv-generator.d.ts.map +1 -1
- package/dist/utils/csv-generator.js +8 -4
- package/dist/utils/csv-generator.js.map +1 -1
- package/dist/utils/fee-formatting.d.ts +41 -0
- package/dist/utils/fee-formatting.d.ts.map +1 -0
- package/dist/utils/fee-formatting.js +57 -0
- package/dist/utils/fee-formatting.js.map +1 -0
- package/dist/utils/operational-signals.d.ts +55 -0
- package/dist/utils/operational-signals.d.ts.map +1 -0
- package/dist/utils/operational-signals.js +105 -0
- package/dist/utils/operational-signals.js.map +1 -0
- package/dist/utils/tool-error-handler.d.ts.map +1 -1
- package/dist/utils/tool-error-handler.js +8 -6
- package/dist/utils/tool-error-handler.js.map +1 -1
- package/dist/utils/validators.d.ts +112 -3
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +108 -4
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/yield-prediction.d.ts +3 -0
- package/dist/utils/yield-prediction.d.ts.map +1 -1
- package/dist/utils/yield-prediction.js +13 -1
- package/dist/utils/yield-prediction.js.map +1 -1
- package/package.json +2 -2
- package/dist/graphql/fragments.d.ts +0 -183
- package/dist/graphql/fragments.d.ts.map +0 -1
- package/dist/graphql/fragments.js +0 -297
- package/dist/graphql/fragments.js.map +0 -1
- package/dist/graphql/queries/period-summaries.d.ts +0 -15
- package/dist/graphql/queries/period-summaries.d.ts.map +0 -1
- package/dist/graphql/queries/period-summaries.js +0 -24
- package/dist/graphql/queries/period-summaries.js.map +0 -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
- package/dist/tools/index.d.ts +0 -26
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -32
- package/dist/tools/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/transaction.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"transaction.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/transaction.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyX9B,yBAAyB;IACzB,sBAAsB;CACzB,CAAC"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* );
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
export declare const GET_VAULT_DATA_QUERY = "\n query GetVaultData($address: Address!, $chainId: Int!) {\n vaultByAddress(address: $address, chainId: $chainId) {\n ...VaultFragment\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 protocolFee\n isWhitelistActivated\n whitelist\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 bundles {\n octav\n debank\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";
|
|
23
|
+
export declare const GET_VAULT_DATA_QUERY = "\n query GetVaultData($address: Address!, $chainId: Int!) {\n vaultByAddress(address: $address, chainId: $chainId) {\n ...VaultFragment\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 creationDate\n inception\n asset {\n ...AssetInfoFragment\n }\n chain {\n ...ChainInfoFragment\n }\n state {\n state\n version\n syncMode\n isAsyncOnly\n isPaused\n safeLocked\n superOperatorLocked\n allowHighWaterMarkReset\n accessMode\n blacklist\n externalSanctionsList\n maxCap\n totalAssets\n totalAssetsUsd\n totalAssetsExpiration\n totalAssetsLifespan\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 securityCouncil\n superOperator\n }\n managementFee\n performanceFee\n protocolFee\n entryRate\n exitRate\n haircutRate\n upcomingManagementFee\n upcomingPerformanceFee\n feeRatesCooldown\n newRatesTimestamp\n guardrails {\n activated\n lowerRate\n upperRate\n }\n isWhitelistActivated\n whitelist\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 bundles {\n octav\n debank\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 twrrNetApr\n twrrNetAprWithoutExtraYields\n twrrGrossAprWithoutExtraYields\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";
|
|
24
24
|
/**
|
|
25
25
|
* Query to fetch vault data for APR calculation
|
|
26
26
|
*
|
|
@@ -35,7 +35,7 @@ export declare const GET_VAULT_DATA_QUERY = "\n query GetVaultData($address: Ad
|
|
|
35
35
|
* );
|
|
36
36
|
* ```
|
|
37
37
|
*/
|
|
38
|
-
export declare const GET_VAULT_FOR_APR_QUERY = "\n query GetVaultForAPR($address: Address!, $chainId: Int!) {\n vaultByAddress(address: $address, chainId: $chainId) {\n ...VaultFragment\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 protocolFee\n isWhitelistActivated\n whitelist\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 bundles {\n octav\n debank\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";
|
|
38
|
+
export declare const GET_VAULT_FOR_APR_QUERY = "\n query GetVaultForAPR($address: Address!, $chainId: Int!) {\n vaultByAddress(address: $address, chainId: $chainId) {\n ...VaultFragment\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 creationDate\n inception\n asset {\n ...AssetInfoFragment\n }\n chain {\n ...ChainInfoFragment\n }\n state {\n state\n version\n syncMode\n isAsyncOnly\n isPaused\n safeLocked\n superOperatorLocked\n allowHighWaterMarkReset\n accessMode\n blacklist\n externalSanctionsList\n maxCap\n totalAssets\n totalAssetsUsd\n totalAssetsExpiration\n totalAssetsLifespan\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 securityCouncil\n superOperator\n }\n managementFee\n performanceFee\n protocolFee\n entryRate\n exitRate\n haircutRate\n upcomingManagementFee\n upcomingPerformanceFee\n feeRatesCooldown\n newRatesTimestamp\n guardrails {\n activated\n lowerRate\n upperRate\n }\n isWhitelistActivated\n whitelist\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 bundles {\n octav\n debank\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 twrrNetApr\n twrrNetAprWithoutExtraYields\n twrrGrossAprWithoutExtraYields\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";
|
|
39
39
|
/**
|
|
40
40
|
* GraphQL query for batch vault comparison
|
|
41
41
|
*
|
|
@@ -51,7 +51,7 @@ export declare const GET_VAULT_FOR_APR_QUERY = "\n query GetVaultForAPR($addres
|
|
|
51
51
|
* );
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
|
-
export declare const COMPARE_VAULTS_QUERY = "\n query CompareVaults($addresses: [String!]!, $chainIds: [Int!]!) {\n vaults(where: { address_in: $addresses, chainId_in: $chainIds }) {\n items {\n ...VaultFragment\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 protocolFee\n isWhitelistActivated\n whitelist\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 bundles {\n octav\n debank\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";
|
|
54
|
+
export declare const COMPARE_VAULTS_QUERY = "\n query CompareVaults($addresses: [String!]!, $chainIds: [Int!]!) {\n vaults(where: { address_in: $addresses, chainId_in: $chainIds }) {\n items {\n ...VaultFragment\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 creationDate\n inception\n asset {\n ...AssetInfoFragment\n }\n chain {\n ...ChainInfoFragment\n }\n state {\n state\n version\n syncMode\n isAsyncOnly\n isPaused\n safeLocked\n superOperatorLocked\n allowHighWaterMarkReset\n accessMode\n blacklist\n externalSanctionsList\n maxCap\n totalAssets\n totalAssetsUsd\n totalAssetsExpiration\n totalAssetsLifespan\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 securityCouncil\n superOperator\n }\n managementFee\n performanceFee\n protocolFee\n entryRate\n exitRate\n haircutRate\n upcomingManagementFee\n upcomingPerformanceFee\n feeRatesCooldown\n newRatesTimestamp\n guardrails {\n activated\n lowerRate\n upperRate\n }\n isWhitelistActivated\n whitelist\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 bundles {\n octav\n debank\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 twrrNetApr\n twrrNetAprWithoutExtraYields\n twrrGrossAprWithoutExtraYields\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";
|
|
55
55
|
/**
|
|
56
56
|
* GraphQL query for vault creation timestamp
|
|
57
57
|
*
|
|
@@ -108,4 +108,22 @@ export interface BatchVaultFirstTransactionsResponse {
|
|
|
108
108
|
}>;
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Historical price-per-share series for a single vault.
|
|
113
|
+
*
|
|
114
|
+
* Used by: get_price_history tool. The `options` variable accepts a
|
|
115
|
+
* `TimeRangeOptions` window (`startTimestamp`/`endTimestamp`); pass `null` for
|
|
116
|
+
* full history since vault creation. Each series caps at 1000 most recent
|
|
117
|
+
* points per backend rate-limiting policy — there is no pagination cursor, so
|
|
118
|
+
* consumers narrow the window via `options` rather than paging.
|
|
119
|
+
*
|
|
120
|
+
* Usage:
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const data = await graphqlClient.request<PriceHistoryResponse>(
|
|
123
|
+
* PRICE_HISTORY_QUERY,
|
|
124
|
+
* { vaultAddress: '0x...', chainId: 1, options: { startTimestamp: 1700000000 } }
|
|
125
|
+
* );
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export declare const PRICE_HISTORY_QUERY = "\n query GetPriceHistory(\n $vaultAddress: Address!,\n $chainId: Int!,\n $options: TimeRangeOptions\n ) {\n vault: vaultByAddress(address: $vaultAddress, chainId: $chainId) {\n address\n stateHistory {\n pricePerShareUsd(options: $options) {\n x\n y\n }\n totalAssetsUsd(options: $options) {\n x\n y\n }\n }\n }\n }\n";
|
|
111
129
|
//# sourceMappingURL=vault.queries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.queries.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/vault.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"vault.queries.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/vault.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,glHAOhC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,klHAOnC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,+nHAShC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,wQAazC,CAAC;AAyBF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oCAAoC,i/BAiBhD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,YAAY,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC;YACX,IAAI,EAAE;gBACJ,KAAK,CAAC,EAAE;oBACN,OAAO,EAAE,MAAM,CAAC;iBACjB,CAAC;aACH,CAAC;YACF,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,CAAC;CACH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB,maAoB/B,CAAC"}
|
|
@@ -169,4 +169,42 @@ export const BATCH_VAULT_FIRST_TRANSACTIONS_QUERY = `
|
|
|
169
169
|
}
|
|
170
170
|
${TRANSACTION_VAULT_FRAGMENT}
|
|
171
171
|
`;
|
|
172
|
+
/**
|
|
173
|
+
* Historical price-per-share series for a single vault.
|
|
174
|
+
*
|
|
175
|
+
* Used by: get_price_history tool. The `options` variable accepts a
|
|
176
|
+
* `TimeRangeOptions` window (`startTimestamp`/`endTimestamp`); pass `null` for
|
|
177
|
+
* full history since vault creation. Each series caps at 1000 most recent
|
|
178
|
+
* points per backend rate-limiting policy — there is no pagination cursor, so
|
|
179
|
+
* consumers narrow the window via `options` rather than paging.
|
|
180
|
+
*
|
|
181
|
+
* Usage:
|
|
182
|
+
* ```typescript
|
|
183
|
+
* const data = await graphqlClient.request<PriceHistoryResponse>(
|
|
184
|
+
* PRICE_HISTORY_QUERY,
|
|
185
|
+
* { vaultAddress: '0x...', chainId: 1, options: { startTimestamp: 1700000000 } }
|
|
186
|
+
* );
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
export const PRICE_HISTORY_QUERY = `
|
|
190
|
+
query GetPriceHistory(
|
|
191
|
+
$vaultAddress: Address!,
|
|
192
|
+
$chainId: Int!,
|
|
193
|
+
$options: TimeRangeOptions
|
|
194
|
+
) {
|
|
195
|
+
vault: vaultByAddress(address: $vaultAddress, chainId: $chainId) {
|
|
196
|
+
address
|
|
197
|
+
stateHistory {
|
|
198
|
+
pricePerShareUsd(options: $options) {
|
|
199
|
+
x
|
|
200
|
+
y
|
|
201
|
+
}
|
|
202
|
+
totalAssetsUsd(options: $options) {
|
|
203
|
+
x
|
|
204
|
+
y
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
`;
|
|
172
210
|
//# sourceMappingURL=vault.queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/vault.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;IAMhC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;IAMnC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;IAQhC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;CAa5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;CAelC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG;;;;;;;;;;;;;;;;IAgBhD,0BAA0B;CAC7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"vault.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/vault.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;IAMhC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;IAMnC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;IAQhC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;CAa5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;CAelC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG;;;;;;;;;;;;;;;;IAgBhD,0BAA0B;CAC7B,CAAC;AAkBF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBlC,CAAC"}
|
package/dist/index.js
CHANGED
|
File without changes
|
|
@@ -5,11 +5,15 @@
|
|
|
5
5
|
* Demonstrates service layer pattern for complex multi-step operations.
|
|
6
6
|
*/
|
|
7
7
|
import { BaseService } from '../base.service.js';
|
|
8
|
-
import { VaultData,
|
|
8
|
+
import { VaultData, CompositionData } from '../../graphql/fragments/index.js';
|
|
9
9
|
import { RiskScoreBreakdown } from '../../utils/risk-scoring.js';
|
|
10
|
+
import { type OperationalSignal } from '../../utils/operational-signals.js';
|
|
10
11
|
/**
|
|
11
|
-
* Risk analysis input data extracted from GraphQL
|
|
12
|
-
*
|
|
12
|
+
* Risk analysis input data extracted from GraphQL.
|
|
13
|
+
* `priceHistory` is pre-projected to {timestamp, pricePerShareUsd} pairs and
|
|
14
|
+
* already filtered for null/non-positive values; downstream code can iterate
|
|
15
|
+
* without re-checking. Uses assetByProtocols from Octav API for protocol-based
|
|
16
|
+
* diversification analysis.
|
|
13
17
|
*/
|
|
14
18
|
export interface RiskAnalysisData {
|
|
15
19
|
vault: VaultData;
|
|
@@ -28,17 +32,11 @@ export interface RiskAnalysisData {
|
|
|
28
32
|
};
|
|
29
33
|
}>;
|
|
30
34
|
};
|
|
31
|
-
priceHistory: {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
totalAssetsUsd: number;
|
|
37
|
-
totalSupply: string;
|
|
38
|
-
};
|
|
39
|
-
}>;
|
|
40
|
-
};
|
|
41
|
-
composition: VaultCompositionFullResponse | null;
|
|
35
|
+
priceHistory: Array<{
|
|
36
|
+
timestamp: number;
|
|
37
|
+
pricePerShareUsd: number;
|
|
38
|
+
}>;
|
|
39
|
+
composition: CompositionData | null;
|
|
42
40
|
}
|
|
43
41
|
/**
|
|
44
42
|
* Comparative risk context for benchmarking
|
|
@@ -53,10 +51,40 @@ export interface ComparativeRiskContext {
|
|
|
53
51
|
riskRanking: string;
|
|
54
52
|
}
|
|
55
53
|
/**
|
|
56
|
-
*
|
|
54
|
+
* Cost-of-trade summary surfaced alongside the weighted risk score.
|
|
55
|
+
* Transactional fees (entry/exit/haircut) belong here rather than in
|
|
56
|
+
* `calculateFeeRisk()` because that function models annualized drag, not
|
|
57
|
+
* one-shot deposit/redeem cost.
|
|
58
|
+
*
|
|
59
|
+
* All percentages have already been converted from basis points via
|
|
60
|
+
* `basisPointsToPercent` in `src/utils/fee-formatting.ts`.
|
|
61
|
+
*/
|
|
62
|
+
export interface TradingCosts {
|
|
63
|
+
entryPct: number;
|
|
64
|
+
exitPct: number;
|
|
65
|
+
/** Applied only on syncRedeem, after the exit fee. Burned shares. */
|
|
66
|
+
haircutPct: number;
|
|
67
|
+
upcomingManagementPct: number | null;
|
|
68
|
+
upcomingPerformancePct: number | null;
|
|
69
|
+
/** Cooldown between rate update and enforcement, in seconds (BigInt string). */
|
|
70
|
+
feeRatesCooldownSeconds: string | null;
|
|
71
|
+
/** Unix timestamp at which the upcoming rates take effect (BigInt string). */
|
|
72
|
+
newRatesActivateAt: string | null;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Extended risk score breakdown with comparative context, operational
|
|
76
|
+
* signals (v0.6+), and trading-cost summary.
|
|
77
|
+
*
|
|
78
|
+
* `operationalSignals` and `effectiveRiskLevel` do NOT modify
|
|
79
|
+
* `overallRisk` (the numeric weighted score). They can only raise
|
|
80
|
+
* `effectiveRiskLevel` ABOVE `riskLevel` (the bucket derived from the score),
|
|
81
|
+
* never lower it. See `src/utils/operational-signals.ts` for the rules.
|
|
57
82
|
*/
|
|
58
83
|
export interface ExtendedRiskScoreBreakdown extends RiskScoreBreakdown {
|
|
59
84
|
comparative?: ComparativeRiskContext;
|
|
85
|
+
operationalSignals?: OperationalSignal[];
|
|
86
|
+
effectiveRiskLevel?: 'Low' | 'Medium' | 'High' | 'Critical';
|
|
87
|
+
tradingCosts?: TradingCosts;
|
|
60
88
|
}
|
|
61
89
|
/**
|
|
62
90
|
* Batch risk analysis response from GraphQL
|
|
@@ -137,6 +165,9 @@ export interface StructuredRiskData {
|
|
|
137
165
|
isOutlier: boolean;
|
|
138
166
|
};
|
|
139
167
|
dataQuality: 'high' | 'medium' | 'low';
|
|
168
|
+
operationalSignals?: OperationalSignal[];
|
|
169
|
+
effectiveRiskLevel?: 'low' | 'medium' | 'high' | 'critical';
|
|
170
|
+
tradingCosts?: TradingCosts;
|
|
140
171
|
}
|
|
141
172
|
/**
|
|
142
173
|
* Structured batch risk data for UI block rendering
|
|
@@ -174,26 +205,14 @@ export declare class RiskService extends BaseService {
|
|
|
174
205
|
*/
|
|
175
206
|
calculateRisk(data: RiskAnalysisData): RiskScoreBreakdown;
|
|
176
207
|
/**
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
*
|
|
183
|
-
*/
|
|
184
|
-
private fetchSingleComposition;
|
|
185
|
-
/**
|
|
186
|
-
* Fetch composition using correct addresses from bundles.octav URL
|
|
187
|
-
* - Parses octav URL to get addresses
|
|
188
|
-
* - Fetches composition for each address
|
|
189
|
-
* - Merges if multiple addresses (bundle)
|
|
208
|
+
* Fetch the typed `Vault.composition` for a single (address, chainId)
|
|
209
|
+
* pair. Returns null on backend error so callers can degrade gracefully
|
|
210
|
+
* without composition-derived risk factors.
|
|
211
|
+
*
|
|
212
|
+
* The old Octav-bundle-URL parsing and multi-composition merging are
|
|
213
|
+
* gone — `Vault.composition` is a single direct call per vault.
|
|
190
214
|
*/
|
|
191
215
|
private fetchCompositionForVault;
|
|
192
|
-
/**
|
|
193
|
-
* Merge multiple compositions (for bundle vaults)
|
|
194
|
-
* Aggregates assetByProtocols values across all compositions
|
|
195
|
-
*/
|
|
196
|
-
private mergeCompositions;
|
|
197
216
|
/**
|
|
198
217
|
* Calculate comparative risk context by benchmarking against all vaults
|
|
199
218
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk.service.d.ts","sourceRoot":"","sources":["../../../src/services/analytics/risk.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"risk.service.d.ts","sourceRoot":"","sources":["../../../src/services/analytics/risk.service.ts"],"names":[],"mappings":"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"}
|