add logs_process and logs_subscribe

This commit is contained in:
William
2025-01-02 13:59:17 +08:00
parent 3d14407b93
commit 23ba2c1c05
11 changed files with 164 additions and 9 deletions
@@ -0,0 +1,17 @@
use crate::error::ClientResult;
use crate::instruction::logs_filter::{LogFilter, DexInstruction};
pub async fn process_logs<F>(
signature: &str,
logs: Vec<String>,
callback: F,
) -> ClientResult<()>
where
F: Fn(&str, DexInstruction) + Send + Sync,
{
let instructions = LogFilter::parse_instruction(&logs)?;
for instruction in instructions {
callback(signature, instruction);
}
Ok(())
}