32 asio::awaitable<SourcePoll>
pollSince(std::uint64_t cursor, std::size_t limit)
override
34 std::vector<evm::EVM::EmittedLogRecord> records =
co_await _evm.getLogsSince(cursor, limit);
35 const std::int64_t head =
co_await _evm.getHeadBlockNumber();
37 std::int64_t max_block = std::max<std::int64_t>(head, 0);
38 for(
const auto & record : records)
40 max_block = std::max<std::int64_t>(max_block, record.block_number);
43 const std::uint64_t next_cursor = records.empty() ? cursor : records.back().seq + 1;
46 .records = std::move(records),
50 .finalized = max_block
52 .next_cursor = next_cursor