interbtc icon indicating copy to clipboard operation
interbtc copied to clipboard

Build error at `crates/bitcoin`

Open Warchant opened this issue 2 years ago • 0 comments

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:

$ 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 <[email protected]>
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

Warchant avatar Mar 05 '24 20:03 Warchant