Move the bounds from where to trait definition.
@@ -59,7 +59,7 @@ impl<Public, Signature, AppPublic> Signer<Public, Signature> for AppPublic where
/// Creates runtime-specific signed transaction.
pub trait CreateTransaction<T: crate::Trait, Extrinsic: ExtrinsicT> {
/// A `Public` key representing a particular `AccountId`.
- type Public;
+ type Public: IdentifyAccount<AccountId=T::AccountId> + Clone;
/// A `Signature` generated by the `Signer`.
type Signature;
@@ -85,10 +85,7 @@ type PublicOf<T, Call, X> = <
>::Public;
/// A trait to sign and submit transactions in offchain calls.
-pub trait SubmitSignedTransaction<T: crate::Trait, Call>
-where
- PublicOf<T, Call, Self>: IdentifyAccount<AccountId=T::AccountId> + Clone,
-{
+pub trait SubmitSignedTransaction<T: crate::Trait, Call> {
/// Unchecked extrinsic type.
type Extrinsic: ExtrinsicT<Call=Call> + codec::Encode;
@@ -152,7 +149,6 @@ impl<T, E, S, C, Call> SubmitSignedTransaction<T, Call> for TransactionSubmitter
C: CreateTransaction<T, E>,
S: Signer<<C as CreateTransaction<T, E>>::Public, <C as CreateTransaction<T, E>>::Signature>,
E: ExtrinsicT<Call=Call> + codec::Encode,
- <C as CreateTransaction<T, E>>::Public: IdentifyAccount<AccountId=T::AccountId> + Clone,
{
type Extrinsic = E;
type CreateTransaction = C;
