A simple watcher for the XTZ/kUSD pool on Quipuswap

Overview

Kolibri Quipuswap Watcher

This repo holds the source code for the QuipuBot bot deployed to the #quipuswap-updates channel in the Kolibri Discord

Setup

The easiest way is to just install Docker, then run make build-docker to build the kolibri-quipu-tradebot image and then run make run DISCORD_WEBHOOK=https://some-discord-webhook

You might also like...
A community-driven python bot that aims to be as simple as possible to serve humans with their everyday tasks
A community-driven python bot that aims to be as simple as possible to serve humans with their everyday tasks

JARVIS on Messenger Just A Rather Very Intelligent System, now on Messenger! Messenger is now used by 1.2 billion people every month. With the launch

Simple utlity for sniffing decrypted HTTP/HTTPS traffic on a jailbroken iOS device into an HAR format.
Simple utlity for sniffing decrypted HTTP/HTTPS traffic on a jailbroken iOS device into an HAR format.

Description iOS devices contain a hidden feature for sniffing decrypted HTTP/HTTPS traffic from all processes using the CFNetwork framework into an HA

Simple tooling for marking deprecated functions or classes and re-routing to the new successors' instance.

pyDeprecate Simple tooling for marking deprecated functions or classes and re-routing to the new successors' instance

A simple service that allows you to run commands on the server using text

Server Text A simple flask service that allows you to run commands on the server/computer over sms. Think of it as a shell where you run commands over

Simple python script for AD enumeration
Simple python script for AD enumeration

AutoAD - Simple python script for AD enumeration This tool was created on my spare time to help fellow penetration testers in automating the basic enu

Simple Python tool to check if there is an Office 365 instance linked to a domain.

o365chk.py Simple Python script to check if there is an Office365 instance linked to a particular domain.

A Python simple Dice Simulator just for fun
A Python simple Dice Simulator just for fun

Dice Simulator 🎲 A Simple Python Dice Simulator 🧩 🎮 💭 Description: That program make your RPG session more easy and simple. Roll the dice never be

Shell scripts made simple 🐚

zxpy Shell scripts made simple 🐚 Inspired by Google's zx, but made much simpler and more accessible using Python. Rationale Bash is cool, and it's ex

Simple GUI menu for micropython using a rotary encoder and basic display.

Micropython encoder based menu This is a simple menu system written in micropython. It uses a switch, a rotary encoder and an OLED display.

Comments
  • Clean things up/refactor a bit

    Clean things up/refactor a bit

    So I went through and fixed up a few things, namely got rid of some redundancies and whatnot.

    Changed:

    • Removed magic contract values, replacing them with definitions at the top for QUIPU_KUSD, PLENTY_KUSD, and PLENTY_USDTZ_KUSD (makes upgrades and reasoning about the code easier)
    • If you want to default an envar it's easier to just do os.environ.get('SOME_VAR', None) - the second parameter is the default value if the given key isn't found/doesn't have a value.
    • Merged the fetch_usdtz_plenty_activity/fetch_plenty_activity/fetch_quipuswap_activity into one fetch_contract_transfers function - the only difference between these functions was the contract that was being requested from BCD, so this just passes it in
    • Gets rid of fetch_all_new_transfers since it was mostly doing work to update the latest hashes, and moved that into the main watch_for_changes function, which also let's us get rid of the global ophash tracking stuff
    • Returns both the transfers and the latest ophash from fetch_contract_transfers, which is used to update the different latest_*_ophash stuff
    • Merges the 3 iteration loops over transfers into one guarded by contract checks

    Minor Things:

    • Fixed comment formatting, they should always have a space after # (so # This is a comment, not #This is a comment)
    • Numbers can be written with _ that'll get stripped out at runtime (so you can write 1M as 1_000_000 which is easier to read than 1000000)
    • Fixed some spacing things
    • Moves fetch_whales() into the init at the bottom (separating out concerns a bit better)
    opened by Fitblip 0
Owner
Hover Labs
Creator of decentralized products, infrastructure and services.
Hover Labs
Watcher for systemdrun user scopes

Systemctl Memory Watcher Animated watcher for systemdrun user scopes. Usage Launch some process in your GNU-Linux or compatible OS with systemd-run co

Antonio Vanegas 2 Jan 20, 2022
Simple but maybe too simple config management through python data classes. We use it for machine learning.

??‍✈️ Coqpit Simple, light-weight and no dependency config handling through python data classes with to/from JSON serialization/deserialization. Curre

coqui 67 Nov 29, 2022
A simple program to recolour simple png icon-like pictures with just one colour + transparent or white background. Resulting images all have transparent background and a new colour.

A simple program to recolour simple png icon-like pictures with just one colour + transparent or white background. Resulting images all have transparent background and a new colour.

Anna Tůmová 0 Jan 30, 2022
A simple but flexible plugin system for Python.

PluginBase PluginBase is a module for Python that enables the development of flexible plugin systems in Python. Step 1: from pluginbase import PluginB

Armin Ronacher 1k Dec 16, 2022
A flexible free and unlimited python tool to translate between different languages in a simple way using multiple translators.

deep-translator Translation for humans A flexible FREE and UNLIMITED tool to translate between different languages in a simple way using multiple tran

Nidhal Baccouri 806 Jan 4, 2023
Pattern Matching for Python 3.7+ in a simple, yet powerful, extensible manner.

Awesome Pattern Matching (apm) for Python pip install awesome-pattern-matching Simple Powerful Extensible Composable Functional Python 3.7+, PyPy3.7+

Julian Fleischer 97 Nov 3, 2022
MiniJVM is simple java virtual machine written by python language, it can load class file from file system and run it.

MiniJVM MiniJVM是一款使用python编写的简易JVM,能够从本地加载class文件并且执行绝大多数指令。 支持的功能 1.从本地磁盘加载class并解析 2.支持绝大多数指令集的执行 3.支持虚拟机内存分区以及对象的创建 4.支持方法的调用和参数传递 5.支持静态代码块的初始化 不支

keguoyu 60 Apr 1, 2022
A simple but flexible plugin system for Python.

PluginBase PluginBase is a module for Python that enables the development of flexible plugin systems in Python. Step 1: from pluginbase import PluginB

Armin Ronacher 935 Feb 20, 2021
Simple yet flexible natural sorting in Python.

natsort Simple yet flexible natural sorting in Python. Source Code: https://github.com/SethMMorton/natsort Downloads: https://pypi.org/project/natsort

Seth Morton 712 Dec 23, 2022
A Python utility belt containing simple tools, a stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress, and more made easy!

Ubelt is a small library of robust, tested, documented, and simple functions that extend the Python standard library. It has a flat API that all behav

Jon Crall 638 Dec 13, 2022