Code Monkey home page Code Monkey logo

forta-bot-templates's Introduction

Forta Bot Templates

This repository contains Forta Bot templates that can be used to quickly create and deploy bots simply by creating configuration files. These Bot templates were designed by Arbitrary Execution. More projects are available on Arbitrary Execution's Github

Bot Setup Walkthrough

The following steps will take you from a completely blank template to a functional bot.

  1. Copy the bot-config.json.example file to a new file named bot-config.json.

  2. developerAbbreviation (required) - Type in your desired abbreviation to specify your name or your development team name. For example, Arbitrary Execution uses the abbreviation "AE" for its developerAbbreviation value.

  3. protocolName (required) - Type in the name of the protocol. For example, for the Uniswap protocol you may type in "Uniswap" or "Uniswap V3", for the SushiSwap protocol you may type in "Sushi" or "SushiSwap", etc.

  4. protocolAbbreviation (required) - Type in an appropriate abbreviation for the value in protocolName. For example, "Uniswap" may be abbreviated "UNI" and "SushiSwap" may be abbreviated "SUSH", etc.

  5. gatherMode (required) - This can either be any, or all.

  • any returns any/all findings, from any bot added the the template list.
  • all returns findings only if all bots had findings for that transaction and the containing block
  1. bots (required) - This Object contains configuration information for all bots you'd like to run. Check the individual Bot Templates SETUP.md files for more details how to create each one.

Validating Your Config

Once you're ready to deploy, npm run validate will check that your bot-config.json file is ready to go, and should let you know if there's any issues that might pop up during your run

Bot Templates

This bot monitors blockchain transactions for specific events emitted from specific contract addresses. Optionally, an expression can be provided for checking the value of an event argument against a predefined value. If a matching event is emitted and the expression evaluates to true, an alert is created. Alert type and severity are specified per event per contract address.

This bot monitors the account balance (in Ether) of specific addresses. Thresholds, alert type, and alert severity are specified per address. There is also a minimum alert interval that prevents the bot from emitting many alerts for the same condition.

This bot monitors blockchain transactions for those involving specific addresses, which may be either EOAs or contracts. Alert type and severity are both configurable.

This bot monitors blockchain transactions for specific function calls for specific contract addresses. Optionally, an expression may be provided for checking the value of a function argument against a predefined value. If a matching function call occurs and the expression evaluates to true, an alert is created. Alert type and severity are specified per function per contract address.

This bot monitors blockchain transactions that have failed and are associated with a specific contract address. Alert type and severity are both configurable.

This bot monitors blockchain transactions for new contracts and EOAs with few transactions interacting with specific contract addresses. Alert type and severity are specified per contract.

This bot monitors governance contracts that use the modular system of Governance contracts available from OpenZeppelin. All possible emitted events are coded into the logic of the bot, so a developer need only specify the appropriate ABI file (files all present in the repository) and contract address. All alert types and severities are set to Info.

This bot monitors a Gnosis-Safe MultiSig contract for emitted events and for any balance changes in Ether or ERC20 tokens. Gnosis-Safe MultiSig contract versions v1.0.0, v1.1.1, v1.2.0, and v1.3.0 are supported and the appropriate ABI files are all present in the repository. All alert types and severities are set to Info.

This bot monitors contract variables that contain numeric values for specified contract addresses. Upper and lower percent change thresholds, number of data points to collect before checking for percent changes, and alert type and severity are specified per variable per contract address.

This bot monitors blockchain transactions for those involving specified addresses and any address that have previously interacted with a known Tornado Cash Proxy. An observation period (in blocks) to watch addresses that have interacted with known Tornado Cash Proxies is configurable. Alert type and severity is also configurable per contract.

forta-bot-templates's People

Contributors

arbitrary-echo avatar arbitrary-sparrow avatar ae-cloin avatar arbitrary-nomad avatar arbitrary-codebeholder avatar darian-ae avatar rossae avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.