In this pull request #19 I am trying to merge the following features into a working parachain based on the substrate-parachain-template in this pull request #17 here:

  • Added AccountIndex to the address here so it became the following. Previously it was MultiAddress<AccountId, ()>;)
pub type Address = MultiAddress<AccountId, AccountIndex>;
  • Added CreateSignedTransaction here. Its purpose is described in this answer
  • Added SigningTypes here
  • Used SendTransactionTypes here

But it generates the errors shown here.

However, there weren't any errors when I previously made the same changes in the standalone chain based on the substrate-node-template (a separate repository) in this pull request #215.

What steps could be taken to try to fix the errors?

How would you satisfying all the unsatisfied trait bounds so the functions execute_block, initialize_block, apply_extrinsic, finalize_block, validate_transaction, offchain_worker may be called?

How would you make struct UncheckedExtrinsic satisfy trait Checkable<ChainContext<Runtime>>?

How would you implement trait Checkable<ChainContext<Runtime>> for trait bound UncheckedExtrinsic<MultiAddress<sp_runtime::AccountId32, u32>... in register_validate_block, which is required by bound validate_block?

Where is the implementation for UncheckedExtrinsic<Address, Call, Signature, Extra> as Checkable<Lookup>> that it says it found?

Update 15th March: I don't think the changes in pull request #19 are necessary, because Kilt's Spiritnet parachain codebase here that has already live also uses dependencies from Substrate branch 'polkadot-v0.9.17', but even though they are using pallets like pallet_indices, they haven't added AccountIndex to MultiAddress, and they aren't using CreateSignedTransaction, SigningTypes, or SendTransactionTypes. Similarly with the live Zeitgeist parachain codebase here isn't using it either.

1 Answer 1


In your frame_system::Config this line :

    type Lookup = AccountIdLookup<AccountId, ()>;

needs to say

    type Lookup = AccountIdLookup<AccountId, AccountIndex>;

This should probably fix your issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.