Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Stable AMM — это независимая программа с собственным ID программы. Это не режим программы AMM v4, и она не вызывается «через» AMM v4 — она развёрнута, обновляется и вызывается отдельно. Она похожа на AMM v4 только в соглашениях о комиссиях и макетах учётных записей.
Инвентарь инструкций
Вызываемые
Удалённые (больше не вызываемые)
Они были удалены в обновлении от 2026-06-22 и больше не могут быть вызваны. См. Удалённые инструкции.Deposit
Добавить ликвидность, получить токены LP.
Аргументы
W, подписант S)
Совместимость:
amm_open_orders (старая #3) и serum_market (старая #9) удалены. Когда передаётся 14 учётных записей, инструкция парсится со старым макетом из 14 учётных записей; учётные записи Serum игнорируются.
Математика — стандартная пропорциональная с использованием таблицы поиска для вычисления соотношения. SDK вычисляет пару coin/pc для желаемого количества LP и проверяет против максимальных лимитов.
Withdraw
Сжечь LP, получить обе стороны пропорционально.
Аргументы
W, подписант S)
Совместимость: девять учётных записей Serum (
amm_open_orders, serum_program, serum_market, serum_coin_vault, serum_pc_vault, serum_vault_signer, serum_event_q, serum_bids, serum_asks) удалены. Старые макеты из 21 или 22 учётных записей по-прежнему принимаются. Однако обратите внимание, что логика реферальной комиссии для 22-й опциональной учётной записи referrer_pc_wallet была удалена — она по-прежнему может быть передана, но больше не действует.
Предусловия
user_source_lpсодержит как минимумamount.
amountтокенов LP сжигаются.- Пользователь получает количества coin и pc в соответствии с текущей пропорцией, скорректированной на накопленные комиссии.
SwapBaseIn
Swap с точным входом, использующий таблицу поиска для определения цены.
Аргументы
W, подписант S)
Совместимость: девять учётных записей OpenBook (
amm_open_orders, serum_program, serum_market, serum_bids, serum_asks, serum_event_queue, serum_coin_vault, serum_pc_vault, serum_vault_signer) удалены. Если количество переданных учётных записей не равно 9, инструкция парсится со старым макетом из 18 учётных записей; учётные записи Serum должны по-прежнему занимать свои позиции, но их содержимое больше не проверяется и не используется.
Предусловия
amm.statusразрешает swap.user_source_tokenсодержит ≥amount_in.
- Пользователь теряет
amount_in, получаетamount_out ≥ minimum_amount_out. - Комиссии пула увеличивают счётчики
need_take_pnl_*.
products/stable/math.
SwapBaseOut
Swap с точным выходом (обратный SwapBaseIn). Тот же макет из 9 учётных записей, другое направление математики.
Аргументы
WithdrawPnl
Только администратор. Снять накопленные комиссии протокола из need_take_pnl_* в назначенные учётные записи PnL.
Аргументы — нет (управляется состоянием).
Учётные записи — новый макет, фиксированные 10 учётных записей, только администратор (записываемая W, подписант S)
Изменение логики: когда доступные средства пула недостаточны для вывода накопленного PnL, пул больше не переводится в
CancelAllOrdersState / Disabled; инструкция возвращает TakePnlError напрямую. Опциональная referrer_pc_wallet также была удалена.
Предусловия
amm_adminдолжен быть авторизован.
need_take_pnl_coinиneed_take_pnl_pcпередаются на учётные записи администратора.- Счётчики обнуляются.
Удалённые инструкции
Следующие инструкции были удалены в обновлении от 2026-06-22 и больше не могут быть вызваны. Они документированы здесь только для того, чтобы интеграторы узнавали их в исторических транзакциях и SDK.Initialize— ранее инициализировала новый пул Stable AMM. Удалена.PreInitialize— вспомогательная функция предварительного выделения. Удалена.InitModelData— ранее создавала и инициализировала таблицу поискаModelDataInfo. Удалена.UpdateModelData— ранее заполняла до 5 элементов таблицы поиска за вызов. Удалена.MonitorStep— crank OpenBook, который урегулировал заполнения и переразмещал сетку ордеров. Уже давно неактивна после того, как пул перестал размещать на OpenBook; теперь удалена.SetParams— изменения параметров администратором (статус, комиссии, владелец, ключ данных модели и т. д.). Удалена.WithdrawSrm— снимала возвраты скидок на комиссии SRM из пулов эпохи Serum. Удалена.SimulateInfo— вспомогательная функция котировки только для чтения. Удалена; используйте вспомогательные функции стабильной кривой SDK для котировок (см. Примеры кода).
Что дальше
- Учётные записи — для макетов и размеров полей учётных записей.
- Математика — для логики интерполяции таблицы поиска.
- Примеры кода — чтобы увидеть, как вызывать эти инструкции из SDK.
raydium-stable/program/src/instruction.rs(enum и pack/unpack)raydium-stable/program/src/processor.rs(логика выполнения)

