Christian Kamm
ec99376a8f
Perp: Allow setting pnl asset weights ( #391 )
...
This replaces the previous distinction between trusted and untrusted
markets, they are equivalent to setting the asset weights to 1 or 0
instead.
This way, we can weigh positive pnl in the trusted case at less than 1
which is more correct from a risk point of view and allows for more
flexibility when it comes to liquidation.
Co-authored-by: microwavedcola1 <microwavedcola@gmail.com>
2023-01-16 16:49:09 +01:00
tjs
b0164113f0
support healthtype of undefined to calculate with a weight of 1
2022-12-30 15:26:53 -05:00
microwavedcola1
f3dac89d3e
Fix bug in getMaxBaseForSerum3AskUi where base returned was wrong
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-19 18:30:26 +01:00
Christian Kamm
071dc34ccc
Client: Rework max_swap function ( #340 )
...
* Client: Rework max_swap function
Determining the amounts at which the health function changes slope
becomes too difficult when serum3 open orders come in.
Instead, generally find the function's maximum and then work with that.
* max_swap: Add test for swapping into a trustless token
* ts port
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-16 16:33:37 +01:00
microwavedcola1
f781241f90
Fix bug in porting from rust to ts
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-14 15:43:06 +01:00
microwavedcola1
2cd8c048f3
bump max iterations in max swap, for edge cases
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-14 14:55:37 +01:00
microwavedcola1
51cded4965
Mc/health max swap with serum effects ( #333 )
...
* rearrange, log before expect
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* rearrange, log before expect
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix test
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* health max swap with serum effects
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* max swap: Fix with serum reserved amounts
* port rust code to ts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* port tests
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix method call
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
2022-12-14 09:21:45 +01:00
microwavedcola1
7d9c3616af
ts client changes ( #320 )
...
* cleanup + small sync with program
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Update lock file
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix tsc errors
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-08 10:16:06 +01:00
microwavedcola1
fa09c557a1
ts client sync with program ( #311 )
...
mostly health related code
2022-12-02 15:48:43 +01:00
microwavedcola1
44d0170ea9
mc/settle pnl ts client ( #292 )
...
* oracle peg client support
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* perp pnl settle, candidate finder, and example
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-11-21 20:36:13 +01:00
microwavedcola1
8e919bb741
ts: perp improvements ( #263 )
...
* ts: perp improvements
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-10-07 13:52:04 +02:00
microwavedcola1
bafaf73745
Mc/ts numbers - cleanup usage of all numbers ( #259 )
...
* ts: a higher error tolerance is sufficient
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: move stuff around
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: string representation while printing
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: number cleanup
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: fix tsc errors
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: cleanup creation of I80F48 from BN
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: fixed from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* revert
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: fix from call
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-30 15:07:43 +02:00
microwavedcola1
d1079bb1b9
Mc/ts increase error tolerance for binary search ( #258 )
...
* ts: a higher error tolerance is sufficient
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* program: fix error size
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-30 14:59:12 +02:00
microwavedcola1
c22302a1da
ts client improvement ( #254 )
...
* Perps: Support trusted markets
* ts: health on client side
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: change perp lookup
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: reword error messages, refactor common uses of lookups
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: reformat
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: improve typing
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: fix some todos
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: fix some todos
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: type aliasing
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: remove '| undefined' where not required as return type
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: use trusted market flag for perp health
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
2022-09-29 15:51:09 +02:00
microwavedcola1
8d86883190
ts: remove debug code
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-27 17:33:51 +02:00
microwavedcola1
b7aa6dbd5d
ts: tiny liabs pushes health ratio beyond what I80F48 can support ( #243 )
...
* ts: tiny liabs pushes health ratio beyond what I80F48 can support
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* add alias
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-24 07:11:57 +02:00
microwavedcola1
bb6790e678
ts: use price factor in maxSourceForSwap + max perp bid and ask + tests ( #237 )
...
* ts: use price factor in maxSourceForSwap
ts: max perp bid and ask
ts: mocha test for max swap
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: comemnt
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-23 11:43:26 +02:00
microwavedcola1
4090cf407e
ts: fix max serum bid and ask that can be placed by a mango account ( #241 )
...
* ts: fix getMaxQuoteForSerum3BidUi and getMaxBaseForSerum3AskUi where the zero amount was not tight enough for binary search
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-23 09:34:28 +02:00
microwavedcola1
5f62f15549
mc/i80F48 in-place cleanups ( #203 )
...
* ts: use in place I80F48 wherever applicable
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts: dont overwrite I80F48 constants
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-01 09:48:23 +02:00
microwavedcola1
0c6cc16023
ts: serum display function for max leverage ( #202 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-31 14:37:45 +02:00
microwavedcola1
5e33c00ec8
Merge branch 'main' into dev
2022-08-31 11:55:54 +02:00
tjshipe
263bc6ff1f
turn on strict null checks and fix issues ( #201 )
2022-08-31 11:41:12 +02:00
microwavedcola1
c66dd882b6
ts: Additional serum3 support ( #196 )
...
* get bids and asks for a user on a serum3 market
* get orderbook for a market
* get max bid or ask that a user can place for a market
* simulate health if a bid or ask were to be placed
misc:
* fix remaining accounts list for health when placing perp bids
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
format
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
format
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
remove testing code
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
script adjustment
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
comments
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-31 11:36:44 +02:00
microwavedcola1
5947698af8
make functions consistent, always return positive values for deposits or borrows
...
provide ui alternative functions for many functions
provide a way to grab total vault balance for a token on a group
improve getMaxWithdrawWithBorrowForToken and getMaxSourceForTokenSwap and simHealthRatioWithTokenPositionUiChanges
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 13:47:08 +02:00
microwavedcola1
363d7a306c
fix
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 11:43:25 +02:00
microwavedcola1
7321df31be
fix
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 09:42:00 +02:00
microwavedcola1
2f8436d8f7
fix
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 08:34:44 +02:00
microwavedcola1
357710dc24
ts: Fix getMaxWithdrawWithBorrowForToken and add getGroupTokenVaultBalanceByMint
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-22 13:02:43 +02:00
microwavedcola1
5e617feb8a
Merge branch 'main' into dev
2022-08-18 16:30:38 +02:00
Nicholas Clarke
808f0abde9
Clarkeni/ids from api ( #177 )
...
* Fetch ids from api. Use mint public key in client args instead of token name.
Fix tests
Add getFirstBankByMint and getFirstBankByTokenIndex
* prettier
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* yarn fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* fix usage of service
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* cleanup
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* clean up testing scripts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-18 08:48:45 +02:00
microwavedcola1
4ee4ab829f
more defensive coding
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-15 20:23:51 +02:00
microwavedcola1
da93f1118e
defensive code
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-15 20:19:09 +02:00
microwavedcola1
551e101b08
fix health ratio computation
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-15 11:21:29 +02:00
microwavedcola1
261c856bb2
reduce max source swap targetError so that we dont error out
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-12 11:08:08 +02:00
microwavedcola1
a484aed42b
simulate on non existent token positions ( #162 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-12 11:05:39 +02:00
microwavedcola1
4f25742b26
simHealthWithTokenPositionChanges -> simHealthRatioWithTokenPositionChanges
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-12 08:30:13 +02:00
microwavedcola1
5402012064
apply loan origination fee buffer
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-11 17:59:49 +02:00
microwavedcola1
eee10a22bb
mc/max swap ( #159 )
...
* rework getMaxSourceForTokenSwap
* Fix assets and liabs method
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-11 17:44:12 +02:00
tjs
21f469fe4d
add eslint config and fix errors
2022-08-04 13:42:41 -04:00
microwavedcola1
bc4c57911a
Health from health components in ts/client ( #104 )
2022-07-13 19:18:55 +02:00