Пользовательские RPC-методы находятся в пространстве имён
tenderly_.tenderly_simulateBundleвозвращает полный декодированный результат выполнения каждой транзакции: логи, трассировку вызовов, изменения активов и изменения балансов.tenderly_estimateGasBundleвыполняет бандл тем же образом, но возвращает только показатели газа по каждой транзакции. Используйте его, когда нужны точные значения газа без полного payload симуляции.
tenderly_simulateBundle
Симулирует бандл транзакций так, как он выполнился бы на заданном блоке, и возвращает результаты для каждой транзакции.
Параметры
- Transactions Transactions
ARRAY: список транзакций в бандле- from (опционально)
STRING: адрес в hex - to
STRING: адрес в hex - gas (опционально)
NUMBER - maxFeePerGas (опционально)
NUMBERmax fee: максимальная суммарная комиссия за газ, которую отправитель готов заплатить (включает сетевую / базовую комиссию и комиссию майнера / приоритетную), в wei - maxPriorityFeePerGas (опционально)
NUMBERmax priority fee: максимальная комиссия за газ, которую отправитель готов заплатить майнерам, в wei - gasPrice (опционально)
NUMBER: цена газа, которую отправитель готов заплатить, в wei - value (опционально)
NUMBER - data (опционально)
STRING: байты в hex - accessList (опционально)
ARRAYиз записей access listOBJECT- address
STRINGадрес в hex - storageKeys
ARRAYизSTRING— представление 32-байтового ключа хранилища в hex
- address
- from (опционально)
- Simulation Block Number (опционально) Номер блока, против которого должна быть симулирована транзакция. Одно из:
STRINGномер блокаENUMтег блокаearliest|finalized|safe|latest|pending
- State Overrides (опционально)
MAP: сопоставление учётной записи (адреса) со спецификацией переопределения- key
STRING: учётная запись, к которой применяется переопределение - value
OBJECT: спецификация переопределения- nonce (опционально)
STRING: hex-переопределение 8-байтового nonce для учётной записи - code (опционально)
STRING: данные переопределения кода для учётной записи - balance (опционально)
STRING: hex-переопределение 32-байтового баланса для учётной записи в wei - stateDiff (опционально)
MAP: сопоставление ключа хранилища со значением переопределения- key
STRING: ключ хранилища - value
STRING: переопределяемое значение для указанного ключа хранилища
- key
- nonce (опционально)
- key
- Block Overrides (опционально)
OBJECT: набор полей заголовка блока для переопределения.- number (опционально)
STRING: hex, переопределяет номер блока - difficulty (опционально)
STRING: hex, переопределяет сложность блока - time (опционально)
STRING: hex, переопределяет временную метку блока - gasLimit (опционально)
STRING: hex, переопределяет лимит газа - coinbase (опционально)
STRING: hex, переопределяет майнера блока - random (опционально)
STRING: hex, переопределяет extra data блока, которое подаётся в опкод RANDOM - baseFee (опционально)
STRING: hex, переопределяет базовую комиссию блока
- number (опционально)
- example.json
- example
- example.js
- example.json
example.json
ARRAY: список результатов симуляций в бандле
- status
NUMBER:либо1(успех), либо0(провал) - gasUsed
NUMBER: количество газа, использованного этой конкретной транзакцией - cumulativeGasUsed
NUMBER: суммарное количество газа, использованное к моменту выполнения этой транзакции в блоке - blockNumber
NUMBER: номер блока, в котором транзакция была симулирована - type
NUMBER: тип транзакции,0x00для legacy-транзакций,0x01для типов с access list,0x02для динамических комиссий - logsBloom
STRING: bloom-фильтр для лёгких клиентов, позволяющий быстро находить связанные логи - logs: массив эмитированных событий
ARRAYизOBJECT- name
STRING: имя события - anonymous
BOOLEAN: указывает, является ли событие анонимным - inputs: массив декодированных аргументов лога
ARRAYиз декодированных логовOBJECT- name
STRING: имя аргумента события - type
STRING: тип аргумента события из системы типов Solidity - value (опционально)
STRINGстроковое представление значения аргумента; интерпретируйте согласно полюtype
- name
- raw
OBJECT: сырые логи- address
STRINGадрес в hex: адрес контракта, эмитирующего лог - topics
ARRAYизSTRING32-байтовых hex-значений - data
STRINGстрока в hex, представляющая данные события
- address
- name
- trace: Trace
ARRAYизOBJECT- type
STRINGtype: тип элемента трассировки — один изCALL|CALLCODE|STATICCALL|DELEGATECALL|CREATE|CREATE2|SELFDESTRUCT - from
STRING: адрес в hex - to
STRING: адрес в hex - gas
STRING: hex-кодированное беззнаковое 64-байтовое целое, представляющее газ события - gasUsed
STRING: hex-кодированное беззнаковое 64-байтовое целое, представляющее gasUsed события - value
STRING: hex-кодированное беззнаковое 64-байтовое целое, представляющее value события в wei - error
STRING: низкоуровневая ошибка виртуальной машины - errorReason
STRING: извлечённая причина ошибки при revert - input
STRING: hex-кодированная строка, представляющая сырые входные байты для точки трассировки - method
STRING: вызванный метод контракта - decodedInput : декодированный вход вызванного метода —
ARRAYиз декодированных входных аргументовOBJECT- value
STRING: строковое представление значения аргумента; интерпретируйте согласно полюtype. - type
STRING: тип Solidity этого аргумента - name
STRING: имя этого аргумента
- value
- output
STRING: сырой выход трассировки - decodedOutput : декодированный выход вызванного метода —
ARRAYиз декодированных выходных аргументовOBJECT- value
STRING: строковое представление значения аргумента; интерпретируйте согласно полюtype. - type
STRING: тип Solidity этого аргумента - name
STRING: имя этого аргумента
- value
- subtraces
NUMBER: количество дочерних трассировок - traceAddress : позиция трассировки
ARRAYизNUMBER
- type
assetChangesARRAY:typeSTRINGтип изменения актива, может быть transfer, mint, burnfromSTRING: адрес отправителя (пусто для mint-переводов)toSTRING: адрес получателя (пусто для burn-переводов)amountSTRING: количество переведённого токенаrawAmountSTRING: сырое количество перевода токенаdollarValueSTRING: долларовая стоимость переведённого токенаassetInfoOBJECT: информация об активеstandardSTRING: поддерживаемые стандарты токенов: ERC20, ERC721, NativeCurrencytypeSTRING: тип токена: Native, Fungible, Non-FungiblecontractAddressSTRING: адрес контрактаsymbolSTRING: символ токенаnameSTRING: имя токенаlogoSTRING: URL иконки токенаdecimalsNUMBER: количество знаков после запятой у токенаdollarValueSTRING: долларовая стоимость одного токена
balanceChangesARRAY: массив изменений баланса — суммарных изменений активовaddressSTRINGадресdollarValueSTRING: долларовая стоимость суммарных изменений активовtransfersARRAY: массив индексов изменений активов
tenderly_estimateGasBundle
Рассчитывает точные оценки газа для заданного списка транзакций, с опциональными переопределениями состояния и блока в стиле симуляции. Как и tenderly_estimateGas, каждая оценка основана на полностью выполненной транзакции, поэтому возвращаемые значения точны там, где eth_estimateGas мог бы откатиться и дать заниженную оценку. Транзакции выполняются по порядку, каждая на состоянии, оставленном предыдущей.
Отличия от tenderly_simulateBundle:
- Оба метода выполняют бандл одинаково против заданного блока и оба принимают одинаковые переопределения состояния и блока.
tenderly_simulateBundleвозвращает полный декодированный результат выполнения каждой транзакции: логи, трассировку вызовов, изменения активов и изменения балансов.tenderly_estimateGasBundleвозвращает только два показателя газа для каждой транзакции: рекомендуемый лимит газа и фактически потреблённый газ. Используйте его, когда нужны только значения газа; используйтеtenderly_simulateBundle, когда нужно предварительно оценить эффекты бандла.
- Transactions Transactions
ARRAY: список транзакций в бандле, тот же формат, что и вtenderly_simulateBundle - Simulation Block Number (опционально) Номер блока, против которого должен быть выполнен бандл. Одно из:
STRINGномер блокаENUMтег блокаearliest|finalized|safe|latest|pending
- State Overrides (опционально)
MAP: сопоставление учётной записи (адреса) со спецификацией переопределения, тот же формат, что и вtenderly_simulateBundle - Block Overrides (опционально)
OBJECT: набор полей заголовка блока для переопределения, тот же формат, что и вtenderly_simulateBundle
- example.json
- example
- response.json
example.json
ARRAY: список оценок газа, по одной на каждую транзакцию в бандле
- gas
STRING: hex-кодированный рекомендуемый лимит газа для установки в транзакции (включает запас над фактически потреблённым газом) - gasUsed
STRING: hex-кодированное количество газа, фактически потреблённое выполненной транзакцией