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
package/LICENSE ADDED
@@ -0,0 +1,23 @@
1
+ Business Source License 1.1
2
+
3
+ Licensor: Avvatar Labs SAS
4
+ Licensed Work: ALIA Quality Network - Contract Specifications
5
+ Copyright (c) 2026 Avvatar Labs SAS
6
+ Additional Use Grant: Limited integration use granted via written
7
+ Co-build Partnership Agreement with Avvatar Labs SAS
8
+ Change Date: 2028-06-01
9
+ Change License: MIT
10
+
11
+ The Business Source License is not an Open Source license. The Licensed Work
12
+ will become available under the Change License on the Change Date.
13
+
14
+ You may copy, modify, create derivative works, redistribute, and make
15
+ non-production use of the Licensed Work. Production use requires a commercial
16
+ license from Avvatar Labs SAS.
17
+
18
+ ALIA, ALIA Quality Network, ALIA Verified Badge, Quality-Wrapped, and AGIL
19
+ are trademarks of Avvatar Labs SAS. Trademark filings pending in EU, US,
20
+ and Hong Kong. Use of these marks in derivative works requires written
21
+ authorization.
22
+
23
+ THE LICENSED WORK IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
package/README.md ADDED
@@ -0,0 +1,73 @@
1
+ # alia-contracts-spec
2
+
3
+ Contract interfaces and integration specifications for ALIA Quality Network.
4
+
5
+ ## What
6
+
7
+ Solidity interfaces for protocols integrating ALIA quality scoring, forecasting,
8
+ quality-gated allocation, and recourse primitives.
9
+
10
+ ## Contents
11
+
12
+ ### Core interfaces (`src/interfaces/`)
13
+
14
+ - `IScoreEngine.sol` — Quality score consumer interface. Returns effective
15
+ score 0-1000 + freshness flag for any asset.
16
+ - `IAllocationAdapter.sol` — Canonical adapter interface. Implement for any
17
+ lending/yield protocol to become eligible quality-gated capital flow.
18
+ - `IPillarDMode.sol` — Pillar D mode interface. ERC-4626-like vault pattern
19
+ with mandate-bound deposit/redeem and shares-based accounting.
20
+
21
+ ### Adapter negotiation hooks (`src/adapters/interfaces/`)
22
+
23
+ Protocol-specific extensions of `IAllocationAdapter` with native primitives
24
+ exposed for integration:
25
+
26
+ - `IAaveV3BNBAdapter.sol`
27
+ - `IMorphoAdapter.sol`
28
+ - `IPendleAdapter.sol`
29
+ - `IKernelAdapter.sol`
30
+ - `IListaAdapter.sol`
31
+ - `ISparkAdapter.sol`
32
+ - `ICompoundAdapter.sol`
33
+ - `IEulerAdapter.sol`
34
+ - `ISiloAdapter.sol`
35
+
36
+ Each adapter spec maps to 3-5 days integration work for protocol teams who
37
+ want to expose their markets to ALIA-routed capital.
38
+
39
+ ## Live deployments
40
+
41
+ Currently deployed on BNB Chain testnet. Contract addresses, ABIs, and
42
+ verification status published when production rollout completes.
43
+
44
+ ## Architecture
45
+
46
+ ALIA Quality Network ships six composed primitives — Score, Forecast,
47
+ Execute, Trace, Insure, Resolve — operated by the AGIL backend engine.
48
+ Smart contracts in this repository describe the integration surface for
49
+ external protocols.
50
+
51
+ Full architecture documentation: forthcoming.
52
+
53
+ ## License
54
+
55
+ Business Source License 1.1. See `LICENSE`.
56
+
57
+ Production use requires a commercial license from Avvatar Labs SAS.
58
+ ALIA, ALIA Quality Network, ALIA Verified Badge, Quality-Wrapped, and
59
+ AGIL are trademarks of Avvatar Labs SAS.
60
+
61
+ ## Contact
62
+
63
+ [avvatar.io](https://avvatar.io)
64
+
65
+ ---
66
+
67
+ ## NPM consumption
68
+
69
+ Install: npm install @alia/contracts-spec
70
+
71
+ Import in TypeScript using IScoreEngine__factory, IPillarDMode__factory, IAllocationAdapter__factory from @alia/contracts-spec. See dist/ for compiled types. Contracts live BNB testnet — full addresses on alia.network/docs.
72
+
73
+ License BUSL-1.1 (Avvatar Labs SAS, change date 2028-06-01 → MIT).
@@ -0,0 +1,181 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "adapterType",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "string",
10
+ "internalType": "string"
11
+ }
12
+ ],
13
+ "stateMutability": "pure"
14
+ },
15
+ {
16
+ "type": "function",
17
+ "name": "balanceOf",
18
+ "inputs": [
19
+ {
20
+ "name": "asset",
21
+ "type": "address",
22
+ "internalType": "address"
23
+ },
24
+ {
25
+ "name": "owner",
26
+ "type": "address",
27
+ "internalType": "address"
28
+ }
29
+ ],
30
+ "outputs": [
31
+ {
32
+ "name": "",
33
+ "type": "uint256",
34
+ "internalType": "uint256"
35
+ }
36
+ ],
37
+ "stateMutability": "view"
38
+ },
39
+ {
40
+ "type": "function",
41
+ "name": "expectedAPY",
42
+ "inputs": [
43
+ {
44
+ "name": "asset",
45
+ "type": "address",
46
+ "internalType": "address"
47
+ }
48
+ ],
49
+ "outputs": [
50
+ {
51
+ "name": "bps",
52
+ "type": "uint16",
53
+ "internalType": "uint16"
54
+ }
55
+ ],
56
+ "stateMutability": "view"
57
+ },
58
+ {
59
+ "type": "function",
60
+ "name": "protocolName",
61
+ "inputs": [],
62
+ "outputs": [
63
+ {
64
+ "name": "",
65
+ "type": "string",
66
+ "internalType": "string"
67
+ }
68
+ ],
69
+ "stateMutability": "pure"
70
+ },
71
+ {
72
+ "type": "function",
73
+ "name": "supply",
74
+ "inputs": [
75
+ {
76
+ "name": "asset",
77
+ "type": "address",
78
+ "internalType": "address"
79
+ },
80
+ {
81
+ "name": "amount",
82
+ "type": "uint256",
83
+ "internalType": "uint256"
84
+ }
85
+ ],
86
+ "outputs": [
87
+ {
88
+ "name": "received",
89
+ "type": "uint256",
90
+ "internalType": "uint256"
91
+ }
92
+ ],
93
+ "stateMutability": "nonpayable"
94
+ },
95
+ {
96
+ "type": "function",
97
+ "name": "withdraw",
98
+ "inputs": [
99
+ {
100
+ "name": "asset",
101
+ "type": "address",
102
+ "internalType": "address"
103
+ },
104
+ {
105
+ "name": "amount",
106
+ "type": "uint256",
107
+ "internalType": "uint256"
108
+ }
109
+ ],
110
+ "outputs": [
111
+ {
112
+ "name": "withdrawn",
113
+ "type": "uint256",
114
+ "internalType": "uint256"
115
+ }
116
+ ],
117
+ "stateMutability": "nonpayable"
118
+ },
119
+ {
120
+ "type": "event",
121
+ "name": "Supplied",
122
+ "inputs": [
123
+ {
124
+ "name": "caller",
125
+ "type": "address",
126
+ "indexed": true,
127
+ "internalType": "address"
128
+ },
129
+ {
130
+ "name": "asset",
131
+ "type": "address",
132
+ "indexed": true,
133
+ "internalType": "address"
134
+ },
135
+ {
136
+ "name": "amount",
137
+ "type": "uint256",
138
+ "indexed": false,
139
+ "internalType": "uint256"
140
+ },
141
+ {
142
+ "name": "received",
143
+ "type": "uint256",
144
+ "indexed": false,
145
+ "internalType": "uint256"
146
+ }
147
+ ],
148
+ "anonymous": false
149
+ },
150
+ {
151
+ "type": "event",
152
+ "name": "Withdrawn",
153
+ "inputs": [
154
+ {
155
+ "name": "caller",
156
+ "type": "address",
157
+ "indexed": true,
158
+ "internalType": "address"
159
+ },
160
+ {
161
+ "name": "asset",
162
+ "type": "address",
163
+ "indexed": true,
164
+ "internalType": "address"
165
+ },
166
+ {
167
+ "name": "amount",
168
+ "type": "uint256",
169
+ "indexed": false,
170
+ "internalType": "uint256"
171
+ },
172
+ {
173
+ "name": "withdrawn",
174
+ "type": "uint256",
175
+ "indexed": false,
176
+ "internalType": "uint256"
177
+ }
178
+ ],
179
+ "anonymous": false
180
+ }
181
+ ]
@@ -0,0 +1,281 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "convertToAssets",
5
+ "inputs": [
6
+ {
7
+ "name": "asset",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "shares",
13
+ "type": "uint256",
14
+ "internalType": "uint256"
15
+ }
16
+ ],
17
+ "outputs": [
18
+ {
19
+ "name": "",
20
+ "type": "uint256",
21
+ "internalType": "uint256"
22
+ }
23
+ ],
24
+ "stateMutability": "view"
25
+ },
26
+ {
27
+ "type": "function",
28
+ "name": "convertToShares",
29
+ "inputs": [
30
+ {
31
+ "name": "asset",
32
+ "type": "address",
33
+ "internalType": "address"
34
+ },
35
+ {
36
+ "name": "amount",
37
+ "type": "uint256",
38
+ "internalType": "uint256"
39
+ }
40
+ ],
41
+ "outputs": [
42
+ {
43
+ "name": "",
44
+ "type": "uint256",
45
+ "internalType": "uint256"
46
+ }
47
+ ],
48
+ "stateMutability": "view"
49
+ },
50
+ {
51
+ "type": "function",
52
+ "name": "deposit",
53
+ "inputs": [
54
+ {
55
+ "name": "asset",
56
+ "type": "address",
57
+ "internalType": "address"
58
+ },
59
+ {
60
+ "name": "amount",
61
+ "type": "uint256",
62
+ "internalType": "uint256"
63
+ },
64
+ {
65
+ "name": "receiver",
66
+ "type": "address",
67
+ "internalType": "address"
68
+ },
69
+ {
70
+ "name": "mandateId",
71
+ "type": "bytes32",
72
+ "internalType": "bytes32"
73
+ }
74
+ ],
75
+ "outputs": [
76
+ {
77
+ "name": "shares",
78
+ "type": "uint256",
79
+ "internalType": "uint256"
80
+ }
81
+ ],
82
+ "stateMutability": "nonpayable"
83
+ },
84
+ {
85
+ "type": "function",
86
+ "name": "modeName",
87
+ "inputs": [],
88
+ "outputs": [
89
+ {
90
+ "name": "",
91
+ "type": "string",
92
+ "internalType": "string"
93
+ }
94
+ ],
95
+ "stateMutability": "pure"
96
+ },
97
+ {
98
+ "type": "function",
99
+ "name": "modeVersion",
100
+ "inputs": [],
101
+ "outputs": [
102
+ {
103
+ "name": "",
104
+ "type": "string",
105
+ "internalType": "string"
106
+ }
107
+ ],
108
+ "stateMutability": "pure"
109
+ },
110
+ {
111
+ "type": "function",
112
+ "name": "redeem",
113
+ "inputs": [
114
+ {
115
+ "name": "asset",
116
+ "type": "address",
117
+ "internalType": "address"
118
+ },
119
+ {
120
+ "name": "shares",
121
+ "type": "uint256",
122
+ "internalType": "uint256"
123
+ },
124
+ {
125
+ "name": "receiver",
126
+ "type": "address",
127
+ "internalType": "address"
128
+ }
129
+ ],
130
+ "outputs": [
131
+ {
132
+ "name": "assets",
133
+ "type": "uint256",
134
+ "internalType": "uint256"
135
+ }
136
+ ],
137
+ "stateMutability": "nonpayable"
138
+ },
139
+ {
140
+ "type": "function",
141
+ "name": "shareBalanceOf",
142
+ "inputs": [
143
+ {
144
+ "name": "asset",
145
+ "type": "address",
146
+ "internalType": "address"
147
+ },
148
+ {
149
+ "name": "user",
150
+ "type": "address",
151
+ "internalType": "address"
152
+ }
153
+ ],
154
+ "outputs": [
155
+ {
156
+ "name": "",
157
+ "type": "uint256",
158
+ "internalType": "uint256"
159
+ }
160
+ ],
161
+ "stateMutability": "view"
162
+ },
163
+ {
164
+ "type": "function",
165
+ "name": "totalAssets",
166
+ "inputs": [
167
+ {
168
+ "name": "asset",
169
+ "type": "address",
170
+ "internalType": "address"
171
+ }
172
+ ],
173
+ "outputs": [
174
+ {
175
+ "name": "",
176
+ "type": "uint256",
177
+ "internalType": "uint256"
178
+ }
179
+ ],
180
+ "stateMutability": "view"
181
+ },
182
+ {
183
+ "type": "function",
184
+ "name": "totalShares",
185
+ "inputs": [
186
+ {
187
+ "name": "asset",
188
+ "type": "address",
189
+ "internalType": "address"
190
+ }
191
+ ],
192
+ "outputs": [
193
+ {
194
+ "name": "",
195
+ "type": "uint256",
196
+ "internalType": "uint256"
197
+ }
198
+ ],
199
+ "stateMutability": "view"
200
+ },
201
+ {
202
+ "type": "event",
203
+ "name": "Deposit",
204
+ "inputs": [
205
+ {
206
+ "name": "sender",
207
+ "type": "address",
208
+ "indexed": true,
209
+ "internalType": "address"
210
+ },
211
+ {
212
+ "name": "receiver",
213
+ "type": "address",
214
+ "indexed": true,
215
+ "internalType": "address"
216
+ },
217
+ {
218
+ "name": "asset",
219
+ "type": "address",
220
+ "indexed": true,
221
+ "internalType": "address"
222
+ },
223
+ {
224
+ "name": "amount",
225
+ "type": "uint256",
226
+ "indexed": false,
227
+ "internalType": "uint256"
228
+ },
229
+ {
230
+ "name": "shares",
231
+ "type": "uint256",
232
+ "indexed": false,
233
+ "internalType": "uint256"
234
+ },
235
+ {
236
+ "name": "mandateId",
237
+ "type": "bytes32",
238
+ "indexed": false,
239
+ "internalType": "bytes32"
240
+ }
241
+ ],
242
+ "anonymous": false
243
+ },
244
+ {
245
+ "type": "event",
246
+ "name": "Redeem",
247
+ "inputs": [
248
+ {
249
+ "name": "sender",
250
+ "type": "address",
251
+ "indexed": true,
252
+ "internalType": "address"
253
+ },
254
+ {
255
+ "name": "receiver",
256
+ "type": "address",
257
+ "indexed": true,
258
+ "internalType": "address"
259
+ },
260
+ {
261
+ "name": "asset",
262
+ "type": "address",
263
+ "indexed": true,
264
+ "internalType": "address"
265
+ },
266
+ {
267
+ "name": "shares",
268
+ "type": "uint256",
269
+ "indexed": false,
270
+ "internalType": "uint256"
271
+ },
272
+ {
273
+ "name": "assets",
274
+ "type": "uint256",
275
+ "indexed": false,
276
+ "internalType": "uint256"
277
+ }
278
+ ],
279
+ "anonymous": false
280
+ }
281
+ ]
@@ -0,0 +1,87 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "getCompositeScoreView",
5
+ "inputs": [
6
+ {
7
+ "name": "asset",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ }
11
+ ],
12
+ "outputs": [
13
+ {
14
+ "name": "compositeScore",
15
+ "type": "uint256",
16
+ "internalType": "uint256"
17
+ },
18
+ {
19
+ "name": "modulesUsed",
20
+ "type": "uint256",
21
+ "internalType": "uint256"
22
+ }
23
+ ],
24
+ "stateMutability": "view"
25
+ },
26
+ {
27
+ "type": "function",
28
+ "name": "getEffectiveScore",
29
+ "inputs": [
30
+ {
31
+ "name": "asset",
32
+ "type": "address",
33
+ "internalType": "address"
34
+ }
35
+ ],
36
+ "outputs": [
37
+ {
38
+ "name": "score",
39
+ "type": "uint256",
40
+ "internalType": "uint256"
41
+ },
42
+ {
43
+ "name": "fresh",
44
+ "type": "bool",
45
+ "internalType": "bool"
46
+ }
47
+ ],
48
+ "stateMutability": "view"
49
+ },
50
+ {
51
+ "type": "event",
52
+ "name": "ScoreUpdated",
53
+ "inputs": [
54
+ {
55
+ "name": "asset",
56
+ "type": "address",
57
+ "indexed": true,
58
+ "internalType": "address"
59
+ },
60
+ {
61
+ "name": "previousScore",
62
+ "type": "uint256",
63
+ "indexed": false,
64
+ "internalType": "uint256"
65
+ },
66
+ {
67
+ "name": "newScore",
68
+ "type": "uint256",
69
+ "indexed": false,
70
+ "internalType": "uint256"
71
+ },
72
+ {
73
+ "name": "confidence",
74
+ "type": "uint256",
75
+ "indexed": false,
76
+ "internalType": "uint256"
77
+ },
78
+ {
79
+ "name": "timestamp",
80
+ "type": "uint256",
81
+ "indexed": false,
82
+ "internalType": "uint256"
83
+ }
84
+ ],
85
+ "anonymous": false
86
+ }
87
+ ]