go-ethereum/common
Felföldi Zsolt d85f796356
eth/filters: implement log filter using new log index (#31080)
This PR is #2 of a 3-part series that implements the new log index
intended to replace core/bloombits.
Based on https://github.com/ethereum/go-ethereum/pull/31079
Replaces https://github.com/ethereum/go-ethereum/pull/30370

This part replaces the old bloombits based log search logic in
`eth/filters` to use the new `core/filtermaps` logic.

FilterMaps data structure explanation:
https://gist.github.com/zsfelfoldi/a60795f9da7ae6422f28c7a34e02a07e

Log index generator code overview:
https://gist.github.com/zsfelfoldi/97105dff0b1a4f5ed557924a24b9b9e7

Search pattern matcher code overview:
https://gist.github.com/zsfelfoldi/5981735641c956afb18065e84f8aff34

Note that the possibility of a tree hashing scheme and remote proof
protocol are mentioned in the documents above but they are not exactly
specified yet. These specs are WIP and will be finalized after the local
log indexer/filter code is finalized and merged.

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2025-03-17 18:59:04 +01:00
..
bitutil accounts/usbwallet, common/bitutil: fix broken links in docs (#29078) 2024-03-13 07:54:40 +01:00
compiler common/compiler: json unmarshalling error checks (#25449) 2022-08-01 13:47:21 +02:00
fdlimit fix: linter warning (#25192) 2022-06-29 10:54:57 +02:00
hexutil eth/tracers/logger: make structlog/json-log stack hex again (#28628) 2023-12-05 09:37:48 +01:00
lru common/lru: use clear builtin (#29399) 2024-04-02 15:45:25 +02:00
math common: drop BigMin and BigMax, they pollute our dep graph (#30645) 2024-10-21 12:45:33 +03:00
mclock common/mclock: add Alarm (#26333) 2023-01-03 12:10:48 +01:00
prque common/prque: fix godoc comments (#29460) 2024-04-06 11:09:30 +02:00
big.go all: use uint256 in state (#28598) 2024-01-23 14:51:58 +01:00
bytes.go internal/ethapi: add db operations to api (#24739) 2022-04-27 08:37:48 +02:00
bytes_test.go all: simplify and fix database iteration with prefix/start (#20808) 2020-04-15 14:08:53 +03:00
debug.go common: rename unused function with typo (#23025) 2021-06-10 10:53:23 +03:00
format.go common: improve pretty duration regex (#25073) 2022-06-14 14:08:43 +02:00
path.go build: get rid of ci.go -> common direct dependency (#30637) 2024-10-20 14:54:06 +03:00
range.go eth/filters: implement log filter using new log index (#31080) 2025-03-17 18:59:04 +01:00
range_test.go eth/filters: implement log filter using new log index (#31080) 2025-03-17 18:59:04 +01:00
size.go core, cmd, vendor: fixes and database inspection tool (#15) 2019-05-16 10:39:34 +03:00
size_test.go common: increase StorageSize test coverage (#25188) 2022-06-29 12:13:00 +02:00
test_utils.go all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
types.go common: using ParseUint instead of ParseInt (#30020) 2024-06-19 11:06:52 +02:00
types_test.go common: using ParseUint instead of ParseInt (#30020) 2024-06-19 11:06:52 +02:00