Files
SyntheticBird a23ca6f730 P2P: Abstract TCP methods under the Transport Trait. (#446)
Abstract TCP methods under the Transport Trait.

In workspace:
- Added a new `cuprate-p2p-transport` crate that will later welcome
complex or crate dependent transport implementations. (Arti for example.)

In `cuprate-p2p-core`:
- Implemented a new Transport trait that abstract methods to listen
for or connect to other peers over a NetworkZone Z.
- Reduced `NetworkZone` trait accordingly.
- Added a new `BROADCAST_OWN_ADDR` to `NetworkZone` for anonymized
networks.
- Implemented `Tcp` transport for `ClearNet`.
- Implemented `Dummy` transport for placeholder/testing purposes
- Adapted definition of P2P components to the new `Transport` trait.
- Changed original `InBoundStream` implementation to support two
different but optional listeners (IPv4/IPv6)

In `p2p-core/tests`:
- Implemented `FragTcp` for fragmented message testing

In `cuprated`:
- Added `p2p.enable_inbound_v6` and `listen_on_v6` config field.
- Added `From<&ClearNetConfig>` for `TransportConfig<ClearNet, Tcp>`.
- Abstracted original `start_clearnet_p2p` to `start_zone_p2p` with a
given `NetworkZone` and `Transport`.
- Zone/NetworkInterface<Z> P2P initialization has been moved to `cuprated::p2p` in
`initialize_zones_p2p` fn.
- Defined `NetworkInterfaces` collection (useless at the moment).
2025-05-10 14:22:19 +01:00

33 lines
1.1 KiB
TOML

[package]
name = "cuprate-test-utils"
version = "0.1.0"
edition = "2021"
license = "MIT"
authors = ["Boog900", "hinto-janai"]
[dependencies]
cuprate-types = { workspace = true }
cuprate-helper = { workspace = true, features = ["map", "tx"] }
cuprate-wire = { workspace = true }
cuprate-p2p-core = { workspace = true, features = ["borsh"] }
hex = { workspace = true }
hex-literal = { workspace = true }
monero-serai = { workspace = true, features = ["std"] }
monero-simple-request-rpc = { workspace = true }
monero-rpc = { workspace = true }
async-trait = { workspace = true }
tokio = { workspace = true, features = ["full"] }
serde = { workspace = true }
serde_json = { workspace = true }
tempfile = { workspace = true }
paste = { workspace = true }
borsh = { workspace = true, features = ["derive"]}
[dev-dependencies]
hex = { workspace = true }
pretty_assertions = { workspace = true }
[lints]
workspace = true