This repository is for the audit competition for the Metrom. To participate, submit your findings only by using the on-chain submission process on https://app.hats.finance/vulnerability .
We look forward to seeing your findings.
Design your incentives to AMMplify liquidity.
The smart contract powering Metrom's efficient AMM incentivization. Both the contracts and the tests are written in Solidity using Foundry.
Metrom is a tool that dexes (especially those based on concentrated liquidity AMMs) can use to incentivize liquidity providers to provide the maximum amount of liquidity possible in the way that is the most efficient through the creation of dedicated incentivization campaigns.
Campaign creators can come to Metrom and create an incentivization campaign by specifying a targeted pool, a running period, and a list of up to 5 rewards that will be distributed to active LPs proportional to their liquidity contribution in the pool. The incentivized pool can even live on a chain that is different from the campaign's chain, making the product cross-chain.
Once a campaign is created and activated, Metrom's backend monitors the targeted pool, processing all the meaningful on-chain event that happen on it and computing a rewards distribution list off-chain depending on the specific contribution of the various LPs. A Merkle tree is constructed from the list and its root is then pushed on-chain. Eligible LPs can then claim their rewards (if any) by simply providing a tree inclusion proof to the Metrom smart contract.
Want to contribute? Check out the CONTRIBUTING.md file for more info.