43 lines
1.8 KiB
Rust
43 lines
1.8 KiB
Rust
// file: ks-pipeline/tests/external_metadata_token_2022_pipeline_api.rs
|
|
// version: 2
|
|
|
|
//! External-only coverage for the public Token-2022 Token Metadata pipeline contract.
|
|
|
|
#[test]
|
|
fn external_consumers_use_only_public_token_2022_metadata_pipeline_exports() {
|
|
let account = ks_lib::MdPubkey(solana_pubkey::Pubkey::new_from_array([9_u8; 32]).to_string());
|
|
let request = ks_pipeline::Token2022StatefulReadRequest {
|
|
query_role: "rpc".to_string(),
|
|
account: account.clone(),
|
|
kind: ks_lib::DcToken2022StateKind::Mint,
|
|
min_context_slot: std::option::Option::Some(42),
|
|
max_data_bytes: ks_pipeline::MAX_TOKEN_2022_STATEFUL_ACCOUNT_BYTES,
|
|
context: ks_pipeline::Token2022StatefulContext::default(),
|
|
};
|
|
assert_eq!(request.account, account);
|
|
assert_eq!(request.kind, ks_lib::DcToken2022StateKind::Mint);
|
|
assert!(
|
|
ks_pipeline::validate_token_2022_metadata_emit_range(
|
|
std::option::Option::Some(0),
|
|
std::option::Option::Some(32),
|
|
)
|
|
.is_ok()
|
|
);
|
|
let _emit_inspector: fn(
|
|
&ks_lib::ExApiExecutionSimulationResult,
|
|
std::option::Option<u64>,
|
|
std::option::Option<u64>,
|
|
) -> ks_core::Result<ks_pipeline::Token2022MetadataEmitEvidence> =
|
|
ks_pipeline::inspect_token_2022_metadata_emit_simulation;
|
|
let _authority_inspector: fn(
|
|
&ks_lib::MdPubkey,
|
|
std::option::Option<&ks_lib::MdPubkey>,
|
|
&ks_pipeline::Token2022StatefulSnapshotBundle,
|
|
) -> ks_pipeline::Token2022ExecutionPostcondition =
|
|
ks_pipeline::inspect_token_2022_metadata_authority_postcondition;
|
|
const {
|
|
assert!(ks_pipeline::MAX_TOKEN_2022_METADATA_EMIT_BYTES > 0);
|
|
assert!(ks_pipeline::MAX_TOKEN_2022_STATEFUL_ACCOUNT_BYTES > 0);
|
|
}
|
|
}
|