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