yoshidan
anchor-liquidity-pool
Rust

The example anchor implementation for solana-swap

Last updated May 21, 2026
13
Stars
5
Forks
0
Issues
0
Stars/day
Attention Score
5
Language breakdown
Rust 75.9%
TypeScript 24.1%
โ–ธ Files click to expand
README

anchor-liquidity-pool

This is the example anchor implementation for solana-swap.

  • The curve is always ConstantProduct in this implementation.
  • The fee receiver is always Admin.

Run

Build the solana program

export ADMIN_PUBKEY=solana address npm run build

Run validator on the localnet

npm run validator

Get 10 SOL by airdrop and deploy program for localnet.

npm run deploy

Run the test(Create Pool / Deposit / Withdrow / Swap).

npm run test

Initialize

sequenceDiagram
    participant Admin
    participant PoolManager as -PDA- <br/> Pool Manager
    PoolManager ->>+ Admin : mint 1000000000 LP Token
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚      name      โ”‚                    address                     โ”‚                     owner                      โ”‚   amount   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    0    โ”‚ 'A for UserA'  โ”‚ 'J8a4ENEMgUHHfAz9VH2BuApK6mS8mjcUZjHeBypKN1KE' โ”‚ 'EwznK8BuBdn918if9jeG3oBomZTpRi8ZHxcCeGXokGaL' โ”‚  1000000   โ”‚
โ”‚    1    โ”‚ 'B for UserA'  โ”‚ 'GmRp3YGmWFc2or9BkBuiANS9GZ7BEqxrg1ZPpCYvRqc2' โ”‚ 'EwznK8BuBdn918if9jeG3oBomZTpRi8ZHxcCeGXokGaL' โ”‚  1000000   โ”‚
โ”‚    2    โ”‚ 'LP for UserA' โ”‚ '7BBxTGPFKxLmKVj6LV3yE6ojG9kFzRpFnunFxrsT7sW6' โ”‚ 'EwznK8BuBdn918if9jeG3oBomZTpRi8ZHxcCeGXokGaL' โ”‚     0      โ”‚
โ”‚    3    โ”‚  'A for PDA '  โ”‚ 'BVJohxH1hogZdcYBrTMuo7EVk9TSrjdGhrya4zzrGC7p' โ”‚ 'DtW9VUU8AtGSyrAo2kMH2rvJhjz97oLh5qfg1Ckubt5N' โ”‚  1000000   โ”‚
โ”‚    4    โ”‚  'B for PDA '  โ”‚ '9HRgCPn4nj415xayTHhLFqQrpWePPzewEmAqbUBDbtgZ' โ”‚ 'DtW9VUU8AtGSyrAo2kMH2rvJhjz97oLh5qfg1Ckubt5N' โ”‚  1000000   โ”‚
โ”‚    5    โ”‚ 'LP for Admin' โ”‚ '7XAnDxYcCRRSKewLdMnqtrwhjnbUd2Kvq5FfG8xMdRsp' โ”‚ '9HKfUqNdHdgn4gYMjCrSoLAmY5USgwpfBSPdeW573ycc' โ”‚ 1000000000 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

DepositAll

sequenceDiagram
    participant PoolManager as -PDA- <br/> Pool Manager
    participant Depositor
    Depositor ->>+ PoolManager : send 10000 token A 
    Depositor ->>+ PoolManager : send 10000 token B
    PoolManager ->>+ Depositor : mint 10000000 LP Token
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚      name      โ”‚                    address                     โ”‚   amount   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    0    โ”‚ 'A for UserA'  โ”‚ 'J8a4ENEMgUHHfAz9VH2BuApK6mS8mjcUZjHeBypKN1KE' โ”‚   990000   โ”‚
โ”‚    1    โ”‚ 'B for UserA'  โ”‚ 'GmRp3YGmWFc2or9BkBuiANS9GZ7BEqxrg1ZPpCYvRqc2' โ”‚   990000   โ”‚
โ”‚    2    โ”‚ 'LP for UserA' โ”‚ '7BBxTGPFKxLmKVj6LV3yE6ojG9kFzRpFnunFxrsT7sW6' โ”‚  10000000  โ”‚
โ”‚    3    โ”‚  'A for PDA '  โ”‚ 'BVJohxH1hogZdcYBrTMuo7EVk9TSrjdGhrya4zzrGC7p' โ”‚  1010000   โ”‚
โ”‚    4    โ”‚  'B for PDA '  โ”‚ '9HRgCPn4nj415xayTHhLFqQrpWePPzewEmAqbUBDbtgZ' โ”‚  1010000   โ”‚
โ”‚    5    โ”‚ 'LP for Admin' โ”‚ '7XAnDxYcCRRSKewLdMnqtrwhjnbUd2Kvq5FfG8xMdRsp' โ”‚ 1000000000 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

DepositSingle(Deposit Token A)

sequenceDiagram
    participant PoolManager as -PDA- <br/> Pool Manager
    participant Depositor
    Depositor ->>+ PoolManager : send 100000 token A 
    PoolManager ->>+ Depositor : mint 48760478 LP Token
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚      name      โ”‚                    address                     โ”‚   amount   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    0    โ”‚ 'A for UserA'  โ”‚ 'J8a4ENEMgUHHfAz9VH2BuApK6mS8mjcUZjHeBypKN1KE' โ”‚   890000   โ”‚
โ”‚    1    โ”‚ 'B for UserA'  โ”‚ 'GmRp3YGmWFc2or9BkBuiANS9GZ7BEqxrg1ZPpCYvRqc2' โ”‚   990000   โ”‚
โ”‚    2    โ”‚ 'LP for UserA' โ”‚ '7BBxTGPFKxLmKVj6LV3yE6ojG9kFzRpFnunFxrsT7sW6' โ”‚  58760478  โ”‚
โ”‚    3    โ”‚  'A for PDA '  โ”‚ 'BVJohxH1hogZdcYBrTMuo7EVk9TSrjdGhrya4zzrGC7p' โ”‚  1110000   โ”‚
โ”‚    4    โ”‚  'B for PDA '  โ”‚ '9HRgCPn4nj415xayTHhLFqQrpWePPzewEmAqbUBDbtgZ' โ”‚  1010000   โ”‚
โ”‚    5    โ”‚ 'LP for Admin' โ”‚ '7XAnDxYcCRRSKewLdMnqtrwhjnbUd2Kvq5FfG8xMdRsp' โ”‚ 1000000000 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

WithdrawAll

sequenceDiagram
    participant Admin
    participant PoolManager as -PDA- <br/> Pool Manager
    participant Depositor
    PoolManager ->>+ Depositor : send 104 token A 
    PoolManager ->>+ Depositor : send 95 token B
    PoolManager ->>+ Depositor : burn 100000 LP Token
    Depositor ->>+ Admin : send 0 LP Token as fee
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚      name      โ”‚                    address                     โ”‚   amount   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    0    โ”‚ 'A for UserA'  โ”‚ 'J8a4ENEMgUHHfAz9VH2BuApK6mS8mjcUZjHeBypKN1KE' โ”‚   890104   โ”‚
โ”‚    1    โ”‚ 'B for UserA'  โ”‚ 'GmRp3YGmWFc2or9BkBuiANS9GZ7BEqxrg1ZPpCYvRqc2' โ”‚   990095   โ”‚
โ”‚    2    โ”‚ 'LP for UserA' โ”‚ '7BBxTGPFKxLmKVj6LV3yE6ojG9kFzRpFnunFxrsT7sW6' โ”‚  58660478  โ”‚
โ”‚    3    โ”‚  'A for PDA '  โ”‚ 'BVJohxH1hogZdcYBrTMuo7EVk9TSrjdGhrya4zzrGC7p' โ”‚  1109896   โ”‚
โ”‚    4    โ”‚  'B for PDA '  โ”‚ '9HRgCPn4nj415xayTHhLFqQrpWePPzewEmAqbUBDbtgZ' โ”‚  1009905   โ”‚
โ”‚    5    โ”‚ 'LP for Admin' โ”‚ '7XAnDxYcCRRSKewLdMnqtrwhjnbUd2Kvq5FfG8xMdRsp' โ”‚ 1000000000 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

WithdrawSingle(Withdraw Token A)

sequenceDiagram
    participant Admin
    participant PoolManager as -PDA- <br/> Pool Manager
    participant Depositor
    PoolManager ->>+ Depositor : send 100000 token A 
    PoolManager ->>+ Depositor : burn 48754928 LP Token
    Depositor ->>+ Admin : send 0 LP Token as fee
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚      name      โ”‚                    address                     โ”‚   amount   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    0    โ”‚ 'A for UserA'  โ”‚ 'J8a4ENEMgUHHfAz9VH2BuApK6mS8mjcUZjHeBypKN1KE' โ”‚   990104   โ”‚
โ”‚    1    โ”‚ 'B for UserA'  โ”‚ 'GmRp3YGmWFc2or9BkBuiANS9GZ7BEqxrg1ZPpCYvRqc2' โ”‚   990095   โ”‚
โ”‚    2    โ”‚ 'LP for UserA' โ”‚ '7BBxTGPFKxLmKVj6LV3yE6ojG9kFzRpFnunFxrsT7sW6' โ”‚  9905550   โ”‚
โ”‚    3    โ”‚  'A for PDA '  โ”‚ 'BVJohxH1hogZdcYBrTMuo7EVk9TSrjdGhrya4zzrGC7p' โ”‚  1009896   โ”‚
โ”‚    4    โ”‚  'B for PDA '  โ”‚ '9HRgCPn4nj415xayTHhLFqQrpWePPzewEmAqbUBDbtgZ' โ”‚  1009905   โ”‚
โ”‚    5    โ”‚ 'LP for Admin' โ”‚ '7XAnDxYcCRRSKewLdMnqtrwhjnbUd2Kvq5FfG8xMdRsp' โ”‚ 1000000000 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Swap 1 (Token A -> Token B)

sequenceDiagram
    participant Admin
    participant PoolManager as -PDA- <br/> Pool Manager
    participant Swapper
    Swapper ->>+ PoolManager : send 1999995 token A 
    PoolManager ->>+ Swapper : send 670379 token B
    PoolManager ->>+ Admin : mint 167611 LP Token as fee
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚      name       โ”‚                    address                     โ”‚   amount   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    0    โ”‚  'A for userA'  โ”‚ 'J8a4ENEMgUHHfAz9VH2BuApK6mS8mjcUZjHeBypKN1KE' โ”‚   990104   โ”‚
โ”‚    1    โ”‚  'B for userA'  โ”‚ 'GmRp3YGmWFc2or9BkBuiANS9GZ7BEqxrg1ZPpCYvRqc2' โ”‚   990095   โ”‚
โ”‚    2    โ”‚ 'LP for userA'  โ”‚ '7BBxTGPFKxLmKVj6LV3yE6ojG9kFzRpFnunFxrsT7sW6' โ”‚  9905550   โ”‚
โ”‚    3    โ”‚  'A for PDA '   โ”‚ 'BVJohxH1hogZdcYBrTMuo7EVk9TSrjdGhrya4zzrGC7p' โ”‚  3009891   โ”‚
โ”‚    4    โ”‚  'B for PDA '   โ”‚ '9HRgCPn4nj415xayTHhLFqQrpWePPzewEmAqbUBDbtgZ' โ”‚   339526   โ”‚
โ”‚    5    โ”‚ 'LP for Admin'  โ”‚ '7XAnDxYcCRRSKewLdMnqtrwhjnbUd2Kvq5FfG8xMdRsp' โ”‚ 1000167611 โ”‚
โ”‚    6    โ”‚ 'A for swapper' โ”‚ '7NCo7QQyP1a1PSQMZZCFmxjYnAaWguX7r7MkuQcWAYu2' โ”‚  8000005   โ”‚
โ”‚    7    โ”‚ 'B for swapper' โ”‚ 'AKUKWMmVPSjiVymMPshfd9HLhtKdDDg5CjmKQ7YePJfe' โ”‚  10670379  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Swap 2 (Token A -> Token B)

sequenceDiagram
    participant Admin
    participant PoolManager as -PDA- <br/> Pool Manager
    participant Swapper
    Swapper ->>+ PoolManager : send 1999984 token A 
    PoolManager ->>+ Swapper : send 135297 token B
    PoolManager ->>+ Admin : mint 100713 LP Token as fee
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚      name       โ”‚                    address                     โ”‚   amount   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    0    โ”‚  'A for userA'  โ”‚ 'J8a4ENEMgUHHfAz9VH2BuApK6mS8mjcUZjHeBypKN1KE' โ”‚   990104   โ”‚
โ”‚    1    โ”‚  'B for userA'  โ”‚ 'GmRp3YGmWFc2or9BkBuiANS9GZ7BEqxrg1ZPpCYvRqc2' โ”‚   990095   โ”‚
โ”‚    2    โ”‚ 'LP for userA'  โ”‚ '7BBxTGPFKxLmKVj6LV3yE6ojG9kFzRpFnunFxrsT7sW6' โ”‚  9905550   โ”‚
โ”‚    3    โ”‚  'A for PDA '   โ”‚ 'BVJohxH1hogZdcYBrTMuo7EVk9TSrjdGhrya4zzrGC7p' โ”‚  5009875   โ”‚
โ”‚    4    โ”‚  'B for PDA '   โ”‚ '9HRgCPn4nj415xayTHhLFqQrpWePPzewEmAqbUBDbtgZ' โ”‚   204229   โ”‚
โ”‚    5    โ”‚ 'LP for Admin'  โ”‚ '7XAnDxYcCRRSKewLdMnqtrwhjnbUd2Kvq5FfG8xMdRsp' โ”‚ 1000268324 โ”‚
โ”‚    6    โ”‚ 'A for swapper' โ”‚ '7NCo7QQyP1a1PSQMZZCFmxjYnAaWguX7r7MkuQcWAYu2' โ”‚  6000021   โ”‚
โ”‚    7    โ”‚ 'B for swapper' โ”‚ 'AKUKWMmVPSjiVymMPshfd9HLhtKdDDg5CjmKQ7YePJfe' โ”‚  10805676  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Swap 3 (Token A -> Token B)

sequenceDiagram
    participant Admin
    participant PoolManager as -PDA- <br/> Pool Manager
    participant Swapper
    Swapper ->>+ PoolManager : send 1999957 token A 
    PoolManager ->>+ Swapper : send 58143 token B
    PoolManager ->>+ Admin : mint 71985 LP Token as fee
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚      name       โ”‚                    address                     โ”‚   amount   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    0    โ”‚  'A for userA'  โ”‚ 'J8a4ENEMgUHHfAz9VH2BuApK6mS8mjcUZjHeBypKN1KE' โ”‚   990104   โ”‚
โ”‚    1    โ”‚  'B for userA'  โ”‚ 'GmRp3YGmWFc2or9BkBuiANS9GZ7BEqxrg1ZPpCYvRqc2' โ”‚   990095   โ”‚
โ”‚    2    โ”‚ 'LP for userA'  โ”‚ '7BBxTGPFKxLmKVj6LV3yE6ojG9kFzRpFnunFxrsT7sW6' โ”‚  9905550   โ”‚
โ”‚    3    โ”‚  'A for PDA '   โ”‚ 'BVJohxH1hogZdcYBrTMuo7EVk9TSrjdGhrya4zzrGC7p' โ”‚  7009832   โ”‚
โ”‚    4    โ”‚  'B for PDA '   โ”‚ '9HRgCPn4nj415xayTHhLFqQrpWePPzewEmAqbUBDbtgZ' โ”‚   146086   โ”‚
โ”‚    5    โ”‚ 'LP for Admin'  โ”‚ '7XAnDxYcCRRSKewLdMnqtrwhjnbUd2Kvq5FfG8xMdRsp' โ”‚ 1000340309 โ”‚
โ”‚    6    โ”‚ 'A for swapper' โ”‚ '7NCo7QQyP1a1PSQMZZCFmxjYnAaWguX7r7MkuQcWAYu2' โ”‚  4000064   โ”‚
โ”‚    7    โ”‚ 'B for swapper' โ”‚ 'AKUKWMmVPSjiVymMPshfd9HLhtKdDDg5CjmKQ7YePJfe' โ”‚  10863819  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Swap 4 (Token A -> Token B)

sequenceDiagram
    participant Admin
    participant PoolManager as -PDA- <br/> Pool Manager
    participant Swapper
    Swapper ->>+ PoolManager : send 1999970 token A 
    PoolManager ->>+ Swapper : send 32352 token B
    PoolManager ->>+ Admin : mint 56010 LP Token as fee
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚      name       โ”‚                    address                     โ”‚   amount   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    0    โ”‚  'A for userA'  โ”‚ 'J8a4ENEMgUHHfAz9VH2BuApK6mS8mjcUZjHeBypKN1KE' โ”‚   990104   โ”‚
โ”‚    1    โ”‚  'B for userA'  โ”‚ 'GmRp3YGmWFc2or9BkBuiANS9GZ7BEqxrg1ZPpCYvRqc2' โ”‚   990095   โ”‚
โ”‚    2    โ”‚ 'LP for userA'  โ”‚ '7BBxTGPFKxLmKVj6LV3yE6ojG9kFzRpFnunFxrsT7sW6' โ”‚  9905550   โ”‚
โ”‚    3    โ”‚  'A for PDA '   โ”‚ 'BVJohxH1hogZdcYBrTMuo7EVk9TSrjdGhrya4zzrGC7p' โ”‚  9009802   โ”‚
โ”‚    4    โ”‚  'B for PDA '   โ”‚ '9HRgCPn4nj415xayTHhLFqQrpWePPzewEmAqbUBDbtgZ' โ”‚   113734   โ”‚
โ”‚    5    โ”‚ 'LP for Admin'  โ”‚ '7XAnDxYcCRRSKewLdMnqtrwhjnbUd2Kvq5FfG8xMdRsp' โ”‚ 1000396319 โ”‚
โ”‚    6    โ”‚ 'A for swapper' โ”‚ '7NCo7QQyP1a1PSQMZZCFmxjYnAaWguX7r7MkuQcWAYu2' โ”‚  2000094   โ”‚
โ”‚    7    โ”‚ 'B for swapper' โ”‚ 'AKUKWMmVPSjiVymMPshfd9HLhtKdDDg5CjmKQ7YePJfe' โ”‚  10896171  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Relation

flowchart LR
  Admin[-Account- <br/> Admin]
  PoolManager[-PDA- <br/> Pool Manager]
  Depositor[-Account- <br/> Depositor]
  Swapper[-Account- <br/> Swapper]
  SwapPair[-Account- <br/> SwapPair]
  ThisProgram[-Program- <br/> This program]
  A[-Mint- <br/> A Token]
  B[-Mint- <br/> B Token]
  LP[-Mint- <br/> LP Token]
  DepositorTokenA[-TokenAccount- <br/> A for Depositor]
  DepositorTokenB[-TokenAccount- <br/> B for Deposit0r]
  DepositorTokenLP[-TokenAccount- <br/> LP for Depositor]
  PoolManagerTokenA[-TokenAccount- <br/> A for Pool Manager]
  PoolManagerTokenB[-TokenAccount- <br/> B for Pool Manager]
  AdminTokenA[-TokenAccount- <br/> A for Admin]
  AdminTokenB[-TokenAccount- <br/> A for Admin]
  AdminTokenLP[-TokenAccount- <br/> LP for Admin]
  SwapperTokenA[-TokenAccount- <br/> A for Swapper]
  SwapperTokenB[-TokenAccount- <br/> A for Swapper]
  A -- authority --> Admin
  B -- authority --> Admin
  LP -- authority --> PoolManager
  DepositorTokenA -- mint --> A
  DepositorTokenB -- mint --> B
  DepositorTokenLP -- mint --> LP 
  DepositorTokenA -- owner --> Depositor
  DepositorTokenB -- owner --> Depositor
  DepositorTokenLP -- owner --> Depositor
  PoolManagerTokenA -- mint --> A
  PoolManagerTokenB -- mint --> B
  PoolManagerTokenLP -- mint --> LP 
  PoolManagerTokenA -- owner --> PoolManager
  PoolManagerTokenB -- owner --> PoolManager
  AdminTokenA -- mint --> A
  AdminTokenB -- mint --> B
  AdminTokenLP -- mint --> LP 
  AdminTokenA -- owner --> Admin
  AdminTokenB -- owner --> Admin
  AdminTokenLP -- owner --> Admin
  SwapperTokenA -- mint --> A
  SwapperTokenB -- mint --> B
  SwapperTokenA -- owner --> Swapper
  SwapperTokenB -- owner --> Swapper
  SwapPair -- owner --> ThisProgram
๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท yoshidan/anchor-liquidity-pool ยท Updated daily from GitHub