@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predict-yield.js","sourceRoot":"","sources":["../../src/tools/predict-yield.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,iBAAiB,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAmC,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACL,iCAAiC,EACjC,2BAA2B,GAE5B,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACtB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACxB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;CAChB,CAAC;AAwCX;;GAEG;AACH,SAAS,qBAAqB,CAC5B,UAA2B,EAC3B,SAAiB,EACjB,SAAiB;IAEjB,MAAM,UAAU,GAAG;QACjB,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;KACb,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAEpB,MAAM,eAAe,GACnB,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjF,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC;IAEnF,IAAI,MAAM,GAAG;uBACQ,SAAS;;;qBAGX,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;uBACtC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;EAC/F,UAAU,CAAC,CAAC,CAAC,4BAA4B,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;eAC7F,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC7E,eAAe,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;CAG9E,CAAC;IAEA,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI;;;wBAGU,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;yBACrD,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,qCAAqC;+BACvL,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;mDACvC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;CAGhJ,CAAC;IACA,CAAC;IAED,MAAM,IAAI;;;WAGD,SAAS;;CAEnB,CAAC;IAEA,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI;;;;EAIZ,UAAU,CAAC,gBAAgB;aAC1B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACvH;aACA,IAAI,CAAC,IAAI,CAAC;;;;;;EAMX,UAAU;aACT,kBAAmB,CAAC,GAAG,CACtB,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACvH;aACA,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;IACA,CAAC;SAAM,CAAC;QACN,MAAM,IAAI;;EAEZ,UAAU,CAAC,gBAAgB;aAC1B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACvH;aACA,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;IACA,CAAC;IAED,MAAM,IAAI;;;;;EAKV,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;yBAUxC,SAAS;;;CAGjC,CAAC;IAEA,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,kCAAkC,CAAC,KAAwB,EAAE,kBAA0B;IAC9F,OAAO,CAAC,IAA6B,EAAyB,EAAE;QAC9D,iCAAiC;QACjC,MAAM,cAAc,GAAqB,EAAE,CAAC;QAE5C,4DAA4D;QAC5D,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,eAAe,GAAoB,IAAI,CAAC,kBAAkB,CAAC,KAAK;iBACnE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC;iBACpE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACd,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;gBAChD,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;aACjD,CAAC,CAAC,CAAC;YAEN,iDAAiD;YACjD,MAAM,OAAO,GAAG,iCAAiC,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAE/E,wDAAwD;YACxD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC/C,IAAI,SAAS,IAAI,kBAAkB,EAAE,CAAC;oBACpC,0CAA0C;oBAC1C,MAAM,gBAAgB,GAAkB;wBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;wBAChD,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;qBACjD,CAAC;oBAEF,iEAAiE;oBACjE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;wBACtB,MAAM,WAAW,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;wBAE/E,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;4BACpB,6DAA6D;4BAC7D,MAAM,iBAAiB,GAAG,iCAAiC,CACzD,CAAC,gBAAgB,CAAC,EAClB,IAAI,CAAC,KAAK,CACX,CAAC;4BAEF,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;gCAChC,MAAM,GAAG,GAAG,2BAA2B,CACrC,OAAO,CAAC,SAAS,CAAC,aAAa,EAC/B,iBAAiB,CAAC,SAAS,CAAC,aAAa,EACzC,WAAW,CACZ,CAAC;gCAEF,cAAc,CAAC,IAAI,CAAC;oCAClB,SAAS;oCACT,GAAG,EAAE,GAAG,EAAE,oBAAoB;oCAC9B,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;iCACxC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QACrE,MAAM,oBAAoB,GAAG,aAAa,GAAG,aAAa,CAAC;QAE3D,wDAAwD;QACxD,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;QAExD,wDAAwD;QACxD,MAAM,UAAU,GAAG,YAAY,CAC7B,cAAc,EACd,OAAO;YACL,CAAC,CAAC;gBACE,aAAa;gBACb,cAAc;gBACd,oBAAoB;
|
|
1
|
+
{"version":3,"file":"predict-yield.js","sourceRoot":"","sources":["../../src/tools/predict-yield.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,iBAAiB,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAmC,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACL,iCAAiC,EACjC,2BAA2B,GAE5B,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACtB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACxB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;CAChB,CAAC;AAwCX;;GAEG;AACH,SAAS,qBAAqB,CAC5B,UAA2B,EAC3B,SAAiB,EACjB,SAAiB;IAEjB,MAAM,UAAU,GAAG;QACjB,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;KACb,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAEpB,MAAM,eAAe,GACnB,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjF,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC;IAEnF,IAAI,MAAM,GAAG;uBACQ,SAAS;;;qBAGX,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;uBACtC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;EAC/F,UAAU,CAAC,CAAC,CAAC,4BAA4B,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;eAC7F,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC7E,eAAe,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;CAG9E,CAAC;IAEA,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI;;;wBAGU,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;yBACrD,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,qCAAqC;+BACvL,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;mDACvC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;CAGhJ,CAAC;IACA,CAAC;IAED,MAAM,IAAI;;;WAGD,SAAS;;CAEnB,CAAC;IAEA,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI;;;;EAIZ,UAAU,CAAC,gBAAgB;aAC1B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACvH;aACA,IAAI,CAAC,IAAI,CAAC;;;;;;EAMX,UAAU;aACT,kBAAmB,CAAC,GAAG,CACtB,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACvH;aACA,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;IACA,CAAC;SAAM,CAAC;QACN,MAAM,IAAI;;EAEZ,UAAU,CAAC,gBAAgB;aAC1B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACvH;aACA,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;IACA,CAAC;IAED,MAAM,IAAI;;;;;EAKV,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;yBAUxC,SAAS;;;CAGjC,CAAC;IAEA,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,kCAAkC,CAAC,KAAwB,EAAE,kBAA0B;IAC9F,OAAO,CAAC,IAA6B,EAAyB,EAAE;QAC9D,iCAAiC;QACjC,MAAM,cAAc,GAAqB,EAAE,CAAC;QAE5C,4DAA4D;QAC5D,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,eAAe,GAAoB,IAAI,CAAC,kBAAkB,CAAC,KAAK;iBACnE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC;iBACpE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACd,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;gBAChD,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;aACjD,CAAC,CAAC,CAAC;YAEN,iDAAiD;YACjD,MAAM,OAAO,GAAG,iCAAiC,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAE/E,wDAAwD;YACxD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC/C,IAAI,SAAS,IAAI,kBAAkB,EAAE,CAAC;oBACpC,0CAA0C;oBAC1C,MAAM,gBAAgB,GAAkB;wBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;wBAChD,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;qBACjD,CAAC;oBAEF,iEAAiE;oBACjE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;wBACtB,MAAM,WAAW,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;wBAE/E,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;4BACpB,6DAA6D;4BAC7D,MAAM,iBAAiB,GAAG,iCAAiC,CACzD,CAAC,gBAAgB,CAAC,EAClB,IAAI,CAAC,KAAK,CACX,CAAC;4BAEF,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;gCAChC,MAAM,GAAG,GAAG,2BAA2B,CACrC,OAAO,CAAC,SAAS,CAAC,aAAa,EAC/B,iBAAiB,CAAC,SAAS,CAAC,aAAa,EACzC,WAAW,CACZ,CAAC;gCAEF,cAAc,CAAC,IAAI,CAAC;oCAClB,SAAS;oCACT,GAAG,EAAE,GAAG,EAAE,oBAAoB;oCAC9B,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;iCACxC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QACrE,MAAM,oBAAoB,GAAG,aAAa,GAAG,aAAa,CAAC;QAE3D,kEAAkE;QAClE,+DAA+D;QAC/D,IAAI,kBAAsC,CAAC;QAE3C,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzE,6CAA6C;YAC7C,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAChE,CAAC;YAEF,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC1E,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC1E,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACtE,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAEtE,4CAA4C;gBAC5C,MAAM,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE7D,8BAA8B;gBAC9B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC;oBAC7C,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,4EAA4E;YAC5E,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,kBAAkB;oBAChB,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;YAC5E,CAAC;YACD,+DAA+D;YAC/D,8EAA8E;QAChF,CAAC;QAED,wDAAwD;QACxD,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;QAExD,wDAAwD;QACxD,MAAM,UAAU,GAAG,YAAY,CAC7B,cAAc,EACd,OAAO;YACL,CAAC,CAAC;gBACE,aAAa;gBACb,cAAc;gBACd,oBAAoB;gBACpB,kBAAkB;aACnB;YACH,CAAC,CAAC,SAAS,CACd,CAAC;QAEF,gCAAgC;QAChC,MAAM,QAAQ,GAAG,qBAAqB,CACpC,UAAU,EACV,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,eAAe,EAClC,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAA2B;IAE3B,OAAO,KAAK,EAAE,KAAwB,EAA2B,EAAE;QACjE,+CAA+C;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,CAAC;QAE3D,iDAAiD;QACjD,MAAM,cAAc,GAClB,KAAK,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;QAE7D,+CAA+C;QAC/C,MAAM,KAAK,GAAW,iBAAiB,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAEnF,MAAM,QAAQ,GAAG,oBAAoB,CAKnC;YACA,SAAS;YACT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,oBAAoB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,IAAI,OAAO,EAAE;YACjH,QAAQ,EAAE,QAAQ,CAAC,eAAe;YAClC,KAAK;YACL,SAAS,EAAE,GAA6B,EAAE,CAAC,CAAC;gBAC1C,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YACF,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,OAAO;oBACL,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,OAAO;wBACd,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,6BAA6B,KAAK,CAAC,YAAY,aAAa,KAAK,CAAC,OAAO,EAAE;oBAC/E,OAAO,EAAE,CAAC,OAAO;iBAClB,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,kCAAkC,CAAC,KAAK,EAAE,kBAAkB,CAAC;YAC9E,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,QAAQ,GAAG,oBAAoB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,IAAI,OAAO,EAAE,CAAC;QACjI,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC5C,QAAQ,CAAC,KAAK;YACd,QAAQ,CAAC,GAAG;YACZ,QAAQ,CAAC,SAAS;SACnB,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAA0B,CAAC;gBAC3E,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAChF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -112,9 +112,9 @@ export declare function normalizeAndRankVaults(vaults: VaultComparisonData[]): N
|
|
|
112
112
|
/**
|
|
113
113
|
* Generate comparison summary statistics
|
|
114
114
|
* @param vaults Array of vault data
|
|
115
|
-
* @returns Summary statistics
|
|
115
|
+
* @returns Summary statistics or null if no vaults
|
|
116
116
|
*/
|
|
117
|
-
export declare function generateComparisonSummary(vaults: VaultComparisonData[]): ComparisonSummary;
|
|
117
|
+
export declare function generateComparisonSummary(vaults: VaultComparisonData[]): ComparisonSummary | null;
|
|
118
118
|
/**
|
|
119
119
|
* Format comparison output as markdown table
|
|
120
120
|
* @param vaults Normalized vaults with rankings
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparison-metrics.d.ts","sourceRoot":"","sources":["../../src/utils/comparison-metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"comparison-metrics.d.ts","sourceRoot":"","sources":["../../src/utils/comparison-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides normalization, ranking, and comparison functions for multi-vault analysis
|
|
5
5
|
*/
|
|
6
|
+
import { safeToFixed, safeDivide } from './safe-math.js';
|
|
6
7
|
/**
|
|
7
8
|
* Calculate percentile rank for a value in an array
|
|
8
9
|
* @param value The value to calculate percentile for
|
|
@@ -10,10 +11,19 @@
|
|
|
10
11
|
* @returns Percentile (0-100)
|
|
11
12
|
*/
|
|
12
13
|
export function calculatePercentile(value, arr) {
|
|
14
|
+
// Guard: empty array
|
|
15
|
+
if (!arr || arr.length === 0) {
|
|
16
|
+
return 0;
|
|
17
|
+
}
|
|
18
|
+
// Guard: single element - percentile is meaningless, return middle value
|
|
19
|
+
if (arr.length === 1) {
|
|
20
|
+
return arr[0] === value ? 50 : 0;
|
|
21
|
+
}
|
|
13
22
|
const sorted = [...arr].sort((a, b) => a - b);
|
|
14
23
|
const index = sorted.indexOf(value);
|
|
15
24
|
if (index === -1)
|
|
16
25
|
return 0;
|
|
26
|
+
// sorted.length - 1 is now guaranteed > 0 because arr.length > 1
|
|
17
27
|
const percentile = (index / (sorted.length - 1)) * 100;
|
|
18
28
|
return Math.round(percentile * 100) / 100; // Round to 2 decimals
|
|
19
29
|
}
|
|
@@ -97,11 +107,12 @@ export function normalizeAndRankVaults(vaults) {
|
|
|
97
107
|
/**
|
|
98
108
|
* Generate comparison summary statistics
|
|
99
109
|
* @param vaults Array of vault data
|
|
100
|
-
* @returns Summary statistics
|
|
110
|
+
* @returns Summary statistics or null if no vaults
|
|
101
111
|
*/
|
|
102
112
|
export function generateComparisonSummary(vaults) {
|
|
103
|
-
|
|
104
|
-
|
|
113
|
+
// Guard: empty or null array - return null instead of throwing
|
|
114
|
+
if (!vaults || vaults.length === 0) {
|
|
115
|
+
return null;
|
|
105
116
|
}
|
|
106
117
|
// Calculate averages
|
|
107
118
|
const totalTvl = vaults.reduce((sum, v) => sum + v.tvl, 0);
|
|
@@ -213,12 +224,13 @@ export function formatComparisonTable(vaults) {
|
|
|
213
224
|
header += '\n' + separator + '\n';
|
|
214
225
|
const rows = vaults
|
|
215
226
|
.map((v) => {
|
|
216
|
-
|
|
227
|
+
// Use safeToFixed to handle NaN/undefined values gracefully
|
|
228
|
+
const tvlFormatted = `$${safeToFixed(safeDivide(v.tvl, 1000000, 0), 2, '0.00')}M`;
|
|
217
229
|
// APR values from API are already percentages (e.g., 4.12 means 4.12%)
|
|
218
|
-
const aprFormatted = `${v.apr.
|
|
219
|
-
const scoreFormatted = v.overallScore.
|
|
220
|
-
const tvlDeltaFormatted = `${v.tvlDelta > 0 ? '+' : ''}${v.tvlDelta.
|
|
221
|
-
const aprDeltaFormatted = `${v.aprDelta > 0 ? '+' : ''}${v.aprDelta.
|
|
230
|
+
const aprFormatted = `${safeToFixed(v.apr, 2, '0.00')}%`;
|
|
231
|
+
const scoreFormatted = safeToFixed(v.overallScore, 1, '0.0');
|
|
232
|
+
const tvlDeltaFormatted = `${v.tvlDelta > 0 ? '+' : ''}${safeToFixed(v.tvlDelta, 1, '0.0')}%`;
|
|
233
|
+
const aprDeltaFormatted = `${v.aprDelta > 0 ? '+' : ''}${safeToFixed(v.aprDelta, 1, '0.0')}%`;
|
|
222
234
|
let row = `| ${v.rank} | ${v.name} (${v.symbol}) | ${tvlFormatted} | ${aprFormatted} |`;
|
|
223
235
|
if (hasFeeData) {
|
|
224
236
|
const mgmtFeeFormatted = formatFee(v.fees?.managementFee);
|
|
@@ -227,14 +239,14 @@ export function formatComparisonTable(vaults) {
|
|
|
227
239
|
}
|
|
228
240
|
if (hasRiskData) {
|
|
229
241
|
const riskFormatted = v.riskScore !== undefined
|
|
230
|
-
? `${riskEmoji(v.riskLevel)} ${(v.riskScore * 100
|
|
242
|
+
? `${riskEmoji(v.riskLevel)} ${safeToFixed(v.riskScore * 100, 1, '0.0')}%`
|
|
231
243
|
: 'N/A';
|
|
232
244
|
row += ` ${riskFormatted} |`;
|
|
233
245
|
}
|
|
234
246
|
row += ` ${scoreFormatted} | ${tvlDeltaFormatted} | ${aprDeltaFormatted} |`;
|
|
235
247
|
if (hasRiskData) {
|
|
236
248
|
const riskDeltaFormatted = v.riskDelta !== undefined
|
|
237
|
-
? `${v.riskDelta > 0 ? '+' : ''}${v.riskDelta.
|
|
249
|
+
? `${v.riskDelta > 0 ? '+' : ''}${safeToFixed(v.riskDelta, 1, '0.0')}%`
|
|
238
250
|
: 'N/A';
|
|
239
251
|
row += ` ${riskDeltaFormatted} |`;
|
|
240
252
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparison-metrics.js","sourceRoot":"","sources":["../../src/utils/comparison-metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"comparison-metrics.js","sourceRoot":"","sources":["../../src/utils/comparison-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio-optimization.d.ts","sourceRoot":"","sources":["../../src/utils/portfolio-optimization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"portfolio-optimization.d.ts","sourceRoot":"","sources":["../../src/utils/portfolio-optimization.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,17 +4,23 @@
|
|
|
4
4
|
* Portfolio allocation and rebalancing algorithms for optimal vault distribution.
|
|
5
5
|
* Provides risk-adjusted portfolio recommendations and rebalancing guidance.
|
|
6
6
|
*/
|
|
7
|
+
import { safeDivide } from './safe-math.js';
|
|
7
8
|
/**
|
|
8
9
|
* Calculate equal-weight allocation strategy
|
|
9
10
|
* Allocates portfolio equally across all vaults
|
|
10
11
|
*/
|
|
11
12
|
export function calculateEqualWeight(vaults, totalValueUsd) {
|
|
13
|
+
// Guard: empty array
|
|
14
|
+
if (vaults.length === 0) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
12
17
|
const targetAllocation = 100 / vaults.length;
|
|
13
18
|
return vaults.map((vault) => {
|
|
14
|
-
const currentAllocation = (vault.currentValueUsd
|
|
19
|
+
const currentAllocation = safeDivide(vault.currentValueUsd, totalValueUsd, 0) * 100;
|
|
15
20
|
const targetValueUsd = (targetAllocation / 100) * totalValueUsd;
|
|
16
21
|
const rebalanceAmount = targetValueUsd - vault.currentValueUsd;
|
|
17
|
-
|
|
22
|
+
// Guard: avoid division by zero when currentValueUsd is 0
|
|
23
|
+
const rebalancePercentage = safeDivide(rebalanceAmount, vault.currentValueUsd, rebalanceAmount > 0 ? 100 : rebalanceAmount < 0 ? -100 : 0);
|
|
18
24
|
return {
|
|
19
25
|
vaultAddress: vault.address,
|
|
20
26
|
vaultName: vault.name,
|
|
@@ -34,15 +40,25 @@ export function calculateEqualWeight(vaults, totalValueUsd) {
|
|
|
34
40
|
* Allocates based on inverse risk (lower risk = higher allocation)
|
|
35
41
|
*/
|
|
36
42
|
export function calculateRiskParity(vaults, totalValueUsd) {
|
|
43
|
+
// Guard: empty array
|
|
44
|
+
if (vaults.length === 0) {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
37
47
|
// Calculate inverse risk scores (lower risk = higher weight)
|
|
38
|
-
const
|
|
48
|
+
const RISK_EPSILON = 0.01;
|
|
49
|
+
const inverseRisks = vaults.map((v) => safeDivide(1, v.riskScore + RISK_EPSILON, 1));
|
|
39
50
|
const totalInverseRisk = inverseRisks.reduce((sum, r) => sum + r, 0);
|
|
51
|
+
// Guard: if all inverse risks sum to 0, fall back to equal weight
|
|
52
|
+
if (totalInverseRisk === 0) {
|
|
53
|
+
return calculateEqualWeight(vaults, totalValueUsd);
|
|
54
|
+
}
|
|
40
55
|
return vaults.map((vault, index) => {
|
|
41
|
-
const targetAllocation = (inverseRisks[index] /
|
|
42
|
-
const currentAllocation = (vault.currentValueUsd
|
|
56
|
+
const targetAllocation = safeDivide(inverseRisks[index], totalInverseRisk, 100 / vaults.length) * 100;
|
|
57
|
+
const currentAllocation = safeDivide(vault.currentValueUsd, totalValueUsd, 0) * 100;
|
|
43
58
|
const targetValueUsd = (targetAllocation / 100) * totalValueUsd;
|
|
44
59
|
const rebalanceAmount = targetValueUsd - vault.currentValueUsd;
|
|
45
|
-
|
|
60
|
+
// Guard: avoid division by zero when currentValueUsd is 0
|
|
61
|
+
const rebalancePercentage = safeDivide(rebalanceAmount, vault.currentValueUsd, rebalanceAmount > 0 ? 100 : rebalanceAmount < 0 ? -100 : 0);
|
|
46
62
|
return {
|
|
47
63
|
vaultAddress: vault.address,
|
|
48
64
|
vaultName: vault.name,
|
|
@@ -63,10 +79,15 @@ export function calculateRiskParity(vaults, totalValueUsd) {
|
|
|
63
79
|
*/
|
|
64
80
|
export function calculateMaxSharpe(vaults, totalValueUsd, riskFreeRate = 2.0 // Default 2% risk-free rate
|
|
65
81
|
) {
|
|
82
|
+
// Guard: empty array
|
|
83
|
+
if (vaults.length === 0) {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
66
86
|
// Calculate Sharpe ratios for each vault
|
|
87
|
+
const VOLATILITY_EPSILON = 0.01;
|
|
67
88
|
const sharpeRatios = vaults.map((v) => {
|
|
68
89
|
const excessReturn = v.expectedApr - riskFreeRate;
|
|
69
|
-
return excessReturn
|
|
90
|
+
return safeDivide(excessReturn, v.volatility + VOLATILITY_EPSILON, 0);
|
|
70
91
|
});
|
|
71
92
|
// Normalize Sharpe ratios to get weights (only positive Sharpe ratios)
|
|
72
93
|
const positiveSharpes = sharpeRatios.map((s) => Math.max(0, s));
|
|
@@ -76,11 +97,12 @@ export function calculateMaxSharpe(vaults, totalValueUsd, riskFreeRate = 2.0 //
|
|
|
76
97
|
return calculateEqualWeight(vaults, totalValueUsd);
|
|
77
98
|
}
|
|
78
99
|
return vaults.map((vault, index) => {
|
|
79
|
-
const targetAllocation = (positiveSharpes[index] /
|
|
80
|
-
const currentAllocation = (vault.currentValueUsd
|
|
100
|
+
const targetAllocation = safeDivide(positiveSharpes[index], totalSharpe, 100 / vaults.length) * 100;
|
|
101
|
+
const currentAllocation = safeDivide(vault.currentValueUsd, totalValueUsd, 0) * 100;
|
|
81
102
|
const targetValueUsd = (targetAllocation / 100) * totalValueUsd;
|
|
82
103
|
const rebalanceAmount = targetValueUsd - vault.currentValueUsd;
|
|
83
|
-
|
|
104
|
+
// Guard: avoid division by zero when currentValueUsd is 0
|
|
105
|
+
const rebalancePercentage = safeDivide(rebalanceAmount, vault.currentValueUsd, rebalanceAmount > 0 ? 100 : rebalanceAmount < 0 ? -100 : 0);
|
|
84
106
|
return {
|
|
85
107
|
vaultAddress: vault.address,
|
|
86
108
|
vaultName: vault.name,
|
|
@@ -100,15 +122,25 @@ export function calculateMaxSharpe(vaults, totalValueUsd, riskFreeRate = 2.0 //
|
|
|
100
122
|
* Allocates to minimize portfolio volatility
|
|
101
123
|
*/
|
|
102
124
|
export function calculateMinVariance(vaults, totalValueUsd) {
|
|
125
|
+
// Guard: empty array
|
|
126
|
+
if (vaults.length === 0) {
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
103
129
|
// Allocate based on inverse variance (lower volatility = higher allocation)
|
|
104
|
-
const
|
|
130
|
+
const VARIANCE_EPSILON = 0.0001;
|
|
131
|
+
const inverseVariances = vaults.map((v) => safeDivide(1, v.volatility * v.volatility + VARIANCE_EPSILON, 1));
|
|
105
132
|
const totalInverseVariance = inverseVariances.reduce((sum, v) => sum + v, 0);
|
|
133
|
+
// Guard: if all inverse variances sum to 0, fall back to equal weight
|
|
134
|
+
if (totalInverseVariance === 0) {
|
|
135
|
+
return calculateEqualWeight(vaults, totalValueUsd);
|
|
136
|
+
}
|
|
106
137
|
return vaults.map((vault, index) => {
|
|
107
|
-
const targetAllocation = (inverseVariances[index] /
|
|
108
|
-
const currentAllocation = (vault.currentValueUsd
|
|
138
|
+
const targetAllocation = safeDivide(inverseVariances[index], totalInverseVariance, 100 / vaults.length) * 100;
|
|
139
|
+
const currentAllocation = safeDivide(vault.currentValueUsd, totalValueUsd, 0) * 100;
|
|
109
140
|
const targetValueUsd = (targetAllocation / 100) * totalValueUsd;
|
|
110
141
|
const rebalanceAmount = targetValueUsd - vault.currentValueUsd;
|
|
111
|
-
|
|
142
|
+
// Guard: avoid division by zero when currentValueUsd is 0
|
|
143
|
+
const rebalancePercentage = safeDivide(rebalanceAmount, vault.currentValueUsd, rebalanceAmount > 0 ? 100 : rebalanceAmount < 0 ? -100 : 0);
|
|
112
144
|
return {
|
|
113
145
|
vaultAddress: vault.address,
|
|
114
146
|
vaultName: vault.name,
|
|
@@ -127,20 +159,37 @@ export function calculateMinVariance(vaults, totalValueUsd) {
|
|
|
127
159
|
* Calculate portfolio metrics
|
|
128
160
|
*/
|
|
129
161
|
export function calculatePortfolioMetrics(positions, vaults, riskFreeRate = 2.0) {
|
|
162
|
+
// Guard: empty arrays
|
|
163
|
+
if (positions.length === 0 || vaults.length === 0) {
|
|
164
|
+
return {
|
|
165
|
+
expectedReturn: 0,
|
|
166
|
+
portfolioRisk: 0,
|
|
167
|
+
sharpeRatio: 0,
|
|
168
|
+
diversificationScore: 0,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
130
171
|
// Calculate expected return (weighted average of vault APRs)
|
|
131
172
|
const expectedReturn = vaults.reduce((sum, vault, index) => {
|
|
132
|
-
|
|
173
|
+
// Guard: check positions array bounds
|
|
174
|
+
const position = positions[index];
|
|
175
|
+
if (!position)
|
|
176
|
+
return sum;
|
|
177
|
+
const weight = position.targetAllocation / 100;
|
|
133
178
|
return sum + vault.expectedApr * weight;
|
|
134
179
|
}, 0);
|
|
135
180
|
// Calculate portfolio risk (simplified - weighted average volatility)
|
|
136
181
|
// Note: This is a simplification; true portfolio variance requires correlation matrix
|
|
137
182
|
const portfolioRisk = vaults.reduce((sum, vault, index) => {
|
|
138
|
-
|
|
183
|
+
// Guard: check positions array bounds
|
|
184
|
+
const position = positions[index];
|
|
185
|
+
if (!position)
|
|
186
|
+
return sum;
|
|
187
|
+
const weight = position.targetAllocation / 100;
|
|
139
188
|
return sum + vault.volatility * weight;
|
|
140
189
|
}, 0);
|
|
141
190
|
// Calculate Sharpe ratio
|
|
142
191
|
const excessReturn = expectedReturn - riskFreeRate;
|
|
143
|
-
const sharpeRatio =
|
|
192
|
+
const sharpeRatio = safeDivide(excessReturn, portfolioRisk, 0);
|
|
144
193
|
// Calculate diversification score (1 - Herfindahl index)
|
|
145
194
|
const herfindahl = positions.reduce((sum, pos) => {
|
|
146
195
|
const weight = pos.targetAllocation / 100;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio-optimization.js","sourceRoot":"","sources":["../../src/utils/portfolio-optimization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"portfolio-optimization.js","sourceRoot":"","sources":["../../src/utils/portfolio-optimization.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,18 @@ export interface RiskScoreBreakdown {
|
|
|
24
24
|
topProtocolConcentrationRisk: number;
|
|
25
25
|
overallRisk: number;
|
|
26
26
|
riskLevel: 'Low' | 'Medium' | 'High' | 'Critical';
|
|
27
|
+
/**
|
|
28
|
+
* Indicates the quality of data used for risk analysis.
|
|
29
|
+
* - 'high': All data sources available, calculations based on real data
|
|
30
|
+
* - 'medium': Some data missing, using defaults for 1-2 factors
|
|
31
|
+
* - 'low': Significant data gaps, multiple factors using default assumptions
|
|
32
|
+
*/
|
|
33
|
+
dataQuality: 'high' | 'medium' | 'low';
|
|
34
|
+
/**
|
|
35
|
+
* Specific notes about data limitations affecting the risk analysis.
|
|
36
|
+
* Empty array indicates all data was available and of good quality.
|
|
37
|
+
*/
|
|
38
|
+
dataQualityNotes: string[];
|
|
27
39
|
}
|
|
28
40
|
/**
|
|
29
41
|
* Risk thresholds for scoring
|
|
@@ -194,13 +206,60 @@ export declare function calculateCapacityUtilizationRisk(utilizationData: {
|
|
|
194
206
|
totalAssets: number;
|
|
195
207
|
maxCapacity: number | null;
|
|
196
208
|
}): number;
|
|
209
|
+
/**
|
|
210
|
+
* Risk factor weights for calculating overall risk score.
|
|
211
|
+
*
|
|
212
|
+
* Weights are derived from DeFi risk research and empirical analysis:
|
|
213
|
+
*
|
|
214
|
+
* **Market & Liquidity (24%)**
|
|
215
|
+
* - TVL (8%): Liquidity depth and market validation signal
|
|
216
|
+
* - Concentration (8%): Protocol-wide exposure and systemic risk
|
|
217
|
+
* - Liquidity (8%): Redemption coverage and operational liquidity
|
|
218
|
+
*
|
|
219
|
+
* **Performance & Stability (27%)**
|
|
220
|
+
* - Volatility (14%): Primary indicator of price instability and risk
|
|
221
|
+
* - APR Consistency (13%): Yield reliability signals strategy health
|
|
222
|
+
*
|
|
223
|
+
* **Operational (21%)**
|
|
224
|
+
* - Age (8%): Operational track record and battle-testing
|
|
225
|
+
* - Curator (8%): Management quality and experience
|
|
226
|
+
* - Settlement (5%): Operational efficiency and delay risk
|
|
227
|
+
*
|
|
228
|
+
* **Fee Structure (8%)**
|
|
229
|
+
* - Fee (8%): Cost drag on returns and alignment of interests
|
|
230
|
+
*
|
|
231
|
+
* **Strategy Composition (20%)**
|
|
232
|
+
* - Yield Sustainability (5%): Native vs incentive-based yield mix
|
|
233
|
+
* - Integration Complexity (5%): Smart contract attack surface
|
|
234
|
+
* - Capacity Utilization (5%): Demand signals and deposit headroom
|
|
235
|
+
* - Protocol Diversification (5%): HHI-based protocol concentration
|
|
236
|
+
* - Top Protocol Concentration (5%): Single protocol exposure risk
|
|
237
|
+
*
|
|
238
|
+
* Total: 100% (weights sum to 1.0)
|
|
239
|
+
*/
|
|
240
|
+
export declare const RISK_WEIGHTS: {
|
|
241
|
+
readonly tvl: 0.08;
|
|
242
|
+
readonly concentration: 0.08;
|
|
243
|
+
readonly volatility: 0.14;
|
|
244
|
+
readonly age: 0.08;
|
|
245
|
+
readonly curator: 0.08;
|
|
246
|
+
readonly fee: 0.08;
|
|
247
|
+
readonly liquidity: 0.08;
|
|
248
|
+
readonly aprConsistency: 0.13;
|
|
249
|
+
readonly yieldSustainability: 0.05;
|
|
250
|
+
readonly settlement: 0.05;
|
|
251
|
+
readonly integrationComplexity: 0.05;
|
|
252
|
+
readonly capacityUtilization: 0.05;
|
|
253
|
+
readonly protocolDiversification: 0.05;
|
|
254
|
+
readonly topProtocolConcentration: 0.05;
|
|
255
|
+
};
|
|
197
256
|
/**
|
|
198
257
|
* Calculate overall risk score with weighted factors
|
|
199
258
|
*
|
|
200
|
-
* @param breakdown - Individual risk factor scores
|
|
259
|
+
* @param breakdown - Individual risk factor scores (excluding overall and data quality fields)
|
|
201
260
|
* @returns Overall risk score 0-1 and risk level
|
|
202
261
|
*/
|
|
203
|
-
export declare function calculateOverallRisk(breakdown: Omit<RiskScoreBreakdown, 'overallRisk' | 'riskLevel'>): {
|
|
262
|
+
export declare function calculateOverallRisk(breakdown: Omit<RiskScoreBreakdown, 'overallRisk' | 'riskLevel' | 'dataQuality' | 'dataQualityNotes'>): {
|
|
204
263
|
overallRisk: number;
|
|
205
264
|
riskLevel: 'Low' | 'Medium' | 'High' | 'Critical';
|
|
206
265
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk-scoring.d.ts","sourceRoot":"","sources":["../../src/utils/risk-scoring.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,MAAM,CAAC;IAClC,uBAAuB,EAAE,MAAM,CAAC;IAChC,2BAA2B,EAAE,MAAM,CAAC;IACpC,4BAA4B,EAAE,MAAM,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"risk-scoring.d.ts","sourceRoot":"","sources":["../../src/utils/risk-scoring.ts"],"names":[],"mappings":"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"}
|