Commit Graph

23 Commits

Author SHA1 Message Date
Geoff Taylor 6306e1e65a Improved model state and marketoperations. Some work on hedging. 2021-09-30 18:53:33 +01:00
Geoff Taylor e6eaeaeed1 Now use a monotonic time (in milliseconds, with collision avoidance) for client IDs to help with some other systems. 2021-09-07 19:07:22 +01:00
Geoff Taylor ec37c14d03 Added ensure-account and ensure-open-orders commands. 2021-08-19 11:00:39 +01:00
Geoff Taylor 97a5c41a39 Updated to latest group structures and IDs. 2021-08-17 19:42:11 +01:00
Geoff Taylor bd36dcf47b Improved cranking and settling operations. 2021-08-16 14:43:44 +01:00
Geoff Taylor f596d571f6 Big change - now uses our own 'Client' which handles some situations better from our point of view:
* Being able to specify commitment on the Client instead of every call.
* Better error handling (more exception details, and specific rate limiting exceptions)
* More obvious return values, instead of always having to dereference "result".
2021-08-07 15:07:19 +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 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 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 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 7db8326a7c More realistic market-maker is now available. 2021-07-15 21:03:22 +01:00
Geoff Taylor 9f99ecf650 Updated SimpleMarketMaker so it could run well against pure Serum markets. 2021-07-14 14:03:51 +01:00
Geoff Taylor 80886c106c All MarketOperations now properly use their equivalent MarketInstructionBuilder for building instructions. 2021-07-12 18:26:35 +01:00
Geoff Taylor 6a15c81fa3 New approach to transactions allowing them to be split up.
* CombinableTransactions now separated out.
* CombinableTransactions are now size-aware when being executed, and will automatically split into batches for execution if they are too big.
* New MarketInstructionBuilder approach - each market type can now have its own way of building instructions for common operations.
2021-07-12 17:18:56 +01:00
Geoff Taylor faf514cde1 Brought up to date for new Group structures. New websocket approach. 2021-07-12 10:57:05 +01:00
Geoff Taylor bf675122ac Updated ids.json for new group. Updated Group with new structure.
* Extended mechanism for combining instructions.
* Fixed Account's calculations of deposits and borrows.
* Added net_assets to Account.
* Groups now maintain loaded RootBanks, not just PublicKeys of them.
* Fixed simple market-maker's calculation of position sizes.
2021-07-01 21:24:08 +01:00
Geoff Taylor e61a3806ba Removed all InstructionBuilders. Instead we'll use simpler functions that return an array of instructions (allowing for compound instructions etc.) 2021-06-25 17:21:53 +01:00
Geoff Taylor 5b71ffbd18 Big Rename - removal of old Group and MarginAccount, deletion of a lot of code that is no longer relevant.
* Added some TODO comments where work needs to be done but pieces are currently missing.
2021-06-25 15:50:37 +01:00
Geoff Taylor cd46c1c98b First cut at a lot of V3 code. 2021-06-25 10:33:40 +01:00