**Describe the bug** `cargo build` fails for `crates/bitcoin` Last good commit: 94066c995907506454522e49b02180bc35692b52 First bad commit: 76ae882f128eb2731a64e1f6e3ce9abd35bd9ce4 **To Reproduce** I am on Windows WSL (Ubuntu), but I think this will also fail on regular Ubuntu: ```bash $ cargo --version cargo 1.66.1 $ rustc --version rustc 1.66.1 (90743e729 2023-01-10) (built from a source tarball) $ git log -1 commit 76ae882f128eb2731a64e1f6e3ce9abd35bd9ce4 (HEAD, refs/bisect/bad) Author: nakul1010 <nakul.amate@gmail.com> Date: Tue Sep 5 12:27:29 2023 +0530 fix: benachmarking, test cases, imports $ (cd crates/bitcoin && cargo build) warning: Patch `pallet-nfts v4.0.0-dev (https://github.com/paritytech//substrate?branch=polkadot-v1.0.0#948fbd2f)` was not used in the crate graph. Patch `pallet-nfts-runtime-api v4.0.0-dev (https://github.com/paritytech//substrate?branch=polkadot-v1.0.0#948fbd2f)` was not used in the crate graph. Patch `pallet-root-testing v1.0.0-dev (https://github.com/paritytech//substrate?branch=polkadot-v1.0.0#948fbd2f)` was not used in the crate graph. Patch `pallet-uniques v4.0.0-dev (https://github.com/paritytech//substrate?branch=polkadot-v1.0.0#948fbd2f)` was not used in the crate graph. Patch `substrate-test-utils v4.0.0-dev (https://github.com/paritytech//substrate?branch=polkadot-v1.0.0#948fbd2f)` was not used in the crate graph. Patch `substrate-test-utils-derive v0.10.0-dev (https://github.com/paritytech//substrate?branch=polkadot-v1.0.0#948fbd2f)` was not used in the crate graph. Patch `fc-cli v1.0.0-dev (https://github.com/paritytech//frontier?branch=polkadot-v1.0.0#b520b749)` was not used in the crate graph. Patch `fp-dynamic-fee v1.0.0 (https://github.com/paritytech//frontier?branch=polkadot-v1.0.0#b520b749)` was not used in the crate graph. Patch `pallet-dynamic-fee v4.0.0-dev (https://github.com/paritytech//frontier?branch=polkadot-v1.0.0#b520b749)` was not used in the crate graph. Patch `pallet-evm-test-vector-support v1.0.0-dev (https://github.com/paritytech//frontier?branch=polkadot-v1.0.0#b520b749)` was not used in the crate graph. Patch `pallet-hotfix-sufficients v1.0.0 (https://github.com/paritytech//frontier?branch=polkadot-v1.0.0#b520b749)` was not used in the crate graph. Patch `asset-hub-kusama-runtime v0.9.420 (https://github.com/paritytech//cumulus?branch=polkadot-v1.0.0#0d17cf6b)` was not used in the crate graph. Patch `asset-hub-polkadot-runtime v0.9.420 (https://github.com/paritytech//cumulus?branch=polkadot-v1.0.0#0d17cf6b)` was not used in the crate graph. Check that the patched package version and available features are compatible with the dependency requirements. If the patch has a different version from what is locked in the Cargo.lock file, run `cargo update` to use the new version. This may also occur with an optional dependency that is not enabled. Compiling bitcoin v1.2.0 (/mnt/c/interbtc/crates/bitcoin) error[E0277]: the trait bound `primitive_types::H160: Serialize` is not satisfied --> crates/bitcoin/src/address.rs:18:5 | 18 | Serialize, Deserialize, Encode, Decode, Clone, Ord, PartialOrd, PartialEq, Eq, Debug, Copy, TypeInfo, MaxEncodedLen, | ^^^^^^^^^ the trait `Serialize` is not implemented for `primitive_types::H160` ... 25 | P2PKH(H160), | ---- required by a bound introduced by this call | = help: the following other types implement trait `Serialize`: &'a T &'a mut T () (T0, T1) (T0, T1, T2) (T0, T1, T2, T3) (T0, T1, T2, T3, T4) (T0, T1, T2, T3, T4, T5) and 131 others note: required by a bound in `serialize_newtype_variant` --> /home/bohdan/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.186/src/ser/mod.rs:942:12 | 942 | T: Serialize; | ^^^^^^^^^ required by this bound in `serialize_newtype_variant` error[E0277]: the trait bound `primitive_types::H256: Serialize` is not satisfied --> crates/bitcoin/src/address.rs:18:5 | 18 | Serialize, Deserialize, Encode, Decode, Clone, Ord, PartialOrd, PartialEq, Eq, Debug, Copy, TypeInfo, MaxEncodedLen, | ^^^^^^^^^ the trait `Serialize` is not implemented for `primitive_types::H256` ... 37 | P2WSHv0(H256), | ---- required by a bound introduced by this call | = help: the following other types implement trait `Serialize`: &'a T &'a mut T () (T0, T1) (T0, T1, T2) (T0, T1, T2, T3) (T0, T1, T2, T3, T4) (T0, T1, T2, T3, T4, T5) and 131 others note: required by a bound in `serialize_newtype_variant` --> /home/bohdan/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.186/src/ser/mod.rs:942:12 | 942 | T: Serialize; | ^^^^^^^^^ required by this bound in `serialize_newtype_variant` error[E0277]: the trait bound `primitive_types::H160: Deserialize<'_>` is not satisfied --> crates/bitcoin/src/address.rs:25:11 | 25 | P2PKH(H160), | ^^^^ the trait `Deserialize<'_>` is not implemented for `primitive_types::H160` | = help: the following other types implement trait `Deserialize<'de>`: &'a [u8] &'a std::path::Path &'a str () (T0, T1) (T0, T1, T2) (T0, T1, T2, T3) (T0, T1, T2, T3, T4) and 132 others note: required by a bound in `newtype_variant` --> /home/bohdan/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.186/src/de/mod.rs:2124:12 | 2124 | T: Deserialize<'de>, | ^^^^^^^^^^^^^^^^ required by this bound in `newtype_variant` error[E0277]: the trait bound `primitive_types::H160: Deserialize<'_>` is not satisfied --> crates/bitcoin/src/address.rs:29:10 | 29 | P2SH(H160), | ^^^^ the trait `Deserialize<'_>` is not implemented for `primitive_types::H160` | = help: the following other types implement trait `Deserialize<'de>`: &'a [u8] &'a std::path::Path &'a str () (T0, T1) (T0, T1, T2) (T0, T1, T2, T3) (T0, T1, T2, T3, T4) and 132 others note: required by a bound in `newtype_variant` --> /home/bohdan/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.186/src/de/mod.rs:2124:12 | 2124 | T: Deserialize<'de>, | ^^^^^^^^^^^^^^^^ required by this bound in `newtype_variant` error[E0277]: the trait bound `primitive_types::H160: Deserialize<'_>` is not satisfied --> crates/bitcoin/src/address.rs:33:14 | 33 | P2WPKHv0(H160), | ^^^^ the trait `Deserialize<'_>` is not implemented for `primitive_types::H160` | = help: the following other types implement trait `Deserialize<'de>`: &'a [u8] &'a std::path::Path &'a str () (T0, T1) (T0, T1, T2) (T0, T1, T2, T3) (T0, T1, T2, T3, T4) and 132 others note: required by a bound in `newtype_variant` --> /home/bohdan/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.186/src/de/mod.rs:2124:12 | 2124 | T: Deserialize<'de>, | ^^^^^^^^^^^^^^^^ required by this bound in `newtype_variant` error[E0277]: the trait bound `primitive_types::H256: Deserialize<'_>` is not satisfied --> crates/bitcoin/src/address.rs:37:13 | 37 | P2WSHv0(H256), | ^^^^ the trait `Deserialize<'_>` is not implemented for `primitive_types::H256` | = help: the following other types implement trait `Deserialize<'de>`: &'a [u8] &'a std::path::Path &'a str () (T0, T1) (T0, T1, T2) (T0, T1, T2, T3) (T0, T1, T2, T3, T4) and 132 others note: required by a bound in `newtype_variant` --> /home/bohdan/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.186/src/de/mod.rs:2124:12 | 2124 | T: Deserialize<'de>, | ^^^^^^^^^^^^^^^^ required by this bound in `newtype_variant` For more information about this error, try `rustc --explain E0277`. error: could not compile `bitcoin` due to 6 previous errors ```