Christian Kamm
1d6ce550f3
FlashLoan: fee fixes ( #693 )
...
- Rename the new "swap fee" to "deposit fee" and let it apply to all
deposits, not just for Swap-type flash loans.
- But don't apply it to withdrawals (effectively giving rebates!)
Result of audit feedback
2023-08-29 10:03:07 +02:00
Christian Kamm
b2e578bc61
Merge remote-tracking branch 'origin/deploy' into dev
2023-08-10 13:32:06 +02:00
Christian Kamm
6dcd5c925c
FlashLoan swaps: Allow charging a fee ( #660 )
...
To give more flexibility to the DAO.
The fee is deducted from any deposits that happen during the flash loan
and controlled per-bank with TokenEdit.
2023-08-09 13:27:25 +02:00
microwavedcola1
4c083a9a56
ts client: fix getMaxWithdrawWithBorrowForToken ( #664 )
...
* fix max withdraw amount, wasnt taking into account scaled weights
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
---------
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-07 13:12:37 +02:00
tjs
214ffafb1f
expose additional bank params
2023-07-19 14:57:29 -04:00
microwavedcola1
e623b8c276
Enforce safety limits while borrowing, while computing max swap source, and max spot order base/quote ( #642 )
...
* --wip-- [skip ci]
* enforce safety limits while borrowing
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* --wip-- [skip ci]
* --wip-- [skip ci]
* --wip-- [skip ci]
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
---------
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-13 16:29:13 +02:00
Christian Kamm
5fc7aa1092
Configurable perp settle token ( #550 )
...
This changes perp market margining to no longer assume all pnl is in USD
while settlement is in USDC. Instead, a configurable settle token is used for
pnl and settlement, defaulting to USDC.
There is no difference while the USDC price is forced to $1 and the init and liab
weights are 1. But with this patch, it becomes possible to change that.
For now it is not recommended to use a token other than USDC or USDT (or
another USD targeting stable token) for perp settlement.
The patch also updates all insurance vault use to be aware that the insurance
fund is not in USD but in USDC and apply the USDC price before payouts.
To do this, the previous PerpLiqNegativePnlOrBankruptcy was replaced by
a new PerpLiqNegativePnlOrBankruptcyV2 instruction.
Co-authored-by: microwavedcola1 <89031858+microwavedcola1@users.noreply.github.com>
2023-05-17 15:50:05 +02:00
microwavedcola1
5d31d6bf32
merge deploy changes to dev ( #586 )
...
* expose perp order type on perp order
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.9.17
* Fix funding rate method
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix scrript
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.9.18
* ts-client v0.9.19
* fix script
* update reduce only and force close flags in ts client
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.13.1
* expose underlying property
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.13.2
* Fix bug in closing mango account (#559 )
* reafactor code for collecting health accounts, fix bug where bank oracle was skipped while closing account
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>
* Fixes from review
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>
---------
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.13.3
* fix client code for building health accounts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.13.4
* Fix bug in sim max serum3 bid
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.13.5
* increase charge
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* ts-client v0.14.0
* Fix getBorrowRate() to include loan upkeep
* ts-client v0.14.1
* Client: Move jup's CU ix outside of flash loan
That makes a flash loan based jup swap usable with delegates.
* liquidator: Don't attempt to close in-use token positions
This could happen if the user manually used serum on the liquidator
account.
* Mc/ci cd (#570 )
* prettier
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix branch
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
---------
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* rename
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Increase iterations for max swap to fix some edge case, fix debug script since fees are already accounted for
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.14.2
* Risk notification bot (#565 )
* risk stuff
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>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* cleanup
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* client function
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
---------
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.15.0
* fix risk computati
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.15.2
* Fix units
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* dont drop or rally stable assets
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* dont skip usdc
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.15.3
* Fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.15.4
* update
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.15.5
* update
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.15.6
* add highlight
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.15.7
* Fix math
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.15.10
* Fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.15.12
---------
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
2023-05-16 19:20:43 +02:00
microwavedcola1
8e4603e22c
expose underlying property
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-04-20 10:00:50 +02:00
microwavedcola1
6abddc8ba8
merge ts-client to dev ( #553 )
...
* expose perp order type on perp order
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.9.17
* Fix funding rate method
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix scrript
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.9.18
* ts-client v0.9.19
* fix script
* update reduce only and force close flags in ts client
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* v0.13.1
---------
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
2023-04-20 09:55:14 +02:00
microwavedcola1
f866a49aa9
Fix interest rate computation in client ( #520 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-03-27 10:39:01 +02:00
riordanp
a7ee8fb2c0
Fix null checks on getters for PerpMarket and Bank ( #505 )
...
* Export OracleProvider
* Fix null checks on getters
2023-03-16 10:10:52 +01:00
riordanp
da473b00b1
Add oracleProvider to Bank and PerpMarket ( #491 )
...
* Add oracleProvider to Bank and PerpMarket
2023-03-15 13:44:51 +00:00
microwavedcola1
d88d44b34a
buyback perp fees with mngo at a discount ( #464 )
...
buyback perp fees with mngo
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-02-25 20:34:16 +01:00
tylersssss
4c9f99832f
Update package.json build steps and move js scripts out of src folder ( #470 )
...
* extracts scripts from source; update tsc build configs and packages
* publish latest
* remove type module
2023-02-22 08:36:59 +01:00
Christian Kamm
1f66bef88f
Change liquidation end target to a new, third health type ( #447 )
...
Due to the safety features in v4, the init health can differ from maint
health a lot more than it used to in v3. This is because of stable-price
adjusted oracle prices used in init health, and the weight scaling based
on total deposits and borrows used in init health.
The effect is that once an account becomes liquidatable, it could be
liquidated a lot until it reaches init>=0.
The original idea of liquidating until init>=0 was just to provide some
buffer, such that liquidated accounts wouldn't immediately become
liquidatable again.
This patch decouples the buffer idea explicit from init health by
creating a new LiquidationEnd health type. Liquidation proceeds until
the LiquidationEnd health becomes positive.
Co-authored-by: microwavedcola1 <89031858+microwavedcola1@users.noreply.github.com>
2023-02-10 09:00:36 +01:00
microwavedcola1
51e3a671e3
make public
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-01-23 17:31:50 +01:00
riordanp
2f78bd336f
Add oracleLastUpdatedSlot to Bank and PerpMarket ( #395 )
...
* Parse last updated slot from oracle
* Fix typo
* Remove unused package
2023-01-17 18:03:16 +00:00
microwavedcola1
3ab8c6072a
add reduce only field on ts classes
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-01-04 13:14:05 +01:00
microwavedcola1
f4942fd674
cap max borrow in withdraw to safety constraint ( #335 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-13 19:41:19 +01:00
microwavedcola1
c77c3585ad
remove outdated todos
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-13 10:29:55 +01:00
microwavedcola1
794f298ded
fix scaling of weights
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-09 06:08:23 +01:00
microwavedcola1
3e7f5487b7
add more info to debug bank scripts
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-08 16:50:11 +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
dde9ca69e8
sync fields
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-06 14:05:12 +01:00
Christian Kamm
777c1a7804
Rename bank fields, make weight scale limits editable ( #319 )
2022-12-06 09:34:02 +01:00
microwavedcola1
fa09c557a1
ts client sync with program ( #311 )
...
mostly health related code
2022-12-02 15:48:43 +01:00
Christian Kamm
58f7ff2e0e
Add staleness param to OracleConfig
...
Since Bank can't expand the existing OracleConfig, add a new one to Bank
and (temporarily!) copy over the old value to the new one in
TokenUpdateIndexAndRate.
Add some reserved space to OracleConfig to make this easier in the
future.
Breaks the PerpMarket and PerpPosition layouts
2022-11-12 12:11:09 +01: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
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
b57e50c75b
ts: fix tsc issues
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-27 13:59:00 +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
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
tjshipe
263bc6ff1f
turn on strict null checks and fix issues ( #201 )
2022-08-31 11:41:12 +02:00
microwavedcola1
aae3c32c78
mc/switchboard ts support ( #182 )
...
* switchboard oracle v2 parsing
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-24 10:16:43 +02:00
Christian Kamm
9b3a415260
ts: separate price and uiPrice
2022-08-19 16:46:59 +02:00
microwavedcola1
f0dff030a7
functions for rates in bank in ui
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-19 11:58:10 +02:00
microwavedcola1
8f55e20a05
Fix formula for computing native amounts on banks
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-19 11:45:38 +02:00
microwavedcola1
24524d7cd5
update scripts
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-15 15:53:51 +02:00
microwavedcola1
41e42da620
debug banks helper script
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-13 19:36:09 +02:00
microwavedcola1
8b086b3e87
more logging
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-10 08:22:31 +02:00
microwavedcola1
e0c57af53f
some debugging scripts
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-10 07:32:21 +02:00
microwavedcola1
59d28c97a1
fix name and error message check in flash loan ( #145 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-06 12:59:13 +02:00
tjs
1b1dbc0406
add eslint config and fix errors
2022-08-04 14:44:59 -04:00
microwavedcola1
1cab5f92fb
match spec of incoming types to accounts on chain, and also the order
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 10:41:54 +02:00
microwavedcola1
a7654f43a1
update idl, and fix tsc errors
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-02 11:28:39 +02:00
microwavedcola1
a9a03b97ac
mc/registration time ( #132 )
...
* registration time
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* fix from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* fix from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* mc/u32 numbers - consistent numbers in pdas (#133 )
* consistent numbers in pdas
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-01 18:46:45 +02:00
microwavedcola1
0c3efe21a9
match latest changes in group creation
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-07-31 09:36:46 +02:00
microwavedcola1
c88297f42e
mc/ts and keeper improvements ( #127 )
...
* ts and keeper improvements
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* remove stray heroku experiments
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from reviews
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-07-31 09:25:11 +02:00
microwavedcola1
e00f189687
log format
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-07-14 09:37:11 +02:00