Better support for eth_getLogs in light mode (#9186)
* Light client on-demand request for headers range. * Cache headers in HeaderWithAncestors response. Also fulfills request locally if all headers are in cache. * LightFetch::logs fetches missing headers on demand. * LightFetch::logs limit the number of headers requested at a time. * LightFetch::logs refactor header fetching logic. * Enforce limit on header range length in light client logs request. * Fix light request tests after struct change. * Respond to review comments.
Showing
- Cargo.lock 1 addition, 0 deletionsCargo.lock
- ethcore/light/src/lib.rs 1 addition, 1 deletionethcore/light/src/lib.rs
- ethcore/light/src/on_demand/mod.rs 2 additions, 0 deletionsethcore/light/src/on_demand/mod.rs
- ethcore/light/src/on_demand/request.rs 198 additions, 0 deletionsethcore/light/src/on_demand/request.rs
- ethcore/light/src/provider.rs 4 additions, 2 deletionsethcore/light/src/provider.rs
- rpc/Cargo.toml 1 addition, 0 deletionsrpc/Cargo.toml
- rpc/src/lib.rs 1 addition, 0 deletionsrpc/src/lib.rs
- rpc/src/v1/helpers/errors.rs 8 additions, 0 deletionsrpc/src/v1/helpers/errors.rs
- rpc/src/v1/helpers/light_fetch.rs 205 additions, 70 deletionsrpc/src/v1/helpers/light_fetch.rs
Please register or sign in to comment