Commit Graph

376 Commits

Author SHA1 Message Date
Geoff Taylor 8596a4aa58 Fixed spot fee discount address to use MSRM or SRM vault. 2021-09-13 16:15:20 +01:00
Geoff Taylor 7c17f5cbc4 Added --log-suppress-timestamp parameter. Centralised much CLI argument handling. 2021-09-13 14:05:19 +01:00
Geoff Taylor 4310cc7e2a Brought V2 changes to get_multiple_accounts() across to V3. 2021-09-13 12:17:19 +01:00
Geoff Taylor 5aae1f5aab Improved output of instructions when over 1232-byte limit. 2021-09-09 19:02:17 +01:00
Geoff Taylor fe6af5f2b3 Fixed problem with lot size conversion and rounding. 2021-09-09 17:17:23 +01:00
Geoff Taylor 8c42537572 Updated SpotCollateralCalculator to take tokens in OpenOrders into account. 2021-09-09 14:10:34 +01:00
Geoff Taylor 70a038ffd9 Added a --blockhash-cache-duration parameter. 2021-09-07 21:44:48 +01:00
Geoff Taylor ce25003a2c Added caching to get_recent_blockhash(). 2021-09-07 21:12:37 +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 75be37fbd9 Repurposed 'sweep' as a more general 'balance-account' command. Moved 'group-balance-wallet' to just 'balance-wallet' to be similar in concept. 2021-09-07 18:40:34 +01:00
Geoff Taylor b4406a13d9 sweep command now takes a target balance. 2021-09-06 21:38:12 +01:00
Geoff Taylor 53207d1d98 FTX oracle no longer tries to interfere with PERP market names. 2021-09-06 19:26:45 +01:00
Geoff Taylor 920ac364af Fixed incorrect error message in argument exception. 2021-09-06 18:21:38 +01:00
Geoff Taylor f4af4960d7 Added new OrderChain elements. Removed Serum oracle and added Market oracle (which includes Serum oracle functionality plus more). Expanded chain documentation and added oracle documentation. 2021-09-06 17:07:26 +01:00
Geoff Taylor 2a424aa2d1 Added sweep command to sell all tokens in a market. 2021-09-02 18:51:43 +01:00
Geoff Taylor 8624afabdc Replaced command switch --account-index with --account-address because of inconsistent results when fetching multiple accounts - they could come back with different indices. 2021-09-02 17:19:17 +01:00
Geoff Taylor 71ba03935f Added send_transaction response to debug log. 2021-09-02 15:23:53 +01:00
Geoff Taylor 652296856b Added some logging to head elements of orderchain. 2021-09-02 13:30:53 +01:00
Geoff Taylor 1d4e24ea38 ModelState now tracks current orders on the orderbook directly, rather than using OpenOrders. 2021-09-02 13:11:35 +01:00
Geoff Taylor 39c591fc6f Made order chain more configurable, added MarketmakingOrderChain to docs. 2021-09-02 12:01:41 +01:00
Geoff Taylor d7b36c355c Now uses a fresh ThreadPoolScheduler every time instead of one per Context. 2021-09-02 08:30:06 +01:00
Geoff Taylor 86f7933bcb Fixed problem calculating the proper tick under/over the top orderbook prices. 2021-09-01 18:33:38 +01:00
Geoff Taylor 75d24ff367 Fixed airdrop command in quickstart. 2021-09-01 09:25:33 +01:00
Geoff Taylor 38ff5e2fcd Added context name to Pyth exceptions. 2021-08-31 15:09:58 +01:00
Geoff Taylor dcd1ccce5b show-address can now handle a RootBank. 2021-08-31 14:31:47 +01:00
Geoff Taylor b57ef58d63 Added a RoundToLotSizeElement element to marketmaker chain. 2021-08-31 12:36:23 +01:00
Geoff Taylor befb86bcfb watch-minimum-balances now uses a single websocket for all accounts (again). 2021-08-31 10:55:06 +01:00
Geoff Taylor 9111294f2d Added request/response data to TransactionException. 2021-08-31 10:40:05 +01:00
Geoff Taylor 8bf6384076 Added CollateralCalculator to calculate collateral in different market types. 2021-08-31 00:30:22 +01:00
Geoff Taylor bf7dc95a9d Merging V3 branch into main. 2021-08-30 15:42:11 +01:00
Geoff Taylor 126cb4e288 Added airdrop command to interact with faucets. Removed requirement to use Sollet from MarketmakingQuickstart. 2021-08-30 11:33:44 +01:00
Geoff Taylor 9159d615c4 Updated dependencies and fixed subsequent issues. 2021-08-27 20:37:23 +01:00
Geoff Taylor ad86430638 Fixed bug in Serum lot size conversions. 2021-08-26 18:23:09 +01:00
Geoff Taylor e670611722 Fixed forcing to mainnet/devnet. 2021-08-26 18:03:42 +01:00
Geoff Taylor 352f4ea65f Removed percentage target balances because of the unexpected frequent rebalancing they could cause. 2021-08-26 16:29:00 +01:00
Geoff Taylor 03f385043b Backported BetterClient from V3 and prefer its return values to the regular Client's. 2021-08-26 15:48:25 +01:00
Geoff Taylor 20672e17d1 Marketmaker now automatically redeems MNGO on pulse. 2021-08-26 14:01:57 +01:00
Geoff Taylor 09bdfe3b9f Better identification of TokenLookup instances. 2021-08-26 13:43:23 +01:00
Geoff Taylor 261848f325 Big renaming of Context properties to make them more consistent and appropriate. 2021-08-26 10:31:02 +01:00
Geoff Taylor b89a072cdd Moved not_quoting to model_state (where external components and orderchain elements can both access it). Added a state bag to model_state too. 2021-08-26 09:19:51 +01:00
dd d888fe010c Merge remote-tracking branch 'origin/v3' into v3 2021-08-25 16:41:33 -04:00
dd 958dd87d1c fixed bug in preventpostonlycrossingbookelement.py where bid was being compared against best bid. Now compares against best ask 2021-08-25 16:41:28 -04:00
Geoff Taylor 8debc3238a Added simple flag for marketmaker to prevent quoting. 2021-08-25 20:57:57 +01:00
Geoff Taylor 6bfbe40c84 Fixed problem calculating spread in model. 2021-08-25 17:12:39 +01:00
Geoff Taylor 8c8ebdc7ae Merge branch 'v3' of https://github.com/blockworks-foundation/mango-explorer into v3 2021-08-25 17:09:03 +01:00
Geoff Taylor d151e0ce8f Updated to latest devnet ids.json. Fixed some context configuration problems. 2021-08-25 17:06:00 +01:00
dd 05d78ea0b0 top_ask and top_bid now return None if book is empty. 2021-08-25 10:20:53 -04:00
Geoff Taylor ce37e835a2 Added ModelStateBuilder and ability to poll RPC methods in marketmaker instead of relying on websockets. 2021-08-24 20:13:44 +01:00
Geoff Taylor fc1957d9b2 Added bias tests. 2021-08-23 17:35:09 +01:00
Geoff Taylor a8dd489601 Added a nicer log mess when biasing marketmaker orders. 2021-08-23 15:55:10 +01:00
Geoff Taylor 59ba4894f1 Moved hedger to its own class, and re-used it as an option in marketmaker. 2021-08-23 15:36:55 +01:00
Geoff Taylor 3419c89033 Moved marketmaker to an 'orderchain' model. 2021-08-22 19:48:20 +01:00
Geoff Taylor b56d114a4a Added bids and asks to marketmaker ModelState, with watchers for latest state. 2021-08-21 22:06:58 +01:00
Geoff Taylor 191d3e644c Anything imported from pyserum should now be imported as a PySerumXYZ to avoid confusion with Mango Explorer classes. 2021-08-21 18:24:53 +01:00
Geoff Taylor 8a83c73ea8 Now run websocket connections each in their own websocket rather than using a shared one. (Shared websocket is still an option though.) 2021-08-21 16:03:13 +01:00
Geoff Taylor 153ebae2f4 Moved opening of websocket to be entirely within WebSocketSubscriptionManager. 2021-08-21 13:25:28 +01:00
Geoff Taylor 1696ead1e3 Added --quote-position-bias parameter to marketmaker. 2021-08-21 00:00:34 +01:00
Geoff Taylor f0e8738b04 Removed SPL token lookups from SpotMarketInstructionBuilder. 2021-08-19 23:32:58 +01:00
Geoff Taylor 46c768e11b Fixed loading of some context parameters. 2021-08-19 22:59:36 +01:00
Geoff Taylor 5a76874466 Updated for new group. 2021-08-19 22:23:19 +01:00
Geoff Taylor 66ccdcf63e Changed confidence_weighting in marketmaker to confidence_interval_levels. Multiple levels can now be specified, creating multiple levels of orders. 2021-08-19 17:31:17 +01:00
Geoff Taylor ec37c14d03 Added ensure-account and ensure-open-orders commands. 2021-08-19 11:00:39 +01:00
Geoff Taylor a96b67e729 Improved transaction exception reporting. 2021-08-19 09:46:54 +01:00
Geoff Taylor a51b38049b Marketmaker no longer masks errors. 2021-08-18 14:49:54 +01:00
Geoff Taylor 2bf4d07592 cancel-order can now take an --ok-if-missing parameter, and use it if the underlying market-type supports it. 2021-08-18 12:23:20 +01:00
Geoff Taylor 4c544cb68c Fixed TransactionException not properly interpreting error responses. 2021-08-17 20:45:26 +01:00
Geoff Taylor 97a5c41a39 Updated to latest group structures and IDs. 2021-08-17 19:42:11 +01:00
Geoff Taylor 847628dfd6 Fixed problem with TokenAccount commitments. 2021-08-17 19:17:09 +01:00
Geoff Taylor b408874a2a Fixed TokenAccount to be able to find or create the associated token account, or use an old-style account if it exists and the associated token account doesn't. 2021-08-17 17:52:17 +01:00
Geoff Taylor 6a61b55e93 Improved transaction exception handling. 2021-08-17 12:50:27 +01:00
Geoff Taylor d5eaa385da Removed rx.core.typing for many classes - using the actual base classes now. 2021-08-17 12:39:55 +01:00
Geoff Taylor a4ca18e5ed Added/centralised 'watchers'. Removed FileToucherObserver. Added HealthCheck. 2021-08-17 12:17:49 +01:00
Geoff Taylor 64cdebaf8d Reduced error threshold for stale prices. 2021-08-16 22:32:28 +01:00
Geoff Taylor 98acb59789 Fixed bug in handling of referral rebate. Added 'info' property to margin accounts. 2021-08-16 22:12:51 +01:00
Geoff Taylor bd36dcf47b Improved cranking and settling operations. 2021-08-16 14:43:44 +01:00
Geoff Taylor 84b664b4fd Fixed problem with instruction display. 2021-08-14 11:09:27 +01:00
Geoff Taylor 255d3a70df Added a mint command for devnet use. 2021-08-13 21:34:17 +01:00
Geoff Taylor 140270b870 Fixed text output of liquidate event. 2021-08-13 20:20:03 +01:00
Geoff Taylor 97bd857418 Updated to handle new event queue format. 2021-08-13 20:17:17 +01:00
Geoff Taylor 3403555036 Added account name/info to output. 2021-08-13 12:15:17 +01:00
Geoff Taylor 162f41e2d0 Added a redeem-mango command. 2021-08-11 19:14:26 +01:00
Geoff Taylor 94c6fa149e Sometimes Solana returns 'err' as a string instead of an array of strings. 2021-08-09 21:07:21 +01:00
Geoff Taylor 9bd75dc8d2 Websocket now has a force_reconnect() method, plus subscribable disconnect event. 2021-08-09 13:24:33 +01:00
Geoff Taylor 9b6f33d7e6 Added --name parameter to programs and context to allow better reporting of errors. 2021-08-09 10:27:47 +01:00
Geoff Taylor aa4406d68f Fixed account output/reporting. 2021-08-07 18:42:39 +01:00
Geoff Taylor e890490557 Backported custom Client from V3 to make sure 'processed' commitment is used consistently, even by code that isn't ours. 2021-08-07 15:10:06 +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 613d964051 Perp Accounts accrue benefits in MNGO so improved handling of it. 2021-08-05 15:35:08 +01:00
Geoff Taylor 7033a080bf Better logging of failing instructions. 2021-08-04 17:50:38 +01:00
Geoff Taylor cc6f62c312 Expanded use of Group and Account baskets. 2021-08-04 13:08:34 +01:00
Geoff Taylor f4af201d3e Fixed cranking use of openorders accounts in marketmaker. 2021-08-03 19:51:25 +01:00
Geoff Taylor d5f8e1d7da Turning off running marketmaking using individual transactions. 2021-08-03 18:44:05 +01:00
Geoff Taylor 88fa2181d2 Change Group to use a more basket-orientated approach instead of multiple properties requiring indexes. 2021-08-03 18:32:12 +01:00
Geoff Taylor c90ff010d3 Improved how accounts handle their basket of tokens. 2021-08-03 12:40:00 +01:00
Geoff Taylor 1b87591ae7 Improved context handling of skip_preflight. 2021-08-03 09:14:22 +01:00
Geoff Taylor 0bcf5cfc5a Improved market output. 2021-08-03 09:13:56 +01:00
Geoff Taylor 2840f52fde Fixed stub oracle price now the server stub oracle has been updated. 2021-08-03 09:08:47 +01:00
Geoff Taylor 7e7c21c0aa Marketmaker no longer tries to run instructions in parallel. (I hope this is a temporary fix.) 2021-08-02 17:48:20 +01:00
Geoff Taylor 6f86e83160 Simplified watching. Added inventory watchers. 2021-08-02 17:14:00 +01:00
Geoff Taylor 18935be67e Fixed spot market crank. 2021-08-02 17:13:50 +01:00
Geoff Taylor ed3955cc1f Fixed some type hints. 2021-08-01 18:03:46 +01:00
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 56232c44cf Better exception detail on failed liquidations. 2021-07-20 10:54:17 +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 f7aeafa3c5 Trying to stop solanaweb from polluting error notifications. 2021-07-19 18:29:55 +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
Geoff Taylor bbcf3d35ce Changed the way SimpleMarketMaker calculates position sizes to be in line with what it has on each side instead of the total. 2021-07-14 18:22:36 +01:00
Geoff Taylor ec051037d4 Fixed Serum oracle to work better with Serum prices when the code itself is not on mainnet. 2021-07-14 16:34:10 +01:00
Geoff Taylor 9ae3e8a327 Fixed oracles for perp market symbols. 2021-07-14 15:51:32 +01:00
Geoff Taylor fd7c045d37 Updated health check pings to use the prefix /var/tmp/mango_healthcheck_ 2021-07-14 14:17:14 +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 2f01d8adf0 Added crank and settle calls when cancelling Serum orders. 2021-07-13 20:47:37 +01:00
Geoff Taylor caf4947a5e Removed extraneous print statements. 2021-07-13 20:27:35 +01:00
Geoff Taylor 19e4d948d3 Updates to allow some market making on Serum. 2021-07-13 20:01:32 +01:00
Geoff Taylor 33c2c421db Fixed problem with simple market maker creating too many orders. 2021-07-13 15:16:39 +01:00
Geoff Taylor bcd56301c9 Brought changes to structs and instructions across for new group/code v3.4. 2021-07-13 12:43:50 +01:00
Geoff Taylor 82405cfec1 Updated Serum and Spot instructions builders to properly crank and settle. 2021-07-12 20:29:41 +01:00
Geoff Taylor a00738a67c Added DesiredOrdersBuilder and a couple of basic implementations. 2021-07-12 20:09:36 +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 fa28fe4209 Fixed problem fetching transactions for report. Reversed order of output of transactions so it appears better in notifications. 2021-07-07 19:59:27 +01:00
Geoff Taylor 6977d632b0 Fixed problem fetching transactions for report. Reversed order of output of transactions so it appears better in notifications. 2021-07-07 19:58:28 +01:00
Geoff Taylor 79a13f0e06 Report transactions now insists on a report.state file, and reads from it now instead of taking a separate parameter. 2021-07-07 15:06:24 +01:00
Geoff Taylor fb874dae94 Report transactions now insists on a report.state file, and reads from it now instead of taking a separate parameter. 2021-07-07 15:02:57 +01:00
Geoff Taylor 12c07cab7e Added target address to transaction report output. 2021-07-07 12:28:50 +01:00
Geoff Taylor d794326f14 Added target address to transaction report output. 2021-07-07 12:21:31 +01:00
Geoff Taylor 9e706c1d91 (Temporarily?) removed Settle from Spot order placement because it stopped working. 2021-07-01 22:10:52 +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 8860263346 Fixed problem placing spot orders. 2021-06-30 16:16:02 +01:00
Geoff Taylor b5c8f69ae1 Fixed Withdraw command. 2021-06-30 15:06:10 +01:00
Geoff Taylor 3e4ba1052c Initial work on placing/cancelling spot market orders. 2021-06-30 14:08:37 +01:00
Geoff Taylor e16ac9cdc2 Added proper group-name lookup when fetching groups. 2021-06-28 09:48:16 +01:00
Geoff Taylor 888994424d Improved reporting of TokenValue and BalanceSheet, in line with V2 changes. 2021-06-26 18:24:07 +01:00
Geoff Taylor bbd8cc487e Added a --fetch-prices option to show-margin-account. 2021-06-26 18:11:16 +01:00
Geoff Taylor 42181c10d5 Shifted error handling in SimpleMarketMaker. 2021-06-25 17:58:27 +01:00
Geoff Taylor 857d033572 Added compound instruction builder for placing Serum orders, cranking and settling all in one go. 2021-06-25 17:52:22 +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 b8dc12a3e6 Separated out token and market lookups. 2021-06-25 11:10:41 +01:00
Geoff Taylor cd46c1c98b First cut at a lot of V3 code. 2021-06-25 10:33:40 +01:00
Geoff Taylor 852abdff00 Made all send_transaction() calls consistent in use of preflight commitment. 2021-06-24 11:59:57 +01:00
Geoff Taylor f4e034a943 Added 'processed' commitment to client calls where it was missing. 2021-06-23 11:36:35 +01:00
Geoff Taylor 206a95e39a Added type annotation for token lookups. 2021-06-23 09:44:55 +01:00
Geoff Taylor 9e5b54b6bd Shift representation of max input amount. 2021-06-23 09:14:04 +01:00
Geoff Taylor 3d3577023c Continue liquidating accounts that are liquidatable even if they're above maint_coll_ratio. 2021-06-22 20:36:31 +01:00
Geoff Taylor 72a64a322e Updated failed liquidation message to include liquidator name. 2021-06-22 10:25:06 +01:00
Geoff Taylor f7bd67308e Improved AccountInfo.load_multiple and made better use of it fetching updated prices. 2021-06-22 09:43:31 +01:00
Geoff Taylor 5fc7aa7868 Added better health management of LiquidationProcessor. 2021-06-21 11:06:26 +01:00
Geoff Taylor 858cee248b Now uses ReportingAccountLiquidator even when using NullAccountLiquidator. 2021-06-19 19:55:23 +01:00
Geoff Taylor fab659c244 Improved access to market lookup data.
* Abstracted MarketLookup from SpotMarketLookup, because not all markets need be 'spot'.
* Made MarketLookup accessible from Context.
2021-06-18 13:50:33 +01:00
Geoff Taylor aac32ba716 Wallet can now be loaded from environment.
* Centralised configuration of Wallet from command-line
* Added loading Wallet from environment variables
* Improved command-line handling of many commands
2021-06-17 12:06:39 +01:00
Geoff Taylor 7078ef4722 Removed default context objects - now have static method on Context object: Context.default(). 2021-06-17 11:18:35 +01:00