Добавишь ликвидность в volatile-пул DeDust: два депозита в Vault, targetBalances и получение LP-токенов.
Ликвидность в DeDust
Чтобы стать LP в пуле DeDust, нужно внести оба актива пары. Из‑за асинхронной модели TON это два отдельных депозита в Vault. Пока оба актива не поступили, их держит контракт Liquidity Deposit; после принятия пул выпускает LP-токены.
targetBalances — целевые количества обоих активов в одной пропорции. Оба вызова sendDepositLiquidity / jetton-transfer должны передать идентичныеassets и targetBalances.
PoolType.VOLATILE — классический constant-product пул. Для стейбл-пар используй PoolType.STABLE (если пул такого типа существует для пары).
sendDepositLiquidity для нативного актива — депозит Gram в Native Vault. Сумма amount должна совпадать с соответствующей частью targetBalances.
VaultJetton.createDepositLiquidityPayload — forward-payload в jetton-transfer: Vault(SCALE) понимает, что это не обычный перевод, а вклад в ликвидность.
forwardAmount: toNano("0.4") — газ на обработку payload внутри Vault. Слишком маленький forward → депозит jetton пройдёт, но ликвидность не зачислится.
Разные targetBalances в двух депозитах → Liquidity Deposit не соберёт пару. Копируй один и тот же массив в оба вызова.
Недостаточный forwardAmount у jetton → Gram уже в депозите, SCALE «застрял» без обработки. Отменяй через sendCancelDeposit и повторяй с большим forward (≥ 0.3–0.4 GRAM).
Пропорция не как в пуле → лишняя часть одного актива не попадёт в LP (или депозит отклонится). Читай текущие резервы пула (getReserves) и считай вторую ногу от первой.
Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация