From fd98dfc3578f2fa9de6a48c8d6ad6da0827c1dd1 Mon Sep 17 00:00:00 2001 From: Riordan Panayides Date: Thu, 2 Dec 2021 18:16:36 +0000 Subject: [PATCH] Update readme --- .eslintrc.json | 40 ++++++++++++++++++++++++++++++++++++++++ README.md | 12 ++++++++---- 2 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 .eslintrc.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..c1b9024 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,40 @@ +{ + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "prettier" + ], + "env": { + "es6": true, + "browser": true, + "jest": true, + "node": true + }, + "rules": { + "@typescript-eslint/explicit-module-boundary-types": 0, + "@typescript-eslint/ban-ts-comment": 0, + "@typescript-eslint/explicit-function-return-type": 0, + "@typescript-eslint/explicit-member-accessibility": 0, + "@typescript-eslint/indent": 0, + "@typescript-eslint/member-delimiter-style": 0, + "@typescript-eslint/no-empty-function": 0, + "@typescript-eslint/no-explicit-any": 0, + "@typescript-eslint/no-var-requires": 0, + "@typescript-eslint/no-use-before-define": 0, + "@typescript-eslint/no-unused-vars": [ + 2, + { + "argsIgnorePattern": "^_" + } + ] + // "no-console": [ + // 0, + // { + // "allow": ["warn", "error"] + // } + // ] + } + } + \ No newline at end of file diff --git a/README.md b/README.md index f2e2a41..126b38e 100644 --- a/README.md +++ b/README.md @@ -14,17 +14,18 @@ To run the liquidator you will need: | Variable | Default | Description | | -------- | ------- | ----------- | | `CLUSTER` | `mainnet` | The Solana cluster to use | -| `ENDPOINT_URL` | `https://solana-api.projectserum.com` | Your RPC node endpoint | +| `ENDPOINT_URL` | `https://mango.rpcpool.com/946ef7337da3f5b8d3e4a34e7f88` | Your RPC node endpoint | | `KEYPAIR` | `${HOME}/.config/solana/id.json` | The location of your wallet keypair | | `GROUP` | `mainnet.1` | Name of the group in ids.json to run the Liquidator against | | `TARGETS` | `0 0 0 0 0 0 0 0` | Space separated list of the amount of each asset to maintain when rebalancing | | `INTERVAL` | `3500` | Milliseconds to wait before checking for sick accounts | -| `INTERVAL_ACCOUNTS` | `120000` | Milliseconds to wait before reloading all Mango accounts | +| `INTERVAL_ACCOUNTS` | `600000` | Milliseconds to wait before reloading all Mango accounts | | `INTERVAL_WEBSOCKET` | `300000` | Milliseconds to wait before reconnecting to the websocket | -| `LIQOR_PK` | N/A | Liqor Mango account Public Key, by default uses the largest value account owned by the keypair | +| `LIQOR_PK` | N/A | Liqor Mango Account Public Key, by default uses the largest value account owned by the keypair | | `WEBHOOK_URL` | N/A | Discord webhook URL to post liquidation events and errors to | +| `LIAB_LIMIT` | `0.9` | Percentage of your available margin to use when taking on liabs | -You can add these varibles to a `.env` file in the project root to load automatically on liquidator startup. For example: +You can add these variables to a `.env` file in the project root to load automatically on liquidator startup. For example: ```bash ENDPOINT_URL=https://solana-api.projectserum.com KEYPAIR=${HOME}/.config/solana/my-keypair.json @@ -33,6 +34,9 @@ TARGETS=500 0.1 0.75 0 0 0 0 0 ## Rebalancing The liquidator will attempt to close all perp positions, and balance the tokens in the liqor account after each liquidation. By default it will sell all token assets into USDC. You can choose to maintain a certain amount of each asset through this process by editing the value in the `TARGETS` environment variable at the position of the asset. You can find the order of the assets in the 'oracles' property of the group in [ids.json](https://github.com/blockworks-foundation/mango-client-v3/blob/main/src/ids.json#L81) The program will attempt to make buy/sell orders during balancing to maintain this level. +## Advanced Orders Triggering +The liquidator triggers advanced orders for users when their trigger condition is met. Upon successfully triggering the order, the liquidator wallet will receive 100x the transaction fee as a reward. + ## Run ``` yarn liquidator