Go to file
Riordan Panayides 95ba57627e add deployment config for sb-on-demand-crank, fix BN import 2024-06-28 14:52:58 +01:00
.github service-mango-health: monitors/historizes accounts health (#890) 2024-03-01 11:24:56 +01:00
anchor-tests chore: fix typos (#778) 2023-11-23 08:59:19 +01:00
audits add audit report for v0.24.0 (#941) 2024-04-15 09:10:48 +02:00
bin token update index and rate- skip bad oracle (#975) 2024-06-26 08:56:08 +02:00
cd add deployment config for sb-on-demand-crank, fix BN import 2024-06-28 14:52:58 +01:00
docs
lib liquidator: add some latency metrics (#904) 2024-03-07 11:44:23 +01:00
migrations
programs token update index and rate- skip bad oracle (#975) 2024-06-26 08:56:08 +02:00
py
scripts deploy -> dev (#759) 2023-10-19 10:03:07 +02:00
ts/client add deployment config for sb-on-demand-crank, fix BN import 2024-06-28 14:52:58 +01:00
.dockerignore Update to solana 1.16.14 and anchor 0.28.0 (#718) 2023-10-05 10:56:45 +02:00
.env.sample
.eslintignore
.eslintrc.json
.gitignore ts: sb on demand oracles part 2 2024-06-27 13:11:22 +02:00
.mocharc.json
.prettierignore
Anchor.toml
CHANGELOG.md Changelog for v0.24.0 (#942) 2024-04-15 09:10:48 +02:00
Cargo.lock Program: add switchboard on demand oracle support (#974) 2024-06-25 17:37:18 +02:00
Cargo.toml Rust client: Revamp transaction confirmation (#850) 2024-01-17 10:30:25 +01:00
DEVELOPING.md Enable self-trading protection (#533) 2023-05-15 10:40:41 +02:00
Dockerfile Dockerfile: try to fix issue with cargo-chef not building 2024-03-01 11:59:56 +01:00
FAQ-DEV.md separate file, editing 2023-11-07 09:02:07 +01:00
HOW-TO-RELEASE.md
LICENSE
Procfile
Program
README.md separate file, editing 2023-11-07 09:02:07 +01:00
RELEASING.md doc: releasing.md update 2024-02-28 15:49:18 +01:00
SECURITY.md
fix-npm-tag.sh
fly.toml
idl-fixup.sh Update Cargo.lock and IDL after merge 2023-07-11 10:39:06 +02:00
mango_v4.json ts: sb on demand oracles part 2 2024-06-27 13:11:22 +02:00
package.json ts: sb on demand oracles part 2 2024-06-27 13:11:22 +02:00
release-to-devnet.sh Update anchor to v0.27.0, stop using submodule (#582) 2023-05-12 13:54:53 +02:00
run-anchor-tests.sh Update anchor to v0.27.0, stop using submodule (#582) 2023-05-12 13:54:53 +02:00
rust-toolchain.toml Update to solana 1.16.14 and anchor 0.28.0 (#718) 2023-10-05 10:56:45 +02:00
tsconfig.cjs.json
tsconfig.esm.json
tsconfig.json ts: sb on demand oracles part 2 2024-06-27 13:11:22 +02:00
tsconfig.types.json
update-local-idl.sh Update anchor to v0.27.0, stop using submodule (#582) 2023-05-12 13:54:53 +02:00
yarn.lock ts: sb on demand oracles part 2 2024-06-27 13:11:22 +02:00

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 and FAQ-DEV.md

Dependencies

  • rust version 1.69.0
  • solana-cli 1.16.7
  • anchor-cli 0.28.0
  • npm 8.1.2
  • node v16.13.1

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