DeFi telegram bot

This project is a "fun project" built on-top of Enso used within workshops, and the full guidelines for the workshop can be viewed at ./workshop.md

Enso Overview

The Enso API not only offers you all metadata such as apy, tvl, addresses, underlying tokens, logos, urls, and so forth. It also offers you execution into DeFi protocols for actions like:
      1. farming
      2. lending
      3. borrowing
      4. liquidity provisioning
      5. farming
      6. and much more

You can do native transaction bundling as well, i.e. enter 50 defi positions in one transaction.
Compatible with gnosis safe, and any smart wallet that enables delegatecall..

Prerequisites

  1. Fork this repo
  2. copy .env.example into .env
  3. Generate telegram bot key
          1. run /newbot
          2. input a unique name
          3. copy you're API key and put inside of .env
          4. message your bot @your_bot_handle
          5. press /start

Bot commands

/start: lists all resources and welcome message
/help: command to query information about projects including, protocol list, pool list and apy
/initialize
/route: execute swaps, deposits, farming and so forth
      single: route from 1 token to 1 token
      batch: route from 1 token to N
/projects: query information about projects including, protocol list, pool list and apy
      list: list all projects available through Enso
      pools: list all pools for a project with Symbol, APY, TVL, and Address
      apy: fetch apy for a specific pool

Resources

ENSO API offers metadata
swagger official docs