Matthias Seitz
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
Dan Cline
0fc446c5a2
feat(primitives): signature length and encoding ( #93 )
...
* feat(primitives): signature length and encoding
* add signature encoding and length methods for non-eip155 and eip-155
* remove TODO
2022-10-18 13:07:59 -07:00
Matthias Seitz
bd18188be9
feat: add block provider trait ( #90 )
...
* feat: add block provider trait
* rustmft
* rename BlockInfo to ChainInfo
2022-10-18 13:04:04 -07:00
Matthias Seitz
2009b764c0
feat(txpool): add PoolStatus Api ( #91 )
2022-10-18 12:56:53 -07:00
Matthias Seitz
522a4e689e
refactor(txpool): simplify is local ( #87 )
2022-10-17 11:43:27 -07:00
Matthias Seitz
6bc09809f3
feat(txpool): enforce account tx capacity ( #88 )
2022-10-17 11:42:51 -07:00
Roman Krasiuk
9056b8cbf2
feat(primitives): header encoding & hash ( #89 )
...
* header encoding & hash
* remove newline
* consistent extra_data conversion
* clean up decoding test
2022-10-17 10:37:15 -07:00
Matthias Seitz
edd0e852f2
feat(txpool): introduce transaction origin ( #85 )
2022-10-17 07:14:18 -07:00
Matthias Seitz
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
Matthias Seitz
2e19f94048
feat: impl rlp for receipt ( #83 )
...
* feat: impl rlp for receipt
* fix: change to bloom
* chore: rustfmt
2022-10-17 07:13:02 -07:00
joshieDo
063b444792
feat(db): codec encoding/decoding ( #51 )
...
* wip
* add table macro
* add simple put get test with Address
* add Env.view and Env.update
* docs
* slightly change the test
* add initial table initialization and placeholders
* lint & some
* replace String with str
* add error.rs
* add docs to encode
* add docs
* clamp
* add source on libmdbx_max_page_size
* add BlockNumer_BlockHash
* add scale
* set header filed to bytes Bytes
* remove unwrap
* restrict scale to chosen types
* into bytes
* add postcard
* changed to BlockNumHash
* add proc_macro_attribute codecs
* fix feature flagging
* set a version for postcard
* cleanup
* seal ScaleOnly
* remove unnecessary dependencies
* properly encode/decode blocknumhash
* change Account codec to scale
* add missing feature to scale
* add codec to a couple more types
* silence clippy
* add docs about table encoding
* move and add reth-codecs
* clippy
* make proc-macro visible
* add README.md
2022-10-17 01:04:57 -07:00
Georgios Konstantopoulos
8009d997c0
Implement ETH P2P ( #81 )
...
* refactor: move things to types
* feat(ethwire): bring in message type from ethp2p
30c11138d5/src/message.rs
* feat(ethwire): add eth-stream with Stream/Sink impls
* feat(ethwire): make Sink error an EthStreamError
* feat(ecies): expose util module
* add more deps
* feat: add broadcast newblockhashes
* fix: rlp serialize with message-id first
* chore: cleanup doc
* wip: test eth connection
* bump cargo lock
* feat: add rlp codec and get stream tests working
* fix: convert RlpCodec to PassthroughCodec
we were rlp encoding twice
* Revert "fix: convert RlpCodec to PassthroughCodec"
This reverts commit 6e6e0a5811 .
This does not handle framing, which would fail decoding if a partial
write happened to the socket.
* add tracing
* refactor: add handshake error
* feat(ethwire): add status handshake
* test(ethwire): handshake works
* refactor: expose EthStream::new
* chore: clippy lints
* fix: get rid of rlp codec
we can instead use LengthLimitedCodec from Tokio IO, which we re-export
as PassthroughCodec
* fix(eth): add handshake + msg error checks
1. 10MB message lengths
2. Same Genesis, Version, Chain on Status Handshake
* chore: ignore result_large_err
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-10-16 20:10:25 -07:00
Dan Cline
5dfe5ac29b
feat(net): add Framed ECIES implementation ( #80 )
...
* feat(net): add ecies crate
* cargo fmt
* add hex-literal and proptest to dev-dependencies
* adds std feature to reth-rlp
* document util
* document more
* chore: allow missing docs in ecies/algorith.rs
* feat(ecies): improve error handling
remove anyhow and strictly type all errors
* refactor(ecies): movem ingress/egress to lib.rs
* chore(ecies): allow missing docs in mac
* chore(ecies): cleanup utils
* refactor(ecies): move ECIES Codec to separate file
* refactor(ecies): rename proto to stream
* add test scaffold
* implement server/client read/write test
* chore: clippy / fmt
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-10-15 18:20:17 -07:00
Dan Cline
07a83b163f
feat(primitives): add H128 ( #79 )
...
* feat(primitives): add H128
* uses patch for now
* cargo fmt
2022-10-14 20:06:26 -07:00
rakita
bdc38d8bbd
cleanup remove forkid from primitives ( #78 )
2022-10-14 23:01:55 +02:00
Matthias Seitz
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
Matthias Seitz
533c3ebe98
feat(rpc): add EthApiServer impl skeleton ( #75 )
2022-10-14 12:01:00 -07:00
Matthias Seitz
a7cf915677
refactor(txpool): consider below proto fee cap an error ( #71 )
2022-10-14 17:10:05 +02:00
rakita
a644318c32
feat(p2p): Include forkid file from apache licenced repo ( #68 )
...
* Start using reth-rlp
* Include apache licenced forkid file in primitives
* Move forkid to eth-wire
2022-10-14 16:52:59 +02:00
Matthias Seitz
19d001fbdd
chore(txpool): require public traits to be static ( #74 )
2022-10-14 16:05:46 +02:00
Bjerg
4790256507
feat: skip/error pipeline events ( #70 )
2022-10-14 14:08:41 +02:00
Bjerg
0d97014f4c
docs: mermaid diagram for pipeline ( #67 )
2022-10-14 13:23:13 +02:00
rakita
92e64ed71f
include apache licenced fastrlp as reth-rlp ( #63 )
...
* include apache licenced fastrlp as reth-rlp
* fmt
* Include LICENCE and README for reth-rlp
2022-10-14 12:43:21 +02:00
Matthias Seitz
6d0bd9037e
feat(txpool): add get_all function ( #65 )
2022-10-14 11:19:15 +02:00
Matthias Seitz
794c07391e
feat(txpool): extend poolconfig ( #61 )
2022-10-13 20:49:35 +02:00
Matthias Seitz
6b71460e7e
refactor(txpool): simplify validator trait ( #60 )
...
* refactor(txpool): simplify validator trait
* fix docs
2022-10-13 20:36:15 +02:00
Matthias Seitz
55768a534d
feat(txpool): add listeners for all transactions ( #59 )
2022-10-13 10:47:32 -07:00
Matthias Seitz
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
Matthias Seitz
577e840062
docs(txpool): update BestTransaction docs ( #57 )
2022-10-13 10:44:18 -07:00
Matthias Seitz
74b04dc81a
refactor(txpool): get rid of block number requirement ( #56 )
2022-10-12 16:24:19 -07:00
Matthias Seitz
6d4e39deef
refactor(txpool): cleanup pass ( #53 )
...
* chore: some cleanup
* refactor(txpool): simplify layers and add docs
* refactor: more cleanup
* refactor: cleanup and simplifications
2022-10-12 18:23:08 +02:00
Matthias Seitz
4fb99848fd
refactor(txpool): simplify layers and add docs ( #52 )
...
* chore: some cleanup
* refactor(txpool): simplify layers and add docs
2022-10-12 17:58:36 +02:00
rakita
ae5935e6b2
feat: reth binary and parsing of eth chain tests ( #38 )
...
* Scaffolding for reth test binary. wip for blockchain tests
* wip models for chain json tests
* reth binary and chain test
* fmt,clippy
* Update bin/reth/src/lib.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* Update bin/reth/src/lib.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* Update bin/reth/src/test_eth_chain/mod.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* Update bin/reth/src/test_eth_chain/mod.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* Update bin/reth/src/test_eth_chain/mod.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* Update bin/reth/src/test_eth_chain/models.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* Update bin/reth/src/test_eth_chain/models.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* Update bin/reth/src/test_eth_chain/mod.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* Update bin/reth/src/test_eth_chain/runner.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* Move JsonU256 to primitives
* fmt
* Use eyre
* nits
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
2022-10-12 17:43:01 +02:00
Roman Krasiuk
08d8a7f030
cursor put ( #54 )
2022-10-12 17:16:59 +02:00
Bjerg
111c13f12f
test: more staged sync tests ( #49 )
2022-10-11 23:04:07 +02:00
Roman Krasiuk
bbb46216ea
chore: test utils ( #48 )
2022-10-11 20:09:18 +02:00
Roman Krasiuk
5ebfc01338
chore: migrate stages to new db abstractions ( #43 )
...
* migrate
* set block as u64
* linter
* BNum -> BlockNumber
* stage id alias
2022-10-11 19:54:05 +02:00
Bjerg
098bfe84b9
docs: add contributor docs ( #41 )
...
* docs: add contributor docs
* docs: nit
* docs: move project layout to docs folder
* chore: slash the slashes
* docs: re-add ci badge (whoops)
* docs: index
2022-10-11 10:15:08 -07:00
Matthias Seitz
180c768822
docs(txpool): add note for minimal protocol base fee ( #47 )
2022-10-11 10:14:32 -07:00
Matthias Seitz
0b1c86df30
docs(txpool): add mermaid diagram ( #46 )
2022-10-11 19:07:16 +02:00
Bjerg
edc75881c1
docs: add book skeleton ( #44 )
...
* docs: add book skeleton
* ci: add book test workflow
2022-10-11 18:52:28 +02:00
Bjerg
a8c1eaf140
feat: simplified unwind priority ( #45 )
2022-10-11 18:52:05 +02:00
Matthias Seitz
3fed7cfe21
feat(txpool): new txpool design ( #22 )
2022-10-11 17:10:02 +02:00
Matthias Seitz
8eb2ea4152
feat(rpc): add rpc-api client feature ( #33 )
...
* feat(rpc): add rpc-api client feature
* refactor: combine proc macro
* feat: add missing deserialize functions
* add missing derive
2022-10-11 11:56:12 +02:00
Georgios Konstantopoulos
bce14b22ce
chore: staged sync cleanup ( #34 )
...
* docs: expand on unwinding
* chore: commit inside run_loop / cleanup run
* chore: instrument unwind via span to make more readable
* chore: address review comments
2022-10-10 19:48:20 -07:00
Georgios Konstantopoulos
c41c6b99a6
db: supply table as Type not as fn param ( #32 )
2022-10-10 12:52:42 -07:00
joshieDo
60d3c64410
feat(db): mdbx integration & table skeletons ( #15 )
...
* wip
* add table macro
* add simple put get test with Address
* add Env.view and Env.update
* docs
* slightly change the test
* add initial table initialization and placeholders
* lint & some
* replace String with str
* add error.rs
* add docs to encode
* add docs
* clamp
* add source on libmdbx_max_page_size
2022-10-10 12:35:35 -07:00
Dan Cline
230e9ef179
feat(p2p): add anchor file for discovery state ( #11 )
...
* feat(p2p): add anchor file for discovery state
* move rustdoc and improve error messages
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* add temp file tests and log drop error
* fix error due to lack of read option
* fix empty and nonexistent file error
* remove redundant new
* replace println with tracing
* show underlying error in custom error message
* chore: cargo fmt
* change AsRef<Path> to &Path
* remove ineffective dedups
* chore: cargo fmt
* switch out Vec<Enr<K>> for HashSet<Enr<K>>
* cargo fmt
* use tempdir instead of of std::env::temp_dir
* refactor anchor to contain &Path instead of File
* change new_from_file to explicitly include logic for opening existing
files, rather than calling out to from_toml
* remove from_toml because new_from_file handles existing files
properly with only a path. It is not possible to obtain a Path from a
File anyways, its only purpose was to accept a File type
* use PathBuf instead of Path
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
2022-10-10 13:02:54 -04:00
Dan Cline
d7c8b70cc3
feat: add eth-wire ( #20 )
2022-10-10 09:46:02 -07:00
Bjerg
a759201b40
refactor(stages): split Pipeline::run ( #30 )
2022-10-10 15:52:23 +02:00