Git Product home page Git Product logo

tealstreet

This GitHub repo is for bug tracking / ticket tracking for the https://tealstreet.io trading terminal.

Request beta access via https://t.me/tealstreet or join our discord https://bit.ly/SamwiseDiscord

Keyboard Shortcuts to use in ShortKey Chrome extension

link to extension https://chrome.google.com/webstore/detail/shortkeys-custom-keyboard/logpjaacgmcbpdkdchjiaagddngobkck?hl=en

Go to manage your extensions. Turn on "developer mode", click "Load Unpacked Extension", go to where you downloaded ShortKeys. Click inside that folder, and upload the folder that has the versio number as the title. Local extensions wont sync between your computers like normal chrome extensions.

Please note, the "/trade/..." url / path must be the first page you visit when going to https://www.tealstreet.io. If you, say, login first, such that the initial url you visit is "/login" then you must refresh once in the trading terminal before the shortcuts will work. This is because the ShortKeys shortcuts are only active on "/trade/..." to not interfere with other parts of the site, but because React uses a virtual router it doesn't detect changes to the url within the site itself, only the first page you visit.

When first setting up the extension, make sure to delete the dummy placeholder shortcut that shows up at the top when first installing. Also make sure to hit save at the bottom of the page after importing settings.


[
  {
    "action": "javascript",
    "activeInInputs": false,
    "blacklist": "whitelist",
    "code": "document.getElementsByClassName(\"ant-checkbox-input\")[0].click()\ndocument.getElementsByClassName(\"ant-checkbox-input\")[3].click()",
    "exported": true,
    "key": "e",
    "open": false,
    "sites": "*tealstreet.io/trade*",
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "Toggle Track Price"
  },
  {
    "action": "javascript",
    "activeInInputs": false,
    "blacklist": "whitelist",
    "code": "document.getElementsByClassName(\"ant-checkbox-input\")[1].click()\ndocument.getElementsByClassName(\"ant-checkbox-input\")[4].click()",
    "exported": true,
    "key": "q",
    "open": false,
    "sites": "*tealstreet.io/trade*",
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "Toggle Post Only"
  },
  {
    "action": "javascript",
    "activeInInputs": false,
    "blacklist": "whitelist",
    "code": "document.getElementsByClassName(\"ant-checkbox-input\")[2].click()\ndocument.getElementsByClassName(\"ant-checkbox-input\")[5].click()",
    "exported": true,
    "key": "w",
    "open": false,
    "sites": "*tealstreet.io/trade*",
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "syncToOtherDevices": false,
    "label": "Toggle Reduce"
  },
  {
    "action": "javascript",
    "blacklist": "whitelist",
    "code": "document.getElementsByClassName(\"order-button\")[6].click()",
    "exported": true,
    "key": "alt+shift+a",
    "open": false,
    "sites": "*tealstreet.io/trade*",
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "activeInInputs": false,
    "label": "Place buy order at price in order form"
  },
  {
    "action": "javascript",
    "blacklist": "whitelist",
    "code": "document.getElementsByClassName(\"order-button\")[13].click()",
    "exported": true,
    "key": "alt+shift+d",
    "open": false,
    "sites": "*tealstreet.io/trade*",
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "activeInInputs": false,
    "label": "place sell order at price in order form"
  },
  {
    "action": "javascript",
    "activeInInputs": false,
    "blacklist": "whitelist",
    "code": "document.getElementsByClassName(\"ant-table-tbody\")[0].children[0].children[8].children[0].click()",
    "exported": true,
    "key": "alt+shift+k",
    "open": false,
    "sites": "*tealstreet.io/trade*",
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "close top list position in positions table"
  },
  {
    "key": "alt+shift+t",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*tealstreet.io/trade*",
    "open": false,
    "code": "if (typeof _orderSize == 'undefined') {\n    let _orderSize;\n    let _price;\n    let _rawSize;\n    let _posSize;\n    let _buy;\n    let prevOrder;\n    let nativeInputValueSetter;\n    let _setReduce\n}\n\n_setReduce = false;\n\nnativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, \"value\").set;\n\n_rawSize = document.getElementsByClassName(\"ant-table-tbody\")[0].children[0].children[1].children[0].children[0].innerText;\n_buy = true;\n_posSize = parseFloat(_rawSize)\nif (isNaN(_posSize)) {\n    _buy = false;\n   _rawSize = _rawSize.substring(1, _rawSize.length);\n    _posSize = parseFloat(_rawSize)\n}\n_orderSize = Math.ceil(_posSize * (1/3))\n\n_price = parseFloat(document.getElementsByClassName(\"List\")[0].children[0].children[0].children[1].children[0].children[0].innerText)\n\nif (!_buy) {\n    if (document.getElementsByClassName(\"ant-checkbox-input\")[1].checked) {\n        document.getElementsByClassName(\"ant-checkbox-input\")[1].click()\n    }\n    if (!document.getElementsByClassName(\"ant-checkbox-input\")[2].checked) {\n        document.getElementsByClassName(\"ant-checkbox-input\")[2].click()\n        _setReduce = true;\n    }\n    if (document.getElementsByClassName(\"ant-checkbox-input\")[0].checked) {\n        document.getElementsByClassName(\"ant-checkbox-input\")[0].click()\n    }\n    prevOrder = document.getElementsByClassName(\"ant-input-number-input\")[1].value\n    nativeInputValueSetter .call(document.getElementsByClassName(\"ant-input-number-input\")[1], _orderSize)\n    document.getElementsByClassName(\"ant-input-number-input\")[1].dispatchEvent(new Event('input', { bubbles: true }));\n    nativeInputValueSetter.call(document.getElementsByClassName(\"ant-input-number-input\")[2], _price + 30)\n    document.getElementsByClassName(\"ant-input-number-input\")[2].dispatchEvent(new Event('input', { bubbles: true }));\n    document.getElementsByClassName(\"order-button\")[6].click()\n    nativeInputValueSetter.call(document.getElementsByClassName(\"ant-input-number-input\")[1], prevOrder)\n    document.getElementsByClassName(\"ant-input-number-input\")[1].dispatchEvent(new Event('input', { bubbles: true }));\n    if (_setReduce ) {\n        document.getElementsByClassName(\"ant-checkbox-input\")[2].click()\n    }\n} else {\n    if (document.getElementsByClassName(\"ant-checkbox-input\")[4].checked) {\n        document.getElementsByClassName(\"ant-checkbox-input\")[4].click()\n    }\n    if (!document.getElementsByClassName(\"ant-checkbox-input\")[5].checked) {\n        document.getElementsByClassName(\"ant-checkbox-input\")[5].click()\n        _setReduce = true;\n    }\n    if (document.getElementsByClassName(\"ant-checkbox-input\")[3].checked) {\n        document.getElementsByClassName(\"ant-checkbox-input\")[3].click()\n    }\n    prevOrder = document.getElementsByClassName(\"ant-input-number-input\")[4].value\n    nativeInputValueSetter.call(document.getElementsByClassName(\"ant-input-number-input\")[4], _orderSize)\n    document.getElementsByClassName(\"ant-input-number-input\")[4].dispatchEvent(new Event('input', { bubbles: true }));\n    nativeInputValueSetter.call(document.getElementsByClassName(\"ant-input-number-input\")[5], _price - 30)\n    document.getElementsByClassName(\"ant-input-number-input\")[5].dispatchEvent(new Event('input', { bubbles: true }));\n    document.getElementsByClassName(\"order-button\")[13].click()\n    nativeInputValueSetter.call(document.getElementsByClassName(\"ant-input-number-input\")[4], prevOrder)\n    document.getElementsByClassName(\"ant-input-number-input\")[4].dispatchEvent(new Event('input', { bubbles: true }));\n    if (_setReduce) {\n        document.getElementsByClassName(\"ant-checkbox-input\")[5].click()\n    }\n}",
    "activeInInputs": false,
    "exported": true,
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "close 1/3 of top listed position in positions table"
  },
  {
    "key": "a",
    "action": "javascript",
    "code": "nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, \"value\").set;\n\nbuyTrack = document.getElementsByClassName(\"ant-input-number-input-wrap\")[0].children[0].value\nbuyTrack = parseFloat(buyTrack)\n\nif (buyTrack > 0) {\nnewBuyTrack = buyTrack - 0.5\nnativeInputValueSetter .call(document.getElementsByClassName(\"ant-input-number-input-wrap\")[0].children[0], newBuyTrack)\ndocument.getElementsByClassName(\"ant-input-number-input-wrap\")[0].children[0].dispatchEvent(new Event('input', { bubbles: true }));\n}\n\nsellTrack= document.getElementsByClassName(\"ant-input-number-input-wrap\")[3].children[0].value\nsellTrack= parseFloat(sellTrack)\n\nif (sellTrack < 0) {\nnewSellTrack = sellTrack + 0.5\nnativeInputValueSetter .call(document.getElementsByClassName(\"ant-input-number-input-wrap\")[3].children[0], newSellTrack)\ndocument.getElementsByClassName(\"ant-input-number-input-wrap\")[3].children[0].dispatchEvent(new Event('input', { bubbles: true }));\n}",
    "activeInInputs": false,
    "blacklist": "whitelist",
    "sites": "*tealstreet.io/trade*",
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "move track price offset on both sides farther from top of book"
  },
  {
    "key": "d",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*tealstreet.io/trade*",
    "open": false,
    "code": "nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, \"value\").set;\n\nbuyTrack = document.getElementsByClassName(\"ant-input-number-input-wrap\")[0].children[0].value\nbuyTrack = parseFloat(buyTrack)\n\n    newBuyTrack = buyTrack + 0.5\n    nativeInputValueSetter .call(document.getElementsByClassName(\"ant-input-number-input-wrap\")[0].children[0], newBuyTrack)\n        document.getElementsByClassName(\"ant-input-number-input-wrap\")[0].children[0].dispatchEvent(new Event('input', { bubbles: true }));\n\n\nsellTrack= document.getElementsByClassName(\"ant-input-number-input-wrap\")[3].children[0].value\nsellTrack= parseFloat(sellTrack)\n\n\n    newSellTrack = sellTrack - 0.5\n    nativeInputValueSetter .call(document.getElementsByClassName(\"ant-input-number-input-wrap\")[3].children[0], newSellTrack)\n     document.getElementsByClassName(\"ant-input-number-input-wrap\")[3].children[0].dispatchEvent(new Event('input', { bubbles: true }));",
    "activeInInputs": false,
    "exported": true,
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "move track price offset on both sides closer to top book prices (stops at 0 offset)"
  },
  {
    "key": "ctrl+shift+a",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*tealstreet.io/trade*",
    "open": false,
    "code": "document.getElementsByClassName(\"List\")[0].children[0].children[3].children[0].children[0].children[1].click()\ndocument.getElementsByClassName(\"order-button\")[6].click()",
    "activeInInputs": false,
    "exported": true,
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "place buy order at price visible in bottom buy side of orderbook"
  },
  {
    "key": "ctrl+shift+d",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*tealstreet.io/trade*",
    "open": false,
    "code": "document.getElementsByClassName(\"List\")[0].children[0].children[3].children[1].children[0].children[1].click()\ndocument.getElementsByClassName(\"order-button\")[13].click()",
    "activeInInputs": false,
    "exported": true,
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "place sell order at price visible in bottom row sell side of orderbook"
  },
  {
    "key": "ctrl+alt+a",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*tealstreet.io/trade*",
    "open": false,
    "code": "document.getElementsByClassName(\"List\")[0].children[0].children[2].children[0].children[0].children[1].click()\ndocument.getElementsByClassName(\"order-button\")[6].click()",
    "activeInInputs": false,
    "exported": true,
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "place buy order at price visible in top buy side of orderbook"
  },
  {
    "key": "ctrl+alt+d",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*tealstreet.io/trade*",
    "open": false,
    "activeInInputs": false,
    "code": "document.getElementsByClassName(\"List\")[0].children[0].children[2].children[1].children[0].children[1].click()\ndocument.getElementsByClassName(\"order-button\")[13].click()",
    "exported": true,
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "place sell order at price visible in top sell side of orderbook"
  },
  {
    "key": "x",
    "action": "javascript",
    "code": "if(typeof i !== 'undefined'){\n    let i;\n    let rows;\n}\n\ni = 0;\nrows = document.getElementsByClassName(\"ant-table-tbody\")[1].children;\n\nwhile (i < rows.length) {\n    let currRow = rows[i];\n    if (!currRow.classList.contains(\"updating-cell-row\")) {\n         currRow.children[7].children[0].click();\n        break;\n    }\n    i += 1;\n}",
    "activeInInputs": false,
    "blacklist": "whitelist",
    "sites": "*tealstreet.io/trade*",
    "sitesArray": [
      "*tealstreet.io/trade*"
    ],
    "label": "cancel top listed active order (left most tab showing orders must be clicked to work)"
  }
]

Tealstreet's Projects

aggr icon aggr

Cryptocurrency trades aggregator

ccxt icon ccxt

A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges

safe-cex icon safe-cex

An OpenSource TypeScript library to create rich trading cryptocurrencies interfaces

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.