MCPcopy Index your code
hub / github.com/astroport-fi/astroport-core

github.com/astroport-fi/astroport-core @v5.13.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v5.13.2 ↗ · + Follow
1,976 symbols 7,439 edges 260 files 394 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Astroport Core

codecov

Multi pool type automated market-maker (AMM) protocol powered by smart contracts on the Terra, Injective, Neutron, 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.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 1,174
Method 478
Class 213
Enum 87
Interface 24

Languages

Rust99%
TypeScript1%

Modules by API surface

packages/astroport/src/asset.rs67 symbols
contracts/tokenomics/incentives/tests/helper/helper.rs64 symbols
contracts/pair_concentrated_sale_tax/tests/helper.rs45 symbols
contracts/pair_concentrated/tests/helper.rs43 symbols
contracts/pair_concentrated_duality/tests/common/helper.rs34 symbols
contracts/pair_astro_converter/tests/helper.rs34 symbols
contracts/pair_xyk_sale_tax/src/contract.rs31 symbols
contracts/pair/src/contract.rs31 symbols
contracts/pair_concentrated_sale_tax/tests/pair_concentrated_sale_tax_integration_with_tax.rs30 symbols
contracts/pair_concentrated/tests/pair_concentrated_integration.rs30 symbols
contracts/pair_transmuter/tests/helper.rs29 symbols
contracts/pair_concentrated_sale_tax/tests/pair_concentrated_sale_tax_integration.rs29 symbols

For agents

$ claude mcp add astroport-core \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page