Commit Graph

1227 Commits

Author SHA1 Message Date
Lou-Kamades 48993ed130
ts: improve sending txns using muiltiple connections (#826) 2023-12-28 21:48:59 -06:00
microwavedcola1 ce3a243749 ts: export class
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-26 11:35:11 +01:00
Christian Kamm 27b1ceebe8 Accounts: Expect only the v3 MangoAccounts now (#783) 2023-12-19 10:08:46 +01:00
Christian Kamm 06da4768f3 Gov instruction creation helpers
- Add one to make a proposal for all serum markets
- Switch created proposals to be drafts
- Add PROPOSAL_LINK env arg
- Add serum3EditMarketIx()
2023-12-14 11:34:17 +01:00
microwavedcola1 66bb74c2fd ts: add prop to serum3 markets
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-14 05:59:44 +01:00
microwavedcola1 f342595a88 ts keeper: skip broken tokens
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-13 10:52:18 +01:00
microwavedcola1 e3d405da65 ts: fix scripts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-13 09:09:38 +01:00
microwavedcola1 e75d279b15 Merge branch 'deploy-v0.21.0' into deploy 2023-12-13 09:04:44 +01:00
microwavedcola1 445be8a1c7 ts: up the size since we are quoting far
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-12 17:32:39 +01:00
microwavedcola1 6aacb2ecd0 ts: small logging update
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-12 15:21:11 +01:00
microwavedcola1 944798c298 ts: make stock mm more safer, quote wide, twap out
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-12 15:08:26 +01:00
microwavedcola1 7722c66826 ts keeper: use confirmed for blockhash
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-11 09:47:24 +01:00
microwavedcola1 95442b993f ts: fix getMaxSerum3OrderForHealthRatio where scaled weights werent used
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-08 15:59:01 +01:00
Christian Kamm 0e8fc5e10e Merge branch 'deploy-v0.21.0' into dev 2023-12-08 11:39:01 +01:00
Christian Kamm f2bde7ba9f Merge tag 'program-v0.21.0' into deploy-v0.21.0 2023-12-08 11:30:44 +01:00
Christian Kamm cb9848252d
update idl and client tokenEdit() (#814) 2023-12-08 11:09:57 +01:00
Lou-Kamades a1966dc0bc
TS: allow for multiple providers when sending transactions (#808)
* allow for multiple providers in the client

* v0.20.9
2023-12-07 15:19:25 -06:00
Christian Kamm db4e486643 Bump program version to v0.21.0 and update idl 2023-12-05 15:57:42 +01:00
Christian Kamm e7bfa4e03e Deposit limits (#806)
- limit deposits (via deposit, flash loan, tcs)
- limit potential deposits via openbook settle
  by restricting placable orders via potential_serum_tokens
- introduce Serum3PlaceOrderV2 for this purpose
- account for new limits in liquidator, max_swap

(cherry picked from commit 42e31ae859)
2023-12-05 15:57:26 +01:00
Christian Kamm f533d65a58 Openbook token tracking and price bands (#805)
- track min bid, max ask
- track maximal token outflow from oo
- add serum3_place_order_v2 with mutable receiver bank
- placing openbook orders is restricted to a certain distance from the
  oracle

(cherry picked from commit 81501837a9)
2023-12-05 15:48:57 +01:00
Christian Kamm 42e31ae859
Deposit limits (#806)
- limit deposits (via deposit, flash loan, tcs)
- limit potential deposits via openbook settle
  by restricting placable orders via potential_serum_tokens
- introduce Serum3PlaceOrderV2 for this purpose
- account for new limits in liquidator, max_swap
2023-12-05 15:43:38 +01:00
Christian Kamm 81501837a9
Openbook token tracking and price bands (#805)
- track min bid, max ask
- track maximal token outflow from oo
- add serum3_place_order_v2 with mutable receiver bank
- placing openbook orders is restricted to a certain distance from the
  oracle
2023-12-05 15:39:24 +01:00
microwavedcola1 0fda2b0875 ts: fix sig logging
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-12-03 07:41:40 +01:00
Britt Cyr 68944747e0
Add serum3 cancel by client order id instruction (#798) 2023-12-01 13:36:29 +01:00
microwavedcola1 603ca0b224 ts: maintain alt script was missing perp market relevant pubkeys
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-27 09:34:09 +01:00
Christian Kamm 6d80568022
Accounts: Expect only the v3 MangoAccounts now (#783) 2023-11-27 09:30:37 +01:00
Christian Kamm feeb63dab2
ts: tcs hasData was renamed to isConfigured (#796) 2023-11-24 11:06:44 +01:00
Christian Kamm 2829bef48e ts: tcs hasData was renamed to isConfigured 2023-11-24 11:05:20 +01:00
shuoer86 8129cf45b4
chore: fix typos (#778) 2023-11-23 08:59:19 +01:00
microwavedcola1 5429ac1962
ts: scripts for testing account shrink (#733)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-23 08:58:47 +01:00
microwavedcola1 048983ffe5 ts: extend errors
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-22 08:02:32 +01:00
tjs db7fb39154 npm publish 2023-11-21 17:21:25 -05:00
tjs 97a2a7a194 return slot after sending a transaction 2023-11-21 17:17:01 -05:00
microwavedcola1 a40e7372e4 ts: chunk the ixs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-20 13:22:08 +01:00
microwavedcola1 2609d56648 ts: fix address used for alt
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-20 13:14:05 +01:00
microwavedcola1 43afa713a9 ts: fix client usage in script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-20 13:11:08 +01:00
microwavedcola1 1b8f3b7cbc
Mc/maintain alts (#788)
* v0.20.3

* ts: script to maintain ALTs

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-20 12:57:01 +01:00
microwavedcola1 e4c0c247d4
Mc/token sanity check (#789)
* v0.20.3

* ts: token sanity check

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-11-20 12:56:03 +01:00
Christian Kamm a96fb0f614 Revert "Bank: store interest curve scale and target util separately (#755)"
This reverts commit 3b28856692.

It should not have been in deploy since it changes instruction ABI and
has not been released in v0.20.0
2023-11-17 07:58:41 +01:00
microwavedcola1 21b8c0dbfa risk: disable for now
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-16 08:42:18 +01:00
Christian Kamm 2d1bf023c6
TokenRegister: Add arg for group insurance fund flag (#782) 2023-11-16 08:16:18 +01:00
microwavedcola1 af314d01a5 format
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-14 17:05:55 +01:00
Christian Kamm 93d85c3f71
Bank: allow maint weights to change over time (#780)
- token_edit can set it up to gradually scale to new target values
- security admin can abort an ongoing change via token_edit
- all health computations are now time dependent and get the weight
  based on it
- when the change is done, the keeper "cleans up" and moves the new
  values into the default fields
2023-11-14 14:52:04 +01:00
microwavedcola1 25fd722743 ts: update some typings, commented ones will be improved after next release
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-14 10:29:58 +01:00
microwavedcola1 888a270cf2 Merge branch 'mc/update-risk' into deploy 2023-11-14 08:58:53 +01:00
microwavedcola1 71fc571ca4 ts: add formulas for risk
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-14 08:58:41 +01:00
Lou-Kamades 3ccf2317fe ts: use release 20 idl 2023-11-13 18:48:46 -06:00
Lou-Kamades 56480f2268 ts: don't alter user margin trade Ixs 2023-11-13 15:04:25 -06:00
Lou-Kamades 4d73d7e633
Merge pull request #779 from blockworks-foundation/lou/tcs-client-ixs
Add ixs for TCS functions in the Typescript client
2023-11-13 13:30:25 -06:00
microwavedcola1 883434b66b wip
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-12 13:05:46 +01:00
microwavedcola1 cdd23a535c ts: script to compute jitosol balances
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-11 10:11:05 +01:00
Lou-Kamades 8113832e62
add ix functions for TCS in Typescript client 2023-11-09 18:20:40 -06:00
Lou-Kamades e188cd0bcb
expose oracle parsing in TS client 2023-11-08 14:23:40 +01:00
Christian Kamm 06dd834215 Merge remote-tracking branch 'origin/dev' into deploy 2023-11-08 13:32:08 +01:00
Lou-Kamades 35bdf46c05
update getCumulativeFundingUi comment 2023-11-05 23:51:49 +01:00
Lou-Kamades b39412d3a2
add getCumulativeFundingUi 2023-11-05 15:13:23 +01:00
Nicholas Clarke a4fa1b801b
Add getCumulativeFunding to client. (#602)
* Add getCumulativeFunding to client.
2023-11-05 14:27:46 +01:00
microwavedcola1 7a8602b3ab ts: bump cu for now
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-31 22:42:06 +01:00
Christian Kamm a81d0918cc tcs start: use same naming convention as in other ix
liqee/liqor over account/caller
2023-10-30 13:41:19 +01:00
microwavedcola1 3ed4e63b58 ts: update settler script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-26 19:46:58 +02:00
microwavedcola1 fb97685e07 ts: update settler script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-26 19:45:26 +02:00
microwavedcola1 e8505ddeaa settle a particular account
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-26 17:50:13 +02:00
Christian Kamm 4eaf550da9 gov-ix: add group edit ix creation 2023-10-20 14:28:29 +02:00
Christian Kamm b3ec7095ce gov ix: idl set-authority instruction 2023-10-20 13:49:39 +02:00
riordanp 37dacafcc8
Increase CU per ix (#763) 2023-10-19 15:47:19 +02:00
microwavedcola1 50f451d06d v0.19.36 2023-10-19 13:54:33 +02:00
microwavedcola1 0759ec1b55
ts: fix getMaxSerum3OrderForHealthRatio account for reserved funds in zeroAmount computation (#761)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-19 13:40:19 +02:00
microwavedcola1 edaf874174
deploy -> dev (#759)
* ts: get yarn lock from dev

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* v0.19.20

* ts: add missing dependency

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* ts: add error when no free token position is found (#707)

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Mc/tcs improvements (#706)

* ts: additional tcs helpers

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Revert "Fixes from review"

This reverts commit 1def10353511802c030a100fd23b2c2f4f198eaa.

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* v0.19.21

* v0.19.22

* ts: tcs fix price display input to tx

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* v0.19.23

* v0.19.25

* script: log all

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* ts: fix tcs order price limits

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* v0.19.27

* ts: fix getTimeToNextBorrowLimitWindowStartsTs (#710)

* ts: fix getTimeToNextBorrowLimitWindowStartsTs

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Mc/keeper (#714)

* v0.19.28

* ts: tokenWithdrawAllDepositForMint

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fix

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fix

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* rust: dont include tokens with errors in crank

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* review fixes

* 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>

* v0.19.29

* ts: update debug script

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* release 19.1 -> deploy + serum3 open orders estimation ts patch (#719)

* Serum3 open orders: Fix health overestimation (#716)

When bids or asks crossed the oracle price, the serum3 health would be
overestimated before.

The health code has no access to the open order quantites or prices and
used to assume all orders are at oracle price.

Now we track an account's max bid and min ask in each market and use that
as a worst-case price. The tracking isn't perfect for technical reasons
(compute cost, no notifications on fill) but produces an upper bound on
bids (lower bound on asks) that is sufficient to make health not
overestimate.

The tracked price is reset every time the serum3 open orders on a book
side are completely cleared.

(cherry picked from commit 2adc0339dc)

* Changelog, version bump for program v0.19.1

* ts: ts patch for the PR

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>

* Rust client: Use alts for every transaction (#720)

(cherry picked from commit 40ad0b7b66)

* Jupiter: ensure source account is initialized

Backport of 9b224eae1b / #721

* client/liquidator: jupiter v6 (#684)

Add rust client functions for v6 API that are usuable in parallel to the v4 ones.

(cherry picked from commit 0f10cb4d92)

* Jupiter: Ensure source account is initialized (#721)

(cherry picked from commit 9b224eae1b)

* Mc/update cu budget for perp settle pnl (#724)

* ts: bump perp settle pnl cu budget

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* ts: helpers for withdrawing tokens from bad oracles (#726)

* ts: helpers for withdrawing tokens from bad oracles

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>

* rename

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* rename

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fix usage of field

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.19.31

* ts: higher min. cu limit for each tx (#727)

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* v0.19.32

* ts: if more ixs then more cu (#728)

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Mc/tcs p95 (#708)

* use more fine grain price impact

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* ts: for computing tcs premium use more fine grain price impact

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* update

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Mc/settler cu limit (#725)

* v0.19.30

* settler: extend cu limit to 250k for perp pnl settling

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* TransactionBuilder: add cu limit/price based on config

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>

* ts: rename params to indicate that they are in native

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* ts: cleanup tcs create parameter naming (#730)

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* wip: Mc/update risk params (#729)

* v0.19.33

* ts: script to update risk params

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* create proposals helpers

* fix

* Update env params

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Update

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Update

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* simulate before run

* fix presets

* fix

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Adrian Brzeziński <a.brzezinski94@gmail.com>

* ts: upgrade anchor (#735)

* ts: upgrade anchor

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* script for tx error grouping, and ts helper code for finding tx error reason (#747)

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* v0.19.34

* ts: fix script for updating token params

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fix typo

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* script: update script to remove files which are of 0 size

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* script: error tx grouping, blacklist some more

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* fix (#753)

* jupiter: clearer slippage_bps argument name

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
Co-authored-by: Adrian Brzeziński <a.brzezinski94@gmail.com>
2023-10-19 10:03:07 +02:00
Adrian Brzeziński 899c9570c3
fix (#753) 2023-10-19 09:15:16 +02:00
Christian Kamm 381ef7401d
Group: Limit fast-listing tokens per week (#756)
To avoid potential abuse of fast listing while even when the dao is
unresponsive.
2023-10-17 13:14:49 +02:00
Christian Kamm 3b28856692
Bank: store interest curve scale and target util separately (#755)
Allows for better configurability independent of the previous MAX_RATE
concept
2023-10-17 13:14:07 +02:00
Christian Kamm 8110dd1566
FlashLoan: Replace deposit fee by "swap fee" (#754)
Which applies to the in token amount of swaps only.

Charging a deposit fee on flash loans was a bad idea:
- It incentivizes flash loan users to make the deposit a separate
  instruction, defeating the purpose.
- For swaps, it makes traders pay a loan origination fee in in-token and
  a deposit fee in out-token, leading to more complex bookkeeping and ui
  display.

Instead, charge a fee on the in-token for all flash loans explicitly
marked as swaps only.
2023-10-13 09:02:23 +02:00
microwavedcola1 550bec53fc Fix typo
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-12 07:35:45 +02:00
Christian Kamm 5809281f24
gov-ix: create an idl-resize instruction (#752) 2023-10-11 15:22:06 +02:00
Christian Kamm c354f55423
v0.20.0 minor fixes from self-audit (#751)
* tcs::is_startable only true for premium auctions
* individual tcs premium auction / linear auction ix gates
* drop unnecessary I80F48::from(...)
* minor: adjust confusing wording in v2 mango account format doc
* idl update
* ts: prettier
2023-10-11 15:19:53 +02:00
microwavedcola1 a75803662c ts: fix script for updating token params
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-10 09:18:04 +02:00
Christian Kamm a4745dae27
liquidator: improve jupiter quote cache (#748) 2023-10-09 19:56:45 +02:00
microwavedcola1 1800ad95f6
script for tx error grouping, and ts helper code for finding tx error reason (#747)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-09 15:39:38 +02:00
Nicholas Clarke 81f4929648
Add getCumulativeFunding to client. (#602)
* Add getCumulativeFunding to client.
2023-10-09 01:27:44 -07:00
Christian Kamm 817bf9bbc6
Tcs: linear and premium auctions (#717) 2023-10-07 21:27:19 +02:00
microwavedcola1 e0b4bd1236
ts: upgrade anchor (#735)
* ts: upgrade anchor

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-10-06 10:05:56 +02:00
microwavedcola1 5f038b8f62
wip: Mc/update risk params (#729)
* v0.19.33

* ts: script to update risk params

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* create proposals helpers

* fix

* Update env params

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Update

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Update

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* simulate before run

* fix presets

* fix

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Adrian Brzeziński <a.brzezinski94@gmail.com>
2023-10-05 12:13:53 +02:00
Christian Kamm 32e08af598 Idl update 2023-10-05 11:04:20 +02:00
Christian Kamm 1afcff5dc2
Changelog and version bump for v0.20.0 (#739) 2023-10-04 09:18:57 +02:00
Christian Kamm ea7fae4687 Changelog, version bump for program v0.19.1 2023-10-02 19:54:09 +02:00
Christian Kamm 1db3d21529
Make getBorrowRateWithoutUpkeepRate() work in more cases (#731)
In particular when util0 == 0
2023-09-27 12:57:06 +02:00
microwavedcola1 e16a586034
ts: cleanup tcs create parameter naming (#730)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-26 14:53:17 +02:00
microwavedcola1 6712bfa4a8 ts: rename params to indicate that they are in native
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-26 14:18:15 +02:00
microwavedcola1 bbc836f10e update
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-23 16:08:15 +02:00
microwavedcola1 5ee00a6639
Mc/tcs p95 (#708)
* use more fine grain price impact

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* ts: for computing tcs premium use more fine grain price impact

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-23 15:56:55 +02:00
microwavedcola1 f3431917b8
ts: if more ixs then more cu (#728)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-21 08:02:23 +02:00
microwavedcola1 cc114d702a
ts: higher min. cu limit for each tx (#727)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-20 15:41:05 +02:00
microwavedcola1 549c4704d1
ts: helpers for withdrawing tokens from bad oracles (#726)
* ts: helpers for withdrawing tokens from bad oracles

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>

* rename

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* rename

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fix usage of field

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-09-20 10:48:11 +02:00
microwavedcola1 0aa2f6f631
Mc/update cu budget for perp settle pnl (#724)
* ts: bump perp settle pnl cu budget

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-20 07:08:23 +02:00
Christian Kamm ac38ccc687
Drop HealthCache from idl, disable ComputeAccountData ix (#723)
It's used for tests, we don't want people depending on it.
2023-09-19 10:01:44 +02:00
microwavedcola1 d51c3ee85d
release 19.1 -> deploy + serum3 open orders estimation ts patch (#719)
* Serum3 open orders: Fix health overestimation (#716)

When bids or asks crossed the oracle price, the serum3 health would be
overestimated before.

The health code has no access to the open order quantites or prices and
used to assume all orders are at oracle price.

Now we track an account's max bid and min ask in each market and use that
as a worst-case price. The tracking isn't perfect for technical reasons
(compute cost, no notifications on fill) but produces an upper bound on
bids (lower bound on asks) that is sufficient to make health not
overestimate.

The tracked price is reset every time the serum3 open orders on a book
side are completely cleared.

(cherry picked from commit 2adc0339dc)

* Changelog, version bump for program v0.19.1

* ts: ts patch for the PR

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
2023-09-16 11:04:38 +02:00
microwavedcola1 d128f85ddf ts: update debug script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-11 14:12:47 +02:00
microwavedcola1 885427e777
Mc/keeper (#714)
* v0.19.28

* ts: tokenWithdrawAllDepositForMint

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fix

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fix

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* rust: dont include tokens with errors in crank

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* review fixes

* 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>
2023-09-11 13:37:11 +02:00
microwavedcola1 b2c187dd92
ts: fix getTimeToNextBorrowLimitWindowStartsTs (#710)
* ts: fix getTimeToNextBorrowLimitWindowStartsTs

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-09-10 10:08:17 +02:00
Christian Kamm 7b8a92dcea
Idl compatibility check: Also cover ix args and field renames (#709) 2023-09-08 21:13:30 +02:00
microwavedcola1 11fbc25df7 ts: fix tcs order price limits
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-08 13:45:51 +02:00
microwavedcola1 68b345f053 script: log all
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-08 13:00:42 +02:00
microwavedcola1 cda47a18d1 v0.19.25 2023-09-08 12:15:50 +02:00
microwavedcola1 5bf737847f ts: tcs fix price display input to tx
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-08 12:07:51 +02:00
microwavedcola1 3fda20e3da v0.19.22 2023-09-08 12:05:01 +02:00
microwavedcola1 b46e275a2c
Mc/tcs improvements (#706)
* ts: additional tcs helpers

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Revert "Fixes from review"

This reverts commit 1def10353511802c030a100fd23b2c2f4f198eaa.

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-08 08:49:38 +02:00
microwavedcola1 b48a937617
ts: add error when no free token position is found (#707)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-08 08:28:34 +02:00
Christian Kamm 0aabd28cdc Merge remote-tracking branch 'origin/deploy' into dev 2023-09-07 13:14:03 +02:00
Christian Kamm 97d3ec01c1 scripts: fix mainnet-no-margin-group post-merge 2023-09-07 13:07:55 +02:00
Christian Kamm d60bea7436 Merge remote-tracking branch 'origin/main' into deploy 2023-09-07 12:59:50 +02:00
microwavedcola1 56eb48904a Merge tag 'program-v0.19.0' 2023-09-07 10:46:37 +02:00
tjs 1861d127bc only remove active filter from Ids on perp markets 2023-09-06 14:11:25 -04:00
tjs f2eb37b598 ids should return all subitems for a group regardless of active state 2023-09-06 13:51:40 -04:00
microwavedcola1 b42a35cdb9 sb logs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-05 15:56:04 +02:00
tjs c7c362292c Support reloading reloadSerum3ExternalMarkets from Ids class
remove console logs
2023-09-05 09:35:17 -04:00
tjs 3715a9a7f2 Update Ids class so the array filters in the getters work
Also add placeholder values in ids.json so types work; Deprecate ids.json
2023-09-04 21:04:42 -04:00
Adrian Brzeziński 79ea2bc7df
preprended instruction change (#703)
* fix

* fix
2023-09-04 18:06:37 +02:00
microwavedcola1 0a2bf3abd5
ts: example script no margin group (#697)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-04 17:11:04 +02:00
Christian Kamm ba6bd96784
Allow account shrinking and migration (#692)
- The AccountExpand instruction can now shrink accounts by reducing
  the number of token/perp/serum/tcs/perp oo slots.
- A new AccountSizeMigration instruction can permissionlessly shrink
  accounts that are too large and migrate them to the v3 layout.
2023-09-04 09:30:57 +02:00
Adrian Brzeziński d9f756b346
additional functions mechanizm (#700) 2023-08-31 14:36:04 +02:00
Christian Kamm c07978fb68
max_swap: Fix swapping between zero weight tokens (#699)
Co-authored-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-31 14:01:18 +02:00
Christian Kamm e37f1ed996 update idl 2023-08-30 10:59:14 +02:00
microwavedcola1 e730bcd146 ts: perpCancelOrderByClientOrderIdIx
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-30 07:21:03 +02:00
Christian Kamm 2d392c8fff 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

(cherry picked from commit 1d6ce550f3)
2023-08-29 10:03:53 +02:00
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
microwavedcola1 0ee9af749f ts: getInstantaneousFundingRatePerSecond
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-28 17:56:14 +02:00
microwavedcola1 6871ca2ad4 ts: use average slippage for computing tcs premium
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-28 17:33:34 +02:00
microwavedcola1 e767990c64 ts: fix bug in perp close all lot computation
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-28 08:44:13 +02:00
microwavedcola1 ea02670003 ts: drop the premium calculators chunk size for tcs swap, we were overestimating slippage before
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-25 15:29:30 +02:00
Christian Kamm f63163d737
Account limits: Prefer 4 perp + 4 serum (#689) 2023-08-21 16:26:49 +02:00
Christian Kamm a151ebcf11
Account size: restict more, but only increases (#688)
* Account size: Don't fail on unrelated resize

If the account was previously resized to larger than is allowed now,
don't fail unrelated resizes.

* Further reduce account size limits

Out of caution and future-proofing. Can always raise again.

Perp settle pnl needs 6 accounts plus 2 health account lists that could
be nearly fully disjoint.
2023-08-21 14:34:52 +02:00
microwavedcola1 447e7cb151 ts: update tcs helpers
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-20 21:30:12 +02:00
Christian Kamm 34a875d968
Restrict account growth (#686)
Because of the 64-accounts-per-tx limit. Making a single account use
more than half of these could be problematic.
2023-08-19 08:20:40 +02:00
Christian Kamm 3480b62945
Changelog and version bump for program v0.19.0 (#683) 2023-08-18 15:38:28 +02:00
Christian Kamm a244c27df6
Add account_create_v2 instruction (#680)
This one allows specifying the number of tcs slots. That way accounts
can be created without needing a separate extend instruction afterwards.
2023-08-18 15:36:36 +02:00
Christian Kamm 072cd766ca
liquidator: parallel tcs execution (#679) 2023-08-18 15:36:02 +02:00
Christian Kamm 0c26977ec9
Merge pull request #677 from blockworks-foundation/ckamm/tcs-net-borrow
Tcs and liquidator and net borrow limits
2023-08-18 15:35:16 +02:00
Lou-Kamades 2460afce85
Merge pull request #662 from blockworks-foundation/lou/estimate-priority-fees
Add estimatePrioritizationFee to the ts client
2023-08-16 15:42:55 -05:00
Adrian Brzeziński 27097faa2f
listing fixes (#678)
* remove listing tools

* adjust stalness slots in trustless instruction
2023-08-15 13:33:48 +02:00
Christian Kamm ad47e9f2e9 tcs liq test: Add net borrow limit test 2023-08-14 16:15:57 +02:00
Christian Kamm 1dd934f8ad ts: fix stub oracle reading 2023-08-14 15:15:56 +02:00
microwavedcola1 aa1a9f36e9 ts: add tcs helper for current pair price
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-13 12:01:20 +02:00
microwavedcola1 f2d8e72057 doesnt need to be async
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-12 19:37:29 +02:00
microwavedcola1 765f82c5be make helper function public
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-11 22:06:21 +02:00
microwavedcola1 c1be446aab
Mc/slot to tx (#676)
* v0.18.17

* ts: return confirmed slot when executing a tx

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-11 19:12:13 +02:00
microwavedcola1 c37e535273 Fix price limit calculation in tcs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-11 16:46:19 +02:00
Lou-Kamades 3b67bfee8a
ts client: estimate priority fees for only write accounts 2023-08-11 09:18:41 -04:00
Vladimir Guguiev 707de12bb7
Client: wrap SOL using createWithSeed (#671) 2023-08-11 09:35:57 +02:00
Lou-Kamades aace8a06e5
TS: add estimatePrioritizationFee 2023-08-10 22:03:41 -04:00
microwavedcola1 c7cc7c248c ts: fix threshold price computation in token conditional swaps
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-10 16:16:05 +02:00