axis-synome 0.1.0.dev68__tar.gz → 0.1.0.dev69__tar.gz
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.
- {axis_synome-0.1.0.dev68/src/axis_synome.egg-info → axis_synome-0.1.0.dev69}/PKG-INFO +1 -1
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/_version.py +2 -2
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/export_entities.py +19 -17
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/alm_proxies.py +11 -10
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/assets_by_prime.py +40 -30
- axis_synome-0.1.0.dev69/src/axis_synome/spec/asc/entities/assets_missing_from_atlas.py +565 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/protocol_sets.py +45 -1
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69/src/axis_synome.egg-info}/PKG-INFO +1 -1
- axis_synome-0.1.0.dev68/src/axis_synome/spec/asc/entities/assets_missing_from_atlas.py +0 -414
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/.flake8 +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/AGENTS.md +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/CLAUDE.md +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/README.md +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/WRITING_SPECS.md +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/examples/01_prime_basics.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/examples/02_assets_and_tokens_of_a_prime.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/examples/03_inverse_lookups.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/examples/04_atlas_provenance.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/examples/05_feeding_a_formula.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/examples/README.md +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/pyproject.toml +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/setup.cfg +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/all_entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/all_entities/lending_markets.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/asset_categories.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/assets.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/networks.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/primes.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/tokens.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/types.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/formulas/asc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/formulas/asc_collateral_ratio.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/formulas/asc_incentive.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/formulas/dab.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/formulas/latent_asc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/formulas/ratio_latent_asc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/formulas/resting_asc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/codegen_test/entities/agents.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/crypto_lending/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/crypto_lending/formulas/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/crypto_lending/formulas/lif.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/entities/audit_firms.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/entities/capital_types.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/entities/protocol_risk.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/entities/risk_categories.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/entities/smart_contract_risk.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/administrative_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/administrative_rrc/administrative_risk.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/aggregate_rrc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/audit_factor.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/capital_composition.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/entities/lending_protocol.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/entities/precomputed_crr.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/examples/risk_capital_walkthrough.ipynb +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/financial_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/financial_rrc/entities.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/financial_rrc/perpetual_positions.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/asset_correlation_coefficient.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/capital_requirement_without_buffers.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/exposure_caps.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/fixed_crr_rrc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/instance_financial_rrc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/lending_rrc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/pipeline.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/precomputed_crr_rrc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/probability_of_default.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/formulas/required_risk_capital.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/instance_rrc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/jrc_loss_allocation.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/lindy_factor.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/smart_contract_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/smart_contract_rrc/exceptions.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/smart_contract_rrc/smart_contract_risk.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/risk_capital/total_risk_capital.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/suraf/README.md +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/suraf/entities/assessor_score.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/suraf/entities/assets.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/suraf/entities/mappings.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/suraf/formulas/crr.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/suraf/formulas/scoring.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_inspect/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_inspect/__main__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_inspect/cli.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/correlation_matrix.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/evm_address.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/math_protocol.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/pendle_validation.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/references/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/references/graph.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/runtime/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/runtime/base.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/runtime/math.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/runtime/reference.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/validated_dataclass.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_support/validated_str.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_validator/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_validator/check_source_uuids.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_validator/checker.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_validator/flake8_plugin.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec_validator/python_subset.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome.egg-info/SOURCES.txt +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome.egg-info/dependency_links.txt +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome.egg-info/entry_points.txt +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome.egg-info/requires.txt +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome.egg-info/top_level.txt +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/conftest.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/mocks.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_alm_proxies.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_asc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_asc_collateral_ratio.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_asc_incentive.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_asset_categories.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_dab.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_evm_address.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_latent_asc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_prime_agent_data_validation.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_ratio_latent_asc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/asc/test_resting_asc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/administrative_rrc/test_administrative_risk.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/financial_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/financial_rrc/test_lending_rrc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/financial_rrc/test_perpetual_positions.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/formulas/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/formulas/test_correlation_matrix.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/formulas/test_loss_given_default.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/smart_contract_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/smart_contract_rrc/test_exceptions.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/smart_contract_rrc/test_smart_contract_risk.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/test_a321_a322_integration.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/test_aggregate_rrc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/test_capital_composition.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/test_instance_rrc.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/test_jrc_loss_allocation.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/risk_capital/test_total_risk_capital.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/scripts/test_export_entities.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_inspect/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_inspect/test_cli.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_support/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_support/references/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_support/references/test_graph.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_support/runtime/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_support/runtime/test_base.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_support/runtime/test_math.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_validator/test_check_source_uuids.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_validator/test_checker.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/spec_validator/test_flake8_plugin.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/entities/test_assessor_score.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/formulas/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/formulas/test_crr.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/formulas/test_scoring.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/static/aave_ausdc/v1/crr_mapping.csv +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/static/aave_ausdc/v1/penalty.csv +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/static/aave_ausdc/v1/scorecards/Assessor_1_scores.csv +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/static/aave_ausdc/v1/scorecards/Assessor_2_scores.csv +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/static/aave_ausdc/v1/scorecards/Assessor_3_scores.csv +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/static/aave_ausdc/v1/weights.csv +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/suraf_client/__init__.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/suraf_client/suraf_client.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/suraf/suraf_client/test_suraf_client.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/tests/axis_synome/test_examples.py +0 -0
- {axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/uv.lock +0 -0
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.1.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 1, 0, '
|
|
21
|
+
__version__ = version = '0.1.0.dev69'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 0, 'dev69')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -25,7 +25,9 @@ from axis_synome.spec.asc.entities.protocol_sets import (
|
|
|
25
25
|
L1_PSM_PROTOCOLS,
|
|
26
26
|
L2_PSM_PROTOCOLS,
|
|
27
27
|
UNISWAP_STYLE_PROTOCOLS,
|
|
28
|
+
AllocationType,
|
|
28
29
|
Protocol,
|
|
30
|
+
TokenType,
|
|
29
31
|
)
|
|
30
32
|
|
|
31
33
|
# Proxy roles. "alm" is the canonical ALM Proxy holding operational allocation
|
|
@@ -60,8 +62,8 @@ class TokenEntryModel(BaseModel):
|
|
|
60
62
|
star: str
|
|
61
63
|
chain: str
|
|
62
64
|
protocol: str
|
|
63
|
-
allocation_type:
|
|
64
|
-
token_type:
|
|
65
|
+
allocation_type: AllocationType
|
|
66
|
+
token_type: TokenType
|
|
65
67
|
|
|
66
68
|
|
|
67
69
|
class AssetsByPrimeContainer(BaseModel):
|
|
@@ -120,39 +122,39 @@ def _prime_to_star(prime: PrimeName | str) -> str:
|
|
|
120
122
|
return text.lower().replace(" ", "-")
|
|
121
123
|
|
|
122
124
|
|
|
123
|
-
def _token_type(protocol: Protocol, chain: str, token_name: str) ->
|
|
125
|
+
def _token_type(protocol: Protocol, chain: str, token_name: str) -> TokenType:
|
|
124
126
|
if protocol in ATOKEN_PROTOCOLS:
|
|
125
|
-
return
|
|
127
|
+
return TokenType.ATOKEN
|
|
126
128
|
|
|
127
129
|
if protocol in ERC4626_PROTOCOLS:
|
|
128
|
-
return
|
|
130
|
+
return TokenType.ERC4626
|
|
129
131
|
|
|
130
132
|
if protocol == Protocol.CURVE:
|
|
131
|
-
return
|
|
133
|
+
return TokenType.CURVE
|
|
132
134
|
|
|
133
135
|
if protocol in UNISWAP_STYLE_PROTOCOLS:
|
|
134
136
|
if "LP" in token_name.upper():
|
|
135
|
-
return
|
|
136
|
-
return
|
|
137
|
+
return TokenType.UNI_V3_LP
|
|
138
|
+
return TokenType.UNI_V3_POOL
|
|
137
139
|
|
|
138
140
|
if protocol == Protocol.CENTRIFUGE:
|
|
139
141
|
if chain == "plume":
|
|
140
|
-
return
|
|
141
|
-
return
|
|
142
|
+
return TokenType.CENTRIFUGE_FEEDER
|
|
143
|
+
return TokenType.CENTRIFUGE
|
|
142
144
|
|
|
143
145
|
if protocol == Protocol.ANCHORAGE:
|
|
144
|
-
return
|
|
146
|
+
return TokenType.ANCHORAGE
|
|
145
147
|
|
|
146
148
|
if protocol in L1_PSM_PROTOCOLS | L2_PSM_PROTOCOLS:
|
|
147
|
-
return
|
|
149
|
+
return TokenType.PSM3
|
|
148
150
|
|
|
149
|
-
return
|
|
151
|
+
return TokenType.ERC20
|
|
150
152
|
|
|
151
153
|
|
|
152
|
-
def _allocation_type(protocol: Protocol) ->
|
|
154
|
+
def _allocation_type(protocol: Protocol) -> AllocationType:
|
|
153
155
|
if protocol in L1_PSM_PROTOCOLS | L2_PSM_PROTOCOLS:
|
|
154
|
-
return
|
|
155
|
-
return
|
|
156
|
+
return AllocationType.PSM3
|
|
157
|
+
return AllocationType.ALLOCATION
|
|
156
158
|
|
|
157
159
|
|
|
158
160
|
def _version_from_package_metadata() -> str:
|
|
@@ -297,7 +299,7 @@ def build_axis_synome_contract(
|
|
|
297
299
|
),
|
|
298
300
|
"star": star,
|
|
299
301
|
"chain": chain,
|
|
300
|
-
"protocol": missing.protocol,
|
|
302
|
+
"protocol": _slug(missing.protocol.value) if missing.protocol is not None else "",
|
|
301
303
|
"allocation_type": missing.allocation_type,
|
|
302
304
|
"token_type": missing.token_type,
|
|
303
305
|
})
|
{axis_synome-0.1.0.dev68 → axis_synome-0.1.0.dev69}/src/axis_synome/spec/asc/entities/alm_proxies.py
RENAMED
|
@@ -209,18 +209,19 @@ class AlmProxy(Enum):
|
|
|
209
209
|
GROVE_MONAD = GROVE_MONAD_ALM_PROXY
|
|
210
210
|
|
|
211
211
|
|
|
212
|
-
|
|
213
|
-
# must still be tracked by downstream consumers. The canonical ALM Proxy holds
|
|
214
|
-
# the operational allocation positions; these SubProxy ("risk capital" /
|
|
215
|
-
# treasury) wallets hold capital separately and are exported alongside the ALM
|
|
216
|
-
# Proxy for the same (Prime, Network) rather than replacing it.
|
|
217
|
-
STL_ADDITIONAL_PROXIES: Final[dict[tuple[PrimeAgent, Network], list[str]]] = {
|
|
218
|
-
# Spark SubProxy — Atlas A.6.1.1.1.2.1.1.3.1.1.2.
|
|
212
|
+
STL_ADDITIONAL_PROXIES: Final[dict[tuple[PrimeAgent, Network], list[EvmAddress]]] = {
|
|
219
213
|
(PrimeAgent.SPARK, Network.ETHEREUM_MAINNET): [
|
|
220
|
-
"
|
|
214
|
+
EvmAddress("0x3300f198988e4C9C63F75dF86De36421f06af8c4"),
|
|
221
215
|
],
|
|
222
|
-
# Grove SubProxy — Atlas A.6.1.1.2.2.1.1.3.1.1.2.
|
|
223
216
|
(PrimeAgent.GROVE, Network.ETHEREUM_MAINNET): [
|
|
224
|
-
"
|
|
217
|
+
EvmAddress("0x1369f7b2b38c76B6478c0f0E66D94923421891Ba"),
|
|
225
218
|
],
|
|
226
219
|
}
|
|
220
|
+
"""Additional ALM-controlled wallets that are NOT the canonical ALM Proxy but
|
|
221
|
+
must still be tracked by downstream consumers. The canonical ALM Proxy holds the
|
|
222
|
+
operational allocation positions; these SubProxy ("risk capital" / treasury)
|
|
223
|
+
wallets hold capital separately and are exported alongside the ALM Proxy for the
|
|
224
|
+
same (Prime, Network) rather than replacing it.
|
|
225
|
+
|
|
226
|
+
Atlas references: the Spark SubProxy is A.6.1.1.1.2.1.1.3.1.1.2 and the Grove
|
|
227
|
+
SubProxy is A.6.1.1.2.2.1.1.3.1.1.2."""
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from enum import StrEnum
|
|
2
|
+
from typing import Final
|
|
2
3
|
|
|
3
4
|
from axis_synome.spec.asc.entities.asset_categories import AssetCategory
|
|
4
5
|
from axis_synome.spec.asc.entities.assets import Asset
|
|
@@ -19,6 +20,43 @@ class PrimeName(StrEnum):
|
|
|
19
20
|
SPARK = "Spark"
|
|
20
21
|
|
|
21
22
|
|
|
23
|
+
# Grove positions whose non-obvious provenance is captured in a docstring. They
|
|
24
|
+
# are referenced from ASSETS_BY_PRIME below; a "#" comment on a list element is
|
|
25
|
+
# not machine-readable, so these are named constants instead.
|
|
26
|
+
GROVE_GACLO_1: Final[Asset] = Asset(
|
|
27
|
+
token=Token.GACLO_1,
|
|
28
|
+
network=Network.AVALANCHE,
|
|
29
|
+
protocol=Protocol.GALAXY,
|
|
30
|
+
address=EvmAddress("0x2C0aDFF8e114f3cA106051144353aC703D24B901"),
|
|
31
|
+
source="A.6.1.1.2.2.6.1.3.1.9.1.2.2.1",
|
|
32
|
+
underlying_asset=Token.USDC,
|
|
33
|
+
underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
|
|
34
|
+
underlying_asset_source="A.6.1.1.2.2.6.1.3.1.9.1.2.2.3",
|
|
35
|
+
categories={AssetCategory.REAL_WORLD_ASSET},
|
|
36
|
+
)
|
|
37
|
+
"""Galaxy Arch CLOs. The GACLO-1 token is on Avalanche while deposits are made on
|
|
38
|
+
Ethereum Mainnet, so the Atlas-recorded Underlying Asset Address is mainnet USDC
|
|
39
|
+
(0xA0b8…) per the Instance Configuration Document. Network is Avalanche to match
|
|
40
|
+
the token deployment chain."""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
GROVE_MONAD_UNISWAP_AUSD_USDC: Final[Asset] = Asset(
|
|
44
|
+
token=Token.UNISWAP_AUSD_USDC_POOL,
|
|
45
|
+
network=Network.MONAD,
|
|
46
|
+
protocol=Protocol.UNISWAP,
|
|
47
|
+
address=EvmAddress("0x6B405DCA74897c9442d369DcF6c0EC230f7E1c7C"),
|
|
48
|
+
source="A.6.1.1.2.2.6.1.3.1.12.1.2.2.1",
|
|
49
|
+
underlying_asset=Token.USDC,
|
|
50
|
+
underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
|
|
51
|
+
underlying_asset_source="A.6.1.1.2.2.6.1.3.1.12.1.2.2.2",
|
|
52
|
+
categories={AssetCategory.CASH_STABLECOIN},
|
|
53
|
+
)
|
|
54
|
+
"""Monad Uniswap AUSD/USDC pool. The Atlas Underlying Asset Address node records
|
|
55
|
+
USDC (0xA0b8…), which is the asset supplied by the Grove Liquidity Layer; the
|
|
56
|
+
token name carries no "LP" marker so the export derives token_type
|
|
57
|
+
"uni_v3_pool"."""
|
|
58
|
+
|
|
59
|
+
|
|
22
60
|
ASSETS_BY_PRIME: dict[PrimeName, list[Asset]] = {
|
|
23
61
|
PrimeName.GROVE: [
|
|
24
62
|
Asset(
|
|
@@ -263,21 +301,7 @@ ASSETS_BY_PRIME: dict[PrimeName, list[Asset]] = {
|
|
|
263
301
|
underlying_asset_source="A.6.1.1.2.2.6.1.3.4.1.1.2.2.2",
|
|
264
302
|
categories={AssetCategory.LENDING_MARKET},
|
|
265
303
|
),
|
|
266
|
-
|
|
267
|
-
# made on Ethereum Mainnet, so the Atlas-recorded Underlying Asset
|
|
268
|
-
# Address is mainnet USDC (0xA0b8…) per the Instance Configuration
|
|
269
|
-
# Document. Network is Avalanche to match the token deployment chain.
|
|
270
|
-
Asset(
|
|
271
|
-
token=Token.GACLO_1,
|
|
272
|
-
network=Network.AVALANCHE,
|
|
273
|
-
protocol=Protocol.GALAXY,
|
|
274
|
-
address=EvmAddress("0x2C0aDFF8e114f3cA106051144353aC703D24B901"),
|
|
275
|
-
source="A.6.1.1.2.2.6.1.3.1.9.1.2.2.1",
|
|
276
|
-
underlying_asset=Token.USDC,
|
|
277
|
-
underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
|
|
278
|
-
underlying_asset_source="A.6.1.1.2.2.6.1.3.1.9.1.2.2.3",
|
|
279
|
-
categories={AssetCategory.REAL_WORLD_ASSET},
|
|
280
|
-
),
|
|
304
|
+
GROVE_GACLO_1,
|
|
281
305
|
Asset(
|
|
282
306
|
token=Token.ACRDX,
|
|
283
307
|
network=Network.PLUME,
|
|
@@ -289,21 +313,7 @@ ASSETS_BY_PRIME: dict[PrimeName, list[Asset]] = {
|
|
|
289
313
|
underlying_asset_source="A.6.1.1.2.2.6.1.3.5.1.1.2.2.2",
|
|
290
314
|
categories={AssetCategory.REAL_WORLD_ASSET},
|
|
291
315
|
),
|
|
292
|
-
|
|
293
|
-
# records USDC (0xA0b8…), which is the asset supplied by the Grove
|
|
294
|
-
# Liquidity Layer; the token name carries no "LP" marker so the export
|
|
295
|
-
# derives token_type "uni_v3_pool".
|
|
296
|
-
Asset(
|
|
297
|
-
token=Token.UNISWAP_AUSD_USDC_POOL,
|
|
298
|
-
network=Network.MONAD,
|
|
299
|
-
protocol=Protocol.UNISWAP,
|
|
300
|
-
address=EvmAddress("0x6B405DCA74897c9442d369DcF6c0EC230f7E1c7C"),
|
|
301
|
-
source="A.6.1.1.2.2.6.1.3.1.12.1.2.2.1",
|
|
302
|
-
underlying_asset=Token.USDC,
|
|
303
|
-
underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
|
|
304
|
-
underlying_asset_source="A.6.1.1.2.2.6.1.3.1.12.1.2.2.2",
|
|
305
|
-
categories={AssetCategory.CASH_STABLECOIN},
|
|
306
|
-
),
|
|
316
|
+
GROVE_MONAD_UNISWAP_AUSD_USDC,
|
|
307
317
|
],
|
|
308
318
|
PrimeName.OBEX: [
|
|
309
319
|
Asset(
|