v0.3.10-pre.004
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-raw-transaction-lib/src/canonical.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
use sha2::Digest; // rust-rules: trait-import
|
||||
|
||||
@@ -75,6 +75,26 @@ impl crate::RawTransactionMaterial {
|
||||
version,
|
||||
};
|
||||
}
|
||||
|
||||
/// Creates complete source-neutral RAW v1 material from a Base64 transaction wire that embeds its own canonical signature array.
|
||||
pub fn binary_base64_with_embedded_signature(
|
||||
network: ksp_store_api::RawNetworkId,
|
||||
slot: u64,
|
||||
block_time: std::option::Option<i64>,
|
||||
transaction_data: impl std::convert::Into<std::string::String>,
|
||||
meta: crate::RawTransactionWireField<serde_json::Value>,
|
||||
version: crate::RawTransactionWireField<crate::RawTransactionVersion>,
|
||||
transaction_index: crate::RawTransactionWireField<u32>,
|
||||
) -> ksp_core_lib::Result<Self> {
|
||||
let transaction_data = transaction_data.into();
|
||||
let signature = crate::extract_raw_transaction_signature_from_binary_base64(transaction_data.as_str());
|
||||
return match signature {
|
||||
std::result::Result::Ok(signature) => {
|
||||
std::result::Result::Ok(Self { block_time, meta, network, signature, slot, transaction_data, transaction_index, version })
|
||||
},
|
||||
std::result::Result::Err(error) => std::result::Result::Err(error),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
impl std::fmt::Debug for crate::RawTransactionMaterial {
|
||||
|
||||
Reference in New Issue
Block a user