Skip to content

Commit

Permalink
Merge pull request #6 from iamredbar/beta
Browse files Browse the repository at this point in the history
2.0.0
  • Loading branch information
iamredbar authored Apr 11, 2021
2 parents 344c891 + 962a997 commit 29e176c
Show file tree
Hide file tree
Showing 16 changed files with 1,482 additions and 1,376 deletions.
16 changes: 9 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@

venv/
.idea/
.DS_Store
__pycache__/model.cpython-38.pyc
__pycache__/view.cpython-38.pyc
__pycache__/depthchart.cpython-38.pyc
__pycache__/pool.cpython-38.pyc
.vscode/settings.json
__pycache__/view.cpython-37.pyc
__pycache__/
app/__pycache__/
.vscode/
app/scratch.py
.buildozer
buildozer.spec
bin/
7 changes: 7 additions & 0 deletions PoolTool
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env python3
from app.controller import Controller


if __name__ == '__main__':
c = Controller()
c.view.run()
113 changes: 30 additions & 83 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,99 +1,46 @@
<img width="822" alt="Screen Shot 2020-12-06 at 3 09 29 PM" src="https://user-images.githubusercontent.com/16945982/101292483-52b3aa00-37d5-11eb-91bd-d19311883fbe.png">
![PoolTool 2.0.0](https://user-images.githubusercontent.com/16945982/108139311-715fd800-7085-11eb-90bf-61ea19ae9fb5.png)
___

### How-to Use video here:
ACCOUNT AND ACTIVE KEY ARE NOT PERSISTENT, YOU WILL NEED TO
ENTER THEM EACH TIME YOU LAUNCH THE APP (but not every transaction. thats a win).

[![How To Use PoolTool for Liquidity Pools on the BitShares Blockchain](http://img.youtube.com/vi/1UNUVwYSjRo/0.jpg)](http://www.youtube.com/watch?v=1UNUVwYSjRo "How To Use PoolTool for Liquidity Pools on the BitShares Blockchain")
---

# PoolTool
## Install instructions:
```
git clone https://github.com/iamredbar/PoolTool
```

A simple GUI tool to help anyone use Liquidity Pools on the BitShares blockchain.
Once downloaded, make sure to do:

Written entirely in Python, it will work on any platform that can run Python.
```
cd PoolTool/
chmod +x PoolTool
pip3 install -r requirements.txt
```

中文翻译如下
- move to the PoolTool directory
- give the file PoolTool executable status (if it doesn't have it already)
- install the requirements

Telegram Group: https://t.me/pooltool_community_edition
---

## Installation
Requires Python 3.8+
## Run PoolTool with:

Tested on MacOS 10.14.6, Ubuntu 20.10, and 32-bit Raspberry Pi OS. No Windows solution currently.
```./PoolTool```

Linux install:
in the PoolTool directory
___

```sudo apt-get install libffi-dev libssl-dev python3-dev python3-tk```
## Using:

```git clone https://github.com/iamredbar/PoolTool.git```
You will need to enter your account and active key via the menu in the top right.
Here you can also set a node to use if you would prefer a different node.

```cd PoolTool```
___

```pip3 install -r requirements.txt```
### Links:

## Set up
Telegram: https://t.me/pooltool_community_edition

You will need to set a default node using `uptick`. Syntax is like this:

```uptick set node <node_goes_here>```

Example:

```uptick set node 'wss://dex.iobanker.com/ws'```

**If this step is not done, it is very unlikely that it will work.**

(read more about `uptick` here: http://docs.uptick.rocks/en/latest/)

## Start Up

```python3 controller.py```

## Basic Walkthrough

Upon start up, you will need to select the pool you would like to use via the dropdown menu.

PoolTool currently supports exchanging with liquidity pools and depositing to liquidity pools.

## WIP | NEW SCREENSHOTS SOON

### Please report any issues you have via Github.


# 流动池工具
一个便于操作的比特股区块链AMM流动池界面工具。
Python编写,适用于能够运行Python的任意平台。
Telegram群:https://t.me/pooltool_community_edition

## 安装
需求:Python 3.8+
MacOS 10.14.6, Ubuntu 20.10, and 32-bit Raspberry Pi OS已测试。当前尚无Windows解决方案。

```sudo apt-get install libffi-dev libssl-dev python3-dev python3-tk```

```git clone https://github.com/iamredbar/PoolTool.git```

```cd PoolTool```

```pip3 install -r requirements.txt```

## 设置
你需要使用uptick设置一个默认的连接节点.语法如下:
```uptick set node <node_goes_here>```

例子:

```uptick set node 'wss://api.bts.mobi/ws'```

**如果这一步没有完成,将不能正常运行**

(更多关于 uptick : http://docs.uptick.rocks/en/latest/)

## 开始
```python3 controller.py```

## 基本操作
启动后,你可以按照你的需求在面板下拉菜单上选择流动池。

流动池工具当前支持流动池交易及充值。

## WIP | NEW SCREENSHOTS SOON
### Please report any issues you have via Github.
Issues: https://github.com/iamredbar/PoolTool/issues
67 changes: 67 additions & 0 deletions app/controller.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
from app.view import PoolTool
from app.model import Model
from pubsub import pub


class Controller:
def __init__(self):
# initiate model and view so that controller can talk
self.model = Model()
self.view = PoolTool()
# subscribe and respond to actions
pub.subscribe(self.pool_change, 'pool_change')
pub.subscribe(self.update_pool_change, 'update_pool_change')
pub.subscribe(self.update_pool_price, 'update_pool_price')
pub.subscribe(self.update_pool_estimate, 'update_pool_estimate')
pub.subscribe(self.get_pools, 'get_pools')
pub.subscribe(self.return_pool_list, 'return_pool_list')
pub.subscribe(self.swap_assets, 'swap_assets')
pub.subscribe(self.deposit_assets, 'deposit_assets')
pub.subscribe(self.withdraw_assets, 'withdraw_assets')
pub.subscribe(self.interaction_return, 'interaction_return')
pub.subscribe(self.set_denomination, 'set_denomination')
pub.subscribe(self.price_swap, 'price_swap')
pub.subscribe(self.refresh_history_panel, 'refresh_history_panel')
pub.subscribe(self.refresh_stats_panel, 'refresh_stats_panel')

def pool_change(self, data):
self.model.pool_change(data)

def update_pool_change(self, data):
self.view.update_pool_change(data)

def update_pool_price(self, data):
self.model.update_pool_price(data)

def update_pool_estimate(self, data):
self.view.update_pool_estimate(data)

def get_pools(self, data):
self.model.get_pools(data)

def return_pool_list(self, data):
self.view.return_pool_list(data)

def swap_assets(self, data):
self.model.swap_assets(data)

def deposit_assets(self, data):
self.model.deposit_assets(data)

def withdraw_assets(self, data):
self.model.withdraw_assets(data)

def interaction_return(self, data):
self.view.interaction_return(data)

def set_denomination(self, data):
self.model.set_denomination(data)

def price_swap(self):
self.model.price_swap()

def refresh_history_panel(self, data):
self.view.generate_history_panel(data)

def refresh_stats_panel(self, data):
self.view.generate_stats_panel(data)
Loading

0 comments on commit 29e176c

Please sign in to comment.