/perpetuals

Margined Protocol Perpetuals for CosmWasm Networks

Primary LanguageRust

Margined Protocol Perpetuals

Continuous Integration codecov

This repo contains a the Margined Protocol a decentralized perpetual contract protocol for CosmWasm networks.

Contracts

Contract Reference Description
Margin Engine doc Margin engine that manages users positions and the collateral management
vAMM doc Virtual AMM enabling users to take perpetual positions
Insurance Fund doc Contract that holds funds to cover shortfalls
Fee Pool doc Contract that accrues the fees generated by protocol to be redistributed to $MRG token holders
Price Feed doc Integration contract for the data oracles and other data related logic
Governance doc Community governance contract that managers the protocol
Factory doc Manages the deployment and upgrade of perpetual contracts

Get started

Environment Setup

  • Rust v1.44.1+
  • wasm32-unknown-unknown target
  • Docker
  1. Install rustup via https://rustup.rs/

  2. Run the following:

rustup default stable
rustup target add wasm32-unknown-unknown
  1. Make sure Docker is installed

Build

Clone this repository and build the source code:

git clone git@github.com:margined-protocol/perpetuals.git
cd perpetuals
cargo build

Unit / Integration Tests

To run the tests after installing pre-requisites do the following:

cargo test