v0.3.10-pre.004

This commit is contained in:
2026-09-06 17:15:51 +02:00
parent 8309d829cc
commit e19a202565
20 changed files with 949 additions and 56 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-raw-transaction-lib/tests/dependency_boundary.rs
// version: 2
// version: 3
//! Dependency-boundary canaries for the common RAW Transaction foundation.
@@ -18,8 +18,9 @@ fn production_sources() -> std::string::String {
}
#[test]
fn pre_002_manifest_uses_api_models_and_exact_common_dependencies() {
fn pre_004_manifest_adds_only_base64_to_the_exact_common_dependency_surface() {
let manifest = manifest();
assert!(manifest.contains("base64.workspace = true"));
assert!(manifest.contains("ksp-core-lib = { path = \"../ksp-core-lib\" }"));
assert!(manifest.contains("ksp-store-api = { path = \"../ksp-store-api\" }"));
assert!(manifest.contains("serde_json = { workspace = true }"));

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-raw-transaction-lib/tests/public_api.rs
// version: 2
// version: 3
//! Integration canaries for the public common RAW Transaction crate-root surface.
@@ -77,3 +77,25 @@ fn pre_002_acquisition_assembly_accepts_store_api_producer_owned_metadata() {
assert_eq!(acquisition.transaction().reference(), acquisition.observation().transaction());
return;
}
#[test]
fn pre_004_embedded_signature_and_block_material_contract_are_available_from_crate_root() {
let encoded = "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
let signature = ksp_raw_transaction_lib::extract_raw_transaction_signature_from_binary_base64(encoded);
assert!(signature.is_ok());
let network = ksp_store_api::RawNetworkId::new("devnet");
assert!(network.is_ok());
if let std::result::Result::Ok(network) = network {
let material = ksp_raw_transaction_lib::RawTransactionMaterial::binary_base64_with_embedded_signature(
network,
1,
std::option::Option::None,
encoded,
ksp_raw_transaction_lib::RawTransactionWireField::Omitted,
ksp_raw_transaction_lib::RawTransactionWireField::Omitted,
ksp_raw_transaction_lib::RawTransactionWireField::Value(0),
);
assert!(material.is_ok());
}
return;
}