Commit Graph

258 Commits

Author SHA1 Message Date
Geoff Taylor 9b8ad18f10 Updated PollingLiquidator loop message to clarify looping. 2021-05-12 11:10:34 +01:00
Geoff Taylor fb308c6205 Updated README. 2021-05-12 10:59:59 +01:00
Geoff Taylor 0d9635ba45 PollingLiquidator optimisation - now loops and updates ripe 🥭 accounts. 2021-05-12 10:52:26 +01:00
Geoff Taylor b8e47792f8 Added a simple search script for dev code searches. 2021-05-12 09:14:10 +01:00
Geoff Taylor a40b962965 Fixed dereference of group basket tokens. 2021-05-11 20:32:20 +01:00
Geoff Taylor 9b97722394 Fixed regression in importing notebook code. 2021-05-11 20:17:49 +01:00
Geoff Taylor ef6b2b4da5 Fixed divisor bug in FloatAdapter. 2021-05-11 20:13:07 +01:00
Geoff Taylor 4cfc87d420 Split BasketTokenMetadata up. Improved linting.
* Split BasketTokenMetadata into BasketToken and Token.
* Improved linting and mypy so it worked across files.
2021-05-11 19:24:02 +01:00
Geoff Taylor f56ba03f3e Fixed bug in calling wallet balancer after a successful liquidation. 2021-05-10 18:56:35 +01:00
Geoff Taylor ff80a085da Clarified details of FloatAdapter (renamed from Float64Adapter) after information from Daffy on Discord. 2021-05-10 17:36:14 +01:00
Geoff Taylor 78fbb05970 Renamed SimpleLiquidator to PollingLiquidator. 2021-05-10 14:48:19 +01:00
Geoff Taylor 64b14600f7 Merged run-lint and run-mypy. Command is now just run-lint. 2021-05-10 14:46:37 +01:00
Geoff Taylor fb52fe3671 Tidied up reporting of balances before and after a liquidation. 2021-05-10 14:20:08 +01:00
Geoff Taylor b452887c28 Changed logging to use emoji for level and shorter datetime. Updated logs in Quickstart to reflect this. 2021-05-09 18:23:38 +01:00
Geoff Taylor b398990898 Added a Quickstart! A nice walkthrough of setting up a liquidator. 2021-05-08 16:01:30 +01:00
Geoff Taylor db91e1d9d8 Added a 'create-wallet' command, made other commands more consistent. 2021-05-07 10:47:01 +01:00
Geoff Taylor 0f05be4fc7 Added Pyston link to README. 2021-05-06 19:12:24 +01:00
Geoff Taylor 013a8ce715 Added Pyston to docker image and commands.
All commands now use Pyston instead of Python as the Python interpreter. It seems a bit faster.
2021-05-06 19:06:47 +01:00
Geoff Taylor a774998409 Fixed problem with instantiating NullAccountLiquidator. 2021-05-06 19:00:54 +01:00
Geoff Taylor fab0d909c2 Added 'dry run' option to commands that perform transactions. 2021-05-06 15:27:25 +01:00
Geoff Taylor 3db09e922c Added wallet balancing. Big changes throughout to support this. 2021-05-06 14:21:40 +01:00
Geoff Taylor f2d4e7c13f Added Serum trading.
* Added nasty patch around pyserum bug
* OpenOrders can now provide (on-demand) the pyserum representation OpenOrdersAccount
* New context methods -unwrap_transaction_id_or_raise_exception() and random_client_id()
* Added Retrier and retry_context() function
* Added TradeExecutor and SerumImmediateTradeExecutor classes to trade on Serum
2021-05-04 17:18:09 +01:00
Geoff Taylor 9ff7619985 Fixed problem with logging messages and token dereference. 2021-05-02 14:36:16 +01:00
Geoff Taylor 9881f5f3dc Removed debug cell from Liquidation notebook. 2021-05-01 10:17:23 +01:00
Geoff Taylor 70ddb1a364 Added timestamp to logging. 2021-04-30 15:20:59 +01:00
Geoff Taylor 6083eca622 Fixed linting problems with RPCErrors. 2021-04-29 17:20:46 +01:00
Geoff Taylor 9ae606b1c6 Commands now output the AccountScout report to show errors and warnings. 2021-04-29 16:33:04 +01:00
Geoff Taylor 8198d0bd60 Now checks for Serum OpenOrders accounts in AccountScout, but they're not mandatory. Margin account is also detailed but no longer mandatory. 2021-04-29 15:51:36 +01:00
Geoff Taylor 5bf67573ab Fixed some script issues. 2021-04-29 14:23:05 +01:00
Geoff Taylor 9db61efaf5 mango-fetch can now fetch all margin accounts for a user. 2021-04-29 12:51:13 +01:00
Geoff Taylor feda91156b Fixed problem where OpenOrders could show the wrong program ID in some circumstances. 2021-04-29 12:11:28 +01:00
Geoff Taylor c5734a0624 Moved development commands to 'scripts', so 'bin' is for actual commands.
* Added log level as parameter to commands.
2021-04-29 10:53:01 +01:00
Geoff Taylor f8738770f5 Expanded liquidation process and steps. 2021-04-28 18:36:48 +01:00
Geoff Taylor 1370e924f3 Added AccountLiquidator page and classes, separated out from Liquidation page. 2021-04-27 12:02:05 +01:00
Geoff Taylor 4f6890fe1c Added argument parsing to liquidator command. 2021-04-27 10:53:43 +01:00
Geoff Taylor acf2ff5da6 Renamed Classes.ipynb to BaseModel.ipynb. Adjusted all imports of it. 2021-04-27 09:41:22 +01:00
Geoff Taylor 482f759b11 Added start of a runnable 'liquidator' command. 2021-04-26 17:09:35 +01:00
Geoff Taylor 1c6c81cc0d Added logging objects to classes. 2021-04-26 16:43:40 +01:00
Geoff Taylor add7f5648c Trying to be clearer about liquidation balances. 2021-04-26 16:02:53 +01:00
Geoff Taylor 5079995361 Pre-alpha: now tries to send PartialLiquidate transaction.
In addition:
* Fixed problem calculating balances
* Added References section to README
* Added user account test to AccountScout
* Tidied up Pandas DataFrame output
* Added balance output to ShowMyAccount
2021-04-23 18:15:44 +01:00
Geoff Taylor e8e5074b0a Now provide additional Context objects that can explicitly use Solana's or Serums RPC servers. 2021-04-23 12:08:33 +01:00
Geoff Taylor 38ac769e80 Added new sections to Pandas notebook for liquidatable accounts and ripe mangoes. 2021-04-23 12:07:10 +01:00
Geoff Taylor e067e4a988 Added running emoji (🏃) to Running headers. 2021-04-23 09:46:43 +01:00
Geoff Taylor 12c4dd1281 Added support links to every notebook. 2021-04-23 09:28:09 +01:00
Geoff Taylor 158e263242 Now builds Force Cancel and Partial Liquidate instructions. 2021-04-22 20:03:34 +01:00
Geoff Taylor 7d08e64f51 TOC and text update. 2021-04-22 15:28:02 +01:00
Geoff Taylor 87477784a7 Added custom CSS to fix a cell width problem when TOC showing. 2021-04-22 15:13:23 +01:00
Geoff Taylor 3928331cc3 Reformatted some header text and added TOC on all pages. 2021-04-22 14:28:32 +01:00
Geoff Taylor 081ca5d599 Added more text to AccountScout descriptions. 2021-04-22 13:45:06 +01:00
Geoff Taylor 3d6f24aee9 Working through liquidation, adding instructions.
- Moved AccountInfo to Context.ipynb to avoid dependency problems from Context to AccountInfo when Classes depends on Context
- Moved AccountInfo.load() operation into Context
- Expanded use of BalanceSheet - can now get a BalanceSheet for each token, either in native token ints or using current prices. Previous get_balance_sheet is now get_balance_sheet_totals()
- Changed Context's fetch_token_balance() to sum all token accounts with that mint and owner, not just pick the first one.
- Added Context.fetch_largest_token_account_for_owner() to efficiently pick a single token account from all those with the same owner and mint.
- Changed wallet file format and default filename to be more consistent with other Solana programs.
- Added an AccountScout notebook to verify an account has been setup properly for using the liquidator. It can print out a nice report as well.
- Added an Instructions notebook to gather the builders for the underlying instructions that will be sent to Solana.
- Added a Liquidation notebook to gather information about the liquidation process and as a place to add liquidation code in the future. (This is very rough.)
2021-04-22 13:19:34 +01:00