Commit Graph

391 Commits

Author SHA1 Message Date
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
Geoff Taylor 5bc1326c6a Added Wallet.ipynb to load Account from private key file. 2021-04-19 10:07:31 +01:00
Geoff Taylor bdcba6534b Added Ripe Mangoes 🥭 to the Pandas page summary calculations. 2021-04-17 18:22:44 +01:00
Geoff Taylor f392174e10 Added Binder link to header of all notebooks.
This is so that anyone viewing a notebook on GitLab has an easy way to launch and run it.
2021-04-17 17:47:17 +01:00
Geoff Taylor 29798a4480 Added warning disclaimer. 2021-04-15 10:59:04 +01:00
Geoff Taylor f950bed04f Turned off profiling of ShowAllAccounts.ipynb. 2021-04-14 17:46:39 +01:00
Geoff Taylor 3f351fbc44 Added Binder badge to README.md 2021-04-14 17:29:13 +01:00
Geoff Taylor 647fe9e44f Hide index (margin account PublicKey) in Pandas page.
It probably makes more sense to show the Owner PublicKey, so keep that and hide the account address.
2021-04-14 17:28:13 +01:00
Geoff Taylor 2cc5135517 Initial import. 2021-04-14 16:51:39 +01:00