Skip to content

Commit

Permalink
Merge tag 'program-v0.23.0' into feature/deploy-v0.23.1-boost
Browse files Browse the repository at this point in the history
  • Loading branch information
ckamm committed Mar 8, 2024
2 parents 5c58c70 + a30c5a9 commit da5e12c
Show file tree
Hide file tree
Showing 5 changed files with 384 additions and 7 deletions.
66 changes: 64 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,75 @@ Update this for each program release and mainnet deployment.

## not on mainnet

### v0.23.0, 2024-3-

- Allow disabling asset liquidations for tokens (#867)

This allows listing tokens that have no reliable oracle. Those tokens could be
traded through mango but can't be borrowed, can't have asset weight and can't
even be liquidated.

- Add configurable collateral fees for tokens (#868, #880, #894)

Collateral fees allow the DAO to regularly charge users for using particular
types of collateral to back their liabilities.

- Add force_withdraw token state (#884)

There already is a force_close_borrows state, but for a full delisting user
deposits need to be removed too. In force_withdraw, user deposits can be
permissionlessly withdrawn to their owners' token accounts.

- Flash loan: Add a "swap without flash loan fees" option (#882)
- Cleanup, tests and minor (#878, #875, #854, #838, #895)

## mainnet

### v0.21.2, 2024-1-
### v0.22.0, 2024-3-3

Deployment: Mar 3, 2024 at 23:52:08 Central European Standard Time, https://explorer.solana.com/tx/3MpEMU12Pv7RpSnwfShoM9sbyr41KAEeJFCVx9ypkq8nuK8Q5vm7CRLkdhH3u91yQ4k44a32armZHaoYguX6NqsY

- Perp: Allow reusing your own perp order slots immediately (#817)

Previously users who placed a lot of perp orders and used time-in-force needed
to wait for out-event cranking if their perp order before reusing an order
slot. Now perp order slots can be reused even when the out-event is still on
the event queue.

- Introduce fallback oracles (#790, #813)

Fallback oracles can be used when the primary oracle is stale or not confident.
These oracles need to configured by the DAO to be usable by clients.

Fallback oracles may be based on Orca in addition to the other supported types.

- Add serum3_cancel_by_client_order_id instruction (#798)

Can now cancel by client order id and not just the order id.

- Add configurable platform liquidation fees for tokens and perps (#849, #858)
- Delegates can now withdraw small token amounts to the owner's ata (#820)
- Custom allocator to allow larger heap use if needed (#801)
- Optimize compute use in token_deposit instruction (#786)
- Disable support for v1 and v2 mango accounts (#783)
- Cleanups, logging and tests (#819, #799, #818, #823, #834, #828, #833)

### v0.21.3, 2024-2-9

Deployment: Feb 9, 2024 at 11:21:58 Central European Standard Time, https://explorer.solana.com/tx/44f2wcLyLiic1aycdaPTdfwXJBMeGeuA984kvCByg4L5iGprH6xW3D35gd3bvZ6kU3SipEtoY3kDuexJghbxL89T

- Remove deposit limit check on Openbook v1 when placing an order to sell
deposits (#869)

### v0.21.2, 2024-1-30

Deployment: Jan 30, 2024 at 12:36:09 Central European Standard Time, https://explorer.solana.com/tx/2kw6XhRUpLbh1fsPyQimCgNWjhy717qnUvxNMtLcBS4VNu8i59AJK4wY7wfZV62gT3GkSRTyaDNyD7Dkrg2gUFxC

- Allow fast-listing of Openbook v1 markets (#839, #841)

### v0.21.1, 2024-1-
### v0.21.1, 2024-1-3

Deployment: Jan 3, 2024 at 14:35:10 Central European Standard Time, https://explorer.solana.com/tx/345NMQAvvtXeuGENz8icErXjGNmgkdU84JpvAMJFWXEGYZ2BNxFFcyZsHp5ELwLNUzY4s2hLa6wxHWPBFsTBLspA

- Prevent withdraw operations from bringing token utilization over 100%.
- Prevent extreme interest rates for tokens with borrows but near zero deposits.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

107 changes: 106 additions & 1 deletion mango_v4.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "0.22.0",
"version": "0.23.0",
"name": "mango_v4",
"instructions": [
{
Expand Down Expand Up @@ -12871,6 +12871,71 @@
}
]
},
{
"name": "PerpLiqBaseOrPositivePnlLogV3",
"fields": [
{
"name": "mangoGroup",
"type": "publicKey",
"index": false
},
{
"name": "perpMarketIndex",
"type": "u16",
"index": false
},
{
"name": "liqor",
"type": "publicKey",
"index": false
},
{
"name": "liqee",
"type": "publicKey",
"index": false
},
{
"name": "baseTransferLiqee",
"type": "i64",
"index": false
},
{
"name": "quoteTransferLiqee",
"type": "i128",
"index": false
},
{
"name": "quoteTransferLiqor",
"type": "i128",
"index": false
},
{
"name": "quotePlatformFee",
"type": "i128",
"index": false
},
{
"name": "pnlTransfer",
"type": "i128",
"index": false
},
{
"name": "pnlSettleLimitTransferRecurring",
"type": "i64",
"index": false
},
{
"name": "pnlSettleLimitTransferOneshot",
"type": "i64",
"index": false
},
{
"name": "price",
"type": "i128",
"index": false
}
]
},
{
"name": "PerpLiqBankruptcyLog",
"fields": [
Expand Down Expand Up @@ -13888,6 +13953,46 @@
"name": "fee",
"type": "i128",
"index": false
},
{
"name": "price",
"type": "i128",
"index": false
}
]
},
{
"name": "ForceWithdrawLog",
"fields": [
{
"name": "mangoGroup",
"type": "publicKey",
"index": false
},
{
"name": "mangoAccount",
"type": "publicKey",
"index": false
},
{
"name": "tokenIndex",
"type": "u16",
"index": false
},
{
"name": "quantity",
"type": "u64",
"index": false
},
{
"name": "price",
"type": "i128",
"index": false
},
{
"name": "toTokenAccount",
"type": "publicKey",
"index": false
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion programs/mango-v4/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mango-v4"
version = "0.22.0"
version = "0.23.0"
description = "Created with Anchor"
edition = "2021"

Expand Down
Loading

0 comments on commit da5e12c

Please sign in to comment.