Go to file
Christian Kamm 2cb4da8b58
Liquidation: Fix amounts when stable price != oracle price (#440)
Previously liquidation would overestimate the amount required, because
it used the oracle price for computing the health gain from
liquidation.

Now it uses the correct (stable price adjusted) price for figuring out
the amount of liquidation required, while still executing at
fee-adjusted oracle price.
2023-02-08 09:05:17 +01:00
.github Add branch labels to docker images (#441) 2023-02-07 15:48:44 +01:00
anchor@b3707b1faa various readme updates (#431) 2023-02-06 11:59:22 +01:00
anchor-tests switch to new vanity address 2022-12-08 10:23:12 +01:00
cli update serum to most recent openbook version (#437) 2023-02-05 10:26:04 +09:00
client update serum to most recent openbook version (#437) 2023-02-05 10:26:04 +09:00
keeper update serum to most recent openbook version (#437) 2023-02-05 10:26:04 +09:00
lib/checked_math Checked math: support cm!(a += b) 2022-09-06 08:55:27 +02:00
liquidator update serum to most recent openbook version (#437) 2023-02-05 10:26:04 +09:00
migrations First commit 2022-01-21 19:21:46 +01:00
programs Liquidation: Fix amounts when stable price != oracle price (#440) 2023-02-08 09:05:17 +01:00
py rename 2022-03-01 20:55:10 +01:00
switchboard-v2@97ed7b12de Upgrade to solana ~1.14.9 2022-12-13 17:00:57 +01:00
ts/client remove perp zero out, was only added to cleanup testing perp market, can be re-added if needed (#430) 2023-02-06 11:59:12 +01:00
.dockerignore wip docker 2022-07-29 11:15:26 +02:00
.env.sample add dotenv for client config vars 2022-12-05 14:48:06 -05:00
.eslintignore add eslint config and fix errors 2022-08-04 13:42:41 -04:00
.eslintrc.json ts client improvement (#254) 2022-09-29 15:51:09 +02:00
.gitignore add dotenv for client config vars 2022-12-05 14:48:06 -05:00
.gitmodules Upgrade to solana ~1.14.9 2022-12-13 17:00:57 +01:00
.prettierignore run prettier and add prettierignore 2022-08-04 14:13:46 -04:00
Anchor.toml Don't compile the margin-trade fixture all the time 2022-12-08 20:48:44 +01:00
CHANGELOG.md Program v0.5.0 deployment info 2023-02-02 10:52:50 +01:00
Cargo.lock update serum to most recent openbook version (#437) 2023-02-05 10:26:04 +09:00
Cargo.toml Enable release-mode overflow checks (#438) 2023-02-06 08:33:08 +01:00
DEVELOPING.md various readme updates (#431) 2023-02-06 11:59:22 +01:00
Dockerfile Bump dockerfile rust version 2023-01-12 20:34:13 +00:00
HOW-TO-RELEASE.md update 2022-07-14 10:14:23 +02:00
Procfile Setup MM for Heroku deployments (#358) 2023-01-02 19:21:08 +00:00
Program ts: Additional serum3 support (#196) 2022-08-31 11:36:44 +02:00
README.md various readme updates (#431) 2023-02-06 11:59:22 +01:00
SECURITY.md add security policy and on-chain metadata (#361) 2023-01-04 18:13:29 +00:00
fix-npm-tag.sh add script to rename tag added by npm 2023-02-01 13:49:31 +01:00
idl-fixup.sh idl deploy workaround, reduce size by cutting largest fields i.e. docs (#334) 2022-12-14 09:55:25 +01:00
package.json v0.4.3 2023-02-01 13:47:42 +01:00
release-to-devnet.sh change to new authority 2022-12-19 15:38:06 +01:00
release-to-mainnet.sh move to new authority and admin 2022-12-19 19:50:09 +01:00
run-anchor-tests.sh switch to new vanity address 2022-12-08 10:23:12 +01:00
tsconfig.build.json integrate initial pass of orcas devnet swap 2022-06-10 09:02:10 -04:00
tsconfig.cjs.json integrate initial pass of orcas devnet swap 2022-06-10 09:02:10 -04:00
tsconfig.esm.json add esm tsconfig 2022-06-30 13:17:10 -04:00
tsconfig.json Setup MM for Heroku deployments (#358) 2023-01-02 19:21:08 +00:00
update-local-idl.sh Make anchor's lint pass 2022-08-15 10:48:43 +02:00
yarn.lock Merge branch 'dev' 2023-01-04 13:23:48 +01:00

README.md

work in progress

Development

See DEVELOPING.md

Dependencies

  • rust version 1.65.0
  • solana-cli 1.14.9
  • npm 8.1.2
  • node v16.13.1

Submodules

After cloning this repo you'll need to init and update its git submodules. Consider setting the git option submodule.recurse=true.

Deployments

  • devnet: 4MangoMjqJ2firMokCjjGgoK8d4MXcrgL7XJaL3w6fVg
  • mainnet-beta: 4MangoMjqJ2firMokCjjGgoK8d4MXcrgL7XJaL3w6fVg
  • primary mango group on mainnet-beta: 78b8f4cGCwmZ9ysPFMWLaLTkkaYnUjwMJYStWe5RTSSX

Release

Here are steps followed while performing a program deployment to mainnet-beta

  • review diff of last deployed tag to mainnet-beta, e.g. https://github.com/blockworks-foundation/mango-v4/compare/program-v0.4.0..dev, pay special attention to account layout changes, backward compatibility of newly introduced account fields, etc.
  • deploy to mainnet-beta
  • update changelog with deploy timestamp and tx
  • add a git tag e.g. program-v0.0.1, should match the version the program has
  • reset main to currently deployed tag
  • notify other contributors for bringing in changes from new release by merging main into their branch, e.g. ts-client and deploy-mm
  • notify other contributors for appropriately handling offchain services e.g. scrapers, market makers, etc.
  • bump program version in Cargo.toml on dev branch for next release

Here are steps followed while performing a npm package release note: the UI currently uses code directly from github, pointing to the ts-client branch

  • use yarn publish to release a new package, ensure compatibility with program release to mainnet-beta
  • fix the tag auto added by yarn to match our internal convention, see script fix-npm-tag.sh, tags should look like this e.g.npm-v0.0.1, note: the npm package version/tag should not necessarily match the latest program deployment