Skip to content

cybercongress/warp

 
 

Repository files navigation

Astroport Core

codecov

Multi pool type automated market-maker (AMM) protocol powered by smart contracts on the Terra, Injective, Neutron, Sei and Osmosis blockchains.

Contracts diagram

contract diagram

General Contracts

Name Description
factory Pool creation factory
pair Pair with x*y=k curve
pair One way swap pair to convert ASTRO.cw20 to TokenFactory ASTRO
pair_concentrated Passive Concentrated Liquidity pair inspired by Curve v2 whitepaper
pair_stable Pair with stableswap invariant curve
pair_transmuter Constant sum pair with no fee ans slippage for 1:1 assets
pair_xyk_sale_tax XYK pair with buy and sell taxes
router Multi-hop trade router
whitelist CW1 whitelist contract (Astroport treasury)

Tokenomics Contracts

Tokenomics related smart contracts are hosted on ../contracts/tokenomics.

Name Description
incentives Rewards distributor for liquidity providers
maker Fee collector and swapper
staking xASTRO staking contract
vesting ASTRO distributor for generator rewards
xastro_token xASTRO token contract (extended cw20 with onchain balances history)

Building Contracts

You will need Rust 1.68.0+ with wasm32-unknown-unknown target installed.

You can compile each contract:

Go to contract directory and run

cargo wasm
cp ../../target/wasm32-unknown-unknown/release/astroport_token.wasm .
ls -l astroport_token.wasm
sha256sum astroport_token.wasm

You can run tests for all contracts

Run the following from the repository root

cargo test

For a production-ready (compressed) build:

Run the following from the repository root

./scripts/build_release.sh

The optimized contracts are generated in the artifacts/ directory.

Deployment

You can find versions and commits for actual deployed contracts here.

Docs

Docs can be generated using cargo doc --no-deps

Bug Bounty

The contracts in this repo are included in a bug bounty program.

About

warp dex core contracts (in dev)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 98.7%
  • Other 1.3%