* implemented reduce_only and market order for PlacePerpOrder; untested * added root bank cache valid check under MangoCache * fixed the root bank cache function and made it compiling * added some stuff during live stream. still not finished * Cache validation moved to impl * All cache validations moved to appropriate struct implementations * Increase valid_interval for RootBankCache check * implemented place_spot_order2; still not finished reducing size of the tx * more progress on place_spot_order2 * finished implementing place_spot_order2 * intermediate work on advanced orders * compiling and deployed to devnet; advanced orders still unfinished * changed get_spot_val to use Option for open_orders; more work on advanced orders but not completed * added testi80f48 into placespotorder2 * removed test_i80f48; removed rent_ai into invoke_place_order * removed test_i80f48; removed rent_ai into invoke_place_order * cleaned up compiler warnings * use serum order v3 serialization * add perp stop order instruction * implement correctly register order * connect instructions with impl * changed name to PerpTriggerOrder. Still need to implement RemovePerpTriggerOrder and test; * Added RemoveAdvancedOrder and rearranged some of the instruction discriminants * remove perp trigger order instruction * Fix pda_signer_seeds * fixed borrow issue in AddPerpTriggerOrder * Move transfer_lamports * fix accounts comment * fixed borrow checker issue in execute adv order; added signed version of transfer lamports * added order_type into LeafNode to help with trading view order movement * fixed issues with transfering lamports so now RemoveAdvancedOrder works * added some TODOs for logs; added simulation of perp order to prevent exploits in ExecutePerpTriggerOrder * added exp to liquidity mining params * Replaced json logging of FillEvent with borsh serialized LoggableFillEvent base64 encoding * Added accounts to logs where necessary (mango_group_pk, liqee, liqor). Fixed malformed json. Added logging to cache_perp_markets. Made 'init_health above zero' an error'. * updated the LoggableFillEvent * revert throwing zero on 'Account init_health above zero' * Added accounts to logs where necessary (mango_group_pk, liqee, liqor)… (#55) * Added accounts to logs where necessary (mango_group_pk, liqee, liqor). Fixed malformed json. Added logging to cache_perp_markets. Made 'init_health above zero' an error'. * revert throwing zero on 'Account init_health above zero' * fixed liquidate_perp_market log * fixed zero open interest bug in perp bankruptcy * fixed zero open interest bug in perp bankruptcy * added anchor events framework in mango-logs directory. See the README on how to use it. * added stubs for all the logs that need to be replaced * Added mango group to FillLog and added cache prices log, CacheRootBanksLog * added support for all logs; added OpenOrdersBalanceLog as well whereever OpenOrders changes * Added PostOnlySlide * fixed PostOnlySlide * added MngoAccrual * added MngoAccrualLog * rearrange * removed reduce_only restriction on AddPerpTriggerOrder * added msg into exec perp trigger * fixed check in ExecutePerpTriggerOrder * Fix test build: don't require &'a [AccountInfo<'a>] lifetimes (#59) It's sufficient to propagate the lifetimes on checked_unpack_open_orders. * Add log events for deposit, withdraw and redeem mngo (#58) * updated I80F48 to u64 in new log structs * Fix serialization of instructions (#60) Now it matches what MangoInstruction::unpack() expects. - Side, OrderType, AssetType, TriggerCondition are serialized into u8 - the Option fields in ChangePerpMarketParams have a fixed width * merged in changes from main * Update serum-dex program fixture to 0.4.0 Built from 1be91f2863d8ecede32daaae7e768034e24bbc79 * quantity == u64::max in withdraw now withdraws max possible (if allow borrow false) * UpdateFunding now caches funding; new UpdateFundingLog * Add perp trigger order unittests (#61) * Fix sim_new_bid/ask when the book is empty * Add first perp trigger order unittest This test only runs with "cargo test-bpf" as the non-bpf runtime does not allow creation of pda accounts. - Test users are now owned by the system program, not by themselves - MangoProgramTest::process_transaction no longer always returns success (must check for error; all existing users do) * Test: Add perp trigger order test around health * Minor fixes to mango-logs (#63) * Add mango-logs to Anchor.toml * mango-logs: Disable doctests There's nothing to test and they fail spuriously with an ambiguity error on the mango_logs program. * Add github actions CI workflow (#64) * Apply rustfmt To allow the formatting lint CI job to pass * Add github actions CI workflow Adapted from https://github.com/solana-labs/dapp-scaffold Co-authored-by: dafyddd <daffy321@gmail.com> * updated github workflows * added max_withdrawable utility function in processor.rs * moved max_withdrawable into MangoAccount and now also uses existing deposits * Added market index to FillLog * removed some debug logging in execute trigger order * added the deploy time for v3.1 Co-authored-by: dd <dafydd.durairaj@gmail.com> Co-authored-by: Ralfs <lagzda7@inbox.lv> Co-authored-by: Tyler Shipe <tjshipe@gmail.com> Co-authored-by: Maximilian Schneider <mail@maximilianschneider.net> Co-authored-by: Riordan Panayides <riordan@panayid.es> Co-authored-by: root <nicholasgclarke@gmail.com> Co-authored-by: Christian Kamm <ckamm@delightful-solutions.de> |
||
---|---|---|
.. | ||
lib.rs |