1 unstable release
0.1.0 | Jun 4, 2024 |
---|
#1 in #anchor-gen
42KB
127 lines
OpenBook V2
⚠️ Disclaimer: This code is currently under active development and should not be used in production environments.
A central-limit order-book program based on Mango V4 and the previous OpenBook program (which was a fork of Serum).
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 openbook-v2
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 openbook-v2
crate for
building closed-source tools and integrations, including other Solana programs
that call into the Openbook program.
But deriving a Solana program with similar functionality to the Openbook program from this codebase would require the changes and improvements to stay publicly available under GPL.
Building & testing
Pre-requisites
Before you can build the program, you will first need to install the following:
Installing
To install the repo, run:
git clone https://github.com/openbook-dex/openbook-v2.git --recursive
The recursive flag ensures that you receive all of the submodules. If you have already cloned without passing in this flag, you can run:
git submodule init
git submodule update
To ensure that you always have the latest submodules, you can configure your git like so:
git config --global submodule.recurse true
Building
To build, run:
just build
IDL
To generate the progam & typescript IDLs, run:
just idl
Testing
To see whether all of the tests are passing, run:
just test-all
To drill down on a specific test (e.g., test_expired_order), run:
just test test_expired_order
Dependencies
~21–30MB
~523K SLoC