mango-v4/README.md

1.3 KiB

Development

  • rustc 1.57.0 (f1edd0429 2021-11-29)
  • anchor-cli 0.22.0
  • npm 8.1.2
  • node v16.13.1

Module structure

As and when we move to a more complete project, we should think of having multiple modules e.g. core/shared, spot, perpetuals, etc., and then each would have its own instructions and state sub module. Goal is that new contributors find relevant code easily and can navigate easily.

programs
└── mango-v4
    ├── Cargo.toml
    ├── Xargo.toml
    └── src
    │    ├── error.rs
    │    ├── instructions # instructions go here, each instruction gets an individual file
    │    │   ├── initialiaze.rs
    │    │   └── mod.rs
    │    ├── lib.rs
    │    └── state # state goes here, each account state gets an individual file
    │       └── mod.rs
    └── tests # rust tests, TODO  

How to open and manage pull requests

  • when in doubt dont squash commits, specially when merge request is very large, specially if your branch contains unrelated commits
  • use the why along with what for commit messages, code comments, makes it easy to understand the context
  • add descriptions to your merge requests if they are non trivial, helps code reviewer watch out for things, understand the motivation for the merge request