Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
PoolState (корневой аккаунт состояния одного запуска), его два хранилища, PDA авторитета и ссылки на постградуационные аккаунты, которые появляются при завершении запуска.
Информацию о конфигурации на уровне протокола, действующей на все запуски, см. в разделе products/launchlab/global-config. Для наложения конфигурации платформы см. products/launchlab/platform-config. Для аккаунтов вестинга (VestingSchedule на PoolState, VestingRecord на получателя) см. products/launchlab/vesting.
Инвентарь аккаунтов
Метод
raydium.launchpad.getLaunchById SDK возвращает PoolState плюс флаг, указывающий, прошел ли запуск выпуск; если прошел, включается ID постмиграционного пула.
PoolState
Корневое состояние на один запуск. Имена полей ниже совпадают с on-chain структурой Rust (states/pool.rs); некоторые значения упрощены для читаемости — обратитесь к исходному коду для точного макета памяти.
PoolStatus (из Anchor IDL):
status— три значения, монотонные (Funding → Migrate → Migrated). Чтение всегда безопасно; запись ограничена.real_base,real_quote— текущее состояние кривой. В сочетании сvirtual_base/virtual_quoteих достаточно для вычисления спотовой цены без касания хранилищ. См.bonding-curve.total_base_sellvsreal_base— коэффициент «прогресс к выпуску» для UI.migrate_type— выбирает, является лиMigrateToAmmилиMigrateToCpswapдопустимым путем выпуска. Запуски Token-2022 должны использовать CPMM.amm_creator_fee_on— имеет смысл только при выпуске на CPMM. Выбираетcreator_fee_on = OnlyQuoteToken(0) илиBothToken(1) в постградуационном пуле CPMM. Несмотря на название, этот enum фактически также определяет целевую миграцию —BothTokenсочетается сMigrateToAmmв текущей операционной практике;QuoteTokenсMigrateToCpswap. См.creator-fees.quote_protocol_fee/platform_fee/migrate_fee— три независимых счетчика сборов. Каждый имеет собственную инструкцию claim; см.instructions.vesting_schedule— присутствует на каждомPoolState, но неактивен когдаtotal_locked_amount == 0. См.vestingдля полного цикла жизни.
PDA авторитета
LaunchLab использует единый PDA авторитета для всех запусков, полученный без seed на запуск:- Авторитет на
base_vaultиquote_vaultкаждого запуска. mint_authorityнаbase_mintкаждого запуска (до выпуска).- Подписант на постградуационный CPI для AMM v4 / CPMM (
MigrateTo*). - Подписант на передачи
ClaimVestedTokenиз базового хранилища.
mint_authority отзывается немедленно после MigrateToAmm / MigrateToCpswap, так что предложение становится постоянно фиксированным.
Два дополнительных PDA блокируют хранилища сборов:
ClaimCreatorFee и ClaimPlatformFeeFromVault.
Базовый майнт
Создается встроенноInitialize с:
mint_authority = authority(отзывается при выпуске).freeze_authority = None.supply = supply, целиком сминчено вbase_vault.decimals, выбранные создателем приInitialize(обычно 6).
base_mint.supply остается константой на всю жизнь запуска. Покупки по кривой перемещают токены из base_vault покупателю, но не вызывают mint_to.
Initialize / InitializeV2 создают запуски SPL Token. Специальная инструкция InitializeWithToken2022 позволяет базовому майнту быть майнтом Token-2022 (с опциональной TransferFeeConfig); майнт котировки остается SPL Token. Запуски Token-2022 должны выпуститься на пул CPMM, потому что AMM v4 поддерживает только хранилища SPL Token.
Хранилища
Иbase_vault, и quote_vault — это стандартные аккаунты SPL Token, принадлежащие PDA LaunchLab authority. Адреса хранятся на PoolState и могут быть также получены:
Initialize исходного кода.)
Хранилища сборов
Два PDA агрегируют сборы по запускам:- Хранилище сборов создателя — PDA с seeds
[creator, quote_mint]. Каждый запуск, начисляющий сборы одного создателя по одному котируемому майнту, поступает в одно и то же хранилище. Создатель очищает его черезClaimCreatorFee. - Хранилище сборов платформы — PDA с seeds
[platform_config, quote_mint]. Каждый запуск, маршрутизируемый через одну и ту же платформу с одним и тем же котируемым майнтом, поступает в одно и то же хранилище.platform_fee_walletплатформы очищает его черезClaimPlatformFeeFromVault. Также есть вариант очистки на запуск (ClaimPlatformFee), который извлекает изquote_vaultзапуска напрямую без обращения к агрегированному хранилищу.
Quote vault ↔ real_quote
quote_vault.balance и PoolState.real_quote должны оставаться синхронизированными. Они могут расходиться максимум на сумму трех ожидающих счетчиков сборов (quote_protocol_fee, platform_fee, migrate_fee), которые находятся в хранилище, но принадлежат счетчикам сборов, а не резерву кривой. Математика кривой всегда использует real_quote, никогда не использует необработанный баланс хранилища.
Инвариант до выпуска:
Переходы аккаунтов в цикле жизни
Дальнейшее изучение
products/launchlab/bonding-curve— математика заreal_base↔real_quote.products/launchlab/instructions— списки аккаунтов на инструкцию.products/launchlab/global-config— привязка на уровне протокола.products/launchlab/platform-config— наложение платформы.products/launchlab/vesting— механика блокировки предложения.products/cpmm/accounts— как выглядит постградуационныйcpmm_pool_state.
raydium-launch/programs/launchpad/src/states/pool.rs—PoolState,PoolStatus,VestingSchedule,AmmCreatorFeeOn.raydium-launch/programs/launchpad/src/lib.rs— константы seed PDA (AUTH_SEED,CREATOR_FEE_VAULT_AUTH_SEED,PLATFORM_FEE_VAULT_AUTH_SEED).- Модуль
launchpadRaydium SDK v2.

