A fork of kadenaswap (a Uniswap V2 port to pact), with support for global exchange fees (equivalent to Uniswap's
_mintFee) and time-weighted average price oracle data, with support for tracking the TWAP of longer swap paths like
[tokenA coin tokenB].
The code is in the
kadenaswap/directory and the following are the main files:
exchange.pact: The core of the exchange, represents all the pairs and includes code for adding and removing liquidity, swapping, oracles, and more.
tokens.pact: Simple module for keeping track of liquidity tokens across all pairs. Each token is identified by a key, and has a similar interface to
gas-station/gas-station.pact: Module for managing the gas station that is used with the exchange.
gas-station/gas-station.repl: Test files.