From 216b5614dd9f17cb4bfde97fe45b656bb64ba655 Mon Sep 17 00:00:00 2001 From: bwty <18553484+whalelephant@users.noreply.github.com> Date: Mon, 20 Apr 2020 13:25:37 +0700 Subject: [PATCH] Raw payload return SignedPayload struct (#92) * create SignedPayload struct * align with generic extra updates Co-authored-by: bwty --- src/lib.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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