diff --git a/src/lib.rs b/src/lib.rs index dc4b46285d..c47c6b0919 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -303,13 +303,14 @@ where } /// Creates raw payload to be signed for the supplied `Call` without private key - pub async fn create_raw_payload( + pub async fn create_raw_payload( &self, account_id: ::AccountId, call: Call, - ) -> Result, Error> - where - C: codec::Encode, + ) -> Result< + SignedPayload>::Extra>, + Error + > { let account_nonce = self.account(account_id).await?.nonce; let version = self.runtime_version.spec_version; @@ -320,7 +321,7 @@ where .and_then(|module| module.call(&call.function, call.args))?; let extra: E = E::new(version, account_nonce, genesis_hash); let raw_payload = SignedPayload::new(call, extra.extra())?; - Ok(raw_payload.encode()) + Ok(raw_payload) } /// Create a transaction builder for a private key. @@ -632,7 +633,7 @@ mod tests { ) .await?; let raw_signature = - signer_pair.sign(raw_payload.encode().split_off(2).as_slice()); + signer_pair.sign(raw_payload.encode().as_slice()); let raw_multisig = MultiSignature::from(raw_signature); // create signature with Xtbuilder