Chuyển đến nội dung chính

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →
Trang này tài liệu hóa sơ đồ tài khoản cho mỗi lần phát hành: PoolState (tài khoản trạng thái gốc cho một lần phát hành), hai vault của nó, PDA quyền hạn, và các tham chiếu sau khi phát hành mà nó nhận được khi lần phát hành được giải quyết.Để xem cấu hình cấp giao thức áp dụng cho mỗi lần phát hành, hãy xem products/launchlab/global-config. Để xem lớp phủ cho mỗi nền tảng, hãy xem products/launchlab/platform-config. Để xem tài khoản vesting (VestingSchedule trên PoolState, VestingRecord cho mỗi người hưởng lợi), hãy xem products/launchlab/vesting.

Danh sách tài khoản

Tài khoảnChủ sở hữuMục đích
GlobalConfigChương trình LaunchLabQuy tắc cấp giao thức: phí, mức sàn cung cấp, ví di cư. Một cái cho mỗi (curve_type, index).
PlatformConfigChương trình LaunchLabLớp phủ cho mỗi nền tảng: thương hiệu, phí nền tảng, chia NFT tại khi hoàn tất, danh sách cho phép hình dạng đường cong.
PoolStateChương trình LaunchLabTrạng thái gốc cho mỗi lần phát hành: mint, vault, tham số đường cong, bộ đếm đã bán, bộ đếm phí, lịch trình vesting, trạng thái hoàn tất.
authorityChương trình LaunchLabPDA đơn lẻ tại seed [b"vault_auth_seed"] sở hữu các vault trên tất cả các lần phát hành và ký CPI sau khi hoàn tất.
base_vaultSPL Token / Token-2022Vault cho mỗi lần phát hành chứa các token cơ sở chưa bán.
quote_vaultSPL TokenVault cho mỗi lần phát hành chứa các token trích dẫn tích lũy.
VestingRecordChương trình LaunchLabBản ghi cliff + mở khóa tuyến tính cho mỗi người hưởng lợi. Tùy chọn.
creator_fee_vaultSPL TokenVault cho mỗi tác giả + cho mỗi mint trích dẫn chứa các phí tác giả tích lũy, được xóa bởi ClaimCreatorFee.
platform_fee_vaultSPL TokenVault cho mỗi nền tảng + cho mỗi mint trích dẫn chứa các phí nền tảng tích lũy, được xóa bởi ClaimPlatformFeeFromVault.
(sau hoàn tất) cpmm_pool_state hoặc amm_pool_stateChương trình CPMM / AMM v4Pool được tạo bởi MigrateToCpswap / MigrateToAmm.
(sau hoàn tất) Fee Key NFTChương trình LP-LockBao bọc phần LP của tác giả tại khi hoàn tất CPMM; cấp cho chủ sở hữu quyền ClaimCreatorFee trên pool CPMM.
SDK’s raydium.launchpad.getLaunchById trả về PoolState cộng với một cờ cho biết liệu lần phát hành đã hoàn tất chưa; nếu có, ID pool sau khi di cư được bao gồm.

PoolState

Trạng thái gốc cho mỗi lần phát hành. Tên trường dưới đây trùng khớp với struct Rust trên chuỗi (states/pool.rs); một số giá trị được đơn giản hóa để dễ đọc — tham khảo mã nguồn để biết bố cục bộ nhớ chính xác.
// states/pool.rs (abridged)
pub struct PoolState {
    pub epoch:                     u64,        // recent_epoch tracker
    pub auth_bump:                 u8,
    pub status:                    u8,         // PoolStatus enum
    pub base_decimals:             u8,
    pub quote_decimals:            u8,
    pub migrate_type:              u8,         // 0 = AMM v4, 1 = CPMM
    pub supply:                    u64,        // total base tokens (no decimals)
    pub total_base_sell:           u64,        // base supply allocated to the curve
    pub virtual_base:              u64,        // virtual-reserve seed
    pub virtual_quote:             u64,        // virtual-reserve seed
    pub real_base:                 u64,        // base sold so far
    pub real_quote:                u64,        // quote raised so far (excl. fees)
    pub total_quote_fund_raising:  u64,        // graduation threshold in quote

    pub quote_protocol_fee:        u64,        // accrued, pending CollectFee
    pub platform_fee:              u64,        // accrued, pending ClaimPlatformFee
    pub migrate_fee:               u64,        // accrued, pending CollectMigrateFee
    pub vesting_schedule:          VestingSchedule,

    pub global_config:             Pubkey,
    pub platform_config:           Pubkey,
    pub creator:                   Pubkey,
    pub base_mint:                 Pubkey,
    pub quote_mint:                Pubkey,
    pub base_vault:                Pubkey,
    pub quote_vault:               Pubkey,

    pub amm_creator_fee_on:        u8,         // 0 = QuoteToken, 1 = BothToken (CPMM-only)
    pub token_program_flag:        u8,         // bit flags for SPL Token vs Token-2022
    pub padding:                   [u8; 54],
}

#[derive(Default, Debug, Clone)]
pub struct VestingSchedule {
    pub total_locked_amount:    u64,
    pub cliff_period:           u64,
    pub unlock_period:          u64,
    pub start_time:             u64,           // set at graduation
    pub allocated_share_amount: u64,           // running sum across VestingRecords
}
Các giá trị PoolStatus (từ Anchor IDL):
0 = Funding         — accepting buys / sells; below quote_reserve_target
1 = Migrate         — quote_reserve_target reached; awaiting MigrateTo*
2 = Migrated        — MigrateTo* already executed; vesting clock running
Các trường hướng đến người tích hợp:
  • status — ba giá trị, đơn điệu (Funding → Migrate → Migrated). Đọc luôn an toàn; ghi bị gated.
  • real_base, real_quote — trạng thái đường cong hiện tại. Kết hợp với virtual_base / virtual_quote chúng đủ để tính giá spot mà không cần chạm vào các vault. Xem bonding-curve.
  • total_base_sell vs real_base — tỷ lệ “tiến độ hướng tới hoàn tất” cho UI.
  • migrate_type — lựa chọn MigrateToAmm hoặc MigrateToCpswap là đường dẫn hoàn tất hợp lệ. Các lần phát hành Token-2022 phải sử dụng CPMM.
  • amm_creator_fee_on — chỉ có ý nghĩa khi hoàn tất đến pool CPMM. Chọn creator_fee_on = OnlyQuoteToken (0) hoặc BothToken (1) trên pool CPMM sau hoàn tất. Mặc dù tên gọi này, enum này cũng thực chất điều khiển mục tiêu di cư — BothToken được ghép nối với MigrateToAmm trong thực hành hoạt động hiện tại; QuoteToken với MigrateToCpswap. Xem creator-fees.
  • quote_protocol_fee / platform_fee / migrate_fee — ba bộ đếm phí độc lập. Mỗi cái có hướng dẫn claim của riêng mình; xem instructions.
  • vesting_schedule — hiện tại trên mỗi PoolState nhưng không hoạt động khi total_locked_amount == 0. Xem vesting để biết toàn bộ chu kỳ sống.

PDA quyền hạn

LaunchLab sử dụng một PDA quyền hạn duy nhất trên tất cả các lần phát hành, được dẫn xuất mà không có seed cho mỗi lần phát hành:
const LAUNCHLAB_PROGRAM_ID = new PublicKey("<LAUNCHLAB_ID>"); // see reference/program-addresses

const [authority, bump] = PublicKey.findProgramAddressSync(
  [Buffer.from("vault_auth_seed")],
  LAUNCHLAB_PROGRAM_ID,
);
PDA đơn lẻ đó là:
  • Quyền hạn trên base_vaultquote_vault của mỗi lần phát hành.
  • mint_authority trên base_mint của mỗi lần phát hành (trước hoàn tất).
  • Người ký trên CPI sau hoàn tất đến AMM v4 / CPMM (MigrateTo*).
  • Người ký trên chuyển ClaimVestedToken ra khỏi base vault.
mint_authority được thu hồi ngay sau MigrateToAmm / MigrateToCpswap để cố định vĩnh viễn cung cấp. Hai PDA bổ sung gated các vault phí:
const [creatorFeeVaultAuthority] = PublicKey.findProgramAddressSync(
  [Buffer.from("creator_fee_vault_auth_seed")],
  LAUNCHLAB_PROGRAM_ID,
);

const [platformFeeVaultAuthority] = PublicKey.findProgramAddressSync(
  [Buffer.from("platform_fee_vault_auth_seed")],
  LAUNCHLAB_PROGRAM_ID,
);
Những người này ký chuyển ra khỏi vault phí tương ứng trong ClaimCreatorFeeClaimPlatformFeeFromVault.

Mint cơ sở

Được tạo inline bởi Initialize với:
  • mint_authority = authority (được thu hồi tại hoàn tất).
  • freeze_authority = None.
  • supply = supply, được mint hoàn toàn vào base_vault.
  • decimals được lựa chọn bởi tác giả tại Initialize (thường là 6).
Vì toàn bộ cung cấp được pre-mint, base_mint.supply là hằng số cho cuộc đời của lần phát hành. Curve buys di chuyển token từ base_vault đến người mua, nhưng không gọi mint_to. Initialize / InitializeV2 tạo các lần phát hành SPL Token. Hướng dẫn InitializeWithToken2022 dành riêng cho phép mint cơ sở là mint Token-2022 (với tùy chọn TransferFeeConfig); mint trích dẫn vẫn là SPL Token. Các lần phát hành Token-2022 phải hoàn tất đến pool CPMM vì AMM v4 chỉ hỗ trợ vault SPL Token.

Vault

Cả base_vaultquote_vault đều là các tài khoản SPL Token tiêu chuẩn được sở hữu bởi PDA authority LaunchLab. Các địa chỉ được lưu trữ trên PoolState và cũng có thể được dẫn xuất:
const [baseVault] = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), baseMint.toBuffer()],
  LAUNCHLAB_PROGRAM_ID,
);
const [quoteVault] = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), quoteMint.toBuffer()],
  LAUNCHLAB_PROGRAM_ID,
);
(Xác minh các tiền tố seed chính xác từ struct tài khoản Initialize của mã nguồn trước khi dựa vào dẫn xuất trong production.)

Vault phí

Hai PDA tổng hợp phí trên tất cả các lần phát hành:
  • Vault phí tác giả — PDA tại seed [creator, quote_mint]. Mỗi lần phát hành kiếm được phí tác giả giống nhau trên cùng một mint trích dẫn đổ vào cùng một vault. Tác giả quét nó qua ClaimCreatorFee.
  • Vault phí nền tảng — PDA tại seed [platform_config, quote_mint]. Mỗi lần phát hành được định tuyến qua cùng một nền tảng sử dụng cùng một mint trích dẫn đổ vào cùng một vault. platform_fee_wallet của nền tảng quét nó qua ClaimPlatformFeeFromVault. Cũng có một biến quét cho mỗi lần phát hành (ClaimPlatformFee) kéo từ quote_vault của lần phát hành trực tiếp mà không đi qua vault tổng hợp.
Mô hình vault tổng hợp là điều cho phép tác giả hoặc nền tảng có khối lượng cao khấu hao chi phí thuê của sự tích lũy phí trên nhiều lần phát hành.

Quote vault ↔ real_quote

quote_vault.balancePoolState.real_quote sẽ ở trong trạng thái đồng bộ. Chúng có thể sai lệch tối đa là tổng của ba bộ đếm phí chưa xử lý (quote_protocol_fee, platform_fee, migrate_fee), chúng nằm trong vault nhưng thuộc về các bộ đếm phí và không phải là dự trữ đường cong. Toán học đường cong luôn sử dụng real_quote, không bao giờ là số dư vault thô. Bất biến trước hoàn tất:
quote_vault.balance ==
   real_quote
 + quote_protocol_fee
 + platform_fee
 + migrate_fee

Chuyển đổi tài khoản vòng đời

Sự kiệnTrạng tháireal_basereal_quotePool sau hoàn tất
InitializeFunding00
BuyExactIn / BuyExactOutFunding+base_out+quote_in_after_fee
SellExactIn / SellExactOutFunding−base_in−quote_out_before_fee
MigrateToAmm / MigrateToCpswapFunding → Migrate → Migrated(frozen)(frozen)được tạo, LP chia theo PlatformConfig
ClaimCreatorFee / ClaimPlatformFee*bất kỳxóa vault phí
CreateVestingAccountFundingbumps vesting_schedule.allocated_share_amount
ClaimVestedTokenMigrated onlyxóa base_vault

Bước tiếp theo

Nguồn:
  • raydium-launch/programs/launchpad/src/states/pool.rsPoolState, PoolStatus, VestingSchedule, AmmCreatorFeeOn.
  • raydium-launch/programs/launchpad/src/lib.rs — hằng số seed PDA (AUTH_SEED, CREATOR_FEE_VAULT_AUTH_SEED, PLATFORM_FEE_VAULT_AUTH_SEED).
  • Mô-đun Raydium SDK v2 launchpad.