axis-synome 0.1.dev184__py3-none-any.whl

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 (39) hide show
  1. axis_synome/__init__.py +0 -0
  2. axis_synome/_version.py +24 -0
  3. axis_synome/spec/__init__.py +0 -0
  4. axis_synome/spec/asc/README.md +419 -0
  5. axis_synome/spec/asc/entities/__init__.py +1 -0
  6. axis_synome/spec/asc/entities/assets.py +17 -0
  7. axis_synome/spec/asc/entities/assets_by_prime.py +618 -0
  8. axis_synome/spec/asc/entities/networks.py +15 -0
  9. axis_synome/spec/asc/entities/primes.py +96 -0
  10. axis_synome/spec/asc/entities/protocol_sets.py +68 -0
  11. axis_synome/spec/asc/entities/tokens.py +58 -0
  12. axis_synome/spec/asc/entities/types.py +15 -0
  13. axis_synome/spec/asc/formulas/asc.py +32 -0
  14. axis_synome/spec/asc/formulas/asc_collateral_ratio.py +53 -0
  15. axis_synome/spec/asc/formulas/asc_incentive.py +28 -0
  16. axis_synome/spec/asc/formulas/dab.py +30 -0
  17. axis_synome/spec/asc/formulas/latent_asc.py +39 -0
  18. axis_synome/spec/asc/formulas/ratio_latent_asc.py +40 -0
  19. axis_synome/spec/asc/formulas/resting_asc.py +56 -0
  20. axis_synome/spec/codegen_test/entities/agents.py +12 -0
  21. axis_synome/spec/crypto_lending/__init__.py +0 -0
  22. axis_synome/spec/crypto_lending/formulas/__init__.py +0 -0
  23. axis_synome/spec/crypto_lending/formulas/lif.py +43 -0
  24. axis_synome/spec/risk_capital/__init__.py +0 -0
  25. axis_synome/spec/risk_capital/formulas/__init__.py +0 -0
  26. axis_synome/spec/risk_capital/formulas/required_risk_capital.py +39 -0
  27. axis_synome/spec_support/__init__.py +0 -0
  28. axis_synome/spec_support/evm_address.py +48 -0
  29. axis_synome/spec_support/metadata.py +22 -0
  30. axis_synome/spec_support/validated_dataclass.py +36 -0
  31. axis_synome/spec_support/validated_str.py +40 -0
  32. axis_synome/spec_validator/__init__.py +5 -0
  33. axis_synome/spec_validator/checker.py +355 -0
  34. axis_synome/spec_validator/flake8_plugin.py +52 -0
  35. axis_synome/spec_validator/python_subset.py +106 -0
  36. axis_synome-0.1.dev184.dist-info/METADATA +73 -0
  37. axis_synome-0.1.dev184.dist-info/RECORD +39 -0
  38. axis_synome-0.1.dev184.dist-info/WHEEL +4 -0
  39. axis_synome-0.1.dev184.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,618 @@
1
+ from enum import StrEnum
2
+
3
+ from axis_synome.spec.asc.entities.assets import Asset
4
+ from axis_synome.spec.asc.entities.networks import Network
5
+ from axis_synome.spec.asc.entities.protocol_sets import Protocol
6
+ from axis_synome.spec.asc.entities.tokens import Token
7
+ from axis_synome.spec_support.evm_address import EvmAddress
8
+
9
+
10
+ class PrimeName(StrEnum):
11
+ GROVE = "Grove"
12
+ KEEL = "Keel"
13
+ LAUNCH_AGENT_6 = "Launch Agent 6"
14
+ LAUNCH_AGENT_7 = "Launch Agent 7"
15
+ OBEX = "Obex"
16
+ PATTERN = "Pattern"
17
+ SKYBASE = "Skybase"
18
+ SPARK = "Spark"
19
+
20
+
21
+ ASSETS_BY_PRIME: dict[PrimeName, list[Asset]] = {
22
+ PrimeName.GROVE: [
23
+ Asset(
24
+ token=Token.JAAA,
25
+ network=Network.AVALANCHE,
26
+ protocol=Protocol.CENTRIFUGE,
27
+ address=EvmAddress("0x1121F4e21eD8B9BC1BB9A2952cDD8639aC897784"),
28
+ source="A.6.1.1.2.2.6.1.3.2.1.2.2.2.1",
29
+ underlying_asset=Token.JAAA,
30
+ underlying_asset_address=EvmAddress("0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"),
31
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.2.1.2.2.2.2",
32
+ ),
33
+ Asset(
34
+ token=Token.JTRSY,
35
+ network=Network.AVALANCHE,
36
+ protocol=Protocol.CENTRIFUGE,
37
+ address=EvmAddress("0xFE6920eB6C421f1179cA8c8d4170530CDBdfd77A"),
38
+ source="A.6.1.1.2.2.6.1.3.2.1.1.2.2.1",
39
+ underlying_asset=Token.JTRSY,
40
+ underlying_asset_address=EvmAddress("0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"),
41
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.2.1.1.2.2.2",
42
+ ),
43
+ Asset(
44
+ token=Token.GROVE_BBQ_USDC,
45
+ network=Network.BASE,
46
+ protocol=Protocol.MORPHO,
47
+ address=EvmAddress("0xBeEf2d50B428675a1921bC6bBF4bfb9D8cF1461A"),
48
+ source="A.6.1.1.2.2.6.1.3.3.1.1.2.2.1",
49
+ underlying_asset=Token.GROVE_BBQ_USDC,
50
+ underlying_asset_address=EvmAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"),
51
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.3.1.1.2.2.2",
52
+ ),
53
+ Asset(
54
+ token=Token.STEAK_USDC,
55
+ network=Network.BASE,
56
+ protocol=Protocol.MORPHO,
57
+ address=EvmAddress("0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9"),
58
+ source="A.6.1.1.2.2.6.1.3.3.2.2.2.1",
59
+ underlying_asset=Token.STEAK_USDC,
60
+ underlying_asset_address=EvmAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"),
61
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.3.2.2.2.2",
62
+ ),
63
+ Asset(
64
+ token=Token.A_ETH_USDC,
65
+ network=Network.ETHEREUM_MAINNET,
66
+ protocol=Protocol.AAVE_CORE_V3,
67
+ address=EvmAddress("0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c"),
68
+ source="A.6.1.1.2.2.6.1.3.1.5.1.2.2.1",
69
+ underlying_asset=Token.A_ETH_USDC,
70
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
71
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.5.1.2.2.2",
72
+ ),
73
+ Asset(
74
+ token=Token.A_ETH_RLUSD,
75
+ network=Network.ETHEREUM_MAINNET,
76
+ protocol=Protocol.AAVE_CORE_V3,
77
+ address=EvmAddress("0xFa82580c16A31D0c1bC632A36F82e83EfEF3Eec0"),
78
+ source="A.6.1.1.2.2.6.1.3.1.5.2.2.2.1",
79
+ underlying_asset=Token.A_ETH_RLUSD,
80
+ underlying_asset_address=EvmAddress("0x8292Bb45bf1Ee4d140127049757C2E0fF06317eD"),
81
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.5.2.2.2.2",
82
+ ),
83
+ Asset(
84
+ token=Token.A_HOR_RWA_RLUSD,
85
+ network=Network.ETHEREUM_MAINNET,
86
+ protocol=Protocol.AAVE_HORIZON,
87
+ address=EvmAddress("0xE3190143Eb552456F88464662f0c0C4aC67A77eB"),
88
+ source="A.6.1.1.2.2.6.1.3.1.5.4.2.2.1",
89
+ underlying_asset=Token.A_HOR_RWA_RLUSD,
90
+ underlying_asset_address=EvmAddress("0x8292Bb45bf1Ee4d140127049757C2E0fF06317eD"),
91
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.5.4.2.2.2",
92
+ ),
93
+ Asset(
94
+ token=Token.A_HOR_RWA_USDC,
95
+ network=Network.ETHEREUM_MAINNET,
96
+ protocol=Protocol.AAVE_HORIZON,
97
+ address=EvmAddress("0x68215B6533c47ff9f7125aC95adf00fE4a62f79e"),
98
+ source="A.6.1.1.2.2.6.1.3.1.5.3.2.2.1",
99
+ underlying_asset=Token.A_HOR_RWA_USDC,
100
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
101
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.5.3.2.2.2",
102
+ ),
103
+ Asset(
104
+ token=Token.AUSD,
105
+ network=Network.ETHEREUM_MAINNET,
106
+ protocol=Protocol.AGORA_AUSD,
107
+ address=EvmAddress("0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"),
108
+ source="A.6.1.1.2.2.6.1.3.1.11.1.2.2.1",
109
+ underlying_asset=Token.AUSD,
110
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
111
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.11.1.2.2.2",
112
+ ),
113
+ Asset(
114
+ token=Token.BUIDL_I,
115
+ network=Network.ETHEREUM_MAINNET,
116
+ protocol=Protocol.BLACKROCK,
117
+ address=EvmAddress("0x6a9DA2D710BB9B700acde7Cb81F10F1fF8C89041"),
118
+ source="A.6.1.1.2.2.6.1.3.1.2.1.2.2.1",
119
+ underlying_asset=Token.BUIDL_I,
120
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
121
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.2.1.2.2.2",
122
+ ),
123
+ Asset(
124
+ token=Token.JAAA,
125
+ network=Network.ETHEREUM_MAINNET,
126
+ protocol=Protocol.CENTRIFUGE,
127
+ address=EvmAddress("0x4880799eE5200fC58DA299e965df644fBf46780B"),
128
+ source="A.6.1.1.2.2.6.1.3.1.1.2.2.2.1",
129
+ underlying_asset=Token.JAAA,
130
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
131
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.1.2.2.2.2",
132
+ ),
133
+ Asset(
134
+ token=Token.JTRSY,
135
+ network=Network.ETHEREUM_MAINNET,
136
+ protocol=Protocol.CENTRIFUGE,
137
+ address=EvmAddress("0xFE6920eB6C421f1179cA8c8d4170530CDBdfd77A"),
138
+ source="A.6.1.1.2.2.6.1.3.1.1.1.2.2.1",
139
+ underlying_asset=Token.JTRSY,
140
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
141
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.1.1.2.2.2",
142
+ ),
143
+ Asset(
144
+ token=Token.PT_S_USDE,
145
+ network=Network.ETHEREUM_MAINNET,
146
+ protocol=Protocol.ETHENA,
147
+ address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
148
+ source="A.6.1.1.2.2.6.1.3.1.4.4.2.2.1",
149
+ underlying_asset=Token.PT_S_USDE,
150
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
151
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.4.4.2.2.2",
152
+ ),
153
+ Asset(
154
+ token=Token.PT_USDE,
155
+ network=Network.ETHEREUM_MAINNET,
156
+ protocol=Protocol.ETHENA,
157
+ address=EvmAddress("0x4c9EDD5852cd905f086C759E8383e09bff1E68B3"),
158
+ source="A.6.1.1.2.2.6.1.3.1.4.3.2.2.1",
159
+ underlying_asset=Token.PT_USDE,
160
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
161
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.4.3.2.2.2",
162
+ ),
163
+ Asset(
164
+ token=Token.S_USDE,
165
+ network=Network.ETHEREUM_MAINNET,
166
+ protocol=Protocol.ETHENA_PROTOCOL,
167
+ address=EvmAddress("0x9D39A5DE30e57443BfF2A8307A4256c8797A3497"),
168
+ source="A.6.1.1.2.2.6.1.3.1.4.2.2.2.1",
169
+ underlying_asset=Token.S_USDE,
170
+ underlying_asset_address=EvmAddress("0x4c9EDD5852cd905f086C759E8383e09bff1E68B3"),
171
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.4.2.2.2.2",
172
+ ),
173
+ Asset(
174
+ token=Token.GROVE_BBQ_AUSD,
175
+ network=Network.ETHEREUM_MAINNET,
176
+ protocol=Protocol.GROVE_STEAKHOUSE_AUSD_MORPHO_VAULT,
177
+ address=EvmAddress("0xBEEfF0d672ab7F5018dFB614c93981045D4aA98a"),
178
+ source="A.6.1.1.2.2.6.1.3.1.7.5.2.2.1",
179
+ underlying_asset=Token.GROVE_BBQ_AUSD,
180
+ underlying_asset_address=EvmAddress("0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"),
181
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.7.5.2.2.2",
182
+ ),
183
+ Asset(
184
+ token=Token.GROVE_BBQ_USDC,
185
+ network=Network.ETHEREUM_MAINNET,
186
+ protocol=Protocol.GROVE_STEAKHOUSE_USDC_HIGH_YIELD_VAULT_V2,
187
+ address=EvmAddress("0xBeefF08dF54897e7544aB01d0e86f013DA354111"),
188
+ source="A.6.1.1.2.2.6.1.3.1.7.3.2.2.1",
189
+ underlying_asset=Token.GROVE_BBQ_USDC,
190
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
191
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.7.3.2.2.2",
192
+ ),
193
+ Asset(
194
+ token=Token.GROVE_BBQ_USDC,
195
+ network=Network.ETHEREUM_MAINNET,
196
+ protocol=Protocol.MORPHO,
197
+ address=EvmAddress("0xBEEf2B5FD3D94469b7782aeBe6364E6e6FB1B709"),
198
+ source="A.6.1.1.2.2.6.1.3.1.7.1.2.2.1",
199
+ underlying_asset=Token.GROVE_BBQ_USDC,
200
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
201
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.7.1.2.2.2",
202
+ ),
203
+ Asset(
204
+ token=Token.RLUSD,
205
+ network=Network.ETHEREUM_MAINNET,
206
+ protocol=Protocol.RIPPLE,
207
+ address=EvmAddress("0x8292Bb45bf1Ee4d140127049757C2E0fF06317eD"),
208
+ source="A.6.1.1.2.2.6.1.3.1.10.1.2.2.1",
209
+ underlying_asset=Token.RLUSD,
210
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
211
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.10.1.2.2.2",
212
+ ),
213
+ Asset(
214
+ token=Token.STAC,
215
+ network=Network.ETHEREUM_MAINNET,
216
+ protocol=Protocol.SECURITIZE,
217
+ address=EvmAddress("0x51C2d74017390CbBd30550179A16A1c28F7210fc"),
218
+ source="A.6.1.1.2.2.6.1.3.1.8.1.2.2.1",
219
+ underlying_asset=Token.STAC,
220
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
221
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.8.1.2.2.2",
222
+ ),
223
+ Asset(
224
+ token=Token.GROVE_BBQ_PYUSD,
225
+ network=Network.ETHEREUM_MAINNET,
226
+ protocol=Protocol.STEAKHOUSE_PYUSD_MORPHO_VAULT,
227
+ address=EvmAddress("0xd8A6511979D9C5D387c819E9F8ED9F3a5C6c5379"),
228
+ source="A.6.1.1.2.2.6.1.3.1.7.4.2.2.1",
229
+ underlying_asset=Token.GROVE_BBQ_PYUSD,
230
+ underlying_asset_address=EvmAddress("0x6c3ea9036406852006290770BEdFcAbA0e23A0e8"),
231
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.1.7.4.2.2.2",
232
+ ),
233
+ Asset(
234
+ token=Token.USDT_0,
235
+ network=Network.PLASMA,
236
+ protocol=Protocol.AAVE_V3,
237
+ address=EvmAddress("0x5D72a9d9A9510Cd8cBdBA12aC62593A58930a948"),
238
+ source="A.6.1.1.2.2.6.1.3.4.1.1.2.2.1",
239
+ underlying_asset=Token.USDT_0,
240
+ underlying_asset_address=EvmAddress("0x8292Bb45bf1Ee4d140127049757C2E0fF06317eD"),
241
+ underlying_asset_source="A.6.1.1.2.2.6.1.3.4.1.1.2.2.2",
242
+ ),
243
+ ],
244
+ PrimeName.OBEX: [
245
+ Asset(
246
+ token=Token.SYRUP_USDC,
247
+ network=Network.ETHEREUM_MAINNET,
248
+ protocol=Protocol.MAPLE,
249
+ address=EvmAddress("0x80ac24aA929eaF5013f6436cdA2a7ba190f5Cc0b"),
250
+ source="A.6.1.1.5.2.6.1.3.1.1.1.2.2.1",
251
+ underlying_asset=Token.SYRUP_USDC,
252
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
253
+ underlying_asset_source="A.6.1.1.5.2.6.1.3.1.1.1.2.2.2",
254
+ ),
255
+ ],
256
+ PrimeName.SPARK: [
257
+ Asset(
258
+ token=Token.A_ARB_USDCN,
259
+ network=Network.ARBITRUM,
260
+ protocol=Protocol.AAVE,
261
+ address=EvmAddress("0x724dc807b04555b71ed48a6896b6F41593b8C637"),
262
+ source="A.6.1.1.1.2.6.1.3.3.2.1.2.2.1",
263
+ underlying_asset=Token.USDC,
264
+ underlying_asset_address=EvmAddress("0xaf88d065e77c8cC2239327C5EDb3A432268e5831"),
265
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.3.2.1.2.2.2",
266
+ ),
267
+ Asset(
268
+ token=Token.FS_USDS,
269
+ network=Network.ARBITRUM,
270
+ protocol=Protocol.FLUID_FINANCE_ERC4626_VAULT,
271
+ address=EvmAddress("0x3459fcc94390C3372c0F7B4cD3F8795F0E5aFE96"),
272
+ source="A.6.1.1.1.2.6.1.3.3.1.1.2.2.1",
273
+ underlying_asset=Token.S_USDS,
274
+ underlying_asset_address=EvmAddress("0xdDb46999F8891663a8F2828d25298f70416d7610"),
275
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.3.1.1.2.2.2",
276
+ ),
277
+ Asset(
278
+ token=Token.A_AVAX_USDC,
279
+ network=Network.AVALANCHE,
280
+ protocol=Protocol.AAVE,
281
+ address=EvmAddress("0x625E7708f30cA75bfd92586e17077590C60eb4cD"),
282
+ source="A.6.1.1.1.2.6.1.3.4.1.1.2.2.1",
283
+ underlying_asset=Token.USDC,
284
+ underlying_asset_address=EvmAddress("0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"),
285
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.4.1.1.2.2.2",
286
+ ),
287
+ Asset(
288
+ token=Token.SP_USDC,
289
+ network=Network.AVALANCHE,
290
+ protocol=Protocol.SPARK_SAVINGS_PROTOCOL,
291
+ address=EvmAddress("0x28B3a8fb53B741A8Fd78c0fb9A6B2393d896a43d"),
292
+ source="A.6.1.1.1.2.6.1.3.4.2.1.2.2.1",
293
+ underlying_asset=Token.SP_USDC,
294
+ underlying_asset_address=EvmAddress("0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"),
295
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.4.2.1.2.2.2",
296
+ ),
297
+ Asset(
298
+ token=Token.A_BAS_USDC,
299
+ network=Network.BASE,
300
+ protocol=Protocol.AAVE,
301
+ address=EvmAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"),
302
+ source="A.6.1.1.1.2.6.1.3.2.3.1.2.2.1",
303
+ underlying_asset=Token.USDC,
304
+ underlying_asset_address=EvmAddress("0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB"),
305
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.2.3.1.2.2.2",
306
+ ),
307
+ Asset(
308
+ token=Token.FS_USDS,
309
+ network=Network.BASE,
310
+ protocol=Protocol.FLUID_FINANCE_ERC4626_VAULT,
311
+ address=EvmAddress("0xf62e339f21d8018940f188F6987Bcdf02A849619"),
312
+ source="A.6.1.1.1.2.6.1.3.2.2.1.2.2.1",
313
+ underlying_asset=Token.S_USDS,
314
+ underlying_asset_address=EvmAddress("0x5875eEE11Cf8398102FdAd704C9E96607675467a"),
315
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.2.2.1.2.2.2",
316
+ ),
317
+ Asset(
318
+ token=Token.SPARK_USDC,
319
+ network=Network.BASE,
320
+ protocol=Protocol.MORPHO_BLUE_ERC4626_VAULT,
321
+ address=EvmAddress("0x7BfA7C4f149E7415b73bdeDfe609237e29CBF34A"),
322
+ source="A.6.1.1.1.2.6.1.3.2.1.1.2.2.1",
323
+ underlying_asset=Token.USDC,
324
+ underlying_asset_address=EvmAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"),
325
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.2.1.1.2.2.2",
326
+ ),
327
+ Asset(
328
+ token=Token.A_ETH_USDC,
329
+ network=Network.ETHEREUM_MAINNET,
330
+ protocol=Protocol.AAVE_CORE,
331
+ address=EvmAddress("0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c"),
332
+ source="A.6.1.1.1.2.6.1.3.1.2.2.2.2.1",
333
+ underlying_asset=Token.USDC,
334
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
335
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.2.2.2.2.2",
336
+ ),
337
+ Asset(
338
+ token=Token.A_ETH_USDE,
339
+ network=Network.ETHEREUM_MAINNET,
340
+ protocol=Protocol.AAVE_CORE,
341
+ address=EvmAddress("0x4F5923Fc5FD4a93352581b38B7cD26943012DECF"),
342
+ source="A.6.1.1.1.2.6.1.3.1.2.5.2.2.1",
343
+ underlying_asset=Token.USDE,
344
+ underlying_asset_address=EvmAddress("0x4c9EDD5852cd905f086C759E8383e09bff1E68B3"),
345
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.2.5.2.2.2",
346
+ ),
347
+ Asset(
348
+ token=Token.A_ETH_USDS,
349
+ network=Network.ETHEREUM_MAINNET,
350
+ protocol=Protocol.AAVE_CORE,
351
+ address=EvmAddress("0x32a6268f9Ba3642Dda7892aDd74f1D34469A4259"),
352
+ source="A.6.1.1.1.2.6.1.3.1.2.3.2.2.1",
353
+ underlying_asset=Token.USDS,
354
+ underlying_asset_address=EvmAddress("0xdC035D45d973E3EC169d2276DDab16f1e407384F"),
355
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.2.3.2.2.2",
356
+ ),
357
+ Asset(
358
+ token=Token.A_ETH_USDT,
359
+ network=Network.ETHEREUM_MAINNET,
360
+ protocol=Protocol.AAVE_CORE,
361
+ address=EvmAddress("0x23878914EFE38d27C4D67Ab83ed1b93A74D4086a"),
362
+ source="A.6.1.1.1.2.6.1.3.1.2.4.2.2.1",
363
+ underlying_asset=Token.USDT,
364
+ underlying_asset_address=EvmAddress("0xdAC17F958D2ee523a2206206994597C13D831ec7"),
365
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.2.4.2.2.2",
366
+ ),
367
+ Asset(
368
+ token=Token.A_ETH_LIDO_USDS,
369
+ network=Network.ETHEREUM_MAINNET,
370
+ protocol=Protocol.AAVE_PRIME,
371
+ address=EvmAddress("0x09AA30b182488f769a9824F15E6Ce58591Da4781"),
372
+ source="A.6.1.1.1.2.6.1.3.1.2.1.2.2.1",
373
+ underlying_asset=Token.USDS,
374
+ underlying_asset_address=EvmAddress("0xdC035D45d973E3EC169d2276DDab16f1e407384F"),
375
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.2.1.2.2.2",
376
+ ),
377
+ Asset(
378
+ token=Token.SP_USDC,
379
+ network=Network.ETHEREUM_MAINNET,
380
+ protocol=Protocol.ARKIS,
381
+ address=EvmAddress("0x377C3bd93f2a2984E1E7bE6A5C22c525eD4A4815"),
382
+ source="A.6.1.1.1.2.6.1.3.1.10.1.2.2.1",
383
+ underlying_asset=Token.USDC,
384
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
385
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.10.1.2.2.2",
386
+ ),
387
+ Asset(
388
+ token=Token.BUIDL_I,
389
+ network=Network.ETHEREUM_MAINNET,
390
+ protocol=Protocol.BLACKROCK,
391
+ address=EvmAddress("0x6a9DA2D710BB9B700acde7Cb81F10F1fF8C89041"),
392
+ source="A.6.1.1.1.2.6.1.4.1.1.2.2.1",
393
+ underlying_asset=Token.USDC,
394
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
395
+ underlying_asset_source="A.6.1.1.1.2.6.1.4.1.1.2.2.2",
396
+ ),
397
+ Asset(
398
+ token=Token.JTRSY,
399
+ network=Network.ETHEREUM_MAINNET,
400
+ protocol=Protocol.CENTRIFUGE,
401
+ address=EvmAddress("0x8c213ee79581Ff4984583C6a801e5263418C4b86"),
402
+ source="A.6.1.1.1.2.6.1.4.2.1.2.2.1",
403
+ underlying_asset=Token.USDC,
404
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
405
+ underlying_asset_source="A.6.1.1.1.2.6.1.4.2.1.2.2.2",
406
+ ),
407
+ Asset(
408
+ token=Token.CRV_2_POOL,
409
+ network=Network.ETHEREUM_MAINNET,
410
+ protocol=Protocol.CURVE,
411
+ address=EvmAddress("0x4f493B7dE8aAC7d55F71853688b1F7C8F0243C85"),
412
+ source="A.6.1.1.1.2.6.1.3.1.7.2.2.2.1",
413
+ underlying_asset=Token.CRV_2_POOL,
414
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
415
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.7.2.2.2.3",
416
+ ),
417
+ Asset(
418
+ token=Token.CRV_2_POOL,
419
+ network=Network.ETHEREUM_MAINNET,
420
+ protocol=Protocol.CURVE,
421
+ address=EvmAddress("0xDB74dfDD3BB46bE8Ce6C33dC9D82777BCFc3dEd5"),
422
+ source="A.6.1.1.1.2.6.1.3.1.7.5.2.2.1",
423
+ underlying_asset=Token.CRV_2_POOL,
424
+ underlying_asset_address=EvmAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),
425
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.7.5.2.2.3",
426
+ ),
427
+ Asset(
428
+ token=Token.S_USDS_USDT,
429
+ network=Network.ETHEREUM_MAINNET,
430
+ protocol=Protocol.CURVE,
431
+ address=EvmAddress("0x00836Fe54625BE242BcFA286207795405ca4fD10"),
432
+ source="A.6.1.1.1.2.6.1.3.1.7.1.2.2.1",
433
+ underlying_asset=Token.USDT,
434
+ underlying_asset_address=EvmAddress("0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD"),
435
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.7.1.2.2.3",
436
+ ),
437
+ Asset(
438
+ token=Token.S_USDE,
439
+ network=Network.ETHEREUM_MAINNET,
440
+ protocol=Protocol.ETHENA_PROTOCOL,
441
+ address=EvmAddress("0x9D39A5DE30e57443BfF2A8307A4256c8797A3497"),
442
+ source="A.6.1.1.1.2.6.1.3.1.4.2.2.2.1",
443
+ underlying_asset=Token.USDE,
444
+ underlying_asset_address=EvmAddress("0x4c9EDD5852cd905f086C759E8383e09bff1E68B3"),
445
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.4.2.2.2.2",
446
+ ),
447
+ Asset(
448
+ token=Token.FS_USDS,
449
+ network=Network.ETHEREUM_MAINNET,
450
+ protocol=Protocol.FLUID_FINANCE_ERC4626_VAULT,
451
+ address=EvmAddress("0x2BBE31d63E6813E3AC858C04dae43FB2a72B0D11"),
452
+ source="A.6.1.1.1.2.6.1.3.1.5.1.2.2.1",
453
+ underlying_asset=Token.S_USDS,
454
+ underlying_asset_address=EvmAddress("0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD"),
455
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.5.1.2.2.2",
456
+ ),
457
+ Asset(
458
+ token=Token.SYRUP_USDC,
459
+ network=Network.ETHEREUM_MAINNET,
460
+ protocol=Protocol.MAPLE,
461
+ address=EvmAddress("0x80ac24aA929eaF5013f6436cdA2a7ba190f5Cc0b"),
462
+ source="A.6.1.1.1.2.6.1.3.1.3.1.2.2.1",
463
+ underlying_asset=Token.USDC,
464
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
465
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.3.1.2.2.2",
466
+ ),
467
+ Asset(
468
+ token=Token.SYRUP_USDT,
469
+ network=Network.ETHEREUM_MAINNET,
470
+ protocol=Protocol.MAPLE,
471
+ address=EvmAddress("0x356B8d89c1e1239Cbbb9dE4815c39A1474d5BA7D"),
472
+ source="A.6.1.1.1.2.6.1.3.1.3.2.2.2.1",
473
+ underlying_asset=Token.USDT,
474
+ underlying_asset_address=EvmAddress("0xdAC17F958D2ee523a2206206994597C13D831ec7"),
475
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.3.2.2.2.2",
476
+ ),
477
+ Asset(
478
+ token=Token.SPARK_USDC_BC,
479
+ network=Network.ETHEREUM_MAINNET,
480
+ protocol=Protocol.MORPHO,
481
+ address=EvmAddress("0x56A76b428244a50513ec81e225a293d128fd581D"),
482
+ source="A.6.1.1.1.2.6.1.3.1.8.3.2.2.1",
483
+ underlying_asset=Token.USDC,
484
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
485
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.8.3.2.2.2",
486
+ ),
487
+ Asset(
488
+ token=Token.SPARK_USDS,
489
+ network=Network.ETHEREUM_MAINNET,
490
+ protocol=Protocol.MORPHO,
491
+ address=EvmAddress("0xe41a0583334f0dc4E023Acd0bFef3667F6FE0597"),
492
+ source="A.6.1.1.1.2.6.1.3.1.8.2.2.2.1",
493
+ underlying_asset=Token.USDS,
494
+ underlying_asset_address=EvmAddress("0xdC035D45d973E3EC169d2276DDab16f1e407384F"),
495
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.8.2.2.2.2",
496
+ ),
497
+ Asset(
498
+ token=Token.SP_DAI,
499
+ network=Network.ETHEREUM_MAINNET,
500
+ protocol=Protocol.MORPHO,
501
+ address=EvmAddress("0x73e65DBD630f90604062f6E02fAb9138e713edD9"),
502
+ source="A.6.1.1.1.2.6.1.3.1.8.1.2.2.1",
503
+ underlying_asset=Token.DAI,
504
+ underlying_asset_address=EvmAddress("0x6B175474E89094C44Da98b954EedeAC495271d0F"),
505
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.8.1.2.2.2",
506
+ ),
507
+ Asset(
508
+ token=Token.SP_DAI,
509
+ network=Network.ETHEREUM_MAINNET,
510
+ protocol=Protocol.SPARKLEND_PROTOCOL,
511
+ address=EvmAddress("0x4DEDf26112B3Ec8eC46e7E31EA5e123490B05B8B"),
512
+ source="A.6.1.1.1.2.6.1.3.1.1.3.2.2.1",
513
+ underlying_asset=Token.DAI,
514
+ underlying_asset_address=EvmAddress("0x6B175474E89094C44Da98b954EedeAC495271d0F"),
515
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.1.3.2.2.2",
516
+ ),
517
+ Asset(
518
+ token=Token.SP_PY_USD,
519
+ network=Network.ETHEREUM_MAINNET,
520
+ protocol=Protocol.SPARKLEND_PROTOCOL,
521
+ address=EvmAddress("0x779224df1c756b4EDD899854F32a53E8c2B2ce5d"),
522
+ source="A.6.1.1.1.2.6.1.3.1.1.5.2.2.1",
523
+ underlying_asset=Token.PYUSD,
524
+ underlying_asset_address=EvmAddress("0x6c3ea9036406852006290770BEdFcAbA0e23A0e8"),
525
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.1.5.2.2.2",
526
+ ),
527
+ Asset(
528
+ token=Token.SP_USDC,
529
+ network=Network.ETHEREUM_MAINNET,
530
+ protocol=Protocol.SPARKLEND_PROTOCOL,
531
+ address=EvmAddress("0x377C3bd93f2a2984E1E7bE6A5C22c525eD4A4815"),
532
+ source="A.6.1.1.1.2.6.1.3.1.1.2.2.2.1",
533
+ underlying_asset=Token.USDC,
534
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
535
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.1.2.2.2.2",
536
+ ),
537
+ Asset(
538
+ token=Token.SP_USDS,
539
+ network=Network.ETHEREUM_MAINNET,
540
+ protocol=Protocol.SPARKLEND_PROTOCOL,
541
+ address=EvmAddress("0xC02aB1A5eaA8d1B114EF786D9bde108cD4364359"),
542
+ source="A.6.1.1.1.2.6.1.3.1.1.1.2.2.1",
543
+ underlying_asset=Token.USDS,
544
+ underlying_asset_address=EvmAddress("0xdC035D45d973E3EC169d2276DDab16f1e407384F"),
545
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.1.1.2.2.2",
546
+ ),
547
+ Asset(
548
+ token=Token.SP_USDT,
549
+ network=Network.ETHEREUM_MAINNET,
550
+ protocol=Protocol.SPARKLEND_PROTOCOL,
551
+ address=EvmAddress("0xe7dF13b8e3d6740fe17CBE928C7334243d86c92f"),
552
+ source="A.6.1.1.1.2.6.1.3.1.1.4.2.2.1",
553
+ underlying_asset=Token.USDT,
554
+ underlying_asset_address=EvmAddress("0xdAC17F958D2ee523a2206206994597C13D831ec7"),
555
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.1.4.2.2.2",
556
+ ),
557
+ Asset(
558
+ token=Token.SP_WETH,
559
+ network=Network.ETHEREUM_MAINNET,
560
+ protocol=Protocol.SPARKLEND_PROTOCOL,
561
+ address=EvmAddress("0x59cD1C87501baa753d0B5B5Ab5D8416A45cD71DB"),
562
+ source="A.6.1.1.1.2.6.1.3.1.1.6.2.2.1",
563
+ underlying_asset=Token.WETH,
564
+ underlying_asset_address=EvmAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),
565
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.1.6.2.2.2",
566
+ ),
567
+ Asset(
568
+ token=Token.SP_ETH,
569
+ network=Network.ETHEREUM_MAINNET,
570
+ protocol=Protocol.SPARK_SAVINGS_PROTOCOL,
571
+ address=EvmAddress("0xfE6eb3b609a7C8352A241f7F3A21CEA4e9209B8f"),
572
+ source="A.6.1.1.1.2.6.1.3.1.9.1.2.2.1",
573
+ underlying_asset=Token.SP_ETH,
574
+ underlying_asset_address=EvmAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),
575
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.9.1.2.2.2",
576
+ ),
577
+ Asset(
578
+ token=Token.SP_PYUSD,
579
+ network=Network.ETHEREUM_MAINNET,
580
+ protocol=Protocol.SPARK_SAVINGS_PROTOCOL,
581
+ address=EvmAddress("0x80128DbB9f07b93DDE62A6daeadb69ED14a7D354"),
582
+ source="A.6.1.1.1.2.6.1.3.1.9.4.2.2.1",
583
+ underlying_asset=Token.SP_PYUSD,
584
+ underlying_asset_address=EvmAddress("0x6c3ea9036406852006290770BEdFcAbA0e23A0e8"),
585
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.9.4.2.2.2",
586
+ ),
587
+ Asset(
588
+ token=Token.SP_USDC,
589
+ network=Network.ETHEREUM_MAINNET,
590
+ protocol=Protocol.SPARK_SAVINGS_PROTOCOL,
591
+ address=EvmAddress("0x28B3a8fb53B741A8Fd78c0fb9A6B2393d896a43d"),
592
+ source="A.6.1.1.1.2.6.1.3.1.9.2.2.2.1",
593
+ underlying_asset=Token.SP_USDC,
594
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
595
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.9.2.2.2.2",
596
+ ),
597
+ Asset(
598
+ token=Token.SP_USDT,
599
+ network=Network.ETHEREUM_MAINNET,
600
+ protocol=Protocol.SPARK_SAVINGS_PROTOCOL,
601
+ address=EvmAddress("0xe2e7a17dFf93280dec073C995595155283e3C372"),
602
+ source="A.6.1.1.1.2.6.1.3.1.9.3.2.2.1",
603
+ underlying_asset=Token.SP_USDT,
604
+ underlying_asset_address=EvmAddress("0xdAC17F958D2ee523a2206206994597C13D831ec7"),
605
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.9.3.2.2.2",
606
+ ),
607
+ Asset(
608
+ token=Token.USTB,
609
+ network=Network.ETHEREUM_MAINNET,
610
+ protocol=Protocol.SUPERSTATE,
611
+ address=EvmAddress("0x43415eB6ff9DB7E26A15b704e7A3eDCe97d31C4e"),
612
+ source="A.6.1.1.1.2.6.1.3.1.6.1.2.2.1",
613
+ underlying_asset=Token.USDC,
614
+ underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
615
+ underlying_asset_source="A.6.1.1.1.2.6.1.3.1.6.1.2.2.2",
616
+ ),
617
+ ],
618
+ }
@@ -0,0 +1,15 @@
1
+ from enum import Enum
2
+
3
+
4
+ class Network(Enum):
5
+ ETHEREUM_MAINNET = "Ethereum Mainnet"
6
+ BASE = "Base"
7
+ ARBITRUM = "Arbitrum"
8
+ OPTIMISM = "Optimism"
9
+ UNICHAIN = "Unichain"
10
+ AVALANCHE = "Avalanche"
11
+ PLASMA = "Plasma"
12
+
13
+
14
+ # L2 networks: all networks that are not Ethereum mainnet.
15
+ L2_NETWORKS = {Network.BASE, Network.ARBITRUM, Network.OPTIMISM, Network.UNICHAIN}