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
- See test notebook for basic usage
from uniswappy.erc import ERC20
from uniswappy.cpt.factory import UniswapFactory
user_nm = 'user_intro'
eth_amount = 1000
dai_amount = 1000000
dai = ERC20("DAI", "0x111")
eth = ERC20("ETH", "0x09")
factory = UniswapFactory("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, and Setup your Uniswap Deposits like a Baller
- 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
Release history Release notifications | RSS feed
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.1.1.tar.gz
(26.3 kB
view hashes)