From 726cb934cda8d5550e4b2981a794f47fc9521a70 Mon Sep 17 00:00:00 2001 From: Marco Granelli Date: Thu, 16 Oct 2025 10:45:05 +0200 Subject: [PATCH 1/2] Enables borsh serialization for `SigningData` --- crates/sdk/src/signing.rs | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/crates/sdk/src/signing.rs b/crates/sdk/src/signing.rs index f8ca8722fb4..ed69d29d37f 100644 --- a/crates/sdk/src/signing.rs +++ b/crates/sdk/src/signing.rs @@ -5,7 +5,7 @@ use std::collections::BTreeMap; use std::fmt::Display; -use borsh::BorshDeserialize; +use borsh::{BorshDeserialize, BorshSerialize}; use data_encoding::HEXLOWER; use itertools::Itertools; use masp_primitives::asset_type::AssetType; @@ -67,7 +67,15 @@ use crate::wallet::{Wallet, WalletIo}; use crate::{Namada, args, rpc}; /// A structure holding the signing data to craft a transaction -#[derive(Clone, Debug, PartialEq)] +#[derive( + Clone, + Debug, + PartialEq, + Serialize, + Deserialize, + BorshSerialize, + BorshDeserialize, +)] pub struct SigningTxData { /// The address owning the transaction pub owner: Option
, @@ -84,7 +92,9 @@ pub struct SigningTxData { } /// The fee's authorization -#[derive(Clone, Debug)] +#[derive( + Clone, Debug, Serialize, Deserialize, BorshSerialize, BorshDeserialize, +)] pub enum FeeAuthorization { /// A wrapper signer Signer { @@ -98,7 +108,9 @@ pub enum FeeAuthorization { } /// A structure holding the signing data for a wrapper transaction -#[derive(Clone, Debug)] +#[derive( + Clone, Debug, Serialize, Deserialize, BorshSerialize, BorshDeserialize, +)] pub struct SigningWrapperData { /// The signing data for each one of the inner transactions of this batch pub signing_data: Vec, @@ -131,7 +143,9 @@ impl SigningWrapperData { } #[allow(missing_docs)] -#[derive(Clone, Debug)] +#[derive( + Clone, Debug, Serialize, Deserialize, BorshSerialize, BorshDeserialize, +)] pub enum SigningData { Inner(SigningTxData), Wrapper(SigningWrapperData), From 3097f89bb4a6eb8f10d34c1eaeb930f6c4c195c4 Mon Sep 17 00:00:00 2001 From: Marco Granelli Date: Thu, 16 Oct 2025 10:48:16 +0200 Subject: [PATCH 2/2] Changelog #4937 --- .changelog/unreleased/SDK/4937-borsh-sigdata.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .changelog/unreleased/SDK/4937-borsh-sigdata.md diff --git a/.changelog/unreleased/SDK/4937-borsh-sigdata.md b/.changelog/unreleased/SDK/4937-borsh-sigdata.md new file mode 100644 index 00000000000..cd32d39d6e8 --- /dev/null +++ b/.changelog/unreleased/SDK/4937-borsh-sigdata.md @@ -0,0 +1,2 @@ +- Enabled borsh serialization for `SigningData`. + ([\#4937](https://github.com/namada-net/namada/pull/4937)) \ No newline at end of file