Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.Ver versão em inglês →
Stable AMM é seu próprio programa; sua estrutura de contas no lado do pool se assemelha ao AMM v4 (AmmInfo, vaults, authority), e adicionalmente possui uma conta
ModelDataInfo que armazena a tabela de consulta. Esta página cobre ambas.Inventário
AMM puro. Stable AMM mantém toda a liquidez em seus próprios vaults e não depende do OpenBook. Ele carregava um caminho de market-making do OpenBook no início de sua vida, mas esse caminho ficou inativo por anos, e a atualização de 2026-06-22 removeu o código remanescente. As contas de mercado
serum_* e amm_open_orders abaixo são, portanto, legado: podem ainda aparecer em transações de layout antigo para compatibilidade com versões anteriores, mas o programa não as valida ou lê, e as instruções de novo layout as omitem inteiramente.AmmInfo
Conta de estado raiz. O layout é quase idêntico ao AMM v4 — parâmetros do pool, decimais, taxas, referências de vault/mint — com uma adição: um campo model_data_key apontando para a tabela de consulta.
model_data_key— o endereço da tabela de consulta. Deve ser passado para cada instrução.fees— estrutura idêntica ao AMM v4. Padrão de 0,25% de taxa de negociação, divisão de 0,22% LP / 0,03% protocolo.coin_vault,pc_vault— os vaults dos pools.status— bitmask controlando swap/deposit/withdraw/crank.out_put.need_take_pnl_*— removido porWithdrawPnl.
ModelDataInfo
A tabela de consulta. Um grande array esparso de pontos de preço/quantidade.
InitModelData (criou a conta) e UpdateModelData (preencheu elementos, definindo valid_data_count) — foram removidas na atualização de 2026-06-22. As tabelas em pools existentes agora são fixas. Em tempo de execução, as instruções chamáveis restantes ainda as consomem:
- Swap / deposit / withdraw chamam funções de consulta que fazem busca binária e interpolação dentro de
elements[0..valid_data_count].
DataElement
A entrada atômica na tabela. Deve estar ordenada (x ascendente, y descendente, preço ascendente) para que a busca binária funcione.
Authority e vaults
Igual ao AMM v4:amm_authorityé um único PDA de programa derivado com seed["amm authority"]. Ele possui todos os vaults do pool e assina seus movimentos.- Vaults são contas SPL Token cujo proprietário é
amm_authority, não ATAs.
Bitmask de status
Idêntico ao AMM v4. Controla se swap/deposit/withdraw/crank estão habilitados.Rastreamento de taxa e PnL
A structout_put rastreia:
need_take_pnl_coin,need_take_pnl_pc— taxas de protocolo acumuladas mas ainda não removidas.WithdrawPnlmove essas para fora.swap_coin_in_amount,swap_pc_in_amount, etc. — contadores de análise.
Tamanho da conta
OModelDataInfo é grande (~1,2 MB, já que 50.000 elementos × 24 bytes por elemento). É por isso que criar um pool Stable requer alocação explícita de rent e pré-alocação de conta. O SDK e ferramentas do Raydium lidam com isso de forma transparente; integradores raramente precisam alocar manualmente.
Derivando contas do zero
Como AMM v4, Stable AMM usa chaves com seed (não PDAs puras). A identidade canônica do pool é derivada via:O que ler onde
- Listas de contas de instrução:
products/stable/instructions. - Como a interpolação usa a tabela:
products/stable/math. - Estrutura de taxa e WithdrawPnl:
products/stable/fees. - O desacoplamento do OpenBook de 2026-06-22:
reference/changelog.

