v0.2.5-pre.009
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-wallet-lib/tests/dependency_boundary.rs
|
||||
// version: 9
|
||||
// version: 10
|
||||
|
||||
//! Wallet-specific dependency and ownership canaries.
|
||||
|
||||
@@ -60,6 +60,8 @@ fn wallet_manifest_preserves_dependency_firewall() -> std::io::Result<()> {
|
||||
"tauri",
|
||||
"tracing =",
|
||||
"solana-pubkey",
|
||||
"solana-signer",
|
||||
"solana-signature",
|
||||
"bs58",
|
||||
] {
|
||||
assert!(!manifest.contains(forbidden), "forbidden direct Wallet dependency detected: {forbidden}");
|
||||
@@ -90,3 +92,26 @@ fn wallet_sources_use_core_pubkey_logging_facade_and_no_environment() -> std::io
|
||||
assert!(!all_source.contains(direct_tracing_path.as_str()));
|
||||
return std::result::Result::Ok(());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn wallet_public_surface_does_not_reexport_secret_or_signer_types() -> std::io::Result<()> {
|
||||
let lib_source = match std::fs::read_to_string(crate_root().join("src/lib.rs")) {
|
||||
std::result::Result::Ok(source) => source,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
for forbidden in ["pub use solana_keypair", "pub use solana_signer", "pub use solana_signature"] {
|
||||
assert!(!lib_source.contains(forbidden), "Wallet public surface reexports secret/signing implementation type: {forbidden}");
|
||||
}
|
||||
let view_source = match std::fs::read_to_string(crate_root().join("src/view.rs")) {
|
||||
std::result::Result::Ok(source) => source,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
assert!(!view_source.contains("export_transfer("));
|
||||
assert!(!view_source.contains("sign_message("));
|
||||
let transfer_source = match std::fs::read_to_string(crate_root().join("src/transfer.rs")) {
|
||||
std::result::Result::Ok(source) => source,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
assert!(transfer_source.contains("#[non_exhaustive]"));
|
||||
return std::result::Result::Ok(());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user