From 5f6ad8ca2ca65ebf101e2ef157443e7f431223d8 Mon Sep 17 00:00:00 2001 From: aglkm <39521015+aglkm@users.noreply.github.com> Date: Wed, 5 Jun 2024 06:20:40 +0300 Subject: [PATCH] remove search by outputs feature --- src/data.rs | 23 ----------------- src/main.rs | 45 +++------------------------------ src/requests.rs | 36 -------------------------- templates/error.html.tera | 1 - templates/output.html.tera | 52 -------------------------------------- templates/search.html.tera | 1 - 6 files changed, 4 insertions(+), 154 deletions(-) delete mode 100644 templates/output.html.tera diff --git a/src/data.rs b/src/data.rs index a22439c..5622eea 100644 --- a/src/data.rs +++ b/src/data.rs @@ -133,29 +133,6 @@ impl Kernel { } -// Output data -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Output { - pub height: String, - pub commit: String, - pub out_type: String, - pub status: String, - pub raw_data: String, -} - -impl Output { - pub fn new() -> Output { - Output { - height: String::new(), - commit: String::new(), - out_type: String::new(), - status: String::new(), - raw_data: String::new(), - } - } -} - - // Transactions data #[derive(Debug)] pub struct Transactions { diff --git a/src/main.rs b/src/main.rs index 905ab14..4d2ac5a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -19,7 +19,6 @@ use crate::data::Dashboard; use crate::data::Block; use crate::data::Transactions; use crate::data::Kernel; -use crate::data::Output; use crate::requests::CONFIG; @@ -150,33 +149,11 @@ async fn kernel(excess: &str) -> Template { } -// Rendering page for a specified output. -#[get("/output/")] -async fn output(commit: &str) -> Template { - let mut output = Output::new(); - - let _ = requests::get_output(&commit, &mut output).await; - - if output.commit.is_empty() == false { - return Template::render("output", context! { - route: "output", - cg_api: CONFIG.coingecko_api.clone(), - output, - }) - } - - return Template::render("error", context! { - route: "error", - cg_api: CONFIG.coingecko_api.clone(), - }) -} - - // Handling search request. // Using Option<&str> to match '/search' query without input params. // https://github.com/rwf2/Rocket/issues/608 #[get("/search?")] -pub async fn search(input: Option<&str>) -> Either { +fn search(input: Option<&str>) -> Either { // Unwrap Option and forward to Search page if no parameters let input = match input { Some(value) => value, @@ -197,23 +174,9 @@ pub async fn search(input: Option<&str>) -> Either { } else if input.len() == 64 { return Either::Right(Redirect::to(uri!(block_header_by_hash(input)))); - // Kernel or Output + // Kernel } else if input.len() == 66 { - // First search for Kernel - let mut kernel = Kernel::new(); - - let _ = requests::get_kernel(&input, &mut kernel).await; - - if kernel.excess.is_empty() == false { - return Either::Left(Template::render("kernel", context! { - route: "kernel", - cg_api: CONFIG.coingecko_api.clone(), - kernel, - })); - } else { - // If Kernel not found, then search for Output - return Either::Right(Redirect::to(uri!(output(input)))); - } + return Either::Right(Redirect::to(uri!(kernel(input)))); } } @@ -683,7 +646,7 @@ async fn main() { block_weight, block_details_by_height, block_header_by_hash, soft_supply, production_cost, reward_ratio, breakeven_cost, last_block_age, block_list_by_height, block_list_index, search, kernel, - output, api_owner, api_foreign]) + api_owner, api_foreign]) .mount("/static", FileServer::from("static")) .attach(Template::fairing()) .launch() diff --git a/src/requests.rs b/src/requests.rs index 4baa48f..2ffe83e 100644 --- a/src/requests.rs +++ b/src/requests.rs @@ -17,7 +17,6 @@ use crate::data::Block; use crate::data::Transactions; use crate::data::ExplorerConfig; use crate::data::Kernel; -use crate::data::Output; // Static explorer config structure @@ -448,41 +447,6 @@ pub async fn get_kernel(excess: &str, kernel: &mut Kernel) -> Result<(), anyhow: } -// Get output. -pub async fn get_output(commit: &str, output: &mut Output) -> Result<(), anyhow::Error> { - // First check whether output is broadcasted but not confirmed yet (in mempool) - let mut resp = call("get_unconfirmed_transactions", "[]", "1", "foreign").await?; - - if resp["result"]["Ok"].is_null() == false { - for tx in resp["result"]["Ok"].as_array().unwrap() { - for out in tx["tx"]["body"]["outputs"].as_array().unwrap() { - if out["commit"].as_str().unwrap() == commit { - // Only Plain outputs in the mempool - output.out_type = "Plain".to_string(); - output.commit = out["commit"].as_str().unwrap().to_string(); - output.status = "Unconfirmed".to_string(); - // Found it, no need to continue - return Ok(()); - } - } - } - } - - let params = &format!("[[\"{}\"], null, null, true, true]", commit)[..]; - - resp = call("get_outputs", params, "1", "foreign").await?; - - if resp["result"]["Ok"][0].is_null() == false { - output.height = resp["result"]["Ok"][0]["block_height"].to_string(); - output.commit = resp["result"]["Ok"][0]["commit"].as_str().unwrap().to_string(); - output.out_type = resp["result"]["Ok"][0]["output_type"].as_str().unwrap().to_string(); - output.raw_data = serde_json::to_string_pretty(&resp).unwrap() - } - - Ok(()) -} - - // Collecting block kernels for transactions stats. pub async fn get_block_kernels(height: &String, blocks: &mut Vec) -> Result<(), anyhow::Error> { diff --git a/templates/error.html.tera b/templates/error.html.tera index d44052e..536b6b0 100644 --- a/templates/error.html.tera +++ b/templates/error.html.tera @@ -11,7 +11,6 @@
Block Number
Block Hash
Kernel
-
Unspent Output
diff --git a/templates/output.html.tera b/templates/output.html.tera deleted file mode 100644 index 0509c62..0000000 --- a/templates/output.html.tera +++ /dev/null @@ -1,52 +0,0 @@ -{% extends "base" %} - -{% block content %} - - - -
-
-
-
OUTPUT
- {% if output.status == "Unconfirmed" %} - UNCONFIRMED - {% endif %} -
-
-
-
Commitment 
-
{{ output.commit }}
-
- {% if output.status != "Unconfirmed" %} -
-
-
Block Height 
- -
- {% endif %} -
-
-
Type 
-
{{ output.out_type }}
-
-
-
- - {% if output.status != "Unconfirmed" %} -
-
-
RAW DATA
-
-
{{ output.raw_data }}
-
-
- {% endif %} - -
- -{% endblock %} - diff --git a/templates/search.html.tera b/templates/search.html.tera index bc55ba2..33f5509 100644 --- a/templates/search.html.tera +++ b/templates/search.html.tera @@ -21,7 +21,6 @@
Block Number
Block Hash
Kernel
-
Unspent Output