5d31d6bf32
* 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> |
||
---|---|---|
.github | ||
3rdparty | ||
anchor-tests | ||
bin | ||
cd | ||
docs | ||
lib | ||
migrations | ||
programs | ||
py | ||
ts/client | ||
.dockerignore | ||
.env.sample | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.gitmodules | ||
.mocharc.json | ||
.prettierignore | ||
Anchor.toml | ||
Audit_OtterSec_Mango_v0.7.0.pdf | ||
CHANGELOG.md | ||
Cargo.lock | ||
Cargo.toml | ||
DEVELOPING.md | ||
Dockerfile | ||
HOW-TO-RELEASE.md | ||
LICENSE | ||
Procfile | ||
Program | ||
README.md | ||
RELEASING.md | ||
SECURITY.md | ||
fix-npm-tag.sh | ||
fly.toml | ||
idl-fixup.sh | ||
mango_v4.json | ||
package.json | ||
release-to-devnet.sh | ||
run-anchor-tests.sh | ||
rust-toolchain.toml | ||
tsconfig.cjs.json | ||
tsconfig.esm.json | ||
tsconfig.json | ||
tsconfig.types.json | ||
update-local-idl.sh | ||
yarn.lock |
README.md
work in progress
License
See the LICENSE file.
The majority of this repo is MIT licensed, but some parts needed for compiling the solana program are under GPL.
All GPL code is gated behind the enable-gpl
feature. If you use the mango-v4
crate as a dependency with the client
or cpi
features, you use only MIT
parts of it.
The intention is for you to be able to depend on the mango-v4
crate for
building closed-source tools and integrations, including other solana programs
that call into the mango program.
But deriving a solana program with similar functionality to the mango program from this codebase would require the changes and improvements to stay publicly available under GPL.
Development
See DEVELOPING.md
Dependencies
- rust version 1.65.0
- solana-cli 1.14.9
- anchor-cli 0.27.0
- 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
For program deployment, see RELEASING.md.
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