Commit Graph

119 Commits

Author SHA1 Message Date
Geoff Taylor ba56bdd9f5 Improved event queue handling. Now split incoming events into processed and unprocessed, and changed 'seen' handling to use sequence_number. 2021-08-01 17:47:45 +01:00
Geoff Taylor ca3193e0b6 Added account indexing to commands that need it. 2021-07-31 14:43:39 +01:00
Geoff Taylor b734eeb6cc Fixed linting problems in stub oracle. 2021-07-31 13:37:26 +01:00
Geoff Taylor 2a03f60c3b Fixed incorrect comment. 2021-07-30 22:41:39 +01:00
Geoff Taylor efd24060a8 Added stub oracle code and cache loading. 2021-07-30 20:31:17 +01:00
Geoff Taylor 321dd2142a Fixed comment in Serum oracle. 2021-07-30 18:09:54 +01:00
Geoff Taylor 7cfc1b76ba Added more logging to watch-minimum-balances. 2021-07-30 17:41:15 +01:00
Geoff Taylor d3b0c48528 Marketmaker now automatically creates required Spot OpenOrders if it doesn't exist. 2021-07-30 15:41:47 +01:00
Geoff Taylor 45343e4470 Spot place order now auto-creates OpenOrders in same transaction, and updates loaded Account instance. 2021-07-30 09:35:05 +01:00
Geoff Taylor b75c59599f Removed debug statements. 2021-07-29 16:22:27 +01:00
Geoff Taylor e721d6c8e8 Improved Group and Account output. Tied OpenOrders and PerpOpenOrders together with a PlacedOrdersContainer protocol. 2021-07-29 16:19:52 +01:00
Geoff Taylor 5b6d5f2291 Upgraded to new, better devnet group. 2021-07-29 12:38:34 +01:00
Geoff Taylor 8af5bbb05a Fixed problem in quantity_lots_to_value() calculation. 2021-07-28 18:07:47 +01:00
Geoff Taylor ab3657958d Added hedger command. Had to introduce a LotSizeConverter - may expand its use now it's available. 2021-07-28 17:43:58 +01:00
Geoff Taylor 373392cf78 Updated place_order() method to take an Order instead of separate parameters. 2021-07-28 15:29:24 +01:00
Geoff Taylor d7f117175f Changed RX subscribe_on to observe_on. 2021-07-28 12:52:29 +01:00
Geoff Taylor ac25b08668 Removed max charge from ConfidenceIntervalDesiredOrdersBuilder, added a confidence weight to allow tuning aggressiveness. 2021-07-28 11:05:52 +01:00
Geoff Taylor d739248ec6 Better handling of unseen events in PerpEventQueue. 2021-07-27 21:49:27 +01:00
Geoff Taylor c874b83221 Can now explicitly pick Pyth oracle on mainnet-beta or devnet. 2021-07-26 18:07:56 +01:00
Geoff Taylor 2818fb46d2 Fixed problem with position size in ConfidenceIntervalDesiredOrdersBuilder. 2021-07-26 16:16:00 +01:00
Geoff Taylor f3546ee217 Added ConfidenceIntervalDesiredOrdersBuilder. 2021-07-26 15:47:57 +01:00
Geoff Taylor 3b23f7e4e7 Added 'confidence' to oracles so marketmaker could access Pyth confidence intervals. 2021-07-26 13:42:03 +01:00
Geoff Taylor 072252095a Some work on streaming logs and account/program events. 2021-07-26 12:19:13 +01:00
Geoff Taylor eb244a2167 Renamed PerpMarket to PerpMarketDetails, and PerpsMarket to PerpMarket to be consistent with SerumMarket and SpotMarket. Improved market stub handling. 2021-07-23 14:18:26 +01:00
Geoff Taylor d22a09f208 Added market 'stubs' to allow for delayed loading of markets. 2021-07-23 11:42:22 +01:00
Geoff Taylor 8fe48de527 Moved functionality into *Market objects. 2021-07-23 10:20:44 +01:00
Geoff Taylor 3738ff820e Better logging of Orders. 2021-07-22 18:44:23 +01:00
Geoff Taylor fb0151191f Added some more logging to MarketMaker. 2021-07-22 18:03:17 +01:00
Geoff Taylor 107177ee86 Added execute_and_continue_on_failures() to allow MarketMaker to more instructions even if some fail. 2021-07-22 17:54:48 +01:00
Geoff Taylor add1e4580d Added better formatting for Order output. 2021-07-22 17:54:16 +01:00
Geoff Taylor 7ddc61a3e3 Fixed linting problems. 2021-07-22 15:58:00 +01:00
Geoff Taylor c953ec07fc Added Perp cranking code, plus program. Expanded watch-address, added complementary show-address command. 2021-07-22 15:18:37 +01:00
Geoff Taylor 817b31f8ea Added a streaming watcher for some account types. 2021-07-21 16:35:38 +01:00
Geoff Taylor f8e8480085 Trying a different approach with unknown orders in the marketmaker - now they should be cancelled. 2021-07-21 16:34:47 +01:00
Geoff Taylor c11aececd9 Fixed Serum cranking to be more complete. 2021-07-21 14:31:04 +01:00
Geoff Taylor 0166b5e371 MarketMaker now takes an optional OrderType parameter. 2021-07-20 10:24:05 +01:00
Geoff Taylor be1ba45921 Fixed problem with marketmaker raising an exception when it didn't recognise an order. Now it should just log a warning and move on. 2021-07-19 18:38:55 +01:00
Geoff Taylor dfa9369f87 Trying to stop solanaweb from polluting error notifications. 2021-07-19 18:36:08 +01:00
Geoff Taylor 9c824f502f Fixed linting problem. 2021-07-19 16:43:06 +01:00
Geoff Taylor 605f3bd1e2 Perp market maker no longer tries to run Consume Events. 2021-07-19 16:40:47 +01:00
Geoff Taylor c5cd5ca095 MarketMaker now exits cleanly on Control-C (SIG_TERM). 2021-07-19 15:14:00 +01:00
Geoff Taylor 94df52003b Changes for devnet group v3.8.
* Some struct/layout changes
* Big changes to OpenOrders handling in MarketMaker
* Serum and Spot settlement should now work as expected
2021-07-19 15:04:53 +01:00
Geoff Taylor bbea9594d1 Fixed failing test. 2021-07-17 14:06:18 +01:00
Geoff Taylor 5a4022b236 Wrapping SOL now creates a proper Associated Token Account if no Wrapped SOL accounts are available. 2021-07-16 18:59:19 +01:00
Geoff Taylor 30d4b01a37 Moved SimpleMarketMaker to its own directory+package. 2021-07-16 17:29:48 +01:00
Geoff Taylor 040eadcb90 Made marketmaker a bit more configurable, and it now publishes pulse completion and errors. 2021-07-16 14:26:42 +01:00
Geoff Taylor 3ca1d7b706 Updated to new ids.json. Added deposit instruction+command. 2021-07-16 13:32:30 +01:00
Geoff Taylor 436237a949 Fixed linting problems. 2021-07-16 11:54:13 +01:00
Geoff Taylor 7db8326a7c More realistic market-maker is now available. 2021-07-15 21:03:22 +01:00
Geoff Taylor 9960713d7d Fixed use of backslash in regular expressions. 2021-07-14 18:28:48 +01:00