Commit Graph

58 Commits

Author SHA1 Message Date
7c9c2fea50 feat(txpool): add gas limit check when inserting new transactions (#780)
* Add gas limit check when inserting transaction

Part of the code was copied from an issue comment:
https://github.com/paradigmxyz/reth/issues/76#issuecomment-1345281800

Co-authored-by: Eduardo <96149783+elprogramadorgt@users.noreply.github.com>

* Add test for gas limit check

Co-authored-by: Eduardo <96149783+elprogramadorgt@users.noreply.github.com>
2023-01-09 20:50:06 +01:00
31cb66902e fix: Fix typos (#773) 2023-01-09 01:43:51 +01:00
5933014fba test(net): more txpool testing support for network (#711) 2023-01-04 14:36:51 +02:00
6407b5087e chore: use B160, B256 and U256 coming from revm and ruint (#676)
* use B256, B160 and U256 from revm

* fix U256 from_str

* use U256::ZERO

* use temporary commit for revm and interpreter

* more U256::ZERO

* more changes for revm/ruint types

* clippy

* change revm and revm-interpreter repo

* remove H160 wrap

* minor cleanup

* remove unused

* fix MIN_PROTOCOL_BASE_FEE
2023-01-04 11:11:48 +02:00
bec1937f63 chore: rm rpc type imports (#645) 2022-12-29 17:08:41 +01:00
a51fa4fd63 docs(book): start book chapter for network crate (#445)
* WIP FOR DRAFT PR

* WIP draft, walking through usage in pipeline

* diving deeper into instantiation of NetworkHandle & FetchClient

* WIP network management task & eth requests task done (ish)

* address pr comments: networkmanager as standalone task, networkconfig as main entrypoint for setup

* complete draft of the  crate docs

* restructured, starts w/ expl of

* added more snippets/anchors

* using ignore flag on code blocks, brief explanation of  struct

* typos addressed
2022-12-27 14:53:15 -08:00
c2b19cecef feat: add txpool metrics (#584)
* feat(metrics): `Metrics` derive macro

* rename metrics to metrics-derive

* use fully qualified fmt path

* metric vec with capacity

* favor metrics over simple scope attr, simplify code

* pull metric description from doc comment

* rm debug log

* add more docs and sample usage

* link to metrics macros

* add tests for metrics derive macro

* clippy

* Fix doc of headers_unexpected_errors field of HeaderMetrics

* Add tx pool metrics struct and metrics updates in code

* Format file

* Update metrics doc

* Add some comments

* Format file

* Refactor metrics describers for consistency

* Format files

* Fix broken import

* Apply metrics macro to TxPoolMetrics

* Remove unused imports

* Remove unused commented code

* Remove files

Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
2022-12-27 16:44:41 +01:00
1c3d704244 docs: fix indentation (#626) 2022-12-27 06:43:26 -08:00
562e895f21 ci: unused dependencies sanity check (#590)
* ci: add unused deps sanity check

* ci: fix unused deps issue template title

* ci: rename udeps job

* chore: formatting

* chore: make `cargo-udeps` ignore `aquamarine`

* deps: resolve unused deps

* ci: check every feature and target in udeps job
2022-12-23 13:19:50 +01:00
ecbbb8835c docs(txpool): clarify validate_transaction (#582) 2022-12-23 05:43:13 +01:00
13bb41517d feat: config (#496)
* feat: default reth dirs

* docs: clarify txpool config docs

* feat: `serde` feature for `reth-consensus`

* feat: add missing hardforks

* feat: full chain specification

* feat: `DbPath` type

* feat: custom chain specs

* feat: `--debug.tip` option

* feat: basic stage config

* fix: resize db geometry

* refactor: don't commit in headers stage

* chore: remove headers dl timeout

* feat: loading of config

* refactor(config): `stage` -> `stages`
2022-12-19 21:27:26 +01:00
6aa2daee0f fix(net): outgoing requsts (#398)
* remove inpossible case

* fix(net): outgoing requests stopping
2022-12-13 08:25:41 +01:00
9e6acece17 expose transaction origin (#383) 2022-12-11 09:15:25 +01:00
9eebd141b7 chore(txpool): update TransactionPool trait bounds (#376) 2022-12-10 09:16:26 -08:00
eedd31ca59 feat(txpool): implement missing remove function (#378) 2022-12-10 09:15:16 -08:00
6870c41fb0 chore(txpool): deny additional lints (#379) 2022-12-10 09:12:16 -08:00
4d718bbf33 s/foundry-rs/paradigmxyz 2022-12-07 00:00:45 -08:00
743b1bd6ba meta(txpool): fairer order function via timestamp (#281) 2022-12-02 03:58:21 -08:00
993123390f perf(txpool): Arc alloc transaction event (#279) 2022-11-28 15:12:48 +01:00
7867c67eaa chore(typool): clippy cleanup, docs and renames (#277) 2022-11-28 14:16:33 +01:00
3efc6ee67e feat(db): Make TransactionSigned compactable (#252) 2022-11-27 23:29:30 -08:00
b6d9fe87b9 feat(net): propagate new transactions (#256) 2022-11-25 22:13:20 +01:00
4fd1225dd6 chore(txpool): clarify ready terminology (#234) 2022-11-22 13:04:19 -05:00
842ad8fb9c test(txpool-mock): convert u128 value to u256 2022-11-16 12:18:06 -08:00
bb83d8a528 Revert "chore(txpool): use stabilized pop_last (#213)" (#221)
This reverts commit bdf41d39a8.
2022-11-16 19:41:24 +01:00
11404adf6c chore(txpool): remove hash generics (#211) 2022-11-16 12:19:30 +01:00
bdf41d39a8 chore(txpool): use stabilized pop_last (#213) 2022-11-16 12:19:15 +01:00
f8fddcdfa4 feat(p2p): integrate txpool in p2p (#208) 2022-11-15 22:27:41 +01:00
391a509443 feat: add FromRecoveredTransaction conversion trait (#207) 2022-11-15 16:24:13 +01:00
92a7818512 feat: bodies stage (#190)
* chore: clean up `.gitignore`

* fix: make RO cursors `Send + Sync`

* feat(wip): bodies stage

* driveby: improve docs

* chore: don't panic if we're the first stage

* chore: use `Vec` for ommers

* feat: error handling in bodies downloader

* chore: remove stale comment

* chore: pascal-case stage id

* refactor: remove unused new fns

* refactor: distinguish downloaders with prefix

* refactor: move downloader errs to own module

* refactor: `stream_bodies` -> `bodies_stream`

* test: fix borked imports in header stage

* test: clean up header tests

* test: add basic body stage tests

* test: add 2 more body stage test skeletons

* test: move generator test utils to own module

* refactor: move proof functions to primitives crate

* feat: add block generator test utils

* test: more body stage tests

* chore: fix typo (`Cannonical*` -> `Canonical`)

* docs: document `bodies_to_download`

* test: more body stage tests

* test: more body stage tests

* refactor: clean up body stage tests a bit

* test: fix broken tests

* refactor: clean up body stage tests

* test: more body stage tests
2022-11-15 08:49:11 +01:00
651eed1086 chore(txpool): add PoolError::hash function (#202) 2022-11-14 20:35:08 +01:00
14e97b2c43 chore(txpool): add external transaction helper function (#201) 2022-11-14 20:34:15 +01:00
e870a4ce13 refactor(txpool): use tx hash for on new block update (#170)
* refactor(txpool): use tx hash for updates

* chore: rustfmt
2022-11-07 14:50:36 +01:00
2e6b18a154 wip: feat(txpool): add on block update (#69)
* feat(txpool): add on new block handler

* feat(txpool): work on update routine

* feat(txpool): start update process

* feat: implement update loop
2022-10-20 08:34:04 -07:00
e7851492b1 feat(txpool): enforce size limits (#98)
* feat(txpool): enforce size limits

* chore: rustfmt
2022-10-19 17:01:49 -07:00
1e7d3ae57e feat(txpool): keep track of pool size (#95)
* feat(txpool): add PoolStatus Api

* feat(txpool): track sizes

* feat(txpool): add size tracking

* cleanup
2022-10-18 23:47:20 +02:00
2009b764c0 feat(txpool): add PoolStatus Api (#91) 2022-10-18 12:56:53 -07:00
522a4e689e refactor(txpool): simplify is local (#87) 2022-10-17 11:43:27 -07:00
6bc09809f3 feat(txpool): enforce account tx capacity (#88) 2022-10-17 11:42:51 -07:00
edd0e852f2 feat(txpool): introduce transaction origin (#85) 2022-10-17 07:14:18 -07:00
83a9b31911 feat(txpool): add no parked ancestors condition (#84)
* feat(txpool): add no parked ancestors condition

* chore: rustfmt
2022-10-17 07:13:40 -07:00
2317bcb702 style(txpool): turn InsertResult into std::result::Result (#73)
* refactor(txpool): consider below proto fee cap an error

* style(txpool): turn InsertResult into std::result::Result

* chore: rustfmt

* docs: add missing docs
2022-10-14 12:03:00 -07:00
a7cf915677 refactor(txpool): consider below proto fee cap an error (#71) 2022-10-14 17:10:05 +02:00
19d001fbdd chore(txpool): require public traits to be static (#74) 2022-10-14 16:05:46 +02:00
6d0bd9037e feat(txpool): add get_all function (#65) 2022-10-14 11:19:15 +02:00
794c07391e feat(txpool): extend poolconfig (#61) 2022-10-13 20:49:35 +02:00
6b71460e7e refactor(txpool): simplify validator trait (#60)
* refactor(txpool): simplify validator trait

* fix docs
2022-10-13 20:36:15 +02:00
55768a534d feat(txpool): add listeners for all transactions (#59) 2022-10-13 10:47:32 -07:00
84ec30db5b feat(txpool): add support for mock testing (#55)
* chore: some cleanup

* refactor(txpool): simplify layers and add docs

* refactor: more cleanup

* refactor: cleanup and simplifications

* feat(txpool): mock test support

* feat(txpool): more mock testing

* chore: rustfmt

* set basefee correctly
2022-10-13 10:44:31 -07:00
577e840062 docs(txpool): update BestTransaction docs (#57) 2022-10-13 10:44:18 -07:00