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.

exception UnmatchedToken

Bases: Exception

Token was not in the pool.

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

Exception.add_note(note) – add a note to the exception

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class LiquidityResult

Bases: object

Sampled liquidity on Uniswap v2 pool.

Reserves are returned in raw token amounts.

pair_contract: web3.contract.contract.Contract

Direct Contract proxy to the pair contract

token0: eth_typing.evm.HexAddress

Side a

token1: eth_typing.evm.HexAddress

Side b

token0_reserve: int

Liquidity a

token1_reserve: int

Liquidity b

block_number: int

When this sample was token

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

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

None

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