Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.Ver versão em inglês →
O LaunchLab expõe um conjunto reduzido de instruções: seis chamadas voltadas para o usuário mais alguns primitivos de administração. O SDK envolve todas elas; esta página documenta a superfície bruta para agregadores, ferramentas de monitoramento e programas que precisam de CPI.
Inventário de instruções
A divisão “ExactIn/ExactOut” espelha
SwapBaseInput / SwapBaseOutput do CPMM — na cadeia são discriminadores de instrução separados com arredondamento ligeiramente diferente.
Seleção do caminho de graduação. migrate_type é registrado em PoolState no momento de Initialize{V2,WithToken2022} e determina qual das duas instruções de graduação pode ser executada. Lançamentos Token-2022 sempre migram para CPMM. Lançamentos SPL Token migram para AMM v4 ou CPMM dependendo da configuração amm_creator_fee_on:
BothToken→MigrateToAmm→ pool AMM v4 (taxa do criador pode ser coletada de ambos os lados; AMM v4 não tem campo nativo de taxa do criador, então as taxas do criador são obtidas por meio do mecanismo de bloqueio de LP NFT).QuoteToken→MigrateToCpswap→ pool CPMM comcreator_fee_on = OnlyQuoteToken(criador continua a ganhar taxas do pool CPMM através do NFT da Chave de Taxa LaunchLab — vejaproducts/launchlab/creator-fees).
Initialize
Cria um novo lançamento.
Argumentos
Pré-condições
quote_mint ∈ launch_config.allowed_quote_mints.base_supply_graduation ≤ base_supply_max.- Parâmetros de taxa passam verificações
launch_config.max_*_fee_rate. open_time ≥ now − slop(SDK impõe≥ now; programa tolera desatualização ligeira).curve_typeé reconhecido.
base_minttemsupply = base_supply_max, todos embase_vault.base_mint.mint_authority = launch_authority,freeze_authority = None.LaunchStateinicializado comstatus = Active,base_sold = 0,quote_reserve_real = 0.quote_reserve_targetcomputado a partir de parâmetros da curva +base_supply_graduation+buy_numerator(aproximadamente).
InvalidQuoteMint, FeeRateTooHigh, InvalidCurveParams, MathOverflow.
Buy (variante canônica: BuyExactIn)
O usuário fornece um quote_in fixo; a curva calcula base_out.
Argumentos
Pré-condições
launch_state.status == Active.now ≥ open_time.user_quote_ata.balance ≥ quote_in.quote_in > 0.
- Divide
quote_inemquote_in_after_feee as partes de taxa. - Newton-resolve a curva para
base_outdado o quote pós-taxa. require(base_out ≥ minimum_base_out)senão reverteExceededSlippage.- Move
quote_inusuário → cofre. Movebase_outcofre → usuário. - Atualiza
base_sold += base_out,quote_reserve_real += quote_in_after_fee × (lp_share / total_share). - Atualiza contadores de taxa (
protocol_fees_quote,creator_fees_quote). state_data.num_buys += 1.- Se
quote_reserve_real ≥ quote_reserve_targetapós a atualização, o SDK normalmente encadeia uma ixGraduatena mesma transação. O programa não gradua automaticamente dentro deBuy— umGraduatesubsequente é necessário.
BuyExactOut
O usuário especifica o base_out exato; o programa calcula quote_in.
Argumentos
BuyExactIn. Usa a integral quadrática de forma fechada (ou inverso CPMM, para curve_type 1) em vez de iteração Newton.
Sell / SellExactIn / SellExactOut
Espelho de Buy. O usuário retorna base_in à curva e recebe quote_out. A taxa é deduzida de quote_out, então o usuário recebe menos do que os ganhos brutos integrados.
Pré-condições —
user_base_ata.balance ≥ base_in.- A venda não pode empurrar
base_soldabaixo de 0 (redundante com o acima dado que a contabilidade é consistente). - O lançamento está
Active.
Buy. base_sold diminui, quote_reserve_real diminui. As taxas ainda se acumulam.
MigrateToAmm / MigrateToCpswap
Gradua um lançamento em um pool AMM negociável uma vez que a curva atinge total_quote_fund_raising. As duas instruções correspondem aos dois destinos de graduação — AMM v4 e CPMM — e apenas uma delas é válida para qualquer lançamento dado, determinado por pool_state.migrate_type (definido no momento de Initialize).
Quem assina
MigrateToAmm— amigrate_to_amm_walletregistrada na vinculaçãoGlobalConfig.MigrateToCpswap— amigrate_to_cpswap_walletregistrada na vinculaçãoGlobalConfig.
MigrateToAmm recebe três (principalmente parâmetros de mercado OpenBook que o programa encaminha para AMM v4):
MigrateToCpswap não recebe nenhum.
Efeito (comum a ambos)
- Verifica
pool_state.status == Migrate(ou seja,quote_reserve_targetfoi atingido). Caso contrário, reverte comPoolMigrated(status já eraMigrated) ouPoolFunding(ainda em financiamento). - Verifica
pool_state.migrate_typecorresponde à instrução (0para AMM,1para CPMM). Caso contrário, reverte comMigrateTypeNotMatch. - Calcula as reservas pós-graduação:
base_amount_out = base_vault.amount − vesting_schedule.total_locked_amountquote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
- CPI no programa-alvo (
AMM v4 Initialize2ouCPMM InitializeWithPermission) com essas reservas para criar o pool pós-graduação. - Divide o LP resultante per a vinculação
PlatformConfig.{platform_scale, creator_scale, burn_scale}(apenas CPMM) — uma peça cunhada paraplatform_nft_wallet, uma para um NFT de criador envolvido pelo programa de bloqueio de LP, uma queimada via Burn & Earn. Para graduação AMM v4, a disposição do LP é regida pelos próprios parâmetros de inicialização de AMM v4. - Revoga
base_mint.mint_authority(define paraNone). - Alterna
pool_state.status = Migrated, definevesting_schedule.start_time = block_time + cliff_period.
BuyExactIn, BuyExactOut, SellExactIn, SellExactOut rejeitarão daqui em diante com PoolMigrated. O pool AMM resultante é canônico e funciona como qualquer outro pool AMM v4 / CPMM.
Erros comuns — PoolFunding, PoolMigrated, MigrateTypeNotMatch, InvalidCpSwapConfig, MathOverflow.
CollectFee
Resgate de admin de taxas de comércio acumuladas do protocolo em um único lançamento.
Argumentos — nenhum.
Contas
Efeito — transfere
pool_state.quote_protocol_fee de quote_vault para recipient_token_account, depois zera o contador. Pode ser chamado a qualquer momento após a primeira compra.
CollectMigrateFee
Resgate de admin da taxa de migração acumulada na graduação. Mesma forma de conta que CollectFee com migrate_fee_owner como signatário (em vez de protocol_fee_owner) e pool_state.migrate_fee como o contador drenado.
ClaimCreatorFee
Resgate por criador de taxas do criador acumuladas em cada lançamento que o criador possui que usa o mesmo quote mint. Drena o cofre de taxa por criador, não o por pool.
Argumentos — nenhum.
Contas
Efeito — transfere o saldo inteiro de
creator_fee_vault para recipient_token_account. Reverte com uma verificação obrigatória maior que zero se o cofre está vazio.
ClaimPlatformFee
Resgate por plataforma que drena o cofre de quote de um lançamento diretamente. Use isso quando uma plataforma quiser reivindicar sua fatia para um lançamento específico sem passar pelo cofre de plataforma agregado.
Argumentos — nenhum.
Contas
Efeito — transfere
pool_state.platform_fee de quote_vault para recipient_token_account, zera o contador.
ClaimPlatformFeeFromVault
Resgate agregado por plataforma. Drena o cofre de taxa por quote-mint da plataforma que acumula taxas de cada lançamento roteado através da plataforma.
Argumentos — nenhum.
Contas
Efeito — transfere o saldo completo de
platform_fee_vault para recipient_token_account. Reverte se o cofre está vazio.
Instruções de vesting e configuração de plataforma
Estas são documentadas em páginas dedicadas porque cada uma tem seu próprio modelo de estado:CreateVestingAccount,CreatePlatformVestingAccount,ClaimVestedTokenCreatePlatformConfig,UpdatePlatformConfig,UpdatePlatformCurveParam,RemovePlatformCurveParam,CreatePlatformGlobalAccess,ClosePlatformGlobalAccessCreateConfig,UpdateConfig
Matriz de mudança de estado
Próximas etapas
products/launchlab/code-demos— exemplos TypeScript para cada instrução.products/launchlab/accounts— forma de estado completo.reference/error-codes— enum de erro do LaunchLab.
- Módulo
LaunchLabdo Raydium SDK v2 - Código-fonte do programa Raydium LaunchLab

