0.7.1 for Real ! - it was 0.7.0 before, not 0.7.1 !!

This commit is contained in:
2026-04-26 11:44:58 +02:00
parent 60b8841895
commit ac5bf10af6
26 changed files with 2560 additions and 388 deletions

View File

@@ -427,60 +427,122 @@ async fn kb_execute_demo_ws_subscribe(
let method = request.method.trim();
let mode = request.mode.trim();
if method == "account" {
let target = kb_required_target(request, "account pubkey")?;
let target_result = kb_required_target(request, "account pubkey");
let target = match target_result {
Ok(target) => target,
Err(error) => return Err(error),
};
if mode == "typed" {
let config = kb_parse_optional_json_typed::<
let config_result = kb_parse_optional_json_typed::<
solana_rpc_client_api::config::RpcAccountInfoConfig,
>(&request.config_json, "account typed config")?;
>(&request.config_json, "account typed config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.account_subscribe_typed(target, config).await;
return result.map_err(|error| format!("account typed subscribe failed: {error}"));
}
let config = kb_parse_optional_json_value(&request.config_json, "account raw config")?;
let config_result =
kb_parse_optional_json_value(&request.config_json, "account raw config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.account_subscribe_raw(target, config).await;
return result.map_err(|error| format!("account raw subscribe failed: {error}"));
}
if method == "block" {
if mode == "typed" {
let filter = kb_parse_required_json_typed::<
let filter_result = kb_parse_required_json_typed::<
solana_rpc_client_api::config::RpcBlockSubscribeFilter,
>(&request.filter_json, "block typed filter")?;
let config = kb_parse_optional_json_typed::<
>(&request.filter_json, "block typed filter");
let filter = match filter_result {
Ok(filter) => filter,
Err(error) => return Err(error),
};
let config_result = kb_parse_optional_json_typed::<
solana_rpc_client_api::config::RpcBlockSubscribeConfig,
>(&request.config_json, "block typed config")?;
>(&request.config_json, "block typed config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.block_subscribe_typed(filter, config).await;
return result.map_err(|error| format!("block typed subscribe failed: {error}"));
}
let filter = kb_parse_required_json_value(&request.filter_json, "block raw filter")?;
let config = kb_parse_optional_json_value(&request.config_json, "block raw config")?;
let filter_result =
kb_parse_required_json_value(&request.filter_json, "block raw filter");
let filter = match filter_result {
Ok(filter) => filter,
Err(error) => return Err(error),
};
let config_result =
kb_parse_optional_json_value(&request.config_json, "block raw config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.block_subscribe_raw(filter, config).await;
return result.map_err(|error| format!("block raw subscribe failed: {error}"));
}
if method == "logs" {
if mode == "typed" {
let filter = kb_parse_required_json_typed::<
let filter_result = kb_parse_required_json_typed::<
solana_rpc_client_api::config::RpcTransactionLogsFilter,
>(&request.filter_json, "logs typed filter")?;
let config = kb_parse_optional_json_typed::<
>(&request.filter_json, "logs typed filter");
let filter = match filter_result {
Ok(filter) => filter,
Err(error) => return Err(error),
};
let config_result = kb_parse_optional_json_typed::<
solana_rpc_client_api::config::RpcTransactionLogsConfig,
>(&request.config_json, "logs typed config")?;
>(&request.config_json, "logs typed config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.logs_subscribe_typed(filter, config).await;
return result.map_err(|error| format!("logs typed subscribe failed: {error}"));
}
let filter = kb_parse_required_json_value(&request.filter_json, "logs raw filter")?;
let config = kb_parse_optional_json_value(&request.config_json, "logs raw config")?;
let filter_result =
kb_parse_required_json_value(&request.filter_json, "logs raw filter");
let filter = match filter_result {
Ok(filter) => filter,
Err(error) => return Err(error),
};
let config_result =
kb_parse_optional_json_value(&request.config_json, "logs raw config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.logs_subscribe_raw(filter, config).await;
return result.map_err(|error| format!("logs raw subscribe failed: {error}"));
}
if method == "program" {
let target = kb_required_target(request, "program id")?;
let target_result = kb_required_target(request, "program id");
let target = match target_result {
Ok(target) => target,
Err(error) => return Err(error),
};
if mode == "typed" {
let config = kb_parse_optional_json_typed::<
let config_result = kb_parse_optional_json_typed::<
solana_rpc_client_api::config::RpcProgramAccountsConfig,
>(&request.config_json, "program typed config")?;
>(&request.config_json, "program typed config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.program_subscribe_typed(target, config).await;
return result.map_err(|error| format!("program typed subscribe failed: {error}"));
}
let config = kb_parse_optional_json_value(&request.config_json, "program raw config")?;
let config_result =
kb_parse_optional_json_value(&request.config_json, "program raw config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.program_subscribe_raw(target, config).await;
return result.map_err(|error| format!("program raw subscribe failed: {error}"));
}
@@ -489,15 +551,28 @@ async fn kb_execute_demo_ws_subscribe(
return result.map_err(|error| format!("root subscribe failed: {error}"));
}
if method == "signature" {
let target = kb_required_target(request, "signature")?;
let target_result = kb_required_target(request, "signature");
let target = match target_result {
Ok(target) => target,
Err(error) => return Err(error),
};
if mode == "typed" {
let config = kb_parse_optional_json_typed::<
let config_result = kb_parse_optional_json_typed::<
solana_rpc_client_api::config::RpcSignatureSubscribeConfig,
>(&request.config_json, "signature typed config")?;
>(&request.config_json, "signature typed config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.signature_subscribe_typed(target, config).await;
return result.map_err(|error| format!("signature typed subscribe failed: {error}"));
}
let config = kb_parse_optional_json_value(&request.config_json, "signature raw config")?;
let config_result =
kb_parse_optional_json_value(&request.config_json, "signature raw config");
let config = match config_result {
Ok(config) => config,
Err(error) => return Err(error),
};
let result = client.signature_subscribe_raw(target, config).await;
return result.map_err(|error| format!("signature raw subscribe failed: {error}"));
}

View File

@@ -14,7 +14,7 @@ mod demo_ws;
mod demo_ws_manager;
mod splash;
pub use crate::splash::SplashOrder;
pub use splash::SplashOrder;
use tauri::Emitter;
use tauri::Manager;