Responsible for all implementation specific logic required by each DEX
This contract is the sole entry point for external transactions and is responsible for performing sanity checks on the payload, executing trades via the respective exchange handler, and keeping count of amounts given and received in order to enforce minimum exchange rate requirements.
Responsible for transferring ownership of ERC20 tokens from the investor to the
Loops through each token trade, sequentially executing all orders at their respective exchange handlers. This contract is entry point for external transactions and performs sanity checks on the payload
Due to the differing requirements of executing trades at each DEX, we employ the use of separate ExchangeHandler contracts. An ExchangeHandler is responsible for all implementation specific logic required by each DEX. This could range from depositing funds prior to initiating a trade to wrapping or unwrapping ether as required. It is a key requirement that we keep DEX logic separate from the primary contract in order to allow for expansion of the platform.