From e2965fd6bfac27f521600f8c7875db9a17346a3c Mon Sep 17 00:00:00 2001 From: FroVolod Date: Sat, 14 Dec 2024 18:58:05 +0200 Subject: [PATCH 1/3] start --- src/commands/transaction/send_signed_transaction/mod.rs | 2 +- src/transaction_signature_options/save_to_file/mod.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/commands/transaction/send_signed_transaction/mod.rs b/src/commands/transaction/send_signed_transaction/mod.rs index f8cfdc88f..79ed15259 100644 --- a/src/commands/transaction/send_signed_transaction/mod.rs +++ b/src/commands/transaction/send_signed_transaction/mod.rs @@ -82,7 +82,7 @@ pub struct FileWithBase64SignedTransactionContext(SignedTransactionContext); #[derive(Debug, serde::Deserialize)] struct FileSignedTransaction { - #[serde(alias = "Signed transaction (serialized as base64)")] + #[serde(alias = "signedTransactionAsBase64")] signed_transaction: near_primitives::transaction::SignedTransaction, } diff --git a/src/transaction_signature_options/save_to_file/mod.rs b/src/transaction_signature_options/save_to_file/mod.rs index 6e7b15b79..90f8aafc3 100644 --- a/src/transaction_signature_options/save_to_file/mod.rs +++ b/src/transaction_signature_options/save_to_file/mod.rs @@ -39,7 +39,7 @@ impl SaveToFileContext { .to_string(); let data_signed_transaction = serde_json::json!( - {"Signed transaction (serialized as base64)": signed_transaction_as_base64}); + {"signedTransactionAsBase64": signed_transaction_as_base64}); std::fs::File::create(&file_path) .wrap_err_with(|| format!("Failed to create file: {:?}", &file_path))? From c3e50e1f3ccaad8ec9608a42271e73331a2f4e49 Mon Sep 17 00:00:00 2001 From: FroVolod Date: Sat, 14 Dec 2024 22:20:17 +0200 Subject: [PATCH 2/3] refactored --- src/commands/transaction/mod.rs | 2 +- .../transaction/send_signed_transaction/mod.rs | 8 ++++---- .../save_to_file/mod.rs | 12 ++++-------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/commands/transaction/mod.rs b/src/commands/transaction/mod.rs index be2582ed2..0407e6767 100644 --- a/src/commands/transaction/mod.rs +++ b/src/commands/transaction/mod.rs @@ -5,7 +5,7 @@ pub mod construct_transaction; mod print_transaction; mod reconstruct_transaction; mod send_meta_transaction; -mod send_signed_transaction; +pub mod send_signed_transaction; pub mod sign_transaction; mod view_status; diff --git a/src/commands/transaction/send_signed_transaction/mod.rs b/src/commands/transaction/send_signed_transaction/mod.rs index 79ed15259..6bf62acc1 100644 --- a/src/commands/transaction/send_signed_transaction/mod.rs +++ b/src/commands/transaction/send_signed_transaction/mod.rs @@ -80,10 +80,10 @@ pub struct FileWithBase64SignedTransaction { #[derive(Debug, Clone)] pub struct FileWithBase64SignedTransactionContext(SignedTransactionContext); -#[derive(Debug, serde::Deserialize)] -struct FileSignedTransaction { - #[serde(alias = "signedTransactionAsBase64")] - signed_transaction: near_primitives::transaction::SignedTransaction, +#[derive(Debug, serde::Deserialize, serde::Serialize)] +pub struct FileSignedTransaction { + #[serde(rename = "signed_transaction_as_base64")] + pub signed_transaction: near_primitives::transaction::SignedTransaction, } impl FileWithBase64SignedTransactionContext { diff --git a/src/transaction_signature_options/save_to_file/mod.rs b/src/transaction_signature_options/save_to_file/mod.rs index 90f8aafc3..f637e3ef3 100644 --- a/src/transaction_signature_options/save_to_file/mod.rs +++ b/src/transaction_signature_options/save_to_file/mod.rs @@ -3,6 +3,8 @@ use std::io::Write; use color_eyre::eyre::Context; use inquire::CustomType; +use super::super::commands::transaction::send_signed_transaction::FileSignedTransaction; + #[derive(Debug, Clone, interactive_clap_derive::InteractiveClap)] #[interactive_clap(input_context = super::SubmitContext)] #[interactive_clap(output_context = SaveToFileContext)] @@ -32,14 +34,8 @@ impl SaveToFileContext { super::SignedTransactionOrSignedDelegateAction::SignedTransaction( signed_transaction, ) => { - let signed_transaction_as_base64 = - crate::types::signed_transaction::SignedTransactionAsBase64::from( - signed_transaction, - ) - .to_string(); - - let data_signed_transaction = serde_json::json!( - {"signedTransactionAsBase64": signed_transaction_as_base64}); + let data_signed_transaction = + serde_json::to_value(FileSignedTransaction { signed_transaction })?; std::fs::File::create(&file_path) .wrap_err_with(|| format!("Failed to create file: {:?}", &file_path))? From 041e932b5d531681804a02f0a1bff3ed371b6dd8 Mon Sep 17 00:00:00 2001 From: FroVolod Date: Sun, 15 Dec 2024 11:49:08 +0200 Subject: [PATCH 3/3] fixed field name for signed_delegate_action --- src/transaction_signature_options/save_to_file/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/transaction_signature_options/save_to_file/mod.rs b/src/transaction_signature_options/save_to_file/mod.rs index f637e3ef3..fc24b3fa4 100644 --- a/src/transaction_signature_options/save_to_file/mod.rs +++ b/src/transaction_signature_options/save_to_file/mod.rs @@ -59,7 +59,7 @@ impl SaveToFileContext { .to_string(); let data_signed_delegate_action = serde_json::json!( - {"Signed delegate action (serialized as base64)": signed_delegate_action_as_base64}); + {"signed_delegate_action_as_base64": signed_delegate_action_as_base64}); std::fs::File::create(&file_path) .wrap_err_with(|| format!("Failed to create file: {:?}", &file_path))?