Created
April 9, 2025 15:31
-
-
Save dapi/6e7a00bfb67e9b45f21ff15aff648358 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct Query { | |
/// Блок, с которого начинается запрос | |
/// Если не указан, запрос выполняется с самого начала доступных данных | |
from_block: Optional<u64>, | |
/// Блок, на котором заканчивается запрос (не включительно) | |
/// Если не указан, запрос выполняется до конца доступных данных | |
to_block: Optional<u64>, | |
/// Критерии выбора логов (отношение ИЛИ между выборками) | |
logs: Array<LogSelection>, | |
/// Критерии выбора транзакций (отношение ИЛИ между выборками) | |
transactions: Array<TransactionSelection>, | |
/// Получать данные в обратном порядке | |
reverse bool | |
///// Выборка данных ///// | |
/// Поля для включения в ответ | |
field_selection: FieldSelection, | |
/// Какие данные добавить дополнительно (например все логи транзакции где был найден лог) | |
/// 0 - добавить все логи из найденной транзакции | |
Append Array<u8> | |
} | |
struct FieldSelection { | |
block: Array<String>, | |
transaction: Array<String>, | |
log: Array<String>, | |
} | |
struct LogSelection { | |
/// Адреса контрактов для сопоставления (пусто = совпадение со всеми) | |
address: Array<Address>, | |
/// Топики для сопоставления по позиции (пусто = совпадение со всеми) | |
/// Каждый элемент массива соответствует позиции топика (0-3) | |
/// В пределах каждой позиции любое совпадающее значение удовлетворит условию | |
topics: Array<Array<Topic>>, | |
} | |
struct TransactionSelection { | |
/// Адреса отправителей (пусто = совпадение со всеми) | |
/// Имеет отношение И с полем 'to' | |
from: Array<Address>, | |
/// Адреса получателей (пусто = совпадение со всеми) | |
/// Имеет отношение И с полем 'from' | |
to: Array<Address>, | |
/// Сигнатуры методов для сопоставления (первые 4 байта входных данных) | |
sighash: Array<Sighash>, | |
/// Статус транзакции для сопоставления (1 = успех, 0 = неудача) | |
status: Optional<u8>, (https://reth.rs/run/transactions.html) | |
/// Типы транзакций для сопоставления (например, 0 = устаревший, 1 = EIP-2930, 2 = EIP-1559, 3 = EIP-4844) | |
kind: Array<u8>, | |
/// Адреса созданных контрактов (что бы найти транзакции в которых были созданны эти смарт контракты) | |
contract_address: Array<Address>, | |
/// Типы создаваемых контрактов для фильтрации (например: "erc20", "erc721", "proxy") | |
/// Пустой массив = совпадение со всеми типами | |
contract_type: Array<String>, | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment