v0.5.2-pre.006-fix-010

This commit is contained in:
2026-08-11 12:03:35 +02:00
parent 1ee1d0297d
commit 56572cec40
67 changed files with 2484 additions and 539 deletions

View File

@@ -1,5 +1,5 @@
// file: ks-pipeline-demo-scenarios/src/metadata/metaplex_token_metadata/collection_verify_campaign.rs
// version: 6
// version: 7
//! Confirmed Devnet collection parent/member `Verify -> Unverify` campaign.
@@ -50,6 +50,34 @@ pub async fn execute_devnet_metaplex_collection_verify_campaign<S, O>(
options: &crate::MetaplexCreateFixturePreparationOptions,
observer: &O,
) -> ks_core::Result<crate::DevnetMetaplexCollectionVerifyCampaignSummary>
where
S: ks_store::RawTransactionStore
+ ks_store::CoreExtractionStore
+ ks_store::DecodePipelineStore
+ Sync,
O: crate::SolanaExecutionObserver,
{
let temporary = match crate::load_profile_temporary_wallet(profile, workspace_root).await {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
let wallet = crate::DevnetExecutionWallet::Temporary(temporary);
return execute_devnet_metaplex_collection_verify_campaign_with_wallet(
http_pool, store, profile, &wallet, options, observer,
)
.await;
}
/// Executes one collection verification campaign with an explicit operator wallet.
#[allow(clippy::too_many_arguments)]
pub async fn execute_devnet_metaplex_collection_verify_campaign_with_wallet<S, O>(
http_pool: &ks_onchain_transport::HttpEndpointPool,
store: &S,
profile: &ks_config::ProfileConfig,
wallet: &crate::DevnetExecutionWallet,
options: &crate::MetaplexCreateFixturePreparationOptions,
observer: &O,
) -> ks_core::Result<crate::DevnetMetaplexCollectionVerifyCampaignSummary>
where
S: ks_store::RawTransactionStore
+ ks_store::CoreExtractionStore
@@ -65,11 +93,11 @@ where
let mut parent_options = options.clone();
parent_options.asset_family = crate::MetaplexTokenMetadataAssetFamily::Collection;
parent_options.collection_mint = std::option::Option::None;
let parent = match crate::execute_devnet_metaplex_create_mint_campaign(
let parent = match crate::execute_devnet_metaplex_create_mint_campaign_with_wallet(
http_pool,
store,
profile,
workspace_root,
wallet,
&parent_options,
observer,
)
@@ -81,11 +109,11 @@ where
let mut member_options = options.clone();
member_options.asset_family = crate::MetaplexTokenMetadataAssetFamily::Nft;
member_options.collection_mint = std::option::Option::Some(parent.fixture.mint.clone());
let member = match crate::execute_devnet_metaplex_create_mint_campaign(
let member = match crate::execute_devnet_metaplex_create_mint_campaign_with_wallet(
http_pool,
store,
profile,
workspace_root,
wallet,
&member_options,
observer,
)
@@ -168,11 +196,11 @@ where
options.query_role.as_str(),
std::option::Option::Some(fixture_slot),
);
let verify = match crate::execute_devnet_metaplex_token_metadata(
let verify = match crate::execute_devnet_metaplex_token_metadata_with_wallet(
http_pool,
store,
profile,
workspace_root,
wallet,
&verify_request,
decoders.as_slice(),
materializers.as_slice(),
@@ -240,11 +268,11 @@ where
options.query_role.as_str(),
std::option::Option::Some(verify_slot),
);
let unverify = match crate::execute_devnet_metaplex_token_metadata(
let unverify = match crate::execute_devnet_metaplex_token_metadata_with_wallet(
http_pool,
store,
profile,
workspace_root,
wallet,
&unverify_request,
decoders.as_slice(),
materializers.as_slice(),
@@ -667,7 +695,8 @@ mod tests {
if let std::result::Result::Err(error) = store.initialize_store_schema().await {
panic!("PostgreSQL schema initialization failed: {error}");
}
let configured_wallet_dir = std::path::PathBuf::from(profile.wallet.wallet_dir.as_str());
let configured_wallet_dir =
std::path::PathBuf::from(profile.wallet.temporary_wallet_dir.as_str());
let wallet_dir = if configured_wallet_dir.is_absolute() {
configured_wallet_dir
} else {