Files
khadhroony-bot3/kb-lib/src/executor/vesting/jupiter_lock.rs
2026-07-30 10:27:06 +02:00

50 lines
1.7 KiB
Rust

// file: kb-lib/src/executor/vesting/jupiter_lock.rs
// version: 3
//! Reserved executor for `vesting_jupiter_lock`.
/// Reserved executor for the `vesting_jupiter_lock` program surface.
#[derive(Clone, Debug, Default)]
pub struct ExVestingJupiterLockExecutor;
impl crate::ExApiInstructionExecutor for crate::ExVestingJupiterLockExecutor {
fn executor_name(&self) -> &'static str {
return "kb-lib.executor.vesting.jupiter_lock";
}
fn executor_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::VESTING_JUPITER_LOCK_PROGRAM_ID];
}
fn supports_request(
&self,
request: &crate::ExApiExecutionRequest,
) -> crate::ExApiExecutionSupport {
if crate::ExApiInstructionExecutor::handles_program_id(self, &request.program_id) {
return crate::ExApiExecutionSupport::Maybe;
}
return crate::ExApiExecutionSupport::No;
}
fn build_plan(
&self,
_request: &crate::ExApiExecutionRequest,
) -> kb_core::Result<crate::ExApiExecutionPlan> {
let payload_json = match crate::executor_api_serialize_payload_json(
&serde_json::json!({"status":"reserved_executor","surface":"vesting_jupiter_lock"}),
) {
std::result::Result::Ok(serialized) => serialized,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(crate::ExApiExecutionPlan {
executor_name: "kb-lib.executor.vesting.jupiter_lock".to_string(),
instruction_count: 0,
payload_json,
});
}
}