n0-computer / beetle

Other
34 stars 15 forks source link

Reduce number of duplicate crates #62

Open Arqu opened 1 year ago

Arqu commented 1 year ago

From @fabricedesre:

There are quite a few crates that are compiled with several versions (3 versions of prost!) and reducing that is a way to reduce binary size (that also improves compile times). Run cargo tree -d -e=no-dev -e=no-build to see the dupes. Removing dupes is unfortunately often a chore when you have to get fixes in 3rd party crates that may not be very active or willing to publish new versions - you can live on forks of course but that comes with its price also.

fabricedesre commented 1 year ago

For the record, on revision 18e2f400ed79c3522e290fe1c77b289879af6154 here's the output of cargo tree -d -e=no-dev -e=no-build -e=no-proc-macro from the root of the repo:

ahash v0.7.6
└── hashbrown v0.12.3
    ├── dashmap v5.4.0
    │   ├── opentelemetry_sdk v0.18.0
    │   │   └── opentelemetry v0.18.0
    │   │       ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway)
    │   │       │   └── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │       ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics)
    │   │       │   ├── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh)
    │   │       │   │   └── xtask v0.1.1 (/home/fabrice/dev/capyloon/iroh/xtask)
    │   │       │   ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api)
    │   │       │   │   └── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
    │   │       │   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap)
    │   │       │   │   └── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p)
    │   │       │   │       ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │       │   │       └── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │   │       │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │       │   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │       │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │   │       │   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver)
    │   │       │   │   ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
    │   │       │   │   ├── iroh-examples v0.1.1 (/home/fabrice/dev/capyloon/iroh/examples)
    │   │       │   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │       │   │   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │       │   │   └── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │   │       │   ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client)
    │   │       │   │   ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
    │   │       │   │   ├── iroh-examples v0.1.1 (/home/fabrice/dev/capyloon/iroh/examples)
    │   │       │   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │       │   │   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │       │   │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │   │       │   │   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
    │   │       │   │   ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │   │       │   │   └── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store)
    │   │       │   │       ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │       │   │       └── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │   │       │   ├── iroh-rpc-types v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-types)
    │   │       │   │   ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
    │   │       │   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │       │   │   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │       │   │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │   │       │   │   ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
    │   │       │   │   ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │   │       │   │   └── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
    │   │       │   ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │   │       │   └── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
    │   │       ├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
    │   │       ├── opentelemetry-otlp v0.11.0
    │   │       │   └── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
    │   │       ├── opentelemetry-proto v0.1.0
    │   │       │   └── opentelemetry-otlp v0.11.0 (*)
    │   │       └── tracing-opentelemetry v0.18.0
    │   │           ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │           ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
    │   │           └── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
    │   └── par-stream v0.10.2
    │       └── iroh-examples v0.1.1 (/home/fabrice/dev/capyloon/iroh/examples)
    ├── indexmap v1.9.2
    │   ├── clap v3.2.23
    │   │   └── xtaskops v0.2.2
    │   │       └── xtask v0.1.1 (/home/fabrice/dev/capyloon/iroh/xtask)
    │   ├── h2 v0.3.15
    │   │   ├── hyper v0.14.23
    │   │   │   ├── axum v0.5.17
    │   │   │   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │   │   │   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │   │   │   └── tonic v0.8.2
    │   │   │   │       ├── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
    │   │   │   │       ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
    │   │   │   │       ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
    │   │   │   │       ├── iroh-rpc-types v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-types) (*)
    │   │   │   │       ├── opentelemetry-otlp v0.11.0 (*)
    │   │   │   │       ├── opentelemetry-proto v0.1.0 (*)
    │   │   │   │       └── tonic-health v0.7.1
    │   │   │   │           ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
    │   │   │   │           └── iroh-rpc-types v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-types) (*)
    │   │   │   ├── hyper-rustls v0.23.1
    │   │   │   │   └── reqwest v0.11.13
    │   │   │   │       ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │   │   │       ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
    │   │   │   │       ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │   │   │       └── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
    │   │   │   ├── hyper-timeout v0.4.1
    │   │   │   │   └── tonic v0.8.2 (*)
    │   │   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │   │   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │   │   ├── reqwest v0.11.13 (*)
    │   │   │   └── tonic v0.8.2 (*)
    │   │   ├── reqwest v0.11.13 (*)
    │   │   └── tonic v0.8.2 (*)
    │   ├── keyed_priority_queue v0.4.1
    │   │   └── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
    │   ├── opentelemetry_api v0.18.0
    │   │   ├── opentelemetry v0.18.0 (*)
    │   │   └── opentelemetry_sdk v0.18.0 (*)
    │   └── tower v0.4.13
    │       ├── axum v0.5.17 (*)
    │       ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │       ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
    │       ├── tonic v0.8.2 (*)
    │       └── tower-http v0.3.4
    │           ├── axum v0.5.17 (*)
    │           └── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    ├── lru v0.8.1
    │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │   └── libp2p-identify v0.41.0
    │       ├── libp2p v0.50.0
    │       │   ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
    │       │   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
    │       │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │       │   ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
    │       │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │       │   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
    │       │   ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
    │       │   └── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │       └── libp2p-metrics v0.11.0
    │           └── libp2p v0.50.0 (*)
    ├── ordered-multimap v0.4.3
    │   └── rust-ini v0.18.0
    │       └── config v0.13.2
    │           ├── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
    │           ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
    │           ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │           ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
    │           ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │           ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │           ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
    │           ├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
    │           └── iroh-util v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-util)
    │               ├── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
    │               ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
    │               ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
    │               ├── iroh-examples v0.1.1 (/home/fabrice/dev/capyloon/iroh/examples)
    │               ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │               ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
    │               ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │               ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │               ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
    │               ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
    │               ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │               └── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
    └── rkyv v0.7.39
        └── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)

ahash v0.8.2
├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
└── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)

block-buffer v0.9.0
├── sha-1 v0.9.8
│   └── soketto v0.7.1
│       └── libp2p-websocket v0.40.0
│           └── libp2p v0.50.0 (*)
└── sha2 v0.9.9
    └── ed25519-dalek v1.0.1
        ├── libp2p-core v0.38.0
        │   ├── libp2p v0.50.0 (*)
        │   ├── libp2p-autonat v0.9.0
        │   │   └── libp2p v0.50.0 (*)
        │   ├── libp2p-dcutr v0.8.0
        │   │   ├── libp2p v0.50.0 (*)
        │   │   └── libp2p-metrics v0.11.0 (*)
        │   ├── libp2p-dns v0.38.0
        │   │   └── libp2p v0.50.0 (*)
        │   ├── libp2p-gossipsub v0.43.0
        │   │   ├── libp2p v0.50.0 (*)
        │   │   └── libp2p-metrics v0.11.0 (*)
        │   ├── libp2p-identify v0.41.0 (*)
        │   ├── libp2p-kad v0.42.0
        │   │   ├── libp2p v0.50.0 (*)
        │   │   └── libp2p-metrics v0.11.0 (*)
        │   ├── libp2p-mdns v0.42.0
        │   │   └── libp2p v0.50.0 (*)
        │   ├── libp2p-metrics v0.11.0 (*)
        │   ├── libp2p-mplex v0.38.0
        │   │   └── libp2p v0.50.0 (*)
        │   ├── libp2p-noise v0.41.0
        │   │   └── libp2p v0.50.0 (*)
        │   ├── libp2p-ping v0.41.0
        │   │   ├── libp2p v0.50.0 (*)
        │   │   └── libp2p-metrics v0.11.0 (*)
        │   ├── libp2p-quic v0.7.0-alpha
        │   │   └── libp2p v0.50.0 (*)
        │   ├── libp2p-relay v0.14.0
        │   │   ├── libp2p v0.50.0 (*)
        │   │   └── libp2p-metrics v0.11.0 (*)
        │   ├── libp2p-request-response v0.23.0
        │   │   ├── libp2p v0.50.0 (*)
        │   │   └── libp2p-autonat v0.9.0 (*)
        │   ├── libp2p-swarm v0.41.0
        │   │   ├── libp2p v0.50.0 (*)
        │   │   ├── libp2p-autonat v0.9.0 (*)
        │   │   ├── libp2p-dcutr v0.8.0 (*)
        │   │   ├── libp2p-gossipsub v0.43.0 (*)
        │   │   ├── libp2p-identify v0.41.0 (*)
        │   │   ├── libp2p-kad v0.42.0 (*)
        │   │   ├── libp2p-mdns v0.42.0 (*)
        │   │   ├── libp2p-metrics v0.11.0 (*)
        │   │   ├── libp2p-ping v0.41.0 (*)
        │   │   ├── libp2p-relay v0.14.0 (*)
        │   │   └── libp2p-request-response v0.23.0 (*)
        │   ├── libp2p-tcp v0.38.0
        │   │   └── libp2p v0.50.0 (*)
        │   ├── libp2p-tls v0.1.0-alpha
        │   │   └── libp2p-quic v0.7.0-alpha (*)
        │   ├── libp2p-websocket v0.40.0 (*)
        │   └── libp2p-yamux v0.42.0
        │       └── libp2p v0.50.0 (*)
        └── ssh-key v0.5.1
            └── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)

block-buffer v0.10.3
└── digest v0.10.6
    ├── multihash v0.16.3
    │   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
    │   ├── libp2p-core v0.38.0 (*)
    │   └── multiaddr v0.16.0
    │       ├── libp2p v0.50.0 (*)
    │       └── libp2p-core v0.38.0 (*)
    ├── multihash v0.17.0
    │   ├── cid v0.9.0
    │   │   ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
    │   │   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
    │   │   ├── iroh-car v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-car)
    │   │   │   ├── iroh-examples v0.1.1 (/home/fabrice/dev/capyloon/iroh/examples)
    │   │   │   └── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    │   │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │   │   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
    │   │   ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
    │   │   ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │   │   ├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
    │   │   ├── iroh-util v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-util) (*)
    │   │   └── libipld-core v0.15.0
    │   │       ├── libipld v0.15.0
    │   │       │   ├── iroh-car v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-car) (*)
    │   │       │   └── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
    │   │       ├── libipld-cbor v0.15.0
    │   │       │   ├── iroh-car v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-car) (*)
    │   │       │   └── libipld v0.15.0 (*)
    │   │       ├── libipld-json v0.15.0
    │   │       │   └── libipld v0.15.0 (*)
    │   │       ├── libipld-macro v0.15.0
    │   │       │   └── libipld v0.15.0 (*)
    │   │       └── libipld-pb v0.15.0
    │   │           └── libipld v0.15.0 (*)
    │   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
    │   ├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
    │   ├── libipld v0.15.0 (*)
    │   ├── libipld-core v0.15.0 (*)
    │   └── libipld-json v0.15.0 (*)
    ├── sha1 v0.10.5
    │   └── headers v0.3.8
    │       ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │       └── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
    ├── sha2 v0.10.6
    │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   ├── libp2p-core v0.38.0 (*)
    │   ├── libp2p-gossipsub v0.43.0 (*)
    │   ├── libp2p-kad v0.42.0 (*)
    │   ├── libp2p-noise v0.41.0 (*)
    │   ├── multihash v0.16.3 (*)
    │   ├── multihash v0.17.0 (*)
    │   ├── ssh-encoding v0.1.0
    │   │   └── ssh-key v0.5.1 (*)
    │   └── ssh-key v0.5.1 (*)
    └── sha3 v0.10.6
        ├── multihash v0.16.3 (*)
        └── multihash v0.17.0 (*)

clap v3.2.23 (*)

clap v4.0.26
├── clap_mangen v0.2.4
│   └── xtask v0.1.1 (/home/fabrice/dev/capyloon/iroh/xtask)
├── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
├── iroh-examples v0.1.1 (/home/fabrice/dev/capyloon/iroh/examples)
├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
└── xtask v0.1.1 (/home/fabrice/dev/capyloon/iroh/xtask)

clap_lex v0.2.4
└── clap v3.2.23 (*)

clap_lex v0.3.0
└── clap v4.0.26 (*)

data-encoding v2.3.2

data-encoding v2.3.2
├── data-encoding-macro v0.1.12
│   └── multibase v0.9.1
│       ├── cid v0.9.0 (*)
│       ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
│       ├── libipld-core v0.15.0 (*)
│       └── multiaddr v0.16.0 (*)
├── libp2p-mdns v0.42.0 (*)
├── multiaddr v0.16.0 (*)
├── multibase v0.9.1 (*)
├── trust-dns-proto v0.22.0
│   ├── libp2p-mdns v0.42.0 (*)
│   └── trust-dns-resolver v0.22.0
│       ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
│       └── libp2p-dns v0.38.0 (*)
└── x509-parser v0.14.0
    └── libp2p-tls v0.1.0-alpha (*)

digest v0.9.0
├── curve25519-dalek v3.2.0
│   ├── ed25519-dalek v1.0.1 (*)
│   ├── libp2p-noise v0.41.0 (*)
│   └── x25519-dalek v1.1.1
│       └── libp2p-noise v0.41.0 (*)
├── sha-1 v0.9.8 (*)
└── sha2 v0.9.9 (*)

digest v0.10.6 (*)

getrandom v0.1.16
├── rand v0.7.3
│   └── ed25519-dalek v1.0.1 (*)
└── rand_core v0.5.1
    ├── curve25519-dalek v3.2.0 (*)
    ├── rand v0.7.3 (*)
    ├── rand_chacha v0.2.2
    │   └── rand v0.7.3 (*)
    └── x25519-dalek v1.1.1 (*)

getrandom v0.2.8
├── ahash v0.7.6 (*)
├── ahash v0.8.2 (*)
├── backoff v0.4.0
│   └── flatfs-store v0.1.0 (/home/fabrice/dev/capyloon/iroh/stores/flatfs)
├── libp2p v0.50.0 (*)
├── nanorand v0.7.0
│   └── flume v0.10.14
│       └── par-stream v0.10.2 (*)
└── rand_core v0.6.4
    ├── rand v0.8.5
    │   ├── backoff v0.4.0 (*)
    │   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
    │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
    │   ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
    │   ├── libp2p-autonat v0.9.0 (*)
    │   ├── libp2p-core v0.38.0 (*)
    │   ├── libp2p-gossipsub v0.43.0 (*)
    │   ├── libp2p-kad v0.42.0 (*)
    │   ├── libp2p-mdns v0.42.0 (*)
    │   ├── libp2p-mplex v0.38.0 (*)
    │   ├── libp2p-noise v0.41.0 (*)
    │   ├── libp2p-ping v0.41.0 (*)
    │   ├── libp2p-quic v0.7.0-alpha (*)
    │   ├── libp2p-relay v0.14.0 (*)
    │   ├── libp2p-request-response v0.23.0 (*)
    │   ├── libp2p-swarm v0.41.0 (*)
    │   ├── names v0.14.0
    │   │   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
    │   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    │   │   ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
    │   │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
    │   │   └── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
    │   ├── opentelemetry_sdk v0.18.0 (*)
    │   ├── quinn-proto v0.9.1
    │   │   └── libp2p-quic v0.7.0-alpha (*)
    │   ├── soketto v0.7.1 (*)
    │   ├── tower v0.4.13 (*)
    │   ├── trust-dns-proto v0.22.0 (*)
    │   └── yamux v0.10.2
    │       └── libp2p-yamux v0.42.0 (*)
    ├── rand_chacha v0.3.1
    │   └── rand v0.8.5 (*)
    ├── snow v0.9.0
    │   └── libp2p-noise v0.41.0 (*)
    └── ssh-key v0.5.1 (*)

idna v0.2.3
└── trust-dns-proto v0.22.0 (*)

idna v0.3.0
└── url v2.3.1
    ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
    ├── libp2p-websocket v0.40.0 (*)
    ├── multiaddr v0.16.0 (*)
    ├── reqwest v0.11.13 (*)
    └── trust-dns-proto v0.22.0 (*)

multihash v0.16.3 (*)

multihash v0.17.0 (*)

nix v0.24.2
└── rtnetlink v0.10.1
    └── if-watch v3.0.0
        ├── libp2p-mdns v0.42.0 (*)
        ├── libp2p-quic v0.7.0-alpha (*)
        └── libp2p-tcp v0.38.0 (*)

nix v0.25.0
├── ctrlc v3.2.3
│   ├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
│   └── iroh-util v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-util) (*)
└── iroh-localops v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-localops)
    └── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)

once_cell v1.16.0
└── pest_meta v2.4.1
    └── pest_generator v2.4.1

once_cell v1.16.0
├── ahash v0.7.6 (*)
├── ahash v0.8.2 (*)
├── clap v4.0.26 (*)
├── dashmap v5.4.0 (*)
├── duct v0.13.5
│   └── xtaskops v0.2.2 (*)
├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
├── libp2p-core v0.38.0 (*)
├── libp2p-noise v0.41.0 (*)
├── opentelemetry_api v0.18.0 (*)
├── opentelemetry_sdk v0.18.0 (*)
├── par-stream v0.10.2 (*)
├── reqwest v0.11.13 (*)
├── ring v0.16.20
│   ├── libp2p-core v0.38.0 (*)
│   ├── libp2p-tls v0.1.0-alpha (*)
│   ├── quinn-proto v0.9.1 (*)
│   ├── rcgen v0.10.0
│   │   └── libp2p-tls v0.1.0-alpha (*)
│   ├── rustls v0.20.7
│   │   ├── futures-rustls v0.22.2
│   │   │   ├── libp2p-tls v0.1.0-alpha (*)
│   │   │   └── libp2p-websocket v0.40.0 (*)
│   │   ├── hyper-rustls v0.23.1 (*)
│   │   ├── libp2p-quic v0.7.0-alpha (*)
│   │   ├── libp2p-tls v0.1.0-alpha (*)
│   │   ├── quinn-proto v0.9.1 (*)
│   │   ├── reqwest v0.11.13 (*)
│   │   └── tokio-rustls v0.23.4
│   │       ├── hyper-rustls v0.23.1 (*)
│   │       └── reqwest v0.11.13 (*)
│   ├── sct v0.7.0
│   │   └── rustls v0.20.7 (*)
│   ├── snow v0.9.0 (*)
│   └── webpki v0.22.0
│       ├── futures-rustls v0.22.2 (*)
│       ├── libp2p-tls v0.1.0-alpha (*)
│       ├── quinn-proto v0.9.1 (*)
│       ├── rustls v0.20.7 (*)
│       ├── tokio-rustls v0.23.4 (*)
│       └── webpki-roots v0.22.5
│           ├── libp2p-websocket v0.40.0 (*)
│           └── reqwest v0.11.13 (*)
├── sysinfo v0.26.7
│   ├── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
│   └── iroh-util v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-util) (*)
├── temp-env v0.3.1
│   └── iroh-util v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-util) (*)
├── thread_local v1.1.4
│   ├── ignore v0.4.18
│   │   └── flatfs-store v0.1.0 (/home/fabrice/dev/capyloon/iroh/stores/flatfs)
│   └── tracing-subscriber v0.3.16
│       ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
│       ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
│       ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
│       ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
│       ├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
│       └── tracing-opentelemetry v0.18.0 (*)
├── tracing-core v0.1.30
│   ├── tracing v0.1.37
│   │   ├── h2 v0.3.15 (*)
│   │   ├── hyper v0.14.23 (*)
│   │   ├── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
│   │   ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
│   │   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
│   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
│   │   ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
│   │   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
│   │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
│   │   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
│   │   ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
│   │   ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
│   │   ├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
│   │   ├── iroh-util v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-util) (*)
│   │   ├── quinn-proto v0.9.1 (*)
│   │   ├── tokio-util v0.7.4
│   │   │   ├── h2 v0.3.15 (*)
│   │   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
│   │   │   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
│   │   │   ├── tonic v0.8.2 (*)
│   │   │   ├── tower v0.4.13 (*)
│   │   │   └── tower-http v0.3.4 (*)
│   │   ├── tonic v0.8.2 (*)
│   │   ├── tower v0.4.13 (*)
│   │   ├── tower-http v0.3.4 (*)
│   │   ├── tracing-futures v0.2.5
│   │   │   └── tonic v0.8.2 (*)
│   │   ├── tracing-opentelemetry v0.18.0 (*)
│   │   ├── tracing-subscriber v0.3.16 (*)
│   │   ├── trust-dns-proto v0.22.0 (*)
│   │   └── trust-dns-resolver v0.22.0 (*)
│   ├── tracing-log v0.1.3
│   │   ├── tracing-opentelemetry v0.18.0 (*)
│   │   └── tracing-subscriber v0.3.16 (*)
│   ├── tracing-opentelemetry v0.18.0 (*)
│   └── tracing-subscriber v0.3.16 (*)
├── tracing-opentelemetry v0.18.0 (*)
└── tracing-subscriber v0.3.16 (*)

parking_lot v0.11.2
└── wasm-timer v0.2.5
    ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
    └── libp2p-gossipsub v0.43.0 (*)

parking_lot v0.12.1
├── async-broadcast v0.4.1
│   └── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
├── crossterm v0.25.0
│   └── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
├── libp2p v0.50.0 (*)
├── libp2p-core v0.38.0 (*)
├── libp2p-dns v0.38.0 (*)
├── libp2p-mplex v0.38.0 (*)
├── libp2p-quic v0.7.0-alpha (*)
├── libp2p-websocket v0.40.0 (*)
├── libp2p-yamux v0.42.0 (*)
├── par-stream v0.10.2 (*)
├── prometheus-client v0.18.1
│   ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
│   ├── libp2p-gossipsub v0.43.0 (*)
│   └── libp2p-metrics v0.11.0 (*)
├── trust-dns-resolver v0.22.0 (*)
└── yamux v0.10.2 (*)

parking_lot_core v0.8.5
└── parking_lot v0.11.2 (*)

parking_lot_core v0.9.4
├── dashmap v5.4.0 (*)
└── parking_lot v0.12.1 (*)

phf_shared v0.11.1
└── phf_generator v0.11.1

phf_shared v0.11.1
└── phf v0.11.1
    └── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)

pin-project-lite v0.1.12
└── quicksink v0.1.2
    └── libp2p-websocket v0.40.0 (*)

pin-project-lite v0.2.9
├── async-compression v0.3.15
│   └── tower-http v0.3.4 (*)
├── asynchronous-codec v0.6.1
│   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
│   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
│   ├── libp2p-dcutr v0.8.0 (*)
│   ├── libp2p-gossipsub v0.43.0 (*)
│   ├── libp2p-identify v0.41.0 (*)
│   ├── libp2p-kad v0.42.0 (*)
│   ├── libp2p-mplex v0.38.0 (*)
│   ├── libp2p-relay v0.14.0 (*)
│   ├── prost-codec v0.3.0
│   │   ├── libp2p-dcutr v0.8.0 (*)
│   │   ├── libp2p-gossipsub v0.43.0 (*)
│   │   ├── libp2p-identify v0.41.0 (*)
│   │   └── libp2p-relay v0.14.0 (*)
│   └── unsigned-varint v0.7.1
│       ├── cid v0.9.0 (*)
│       ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
│       ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
│       ├── libp2p-core v0.38.0 (*)
│       ├── libp2p-gossipsub v0.43.0 (*)
│       ├── libp2p-kad v0.42.0 (*)
│       ├── libp2p-mplex v0.38.0 (*)
│       ├── libp2p-request-response v0.23.0 (*)
│       ├── multiaddr v0.16.0 (*)
│       ├── multihash v0.16.3 (*)
│       ├── multihash v0.17.0 (*)
│       ├── multistream-select v0.12.1
│       │   └── libp2p-core v0.38.0 (*)
│       └── prost-codec v0.3.0 (*)
├── axum v0.5.17 (*)
├── futures-util v0.3.25
│   ├── asynchronous-codec v0.6.1 (*)
│   ├── axum v0.5.17 (*)
│   ├── axum-core v0.2.9
│   │   └── axum v0.5.17 (*)
│   ├── futures v0.3.25
│   │   ├── if-watch v3.0.0 (*)
│   │   ├── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
│   │   ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
│   │   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
│   │   ├── iroh-car v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-car) (*)
│   │   ├── iroh-examples v0.1.1 (/home/fabrice/dev/capyloon/iroh/examples)
│   │   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
│   │   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
│   │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
│   │   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
│   │   ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
│   │   ├── iroh-rpc-types v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-types) (*)
│   │   ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
│   │   ├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
│   │   ├── iroh-util v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-util) (*)
│   │   ├── libp2p v0.50.0 (*)
│   │   ├── libp2p-autonat v0.9.0 (*)
│   │   ├── libp2p-core v0.38.0 (*)
│   │   ├── libp2p-dcutr v0.8.0 (*)
│   │   ├── libp2p-dns v0.38.0 (*)
│   │   ├── libp2p-gossipsub v0.43.0 (*)
│   │   ├── libp2p-identify v0.41.0 (*)
│   │   ├── libp2p-kad v0.42.0 (*)
│   │   ├── libp2p-mdns v0.42.0 (*)
│   │   ├── libp2p-mplex v0.38.0 (*)
│   │   ├── libp2p-noise v0.41.0 (*)
│   │   ├── libp2p-ping v0.41.0 (*)
│   │   ├── libp2p-quic v0.7.0-alpha (*)
│   │   ├── libp2p-relay v0.14.0 (*)
│   │   ├── libp2p-request-response v0.23.0 (*)
│   │   ├── libp2p-swarm v0.41.0 (*)
│   │   ├── libp2p-tcp v0.38.0 (*)
│   │   ├── libp2p-tls v0.1.0-alpha (*)
│   │   ├── libp2p-websocket v0.40.0 (*)
│   │   ├── libp2p-yamux v0.42.0 (*)
│   │   ├── multistream-select v0.12.1 (*)
│   │   ├── netlink-proto v0.10.0
│   │   │   └── rtnetlink v0.10.1 (*)
│   │   ├── netlink-sys v0.8.3
│   │   │   └── netlink-proto v0.10.0 (*)
│   │   ├── opentelemetry-otlp v0.11.0 (*)
│   │   ├── opentelemetry-proto v0.1.0 (*)
│   │   ├── par-stream v0.10.2 (*)
│   │   ├── rtnetlink v0.10.1 (*)
│   │   ├── rw-stream-sink v0.3.0
│   │   │   ├── libp2p-core v0.38.0 (*)
│   │   │   └── libp2p-websocket v0.40.0 (*)
│   │   ├── soketto v0.7.1 (*)
│   │   ├── wasm-timer v0.2.5 (*)
│   │   └── yamux v0.10.2 (*)
│   ├── futures-executor v0.3.25
│   │   ├── futures v0.3.25 (*)
│   │   └── opentelemetry_sdk v0.18.0 (*)
│   ├── h2 v0.3.15 (*)
│   ├── hyper v0.14.23 (*)
│   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
│   ├── opentelemetry-otlp v0.11.0 (*)
│   ├── opentelemetry-proto v0.1.0 (*)
│   ├── opentelemetry_api v0.18.0 (*)
│   ├── opentelemetry_sdk v0.18.0 (*)
│   ├── reqwest v0.11.13 (*)
│   ├── tonic v0.8.2 (*)
│   ├── tower v0.4.13 (*)
│   ├── tower-http v0.3.4 (*)
│   ├── trust-dns-proto v0.22.0 (*)
│   ├── trust-dns-resolver v0.22.0 (*)
│   └── unsigned-varint v0.7.1 (*)
├── http-body v0.4.5
│   ├── axum v0.5.17 (*)
│   ├── axum-core v0.2.9 (*)
│   ├── hyper v0.14.23 (*)
│   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
│   ├── reqwest v0.11.13 (*)
│   ├── tonic v0.8.2 (*)
│   └── tower-http v0.3.4 (*)
├── hyper v0.14.23 (*)
├── hyper-timeout v0.4.1 (*)
├── opentelemetry_api v0.18.0 (*)
├── reqwest v0.11.13 (*)
├── tokio v1.22.0
│   ├── async-compression v0.3.15 (*)
│   ├── axum v0.5.17 (*)
│   ├── deadqueue v0.2.4
│   │   └── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
│   ├── h2 v0.3.15 (*)
│   ├── hyper v0.14.23 (*)
│   ├── hyper-rustls v0.23.1 (*)
│   ├── hyper-timeout v0.4.1 (*)
│   ├── integer-encoding v3.0.4
│   │   └── iroh-car v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-car) (*)
│   ├── iroh v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh) (*)
│   ├── iroh-api v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-api) (*)
│   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
│   ├── iroh-car v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-car) (*)
│   ├── iroh-examples v0.1.1 (/home/fabrice/dev/capyloon/iroh/examples)
│   ├── iroh-gateway v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-gateway) (*)
│   ├── iroh-metrics v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-metrics) (*)
│   ├── iroh-one v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-one)
│   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
│   ├── iroh-resolver v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-resolver) (*)
│   ├── iroh-rpc-client v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-client) (*)
│   ├── iroh-rpc-types v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-types) (*)
│   ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
│   ├── iroh-store v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-store) (*)
│   ├── libp2p-mdns v0.42.0 (*)
│   ├── libp2p-quic v0.7.0-alpha (*)
│   ├── libp2p-swarm v0.41.0 (*)
│   ├── libp2p-tcp v0.38.0 (*)
│   ├── netlink-proto v0.10.0 (*)
│   ├── netlink-sys v0.8.3 (*)
│   ├── opentelemetry-otlp v0.11.0 (*)
│   ├── opentelemetry_sdk v0.18.0 (*)
│   ├── par-stream v0.10.2 (*)
│   ├── reqwest v0.11.13 (*)
│   ├── rtnetlink v0.10.1 (*)
│   ├── tokio-context v0.1.3
│   │   └── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
│   ├── tokio-io-timeout v1.2.0
│   │   └── hyper-timeout v0.4.1 (*)
│   ├── tokio-rustls v0.23.4 (*)
│   ├── tokio-stream v0.1.11
│   │   ├── iroh-bitswap v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-bitswap) (*)
│   │   ├── iroh-p2p v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-p2p) (*)
│   │   ├── iroh-rpc-types v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-rpc-types) (*)
│   │   ├── iroh-share v0.1.1 (/home/fabrice/dev/capyloon/iroh/iroh-share)
│   │   ├── opentelemetry_sdk v0.18.0 (*)
│   │   ├── tonic v0.8.2 (*)
│   │   └── tonic-health v0.7.1 (*)
│   ├── tokio-util v0.7.4 (*)
│   ├── tonic v0.8.2 (*)
│   ├── tonic-health v0.7.1 (*)
│   ├── tower v0.4.13 (*)
│   ├── tower-http v0.3.4 (*)
│   ├── trust-dns-proto v0.22.0 (*)
│   └── trust-dns-resolver v0.22.0 (*)
├── tokio-io-timeout v1.2.0 (*)
├── tokio-stream v0.1.11 (*)
├── tokio-util v0.7.4 (*)
├── tower v0.4.13 (*)
├── tower-http v0.3.4 (*)
└── tracing v0.1.37 (*)

rand v0.7.3 (*)

rand v0.8.5 (*)

rand v0.8.5
└── phf_generator v0.11.1 (*)

rand_chacha v0.2.2 (*)

rand_chacha v0.3.1 (*)

rand_core v0.5.1 (*)

rand_core v0.6.4
└── rand v0.8.5 (*)

rand_core v0.6.4 (*)

sha2 v0.9.9 (*)

sha2 v0.10.6 (*)

spin v0.5.2
└── ring v0.16.20 (*)

spin v0.9.4
└── flume v0.10.14 (*)

ed25519-dalek seems to be using a few obsolete crates. We have a fork in https://github.com/capyloon/ed25519-dalek but it needs some work to not break libp2p builds.

b5 commented 1 year ago

So looking at the above list, seems like we have some easy wins:

Things that'll be more involved:

Looks like a lot of the source of our duplicate deps comes from libp2p