Giter Club home page Giter Club logo

thorbelt's Introduction

thorbelt

the tool you've been looking for on your journey to asgard - doubles your trading skills

trading terminal interfacing w/ native thorchain.

building

This is a create-react-app frontend, simply run npm start to develop and npm run build to build assets for deployment.

contributing

Open to contributions, let's improve the functionality & make it into a tool that gives you even more than twice your original stength!

license

MIT

thorbelt's People

Contributors

lordrlm avatar

Stargazers

 avatar

thorbelt's Issues

Remove dependencies on midgard where possible (rely on thornode)

As we've seen on days like 2021-05-19 (frothy, panicked, hyper volatile markets), more complex apis like midgard and other centralized 3rd parties tend to have a hard time keeping up with market activity and staying responsive.

Let's minimize our dependency on midgard and base as much as we can on just thornode so that users can still trade safely in those trying times.

  • Get pool information from thornode
  • Show last price on charts based on pool prices and gracefully degrade when midgard doesn't respond
  • Allow sending swap without any dependency on midgard
  • Test all other panels and make sure that they degrade gracefully even when midgard is innaccesible
  • Degrade to a different thornode address than the thorchain.info one if we fail to reach it

Wallet: Remove liquidity from pool

Add a button to the wallet allowing used to remove liquidity from a pool

In a modal, show:

  • Input for percent
  • Toggle for all in rune or 50:50
  • Preview output amounts
  • Preview fees
  • Show transaction progress

Help and documentation

Add a help icon in the top right nav opening a modal offering users help, documentation and education on various subjects. Holding their hand and answering their burning questions.

Maybe a first version of this is:

  • Simply link to an external gitbook with documentation
  • Show contextual help and links to documentation in a few places in app

Manual Transaction: Support sending a transaction with a custom memo

This is useful to manually take some action that's not yet supported by built in UI (like donate, swap to other l1, transfer/send, bond, leave)

  • Support transfers to other addresses
  • Support deposit w/ dynamic form for the few different memos TC supports
    • swap, add, withdraw, bond, unbond, leave
  • Show error when memo parameter entered are not valid
  • Preview memo
  • Give link to TC explorer for transaction

Swap: Support swapping rune or synth to rune or synth

Add a swapping / trading panel type that supports swapping native rune for a synth (minting), synth to an other synth or from a synth to rune (burning)

Show:

  • Input for picking input (thor.rune or any available pool asset)
  • Input for picking output
  • Input for amount
  • Show estimated output
  • Show current price
  • Show fees
  • Show error message when no wallet is connected
  • Show progress while transaction is executing

Color coding / linked panels

This feature is meant to allow selecting an asset from the pools panel or the wallet panel and automatically selecting it / prefilling the trading/chart panel.

In practice:

  • Add a "color" picker (select a color out of 8 predefined choices or none)
  • If an asset (in the wallet or pool list) is clicked, select that asset on all chart and swap panels with the same color selected
  • For swaps, make sure one of the asset (input or output) is thor.rune or thor.usd and set the other asset to the clicked asset

This allows a user to quick switch the selected asset they want to be trading / watching

Customization options: Columns shown, decimals shown, date format

Add a settings modal that allows you to configure the following:

  • Decimals shown
  • Date format

Add settings to tables allowing you to configure:

  • Columns shown (persist this setting)

This is just to get started but opens the door to adding all kinds of other options based on user demand

Keystore wallet file integration

Not everybody has access to Xdefi / wants to use it so provide an other option: keystore files.

  • Allow user to connect a keystore wallet from the address dropdown menu in the top right
  • Ask to select a file, ask for the password, if entered correctly, save the file contents to localStorage
  • Ask for the password every time the app is loaded, decrypt the keystore and discard it
  • Integrate with xchainjs to sign transactions

Charts: Add RUNE price chart

The chart component can show prices for all available pools but not for RUNE, let's fix that.

Based the price on the BUSD pool for the moment and in a separate issue we'll switch to using THOR.USD once it's available.

Keyboard shortcuts for everything

Add keyboard shortcuts for most actions that make sense, especially around the swap/trading panel and selecting a pool to show on a chart

Take inspiration from how keyboard driven bloomberg terminals can be

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.