Volume Gauges for DeFi aim to solve the problem: How to incentivize marketing partners to drive more liquidity providers to their pools using the pool rewards without a centralized affiliate marketing budget?
VolumeGauges track affiliate performance and rewards them from the pool rewards.
VolumeGauges for Curve contracts allow the Curve ecosystem to make proposals that distribute rewards to the affiliate that drive exchange volume through the pool. The affiliate may in turn reward LPs with innovative incentive programs that go beyond trading fee rebates.
VolumeGauges use Volume-weighted Exponential Moving Average
- nodejs - >=v8, tested with version v14.15.4
- python3 from version 3.6 to 3.8, python3-dev
- brownie - tested with version 1.12.0
The contracts are compiled using Vyper, however, installation of the required Vyper versions is handled by Brownie.
To get started, first create and initialize a Python virtual environment. Next, clone the repo and install the developer dependencies:
git clone https://github.com/Promise-Protocol/volumegauge.git
cd volumegauge
pip install -r requirements.txt
Install Node.js(>=v8) and ganache-cli globally.
npm install -g ganache-cli
ganache-cli --fork https://mainnet.infura.io/v3/$YOUR_INFURA_KEY -p 7545
And wait until local RPC is ready.(a few seconds)
brownie networks add Development forkedmain host=http://127.0.0.1 accounts=10 evm_version=istanbul fork=mainnet port=7545 mnemonic=brownie cmd=ganache-cli timeout=300
brownie test -s