Kromatika's implementation of the Chainlink Keepers functions and modification
By implementing Chainlink Keepers we have solved the issues mentioned in the Uniswap V3 section. The Kromatika dapp will automatically collect and withdraw funds obtained on Uniswap V3 for the users, as soon as the market price surpasses the users target price. It is important to stress that this is done without any admin or third party intervention, including the automatic replenishment of the Keepers balance to pay itself for upkeep.
Chainlink Keepers are simple smart contracts that follow a certain structure and must have two functions implemented.
- checkUpkeep - Has a gas limit of 6,500,000 gas. This eﬀectively means that a single Chainlink Keeper can not monitor an unlimited number of limit orders. That is why our smart contracts use a pool of Chainlink Keepers, where each individual Keeper monitors up to 1,000 limit orders.
- performUpkeep - Has a gas limit of 2,500,000 gas. This eﬀectively means we can not close too many limit orders within a single performUpkeep. This is why we use batches, limiting the number of orders closed per batch (upkeep).