[INFO] cloning repository https://github.com/vberezhnev/blockchain-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vberezhnev/blockchain-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvberezhnev%2Fblockchain-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvberezhnev%2Fblockchain-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fe7b600a9950f24388c80671f1716d696a0c50dd
[INFO] checking vberezhnev/blockchain-rust against try#1bd50d4315eb15970d395b6be5823f9384707693 for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvberezhnev%2Fblockchain-rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/vberezhnev/blockchain-rust on toolchain 1bd50d4315eb15970d395b6be5823f9384707693
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/vberezhnev/blockchain-rust
[INFO] finished tweaking git repo https://github.com/vberezhnev/blockchain-rust
[INFO] tweaked toml for git repo https://github.com/vberezhnev/blockchain-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/vberezhnev/blockchain-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking vberezhnev/blockchain-rust against try#1bd50d4315eb15970d395b6be5823f9384707693 for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvberezhnev%2Fblockchain-rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/vberezhnev/blockchain-rust on toolchain 1bd50d4315eb15970d395b6be5823f9384707693
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/vberezhnev/blockchain-rust
[INFO] finished tweaking git repo https://github.com/vberezhnev/blockchain-rust
[INFO] tweaked toml for git repo https://github.com/vberezhnev/blockchain-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/vberezhnev/blockchain-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libp2p-floodsub v0.44.0
[INFO] [stderr]   Downloaded libp2p-mplex v0.41.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 721514fba8c450e6c902d377b471ed0f31ab1f95971efb9a21f56417e437e535
[INFO] running `Command { std: "docker" "start" "-a" "721514fba8c450e6c902d377b471ed0f31ab1f95971efb9a21f56417e437e535", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "721514fba8c450e6c902d377b471ed0f31ab1f95971efb9a21f56417e437e535", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "721514fba8c450e6c902d377b471ed0f31ab1f95971efb9a21f56417e437e535", kill_on_drop: false }`
[INFO] [stdout] 721514fba8c450e6c902d377b471ed0f31ab1f95971efb9a21f56417e437e535
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ba4e92bfbb3799a1f16f279a91f9158535327a72e4ac8d295469f3528ca1f179
[INFO] running `Command { std: "docker" "start" "-a" "ba4e92bfbb3799a1f16f279a91f9158535327a72e4ac8d295469f3528ca1f179", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.82
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling thiserror v1.0.60
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling platforms v3.4.0
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling serde v1.0.201
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking quick-protobuf v0.8.1
[INFO] [stderr]     Checking base-x v0.2.11
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling anyhow v1.0.83
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]     Checking unsigned-varint v0.8.0
[INFO] [stderr]     Checking zerocopy v0.7.34
[INFO] [stderr]    Compiling curve25519-dalek v4.1.2
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling cc v1.0.97
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking ipnet v2.9.0
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]    Compiling snow v0.9.6
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]    Compiling syn v2.0.61
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking lru v0.12.3
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.13
[INFO] [stderr]     Checking parking_lot v0.12.2
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking data-encoding-macro v0.1.15
[INFO] [stderr]     Checking multibase v0.9.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking cuckoofilter v0.5.0
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking pretty_env_logger v0.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.60
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling serde_derive v1.0.201
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]    Compiling enum-as-inner v0.6.0
[INFO] [stderr]    Compiling libp2p-swarm-derive v0.34.2
[INFO] [stderr]     Checking zeroize v1.7.0
[INFO] [stderr]     Checking der v0.7.9
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking netlink-packet-utils v0.5.2
[INFO] [stderr]     Checking netlink-packet-core v0.4.2
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking netlink-packet-route v0.12.0
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking ed25519-dalek v2.1.1
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking rsa v0.9.6
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking asynchronous-codec v0.6.2
[INFO] [stderr]     Checking hickory-proto v0.24.1
[INFO] [stderr]     Checking asynchronous-codec v0.7.0
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking rw-stream-sink v0.4.0
[INFO] [stderr]     Checking unsigned-varint v0.7.2
[INFO] [stderr]     Checking multihash v0.19.1
[INFO] [stderr]     Checking multistream-select v0.13.0
[INFO] [stderr]     Checking quick-protobuf-codec v0.2.0
[INFO] [stderr]     Checking libp2p-identity v0.2.8
[INFO] [stderr]     Checking netlink-sys v0.8.6
[INFO] [stderr]     Checking netlink-proto v0.10.0
[INFO] [stderr]     Checking rtnetlink v0.10.1
[INFO] [stderr]     Checking if-watch v3.2.0
[INFO] [stderr]     Checking multiaddr v0.18.1
[INFO] [stderr]     Checking libp2p-core v0.41.2
[INFO] [stderr]     Checking libp2p-swarm v0.44.2
[INFO] [stderr]     Checking libp2p-tcp v0.41.0
[INFO] [stderr]     Checking libp2p-mplex v0.41.0
[INFO] [stderr]     Checking libp2p-noise v0.44.0
[INFO] [stderr]     Checking libp2p-floodsub v0.44.0
[INFO] [stderr]     Checking libp2p-connection-limits v0.3.1
[INFO] [stderr]     Checking libp2p-allow-block-list v0.3.0
[INFO] [stderr]     Checking libp2p-mdns v0.45.1
[INFO] [stderr]     Checking libp2p v0.53.2
[INFO] [stderr]     Checking blockchain-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0405]: cannot find trait `NetworkBehaviourEventProcess` in this scope
[INFO] [stdout]   --> src/p2p.rs:97:6
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl NetworkBehaviourEventProcess<FloodsubEvent> for AppBehaviour {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `NetworkBehaviourEventProcess` in this scope
[INFO] [stdout]    --> src/p2p.rs:126:6
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl NetworkBehaviourEventProcess<Event> for AppBehaviour {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libp2p::Transport`
[INFO] [stdout]  --> src/model/blockchain.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use libp2p::Transport;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/model/blockchain.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventType::Input`
[INFO] [stdout]  --> src/main.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::p2p::{AppBehaviour, EventType::Input, EventType::LocalChainResponse, KEYS, PEER_ID};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/main.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | use log::{error, info, warn};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0072]: recursive type `p2p::Event` has infinite size
[INFO] [stdout]   --> src/p2p.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum Event {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     Mdns(Event),
[INFO] [stdout]    |          ----- recursive without indirection
[INFO] [stdout]    |
[INFO] [stdout] help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle
[INFO] [stdout]    |
[INFO] [stdout] 44 |     Mdns(Box<Event>),
[INFO] [stdout]    |          ++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `From<p2p::Event>` for type `p2p::Event`
[INFO] [stdout]   --> src/p2p.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl From<Event> for Event {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: conflicting implementation in crate `core`:
[INFO] [stdout]            - impl<T> From<T> for T;
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `NetworkBehaviourEventProcess` in this scope
[INFO] [stdout]   --> src/p2p.rs:97:6
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl NetworkBehaviourEventProcess<FloodsubEvent> for AppBehaviour {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `NetworkBehaviourEventProcess` in this scope
[INFO] [stdout]    --> src/p2p.rs:126:6
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl NetworkBehaviourEventProcess<Event> for AppBehaviour {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:65:15
[INFO] [stdout]     |
[INFO] [stdout] 65  |     pub mdns: MdnsBehaviour<TokioType>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout] note: required by a bound in `libp2p::libp2p_mdns::Behaviour`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-mdns-0.45.1/src/behaviour.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct Behaviour<P>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 142 | where
[INFO] [stdout] 143 |     P: Provider,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `Behaviour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libp2p::Transport`
[INFO] [stdout]  --> src/model/blockchain.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use libp2p::Transport;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/model/blockchain.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]              AppBehaviour
[INFO] [stdout]              Floodsub
[INFO] [stdout]              Toggle<TBehaviour>
[INFO] [stdout]              libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]              libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]              libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]              libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]              libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventType::Input`
[INFO] [stdout]  --> src/main.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::p2p::{AppBehaviour, EventType::Input, EventType::LocalChainResponse, KEYS, PEER_ID};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/main.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | use log::{error, info, warn};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]              AppBehaviour
[INFO] [stdout]              Floodsub
[INFO] [stdout]              Toggle<TBehaviour>
[INFO] [stdout]              libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]              libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]              libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]              libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]              libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]              AppBehaviour
[INFO] [stdout]              Floodsub
[INFO] [stdout]              Toggle<TBehaviour>
[INFO] [stdout]              libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]              libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]              libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]              libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]              libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]    = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]              `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout] note: required by a bound in `libp2p::libp2p_mdns::Behaviour`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-mdns-0.45.1/src/behaviour.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct Behaviour<P>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 142 | where
[INFO] [stdout] 143 |     P: Provider,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `Behaviour`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]     = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]               `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]     = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]               `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]     = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]               `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]     = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]               `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0072, E0119, E0277, E0405.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0072`.
[INFO] [stdout] 
[INFO] [stdout] error[E0072]: recursive type `p2p::Event` has infinite size
[INFO] [stdout]   --> src/p2p.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum Event {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     Mdns(Event),
[INFO] [stdout]    |          ----- recursive without indirection
[INFO] [stdout]    |
[INFO] [stdout] help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle
[INFO] [stdout]    |
[INFO] [stdout] 44 |     Mdns(Box<Event>),
[INFO] [stdout]    |          ++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `From<p2p::Event>` for type `p2p::Event`
[INFO] [stdout]   --> src/p2p.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl From<Event> for Event {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: conflicting implementation in crate `core`:
[INFO] [stdout]            - impl<T> From<T> for T;
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blockchain-rust` (bin "blockchain-rust" test) due to 31 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:65:15
[INFO] [stdout]     |
[INFO] [stdout] 65  |     pub mdns: MdnsBehaviour<TokioType>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout] note: required by a bound in `libp2p::libp2p_mdns::Behaviour`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-mdns-0.45.1/src/behaviour.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct Behaviour<P>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 142 | where
[INFO] [stdout] 143 |     P: Provider,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `Behaviour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]              AppBehaviour
[INFO] [stdout]              Floodsub
[INFO] [stdout]              Toggle<TBehaviour>
[INFO] [stdout]              libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]              libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]              libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]              libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]              libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]              AppBehaviour
[INFO] [stdout]              Floodsub
[INFO] [stdout]              Toggle<TBehaviour>
[INFO] [stdout]              libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]              libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]              libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]              libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]              libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]              AppBehaviour
[INFO] [stdout]              Floodsub
[INFO] [stdout]              Toggle<TBehaviour>
[INFO] [stdout]              libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]              libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]              libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]              libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]              libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]    = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]   --> src/p2p.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(NetworkBehaviour)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]              `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout]    = help: see issue #48214
[INFO] [stdout]    = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(trivial_bounds)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout] note: required by a bound in `libp2p::libp2p_mdns::Behaviour`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-mdns-0.45.1/src/behaviour.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct Behaviour<P>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 142 | where
[INFO] [stdout] 143 |     P: Provider,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `Behaviour`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]     = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:145:31
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_list_peers(swarm: &Swarm<AppBehaviour>) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]               `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]     = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn handle_print_peers(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]               `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]     = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn handle_print_chain(swarm: &Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]               `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<ChainResponse>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<ChainResponse>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::sync::mpsc::UnboundedSender<bool>: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `tokio::sync::mpsc::UnboundedSender<bool>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App: NetworkBehaviour` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `NetworkBehaviour` is not implemented for `App`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `NetworkBehaviour`:
[INFO] [stdout]               AppBehaviour
[INFO] [stdout]               Floodsub
[INFO] [stdout]               Toggle<TBehaviour>
[INFO] [stdout]               libp2p::libp2p_allow_block_list::Behaviour<S>
[INFO] [stdout]               libp2p::libp2p_connection_limits::Behaviour
[INFO] [stdout]               libp2p::libp2p_mdns::Behaviour<P>
[INFO] [stdout]               libp2p::libp2p_swarm::derive_prelude::Either<L, R>
[INFO] [stdout]               libp2p::libp2p_swarm::dummy::Behaviour
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `libp2p::libp2p_mdns::Behaviour<Tokio>: mdns::behaviour::Provider` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `mdns::behaviour::Provider` is not implemented for `libp2p::libp2p_mdns::Behaviour<Tokio>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `mdns::behaviour::Provider` is implemented for `Tokio`
[INFO] [stdout]     = note: required for `libp2p::libp2p_mdns::Behaviour<libp2p::libp2p_mdns::Behaviour<Tokio>>` to implement `NetworkBehaviour`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `p2p::Event: From<libp2p::libp2p_mdns::Event>` is not satisfied
[INFO] [stdout]    --> src/p2p.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn handle_create_block(cmd: &str, swarm: &mut Swarm<AppBehaviour>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ the trait `From<libp2p::libp2p_mdns::Event>` is not implemented for `p2p::Event`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `p2p::Event` implements `From<FloodsubEvent>`
[INFO] [stdout]               `p2p::Event` implements `From<p2p::Event>`
[INFO] [stdout] note: required for `AppBehaviour` to implement `NetworkBehaviour`
[INFO] [stdout]    --> src/p2p.rs:61:10
[INFO] [stdout]     |
[INFO] [stdout] 61  | #[derive(NetworkBehaviour)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] 62  | #[behaviour(out_event = "Event")]
[INFO] [stdout] 63  | pub struct AppBehaviour {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Swarm`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-swarm-0.44.2/src/lib.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Swarm<TBehaviour>
[INFO] [stdout]     |            ----- required by a bound in this struct
[INFO] [stdout] 321 | where
[INFO] [stdout] 322 |     TBehaviour: NetworkBehaviour,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ required by this bound in `Swarm`
[INFO] [stdout]     = note: this error originates in the derive macro `NetworkBehaviour` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0072, E0119, E0277, E0405.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0072`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blockchain-rust` (bin "blockchain-rust") due to 31 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ba4e92bfbb3799a1f16f279a91f9158535327a72e4ac8d295469f3528ca1f179", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba4e92bfbb3799a1f16f279a91f9158535327a72e4ac8d295469f3528ca1f179", kill_on_drop: false }`
[INFO] [stdout] ba4e92bfbb3799a1f16f279a91f9158535327a72e4ac8d295469f3528ca1f179
