alia-contracts-spec 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.
Files changed (114) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +73 -0
  3. package/abi/IAllocationAdapter.json +181 -0
  4. package/abi/IPillarDMode.json +281 -0
  5. package/abi/IScoreEngine.json +87 -0
  6. package/abi/adapters/IAaveV3BNBAdapter.json +251 -0
  7. package/abi/adapters/ICompoundAdapter.json +238 -0
  8. package/abi/adapters/IEulerAdapter.json +238 -0
  9. package/abi/adapters/IKernelAdapter.json +255 -0
  10. package/abi/adapters/IListaAdapter.json +239 -0
  11. package/abi/adapters/IMorphoAdapter.json +259 -0
  12. package/abi/adapters/IPendleAdapter.json +289 -0
  13. package/abi/adapters/ISiloAdapter.json +238 -0
  14. package/abi/adapters/ISparkAdapter.json +245 -0
  15. package/dist/IAllocationAdapter.d.ts +132 -0
  16. package/dist/IAllocationAdapter.d.ts.map +1 -0
  17. package/dist/IAllocationAdapter.js +2 -0
  18. package/dist/IPillarDMode.d.ts +179 -0
  19. package/dist/IPillarDMode.d.ts.map +1 -0
  20. package/dist/IPillarDMode.js +2 -0
  21. package/dist/IScoreEngine.d.ts +90 -0
  22. package/dist/IScoreEngine.d.ts.map +1 -0
  23. package/dist/IScoreEngine.js +2 -0
  24. package/dist/adapters/IAaveV3BNBAdapter.d.ts +156 -0
  25. package/dist/adapters/IAaveV3BNBAdapter.d.ts.map +1 -0
  26. package/dist/adapters/IAaveV3BNBAdapter.js +2 -0
  27. package/dist/adapters/ICompoundAdapter.d.ts +148 -0
  28. package/dist/adapters/ICompoundAdapter.d.ts.map +1 -0
  29. package/dist/adapters/ICompoundAdapter.js +2 -0
  30. package/dist/adapters/IEulerAdapter.d.ts +144 -0
  31. package/dist/adapters/IEulerAdapter.d.ts.map +1 -0
  32. package/dist/adapters/IEulerAdapter.js +2 -0
  33. package/dist/adapters/IKernelAdapter.d.ts +164 -0
  34. package/dist/adapters/IKernelAdapter.d.ts.map +1 -0
  35. package/dist/adapters/IKernelAdapter.js +2 -0
  36. package/dist/adapters/IListaAdapter.d.ts +148 -0
  37. package/dist/adapters/IListaAdapter.d.ts.map +1 -0
  38. package/dist/adapters/IListaAdapter.js +2 -0
  39. package/dist/adapters/IMorphoAdapter.d.ts +174 -0
  40. package/dist/adapters/IMorphoAdapter.d.ts.map +1 -0
  41. package/dist/adapters/IMorphoAdapter.js +2 -0
  42. package/dist/adapters/IPendleAdapter.d.ts +156 -0
  43. package/dist/adapters/IPendleAdapter.d.ts.map +1 -0
  44. package/dist/adapters/IPendleAdapter.js +2 -0
  45. package/dist/adapters/ISiloAdapter.d.ts +144 -0
  46. package/dist/adapters/ISiloAdapter.d.ts.map +1 -0
  47. package/dist/adapters/ISiloAdapter.js +2 -0
  48. package/dist/adapters/ISparkAdapter.d.ts +148 -0
  49. package/dist/adapters/ISparkAdapter.d.ts.map +1 -0
  50. package/dist/adapters/ISparkAdapter.js +2 -0
  51. package/dist/adapters/index.d.ts +10 -0
  52. package/dist/adapters/index.d.ts.map +1 -0
  53. package/dist/adapters/index.js +2 -0
  54. package/dist/common.d.ts +51 -0
  55. package/dist/common.d.ts.map +1 -0
  56. package/dist/common.js +2 -0
  57. package/dist/factories/IAllocationAdapter__factory.d.ts +146 -0
  58. package/dist/factories/IAllocationAdapter__factory.d.ts.map +1 -0
  59. package/dist/factories/IAllocationAdapter__factory.js +198 -0
  60. package/dist/factories/IPillarDMode__factory.d.ts +223 -0
  61. package/dist/factories/IPillarDMode__factory.d.ts.map +1 -0
  62. package/dist/factories/IPillarDMode__factory.js +298 -0
  63. package/dist/factories/IScoreEngine__factory.d.ts +74 -0
  64. package/dist/factories/IScoreEngine__factory.d.ts.map +1 -0
  65. package/dist/factories/IScoreEngine__factory.js +104 -0
  66. package/dist/factories/adapters/IAaveV3BNBAdapter__factory.d.ts +198 -0
  67. package/dist/factories/adapters/IAaveV3BNBAdapter__factory.d.ts.map +1 -0
  68. package/dist/factories/adapters/IAaveV3BNBAdapter__factory.js +268 -0
  69. package/dist/factories/adapters/ICompoundAdapter__factory.d.ts +188 -0
  70. package/dist/factories/adapters/ICompoundAdapter__factory.d.ts.map +1 -0
  71. package/dist/factories/adapters/ICompoundAdapter__factory.js +255 -0
  72. package/dist/factories/adapters/IEulerAdapter__factory.d.ts +188 -0
  73. package/dist/factories/adapters/IEulerAdapter__factory.d.ts.map +1 -0
  74. package/dist/factories/adapters/IEulerAdapter__factory.js +255 -0
  75. package/dist/factories/adapters/IKernelAdapter__factory.d.ts +202 -0
  76. package/dist/factories/adapters/IKernelAdapter__factory.d.ts.map +1 -0
  77. package/dist/factories/adapters/IKernelAdapter__factory.js +272 -0
  78. package/dist/factories/adapters/IListaAdapter__factory.d.ts +190 -0
  79. package/dist/factories/adapters/IListaAdapter__factory.d.ts.map +1 -0
  80. package/dist/factories/adapters/IListaAdapter__factory.js +256 -0
  81. package/dist/factories/adapters/IMorphoAdapter__factory.d.ts +205 -0
  82. package/dist/factories/adapters/IMorphoAdapter__factory.d.ts.map +1 -0
  83. package/dist/factories/adapters/IMorphoAdapter__factory.js +276 -0
  84. package/dist/factories/adapters/IPendleAdapter__factory.d.ts +226 -0
  85. package/dist/factories/adapters/IPendleAdapter__factory.d.ts.map +1 -0
  86. package/dist/factories/adapters/IPendleAdapter__factory.js +306 -0
  87. package/dist/factories/adapters/ISiloAdapter__factory.d.ts +188 -0
  88. package/dist/factories/adapters/ISiloAdapter__factory.d.ts.map +1 -0
  89. package/dist/factories/adapters/ISiloAdapter__factory.js +255 -0
  90. package/dist/factories/adapters/ISparkAdapter__factory.d.ts +194 -0
  91. package/dist/factories/adapters/ISparkAdapter__factory.d.ts.map +1 -0
  92. package/dist/factories/adapters/ISparkAdapter__factory.js +262 -0
  93. package/dist/factories/adapters/index.d.ts +10 -0
  94. package/dist/factories/adapters/index.d.ts.map +1 -0
  95. package/dist/factories/adapters/index.js +24 -0
  96. package/dist/factories/index.d.ts +5 -0
  97. package/dist/factories/index.d.ts.map +1 -0
  98. package/dist/factories/index.js +46 -0
  99. package/dist/index.d.ts +28 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +61 -0
  102. package/package.json +56 -0
  103. package/src/adapters/interfaces/IAaveV3BNBAdapter.sol +34 -0
  104. package/src/adapters/interfaces/ICompoundAdapter.sol +21 -0
  105. package/src/adapters/interfaces/IEulerAdapter.sol +10 -0
  106. package/src/adapters/interfaces/IKernelAdapter.sol +30 -0
  107. package/src/adapters/interfaces/IListaAdapter.sol +11 -0
  108. package/src/adapters/interfaces/IMorphoAdapter.sol +19 -0
  109. package/src/adapters/interfaces/IPendleAdapter.sol +13 -0
  110. package/src/adapters/interfaces/ISiloAdapter.sol +10 -0
  111. package/src/adapters/interfaces/ISparkAdapter.sol +11 -0
  112. package/src/interfaces/IAllocationAdapter.sol +78 -0
  113. package/src/interfaces/IPillarDMode.sol +85 -0
  114. package/src/interfaces/IScoreEngine.sol +52 -0
@@ -0,0 +1,52 @@
1
+ // SPDX-License-Identifier: BUSL-1.1
2
+ pragma solidity ^0.8.24;
3
+
4
+ // ═══════════════════════════════════════════════════════════════════════════════
5
+ // IScoreEngine — interface canonique consumer-side ALIA Quality Network
6
+ //
7
+ // Implémentée par :
8
+ // - ScoreEngineV2.sol (Base mainnet 0x295C…CB43)
9
+ // - ScoreEngineV2BNBMirror.sol (BNB Chain mirror cross-chain pull-based)
10
+ // - (futur) ScoreEngineV2SolanaMirror, ArbitrumMirror Y2H1-Y2H2
11
+ //
12
+ // Consumée par :
13
+ // - QualityGatedAllocator (J2 sprint sem 1-2)
14
+ // - PillarDRouter + modes (J3)
15
+ // - ELIERouter (existant Base)
16
+ // - Adapters Couche 3 (Venus shipped, Aave V3 BNB / Morpho / Pendle / Kernel)
17
+ //
18
+ // Note compatibilité ScoreEngineV2 Base déployé pre-interface :
19
+ // Le contrat Base ne déclare pas explicitement implement IScoreEngine,
20
+ // mais ses signatures publiques matchent strictement.
21
+ // Cast `IScoreEngine(scoreEngineV2Address)` est valide ABI-wise.
22
+ // ═══════════════════════════════════════════════════════════════════════════════
23
+
24
+ interface IScoreEngine {
25
+
26
+ /// @dev Snapshot du score effectif d'un asset, partagé entre tous les ScoreEngines
27
+ struct CachedScore {
28
+ uint256 score; // 0–1000 (MAX_SCORE)
29
+ uint256 confidence; // 0–10000 bps
30
+ uint256 updatedAt; // block.timestamp last update
31
+ bool isActive; // false = retired asset
32
+ }
33
+
34
+ /// @notice Score effectif d'un asset — appliqué override > composite > cache brut
35
+ /// @return score Le score effectif 0–1000
36
+ /// @return fresh true si updatedAt dans la fenêtre stalePeriod
37
+ function getEffectiveScore(address asset) external view returns (uint256 score, bool fresh);
38
+
39
+ /// @notice Score composite view (sans modification d'état)
40
+ /// @return compositeScore Score composite 0–1000
41
+ /// @return modulesUsed Nombre de modules ayant contribué (0 sur les mirrors cross-chain)
42
+ function getCompositeScoreView(address asset) external view returns (uint256 compositeScore, uint256 modulesUsed);
43
+
44
+ /// @notice Émis à chaque mise à jour de score (Base via refreshScore, BNB Mirror via attestation)
45
+ event ScoreUpdated(
46
+ address indexed asset,
47
+ uint256 previousScore,
48
+ uint256 newScore,
49
+ uint256 confidence,
50
+ uint256 timestamp
51
+ );
52
+ }