Skip to content

mango-v4 monorepo, contains program, ts client, and py client

License

Notifications You must be signed in to change notification settings

blockworks-foundation/mango-v4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1303a4a · Sep 4, 2024
Aug 8, 2024
Nov 23, 2023
Aug 26, 2024
Aug 10, 2024
Jun 28, 2024
Feb 13, 2023
Aug 29, 2024
Feb 22, 2023
Aug 19, 2024
Mar 1, 2022
Oct 19, 2023
Aug 12, 2024
Oct 5, 2023
Dec 5, 2022
Aug 4, 2022
Jul 29, 2024
Jun 27, 2024
Feb 22, 2023
Aug 8, 2024
Dec 8, 2022
Aug 26, 2024
Aug 12, 2024
Jul 17, 2024
May 15, 2023
May 28, 2024
Nov 7, 2023
Jul 14, 2022
Feb 15, 2023
Jun 18, 2023
Aug 31, 2022
Nov 7, 2023
Jul 17, 2024
Sep 4, 2024
Jul 29, 2024
Feb 1, 2023
Jul 11, 2023
Aug 12, 2024
Aug 8, 2024
Aug 8, 2024
Jul 24, 2024
May 12, 2023
Oct 5, 2023
Apr 19, 2023
Mar 14, 2023
Jul 9, 2024
Mar 13, 2023
May 12, 2023
Aug 8, 2024

Repository files navigation

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