2b1bb05ca3
tests(chain): add unit tests ( #411 )
...
* add chain id and display unit tests
* add from, into and default implementation tests
* add encodable length test for id chain
2022-12-13 17:02:55 +01:00
6e622d7533
tests(hex_bytes): add unit tests ( #395 )
...
* Add from_bytes and to_vec tests
* add encodable unit tests
* add partialeq unit tests
* apply code formatting
* add asserts for mirrored partialeq
* add decode test
2022-12-13 11:23:54 +02:00
0a6ef3b5af
feat(sync): senders commit threshold ( #401 )
2022-12-13 11:23:40 +02:00
d949e2ae18
chore: fix some typos ( #402 )
2022-12-13 10:20:47 +01:00
aeca7ddaab
fix(eth-wire): remove inaccurate status doc ( #396 )
2022-12-13 08:33:22 +01:00
705e6f79dc
feat(p2p): remove p2p crate ( #397 )
2022-12-13 08:28:38 +01:00
6aa2daee0f
fix(net): outgoing requsts ( #398 )
...
* remove inpossible case
* fix(net): outgoing requests stopping
2022-12-13 08:25:41 +01:00
2534aa85ac
feat(rpc): net namespace ( #363 )
...
* feat(rpc): net namespace
* add network_id field to debug
* is_listening flag & peer count as hex
* eth api trait
* fix errors
* Update crates/net/rpc/src/net/mod.rs
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
* add trait bounds directly
* fmt
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-12 19:53:56 +02:00
452a81e0d3
feat(net): expose message module ( #390 )
...
* feat(net): expose message module
* feat(net): expose `PeerRequest`, allow missing docs
2022-12-12 18:34:54 +02:00
db7608e3b5
feat(net): expose config settings ( #386 )
...
* expose transaction origin
* feat(net): fill peer config builder
2022-12-12 18:29:20 +02:00
da5545157a
feat(disc): support discport query and add display impl ( #385 )
...
* feat(disc): support discport query and add display impl
* chore: rustfmt
2022-12-12 01:08:32 +01:00
fecdc3f0f2
feat(net): add peer_id/ip blacklist ( #366 )
2022-12-11 02:05:07 -08:00
9e6acece17
expose transaction origin ( #383 )
2022-12-11 09:15:25 +01:00
c117d4b44f
docs(net): add example docs and fix links ( #375 )
2022-12-10 09:19:25 -08: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
e014eaad33
feat(db): Refactor storage libraries ( #371 )
2022-12-09 23:14:07 -08:00
4318a54f59
feat(net): integrate TaskExecutor ( #369 )
2022-12-09 09:47:18 -08:00
b0149f0b9f
fix(net): prevent bad loop if no peers available ( #359 )
...
* fix(net): prevent bad loop if no peers available
* test: add poll fetcher test
2022-12-09 12:39:08 +01:00
f489ec51f0
feat: add TaskManager and Executor types ( #357 )
2022-12-08 09:15:48 -08:00
2f73345696
misc(net): unify naming ( #358 )
2022-12-08 09:12:58 -08:00
fc2dfa7524
fix(interfaces/db): remove unused $seek:ty token in table! macro ( #362 )
...
Co-authored-by: 0xYYY <0xYYY@protonmail.com >
2022-12-08 09:12:44 -08:00
70635b7282
feat(rpc): add eth_pubsub skeleton ( #354 )
2022-12-08 13:55:56 +01:00
ba758c5f54
chore(sync): remove timeout from downloader ( #356 )
2022-12-08 04:53:56 -08:00
4fb3626546
chore: Last PR cleanup, nits ( #353 )
...
* chore: cleanup, tests and nits
* fmt
2022-12-08 11:16:01 +01:00
d66138e143
feat(execution): Account NotExisting and block reward changesets ( #349 )
2022-12-07 21:10:06 -08:00
4d718bbf33
s/foundry-rs/paradigmxyz
2022-12-07 00:00:45 -08:00
6c91322251
feat(eth-wire): derive serde traits for eth-wire types ( #348 )
...
* wip: start adding serde to stuff
* add serde traits to NewBlockHashes
* derive serde traits for the rest of the types
* derive serde traits for p2p subprotocol messages
* cargo fmt
2022-12-06 18:05:22 -08:00
449321ddc4
refactor(db): separate transaction indexes from block body ( #326 )
2022-12-06 18:02:04 -08:00
925001e1ee
move tokio utils to dev dep ( #345 )
2022-12-06 18:02:04 -08:00
a0a40a9c3d
chore(db): change table macro tokens ( #343 )
2022-12-06 18:02:04 -08:00
9628d03871
feat(sync): headers commit threshold ( #296 )
...
* headers stream init
* fix tests
* return header if available regardless of control flow
* proper stream termination & docs
* upd headers stage to consume stream
* adjust response validation for stream
* use cursor.insert for headers
* wrap poll_next in a loop to bypass poking waker
* fix typo
* fix last td lookup
* Apply suggestions from code review
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* misc
* remove waker ref
* dedup response handling logic
* clippy
* add docs to poll
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-06 18:02:04 -08:00
2671cd1cb6
chore(primitives): impl serde traits for ForkId ( #342 )
2022-12-06 18:02:04 -08:00
4643f840d7
chore(deps): get rid of unused deps ( #339 )
2022-12-06 18:02:04 -08:00
5e37ef8226
style(net): use pin_project on eceis stream ( #338 )
2022-12-06 18:02:04 -08:00
0b8d50127c
refactor(net): box ecies error ( #337 )
2022-12-06 18:02:04 -08:00
b40546b999
refactor(net): misc P2Pstream refactor ( #336 )
...
* refactor(net): misc P2Pstream refactor
* update note
2022-12-06 18:02:04 -08:00
074e69cafb
chore(net): remove unused function ( #335 )
2022-12-06 18:02:04 -08:00
a4472ca1c6
chore(clippy): make clippy happy ( #334 )
2022-12-06 18:02:04 -08:00
a68cb3f357
feat(stage): Add execution stage ( #287 )
...
* Execution stage
* StorageProviderRef. cleanup, fmt/clippy
* block inclusion
* insert blocks for execution stage
* Sanity test for execution stage
* nits
* Update crates/stages/src/stages/execution.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/stages/Cargo.toml
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/stages/src/stages/execution.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/stages/src/stages/execution.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* feat(execution) Execution change diff. (#323 )
* Insert to execution changediffs
* progress on exec stage unwind
* wip
* Remove tables:BlockBody from execution stage
* unwind passing
* Nits cleanup and refactoring
* DatabaseIntegrity errors
* KECCAK_EMPTY acc to None
* Update crates/interfaces/src/db/tables.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/interfaces/src/provider/block.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/stages/src/stages/execution.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* nits
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-06 18:02:04 -08:00
75879b2027
chore(ecies): remove body size check ( #328 )
...
* remove body size check
* cargo fmt
2022-12-06 18:02:04 -08:00
13df80c1d1
chore(codecs): contain [Struct]Flags in a mod and import what's necessary ( #329 )
...
* contain StructFlags in a mod with its imports
* update code generation test
2022-12-06 18:02:04 -08:00
f65969e90f
perf(net): exclude bootnodes from update stream ( #319 )
2022-12-06 18:02:04 -08:00
2b6ef0afcf
fix(eth-wire): encode p2p message id as valid rlp ( #324 )
2022-12-06 18:02:04 -08:00
1668313d55
perf(disc): instantly lookup self in DHT ( #314 )
...
* perf(disc): instantly lookup self in DHT
* Update crates/net/discv4/src/lib.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-06 18:02:04 -08:00
12212ec91a
fix(disc): set trace target correctly ( #315 )
2022-12-06 18:02:04 -08:00
5300c83a50
feat(net): send full transactions to fraction of all peers ( #272 )
...
* refactor(net): use shared objects on a per peer basis
* feat(net): send full transactions to fraction of all peers
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-02 04:21:23 -08:00
debc87177c
fix(eth-wire): handle 0x80 for DisconnectReason and P2PMessageID ( #313 )
...
* fix disconnect reason encoding
* move disconnect to own file
* add encoding test for 0x80 in list
* rlp([0u8]) is a good test case to have because it is the RLP encoding
of a DisconnectRequested p2p message
* fix disconnect encoding and decoding
* directly decode the disconnect id to handle the 0x80 case of
DisconnectRequested
* the previous manual snappy encoding / decoding was incorrect - a
snappy encoded disconnect message is 4 bytes, not 3 bytes. The tests
and implementation are changed to reflect this.
* fix p2p message decoding
* had a similar issue to disconnect reason decoding where it would not
handle a 0x80 message id
* make invalid rlp header case more explicit
* cargo fmt
2022-12-02 04:21:00 -08:00
743b1bd6ba
meta(txpool): fairer order function via timestamp ( #281 )
2022-12-02 03:58:21 -08:00