Smart Contract libraries for Solidity
npm install @cimolabs/contracts

Registry is updated and maintained by Cinnamoon ($CIMO 0xc3f65b1c45b0d42a472cd0fbd37dd6678aef667a) team on a daily basis.
Our scripts are analyzing the blockchain transactions, building a list of potential snipers/MEVs.
You can find more info on https://cinnamoon.cc/cimo-bot-registry
CimoBotRegistry is open source and free to use.
| Network | Contract Address |
| ----------- | ----------- |
| Ethereum Mainnet | 0x8342A72516FCad9c5B5fd3830B531995A67a324d |
| Görli | 0x8342A72516FCad9c5B5fd3830B531995A67a324d |
| Sepolia | 0x8342A72516FCad9c5B5fd3830B531995A67a324d |
```
$ npm install @cimolabs/contracts
An alternative to npm is to use the GitHub repository CinnamoonToken/cinamoon-contracts to retrieve the contracts.
Once installed, you can use the contracts in the library by importing them:
`solidity
pragma solidity ^0.8.17;
import "@cimolabs/contracts/CimoBotRegistry/ICimoBotRegistry.sol";
contract MYERCO20Token is ICimoBotRegistry {
ICimoBotRegistry private _botRegistry = ICimoBotRegistry(0x8342A72516FCad9c5B5fd3830B531995A67a324d);
}
`
`solidity`
...
if (from != owner() && to != uniswapV2Pair){
require(!_botRegistry.isMEV(to);
}
...
2. Prevent known snipers from buying first 2 blocks
`solidity``
...
if (from != owner() && to != uniswapV2Pair && block.number <= tradingActiveBlock + 2){
require(!_botRegistry.isSniper(to);
}
...
Note: Do not block snipers completely. They should be able to buy after first N blocks. If you completely block them, you may lose volume and token growth
0x98acBAec797415754e251BEa178B53879510dc3E
CimoLabs Contracts is released under the MIT License.