Skip to content

Releases: BobTheBuidler/ypricemagic

v1.2.0: Async and more (#99)

14 Sep 05:56
b5744bc
Compare
Choose a tag to compare
* 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

05 Apr 17:03
f17fec1
Compare
Choose a tag to compare

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

09 Jan 04:51
Compare
Choose a tag to compare

Apparently I can't use that tag, let's try this one

Oops

09 Jan 04:44
b1c8138
Compare
Choose a tag to compare

Whoops! I forgot to merge my new github actions rule to master before releasing. Let's try this again...

It Begins

09 Jan 04:38
8e12ef9
Compare
Choose a tag to compare

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

26 Sep 20:55
Compare
Choose a tag to compare
Merge commit 'a8c83af1d30dbdfe9948d8b054df26e127678fb4'

feat: release 0.2.3

07 Aug 21:37
Compare
Choose a tag to compare
chore: reduce unnecessary printing

feat: release 0.2.2 (#2)

06 Aug 23:03
882aa20
Compare
Choose a tag to compare
* 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)

11 Jul 14:07
b5d3395
Compare
Choose a tag to compare
* chore: update readme

* chore: update .gitignore

* feat: add price source: balancer v2

* chore: update setup.py

v0.1.2

09 Jul 06:31
Compare
Choose a tag to compare
fix: uniswap v1