uniswap_v2.liquidity

Documentation for eth_defi.uniswap_v2.liquidity Python module.

Liquidity measuring.

Functions

get_liquidity(web3, pair_address)

Measure Uniswap v2 pool liquidity.

Classes

LiquidityResult

Sampled liquidity on Uniswap v2 pool.

Exceptions

UnmatchedToken

Token was not in the pool.

class LiquidityResult

Bases: object

Sampled liquidity on Uniswap v2 pool.

Reserves are returned in raw token amounts.

__init__(pair_contract, token0, token1, token0_reserve, token1_reserve, block_number)
Parameters
Return type

None

get_liquidity_for_token(token_address)

Get liquidity value of a given pair token.

Because Uniswap liquidity tuple can be either order.

Raise

UnmatchedToken

Parameters

token_address (Union[eth_typing.evm.HexAddress, str]) –

Return type

int

exception UnmatchedToken

Bases: Exception

Token was not in the pool.

__init__(*args, **kwargs)
__new__(**kwargs)
add_note(note, /)

Add a note to the exception

with_traceback(tb, /)

Set self.__traceback__ to tb and return self.

get_liquidity(web3, pair_address)

Measure Uniswap v2 pool liquidity.

Returns

The current liquidity in the pool as (token0 liquidity, token1 liquidity) tuple.

Parameters
Return type

eth_defi.uniswap_v2.liquidity.LiquidityResult

Example:

liquidity_result = get_liquidity(web3, pair_address)

assert liquidity_result.token0 == weth.address
assert liquidity_result.token1 == usdc.address

assert liquidity_result.get_liquidity_for_token(weth.address) == 10 * 10**18
assert liquidity_result.block_number > 0
Parameters
Return type

eth_defi.uniswap_v2.liquidity.LiquidityResult