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.
Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.Ver versão em inglês →
O Stable AMM compartilha a estrutura de contas no lado do pool com a AMM v4 (AmmInfo, vaults, authority) e requer adicionalmente uma conta
ModelDataInfo que armazena a tabela de lookup. Esta página cobre ambos.Inventário
Um pool Stable AMM se vincula a exatamente um mercado OpenBook. O inventário completo espelha a AMM v4 de forma próxima:| Categoria | Conta | Proprietário | Função |
|---|---|---|---|
| Pool | AmmInfo | Programa Stable | Estado do pool, referências aos vaults, OpenBook e conta de model-data. |
| Pool | amm_authority | Programa Stable | PDA de propriedade do programa que assina os movimentos de vault. Compartilhada por todos os pools Stable AMM. |
| Pool | amm_open_orders | OpenBook | A conta OpenOrders do OpenBook do pool. |
| Pool | amm_target_orders | Programa Stable | Grid no lado do pool para ordens limitadas. |
| Pool | pool_coin_token_account | SPL Token | Vault do lado coin do pool. |
| Pool | pool_pc_token_account | SPL Token | Vault do lado pc do pool. |
| Pool | lp_mint | SPL Token | Mint de LP fungível. |
| Model | model_data_account | Programa Stable | A tabela de lookup: 50.000 × DataElement. |
| Market | serum_market | OpenBook | Mercado OpenBook. |
| Market | serum_bids, serum_asks | OpenBook | Filas de bids/asks. |
| Market | serum_event_queue | OpenBook | Fila de eventos. |
| Market | serum_coin_vault, serum_pc_vault | SPL Token | Vaults de nível de mercado do OpenBook. |
| Market | serum_vault_signer | OpenBook | Assinante de vault de nível de mercado. |
AmmInfo
Conta de estado raiz. O layout é quase idêntico ao da 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 lookup.
model_data_key— o endereço da tabela de lookup. Deve ser passado a cada instrução.fees— estrutura idêntica à AMM v4. Padrão: taxa de trade de 0,25%, divisão LP/protocol de 0,22% / 0,03%.coin_vault,pc_vault— os vaults do pool.status— bitmask controlando se swap/deposit/withdraw/crank estão habilitados.out_put.need_take_pnl_*— movimentados porWithdrawPnl.
ModelDataInfo
A tabela de lookup. Um grande array esparso de pontos preço/quantidade.
InitModelDatacria a conta e definestatus = Initialized,multiplier = <admin-provided>,valid_data_count = 0.UpdateModelData(invocada até 5 vezes por transação) popula elementos via:- Entrada: array de pares
(index: u64, DataElement). - Escreve cada um em
elements[index]. - Incrementa
valid_data_countseindex >= valid_data_count.
- Entrada: array de pares
- Swap/deposit/withdraw chamam funções de lookup que realizam 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, price ascendente) para que a busca binária funcione.
Authority e vaults
Igual à 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 da AMM v4. Controla se swap/deposit/withdraw/crank estão habilitados.Rastreamento de taxa e PnL
Igual à AMM v4. A estruturaout_put rastreia:
need_take_pnl_coin,need_take_pnl_pc— taxas de protocolo acumuladas mas ainda não movidas.WithdrawPnlas move para fora.swap_coin_in_amount,swap_pc_in_amount, etc. — contadores de análise.
Tamanho da conta
ModelDataInfo é grande (~1,2 MB, já que 50.000 elementos × 24 bytes por elemento). É por isso que criar um pool Stable requer rent explícito e pré-alocação de conta. O SDK Raydium e ferramentas lidam com isso de forma transparente; integradores raramente precisam alocar manualmente.
Derivando contas do zero
Como a 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 da instrução:
products/stable/instructions. - Como a interpolação usa a tabela:
products/stable/math. - Estrutura de taxa e WithdrawPnl:
products/stable/fees. - Derivação de conta OpenBook: Documentação do programa OpenBook.


