I was trying adding Frontier as a dependency to my parachain project...
After fixing a few errors and adding UncheckedExtrinsic & CheckedExtrinsic:
pub type UncheckedExtrinsic =
fp_self_contained::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;
pub type CheckedExtrinsic = fp_self_contained::CheckedExtrinsic<AccountId, Call, SignedExtra, H160>;
I got this error during compilation:
➜ substrate-parachain-template-evm git:(polkadot-v0.9.25) ✗ cargo build -r
Compiling parachain-template-runtime v0.1.0 (/mnt/sda3/polkadot/substrate-parachain-template-evm/runtime)
Compiling fp-self-contained v1.0.0-dev (https://github.com/PAIDNetwork/frontier?branch=patch3-polkadot-v0.9.25#2e4daa4e)
Compiling pallet-transaction-payment v4.0.0-dev (https://github.com/paritytech/substrate?branch=polkadot-v0.9.25#3348e144)
Compiling frame-election-provider-support v4.0.0-dev (https://github.com/paritytech/substrate?branch=polkadot-v0.9.25#3348e144)
error[E0277]: the trait bound `unchecked_extrinsic::UncheckedExtrinsic<Address, Call, Signature, Extra>: parity_util_mem::malloc_size::MallocSizeOf` is not satisfied
--> /home/user2038/.cargo/git/checkouts/frontier-b733f450c86c5786/2e4daa4/primitives/self-contained/src/unchecked_extrinsic.rs:71:75
|
71 | impl<Address, Call: SelfContainedCall, Signature, Extra: SignedExtension> Extrinsic
| ^^^^^^^^^ the trait `parity_util_mem::malloc_size::MallocSizeOf` is not implemented for `unchecked_extrinsic::UncheckedExtrinsic<Address, Call, Signature, Extra>`
|
= help: the following other types implement trait `parity_util_mem::malloc_size::MallocSizeOf`:
&'a T
()
(TupleElement0, TupleElement1)
(TupleElement0, TupleElement1, TupleElement2)
(TupleElement0, TupleElement1, TupleElement2, TupleElement3)
(TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)
(TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
(TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)
and 113 others
note: required by a bound in `Extrinsic`
--> /home/user2038/.cargo/git/checkouts/substrate-7e08433d4c370a21/3348e14/primitives/runtime/src/traits.rs:1129:30
|
1129 | pub trait Extrinsic: Sized + MaybeMallocSizeOf {
| ^^^^^^^^^^^^^^^^^ required by this bound in `Extrinsic`
error[E0277]: the trait bound `unchecked_extrinsic::UncheckedExtrinsic<Address, Call, Signature, Extra>: parity_util_mem::malloc_size::MallocSizeOf` is not satisfied
--> /home/user2038/.cargo/git/checkouts/frontier-b733f450c86c5786/2e4daa4/primitives/self-contained/src/unchecked_extrinsic.rs:142:58
|
142 | impl<Address, Call: SelfContainedCall, Signature, Extra> ExtrinsicCall
| ^^^^^^^^^^^^^ the trait `parity_util_mem::malloc_size::MallocSizeOf` is not implemented for `unchecked_extrinsic::UncheckedExtrinsic<Address, Call, Signature, Extra>`
|
= help: the following other types implement trait `parity_util_mem::malloc_size::MallocSizeOf`:
&'a T
()
(TupleElement0, TupleElement1)
(TupleElement0, TupleElement1, TupleElement2)
(TupleElement0, TupleElement1, TupleElement2, TupleElement3)
(TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)
(TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
(TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)
and 113 others
note: required by a bound in `ExtrinsicCall`
--> /home/user2038/.cargo/git/checkouts/substrate-7e08433d4c370a21/3348e14/frame/support/src/traits/misc.rs:673:26
|
673 | pub trait ExtrinsicCall: sp_runtime::traits::Extrinsic {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ExtrinsicCall`
I have don't know what is missing in my code.
This parity_util_mem::malloc_size::MallocSizeOf
has never appeared in my code...
any idea?