Commit Graph

573 Commits

Author SHA1 Message Date
tjs 286563b0ef add minordersize and ticksize to perpmarket 2022-10-10 18:59:44 -04:00
microwavedcola1 7466123934 ts: fix script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-10-10 08:07:27 +02:00
conj0iner 1f36054bad
Merge pull request #253 from blockworks-foundation/cj/ts_tests
Refactor & improve anchor tests
2022-10-09 00:20:08 +07:00
microwavedcola1 3939d48dc6 ts: fix script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-10-08 14:32:50 +02:00
Conj0iner f0ae79b0f7 Refactor TS client anchor tests 2022-10-08 17:48:13 +07:00
tjs f7787ea828 remove duplicate function 2022-10-07 13:48:12 -04:00
tjs cfd6fd2ca8 remove unnecessary undefined type returns 2022-10-07 13:48:05 -04:00
tjs 73039e1b39 Merge remote-tracking branch 'origin/dev' into main 2022-10-07 13:21:47 -04:00
tjs 69a0ac32b7 add perp market script 2022-10-07 13:21:25 -04:00
microwavedcola1 8f6fa5134d ts: comment out, tsc complains
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-10-07 14:05:49 +02: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 6808171ee3 ts: disable versioned txs for now because wallets dont support them
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-10-07 08:28:05 +02:00
Christian Kamm f2cc869795 Perps: Prepare for settlement token != oracle token
Make sure the setting is available and that the needed accounts are
passed to the perp instructions.
2022-10-06 08:32:58 +02:00
tjs dd4175b401 add back get serum3marketbypk 2022-10-04 16:35:38 -04:00
tjs 8cdd0233d4 fix merge issues 2022-10-04 15:13:24 -04:00
tjs 56313b6eac Merge branch 'dev' into main 2022-10-04 14:54:42 -04:00
Christian Kamm b906e3dc78 Token deposit: Split into signed and permissionless ix
Token accounts are a limited resource, so allowing other users to make
use of them can cause problems.
2022-10-02 16:06:39 +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 a2f4cef940
mc/ts derive and not hardcode size (#257)
* ts: simplify getOrCreateMangoAccount

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

* ts: derive and not hardcode sizes for perp accounts when creating

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

* ts: fix script

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

* ts: remove todo, not relevant anymore

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-30 13:33:21 +02:00
microwavedcola1 4b52d9a072
ts: simplify getOrCreateMangoAccount (#256)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-30 12:16:24 +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
Christian Kamm 7e180c7b3a Perps: Support trusted markets 2022-09-29 15:40:31 +02:00
Christian Kamm 8ba52f46c2
Perp settle pnl: incentive for settler (#252)
This adds three new options to perp markets:
- a flat fee, that is paid for all perp settlements
- given that they exceed the configured min settle amount threshold to
  be eligible for fees
- and a fractional fee, that only applies when the benefiting account
  has low health and gradually becomes bigger as the account slides
  towards liquidation
2022-09-29 12:59:55 +02:00
Nicholas Clarke 01a958cd22
Clarkeni/onchain interest (#244)
* Onchain interest calculation
* Fix to TokenBalanceLog for token_liq_bankruptcy (was previously using liqee liab position for liqor liab position).
* Log cumulative interest when token position is deactivated.
2022-09-28 23:04:33 -07:00
Christian Kamm 12864e15a6
Merge pull request #245 from blockworks-foundation/ckamm/perp-settle
Liquidator: Settle pnl on perp accounts
2022-09-29 07:35:37 +02:00
microwavedcola1 dd83aeb156 ts: ALTs integration
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-28 17:09:59 +02:00
Christian Kamm 15d3a0cdfa ts client: fix reading perp event queue 2022-09-28 10:48:41 +02:00
Christian Kamm 15d0a98c94 liquidator: settle pnl on liquidatable accounts 2022-09-28 10:48:41 +02:00
Christian Kamm 9cbc352197 liquidator: force-cancel perp orders, liq perp base positions 2022-09-28 10:47:05 +02:00
conj0iner a97b40a521
Merge pull request #234 from blockworks-foundation/cj/ioc_fees
Extra fees for IOC orders
2022-09-28 00:05:25 +08:00
tjs 1380481781 script to view unowned mango account 2022-09-27 11:40:22 -04:00
microwavedcola1 8d86883190 ts: remove debug code
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-27 17:33:51 +02:00
microwavedcola1 b57e50c75b ts: fix tsc issues
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-27 13:59:00 +02:00
tjs 0def209608 allow fetching mango account by publickey 2022-09-26 17:12:58 -04:00
tjs 3b1ea91903 consistent naming to get serum markets 2022-09-25 21:11:38 -04:00
tjs 92a33a0bf5 return the correct type 2022-09-25 20:27:44 -04:00
tjs b6bcc55fcb add type guard 2022-09-25 20:26:02 -04:00
tjs f486a6c381 helper fn to get serum3 external market 2022-09-25 16:23:43 -04: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
tjs fa1a483493 func to load serum open orders accts for get balances 2022-09-23 23:14:12 -04:00
Nicholas Clarke e509a3ae9c
Clarkeni/overall pnl (#232)
* Add getPNL client function
2022-09-23 11:39:51 -07:00
Nicholas Clarke 1320451e1a
Add serum open orders balance logging. Remove price from token and perp balances. (#236) 2022-09-23 10:42:43 -07: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
Christian Kamm 39bdf20813 ts: Add group.findPerpMarket() 2022-09-23 09:48:35 +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 59bb60c405
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:08 +02:00
Christian Kamm ecbd4028f7 ts client: Fix remaining accounts when opening a perp position 2022-09-23 08:42:01 +02:00
Conj0iner a8ae59f0fe IDL and client changes 2022-09-23 01:03:45 +08:00
Christian Kamm 96218fb7ba Update IDL and merge issue fixups 2022-09-21 10:19:23 +02:00
Christian Kamm 52f8b61240 Merge remote-tracking branch 'origin/dev' 2022-09-21 10:14:34 +02:00
Christian Kamm a41a245e24 PerpLiqBankruptcy instruction 2022-09-21 09:46:54 +02:00
conj0iner 1c67b8ed5f
remove base_token_index from perps and include oracles (#224)
Co-authored-by: Conj0iner <conj0iner@users.noreply.github.com>
2022-09-21 09:42:45 +02:00
microwavedcola1 f96b9ded0d ts: fix event queue rawevents
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-20 19:50:21 +02:00
Christian Kamm 8c91541d12 ts client: Fix serum3DeregisterMarket
The indexReservation arg wasn't passed.
2022-09-20 16:58:07 +02:00
Christian Kamm 6399e6cb6c Fix PerpMarket data layout breakage
The new fees_settled must be added at the end and the reserved amount
needs to be reduced.
2022-09-20 16:58:07 +02:00
Christian Kamm 347b225480 TokenEdit: remove bank_num arg 2022-09-20 14:22:25 +02:00
microwavedcola1 b7e79a4663
WIP: ts/perps (#220)
* ts: further fleshing out of perps code

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

* cleanup scripts

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

* Fixes from reviews

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

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-20 12:57:01 +02:00
Christian Kamm 1b3a2b07db Update idl 2022-09-15 09:24:35 +02:00
Christian Kamm 899b51e91c ts: fix getMaxWithdrawWithBorrowForToken 2022-09-14 10:23:06 -04:00
Christian Kamm 3e94ff4605 ts: fix getMaxWithdrawWithBorrowForToken 2022-09-14 09:03:29 +02:00
tjs 2b96965cc5 use send transaction in client 2022-09-14 01:44:00 -04:00
tjs fc63328af1 set lastValidBlockHeight for tx confirmation 2022-09-05 17:36:42 -04:00
tjs 27c42e70e9 reload mango account with slot 2022-09-05 12:31:57 -04:00
tjs 2d0772833b filter out jupiter token ledger instruction to save space 2022-09-02 18:47:26 -04:00
tjs c359ce26a7 return new mango account instance from reload 2022-09-02 18:47:09 -04:00
tjs 3f456393a5 use custom sendTransaction in closeMangoAccount 2022-09-02 13:50:01 -04:00
Christian Kamm 3fbc3ca32d TokenEdit: remove bank_num arg 2022-09-02 13:55:00 +02:00
Christian Kamm ef5552c1c0 Liqtest: Build serum test case 2022-09-02 12:24:18 +02:00
Christian Kamm 90630fa3de ts client: Enable accounts to have serum slots by default 2022-09-02 12:24:04 +02:00
Christian Kamm d566db7db0 Liqtest: Settle-and-close settles and closes open serum orders 2022-09-02 12:24:04 +02:00
Christian Kamm 3b3258769f ts: TokenEdit takes optional arguments 2022-09-02 12:24:04 +02:00
Christian Kamm 22dc07df1d Liquidation test: Fix scripts 2022-09-02 10:22:35 +02:00
Christian Kamm 3b93a38395
Merge pull request #208 from blockworks-foundation/ckamm/fix-index-reservation
Serum: Index reservation account has 8 bytes
2022-09-01 13:23:27 +02:00
Christian Kamm 868c55fef1 Serum index reservation: use a real account
Makes it easier and more future-proof
2022-09-01 12:28:37 +02:00
Christian Kamm c31f11013f Serum deregister: Close index reservation account
Only safe because this is a testing-only instruction
2022-09-01 12:15:00 +02:00
microwavedcola1 c420d71943 ts: fix withdraw wrapped sol -> sol
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-01 12:11:31 +02:00
microwavedcola1 0222ca8954
ts fixes (#207)
* ts: use gpa path if rest services has not caught up yet

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

* ts: convert wrapped sol to sol when withdrawing

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

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-01 11:25:58 +02:00
microwavedcola1 149e0eb0c7 Fix client and remove excessive logging in scripts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-01 10:48:50 +02:00
microwavedcola1 2479107d9a
Prepare serum3 release (#206) 2022-09-01 10:18:47 +02:00
microwavedcola1 a889e6c206 Fix scripts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-01 09:56:17 +02:00
microwavedcola1 5ff181d01d Merge branch 'dev' 2022-09-01 09:52:29 +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
tjs 8296d660d8 return mangoAccount after reloading 2022-08-31 15:33:07 -04: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 cec0fcab99 patch script for strictness
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-31 13:55:15 +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 42f22003d8
deployment script for vanity (#184)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-31 11:40:39 +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 4a1865be6c Merge branch 'main' into dev 2022-08-31 11:35:19 +02:00
microwavedcola1 2fb569cc75 make script net agnostic
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-30 17:01:17 +02:00
Christian Kamm e0437305ee SerumPlaceOrder: Only pass the payer bank/vault 2022-08-30 12:05:07 +02:00
Christian Kamm 36723792a1 SerumRegister: Block using the same market index twice 2022-08-30 12:05:07 +02:00
tjs ff7638f04b throw error when reloading account if simulation fails 2022-08-27 03:55:55 -04:00
tjs a12457eeb5 log in getTokenVaultBalanceByMint 2022-08-27 01:58:20 -04:00
tjs b35bca95a1 improve transaction confirmation 2022-08-26 15:42:10 -04:00
tjs 2e88889043 remove async and unused arg in getTokenVaultBalanceByMint 2022-08-26 13:54:14 -04:00
microwavedcola1 4025624738 Merge branch 'main' into dev 2022-08-26 10:45:56 +02:00
microwavedcola1 177770c580 small updates to debug scripts, also log vault balance in ui and native, filter mango accounts by name instead of pubkeys
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-26 10:45:50 +02:00
microwavedcola1 7fbf2b592a fix imports
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-26 10:10:33 +02:00
microwavedcola1 3e44dde696 Merge branch 'main' into dev 2022-08-26 10:09:52 +02:00
microwavedcola1 ab4c0e3de5 reset script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-26 10:09:36 +02:00
microwavedcola1 b9a69bf59c extend debugging script to just take mango accounts directly
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-26 10:08:45 +02:00
microwavedcola1 453248bbe5
token_deregister: remove redundant token index and add doc (#192)
* token_deregister: remove redundant token index

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

* fix test

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

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-25 19:25:56 +02:00
Christian Kamm 38b349a401 Rename PerpOpenOrders -> PerpOpenOrder, since it's a single one 2022-08-24 15:22:55 +02:00
microwavedcola1 b65fb0f630 Merge branch 'main' into dev 2022-08-24 10:17:22 +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 2d2cef35a0 Add HealthRegion instructions
You can do
- HealthRegionBegin
- ... mango instructions ...
- HealthRegionEnd

and the account health will only be checked at the start and end
instead of for every instruction.
2022-08-24 10:07:45 +02:00
microwavedcola1 430e7469c4 fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 16:23:20 +02:00
microwavedcola1 4c4a9cbb73 Small changes for consistency
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 16:21:05 +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 026a58d856 fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 13:39:32 +02:00
microwavedcola1 53b43bfdd1 fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 13:33:47 +02:00
microwavedcola1 6bde327a9e fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 11:57:32 +02:00
microwavedcola1 8a460352a0 fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 11:51:45 +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 7f2fb0c04c fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 09:20:03 +02:00
microwavedcola1 2f8436d8f7 fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-23 08:34:44 +02:00
microwavedcola1 50e9f39b76 fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-22 20:09:31 +02:00
microwavedcola1 2f5436d239 fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-22 20:01:36 +02:00
microwavedcola1 844bca622d debugging
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-22 19:20:47 +02:00
microwavedcola1 b6b22ce903 debugging
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-22 19:09:22 +02:00
microwavedcola1 f273129b59 testing
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-22 18:56:40 +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 9aa0a94794 make consistent, always return positive values for deposits or borrows
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-22 12:39:34 +02:00
Christian Kamm fef0f746ff
ts: Change target health ratio in getMaxSourceForTokenSwap (#187) 2022-08-20 12:20:34 +02:00
Christian Kamm 1132853aab Merge remote-tracking branch 'origin/main' into dev 2022-08-20 11:13:55 +02:00
Nicholas Clarke 704dfcaa27
Clarkeni/loan fee logging (#180)
Logging for loan origination fees and token bankruptcy
2022-08-19 18:50:54 -07:00
microwavedcola1 6814701046 add maint debugging
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-19 21:18:16 +02:00
Christian Kamm 9b3a415260 ts: separate price and uiPrice 2022-08-19 16:46:59 +02:00
Christian Kamm 09fc5f716b Renames in MangoAccount
- Accessors in MangoAccountValue
- PerpPositions -> PerpPosition
2022-08-19 14:58:20 +02:00
Christian Kamm ec850b7bd3 Fix size of account_num in idl 2022-08-19 14:52:31 +02:00
microwavedcola1 e08008bce5 Merge branch 'main' into dev 2022-08-19 11:58:20 +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 29c0354173 Merge branch 'main' into dev 2022-08-19 11:45:43 +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
Christian Kamm b61925ed77 banks debug: add timestamp of last updates 2022-08-19 10:46:34 +02:00
microwavedcola1 b3a33a4a53 Merge branch 'dev' 2022-08-19 08:42:25 +02:00
microwavedcola1 17cd3c74c3 extend debug script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-19 08:41:57 +02:00
microwavedcola1 a0b1b10627 Fix debug script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-19 07:43:32 +02:00
tjs 82ec90f9a0 update close all script 2022-08-18 17:54:41 -04:00
microwavedcola1 f40f33f3b3 make public, useful for ui to iterated over all banks
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-18 18:45:27 +02:00
microwavedcola1 9b2f4e7b18 upgradel idl
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-18 17:19:12 +02:00
microwavedcola1 c00e2f39db fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-18 16:39:22 +02:00
microwavedcola1 5e617feb8a Merge branch 'main' into dev 2022-08-18 16:30:38 +02:00
microwavedcola1 7ad39238b1
mc/mango account units docs (#181)
* cleanup mango account docs

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

* note

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

* Fixes from reviews

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

* Fixes from reviews

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

* Fixes from reviews

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

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-18 16:19:37 +02:00
microwavedcola1 443e6e69b2 cleanup
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-18 08:49:07 +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
Christian Kamm 85d1ca95bf Banks debug script improvements 2022-08-17 16:54:36 +02:00
Nicholas Clarke 8a1c58e723
FlashLoan: Add flash_loan_type (#164)
Co-authored-by: Christian Kamm <mail@ckamm.de>
2022-08-17 12:36:55 +02:00
Christian Kamm 4c65204c19 Liquidator: Fix condition for starting to liquidate 2022-08-16 16:19:04 +02:00
microwavedcola1 afc95f4498 fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-16 13:49:33 +02:00
Christian Kamm 421b2d3d19 FlashLoan: Fix validation holes
- Pass the group to Begin and End and ensure it is the same.
- Enforce target token accounts can't be group-owned.
- Now End can consistently derive the number of vaults/token accounts.
2022-08-16 13:10:05 +02:00
Christian Kamm 54222c5b3f liq_token_bankruptcy: don't pass redundant index 2022-08-16 13:08:57 +02:00
Christian Kamm 82864e5f6f Liquidator: disable allow-borrow, now that fixed program is deployed 2022-08-16 12:13:54 +02:00
tjs 3c06b718c6 handle when optional param doesnt exist 2022-08-16 01:08:25 -04:00
tjs 2483e7cc18 support passing additional signers to sendTransaction 2022-08-16 01:04:14 -04:00
tjs a9c4f54917 use custom sendTransaction in the client 2022-08-16 00:27:06 -04: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 20c915f0ee return 0 for swap from same source to same target
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-15 20:16:46 +02:00
microwavedcola1 03dbac82f9 error for debugging banks
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-15 19:13:18 +02:00
microwavedcola1 24524d7cd5 update scripts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-15 15:53:51 +02:00
microwavedcola1 551e101b08 fix health ratio computation
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-15 11:21:29 +02:00
microwavedcola1 4df94615ee Fix client
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-15 11:10:33 +02:00
Christian Kamm 0265b9b0a9 Account: Change type of net_deposts / net_settled
Because f32 doesn't have enough significant digits for large deposits.
2022-08-15 10:48:43 +02:00
microwavedcola1 b977556426 fix debug scripts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-14 13:30:08 +02:00
microwavedcola1 017581e863 fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-13 20:51:09 +02:00
microwavedcola1 d59d05eae5 default group is group num 2 on mainnet
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-13 20:10:49 +02:00
microwavedcola1 5221bbd53b Merge branch 'dev'
--wip-- [skip ci]
2022-08-13 19:55:37 +02:00
Christian Kamm ccba4ee597
Cleanups and bugfixes from the audit (#163)
* AccountExpand: cleanups from audit

* Group instructions: cleanups from audit

* AccountClose: cleanups from audit

* TokenAddBank: Audit fixes, including significant bugs

Must not take collected_fees and bump from the existing bank.

* Instruction comment updates

* GroupEdit: Add version/testing flag changes

Ported from mc/vanity
2022-08-13 19:54:58 +02:00
microwavedcola1 41e42da620 debug banks helper script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-13 19:36:09 +02:00
Christian Kamm 21815612ae
Let all PDA seeds start with a unique prefix (#166)
This is mostly paranoia. Now it's guaranteed that different PDA types
have unique seeds.
2022-08-13 19:30:35 +02:00
tjs d68951e77d add custom sendTransaction to support post send callbacks 2022-08-12 17:15:12 -07: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 164303e005 uncomment
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-12 10:21:06 +02:00
microwavedcola1 00c533d9d7 Merge branch 'dev' 2022-08-12 08:31:20 +02:00
microwavedcola1 4f25742b26 simHealthWithTokenPositionChanges -> simHealthRatioWithTokenPositionChanges
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-12 08:30:13 +02:00
tjs ac0155b79d fix for simHealthWithTokenPositionChanges
needs to keep track of health changes in the loop
2022-08-11 16:43:46 -07:00
Christian Kamm 92a37f23ed Remove is_bankrupt
Instead, check for any liquidatable assets in liq_token_bankruptcy.

Bankrupt accounts may use the same operations as any other
negative-health account.
2022-08-11 22:57:53 +02:00
tjs 4507a6a72a health ratio ui function 2022-08-11 12:06:01 -07:00
microwavedcola1 5402012064 apply loan origination fee buffer
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-11 17:59:49 +02:00
microwavedcola1 185b077285 remove stray log
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-11 17:48:43 +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
Christian Kamm 7dc3fc2ad9 Merge remote-tracking branch 'origin/main' into dev 2022-08-10 17:18:42 +02:00
microwavedcola1 cfdd59379e improve logging
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-10 17:17:16 +02:00
Christian Kamm 2f3c5e281c ts: prettier 2022-08-10 16:25:06 +02:00
Christian Kamm 38f5502dc7 Liquidator: round up when paying back borrows to close token pos 2022-08-10 16:24:48 +02:00
Christian Kamm 6d8290bebd ts: script to decode anchor events 2022-08-10 16:22:58 +02:00
Christian Kamm ad3cee5568 ts: improve liqtest scripts 2022-08-10 16:22:58 +02:00
Christian Kamm 222358ff14 ts: script to make liquidation candidates 2022-08-10 16:22:58 +02:00
Christian Kamm 79e3b2db98 ts: disable loan fees in liq tests 2022-08-10 16:22:58 +02:00
Christian Kamm 68c52dbdc8 ts: Settle and close in script, including borrows 2022-08-10 16:22:58 +02:00
Christian Kamm 3257017770 ts: client and script fixes 2022-08-10 16:22:56 +02:00
Christian Kamm 55e891417e ts: also close accounts after withdraws 2022-08-10 16:20:25 +02:00
Christian Kamm 45327e7dd1 ts: script to withdraw everything, to lose fewer funds on close 2022-08-10 16:20:25 +02:00
Christian Kamm b2056c82e0 ts: script to add funds to liqtest group 2022-08-10 16:20:25 +02:00
Christian Kamm aff011c774 ts: script to create liqtest group with stub oracles 2022-08-10 16:20:25 +02:00
Christian Kamm 29c7d5b45a ts: mb-admin-close script closes all groups for the key 2022-08-10 16:20:23 +02:00
microwavedcola1 5c34b60105 Fix health account builder code
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-10 10:15:28 +02:00
microwavedcola1 68de248c5b fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-10 09:31:58 +02:00
microwavedcola1 476241e8b8 fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-10 09:29:08 +02:00
microwavedcola1 2728aaeb2d revamp script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-10 09:26:16 +02:00
microwavedcola1 d6468082b6 Merge branch 'dev' 2022-08-10 09:08:11 +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
tjs 85bb7e3a25 add idempotent ata ix to withdraw fn 2022-08-09 18:16:08 -07:00
tjs e2acd28de9 use idempotentata instruction in marginTrade 2022-08-09 15:27:34 -07:00
microwavedcola1 970187af41
rename env vars (#154)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-09 13:50:37 +02:00
tjs 49538df6ab skippreflight on accountCreate 2022-08-08 16:14:30 -07:00
microwavedcola1 9ded7ca007 optional args should be sent as null
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-08 21:04:49 +02:00
microwavedcola1 c3b6db4a3c optional args should be sent as null
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-08 21:04:19 +02:00
microwavedcola1 c490ab6965 update changelog and IDL
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-08 19:06:13 +02:00
microwavedcola1 d8340ba594 update idl
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-08 17:07:57 +02:00
microwavedcola1 24c359ef92
keeper token rate update - group multiple ixs into one (#151)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-08 13:40:33 +02:00
microwavedcola1 4f72985f2d
also allow editing group insurance fund (#149)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-07 14:16:23 +02:00
microwavedcola1 e06736660a
remove account size, make mango account feature position counts explicit (#148)
* remove account size from program, make position counts explicit

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

* cargo-fix

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-07 14:16:06 +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
Nicholas Clarke e4a073c83b
Clarkeni/group logging (#142)
* Add group logging and updateIndexAndRate anchor test
* Bugfix on health account ordering
2022-08-05 10:11:44 -07:00
tjs 46e9a1a82c run prettier and add prettierignore 2022-08-04 14:45:09 -04:00
tjs 1b1dbc0406 add eslint config and fix errors 2022-08-04 14:44:59 -04:00
microwavedcola1 38a5951558
remove extra signers from tokenDeposit, tokenWithdraw, createMangoAccount, liquidation ixs (#141)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 17:35:05 +02:00
microwavedcola1 331bb7ebf0 refactor,format
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 12:13:36 +02: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 325e29c9a3 rename
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 09:53:38 +02:00
microwavedcola1 f49990339c fix method name
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 09:28:18 +02:00
microwavedcola1 5d961f144d fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 09:25:42 +02:00
microwavedcola1 7953e123cc add simple logging
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 09:25:19 +02:00
microwavedcola1 327ea8acff extend type
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 09:07:32 +02:00
microwavedcola1 ba21d736c1 update idl
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 08:51:16 +02:00
microwavedcola1 e6fe7bd8cc update idl, cleanup code
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 08:50:48 +02:00
microwavedcola1 cc17f2a95a Merge branch 'dev' 2022-08-04 08:03:59 +02:00
microwavedcola1 82ac70ea8e idl update
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-04 08:00:41 +02:00
tjs bb8cdd4a8f tokenIndices need to be in order for remaininghealthaccounts 2022-08-04 01:20:03 -04:00
Nicholas Clarke 4f1f4ec84e
Clarkeni/anchor tests (#120)
* Anchor tests
* Liquidation client functions
* Add payer to client functions
2022-08-03 09:05:16 -07:00
microwavedcola1 505cbd48aa fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-03 15:45:10 +02:00
microwavedcola1 e31ad9ce34 token register trustless
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-03 15:45:10 +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
Christian Kamm 157b322635 ts: fix scripts
- group create
- perp event queue + book side sizes
2022-08-02 09:45:12 +02:00
microwavedcola1 54b8a940f2 rename
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-02 09:38:28 +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 5c3b2c1189
mc/kill flash loan 1 & 2 and rename flash loan 3 to flash loan (#131)
* remove flash loan 1 & 2

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

* rename flash loan 3 to flash loan

* fix test

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-01 16:55:17 +02:00
microwavedcola1 e8e774a1a4
mc/feature gating (#129)
* feature gating

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

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-08-01 12:56:29 +02:00
microwavedcola1 91d59c1918 close insurance vault also
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-07-31 09:57:56 +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 0b2e1e6e6c
Mc/realloc 4 (#119)
Realloc + dynamic mango account

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
2022-07-25 16:07:53 +02:00