Skip to content

Искусственный расчет количества газа, необходимого для выполнения транзакции

Введение

При проведении ончейн-обмена важно учитывать затраты на газ, которые могут существенно варьироваться в зависимости от сети и параметров транзакции. Ниже представлена формула искусственного расчета необходимого газа для выполнения транзакции, основанная на базовых переменных и множителях.

Почему мы используем искусственный расчет, а не симуляции?

Очень часто в обмен попадает две транзакции: апрув и только потом свап. Если апрув не выдан, то невозможно выполнить estimateGas для обмена, так как он просто не пройдет. Поэтому приходится прибегать к искусственным расчетам, чтобы заранее оценить стоимость выполнения транзакции.

Формула расчета газа

Формула для расчета стоимости газа:

((((N + M * (Ss - 1) + Y) * Gs * Ps) * L1) + (((N + M * (Sd - 1) + Y) * Gd * Pd) * L1) + (K * Gs * Ps)) * L2

Описание переменных

  • N — базовое потребление газа при ончейн обмене.
  • Y — базовое потребление газа нашим контрактом.
  • M — потребление газа за каждый дополнительный шаг.
  • Ss — количество шагов на исходной сети.
  • Sd — количество шагов на целевой сети.
  • K — количество газа, потребляемое мостом на отправку сообщения.
  • Gs — цена газа в нативном токене на исходной сети.
  • Gd — цена газа в нативном токене на целевой сети.
  • Ps — цена нативного токена на исходной сети.
  • Pd — цена нативного токена на целевой сети.
  • L1 — множитель 1.
  • L2 — множитель 2.

Разбор формулы

  1. Расчет затрат газа на исходной сети:

    • (N + M * (Ss - 1) + Y) — общее потребление газа с учетом количества шагов и базового потребления нашего контракта на исходной сети.
    • Умножается на Gs (цену газа в нативном токене) и Ps (цену нативки).
    • Дополнительно учитывается множитель L1.
  2. Расчет затрат газа на целевой сети:

    • (N + M * (Sd - 1) + Y) — общее потребление газа с учетом количества шагов и базового потребления нашего контракта на целевой сети.
    • Умножается на Gd и Pd.
    • Также учитывается множитель L1.
  3. Добавление затрат моста:

    • K * Gs * Ps — дополнительный газ, потребляемый мостом.
  4. Применение итогового множителя L2:

    • Общий результат умножается на L2.

Заключение

Эта формула позволяет оценить необходимые затраты на газ при выполнении транзакции в кроссчейн-обмене. Точные значения переменных зависят от конкретных параметров сети и стоимости газа на момент выполнения операции. Использование данной методики помогает избежать неожиданно высоких затрат и более точно планировать расходы.