ypricemagic 4.7.2.dev0__tar.gz → 4.7.3.dev0__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.
- ypricemagic-4.7.3.dev0/.github/ISSUE_TEMPLATE/add_a_chain.yml +128 -0
- {ypricemagic-4.7.2.dev0/ypricemagic.egg-info → ypricemagic-4.7.3.dev0}/PKG-INFO +1 -1
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/classes/common.py +1 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/constants.py +17 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/networks.py +7 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/balancer/v2.py +3 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/uniswap/v3.py +8 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/multicall.py +1 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0/ypricemagic.egg-info}/PKG-INFO +1 -1
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/ypricemagic.egg-info/SOURCES.txt +1 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/.env.sample +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/.github/workflows/black.yaml +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/.github/workflows/codeql-analysis.yml +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/.github/workflows/compile.yaml +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/.github/workflows/deploy-docs.yml +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/.github/workflows/mypy.yaml +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/.github/workflows/pytest.yaml +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/.github/workflows/release.yaml +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/.gitignore +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/CONTRIBUTING.md +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/FUNDING.json +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/LICENSE.txt +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/Makefile +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/README.md +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/brownie-config.yaml +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/Makefile +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/alabaster.css +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/basic.css +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/custom.css +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/doctools.js +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/documentation_options.js +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/file.png +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/language_data.js +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/minus.png +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/plus.png +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/pygments.css +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/searchtools.js +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/sphinx_highlight.js +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/caching.rst +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/cli.rst +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/conf.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/environment.rst +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/index.rst +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/make.bat +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/pyproject.toml +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/renovate.json +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/requirements-dev.txt +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/requirements.txt +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/scripts/debug-curve.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/scripts/debug-price.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/setup.cfg +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/setup.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/classes/test_erc20.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/classes/test_singleton.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/conftest.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/fixtures.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/dex/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/dex/test_balancer.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/dex/test_uniswap.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/dex/test_velodrome.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/lending/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/lending/test_aave.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/lending/test_compound.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/stable_swap/test_curve.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/test_chainlink.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/test_gearbox.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/test_magic.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/test_popsicle.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/test_synthetix.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/test_yearn.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/tokenized_fund/test_piedao.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/utils/test_buckets.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/test_constants.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/ENVIRONMENT_VARIABLES.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/brownie.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/common.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/config.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/decorators.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/entities.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/exceptions.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/log.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/structs.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/_ep.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/bulk.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/contract.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/logs.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/price.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/stringify.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/token.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/traces.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_db/utils/utils.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/_decorators.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/classes/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/classes/_abc.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/classes/singleton.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/cli.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/contracts.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/convert.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/datatypes.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/exceptions.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/ERC20.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/balancer/WeightedPool.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/balancer/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/compound/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/compound/unitroller.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/curve/CurveRegistry.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/curve/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/multicall2.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/uniswap/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/uniswap/factoryv2.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/uniswap/quoterv3.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/interfaces/uniswap/velov2.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/monkey_patches.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/band.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/chainlink.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/convex.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/balancer/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/balancer/_abc.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/balancer/balancer.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/balancer/v1.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/genericamm.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/mooniswap.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/solidly.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/uniswap/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/uniswap/uniswap.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/uniswap/v1.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/uniswap/v2.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/uniswap/v2_forks.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/dex/velodrome.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/eth_derivs/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/eth_derivs/creth.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/eth_derivs/wsteth.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/gearbox.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/lending/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/lending/aave.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/lending/compound.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/lending/ib.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/magic.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/one_to_one.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/pendle.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/popsicle.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/rkp3r.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/solidex.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/stable_swap/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/stable_swap/belt.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/stable_swap/curve.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/stable_swap/ellipsis.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/stable_swap/froyo.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/stable_swap/mstablefeederpool.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/stable_swap/saddle.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/synthetix.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/tokenized_fund/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/tokenized_fund/basketdao.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/tokenized_fund/gelato.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/tokenized_fund/piedao.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/tokenized_fund/reserve.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/tokenized_fund/tokensets.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/utils/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/utils/buckets.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/utils/debug.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/utils/sense_check.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/utils/ypriceapi.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/prices/yearn.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/py.typed +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/time.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/__init__.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/_erc20.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/cache.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/checks.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/client.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/dank_mids.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/events.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/fakes.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/gather.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/logging.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/middleware.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/y/utils/raw_calls.py +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/ypricemagic.egg-info/dependency_links.txt +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/ypricemagic.egg-info/entry_points.txt +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/ypricemagic.egg-info/not-zip-safe +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/ypricemagic.egg-info/requires.txt +0 -0
- {ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/ypricemagic.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
name: "Add New Blockchain"
|
|
2
|
+
description: "A checklist for adding support for a new blockchain to ypricemagic"
|
|
3
|
+
title: "[Blockchain] Add: "
|
|
4
|
+
labels: [blockchain, enhancement]
|
|
5
|
+
body:
|
|
6
|
+
- type: input
|
|
7
|
+
id: blockchain_name
|
|
8
|
+
attributes:
|
|
9
|
+
label: Blockchain Name
|
|
10
|
+
description: "What is the name of the blockchain?"
|
|
11
|
+
placeholder: "ExampleChain"
|
|
12
|
+
validations:
|
|
13
|
+
required: true
|
|
14
|
+
|
|
15
|
+
- type: input
|
|
16
|
+
id: documentation
|
|
17
|
+
attributes:
|
|
18
|
+
label: Documentation / Website URL
|
|
19
|
+
description: "Link to official docs, developer portal, etc."
|
|
20
|
+
placeholder: "https://docs.examplechain.org"
|
|
21
|
+
validations:
|
|
22
|
+
required: true
|
|
23
|
+
|
|
24
|
+
- type: checkboxes
|
|
25
|
+
id: integration_files
|
|
26
|
+
attributes:
|
|
27
|
+
label: Integration File Checklist
|
|
28
|
+
description: |
|
|
29
|
+
For each file, check off when the main work is done.
|
|
30
|
+
**Subtasks for each file are shown as Markdown for reference.**
|
|
31
|
+
options:
|
|
32
|
+
|
|
33
|
+
- label: "Add network details to `./y/networks.py`"
|
|
34
|
+
description: |
|
|
35
|
+
- [ ] Add the chainid to the `Network` enum
|
|
36
|
+
- [ ] Add a short label for the chain to `Network.label`
|
|
37
|
+
- [ ] Add the network name to `Network.name`
|
|
38
|
+
|
|
39
|
+
- label: "Add contract addresses for common tokens to `./y/constants.py`"
|
|
40
|
+
description: |
|
|
41
|
+
Define the Contract for each of the tokens below. If the new blockchain does not have one of the tokens, simply assign `None`. Follow the same format as the others.
|
|
42
|
+
- [ ] WETH
|
|
43
|
+
- [ ] WBTC
|
|
44
|
+
- [ ] USDC
|
|
45
|
+
- [ ] USDT
|
|
46
|
+
- [ ] DAI
|
|
47
|
+
|
|
48
|
+
- [ ] Add the contract addresses for any "safe" stablecoins to the `_STABLECOINS` mapping
|
|
49
|
+
- [ ] Add the contract address for the wrapped form of the network's gas token to `WRAPPED_GAS_COINS`. For example, on Ethereum, Optimism, and Arbitrum it would be the WETH address but on Polygon it is the WMATIC address
|
|
50
|
+
|
|
51
|
+
- label: "Add chainlink feeds to `./y/prices/chainlink.py`"
|
|
52
|
+
description: |
|
|
53
|
+
- [ ] Map any tokens with all chainlink feeds from https://docs.chain.link/data-feeds/price-feeds/addresses that show a green indicator
|
|
54
|
+
|
|
55
|
+
- label: "Update `./y/classes/common.py`"
|
|
56
|
+
description: |
|
|
57
|
+
- [ ] Add the symbol for the wrapped form of the network's gas token. For example, on Ethereum, Optimism, and Arbitrum it would be "WETH" but on Polygon it is "WMATIC"
|
|
58
|
+
|
|
59
|
+
- label: "Add Uniswap V2 deployment details and any forks to `./y/prices/dex/uniswap/v2_forks.py`"
|
|
60
|
+
description:
|
|
61
|
+
- [ ] Add the factory and router addresses for Uniswap V2 and all known direct forks
|
|
62
|
+
|
|
63
|
+
- label: "Add Uniswap V3 deployment details to `./y/prices/dex/uniswap/v3.py`"
|
|
64
|
+
description: |
|
|
65
|
+
- [ ] Add the factory address for the new chain
|
|
66
|
+
- [ ] Add the quoter address for the new chain
|
|
67
|
+
- [ ] Add the fee tiers that Uniswap V3 supports on the new chain
|
|
68
|
+
|
|
69
|
+
- label: "Add any Uniswap V3 fork deployment details to `forked_deployments` in `./y/prices/dex/uniswap/v3.py`"
|
|
70
|
+
description: |
|
|
71
|
+
- [ ] Add the factory address for the new chain
|
|
72
|
+
- [ ] Add the quoter address for the new chain
|
|
73
|
+
- [ ] Add the fee tiers that Uniswap V3 supports on the new chain
|
|
74
|
+
|
|
75
|
+
- label: "Add Balancer V2 and any forks to `./y/prices/dex/balancer/v2.py`"
|
|
76
|
+
description: |
|
|
77
|
+
- [ ] Add the Vault address for Balancer V2 and all known direct forks, if applicable
|
|
78
|
+
|
|
79
|
+
- label: "Add multicall address to `./y/utils/multicall.py`"
|
|
80
|
+
description: |
|
|
81
|
+
- [ ] Add the multicall3 address for the new chain. This will typically be `0xcA11bde05977b3631167028862bE2a173976CA11`
|
|
82
|
+
|
|
83
|
+
- type: textarea
|
|
84
|
+
id: extra
|
|
85
|
+
attributes:
|
|
86
|
+
label: Additional Information
|
|
87
|
+
description: "Add any extra details, context, links, or considerations here."
|
|
88
|
+
placeholder: "Anything else reviewers should know?"
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
- in ./yearn/prices/chainlink.py:
|
|
92
|
+
- [ ] specify any chainlink feeds available on the chain in `feeds`.
|
|
93
|
+
- [ ] specify the chainlink registry address in `registries` if applicable, or specify None if not applicable.
|
|
94
|
+
|
|
95
|
+
- in ./yearn/ironbank.py:
|
|
96
|
+
- [ ] add ironbank deployment address
|
|
97
|
+
|
|
98
|
+
- in ./yearn/prices/compound.py:
|
|
99
|
+
- [ ] add ib comptroller
|
|
100
|
+
|
|
101
|
+
- in ./yearn/v2/registry.py:
|
|
102
|
+
- [ ] add v2 vault registry
|
|
103
|
+
|
|
104
|
+
- in yearn/yearn.py:
|
|
105
|
+
- [ ] add v2 vault registry and
|
|
106
|
+
- [ ]ironbank registry
|
|
107
|
+
|
|
108
|
+
- in ./yearn/prices/constants.py:
|
|
109
|
+
- [ ] specify `ib_snapshot_block_by_network`, if any, the start block of Ironbank on this network or specify '1' if not applicable.
|
|
110
|
+
|
|
111
|
+
- in ./yearn/prices/uniswap/v2.py:
|
|
112
|
+
- [ ] specify the factory and router address for any important uni v2 forks on the chain.
|
|
113
|
+
|
|
114
|
+
in ./yearn/prices/uniswap/v3.py:
|
|
115
|
+
- [ ] add info about uni v3 deployed on network
|
|
116
|
+
|
|
117
|
+
- in ./yearn/utils.py:
|
|
118
|
+
- [ ] specify `BINARY_SEARCH_BARRIER` as 0 if all historical data is available. If historical data not available due to a network upgrade/etc, specify the first block of the available historical data.
|
|
119
|
+
|
|
120
|
+
- in ./yearn/middleware/middleware.py:
|
|
121
|
+
- [ ] specify `BATCH_SIZE` of approx 1 day based on avg block times on the chain.
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
It's important to test to make sure everything works!
|
|
125
|
+
|
|
126
|
+
Once you've handled everything above, type `make up <network>` into your terminal replacing network with your network name at the project root. The network specific exporters will start running in docker and any exceptions will show in your terminal. If there are no exceptions, and everything appears to be running smoothly then it should be working correctly.
|
|
127
|
+
|
|
128
|
+
- [ ] yes I have tested it and it is running as expected
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ypricemagic
|
|
3
|
-
Version: 4.7.
|
|
3
|
+
Version: 4.7.3.dev0
|
|
4
4
|
Summary: Use this tool to extract historical on-chain price data from an archive node. Shoutout to @bantg and @nymmrx for their awesome work on yearn-exporter that made this library possible.
|
|
5
5
|
Home-page: https://github.com/BobTheBuidler/ypricemagic
|
|
6
6
|
Author: BobTheBuidler
|
|
@@ -285,6 +285,19 @@ elif CHAINID == Network.Base:
|
|
|
285
285
|
This is a temporary placeholder and may not represent the actual WBTC contract on Base.
|
|
286
286
|
"""
|
|
287
287
|
|
|
288
|
+
elif CHAINID == Network.Berachain:
|
|
289
|
+
|
|
290
|
+
weth = Contract("0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590")
|
|
291
|
+
"""Wrapped Ether (WETH) contract on Berachain."""
|
|
292
|
+
|
|
293
|
+
usdc = Contract("0x549943e04f40284185054145c6E4e9568C1D3241") # usdbc
|
|
294
|
+
"""USD Coin (USDC) contract on Berachain."""
|
|
295
|
+
|
|
296
|
+
wbtc = Contract("0x0555E30da8f98308EdB960aa94C0Db47230d2B9c")
|
|
297
|
+
"""Wrapped Bitcoin (WBTC) contract on Berachain."""
|
|
298
|
+
|
|
299
|
+
usdt, dai = None, None
|
|
300
|
+
|
|
288
301
|
else:
|
|
289
302
|
weth, dai, wbtc, usdc, usdt = None, None, None, None, None
|
|
290
303
|
|
|
@@ -356,6 +369,9 @@ _STABLECOINS: Final[Dict[Network, Dict[ChecksumAddress, str]]] = {
|
|
|
356
369
|
"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA": "usdbc",
|
|
357
370
|
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913": "usdc",
|
|
358
371
|
},
|
|
372
|
+
Network.Berachain: {
|
|
373
|
+
"0x549943e04f40284185054145c6E4e9568C1D3241": "usdc",
|
|
374
|
+
},
|
|
359
375
|
}
|
|
360
376
|
|
|
361
377
|
STABLECOINS: Final[Dict[ChecksumAddress, str]] = _STABLECOINS.get(CHAINID, {})
|
|
@@ -384,6 +400,7 @@ WRAPPED_GAS_COINS: Final[Dict[Network, ChecksumAddress]] = {
|
|
|
384
400
|
Network.Cronos: "0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23",
|
|
385
401
|
Network.Optimism: "0x4200000000000000000000000000000000000006",
|
|
386
402
|
Network.Base: "0x4200000000000000000000000000000000000006",
|
|
403
|
+
Network.Berachain: "0x6969696969696969696969696969696969696969",
|
|
387
404
|
}
|
|
388
405
|
|
|
389
406
|
WRAPPED_GAS_COIN: Final[ChecksumAddress] = WRAPPED_GAS_COINS[CHAINID]
|
|
@@ -76,6 +76,9 @@ class Network(IntEnum):
|
|
|
76
76
|
Aurora = 1313161554
|
|
77
77
|
"""The Chain ID for Aurora"""
|
|
78
78
|
|
|
79
|
+
Berachain = 80094
|
|
80
|
+
"""The Chain ID for Berachain"""
|
|
81
|
+
|
|
79
82
|
@staticmethod
|
|
80
83
|
def label(chain_id: Optional[int] = None) -> str:
|
|
81
84
|
"""
|
|
@@ -128,6 +131,8 @@ class Network(IntEnum):
|
|
|
128
131
|
return "OPTI"
|
|
129
132
|
elif chain_id == Network.Base:
|
|
130
133
|
return "BASE"
|
|
134
|
+
elif chain_id == Network.Berachain:
|
|
135
|
+
return "BERA"
|
|
131
136
|
|
|
132
137
|
@staticmethod
|
|
133
138
|
def name(chain_id: Optional[int] = None) -> str:
|
|
@@ -181,6 +186,8 @@ class Network(IntEnum):
|
|
|
181
186
|
return "Optimism"
|
|
182
187
|
elif chain_id == Network.Base:
|
|
183
188
|
return "Base"
|
|
189
|
+
elif chain_id == Network.Berachain:
|
|
190
|
+
return "Berachain"
|
|
184
191
|
|
|
185
192
|
@staticmethod
|
|
186
193
|
def printable(chain_id: Optional[int] = None) -> str:
|
|
@@ -58,6 +58,9 @@ BALANCER_V2_VAULTS = {
|
|
|
58
58
|
Network.Base: [
|
|
59
59
|
"0xBA12222222228d8Ba445958a75a0704d566BF2C8",
|
|
60
60
|
],
|
|
61
|
+
Network.Berachain: [
|
|
62
|
+
"0x4Be03f781C497A489E3cB0287833452cA9B9E80B", # BEX Exchange https://docs.bex.berachain.com/developers/
|
|
63
|
+
],
|
|
61
64
|
}.get(CHAINID, [])
|
|
62
65
|
|
|
63
66
|
MESSED_UP_POOLS = {
|
|
@@ -93,6 +93,14 @@ forked_deployments: Final = {
|
|
|
93
93
|
"fee_tiers": (3000, 500, 10_000, 100),
|
|
94
94
|
},
|
|
95
95
|
],
|
|
96
|
+
Network.Berachain: [
|
|
97
|
+
{
|
|
98
|
+
# kodiak exchange https://documentation.kodiak.finance/overview/kodiak-contracts
|
|
99
|
+
"factory": "0xD84CBf0B02636E7f53dB9E5e45A616E05d710990",
|
|
100
|
+
"quoter": "0x644C8D6E501f7C994B74F5ceA96abe65d0BA662B", # quoter v2
|
|
101
|
+
"fee_tiers": (3000, 500, 10_000, 20_000),
|
|
102
|
+
},
|
|
103
|
+
],
|
|
96
104
|
}
|
|
97
105
|
|
|
98
106
|
_FEE_DENOMINATOR: Final = Decimal(1_000_000)
|
|
@@ -36,6 +36,7 @@ MULTICALL2 = {
|
|
|
36
36
|
Network.Cronos: "0x5e954f5972EC6BFc7dECd75779F10d848230345F",
|
|
37
37
|
Network.Optimism: "0xcA11bde05977b3631167028862bE2a173976CA11", # Multicall 3
|
|
38
38
|
Network.Base: "0xcA11bde05977b3631167028862bE2a173976CA11", # mc3
|
|
39
|
+
Network.Berachain: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
39
40
|
}.get(brownie.chain.id)
|
|
40
41
|
|
|
41
42
|
multicall = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ypricemagic
|
|
3
|
-
Version: 4.7.
|
|
3
|
+
Version: 4.7.3.dev0
|
|
4
4
|
Summary: Use this tool to extract historical on-chain price data from an archive node. Shoutout to @bantg and @nymmrx for their awesome work on yearn-exporter that made this library possible.
|
|
5
5
|
Home-page: https://github.com/BobTheBuidler/ypricemagic
|
|
6
6
|
Author: BobTheBuidler
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/documentation_options.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/docs/_build/html/_static/sphinx_highlight.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ypricemagic-4.7.2.dev0 → ypricemagic-4.7.3.dev0}/tests/prices/tokenized_fund/test_piedao.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|