Skip to main content

Uniswap for Python

Project description

UniswapPy

This package is a python re-factor of the original Uniswap V2 pairing code and can be utilized for the purpose of analysing and modelling its behavior for DeFi

To install package:

> git clone https://github.com/icmoore/uniswappy
> pip install .

or

> pip install UniswapPy

Basic Usage

from uniswappy.erc import ERC20
from uniswappy.cpt.factory import Factory

user_nm = 'user_intro'
eth_amount = 1000
dai_amount = 1000000

dai = ERC20("DAI", "0x111")
eth = ERC20("ETH", "0x09")
factory = Factory("ETH pool factory", "0x2")
lp = factory.create_exchange(eth, dai, symbol="LP", address="0x011")
lp.add_liquidity(user_nm, eth_amount, dai_amount, eth_amount, dai_amount)
lp.info()

OUTPUT:

Exchange ETH/DAI (LP)
Coins: ETH/DAI
Reserves: ETH = 1000 | DAI = 1000000
Liquidity: 31622.776601683792

from uniswappy.process.swap import Swap

out = Swap().apply(lp, dai, user_nm, 1000)
lp.info()

OUTPUT:

Exchange ETH/DAI (LP)
Coins: ETH/DAI
Reserves: ETH = 999.00399301896 | DAI = 1001000
Liquidity: 31622.776601683792

Special Features

  • Abstracted Actions: Obfuscation is removed from standard Uniswap action events to help streamline analysis and lower line count; see article How to Handle Uniswap Withdrawals like an OG
  • Indexing: Can calculate settlment LP token amounts given token amounts and vice versa; see article The Uniswap Indexing Problem
  • Simulation: Can simulate trading using Geometric Brownian Motion (GBM) process, or feed in actual raw price data to analyze behavior; see article How to Simulate a Liquidity Pool for Decentralized Finance
  • Randomized Events: Token amount and time delta models to simulate possible trading behavior
  • Analytical Tools: Basic yeild calculators and risk tools to assist in analyzing outcomes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

UniswapPy-1.0.8.tar.gz (26.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page