gyrostable / gyro-pools

Gyroscope Concentrated Liquidity Pools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gyroscope Concentrated Liquidity Pools

Gyroscope concentrated liquidity pools based on Balancer V2. 2-CLPs and 3-CLPs.

For docs see: https://docs.gyro.finance/gyroscope-protocol/concentrated-liquidity-pools

Repo Setup

This project uses Brownie as its main testing framework but is also compatible with hardhat to be able to reuse some of the Balancer testing infrastructure if needed.

Dependencies

To install dependencies use

$ yarn

Compiling and testing

The project can be compiled and tested using

$ brownie compile
$ brownie test

Gas Testing

To analyze gas usage, the Tracer in tests/support/analyze_trace.py can be used in the following way:

from tests.support.trace_analyzer import Tracer

tx = ... # transaction to analyze

tracer = Tracer.load()
print(tracer.trace_tx(tx))

For this to work, you may need to install a version of brownie where a bug has been fixed:

$ pip install -U git+https://github.com/danhper/brownie.git@avoid-removing-dependencies

Then you need to run your script with everything compiled before the script runs, i.e., you need something like

brownie compile; brownie run scripts/my_script.py

Gas measurement scripts

There are gas measurement scripts at scripts/show_gas_usage_*.py. For example:

$ brownie run scripts/show_gas_usage_2clp.py

You can run all the ready-made gas measurements, and store their data, via

$ scripts/run_gas_measurements.sh

For this you need the ansi2txt utility installed. On Ubuntu you can get it via the colorized-logs package.

This writes log files to analysis/gas/.

About

Gyroscope Concentrated Liquidity Pools


Languages

Language:Python 50.5%Language:Solidity 27.9%Language:Jupyter Notebook 15.9%Language:TypeScript 4.1%Language:JavaScript 1.6%Language:Shell 0.0%