Releases: BobTheBuidler/ypricemagic
v1.2.0: Async and more (#99)
* feat: duration debugging * chore: add ct to export_durations * chore: more specific env var name * fix: debug durations * chore: add pandas to requirements-dev.txt * fix: debug durations * fix: ensure directory exists before trying to export csv * fix: don't auto_retry on 404 * feat: DOP env var * fix: DOP env var * fix: probe util with return_method = True * chore(test): increase blocks for test_popsicle to 25 * chore: replace soon-to-be-deprecated logger.warn with logger.warning * fix(test): test_constants * fix: balancer VirtualMachineError * feat: optimized uniswap get_prices * feat: semi optimize magic.get_prices * fix: uniswap._next_uid race condition * fix: false popsicles * fix: incorrect except specs on false popsicles * fix: Syhthetix.__contains__ syntax error * Eth retry (#37) * fix(test): fix import * feat: implement eth_retry * chore: remove unused import * chore: fix typo * chore: sort imports * Fix tests (#38) * chore(test): skip mutating addresses for testing * fix: remove auto_retry decorator and improve log decorator * Lazy logging (#39) * feat: implement lazy_logging * fix(test): fix test_erc20 * fix: syntax error from earlier removal of get_code fn * fix: block range is too wide * Async draft (#40) * feat: async beta * chore: bump dank_mids version * fix: memory cache order when used with LazyLogger (#43) * fix: async function named as sync (#44) * chore: bump dank_mids version (#45) * chore: bump dank_mids version (#46) * Async ii (#47) * fix: tokensets async * feat: replace all Multicall with Call objects * fix: probe (#48) * fix: probe (#49) * Fix stuff (#50) * fix: uniswap gh issue request * fix: yearn raw_call_async * Fix stuff (#51) * fix: uniswap gh issue request * fix: yearn raw_call_async * fix: specify worker count for ThreadPoolExecutor * Fix routers by depth (#52) * feat: support `from y import ERC20, get_price, get_price_async` * fix: uniswap v2 routers_by_depth_async * fix: circular import (#53) * Async saddle (#54) * feat: async saddle * fix: shrink get_logs BATCH_SIZE with a pokt provider * Async piedao (#55) * chore: remove unused kwarg * feat: async piedao * fix: use async for piedao (#56) * fix: improper uni v2 abi for certain forks (#57) * fix: enumerate not async compatible (#58) * chore: bump dank_mids version (#59) * fix: aenumerate (#60) * chore: bump dank_mids (#61) * chore: bump dank_mids version (#62) * Fix has methods async (#63) * fix: Exception handler in has_methods_async * chore: bump eth_retry version * fix: chainlink bucket for chains without chainlink * fix: decimals util (#64) * fix: uniswap v2 deepest_pool (#65) * dev: fix it temporarily (#67) * fix: multicall_totalSupply (#68) * Some stuff (#69) * feat: mstable async * fix: multicall_decimals_async * feat: mooniswap async * chore: move symbol and name from raw_calls to erc20 * chore: bump dank_mids * feat: balancer v2 get_pool_price_async * Fix balancer (#70) * fix: typo * fix: balancer v2 get_pool_price_async * fix: symbol changes * More fixes (#71) * fix: the event loop is already running * fix: yearn __repr__ * chore: remove old stuff * fix: multicall dependency missing from setup.py (#72) * Fixes (#73) * chore: remove print statement from testing * chore: bump dank_mids version * chore: bump eth_retry version * chore: bump dank_mids version again * feat: configurable semaphore for get_price_async, default concurrency 1k * feat: reduce Contract memory footprint (#74) * chore: bump dank_mids version (#75) * fix: bump dank_mids version correctly (#76) * fix: temporarily disable lazy logging (#77) * feat: optimize uni v2 path selection for weth and gas token (#78) * Fix some stuff (#79) * feat: async ib * feat: ellipsis async * chore: bump dank_mids version * fix: piedao conversion err * feat: remove semaphore due to improved dank_mids * fix: missing Curve v2 factory pools * chore: remove old comment * test: fix test_buckets * fix: curve registry ContractNotFound (#80) * fix: urve unhashable type (#81) * Fix missing curve (#82) * fix: missing curve address provider Id=7 on polygon * feat: get price for assets only on curve * chore: comment for clarity * chore: remove old print statements (#83) * Small fixes (#84) * chore: cleanup ERC20 name and symbol * chore: refactor * fix: curve.get_price_for_underlying AttributeError * chore: cleanup logging wrt deprecated kwarg * fix: mooniswap unhashable type 'list' * chore: replace deprecated dependency function * chore: remove old print statement from dev (#85) * fix: do not cache result for closest_block_after_timestamp if result is None (#86) * fix: is_contract on nodes that return b'' instead of '0x' (#87) * fix: remove pool tokens from balancer pools to prevent infinite loops (#88) * fix: remove pool tokens from balancer pools to prevent infinite loops * fix: remove the try catch in balancer, move it into get_prices_async * fix: move the constraint on tokens to get_tvl_async only * refactor: remove unused libs * refactor: add note to get_tvl_async * Less hashing (#89) * feat: optimize contract singleton * feat: optimize Contract.__init__ for hashing * feat: checksum_dict dep * Extract contract singleton to checksum_dict lib (#90) * feat: async Contract.coroutine classmethod * feat: extract ContractSingleton to checksum_dict lib * fix(test): broken import in fixtures * feat: singleton lock * fix: Singleton lock (#91) * fix: Singleton returns None (#92) * chore: bump dank_mids version (#93) * feat: no more compilers (#94) * fix: Contract (#95) * fix: _resolve_proxy (#96) * Some fixes (#97) * fix: exceptions when passing in zero address * fix: exceptions when passing in zero address * fix: chainlink (#98) Co-authored-by: borrito <30872891+kyhoon@users.noreply.github.com>
Big Updatooor
Support More Prices:
feat: synthetix, uniswap v3, umee on mainnet
feat: use chainlink for slink, mqqq, maapl, anyspell, bbtc, hbtc on mainnet
feat: polydex, firebird on poly
feat: chainlink for reneth, renusdt, renusdc on polygon
feat: shibaswap, zdex, bombswap, scream, reaper vaults on fantom
feat: partyswap, cream on avax
feat: uniswap v3 on arbitrum
feat: support cronos chain
feat: support basketdao, popsicle, generic amms
feat: support more yearn-like vaults
feat: more generalized is_uni_pool
feat: support curve as price source
feat: constants for heco and harmony
feat: support a few convex deposit tokens
feat: support more saddle pools
feat: use aave price for stkaave
New Utils:
feat: erc20 singleton
feat: erc20 _scale for past blocks
feat: probe util
feat: CToken
feat: auto retry logic
feat: restructure for next release
feat: moralis specific batch-size
feat: use WeiBalance class for caching and readability improvements
feat: autofetch chainlink feed decimals
feat: has_method function on ContractBase
test: add the beginnings of a test suite
Fix Things:
fix: special case handling for xusdl
fix: crvSPELLETH override
fix: raise exception when running contract_creation_block on unsynced node
fix: get_logs_asap where batch too large for node
Chores:
chore: refactor
chore: remove old logging
chore: update requirements.txt
chore: add numpy to requirements-dev.text
chore: add deprecation warning to ypricemagic.magic.get_price
chore: add .coverage, .mypy_cache to .gitignore
chore: rename aave.pool_for_token to aave.pool_for_atoken for clarity
chore: rename w3 to web3 for consistency
Get Rid of before merging:
feat: synths on chainlink
feat: chainlink for sGBP mainnet
Co-authored-by: Carter Carlson carter@metokens.com
Double Oops
Apparently I can't use that tag, let's try this one
Oops
Whoops! I forgot to merge my new github actions rule to master before releasing. Let's try this again...
It Begins
ypricemagic should now work for most tokens on chains that it supports. From this point forward, I will be cleaning up the dev workflow on this repo to make for better readability of development history and new features
feat: release 0.2.20
Merge commit 'a8c83af1d30dbdfe9948d8b054df26e127678fb4'
feat: release 0.2.3
chore: reduce unnecessary printing
feat: release 0.2.2 (#2)
* feat: support aave v1 atokens * fix: compound eth bug * feat: improve decimals logic for proxies * feat: ERC20 fallback for non-verified tokens * feat: support aave v2 tokens * fix: caching for balancer pool calc steps * feat: add oracles for FIL-pegged tokens * chore: add to constants list * feat: add alternate swap paths for uniswap calcs * feat: support crETH * feat: support vesper * feat: support tokensets v2 * feat: support eur oracle * feat: support piedao * feat: multichain * feat: support pancakeswap * fix: circular import * feat: multichain support * feat: 0.2.2 * chore: update gitignore
0.2.1: feat: add price source: balancer v2 (#1)
* chore: update readme * chore: update .gitignore * feat: add price source: balancer v2 * chore: update setup.py
v0.1.2
fix: uniswap v1