From a100263a0bcab3a43c9bbce49ddead754d2d621c Mon Sep 17 00:00:00 2001 From: Micaiah Reid Date: Thu, 14 Sep 2023 11:39:58 -0400 Subject: [PATCH] feat: augment predicate status returned by GET/LIST endpoints (#397) ### Description This PR accomplishes a few things: - renames/adds/removes predicate statuses according to the flowchart in docs/images/predicate-status-flowchart/PredicateStatusFlowchart.png - adds more context to errors returned in Interrupted status - adds status data to `GET /v1/chainhooks` endpoint - fixes bug in chainhook service where block streaming continued past `end_block` Fixes #396, fixes #324 Also: Improves how we handle a restart of `chainhook service` while predicates are scanning/streaming. Here are the cases we now handle: 1. Predicates that were in `scanning` status when Chainhook was terminated will resume scanning starting from their `last_evaluated_block_height`. *Note: because we only save predicate status every 10 scans, we could end up re-emiting matches on a resetart* 2. Predicates that were in `new` status when Chainhook was terminated will start scanning at the predicate's `start_block` 3. Predicates that were in `streaming` status will _return_ to a `scanning` status, starting at `last_evaluated_block_height` to catch up on the missed blocks. Note, the `number_of_blocks_to_scan` is set to 0 for this temporary catch-up, as it's difficult to compute the number of remaining blocks in the context of this change 4. If predicates were passed in at startup, we also register those to begin scanning, which previously didn't happen 5. We now allow passing in a predicate at startup _and_ registering additional predicates with the predicate registration server. This means that if you use the same startup predicate repeatedly, it will already be saved in redis and _not_ be reloaded. Fixes: #298, fixes #390, fixes #402, fixes #403 #### Breaking change? The rename of `ScanningData`'s `number_of_blocks_sent` field could technically be considered breaking, let's discuss. ### Checklist - [x] All tests pass - [x] Tests added in this PR (if applicable) Test coverage before: 23.2% Test coverage after: 37.72% --- .github/workflows/ci.yaml | 5 +- .gitignore | 2 + components/chainhook-cli/src/cli/mod.rs | 9 +- components/chainhook-cli/src/scan/bitcoin.rs | 165 +- components/chainhook-cli/src/scan/stacks.rs | 184 +- .../chainhook-cli/src/service/http_api.rs | 48 +- components/chainhook-cli/src/service/mod.rs | 712 +++++- .../chainhook-cli/src/service/runloops.rs | 40 +- .../src/service/tests/helpers.rs | 70 + .../chainhook-cli/src/service/tests/mod.rs | 309 ++- components/chainhook-cli/src/storage/mod.rs | 25 +- .../src/chainhooks/bitcoin/mod.rs | 65 +- .../src/chainhooks/stacks/mod.rs | 136 +- .../chainhook-sdk/src/chainhooks/tests/mod.rs | 15 +- .../chainhook-sdk/src/chainhooks/types.rs | 53 +- .../chainhook-sdk/src/indexer/stacks/mod.rs | 8 +- components/chainhook-sdk/src/observer/mod.rs | 130 +- .../chainhook-sdk/src/observer/tests/mod.rs | 470 ++-- components/chainhook-sdk/src/utils/mod.rs | 84 +- .../components/chainhook-node.dockerfile | 2 +- .../PredicateStatusFlowchart.excalidraw | 2106 +++++++++++++++++ .../PredicateStatusFlowchart.png | Bin 0 -> 512548 bytes rust-toolchain | 2 +- 23 files changed, 3994 insertions(+), 646 deletions(-) create mode 100644 components/chainhook-cli/src/service/tests/helpers.rs create mode 100644 docs/images/predicate-status-flowchart/PredicateStatusFlowchart.excalidraw create mode 100644 docs/images/predicate-status-flowchart/PredicateStatusFlowchart.png diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3c2daec2c..f0a1012bf 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,8 +25,7 @@ jobs: - name: Cargo test run: | rustup update - cargo check - cargo test --all + RUST_BACKTRACE=1 cargo test --all -- --test-threads=1 - name: Semantic Release uses: cycjimmy/semantic-release-action@v3 @@ -72,6 +71,6 @@ jobs: context: . tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - file: ./dockerfiles/components/chainhook.dockerfile + file: ./dockerfiles/components/chainhook-node.dockerfile # Only push if (there's a new release on main branch, or if building a non-main branch) and (Only run on non-PR events or only PRs that aren't from forks) push: ${{ (github.ref != 'refs/heads/master' || steps.semantic.outputs.new_release_version != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }} diff --git a/.gitignore b/.gitignore index 06ccb5f4c..9f6f049ca 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ components/chainhook-types-js/dist *.rdb *.redb cache/ + +components/chainhook-cli/src/service/tests/fixtures/tmp \ No newline at end of file diff --git a/components/chainhook-cli/src/cli/mod.rs b/components/chainhook-cli/src/cli/mod.rs index 64f136478..a07a7aebc 100644 --- a/components/chainhook-cli/src/cli/mod.rs +++ b/components/chainhook-cli/src/cli/mod.rs @@ -1,5 +1,5 @@ use crate::config::generator::generate_config; -use crate::config::{Config, PredicatesApi}; +use crate::config::Config; use crate::scan::bitcoin::scan_bitcoin_chainstate_via_rpc_using_predicate; use crate::scan::stacks::{ consolidate_local_stacks_chainstate_using_csv, scan_stacks_chainstate_via_csv_using_predicate, @@ -291,12 +291,8 @@ async fn handle_command(opts: Opts, ctx: Context) -> Result<(), String> { match opts.command { Command::Service(subcmd) => match subcmd { ServiceCommand::Start(cmd) => { - let mut config = + let config = Config::default(cmd.devnet, cmd.testnet, cmd.mainnet, &cmd.config_path)?; - // We disable the API if a predicate was passed, and the --enable- - if cmd.predicates_paths.len() > 0 && !cmd.start_http_api { - config.http_api = PredicatesApi::Off; - } let predicates = cmd .predicates_paths @@ -462,6 +458,7 @@ async fn handle_command(opts: Opts, ctx: Context) -> Result<(), String> { scan_bitcoin_chainstate_via_rpc_using_predicate( &predicate_spec, + None, &config, &ctx, ) diff --git a/components/chainhook-cli/src/scan/bitcoin.rs b/components/chainhook-cli/src/scan/bitcoin.rs index 2d9c6e003..b6cd43e1e 100644 --- a/components/chainhook-cli/src/scan/bitcoin.rs +++ b/components/chainhook-cli/src/scan/bitcoin.rs @@ -1,7 +1,7 @@ use crate::config::{Config, PredicatesApi}; use crate::service::{ - open_readwrite_predicates_db_conn_or_panic, update_predicate_status, PredicateStatus, - ScanningData, + open_readwrite_predicates_db_conn_or_panic, set_predicate_scanning_status, + set_unconfirmed_expiration_status, ScanningData, }; use chainhook_sdk::bitcoincore_rpc::RpcApi; use chainhook_sdk::bitcoincore_rpc::{Auth, Client}; @@ -16,16 +16,17 @@ use chainhook_sdk::indexer::bitcoin::{ }; use chainhook_sdk::observer::{gather_proofs, EventObserverConfig}; use chainhook_sdk::types::{ - BitcoinBlockData, BitcoinChainEvent, BitcoinChainUpdatedWithBlocksData, + BitcoinBlockData, BitcoinChainEvent, BitcoinChainUpdatedWithBlocksData, BlockIdentifier, Chain, }; use chainhook_sdk::utils::{file_append, send_request, BlockHeights, Context}; use std::collections::HashMap; pub async fn scan_bitcoin_chainstate_via_rpc_using_predicate( predicate_spec: &BitcoinChainhookSpecification, + unfinished_scan_data: Option, config: &Config, ctx: &Context, -) -> Result<(), String> { +) -> Result { let auth = Auth::UserPass( config.network.bitcoind_rpc_username.clone(), config.network.bitcoind_rpc_password.clone(), @@ -43,7 +44,10 @@ pub async fn scan_bitcoin_chainstate_via_rpc_using_predicate( BlockHeights::Blocks(blocks.clone()).get_sorted_entries() } else { let start_block = match predicate_spec.start_block { - Some(start_block) => start_block, + Some(start_block) => match &unfinished_scan_data { + Some(scan_data) => scan_data.last_evaluated_block_height, + None => start_block, + }, None => { return Err( "Bitcoin chainhook specification must include a field start_block in replay mode" @@ -51,35 +55,59 @@ pub async fn scan_bitcoin_chainstate_via_rpc_using_predicate( ); } }; - let (end_block, update_end_block) = match predicate_spec.end_block { - Some(end_block) => (end_block, false), - None => match bitcoin_rpc.get_blockchain_info() { - Ok(result) => (result.blocks, true), - Err(e) => { - return Err(format!( - "unable to retrieve Bitcoin chain tip ({})", - e.to_string() - )); + let (end_block, update_end_block) = match bitcoin_rpc.get_blockchain_info() { + Ok(result) => match predicate_spec.end_block { + Some(end_block) => { + if end_block > result.blocks { + (result.blocks, true) + } else { + (end_block, false) + } } + None => (result.blocks, true), }, + Err(e) => { + return Err(format!( + "unable to retrieve Bitcoin chain tip ({})", + e.to_string() + )); + } }; floating_end_block = update_end_block; BlockHeights::BlockRange(start_block, end_block).get_sorted_entries() }; + let mut predicates_db_conn = match config.http_api { + PredicatesApi::On(ref api_config) => { + Some(open_readwrite_predicates_db_conn_or_panic(api_config, ctx)) + } + PredicatesApi::Off => None, + }; + info!( ctx.expect_logger(), "Starting predicate evaluation on Bitcoin blocks", ); + let mut last_block_scanned = BlockIdentifier::default(); let mut actions_triggered = 0; let mut err_count = 0; let event_observer_config = config.get_event_observer_config(); let bitcoin_config = event_observer_config.get_bitcoin_config(); - let number_of_blocks_to_scan = block_heights_to_scan.len() as u64; - let mut number_of_blocks_scanned = 0; - let mut number_of_blocks_sent = 0u64; + + let (mut number_of_blocks_to_scan, mut number_of_blocks_scanned, mut number_of_times_triggered) = { + let number_of_blocks_to_scan = block_heights_to_scan.len() as u64; + match &unfinished_scan_data { + Some(scan_data) => ( + scan_data.number_of_blocks_to_scan, + scan_data.number_of_blocks_evaluated, + scan_data.number_of_times_triggered, + ), + None => (number_of_blocks_to_scan, 0, 0u64), + } + }; + let http_client = build_http_client(); while let Some(current_block_height) = block_heights_to_scan.pop_front() { @@ -109,8 +137,9 @@ pub async fn scan_bitcoin_chainstate_via_rpc_using_predicate( continue; } }; + last_block_scanned = block.block_identifier.clone(); - match process_block_with_predicates( + let res = match process_block_with_predicates( block, &vec![&predicate_spec], &event_observer_config, @@ -120,47 +149,63 @@ pub async fn scan_bitcoin_chainstate_via_rpc_using_predicate( { Ok(actions) => { if actions > 0 { - number_of_blocks_sent += 1; + number_of_times_triggered += 1; } - actions_triggered += actions + actions_triggered += actions; + Ok(()) } - Err(_) => err_count += 1, - } + Err(e) => { + err_count += 1; + Err(e) + } + }; if err_count >= 3 { - return Err(format!("Scan aborted (consecutive action errors >= 3)")); + if res.is_err() { + return Err(format!( + "Scan aborted (consecutive action errors >= 3): {}", + res.unwrap_err() + )); + } else { + return Err(format!("Scan aborted (consecutive action errors >= 3)")); + } } - if let PredicatesApi::On(ref api_config) = config.http_api { - if number_of_blocks_scanned % 50 == 0 { - let status = PredicateStatus::Scanning(ScanningData { + if let Some(ref mut predicates_db_conn) = predicates_db_conn { + if number_of_blocks_scanned % 10 == 0 || number_of_blocks_scanned == 1 { + set_predicate_scanning_status( + &predicate_spec.key(), number_of_blocks_to_scan, number_of_blocks_scanned, - number_of_blocks_sent, + number_of_times_triggered, current_block_height, - }); - let mut predicates_db_conn = - open_readwrite_predicates_db_conn_or_panic(api_config, &ctx); - update_predicate_status( - &predicate_spec.key(), - status, - &mut predicates_db_conn, - &ctx, - ) + predicates_db_conn, + ctx, + ); } } if block_heights_to_scan.is_empty() && floating_end_block { - match bitcoin_rpc.get_blockchain_info() { - Ok(result) => { - for entry in (current_block_height + 1)..result.blocks { - block_heights_to_scan.push_back(entry); + let new_tip = match bitcoin_rpc.get_blockchain_info() { + Ok(result) => match predicate_spec.end_block { + Some(end_block) => { + if end_block > result.blocks { + result.blocks + } else { + end_block + } } - } + None => result.blocks, + }, Err(_e) => { continue; } }; + + for entry in (current_block_height + 1)..new_tip { + block_heights_to_scan.push_back(entry); + } + number_of_blocks_to_scan += block_heights_to_scan.len() as u64; } } info!( @@ -168,18 +213,34 @@ pub async fn scan_bitcoin_chainstate_via_rpc_using_predicate( "{number_of_blocks_scanned} blocks scanned, {actions_triggered} actions triggered" ); - if let PredicatesApi::On(ref api_config) = config.http_api { - let status = PredicateStatus::Scanning(ScanningData { + if let Some(ref mut predicates_db_conn) = predicates_db_conn { + if let Some(predicate_end_block) = predicate_spec.end_block { + if predicate_end_block == last_block_scanned.index { + // todo: we need to find a way to check if this block is confirmed + // and if so, set the status to confirmed expiration + set_unconfirmed_expiration_status( + &Chain::Bitcoin, + number_of_blocks_scanned, + predicate_end_block, + &predicate_spec.key(), + predicates_db_conn, + ctx, + ); + return Ok(true); + } + } + set_predicate_scanning_status( + &predicate_spec.key(), number_of_blocks_to_scan, number_of_blocks_scanned, - number_of_blocks_sent, - current_block_height: 0, - }); - let mut predicates_db_conn = open_readwrite_predicates_db_conn_or_panic(api_config, &ctx); - update_predicate_status(&predicate_spec.key(), status, &mut predicates_db_conn, &ctx) + number_of_times_triggered, + last_block_scanned.index, + predicates_db_conn, + ctx, + ); } - Ok(()) + return Ok(false); } pub async fn process_block_with_predicates( @@ -187,14 +248,14 @@ pub async fn process_block_with_predicates( predicates: &Vec<&BitcoinChainhookSpecification>, event_observer_config: &EventObserverConfig, ctx: &Context, -) -> Result { +) -> Result { let chain_event = BitcoinChainEvent::ChainUpdatedWithBlocks(BitcoinChainUpdatedWithBlocksData { new_blocks: vec![block], confirmed_blocks: vec![], }); - let (predicates_triggered, _predicates_evaluated) = + let (predicates_triggered, _predicates_evaluated, _predicates_expired) = evaluate_bitcoin_chainhooks_on_chain_event(&chain_event, predicates, ctx); execute_predicates_action(predicates_triggered, &event_observer_config, &ctx).await @@ -204,7 +265,7 @@ pub async fn execute_predicates_action<'a>( hits: Vec>, config: &EventObserverConfig, ctx: &Context, -) -> Result { +) -> Result { let mut actions_triggered = 0; let mut proofs = HashMap::new(); for trigger in hits.into_iter() { diff --git a/components/chainhook-cli/src/scan/stacks.rs b/components/chainhook-cli/src/scan/stacks.rs index ee1353e86..79dc6cff4 100644 --- a/components/chainhook-cli/src/scan/stacks.rs +++ b/components/chainhook-cli/src/scan/stacks.rs @@ -4,8 +4,8 @@ use crate::{ archive::download_stacks_dataset_if_required, config::{Config, PredicatesApi}, service::{ - open_readwrite_predicates_db_conn_or_panic, update_predicate_status, PredicateStatus, - ScanningData, + open_readwrite_predicates_db_conn_or_panic, set_confirmed_expiration_status, + set_predicate_scanning_status, set_unconfirmed_expiration_status, ScanningData, }, storage::{ get_last_block_height_inserted, get_last_unconfirmed_block_height_inserted, @@ -13,7 +13,7 @@ use crate::{ open_readwrite_stacks_db_conn, }, }; -use chainhook_sdk::types::BlockIdentifier; +use chainhook_sdk::types::{BlockIdentifier, Chain}; use chainhook_sdk::{ chainhooks::stacks::evaluate_stacks_chainhook_on_blocks, indexer::{self, stacks::standardize_stacks_serialized_block_header, Indexer}, @@ -36,7 +36,7 @@ pub enum DigestingCommand { Terminate, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct Record { pub id: u64, pub created_at: String, @@ -44,7 +44,7 @@ pub struct Record { pub blob: Option, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub enum RecordKind { #[serde(rename = "/new_block")] StacksBlockReceived, @@ -145,17 +145,21 @@ pub async fn get_canonical_fork_from_tsv( pub async fn scan_stacks_chainstate_via_rocksdb_using_predicate( predicate_spec: &StacksChainhookSpecification, + unfinished_scan_data: Option, stacks_db_conn: &DB, config: &Config, ctx: &Context, -) -> Result { +) -> Result<(BlockIdentifier, bool), String> { let mut floating_end_block = false; let mut block_heights_to_scan = if let Some(ref blocks) = predicate_spec.blocks { BlockHeights::Blocks(blocks.clone()).get_sorted_entries() } else { let start_block = match predicate_spec.start_block { - Some(start_block) => start_block, + Some(start_block) => match &unfinished_scan_data { + Some(scan_data) => scan_data.last_evaluated_block_height, + None => start_block, + }, None => { return Err( "Chainhook specification must include fields 'start_block' when using the scan command" @@ -165,7 +169,31 @@ pub async fn scan_stacks_chainstate_via_rocksdb_using_predicate( }; let (end_block, update_end_block) = match predicate_spec.end_block { - Some(end_block) => (end_block, false), + Some(end_block) => { + // if the user provided an end block that is above the chain tip, we'll + // only scan up to the chain tip, then go to streaming mode + match get_last_unconfirmed_block_height_inserted(stacks_db_conn, ctx) { + Some(chain_tip) => { + if end_block > chain_tip { + (chain_tip, true) + } else { + (end_block, false) + } + } + None => match get_last_block_height_inserted(stacks_db_conn, ctx) { + Some(chain_tip) => { + if end_block > chain_tip { + (chain_tip, true) + } else { + (end_block, false) + } + } + None => { + return Err("Chainhook specification must include fields 'end_block' when using the scan command".into()); + } + }, + } + } None => match get_last_unconfirmed_block_height_inserted(stacks_db_conn, ctx) { Some(end_block) => (end_block, true), None => match get_last_block_height_inserted(stacks_db_conn, ctx) { @@ -192,16 +220,24 @@ pub async fn scan_stacks_chainstate_via_rocksdb_using_predicate( }; let proofs = HashMap::new(); - let mut blocks_scanned = 0; info!( ctx.expect_logger(), "Starting predicate evaluation on Stacks blocks" ); let mut last_block_scanned = BlockIdentifier::default(); let mut err_count = 0; - let number_of_blocks_to_scan = block_heights_to_scan.len() as u64; - let mut number_of_blocks_scanned = 0; - let mut number_of_blocks_sent = 0u64; + + let (mut number_of_blocks_to_scan, mut number_of_blocks_scanned, mut number_of_times_triggered) = { + let number_of_blocks_to_scan = block_heights_to_scan.len() as u64; + match &unfinished_scan_data { + Some(scan_data) => ( + scan_data.number_of_blocks_to_scan, + scan_data.number_of_blocks_evaluated, + scan_data.number_of_times_triggered, + ), + None => (number_of_blocks_to_scan, 0, 0u64), + } + }; while let Some(current_block_height) = block_heights_to_scan.pop_front() { number_of_blocks_scanned += 1; @@ -231,11 +267,11 @@ pub async fn scan_stacks_chainstate_via_rocksdb_using_predicate( } }; last_block_scanned = block_data.block_identifier.clone(); - blocks_scanned += 1; let blocks: Vec<&dyn AbstractStacksBlock> = vec![&block_data]; - let hits_per_blocks = evaluate_stacks_chainhook_on_blocks(blocks, &predicate_spec, ctx); + let (hits_per_blocks, _predicates_expired) = + evaluate_stacks_chainhook_on_blocks(blocks, &predicate_spec, ctx); if hits_per_blocks.is_empty() { continue; } @@ -245,47 +281,82 @@ pub async fn scan_stacks_chainstate_via_rocksdb_using_predicate( apply: hits_per_blocks, rollback: vec![], }; - match handle_stacks_hook_action(trigger, &proofs, &ctx) { + let res = match handle_stacks_hook_action(trigger, &proofs, &ctx) { Err(e) => { error!(ctx.expect_logger(), "unable to handle action {}", e); + Ok(()) // todo: should this error increment our err_count? } Ok(action) => { - number_of_blocks_sent += 1; + number_of_times_triggered += 1; let res = match action { StacksChainhookOccurrence::Http(request) => { send_request(request, 3, 1, &ctx).await } StacksChainhookOccurrence::File(path, bytes) => file_append(path, bytes, &ctx), - StacksChainhookOccurrence::Data(_payload) => unreachable!(), + StacksChainhookOccurrence::Data(_payload) => Ok(()), }; - if res.is_err() { - err_count += 1; - } else { - err_count = 0; + match res { + Err(e) => { + err_count += 1; + Err(e) + } + Ok(_) => { + err_count = 0; + Ok(()) + } } } - } + }; // We abort after 3 consecutive errors if err_count >= 3 { - return Err(format!("Scan aborted (consecutive action errors >= 3)")); + if res.is_err() { + return Err(format!( + "Scan aborted (consecutive action errors >= 3): {}", + res.unwrap_err() + )); + } else { + return Err(format!("Scan aborted (consecutive action errors >= 3)")); + } } if let Some(ref mut predicates_db_conn) = predicates_db_conn { - if blocks_scanned % 5000 == 0 { - let status = PredicateStatus::Scanning(ScanningData { + if number_of_blocks_scanned % 10 == 0 || number_of_blocks_scanned == 1 { + set_predicate_scanning_status( + &predicate_spec.key(), number_of_blocks_to_scan, number_of_blocks_scanned, - number_of_blocks_sent, + number_of_times_triggered, current_block_height, - }); - update_predicate_status(&predicate_spec.key(), status, predicates_db_conn, &ctx) + predicates_db_conn, + ctx, + ); } } // Update end_block, in case a new block was discovered during the scan if block_heights_to_scan.is_empty() && floating_end_block { let new_tip = match predicate_spec.end_block { - Some(end_block) => end_block, + Some(end_block) => { + match get_last_unconfirmed_block_height_inserted(stacks_db_conn, ctx) { + Some(chain_tip) => { + if end_block > chain_tip { + chain_tip + } else { + end_block + } + } + None => match get_last_block_height_inserted(stacks_db_conn, ctx) { + Some(chain_tip) => { + if end_block > chain_tip { + chain_tip + } else { + end_block + } + } + None => current_block_height, + }, + } + } None => match get_last_unconfirmed_block_height_inserted(stacks_db_conn, ctx) { Some(end_block) => end_block, None => match get_last_block_height_inserted(stacks_db_conn, ctx) { @@ -297,23 +368,61 @@ pub async fn scan_stacks_chainstate_via_rocksdb_using_predicate( for entry in (current_block_height + 1)..=new_tip { block_heights_to_scan.push_back(entry); } + number_of_blocks_to_scan += block_heights_to_scan.len() as u64; } } info!( ctx.expect_logger(), - "{blocks_scanned} blocks scanned, {number_of_blocks_sent} blocks triggering predicate" + "{number_of_blocks_scanned} blocks scanned, {number_of_times_triggered} blocks triggering predicate" ); if let Some(ref mut predicates_db_conn) = predicates_db_conn { - let status = PredicateStatus::Scanning(ScanningData { + if let Some(predicate_end_block) = predicate_spec.end_block { + if predicate_end_block == last_block_scanned.index { + let is_confirmed = match get_stacks_block_at_block_height( + predicate_end_block, + true, + 3, + stacks_db_conn, + ) { + Ok(block) => match block { + Some(_) => true, + None => false, + }, + Err(e) => { + warn!( + ctx.expect_logger(), + "Failed to get stacks block for status update: {}", + e.to_string() + ); + false + } + }; + set_unconfirmed_expiration_status( + &Chain::Stacks, + number_of_blocks_scanned, + predicate_end_block, + &predicate_spec.key(), + predicates_db_conn, + ctx, + ); + if is_confirmed { + set_confirmed_expiration_status(&predicate_spec.key(), predicates_db_conn, ctx); + } + return Ok((last_block_scanned, true)); + } + } + set_predicate_scanning_status( + &predicate_spec.key(), number_of_blocks_to_scan, number_of_blocks_scanned, - number_of_blocks_sent, - current_block_height: 0, - }); - update_predicate_status(&predicate_spec.key(), status, predicates_db_conn, &ctx) + number_of_times_triggered, + last_block_scanned.index, + predicates_db_conn, + ctx, + ); } - Ok(last_block_scanned) + Ok((last_block_scanned, false)) } pub async fn scan_stacks_chainstate_via_csv_using_predicate( @@ -374,7 +483,8 @@ pub async fn scan_stacks_chainstate_via_csv_using_predicate( let blocks: Vec<&dyn AbstractStacksBlock> = vec![&block_data]; - let hits_per_blocks = evaluate_stacks_chainhook_on_blocks(blocks, &predicate_spec, ctx); + let (hits_per_blocks, _predicates_expired) = + evaluate_stacks_chainhook_on_blocks(blocks, &predicate_spec, ctx); if hits_per_blocks.is_empty() { continue; } diff --git a/components/chainhook-cli/src/service/http_api.rs b/components/chainhook-cli/src/service/http_api.rs index 2951be54d..55b583905 100644 --- a/components/chainhook-cli/src/service/http_api.rs +++ b/components/chainhook-cli/src/service/http_api.rs @@ -102,7 +102,7 @@ fn handle_get_predicates( let serialized_predicates = predicates .iter() - .map(|(p, _)| p.into_serialized_json()) + .map(|(p, s)| serialized_predicate_with_status(p, s)) .collect::>(); Json(json!({ @@ -194,36 +194,22 @@ fn handle_get_predicate( match open_readwrite_predicates_db_conn(api_config) { Ok(mut predicates_db_conn) => { - let entry = match get_entry_from_predicates_db( + let (predicate, status) = match get_entry_from_predicates_db( &ChainhookSpecification::either_stx_or_btc_key(&predicate_uuid), &mut predicates_db_conn, &ctx, ) { - Ok(Some((ChainhookSpecification::Stacks(spec), status))) => json!({ - "chain": "stacks", - "uuid": spec.uuid, - "network": spec.network, - "predicate": spec.predicate, - "status": status, - "enabled": spec.enabled, - }), - Ok(Some((ChainhookSpecification::Bitcoin(spec), status))) => json!({ - "chain": "bitcoin", - "uuid": spec.uuid, - "network": spec.network, - "predicate": spec.predicate, - "status": status, - "enabled": spec.enabled, - }), + Ok(Some(predicate_with_status)) => predicate_with_status, _ => { return Json(json!({ "status": 404, })) } }; + let result = serialized_predicate_with_status(&predicate, &status); Json(json!({ "status": 200, - "result": entry + "result": result })) } Err(e) => Json(json!({ @@ -387,3 +373,27 @@ pub fn get_routes_spec() -> (Vec, OpenApi) { handle_delete_stacks_predicate ] } + +fn serialized_predicate_with_status( + predicate: &ChainhookSpecification, + status: &PredicateStatus, +) -> JsonValue { + match (predicate, status) { + (ChainhookSpecification::Stacks(spec), status) => json!({ + "chain": "stacks", + "uuid": spec.uuid, + "network": spec.network, + "predicate": spec.predicate, + "status": status, + "enabled": spec.enabled, + }), + (ChainhookSpecification::Bitcoin(spec), status) => json!({ + "chain": "bitcoin", + "uuid": spec.uuid, + "network": spec.network, + "predicate": spec.predicate, + "status": status, + "enabled": spec.enabled, + }), + } +} diff --git a/components/chainhook-cli/src/service/mod.rs b/components/chainhook-cli/src/service/mod.rs index 2016c5179..e9b213e67 100644 --- a/components/chainhook-cli/src/service/mod.rs +++ b/components/chainhook-cli/src/service/mod.rs @@ -12,12 +12,18 @@ use crate::storage::{ use chainhook_sdk::chainhooks::types::{ChainhookConfig, ChainhookFullSpecification}; use chainhook_sdk::chainhooks::types::ChainhookSpecification; -use chainhook_sdk::observer::{start_event_observer, ObserverEvent}; -use chainhook_sdk::types::StacksChainEvent; +use chainhook_sdk::observer::{ + start_event_observer, HookExpirationData, ObserverCommand, ObserverEvent, + PredicateEvaluationReport, +}; +use chainhook_sdk::types::{Chain, StacksChainEvent}; use chainhook_sdk::utils::Context; use redis::{Commands, Connection}; use std::sync::mpsc::channel; +use std::time::{SystemTime, UNIX_EPOCH}; + +use self::http_api::get_entry_from_predicates_db; pub struct Service { config: Config, @@ -29,11 +35,17 @@ impl Service { Self { config, ctx } } - pub async fn run(&mut self, predicates: Vec) -> Result<(), String> { + pub async fn run( + &mut self, + predicates_from_startup: Vec, + ) -> Result<(), String> { let mut chainhook_config = ChainhookConfig::new(); - // If no predicates passed at launch, retrieve predicates from Redis - if predicates.is_empty() && self.config.is_http_api_enabled() { + // store all predicates from Redis that were in the process of scanning when + // chainhook was shutdown - we need to resume where we left off + let mut leftover_scans = vec![]; + // retrieve predicates from Redis, and register each in memory + if self.config.is_http_api_enabled() { let registered_predicates = match load_predicates_from_redis(&self.config, &self.ctx) { Ok(predicates) => predicates, Err(e) => { @@ -45,8 +57,29 @@ impl Service { vec![] } }; - for (predicate, _status) in registered_predicates.into_iter() { + for (predicate, status) in registered_predicates.into_iter() { let predicate_uuid = predicate.uuid().to_string(); + match status { + PredicateStatus::Scanning(scanning_data) => { + leftover_scans.push((predicate.clone(), Some(scanning_data))); + } + PredicateStatus::New => { + leftover_scans.push((predicate.clone(), None)); + } + // predicates that were previously in a streaming state probably + // need to catch up on blocks + PredicateStatus::Streaming(streaming_data) => { + let scanning_data = ScanningData { + number_of_blocks_to_scan: 0, // this is the only data we don't know when converting from streaming => scanning + number_of_blocks_evaluated: streaming_data.number_of_blocks_evaluated, + number_of_times_triggered: streaming_data.number_of_times_triggered, + last_occurrence: streaming_data.last_occurrence, + last_evaluated_block_height: streaming_data.last_evaluated_block_height, + }; + leftover_scans.push((predicate.clone(), Some(scanning_data))); + } + _ => {} + } match chainhook_config.register_specification(predicate) { Ok(_) => { info!( @@ -65,8 +98,28 @@ impl Service { } } + let mut newly_registered_predicates = vec![]; // For each predicate found, register in memory. - for predicate in predicates.into_iter() { + for predicate in predicates_from_startup.into_iter() { + if let PredicatesApi::On(api_config) = &self.config.http_api { + if let Ok(mut predicates_db_conn) = open_readwrite_predicates_db_conn(api_config) { + let uuid = predicate.get_uuid(); + match get_entry_from_predicates_db( + &ChainhookSpecification::either_stx_or_btc_key(&uuid), + &mut predicates_db_conn, + &self.ctx, + ) { + Ok(Some(_)) => { + error!( + self.ctx.expect_logger(), + "Predicate uuid already in use: {uuid}", + ); + continue; + } + _ => {} + } + }; + } match chainhook_config.register_full_specification( ( &self.config.network.bitcoin_network, @@ -75,6 +128,7 @@ impl Service { predicate, ) { Ok(spec) => { + newly_registered_predicates.push(spec.clone()); info!( self.ctx.expect_logger(), "Predicate {} retrieved from config and loaded", @@ -137,7 +191,8 @@ impl Service { .expect("unable to spawn thread"); // Enable HTTP Predicates API, if required - if let PredicatesApi::On(ref api_config) = self.config.http_api { + let config = self.config.clone(); + if let PredicatesApi::On(ref api_config) = config.http_api { info!( self.ctx.expect_logger(), "Listening on port {} for chainhook predicate registrations", api_config.http_port @@ -152,16 +207,42 @@ impl Service { }); } + let observer_event_tx_moved = observer_event_tx.clone(); + let moved_observer_command_tx = observer_command_tx.clone(); let _ = start_event_observer( event_observer_config.clone(), - observer_command_tx, + moved_observer_command_tx, observer_command_rx, - Some(observer_event_tx), + Some(observer_event_tx_moved), None, self.ctx.clone(), ); let mut stacks_event = 0; + + let ctx = self.ctx.clone(); + let mut predicates_db_conn = match self.config.http_api { + PredicatesApi::On(ref api_config) => { + Some(open_readwrite_predicates_db_conn_or_panic(api_config, &ctx)) + } + PredicatesApi::Off => None, + }; + + for predicate_with_last_scanned_block in leftover_scans { + match predicate_with_last_scanned_block { + (ChainhookSpecification::Stacks(spec), last_scanned_block) => { + let _ = stacks_scan_op_tx.send((spec, last_scanned_block)); + } + (ChainhookSpecification::Bitcoin(spec), last_scanned_block) => { + let _ = bitcoin_scan_op_tx.send((spec, last_scanned_block)); + } + } + } + + for new_predicate in newly_registered_predicates { + let _ = observer_event_tx.send(ObserverEvent::PredicateRegistered(new_predicate)); + } + loop { let event = match observer_event_rx.recv() { Ok(cmd) => cmd, @@ -200,17 +281,17 @@ impl Service { ); update_predicate_status( &spec.key(), - PredicateStatus::Disabled, + PredicateStatus::New, &mut predicates_db_conn, &self.ctx, ); } match spec { ChainhookSpecification::Stacks(predicate_spec) => { - let _ = stacks_scan_op_tx.send(predicate_spec); + let _ = stacks_scan_op_tx.send((predicate_spec, None)); } ChainhookSpecification::Bitcoin(predicate_spec) => { - let _ = bitcoin_scan_op_tx.send(predicate_spec); + let _ = bitcoin_scan_op_tx.send((predicate_spec, None)); } } } @@ -234,11 +315,11 @@ impl Service { &mut predicates_db_conn, &self.ctx, ); - update_predicate_status( + set_predicate_streaming_status( + StreamingDataType::FinishedScanning, &spec.key(), - PredicateStatus::InitialScanCompleted, &mut predicates_db_conn, - &self.ctx, + &ctx, ); } } @@ -268,8 +349,69 @@ impl Service { } } } - ObserverEvent::BitcoinChainEvent((_chain_update, _report)) => { + ObserverEvent::BitcoinChainEvent((chain_update, report)) => { debug!(self.ctx.expect_logger(), "Bitcoin update not stored"); + match chain_update { + chainhook_sdk::types::BitcoinChainEvent::ChainUpdatedWithBlocks(data) => { + if let Some(ref mut predicates_db_conn) = predicates_db_conn { + for confirmed_block in &data.confirmed_blocks { + match expire_predicates_for_block( + &Chain::Bitcoin, + confirmed_block.block_identifier.index, + predicates_db_conn, + &ctx, + ) { + Some(expired_predicate_uuids) => { + for uuid in expired_predicate_uuids.into_iter() { + let _ = observer_command_tx.send( + ObserverCommand::ExpireBitcoinPredicate( + HookExpirationData { + hook_uuid: uuid, + block_height: confirmed_block + .block_identifier + .index, + }, + ), + ); + } + } + None => {} + } + } + } + } + chainhook_sdk::types::BitcoinChainEvent::ChainUpdatedWithReorg(data) => { + if let Some(ref mut predicates_db_conn) = predicates_db_conn { + for confirmed_block in &data.confirmed_blocks { + match expire_predicates_for_block( + &Chain::Bitcoin, + confirmed_block.block_identifier.index, + predicates_db_conn, + &ctx, + ) { + Some(expired_predicate_uuids) => { + for uuid in expired_predicate_uuids.into_iter() { + let _ = observer_command_tx.send( + ObserverCommand::ExpireBitcoinPredicate( + HookExpirationData { + hook_uuid: uuid, + block_height: confirmed_block + .block_identifier + .index, + }, + ), + ); + } + } + None => {} + } + } + } + } + } + if let Some(ref mut predicates_db_conn) = predicates_db_conn { + update_stats_from_report(Chain::Bitcoin, report, predicates_db_conn, &ctx); + } } ObserverEvent::StacksChainEvent((chain_event, report)) => { let stacks_db_conn_rw = match open_readwrite_stacks_db_conn( @@ -289,6 +431,32 @@ impl Service { match &chain_event { StacksChainEvent::ChainUpdatedWithBlocks(data) => { stacks_event += 1; + if let Some(ref mut predicates_db_conn) = predicates_db_conn { + for confirmed_block in &data.confirmed_blocks { + match expire_predicates_for_block( + &Chain::Stacks, + confirmed_block.block_identifier.index, + predicates_db_conn, + &ctx, + ) { + Some(expired_predicate_uuids) => { + for uuid in expired_predicate_uuids.into_iter() { + let _ = observer_command_tx.send( + ObserverCommand::ExpireStacksPredicate( + HookExpirationData { + hook_uuid: uuid, + block_height: confirmed_block + .block_identifier + .index, + }, + ), + ); + } + } + None => {} + } + } + } confirm_entries_in_stacks_blocks( &data.confirmed_blocks, &stacks_db_conn_rw, @@ -301,6 +469,32 @@ impl Service { ) } StacksChainEvent::ChainUpdatedWithReorg(data) => { + if let Some(ref mut predicates_db_conn) = predicates_db_conn { + for confirmed_block in &data.confirmed_blocks { + match expire_predicates_for_block( + &Chain::Stacks, + confirmed_block.block_identifier.index, + predicates_db_conn, + &ctx, + ) { + Some(expired_predicate_uuids) => { + for uuid in expired_predicate_uuids.into_iter() { + let _ = observer_command_tx.send( + ObserverCommand::ExpireStacksPredicate( + HookExpirationData { + hook_uuid: uuid, + block_height: confirmed_block + .block_identifier + .index, + }, + ), + ); + } + } + None => {} + } + } + } confirm_entries_in_stacks_blocks( &data.confirmed_blocks, &stacks_db_conn_rw, @@ -315,10 +509,9 @@ impl Service { StacksChainEvent::ChainUpdatedWithMicroblocks(_) | StacksChainEvent::ChainUpdatedWithMicroblocksReorg(_) => {} }; - - for (_predicate_uuid, _blocks_ids) in report.predicates_evaluated.iter() {} - - for (_predicate_uuid, _blocks_ids) in report.predicates_triggered.iter() {} + if let Some(ref mut predicates_db_conn) = predicates_db_conn { + update_stats_from_report(Chain::Stacks, report, predicates_db_conn, &ctx); + } // Every 32 blocks, we will check if there's a new Stacks file archive to ingest if stacks_event > 32 { stacks_event = 0; @@ -342,26 +535,483 @@ impl Service { #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] +/// A high-level view of how `PredicateStatus` is used/updated can be seen here: docs/images/predicate-status-flowchart/PredicateStatusFlowchart.png. pub enum PredicateStatus { Scanning(ScanningData), Streaming(StreamingData), - InitialScanCompleted, + UnconfirmedExpiration(ExpiredData), + ConfirmedExpiration(ExpiredData), Interrupted(String), - Disabled, + New, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, Default)] pub struct ScanningData { pub number_of_blocks_to_scan: u64, - pub number_of_blocks_scanned: u64, - pub number_of_blocks_sent: u64, - pub current_block_height: u64, + pub number_of_blocks_evaluated: u64, + pub number_of_times_triggered: u64, + pub last_occurrence: u128, + pub last_evaluated_block_height: u64, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct StreamingData { - pub last_occurence: u64, - pub last_evaluation: u64, + pub last_occurrence: u128, + pub last_evaluation: u128, + pub number_of_times_triggered: u64, + pub number_of_blocks_evaluated: u64, + pub last_evaluated_block_height: u64, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ExpiredData { + pub number_of_blocks_evaluated: u64, + pub number_of_times_triggered: u64, + pub last_occurrence: u128, + pub last_evaluated_block_height: u64, + pub expired_at_block_height: u64, +} + +fn update_stats_from_report( + chain: Chain, + report: PredicateEvaluationReport, + predicates_db_conn: &mut Connection, + ctx: &Context, +) { + for (predicate_uuid, blocks_ids) in report.predicates_triggered.iter() { + if let Some(last_triggered_height) = blocks_ids.last().and_then(|b| Some(b.index)) { + let triggered_count = blocks_ids.len().try_into().unwrap(); + set_predicate_streaming_status( + StreamingDataType::Occurrence { + last_triggered_height, + triggered_count, + }, + &(ChainhookSpecification::either_stx_or_btc_key(predicate_uuid)), + predicates_db_conn, + &ctx, + ); + } + } + + for (predicate_uuid, blocks_ids) in report.predicates_evaluated.iter() { + // clone so we don't actually update the report + let mut blocks_ids = blocks_ids.clone(); + // any triggered or expired predicate was also evaluated. But we already updated the status for that block, + // so remove those matching blocks from the list of evaluated predicates + if let Some(triggered_block_ids) = report.predicates_triggered.get(predicate_uuid) { + for triggered_id in triggered_block_ids { + blocks_ids.remove(triggered_id); + } + } + if let Some(expired_block_ids) = report.predicates_expired.get(predicate_uuid) { + for expired_id in expired_block_ids { + blocks_ids.remove(expired_id); + } + } + if let Some(last_evaluated_height) = blocks_ids.last().and_then(|b| Some(b.index)) { + let evaluated_count = blocks_ids.len().try_into().unwrap(); + set_predicate_streaming_status( + StreamingDataType::Evaluation { + last_evaluated_height, + evaluated_count, + }, + &(ChainhookSpecification::either_stx_or_btc_key(predicate_uuid)), + predicates_db_conn, + &ctx, + ); + } + } + for (predicate_uuid, blocks_ids) in report.predicates_expired.iter() { + if let Some(last_evaluated_height) = blocks_ids.last().and_then(|b| Some(b.index)) { + let evaluated_count = blocks_ids.len().try_into().unwrap(); + set_unconfirmed_expiration_status( + &chain, + evaluated_count, + last_evaluated_height, + &(ChainhookSpecification::either_stx_or_btc_key(predicate_uuid)), + predicates_db_conn, + &ctx, + ); + } + } +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum StreamingDataType { + Occurrence { + last_triggered_height: u64, + triggered_count: u64, + }, + Evaluation { + last_evaluated_height: u64, + evaluated_count: u64, + }, + FinishedScanning, +} + +/// Updates a predicate's status to `Streaming` if `Scanning` is complete. +/// +/// If `StreamingStatusType` is `Occurrence`, sets the `last_occurrence` & `last_evaluation` fields to the current time. +/// +/// If `StreamingStatusType` is `Evaluation`, sets the `last_evaluation` field to the current time while leaving the `last_occurrence` field as it was. +fn set_predicate_streaming_status( + streaming_data_type: StreamingDataType, + predicate_key: &str, + predicates_db_conn: &mut Connection, + ctx: &Context, +) { + let now_ms = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("Could not get current time in ms") + .as_millis(); + let ( + last_occurrence, + number_of_blocks_evaluated, + number_of_times_triggered, + last_evaluated_block_height, + ) = { + let current_status = retrieve_predicate_status(&predicate_key, predicates_db_conn); + match current_status { + Some(status) => match status { + PredicateStatus::Streaming(StreamingData { + last_occurrence, + number_of_blocks_evaluated, + number_of_times_triggered, + last_evaluated_block_height, + last_evaluation: _, + }) => ( + last_occurrence, + number_of_blocks_evaluated, + number_of_times_triggered, + last_evaluated_block_height, + ), + PredicateStatus::Scanning(ScanningData { + number_of_blocks_to_scan: _, + number_of_blocks_evaluated, + number_of_times_triggered, + last_evaluated_block_height, + last_occurrence, + }) => ( + last_occurrence, + number_of_blocks_evaluated, + number_of_times_triggered, + last_evaluated_block_height, + ), + PredicateStatus::UnconfirmedExpiration(ExpiredData { + number_of_blocks_evaluated, + number_of_times_triggered, + last_occurrence, + last_evaluated_block_height, + expired_at_block_height: _, + }) => ( + last_occurrence, + number_of_blocks_evaluated, + number_of_times_triggered, + last_evaluated_block_height, + ), + PredicateStatus::New + | PredicateStatus::Interrupted(_) + | PredicateStatus::ConfirmedExpiration(_) => { + unreachable!("unreachable predicate status: {:?}", status) + } + }, + None => (0, 0, 0, 0), + } + }; + let ( + last_occurrence, + number_of_times_triggered, + number_of_blocks_evaluated, + last_evaluated_block_height, + ) = match streaming_data_type { + StreamingDataType::Occurrence { + last_triggered_height, + triggered_count, + } => ( + now_ms, + number_of_times_triggered + triggered_count, + number_of_blocks_evaluated + triggered_count, + last_triggered_height, + ), + StreamingDataType::Evaluation { + last_evaluated_height, + evaluated_count, + } => ( + last_occurrence, + number_of_times_triggered, + number_of_blocks_evaluated + evaluated_count, + last_evaluated_height, + ), + StreamingDataType::FinishedScanning => ( + last_occurrence, + number_of_times_triggered, + number_of_blocks_evaluated, + last_evaluated_block_height, + ), + }; + + update_predicate_status( + predicate_key, + PredicateStatus::Streaming(StreamingData { + last_occurrence, + last_evaluation: now_ms, + number_of_times_triggered, + last_evaluated_block_height, + number_of_blocks_evaluated, + }), + predicates_db_conn, + &ctx, + ); +} + +/// Updates a predicate's status to `Scanning`. +/// +/// Sets the `last_occurrence` time to the current time if a new trigger has occurred since the last status update. +pub fn set_predicate_scanning_status( + predicate_key: &str, + number_of_blocks_to_scan: u64, + number_of_blocks_evaluated: u64, + number_of_times_triggered: u64, + current_block_height: u64, + predicates_db_conn: &mut Connection, + ctx: &Context, +) { + let now_ms = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("Could not get current time in ms") + .as_millis(); + let current_status = retrieve_predicate_status(&predicate_key, predicates_db_conn); + let last_occurrence = match current_status { + Some(status) => match status { + PredicateStatus::Scanning(scanning_data) => { + if number_of_times_triggered > scanning_data.number_of_times_triggered { + now_ms + } else { + scanning_data.last_occurrence + } + } + PredicateStatus::Streaming(streaming_data) => { + if number_of_times_triggered > streaming_data.number_of_times_triggered { + now_ms + } else { + streaming_data.last_occurrence + } + } + PredicateStatus::UnconfirmedExpiration(expired_data) => { + if number_of_times_triggered > expired_data.number_of_times_triggered { + now_ms + } else { + expired_data.last_occurrence + } + } + PredicateStatus::New => { + if number_of_times_triggered > 0 { + now_ms + } else { + 0 + } + } + PredicateStatus::Interrupted(_) | PredicateStatus::ConfirmedExpiration(_) => { + unreachable!("unreachable predicate status: {:?}", status) + } + }, + None => 0, + }; + + update_predicate_status( + predicate_key, + PredicateStatus::Scanning(ScanningData { + number_of_blocks_to_scan, + number_of_blocks_evaluated, + number_of_times_triggered, + last_occurrence, + last_evaluated_block_height: current_block_height, + }), + predicates_db_conn, + &ctx, + ); +} + +/// Updates a predicate's status to `InitialScanCompleted`. +/// +/// Preserves the scanning metrics from the predicate's previous status +pub fn set_unconfirmed_expiration_status( + chain: &Chain, + number_of_new_blocks_evaluated: u64, + last_evaluated_block_height: u64, + predicate_key: &str, + predicates_db_conn: &mut Connection, + ctx: &Context, +) { + let current_status = retrieve_predicate_status(&predicate_key, predicates_db_conn); + let ( + number_of_blocks_evaluated, + number_of_times_triggered, + last_occurrence, + expired_at_block_height, + ) = match current_status { + Some(status) => match status { + PredicateStatus::Scanning(ScanningData { + number_of_blocks_to_scan: _, + number_of_blocks_evaluated, + number_of_times_triggered, + last_occurrence, + last_evaluated_block_height, + }) => ( + number_of_blocks_evaluated + number_of_new_blocks_evaluated, + number_of_times_triggered, + last_occurrence, + last_evaluated_block_height, + ), + PredicateStatus::New => (0, 0, 0, 0), + PredicateStatus::Streaming(StreamingData { + last_occurrence, + last_evaluation: _, + number_of_times_triggered, + number_of_blocks_evaluated, + last_evaluated_block_height, + }) => ( + number_of_blocks_evaluated + number_of_new_blocks_evaluated, + number_of_times_triggered, + last_occurrence, + last_evaluated_block_height, + ), + PredicateStatus::UnconfirmedExpiration(ExpiredData { + number_of_blocks_evaluated, + number_of_times_triggered, + last_occurrence, + last_evaluated_block_height: _, + expired_at_block_height, + }) => ( + number_of_blocks_evaluated + number_of_new_blocks_evaluated, + number_of_times_triggered, + last_occurrence, + expired_at_block_height, + ), + PredicateStatus::Interrupted(_) | PredicateStatus::ConfirmedExpiration(_) => { + unreachable!("unreachable predicate status: {:?}", status) + } + }, + None => (0, 0, 0, 0), + }; + update_predicate_status( + predicate_key, + PredicateStatus::UnconfirmedExpiration(ExpiredData { + number_of_blocks_evaluated, + number_of_times_triggered, + last_occurrence, + last_evaluated_block_height, + expired_at_block_height, + }), + predicates_db_conn, + &ctx, + ); + insert_predicate_expiration( + chain, + expired_at_block_height, + predicate_key, + predicates_db_conn, + &ctx, + ); +} + +pub fn set_confirmed_expiration_status( + predicate_key: &str, + predicates_db_conn: &mut Connection, + ctx: &Context, +) { + let current_status = retrieve_predicate_status(&predicate_key, predicates_db_conn); + let expired_data = match current_status { + Some(status) => match status { + PredicateStatus::UnconfirmedExpiration(expired_data) => expired_data, + _ => unreachable!("unreachable predicate status: {:?}", status), + }, + None => unreachable!(), + }; + update_predicate_status( + predicate_key, + PredicateStatus::ConfirmedExpiration(expired_data), + predicates_db_conn, + &ctx, + ); +} + +fn get_predicate_expiration_key(chain: &Chain, block_height: u64) -> String { + match chain { + Chain::Bitcoin => format!("expires_at:bitcoin_block:{}", block_height), + Chain::Stacks => format!("expires_at:stacks_block:{}", block_height), + } +} +fn expire_predicates_for_block( + chain: &Chain, + confirmed_block_index: u64, + predicates_db_conn: &mut Connection, + ctx: &Context, +) -> Option> { + match get_predicates_expiring_at_block(chain, confirmed_block_index, predicates_db_conn, ctx) { + Some(predicates_to_expire) => { + for predicate_key in predicates_to_expire.iter() { + set_confirmed_expiration_status(predicate_key, predicates_db_conn, ctx); + } + Some(predicates_to_expire) + } + None => None, + } +} + +fn insert_predicate_expiration( + chain: &Chain, + expired_at_block_height: u64, + predicate_key: &str, + predicates_db_conn: &mut Connection, + ctx: &Context, +) { + let key = get_predicate_expiration_key(chain, expired_at_block_height); + let mut predicates_expiring_at_block = + get_predicates_expiring_at_block(chain, expired_at_block_height, predicates_db_conn, &ctx) + .unwrap_or(vec![]); + predicates_expiring_at_block.push(predicate_key.to_owned()); + let serialized_expiring_predicates = json!(predicates_expiring_at_block).to_string(); + if let Err(e) = + predicates_db_conn.hset::<_, _, _, ()>(&key, "predicates", &serialized_expiring_predicates) + { + error!( + ctx.expect_logger(), + "Error updating expired predicates index: {}", + e.to_string() + ); + } else { + info!( + ctx.expect_logger(), + "Updating expired predicates at block height {expired_at_block_height} with predicate: {predicate_key}" + ); + } +} + +fn get_predicates_expiring_at_block( + chain: &Chain, + block_index: u64, + predicates_db_conn: &mut Connection, + ctx: &Context, +) -> Option> { + let key = get_predicate_expiration_key(chain, block_index); + match predicates_db_conn.hget::<_, _, String>(key.to_string(), "predicates") { + Ok(ref payload) => match serde_json::from_str(payload) { + Ok(data) => { + if let Err(e) = predicates_db_conn.hdel::<_, _, u64>(key.to_string(), "predicates") + { + error!( + ctx.expect_logger(), + "Error removing expired predicates index: {}", + e.to_string() + ); + } + Some(data) + } + Err(_) => None, + }, + Err(_) => None, + } } pub fn update_predicate_status( @@ -387,7 +1037,7 @@ pub fn update_predicate_status( } } -pub fn update_predicate_spec( +fn update_predicate_spec( predicate_key: &str, spec: &ChainhookSpecification, predicates_db_conn: &mut Connection, @@ -410,7 +1060,7 @@ pub fn update_predicate_spec( } } -pub fn retrieve_predicate_status( +fn retrieve_predicate_status( predicate_key: &str, predicates_db_conn: &mut Connection, ) -> Option { diff --git a/components/chainhook-cli/src/service/runloops.rs b/components/chainhook-cli/src/service/runloops.rs index 0d1882dae..caa6c6f1b 100644 --- a/components/chainhook-cli/src/service/runloops.rs +++ b/components/chainhook-cli/src/service/runloops.rs @@ -21,14 +21,19 @@ use crate::{ storage::open_readonly_stacks_db_conn, }; +use super::ScanningData; + pub fn start_stacks_scan_runloop( config: &Config, - stacks_scan_op_rx: crossbeam_channel::Receiver, + stacks_scan_op_rx: crossbeam_channel::Receiver<( + StacksChainhookSpecification, + Option, + )>, observer_command_tx: Sender, ctx: &Context, ) { let stacks_scan_pool = ThreadPool::new(config.limits.max_number_of_concurrent_stacks_scans); - while let Ok(predicate_spec) = stacks_scan_op_rx.recv() { + while let Ok((predicate_spec, unfinished_scan_data)) = stacks_scan_op_rx.recv() { let moved_ctx = ctx.clone(); let moved_config = config.clone(); let observer_command_tx = observer_command_tx.clone(); @@ -49,12 +54,13 @@ pub fn start_stacks_scan_runloop( let op = scan_stacks_chainstate_via_rocksdb_using_predicate( &predicate_spec, + unfinished_scan_data, &stacks_db_conn, &moved_config, &moved_ctx, ); let res = hiro_system_kit::nestable_block_on(op); - let last_block_scanned = match res { + let (last_block_scanned, predicate_is_expired) = match res { Ok(last_block_scanned) => last_block_scanned, Err(e) => { warn!( @@ -84,9 +90,11 @@ pub fn start_stacks_scan_runloop( moved_ctx.expect_logger(), "Stacks chainstate scan completed up to block: {}", last_block_scanned.index ); - let _ = observer_command_tx.send(ObserverCommand::EnablePredicate( - ChainhookSpecification::Stacks(predicate_spec), - )); + if !predicate_is_expired { + let _ = observer_command_tx.send(ObserverCommand::EnablePredicate( + ChainhookSpecification::Stacks(predicate_spec), + )); + } }); } let res = stacks_scan_pool.join(); @@ -95,25 +103,29 @@ pub fn start_stacks_scan_runloop( pub fn start_bitcoin_scan_runloop( config: &Config, - bitcoin_scan_op_rx: crossbeam_channel::Receiver, + bitcoin_scan_op_rx: crossbeam_channel::Receiver<( + BitcoinChainhookSpecification, + Option, + )>, observer_command_tx: Sender, ctx: &Context, ) { let bitcoin_scan_pool = ThreadPool::new(config.limits.max_number_of_concurrent_bitcoin_scans); - while let Ok(predicate_spec) = bitcoin_scan_op_rx.recv() { + while let Ok((predicate_spec, unfinished_scan_data)) = bitcoin_scan_op_rx.recv() { let moved_ctx = ctx.clone(); let moved_config = config.clone(); let observer_command_tx = observer_command_tx.clone(); bitcoin_scan_pool.execute(move || { let op = scan_bitcoin_chainstate_via_rpc_using_predicate( &predicate_spec, + unfinished_scan_data, &moved_config, &moved_ctx, ); - match hiro_system_kit::nestable_block_on(op) { - Ok(_) => {} + let predicate_is_expired = match hiro_system_kit::nestable_block_on(op) { + Ok(predicate_is_expired) => predicate_is_expired, Err(e) => { error!( moved_ctx.expect_logger(), @@ -137,9 +149,11 @@ pub fn start_bitcoin_scan_runloop( return; } }; - let _ = observer_command_tx.send(ObserverCommand::EnablePredicate( - ChainhookSpecification::Bitcoin(predicate_spec), - )); + if !predicate_is_expired { + let _ = observer_command_tx.send(ObserverCommand::EnablePredicate( + ChainhookSpecification::Bitcoin(predicate_spec), + )); + } }); } let _ = bitcoin_scan_pool.join(); diff --git a/components/chainhook-cli/src/service/tests/helpers.rs b/components/chainhook-cli/src/service/tests/helpers.rs new file mode 100644 index 000000000..d42b34788 --- /dev/null +++ b/components/chainhook-cli/src/service/tests/helpers.rs @@ -0,0 +1,70 @@ +use crate::scan::stacks::Record; +use crate::scan::stacks::RecordKind; +use chainhook_sdk::indexer::stacks::NewBlock; +use chainhook_sdk::indexer::stacks::NewTransaction; + +fn create_stacks_tsv_transaction(index: u64) -> NewTransaction { + NewTransaction { + txid: format!("transaction_id_{index}"), + tx_index: index as usize, + status: format!("success"), + raw_result: format!("0x0703"), + raw_tx: format!("0x00000000010400e2cd0871da5bdd38c4d5569493dc3b14aac4e0a10000000000000019000000000000000000008373b16e4a6f9d87864c314dd77bbd8b27a2b1805e96ec5a6509e7e4f833cd6a7bdb2462c95f6968a867ab6b0e8f0a6498e600dbc46cfe9f84c79709da7b9637010200000000040000000000000000000000000000000000000000000000000000000000000000"), + execution_cost: None, + } +} + +pub fn create_stacks_tsv_block(height: u64, burn_block_height: u64) -> NewBlock { + let parent_height = if height == 0 { 0 } else { height - 1 }; + let parent_burn_block_height = if burn_block_height == 0 { + 0 + } else { + burn_block_height - 1 + }; + + NewBlock { + block_height: height, + block_hash: format!("0x000000000000000000000000000000000000000000000000000000000000000{height}"), + index_block_hash: format!("0x000000000000000000000000000000000000000000000000000000000000000{height}"), + burn_block_height: burn_block_height, + burn_block_hash: format!("0x000000000000000000000000000000000000000000000000000000000000000{burn_block_height}"), + parent_block_hash: format!("0x000000000000000000000000000000000000000000000000000000000000000{parent_height}"), + parent_index_block_hash: format!("0x000000000000000000000000000000000000000000000000000000000000000{parent_height}"), + parent_microblock: "0x0000000000000000000000000000000000000000000000000000000000000000" + .into(), + parent_microblock_sequence: 0, + parent_burn_block_hash: format!("0x000000000000000000000000000000000000000000000000000000000000000{parent_burn_block_height}"), + parent_burn_block_height: burn_block_height, + parent_burn_block_timestamp: 0, + transactions: (0..4).map(|i| create_stacks_tsv_transaction(i)).collect(), + events: vec![], + matured_miner_rewards: vec![], + } +} + +fn create_stacks_tsv_block_received_record(height: u64, burn_block_height: u64) -> Record { + let block = create_stacks_tsv_block(height, burn_block_height); + let serialized_block = serde_json::to_string(&block).unwrap(); + Record { + id: height, + created_at: height.to_string(), + kind: RecordKind::StacksBlockReceived, + blob: Some(serialized_block), + } +} +pub const WORKING_DIR: &str = "src/service/tests/fixtures/tmp"; +pub fn create_stacks_tsv_with_blocks(block_count: u64, dir: &str) { + let mut writer = csv::WriterBuilder::default() + .has_headers(false) + .delimiter(b'\t') + .double_quote(false) + .quote(b'\'') + .buffer_capacity(8 * (1 << 10)) + .from_path(dir) + .expect("unable to create csv writer"); + for i in 1..block_count + 1 { + writer + .serialize(create_stacks_tsv_block_received_record(i, i + 100)) + .unwrap(); + } +} diff --git a/components/chainhook-cli/src/service/tests/mod.rs b/components/chainhook-cli/src/service/tests/mod.rs index a8d9cfcb4..a142ce304 100644 --- a/components/chainhook-cli/src/service/tests/mod.rs +++ b/components/chainhook-cli/src/service/tests/mod.rs @@ -1,18 +1,42 @@ +use chainhook_sdk::indexer::stacks::NewBlock; +use chainhook_sdk::indexer::IndexerConfig; +use chainhook_sdk::types::BitcoinBlockSignaling; +use chainhook_sdk::types::BitcoinNetwork; +use chainhook_sdk::types::Chain; +use chainhook_sdk::types::StacksNetwork; +use chainhook_sdk::types::StacksNodeConfig; +use redis::Commands; use rocket::serde::json::Value as JsonValue; use rocket::Shutdown; use std::net::TcpListener; +use std::path::PathBuf; use std::sync::mpsc::Receiver; +use std::thread::sleep; +use std::time::Duration; use test_case::test_case; use chainhook_sdk::observer::ObserverCommand; +use crate::config::Config; +use crate::config::EventSourceConfig; +use crate::config::LimitsConfig; +use crate::config::PathConfig; +use crate::config::PredicatesApi; use crate::config::PredicatesApiConfig; +use crate::config::StorageConfig; use crate::config::DEFAULT_REDIS_URI; +use crate::scan::stacks::consolidate_local_stacks_chainstate_using_csv; +use crate::service::PredicateStatus; +use crate::service::Service; + +use self::helpers::{create_stacks_tsv_block, create_stacks_tsv_with_blocks, WORKING_DIR}; use super::channel; use super::http_api::start_predicate_api_server; use super::Context; +mod helpers; + const UUID: &str = "4ecc-4ecc-435b-9948-d5eeca1c3ce6"; fn build_bitcoin_payload( @@ -20,6 +44,7 @@ fn build_bitcoin_payload( if_this: Option, then_that: Option, filter: Option, + uuid: Option<&str>, ) -> JsonValue { let network = network.unwrap_or("mainnet"); let if_this = if_this.unwrap_or(json!({"scope":"block"})); @@ -36,7 +61,7 @@ fn build_bitcoin_payload( } json!({ "chain": "bitcoin", - "uuid": UUID, + "uuid": uuid.unwrap_or(UUID), "name": "test", "version": 1, "networks": { @@ -50,6 +75,7 @@ fn build_stacks_payload( if_this: Option, then_that: Option, filter: Option, + uuid: Option<&str>, ) -> JsonValue { let network = network.unwrap_or("mainnet"); let if_this = if_this.unwrap_or(json!({"scope":"txid", "equals": "0xfaaac1833dc4883e7ec28f61e35b41f896c395f8d288b1a177155de2abd6052f"})); @@ -66,7 +92,7 @@ fn build_stacks_payload( } json!({ "chain": "stacks", - "uuid": UUID, + "uuid": uuid.unwrap_or(UUID), "name": "test", "version": 1, "networks": { @@ -131,7 +157,30 @@ async fn call_register_predicate(predicate: &JsonValue, port: u16) -> Result Result { + let client = reqwest::Client::new(); + let res =client + .get(format!("http://localhost:{port}/v1/chainhooks/{predicate_uuid}")) + .send() + .await + .map_err(|e| { + format!( + "Failed to make POST request to localhost:8765/v1/chainhooks: {}", + e + ) + })? + .json::() + .await + .map_err(|e| { + format!( + "Failed to deserialize response of GET request to localhost:{port}/v1/chainhooks: {}", e ) })?; @@ -201,7 +250,7 @@ async fn test_register_predicate(predicate: JsonValue) -> Result<(), (String, Sh #[test_case("regtest" ; "regtest")] #[tokio::test] async fn it_handles_bitcoin_predicates_with_network(network: &str) { - let predicate = build_bitcoin_payload(Some(network), None, None, None); + let predicate = build_bitcoin_payload(Some(network), None, None, None, None); match test_register_predicate(predicate).await { Ok(_) => {} Err((e, shutdown)) => { @@ -232,7 +281,7 @@ async fn it_handles_bitcoin_predicates_with_network(network: &str) { #[test_case(json!({"scope": "ordinals_protocol","operation": "inscription_feed"}) ; "with scope ordinals_protocol operation inscription_feed")] #[tokio::test] async fn it_handles_bitcoin_if_this_predicates(if_this: JsonValue) { - let predicate = build_bitcoin_payload(None, Some(if_this), None, None); + let predicate = build_bitcoin_payload(None, Some(if_this), None, None, None); match test_register_predicate(predicate).await { Ok(_) => {} Err((e, shutdown)) => { @@ -247,7 +296,7 @@ async fn it_handles_bitcoin_if_this_predicates(if_this: JsonValue) { #[test_case(json!({"file_append": {"path": "./path"}}) ; "with file_append action")] #[tokio::test] async fn it_handles_bitcoin_then_that_predicates(then_that: JsonValue) { - let predicate = build_bitcoin_payload(None, None, Some(then_that), None); + let predicate = build_bitcoin_payload(None, None, Some(then_that), None, None); match test_register_predicate(predicate).await { Ok(_) => {} Err((e, shutdown)) => { @@ -268,7 +317,7 @@ async fn it_handles_bitcoin_then_that_predicates(then_that: JsonValue) { #[test_case(json!({"include_witness": true}) ; "include_witness filter")] #[tokio::test] async fn it_handles_bitcoin_predicates_with_filters(filters: JsonValue) { - let predicate = build_bitcoin_payload(None, None, None, Some(filters)); + let predicate = build_bitcoin_payload(None, None, None, Some(filters), None); match test_register_predicate(predicate).await { Ok(_) => {} Err((e, shutdown)) => { @@ -284,7 +333,7 @@ async fn it_handles_bitcoin_predicates_with_filters(filters: JsonValue) { #[test_case("simnet" ; "simnet")] #[tokio::test] async fn it_handles_stacks_predicates_with_network(network: &str) { - let predicate = build_stacks_payload(Some(network), None, None, None); + let predicate = build_stacks_payload(Some(network), None, None, None, None); match test_register_predicate(predicate).await { Ok(_) => {} Err((e, shutdown)) => { @@ -315,7 +364,7 @@ async fn it_handles_stacks_predicates_with_network(network: &str) { #[test_case(json!({"scope":"txid","equals": "0xfaaac1833dc4883e7ec28f61e35b41f896c395f8d288b1a177155de2abd6052f"}); "with scope txid")] #[tokio::test] async fn it_handles_stacks_if_this_predicates(if_this: JsonValue) { - let predicate = build_stacks_payload(None, Some(if_this), None, None); + let predicate = build_stacks_payload(None, Some(if_this), None, None, None); match test_register_predicate(predicate).await { Ok(_) => {} Err((e, shutdown)) => { @@ -330,7 +379,7 @@ async fn it_handles_stacks_if_this_predicates(if_this: JsonValue) { #[test_case(json!({"file_append": {"path": "./path"}}) ; "with file_append action")] #[tokio::test] async fn it_handles_stacks_then_that_predicates(then_that: JsonValue) { - let predicate = build_stacks_payload(None, None, Some(then_that), None); + let predicate = build_stacks_payload(None, None, Some(then_that), None, None); match test_register_predicate(predicate).await { Ok(_) => {} Err((e, shutdown)) => { @@ -349,7 +398,7 @@ async fn it_handles_stacks_then_that_predicates(then_that: JsonValue) { #[test_case(json!({"decode_clarity_values": true}) ; "decode_clarity_values filter")] #[tokio::test] async fn it_handles_stacks_predicates_with_filters(filters: JsonValue) { - let predicate = build_stacks_payload(None, None, None, Some(filters)); + let predicate = build_stacks_payload(None, None, None, Some(filters), None); match test_register_predicate(predicate).await { Ok(_) => {} Err((e, shutdown)) => { @@ -358,3 +407,241 @@ async fn it_handles_stacks_predicates_with_filters(filters: JsonValue) { } } } +fn flush_redis() { + let client = + redis::Client::open("redis://localhost:6378/").expect("unable to connect to redis"); + let mut predicate_db_conn = client.get_connection().expect("unable to connect to redis"); + let predicate_keys: Vec = predicate_db_conn + .scan_match("predicate:*") + .unwrap() + .into_iter() + .collect(); + for k in predicate_keys { + predicate_db_conn + .hdel::<_, _, ()>(&k, "predicates") + .unwrap(); + predicate_db_conn.hdel::<_, _, ()>(&k, "status").unwrap(); + predicate_db_conn + .hdel::<_, _, ()>(&k, "specification") + .unwrap(); + } +} +async fn start_chainhook_service( + chainhook_port: u16, + stacks_rpc_port: u16, + stacks_ingestion_port: u16, + working_dir: &str, + tsv_dir: &str, +) { + flush_redis(); + let logger = hiro_system_kit::log::setup_logger(); + let _guard = hiro_system_kit::log::setup_global_logger(logger.clone()); + let ctx = Context { + logger: Some(logger), + tracer: false, + }; + let api_config = PredicatesApiConfig { + http_port: chainhook_port, + display_logs: true, + database_uri: "redis://localhost:6378/".to_string(), + }; + let mut config = Config { + http_api: PredicatesApi::On(api_config), + storage: StorageConfig { + working_dir: working_dir.into(), + }, + event_sources: vec![EventSourceConfig::StacksTsvPath(PathConfig { + file_path: PathBuf::from(tsv_dir), + })], + limits: LimitsConfig { + max_number_of_bitcoin_predicates: 100, + max_number_of_concurrent_bitcoin_scans: 100, + max_number_of_stacks_predicates: 10, + max_number_of_concurrent_stacks_scans: 10, + max_number_of_processing_threads: 16, + max_number_of_networking_threads: 16, + max_caching_memory_size_mb: 32000, + }, + network: IndexerConfig { + bitcoin_network: BitcoinNetwork::Regtest, + stacks_network: StacksNetwork::Devnet, + bitcoind_rpc_username: "user".into(), + bitcoind_rpc_password: "user".into(), + bitcoind_rpc_url: "http://localhost:18443".into(), + bitcoin_block_signaling: BitcoinBlockSignaling::Stacks(StacksNodeConfig { + rpc_url: format!("http://localhost:{stacks_rpc_port}"), + ingestion_port: stacks_ingestion_port, + }), + }, + }; + // delete current database + consolidate_local_stacks_chainstate_using_csv(&mut config, &ctx) + .await + .unwrap(); + let mut service = Service::new(config, ctx); + let startup_predicates = vec![]; + let _ = hiro_system_kit::thread_named("Stacks service") + .spawn(move || { + let future = service.run(startup_predicates); + let _ = hiro_system_kit::nestable_block_on(future); + }) + .expect("unable to spawn thread"); + + // Loop to check if the server is ready + let mut attempts = 0; + const MAX_ATTEMPTS: u32 = 10; + loop { + if attempts >= MAX_ATTEMPTS { + panic!("failed to start server"); + } + + if let Ok(_client) = reqwest::Client::new() + .get(format!("http://localhost:{}/ping", chainhook_port)) + .send() + .await + { + break; // Server is ready + } + + tokio::time::sleep(std::time::Duration::from_secs(1)).await; + attempts += 1; + } +} + +fn get_random_uuid() -> String { + let mut rng = rand::thread_rng(); + let random_digit: u64 = rand::Rng::gen(&mut rng); + format!("test-uuid-{random_digit}") +} + +fn get_random_dirs() -> (String, String) { + let mut rng = rand::thread_rng(); + let random_digit: u64 = rand::Rng::gen(&mut rng); + let working_dir = format!("{WORKING_DIR}/{random_digit}"); + let tsv_dir = format!("./{working_dir}/stacks_blocks.tsv"); + std::fs::create_dir_all(&working_dir).unwrap(); + (working_dir, tsv_dir) +} + +async fn get_predicate_status(uuid: &str, port: u16) -> PredicateStatus { + let res = call_get_predicate(uuid, port).await.unwrap(); + let res = res.as_object().unwrap(); + let res = res.get("result").unwrap(); + let status: PredicateStatus = + serde_json::from_value(res.get("status").unwrap().clone()).unwrap(); + status +} + +fn get_free_port() -> u16 { + let listener = TcpListener::bind("127.0.0.1:0").expect("Failed to bind to port 0"); + let port = listener.local_addr().unwrap().port(); + drop(listener); + port +} + +fn assert_confirmed_expiration_status(status: PredicateStatus) { + match status { + PredicateStatus::ConfirmedExpiration(_) => {} + _ => panic!("expected ConfirmedExpiration status, found {:?}", status), + } +} +fn assert_unconfirmed_expiration_status(status: PredicateStatus) { + match status { + PredicateStatus::UnconfirmedExpiration(_) => {} + _ => panic!("expected UnconfirmedExpiration status, found {:?}", status), + } +} + +fn assert_streaming_status(status: PredicateStatus) { + match status { + PredicateStatus::Streaming(_) => {} + _ => panic!("expected Streaming status, found {:?}", status), + } +} + +async fn mine_stacks_block(port: u16, height: u64, burn_block_height: u64) { + let block = create_stacks_tsv_block(height, burn_block_height); + let serialized_block = serde_json::to_string(&block).unwrap(); + let _block_again: NewBlock = serde_json::from_str(&serialized_block).unwrap(); + let client = reqwest::Client::new(); + let _res = client + .post(format!("http://localhost:{port}/new_block")) + .header("content-type", "application/json") + .body(serialized_block) + .send() + .await + .unwrap() + .text() + .await + .unwrap(); +} + +#[test_case(Chain::Stacks, 5, 0, Some(3) => ignore using assert_confirmed_expiration_status; "scanning to predicate_end_block lower than starting_chain_tip ends with ConfirmedExpiration status for Stacks chain")] +#[test_case(Chain::Stacks, 5, 0, None => ignore using assert_streaming_status; "scanning with no predicate_end_block ends with Streaming status for Stacks chain")] +#[test_case(Chain::Stacks, 3, 0, Some(5) => ignore using assert_streaming_status; "scanning to predicate_end_block greater than chain_tip ends with Streaming status for Stacks chain")] +#[test_case(Chain::Stacks, 5, 3, Some(7) => ignore using assert_unconfirmed_expiration_status; "scanning with predicate_end_block greater than starting_chain_tip and mining until end_block ends with UnconfirmedExpiration status for Stacks chain")] +#[test_case(Chain::Bitcoin, 5, 0, Some(3) => ignore using assert_confirmed_expiration_status; "scanning to predicate_end_block lower than starting_chain_tip ends with ConfirmedExpiration status for Bitcoin chain")] +#[tokio::test] +//#[serial_test::serial] +async fn predicate_status_is_updated( + chain: Chain, + starting_chain_tip: u64, + blocks_to_mine: u64, + predicate_end_block: Option, +) -> PredicateStatus { + let chainhook_service_port = get_free_port(); + let stacks_rpc_port = get_free_port(); + let stacks_ingestion_port = get_free_port(); + let (working_dir, tsv_dir) = get_random_dirs(); + let uuid = &get_random_uuid(); + let predicate = match chain { + Chain::Stacks => { + create_stacks_tsv_with_blocks(starting_chain_tip, &tsv_dir); + build_stacks_payload( + Some("devnet"), + Some(json!({"scope":"block_height", "lower_than": 100})), + None, + Some(json!({"start_block": 1, "end_block": predicate_end_block})), + Some(uuid), + ) + } + Chain::Bitcoin => build_bitcoin_payload( + Some("regtest"), + Some(json!({"scope":"block"})), + None, + Some(json!({"start_block": 1, "end_block": predicate_end_block})), + Some(uuid), + ), + }; + start_chainhook_service( + chainhook_service_port, + stacks_rpc_port, + stacks_ingestion_port, + &working_dir, + &tsv_dir, + ) + .await; + let res = call_register_predicate(&predicate, chainhook_service_port) + .await + .unwrap(); + let res = res.as_object().unwrap(); + let status = res.get("status").unwrap(); + assert_eq!(status, &json!(200)); + + match get_predicate_status(uuid, chainhook_service_port).await { + PredicateStatus::New => {} + _ => panic!("initially registered predicate should have new status"), + } + for i in 0..blocks_to_mine { + mine_stacks_block( + stacks_ingestion_port, + i + starting_chain_tip, + i + starting_chain_tip + 100, + ) + .await; + } + sleep(Duration::new(2, 0)); + let result = get_predicate_status(uuid, chainhook_service_port).await; + std::fs::remove_dir_all(working_dir).unwrap(); + result +} diff --git a/components/chainhook-cli/src/storage/mod.rs b/components/chainhook-cli/src/storage/mod.rs index 496d701c2..2304a722f 100644 --- a/components/chainhook-cli/src/storage/mod.rs +++ b/components/chainhook-cli/src/storage/mod.rs @@ -28,12 +28,29 @@ fn get_default_stacks_db_file_path(base_dir: &PathBuf) -> PathBuf { destination_path } -pub fn open_readonly_stacks_db_conn(base_dir: &PathBuf, _ctx: &Context) -> Result { +pub fn open_readonly_stacks_db_conn(base_dir: &PathBuf, ctx: &Context) -> Result { let path = get_default_stacks_db_file_path(&base_dir); let opts = get_db_default_options(); - let db = DB::open_for_read_only(&opts, path, false) - .map_err(|e| format!("unable to open stacks.rocksdb: {}", e.to_string()))?; - Ok(db) + match DB::open_for_read_only(&opts, path.clone(), false) { + Ok(db) => Ok(db), + Err(e) => { + if e.to_string() + .contains("IO error: No such file or directory") + { + return match open_readwrite_stacks_db_conn(base_dir, ctx) { + Ok(_) => { + let db = DB::open_for_read_only(&opts, path, false).map_err(|e| { + format!("unable to open stacks.rocksdb: {}", e.to_string()) + })?; + Ok(db) + } + Err(e) => Err(e), + }; + } else { + return Err(format!("unable to open stacks.rocksdb: {}", e.to_string())); + } + } + } } pub fn open_readwrite_stacks_db_conn(base_dir: &PathBuf, _ctx: &Context) -> Result { diff --git a/components/chainhook-sdk/src/chainhooks/bitcoin/mod.rs b/components/chainhook-sdk/src/chainhooks/bitcoin/mod.rs index 39485d1f9..f6ce4a596 100644 --- a/components/chainhook-sdk/src/chainhooks/bitcoin/mod.rs +++ b/components/chainhook-sdk/src/chainhooks/bitcoin/mod.rs @@ -59,25 +59,33 @@ pub fn evaluate_bitcoin_chainhooks_on_chain_event<'a>( ) -> ( Vec>, BTreeMap<&'a str, &'a BlockIdentifier>, + BTreeMap<&'a str, &'a BlockIdentifier>, ) { let mut evaluated_predicates = BTreeMap::new(); let mut triggered_predicates = vec![]; + let mut expired_predicates = BTreeMap::new(); + match chain_event { BitcoinChainEvent::ChainUpdatedWithBlocks(event) => { for chainhook in active_chainhooks.iter() { let mut apply = vec![]; let rollback = vec![]; + let end_block = chainhook.end_block.unwrap_or(u64::MAX); for block in event.new_blocks.iter() { evaluated_predicates.insert(chainhook.uuid.as_str(), &block.block_identifier); - let mut hits = vec![]; - for tx in block.transactions.iter() { - if chainhook.predicate.evaluate_transaction_predicate(&tx, ctx) { - hits.push(tx); + if end_block > block.block_identifier.index { + let mut hits = vec![]; + for tx in block.transactions.iter() { + if chainhook.predicate.evaluate_transaction_predicate(&tx, ctx) { + hits.push(tx); + } } - } - if hits.len() > 0 { - apply.push((hits, block)); + if hits.len() > 0 { + apply.push((hits, block)); + } + } else { + expired_predicates.insert(chainhook.uuid.as_str(), &block.block_identifier); } } @@ -94,28 +102,37 @@ pub fn evaluate_bitcoin_chainhooks_on_chain_event<'a>( for chainhook in active_chainhooks.iter() { let mut apply = vec![]; let mut rollback = vec![]; + let end_block = chainhook.end_block.unwrap_or(u64::MAX); for block in event.blocks_to_rollback.iter() { - let mut hits = vec![]; - for tx in block.transactions.iter() { - if chainhook.predicate.evaluate_transaction_predicate(&tx, ctx) { - hits.push(tx); + if end_block > block.block_identifier.index { + let mut hits = vec![]; + for tx in block.transactions.iter() { + if chainhook.predicate.evaluate_transaction_predicate(&tx, ctx) { + hits.push(tx); + } } - } - if hits.len() > 0 { - rollback.push((hits, block)); + if hits.len() > 0 { + rollback.push((hits, block)); + } + } else { + expired_predicates.insert(chainhook.uuid.as_str(), &block.block_identifier); } } for block in event.blocks_to_apply.iter() { evaluated_predicates.insert(chainhook.uuid.as_str(), &block.block_identifier); - let mut hits = vec![]; - for tx in block.transactions.iter() { - if chainhook.predicate.evaluate_transaction_predicate(&tx, ctx) { - hits.push(tx); + if end_block > block.block_identifier.index { + let mut hits = vec![]; + for tx in block.transactions.iter() { + if chainhook.predicate.evaluate_transaction_predicate(&tx, ctx) { + hits.push(tx); + } } - } - if hits.len() > 0 { - apply.push((hits, block)); + if hits.len() > 0 { + apply.push((hits, block)); + } + } else { + expired_predicates.insert(chainhook.uuid.as_str(), &block.block_identifier); } } if !apply.is_empty() || !rollback.is_empty() { @@ -128,7 +145,11 @@ pub fn evaluate_bitcoin_chainhooks_on_chain_event<'a>( } } } - (triggered_predicates, evaluated_predicates) + ( + triggered_predicates, + evaluated_predicates, + expired_predicates, + ) } pub fn serialize_bitcoin_payload_to_json<'a>( diff --git a/components/chainhook-sdk/src/chainhooks/stacks/mod.rs b/components/chainhook-sdk/src/chainhooks/stacks/mod.rs index 2cb5c4585..d4ba4a808 100644 --- a/components/chainhook-sdk/src/chainhooks/stacks/mod.rs +++ b/components/chainhook-sdk/src/chainhooks/stacks/mod.rs @@ -67,9 +67,11 @@ pub fn evaluate_stacks_chainhooks_on_chain_event<'a>( ) -> ( Vec>, BTreeMap<&'a str, &'a BlockIdentifier>, + BTreeMap<&'a str, &'a BlockIdentifier>, ) { let mut triggered_predicates = vec![]; let mut evaluated_predicates = BTreeMap::new(); + let mut expired_predicates = BTreeMap::new(); match chain_event { StacksChainEvent::ChainUpdatedWithBlocks(update) => { for chainhook in active_chainhooks.iter() { @@ -84,26 +86,35 @@ pub fn evaluate_stacks_chainhooks_on_chain_event<'a>( for parents_microblock_to_apply in block_update.parent_microblocks_to_apply.iter() { - apply.append(&mut evaluate_stacks_chainhook_on_blocks( - vec![parents_microblock_to_apply], - chainhook, - ctx, - )); + let (mut occurrences, mut expirations) = + evaluate_stacks_chainhook_on_blocks( + vec![parents_microblock_to_apply], + chainhook, + ctx, + ); + apply.append(&mut occurrences); + expired_predicates.append(&mut expirations); } for parents_microblock_to_rolllback in block_update.parent_microblocks_to_rollback.iter() { - rollback.append(&mut evaluate_stacks_chainhook_on_blocks( - vec![parents_microblock_to_rolllback], - chainhook, - ctx, - )); + let (mut occurrences, mut expirations) = + evaluate_stacks_chainhook_on_blocks( + vec![parents_microblock_to_rolllback], + chainhook, + ctx, + ); + rollback.append(&mut occurrences); + expired_predicates.append(&mut expirations); } - apply.append(&mut evaluate_stacks_chainhook_on_blocks( + + let (mut occurrences, mut expirations) = evaluate_stacks_chainhook_on_blocks( vec![&block_update.block], chainhook, ctx, - )); + ); + apply.append(&mut occurrences); + expired_predicates.append(&mut expirations); } if !apply.is_empty() || !rollback.is_empty() { triggered_predicates.push(StacksTriggerChainhook { @@ -124,11 +135,14 @@ pub fn evaluate_stacks_chainhooks_on_chain_event<'a>( chainhook.uuid.as_str(), µblock_to_apply.metadata.anchor_block_identifier, ); - apply.append(&mut evaluate_stacks_chainhook_on_blocks( + + let (mut occurrences, mut expirations) = evaluate_stacks_chainhook_on_blocks( vec![microblock_to_apply], chainhook, ctx, - )); + ); + apply.append(&mut occurrences); + expired_predicates.append(&mut expirations); } if !apply.is_empty() || !rollback.is_empty() { triggered_predicates.push(StacksTriggerChainhook { @@ -149,18 +163,22 @@ pub fn evaluate_stacks_chainhooks_on_chain_event<'a>( chainhook.uuid.as_str(), µblock_to_apply.metadata.anchor_block_identifier, ); - apply.append(&mut evaluate_stacks_chainhook_on_blocks( + let (mut occurrences, mut expirations) = evaluate_stacks_chainhook_on_blocks( vec![microblock_to_apply], chainhook, ctx, - )); + ); + apply.append(&mut occurrences); + expired_predicates.append(&mut expirations); } for microblock_to_rollback in update.microblocks_to_rollback.iter() { - rollback.append(&mut evaluate_stacks_chainhook_on_blocks( + let (mut occurrences, mut expirations) = evaluate_stacks_chainhook_on_blocks( vec![microblock_to_rollback], chainhook, ctx, - )); + ); + rollback.append(&mut occurrences); + expired_predicates.append(&mut expirations); } if !apply.is_empty() || !rollback.is_empty() { triggered_predicates.push(StacksTriggerChainhook { @@ -184,33 +202,44 @@ pub fn evaluate_stacks_chainhooks_on_chain_event<'a>( for parents_microblock_to_apply in block_update.parent_microblocks_to_apply.iter() { - apply.append(&mut evaluate_stacks_chainhook_on_blocks( - vec![parents_microblock_to_apply], - chainhook, - ctx, - )); + let (mut occurrences, mut expirations) = + evaluate_stacks_chainhook_on_blocks( + vec![parents_microblock_to_apply], + chainhook, + ctx, + ); + apply.append(&mut occurrences); + expired_predicates.append(&mut expirations); } - apply.append(&mut evaluate_stacks_chainhook_on_blocks( + + let (mut occurrences, mut expirations) = evaluate_stacks_chainhook_on_blocks( vec![&block_update.block], chainhook, ctx, - )); + ); + apply.append(&mut occurrences); + expired_predicates.append(&mut expirations); } for block_update in update.blocks_to_rollback.iter() { for parents_microblock_to_rollback in block_update.parent_microblocks_to_rollback.iter() { - rollback.append(&mut evaluate_stacks_chainhook_on_blocks( - vec![parents_microblock_to_rollback], - chainhook, - ctx, - )); + let (mut occurrences, mut expirations) = + evaluate_stacks_chainhook_on_blocks( + vec![parents_microblock_to_rollback], + chainhook, + ctx, + ); + rollback.append(&mut occurrences); + expired_predicates.append(&mut expirations); } - rollback.append(&mut evaluate_stacks_chainhook_on_blocks( + let (mut occurrences, mut expirations) = evaluate_stacks_chainhook_on_blocks( vec![&block_update.block], chainhook, ctx, - )); + ); + rollback.append(&mut occurrences); + expired_predicates.append(&mut expirations); } if !apply.is_empty() || !rollback.is_empty() { triggered_predicates.push(StacksTriggerChainhook { @@ -222,33 +251,48 @@ pub fn evaluate_stacks_chainhooks_on_chain_event<'a>( } } } - (triggered_predicates, evaluated_predicates) + ( + triggered_predicates, + evaluated_predicates, + expired_predicates, + ) } pub fn evaluate_stacks_chainhook_on_blocks<'a>( blocks: Vec<&'a dyn AbstractStacksBlock>, chainhook: &'a StacksChainhookSpecification, ctx: &Context, -) -> Vec<(Vec<&'a StacksTransactionData>, &'a dyn AbstractStacksBlock)> { +) -> ( + Vec<(Vec<&'a StacksTransactionData>, &'a dyn AbstractStacksBlock)>, + BTreeMap<&'a str, &'a BlockIdentifier>, +) { let mut occurrences = vec![]; + let mut expired_predicates = BTreeMap::new(); + let end_block = chainhook.end_block.unwrap_or(u64::MAX); for block in blocks { - let mut hits = vec![]; - if chainhook.is_predicate_targeting_block_header() { - for tx in block.get_transactions().iter() { - hits.push(tx); - } - } else { - for tx in block.get_transactions().iter() { - if evaluate_stacks_predicate_on_transaction(tx, chainhook, ctx) { + if end_block > block.get_identifier().index { + let mut hits = vec![]; + if chainhook.is_predicate_targeting_block_header() + && evaluate_stacks_predicate_on_block(block, chainhook, ctx) + { + for tx in block.get_transactions().iter() { hits.push(tx); } + } else { + for tx in block.get_transactions().iter() { + if evaluate_stacks_predicate_on_transaction(tx, chainhook, ctx) { + hits.push(tx); + } + } } - } - if hits.len() > 0 { - occurrences.push((hits, block)); + if hits.len() > 0 { + occurrences.push((hits, block)); + } + } else { + expired_predicates.insert(chainhook.uuid.as_str(), block.get_identifier()); } } - occurrences + (occurrences, expired_predicates) } pub fn evaluate_stacks_predicate_on_block<'a>( diff --git a/components/chainhook-sdk/src/chainhooks/tests/mod.rs b/components/chainhook-sdk/src/chainhooks/tests/mod.rs index a3a458d93..021c4ae70 100644 --- a/components/chainhook-sdk/src/chainhooks/tests/mod.rs +++ b/components/chainhook-sdk/src/chainhooks/tests/mod.rs @@ -351,10 +351,11 @@ fn test_stacks_predicates( predicate: predicate, action: HookAction::Noop, enabled: true, + expired_at: None, }; let predicates = vec![&chainhook]; - let (triggered, _blocks) = + let (triggered, _predicates_evaluated, _expired) = evaluate_stacks_chainhooks_on_chain_event(&event, predicates, &Context::empty()); if expected_applies == 0 { @@ -373,7 +374,7 @@ fn test_stacks_predicates( #[test_case( StacksPredicate::ContractDeployment(StacksContractDeploymentPredicate::Deployer("*".to_string())), 1; - "Deployer predicate wildcard deployer catches all occurences" + "Deployer predicate wildcard deployer catches all occurrences" )] #[test_case( StacksPredicate::ContractDeployment(StacksContractDeploymentPredicate::Deployer("wrong-deployer".to_string())), @@ -429,10 +430,11 @@ fn test_stacks_predicate_contract_deploy(predicate: StacksPredicate, expected_ap predicate: predicate, action: HookAction::Noop, enabled: true, + expired_at: None, }; let predicates = vec![&chainhook]; - let (triggered, _blocks) = + let (triggered, _predicates_evaluated, _predicates_expired) = evaluate_stacks_chainhooks_on_chain_event(&event, predicates, &Context::empty()); if expected_applies == 0 { @@ -513,10 +515,11 @@ fn test_stacks_predicate_contract_call(predicate: StacksPredicate, expected_appl predicate: predicate, action: HookAction::Noop, enabled: true, + expired_at: None, }; let predicates = vec![&chainhook]; - let (triggered, _blocks) = + let (triggered, _predicates_evaluated, _predicates_expired) = evaluate_stacks_chainhooks_on_chain_event(&event, predicates, &Context::empty()); if expected_applies == 0 { @@ -548,6 +551,7 @@ fn test_stacks_hook_action_noop() { )), action: HookAction::Noop, enabled: true, + expired_at: None, }; let apply_block_data = fixtures::build_stacks_testnet_block_with_contract_call(); @@ -606,6 +610,7 @@ fn test_stacks_hook_action_file_append() { path: "./".to_string(), }), enabled: true, + expired_at: None, }; let events = get_all_event_types(); let mut apply_blocks = vec![]; @@ -649,6 +654,6 @@ fn test_stacks_hook_action_file_append() { let expected = get_expected_occurrence(); assert_eq!(expected, actual); } else { - panic!("wrong occurence type"); + panic!("wrong occurrence type"); } } diff --git a/components/chainhook-sdk/src/chainhooks/types.rs b/components/chainhook-sdk/src/chainhooks/types.rs index 12e903fb3..44f73f471 100644 --- a/components/chainhook-sdk/src/chainhooks/types.rs +++ b/components/chainhook-sdk/src/chainhooks/types.rs @@ -4,7 +4,6 @@ use chainhook_types::{BitcoinNetwork, StacksNetwork}; use reqwest::Url; use serde::ser::{SerializeSeq, Serializer}; use serde::{Deserialize, Serialize}; -use serde_json::Value as JsonValue; use schemars::JsonSchema; @@ -131,6 +130,30 @@ impl ChainhookConfig { } None } + + pub fn expire_stacks_hook(&mut self, hook_uuid: String, block_height: u64) { + let mut i = 0; + while i < self.stacks_chainhooks.len() { + if self.stacks_chainhooks[i].uuid == hook_uuid { + self.stacks_chainhooks[i].expired_at = Some(block_height); + break; + } else { + i += 1; + } + } + } + + pub fn expire_bitcoin_hook(&mut self, hook_uuid: String, block_height: u64) { + let mut i = 0; + while i < self.bitcoin_chainhooks.len() { + if self.bitcoin_chainhooks[i].uuid == hook_uuid { + self.bitcoin_chainhooks[i].expired_at = Some(block_height); + break; + } else { + i += 1; + } + } + } } impl Serialize for ChainhookConfig { @@ -178,23 +201,6 @@ impl ChainhookSpecification { format!("predicate:{}", uuid) } - pub fn into_serialized_json(&self) -> JsonValue { - match &self { - Self::Stacks(data) => json!({ - "chain": "stacks", - "uuid": data.uuid, - "network": data.network, - "predicate": data.predicate, - }), - Self::Bitcoin(data) => json!({ - "chain": "bitcoin", - "uuid": data.uuid, - "network": data.network, - "predicate": data.predicate, - }), - } - } - pub fn key(&self) -> String { match &self { Self::Bitcoin(data) => Self::bitcoin_key(&data.uuid), @@ -226,6 +232,13 @@ impl ChainhookSpecification { } Ok(()) } + + pub fn start_block(&self) -> Option { + match &self { + Self::Bitcoin(data) => data.start_block, + Self::Stacks(data) => data.start_block, + } + } } #[derive(Clone, Debug, Serialize, Deserialize, PartialEq)] @@ -251,6 +264,7 @@ pub struct BitcoinChainhookSpecification { pub include_outputs: bool, pub include_witness: bool, pub enabled: bool, + pub expired_at: Option, } impl BitcoinChainhookSpecification { @@ -336,6 +350,7 @@ impl BitcoinChainhookFullSpecification { include_outputs: spec.include_outputs.unwrap_or(false), include_witness: spec.include_witness.unwrap_or(false), enabled: false, + expired_at: None, }) } } @@ -398,6 +413,7 @@ impl StacksChainhookFullSpecification { predicate: spec.predicate, action: spec.action, enabled: false, + expired_at: None, }) } } @@ -720,6 +736,7 @@ pub struct StacksChainhookSpecification { pub predicate: StacksPredicate, pub action: HookAction, pub enabled: bool, + pub expired_at: Option, } impl StacksChainhookSpecification { diff --git a/components/chainhook-sdk/src/indexer/stacks/mod.rs b/components/chainhook-sdk/src/indexer/stacks/mod.rs index 12460a6ff..388594aeb 100644 --- a/components/chainhook-sdk/src/indexer/stacks/mod.rs +++ b/components/chainhook-sdk/src/indexer/stacks/mod.rs @@ -18,7 +18,7 @@ use std::convert::TryInto; use std::io::Cursor; use std::str; -#[derive(Deserialize)] +#[derive(Deserialize, Serialize)] pub struct NewBlock { pub block_height: u64, pub block_hash: String, @@ -44,7 +44,7 @@ pub struct NewBlockHeader { pub parent_index_block_hash: Option, } -#[derive(Deserialize)] +#[derive(Deserialize, Serialize)] pub struct MaturedMinerReward { pub from_index_consensus_hash: String, pub from_stacks_block_hash: String, @@ -68,7 +68,7 @@ pub struct NewMicroblockTrail { pub events: Vec, } -#[derive(Deserialize, Debug)] +#[derive(Deserialize, Serialize, Debug)] pub struct NewTransaction { pub txid: String, pub tx_index: usize, @@ -91,7 +91,7 @@ pub struct NewMicroblockTransaction { pub microblock_parent_hash: String, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct NewEvent { pub txid: String, pub committed: bool, diff --git a/components/chainhook-sdk/src/observer/mod.rs b/components/chainhook-sdk/src/observer/mod.rs index 33f031d26..0c602ddac 100644 --- a/components/chainhook-sdk/src/observer/mod.rs +++ b/components/chainhook-sdk/src/observer/mod.rs @@ -216,10 +216,18 @@ pub enum ObserverCommand { EnablePredicate(ChainhookSpecification), DeregisterBitcoinPredicate(String), DeregisterStacksPredicate(String), + ExpireBitcoinPredicate(HookExpirationData), + ExpireStacksPredicate(HookExpirationData), NotifyBitcoinTransactionProxied, Terminate, } +#[derive(Clone, Debug, PartialEq)] +pub struct HookExpirationData { + pub hook_uuid: String, + pub block_height: u64, +} + #[derive(Clone, Debug, PartialEq)] pub enum StacksChainMempoolEvent { TransactionsAdmitted(Vec), @@ -236,6 +244,7 @@ pub struct MempoolAdmissionData { pub struct PredicateEvaluationReport { pub predicates_evaluated: BTreeMap>, pub predicates_triggered: BTreeMap>, + pub predicates_expired: BTreeMap>, } impl PredicateEvaluationReport { @@ -243,6 +252,7 @@ impl PredicateEvaluationReport { PredicateEvaluationReport { predicates_evaluated: BTreeMap::new(), predicates_triggered: BTreeMap::new(), + predicates_expired: BTreeMap::new(), } } @@ -273,6 +283,19 @@ impl PredicateEvaluationReport { }); } } + + pub fn track_expiration(&mut self, uuid: &str, block_identifier: &BlockIdentifier) { + self.predicates_expired + .entry(uuid.to_string()) + .and_modify(|e| { + e.insert(block_identifier.clone()); + }) + .or_insert_with(|| { + let mut set = BTreeSet::new(); + set.insert(block_identifier.clone()); + set + }); + } } #[derive(Clone, Debug)] @@ -1010,6 +1033,7 @@ pub async fn start_observer_commands_handler( .bitcoin_chainhooks .iter() .filter(|p| p.enabled) + .filter(|p| p.expired_at.is_none()) .collect::>(); ctx.try_log(|logger| { slog::info!( @@ -1019,15 +1043,19 @@ pub async fn start_observer_commands_handler( ) }); - let (predicates_triggered, predicates_evaluated) = + let (predicates_triggered, predicates_evaluated, predicates_expired) = evaluate_bitcoin_chainhooks_on_chain_event( &chain_event, &bitcoin_chainhooks, &ctx, ); + for (uuid, block_identifier) in predicates_evaluated.into_iter() { report.track_evaluation(uuid, block_identifier); } + for (uuid, block_identifier) in predicates_expired.into_iter() { + report.track_expiration(uuid, block_identifier); + } for entry in predicates_triggered.iter() { let blocks_ids = entry .apply @@ -1051,6 +1079,11 @@ pub async fn start_observer_commands_handler( let mut total_occurrences: u64 = *chainhooks_occurrences_tracker .get(&trigger.chainhook.uuid) .unwrap_or(&0); + // todo: this currently is only additive, and an occurrence means we match a chain event, + // rather than the number of blocks. Should we instead add to the total occurrences for + // every apply block, and subtract for every rollback? If we did this, we could set the + // status to `Expired` when we go above `expire_after_occurrence` occurrences, rather than + // deregistering total_occurrences += 1; let limit = trigger.chainhook.expire_after_occurrence.unwrap_or(0); @@ -1118,12 +1151,6 @@ pub async fn start_observer_commands_handler( .predicates .deregister_bitcoin_hook(hook_uuid.clone()) { - if let Some(ref tx) = observer_events_tx { - let _ = tx.send(ObserverEvent::PredicateDeregistered( - ChainhookSpecification::Bitcoin(chainhook), - )); - } - match observer_metrics.write() { Ok(mut metrics) => metrics.bitcoin.deregister_prediate(), Err(e) => ctx.try_log(|logger| { @@ -1134,6 +1161,12 @@ pub async fn start_observer_commands_handler( ) }), } + + if let Some(ref tx) = observer_events_tx { + let _ = tx.send(ObserverEvent::PredicateDeregistered( + ChainhookSpecification::Bitcoin(chainhook), + )); + } } } @@ -1158,6 +1191,7 @@ pub async fn start_observer_commands_handler( .stacks_chainhooks .iter() .filter(|p| p.enabled) + .filter(|p| p.expired_at.is_none()) .collect::>(); ctx.try_log(|logger| { slog::info!( @@ -1228,7 +1262,7 @@ pub async fn start_observer_commands_handler( } // process hooks - let (predicates_triggered, predicates_evaluated) = + let (predicates_triggered, predicates_evaluated, predicates_expired) = evaluate_stacks_chainhooks_on_chain_event( &chain_event, stacks_chainhooks, @@ -1237,6 +1271,9 @@ pub async fn start_observer_commands_handler( for (uuid, block_identifier) in predicates_evaluated.into_iter() { report.track_evaluation(uuid, block_identifier); } + for (uuid, block_identifier) in predicates_expired.into_iter() { + report.track_expiration(uuid, block_identifier); + } for entry in predicates_triggered.iter() { let blocks_ids = entry .apply @@ -1305,14 +1342,9 @@ pub async fn start_observer_commands_handler( .predicates .deregister_stacks_hook(hook_uuid.clone()) { - if let Some(ref tx) = observer_events_tx { - let _ = tx.send(ObserverEvent::PredicateDeregistered( - ChainhookSpecification::Stacks(chainhook), - )); - } - match observer_metrics.write() { Ok(mut metrics) => metrics.stacks.deregister_prediate(), + Err(e) => ctx.try_log(|logger| { slog::warn!( logger, @@ -1321,6 +1353,12 @@ pub async fn start_observer_commands_handler( ) }), } + + if let Some(ref tx) = observer_events_tx { + let _ = tx.send(ObserverEvent::PredicateDeregistered( + ChainhookSpecification::Stacks(chainhook), + )); + } } } @@ -1372,16 +1410,10 @@ pub async fn start_observer_commands_handler( e.to_string() ) }); - continue; + panic!("Unable to register new chainhook spec: {}", e.to_string()); + //continue; } }; - ctx.try_log(|logger| slog::info!(logger, "Registering chainhook {}", spec.uuid(),)); - if let Some(ref tx) = observer_events_tx { - let _ = tx.send(ObserverEvent::PredicateRegistered(spec.clone())); - } else { - ctx.try_log(|logger| slog::info!(logger, "Enabling Predicate {}", spec.uuid())); - chainhook_store.predicates.enable_specification(&mut spec); - } match observer_metrics.write() { Ok(mut metrics) => match spec { @@ -1396,6 +1428,14 @@ pub async fn start_observer_commands_handler( slog::warn!(logger, "unable to acquire observer_metrics_rw_lock:{}", e) }), }; + + ctx.try_log(|logger| slog::info!(logger, "Registering chainhook {}", spec.uuid(),)); + if let Some(ref tx) = observer_events_tx { + let _ = tx.send(ObserverEvent::PredicateRegistered(spec.clone())); + } else { + ctx.try_log(|logger| slog::info!(logger, "Enabling Predicate {}", spec.uuid())); + chainhook_store.predicates.enable_specification(&mut spec); + } } ObserverCommand::EnablePredicate(mut spec) => { ctx.try_log(|logger| slog::info!(logger, "Enabling Predicate {}", spec.uuid())); @@ -1409,11 +1449,6 @@ pub async fn start_observer_commands_handler( slog::info!(logger, "Handling DeregisterStacksPredicate command") }); let hook = chainhook_store.predicates.deregister_stacks_hook(hook_uuid); - if let (Some(tx), Some(hook)) = (&observer_events_tx, hook) { - let _ = tx.send(ObserverEvent::PredicateDeregistered( - ChainhookSpecification::Stacks(hook), - )); - } match observer_metrics.write() { Ok(mut metrics) => metrics.stacks.deregister_prediate(), @@ -1421,6 +1456,12 @@ pub async fn start_observer_commands_handler( slog::warn!(logger, "unable to acquire observer_metrics_rw_lock:{}", e) }), } + + if let (Some(tx), Some(hook)) = (&observer_events_tx, hook) { + let _ = tx.send(ObserverEvent::PredicateDeregistered( + ChainhookSpecification::Stacks(hook), + )); + } } ObserverCommand::DeregisterBitcoinPredicate(hook_uuid) => { ctx.try_log(|logger| { @@ -1429,19 +1470,40 @@ pub async fn start_observer_commands_handler( let hook = chainhook_store .predicates .deregister_bitcoin_hook(hook_uuid); + + match observer_metrics.write() { + Ok(mut metrics) => metrics.bitcoin.deregister_prediate(), + Err(e) => ctx.try_log(|logger| { + slog::warn!(logger, "unable to acquire observer_metrics_rw_lock:{}", e) + }), + } + if let (Some(tx), Some(hook)) = (&observer_events_tx, hook) { let _ = tx.send(ObserverEvent::PredicateDeregistered( ChainhookSpecification::Bitcoin(hook), )); - - match observer_metrics.write() { - Ok(mut metrics) => metrics.bitcoin.deregister_prediate(), - Err(e) => ctx.try_log(|logger| { - slog::warn!(logger, "unable to acquire observer_metrics_rw_lock:{}", e) - }), - } } } + ObserverCommand::ExpireStacksPredicate(HookExpirationData { + hook_uuid, + block_height, + }) => { + ctx.try_log(|logger| slog::info!(logger, "Handling ExpireStacksPredicate command")); + chainhook_store + .predicates + .expire_stacks_hook(hook_uuid, block_height); + } + ObserverCommand::ExpireBitcoinPredicate(HookExpirationData { + hook_uuid, + block_height, + }) => { + ctx.try_log(|logger| { + slog::info!(logger, "Handling ExpireBitcoinPredicate command") + }); + chainhook_store + .predicates + .expire_bitcoin_hook(hook_uuid, block_height); + } } } Ok(()) diff --git a/components/chainhook-sdk/src/observer/tests/mod.rs b/components/chainhook-sdk/src/observer/tests/mod.rs index d9864fafd..1efea079d 100644 --- a/components/chainhook-sdk/src/observer/tests/mod.rs +++ b/components/chainhook-sdk/src/observer/tests/mod.rs @@ -233,6 +233,102 @@ fn generate_and_register_new_bitcoin_chainhook( chainhook } +fn assert_predicates_triggered_event( + observer_events_rx: &crossbeam_channel::Receiver, + expected_len: usize, +) { + assert!( + match observer_events_rx.recv() { + Ok(ObserverEvent::PredicatesTriggered(len)) => { + assert_eq!( + len, expected_len, + "expected {} predicate(s) to be triggered", + expected_len + ); + true + } + _ => false, + }, + "expected PredicatesTriggered event to occur" + ); +} + +fn assert_stacks_chain_event(observer_events_rx: &crossbeam_channel::Receiver) { + assert!( + match observer_events_rx.recv() { + Ok(ObserverEvent::StacksChainEvent(_)) => { + true + } + _ => false, + }, + "expected StacksChainEvent event to occur" + ); +} + +fn assert_observer_metrics_stacks_registered_predicates( + observer_metrics_rw_lock: &Arc>, + expected_count: usize, +) { + assert_eq!( + expected_count, + observer_metrics_rw_lock + .read() + .unwrap() + .stacks + .registered_predicates, + "expected {} registered stacks hooks", + expected_count + ); +} + +fn assert_observer_metrics_stacks_deregistered_predicates( + observer_metrics_rw_lock: &Arc>, + expected_count: usize, +) { + assert_eq!( + expected_count, + observer_metrics_rw_lock + .read() + .unwrap() + .stacks + .deregistered_predicates, + "expected {} deregistered stacks hooks", + expected_count + ); +} + +fn assert_observer_metrics_bitcoin_registered_predicates( + observer_metrics_rw_lock: &Arc>, + expected_count: usize, +) { + assert_eq!( + expected_count, + observer_metrics_rw_lock + .read() + .unwrap() + .bitcoin + .registered_predicates, + "expected {} registered bitcoin hooks", + expected_count + ); +} + +fn assert_observer_metrics_bitcoin_deregistered_predicates( + observer_metrics_rw_lock: &Arc>, + expected_count: usize, +) { + assert_eq!( + expected_count, + observer_metrics_rw_lock + .read() + .unwrap() + .bitcoin + .deregistered_predicates, + "expected {} deregistered bitcoin hooks", + expected_count + ); +} + fn generate_and_register_new_ordinals_chainhook( observer_commands_tx: &Sender, observer_events_rx: &crossbeam_channel::Receiver, @@ -295,14 +391,7 @@ fn test_stacks_chainhook_register_deregister() { ); // registering stacks chainhook should increment the observer_metric's registered stacks hooks - assert_eq!( - 1, - observer_metrics_rw_lock - .read() - .unwrap() - .stacks - .registered_predicates - ); + assert_observer_metrics_stacks_registered_predicates(&observer_metrics_rw_lock, 1); // Simulate a block that does not include a trigger let transactions = vec![generate_test_tx_stacks_contract_call( @@ -326,20 +415,9 @@ fn test_stacks_chainhook_register_deregister() { }); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 0); // Should propagate block - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::StacksChainEvent(_)) => { - true - } - _ => false, - }); + assert_stacks_chain_event(&observer_events_rx); // Simulate a block that does include a trigger let transactions = vec![generate_test_tx_stacks_contract_call( @@ -357,30 +435,30 @@ fn test_stacks_chainhook_register_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateStacksChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 1); - true - } - _ => false, - }); - - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::StacksPredicateTriggered(payload)) => { - assert_eq!(payload.apply.len(), 1); - assert_eq!(payload.apply[0].transactions.len(), 1); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 1); + + assert!( + match observer_events_rx.recv() { + Ok(ObserverEvent::StacksPredicateTriggered(payload)) => { + assert_eq!( + payload.apply.len(), + 1, + "expected 1 predicate to be triggered" + ); + assert_eq!( + payload.apply[0].transactions.len(), + 1, + "expected triggered predicate to have 1 transaction" + ); + true + } + _ => false, + }, + "expected StacksPredicateTriggered event to occur" + ); // Should propagate block - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::StacksChainEvent(_)) => { - true - } - _ => false, - }); + assert_stacks_chain_event(&observer_events_rx); // Simulate a block that does include 2 trigger let transactions = vec![ @@ -414,13 +492,7 @@ fn test_stacks_chainhook_register_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateStacksChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 1); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 1); assert!(match observer_events_rx.recv() { Ok(ObserverEvent::StacksPredicateTriggered(payload)) => { @@ -432,12 +504,7 @@ fn test_stacks_chainhook_register_deregister() { }); // Should propagate block - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::StacksChainEvent(_)) => { - true - } - _ => false, - }); + assert_stacks_chain_event(&observer_events_rx); // Deregister the hook let _ = observer_commands_tx.send(ObserverCommand::DeregisterStacksPredicate( @@ -455,23 +522,9 @@ fn test_stacks_chainhook_register_deregister() { }); // deregistering stacks chainhook should decrement the observer_metric's registered stacks hooks - assert_eq!( - 0, - observer_metrics_rw_lock - .read() - .unwrap() - .stacks - .registered_predicates - ); + assert_observer_metrics_stacks_registered_predicates(&observer_metrics_rw_lock, 0); // and increment the deregistered hooks - assert_eq!( - 1, - observer_metrics_rw_lock - .read() - .unwrap() - .stacks - .deregistered_predicates - ); + assert_observer_metrics_stacks_deregistered_predicates(&observer_metrics_rw_lock, 1); // Simulate a block that does not include a trigger let transactions = vec![generate_test_tx_stacks_contract_call( @@ -489,20 +542,9 @@ fn test_stacks_chainhook_register_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateStacksChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 0); // Should propagate block - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::StacksChainEvent(_)) => { - true - } - _ => false, - }); + assert_stacks_chain_event(&observer_events_rx); // Simulate a block that does include a trigger let transactions = vec![generate_test_tx_stacks_contract_call( @@ -520,20 +562,9 @@ fn test_stacks_chainhook_register_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateStacksChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 0); // Should propagate block - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::StacksChainEvent(_)) => { - true - } - _ => false, - }); + assert_stacks_chain_event(&observer_events_rx); let _ = observer_commands_tx.send(ObserverCommand::Terminate); handle.join().expect("unable to terminate thread"); @@ -584,14 +615,7 @@ fn test_stacks_chainhook_auto_deregister() { _ => false, }); // registering stacks chainhook should increment the observer_metric's registered stacks hooks - assert_eq!( - 1, - observer_metrics_rw_lock - .read() - .unwrap() - .stacks - .registered_predicates - ); + assert_observer_metrics_stacks_registered_predicates(&observer_metrics_rw_lock, 1); // Simulate a block that does not include a trigger let transactions = vec![generate_test_tx_stacks_contract_call( @@ -614,24 +638,22 @@ fn test_stacks_chainhook_auto_deregister() { _ => false, }); - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - Ok(e) => { - println!("{:?}", e); - true - } - _ => false, - }); + assert!( + match observer_events_rx.recv() { + Ok(ObserverEvent::PredicatesTriggered(len)) => { + assert_eq!(len, 0); + true + } + Ok(e) => { + println!("{:?}", e); + true + } + _ => false, + }, + "expected PredicatesTriggered event to occur" + ); // Should propagate block - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::StacksChainEvent(_)) => { - true - } - _ => false, - }); + assert_stacks_chain_event(&observer_events_rx); // Simulate a block that does include a trigger let transactions = vec![generate_test_tx_stacks_contract_call( @@ -648,14 +670,8 @@ fn test_stacks_chainhook_auto_deregister() { confirmed_blocks: vec![], }); let _ = observer_commands_tx.send(ObserverCommand::PropagateStacksChainEvent(chain_event)); - // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 1); - true - } - _ => false, - }); + // Should signal that hooks were triggered + assert_predicates_triggered_event(&observer_events_rx, 1); assert!(match observer_events_rx.recv() { Ok(ObserverEvent::StacksPredicateTriggered(_)) => { @@ -665,12 +681,7 @@ fn test_stacks_chainhook_auto_deregister() { }); // Should propagate block - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::StacksChainEvent(_)) => { - true - } - _ => false, - }); + assert_stacks_chain_event(&observer_events_rx); // Simulate another block that does include a trigger let transactions = vec![generate_test_tx_stacks_contract_call( @@ -688,13 +699,8 @@ fn test_stacks_chainhook_auto_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateStacksChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 0); + // Should signal that a hook was deregistered assert!(match observer_events_rx.recv() { Ok(ObserverEvent::PredicateDeregistered(deregistered_hook)) => { @@ -705,38 +711,12 @@ fn test_stacks_chainhook_auto_deregister() { }); // deregistering stacks chainhook should decrement the observer_metric's registered stacks hooks - assert_eq!( - 0, - observer_metrics_rw_lock - .read() - .unwrap() - .stacks - .registered_predicates - ); + assert_observer_metrics_stacks_registered_predicates(&observer_metrics_rw_lock, 0); // and increment the deregistered hooks - assert_eq!( - 1, - observer_metrics_rw_lock - .read() - .unwrap() - .stacks - .deregistered_predicates - ); + assert_observer_metrics_stacks_deregistered_predicates(&observer_metrics_rw_lock, 1); // Should propagate block - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::StacksChainEvent(_)) => { - true - } - Ok(event) => { - println!("Unexpected event: {:?}", event); - false - } - Err(e) => { - println!("Error: {:?}", e); - false - } - }); + assert_stacks_chain_event(&observer_events_rx); let _ = observer_commands_tx.send(ObserverCommand::Terminate); handle.join().expect("unable to terminate thread"); @@ -773,14 +753,7 @@ fn test_bitcoin_chainhook_register_deregister() { ); // registering bitcoin chainhook should increment the observer_metric's registered bitcoin hooks - assert_eq!( - 1, - observer_metrics_rw_lock - .read() - .unwrap() - .bitcoin - .registered_predicates - ); + assert_observer_metrics_bitcoin_registered_predicates(&observer_metrics_rw_lock, 1); // Simulate a block that does not include a trigger (wallet_1 to wallet_3) let transactions = vec![generate_test_tx_bitcoin_p2pkh_transfer( @@ -797,20 +770,7 @@ fn test_bitcoin_chainhook_register_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateBitcoinChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - Ok(event) => { - println!("Unexpected event: {:?}", event); - false - } - Err(e) => { - println!("Error: {:?}", e); - false - } - }); + assert_predicates_triggered_event(&observer_events_rx, 0); // Should propagate block assert!(match observer_events_rx.recv() { @@ -835,14 +795,8 @@ fn test_bitcoin_chainhook_register_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateBitcoinChainEvent(chain_event)); - // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 1); - true - } - _ => false, - }); + // Should signal that 1 hook was triggered + assert_predicates_triggered_event(&observer_events_rx, 1); assert!(match observer_events_rx.recv() { Ok(ObserverEvent::BitcoinPredicateTriggered(payload)) => { @@ -890,14 +844,8 @@ fn test_bitcoin_chainhook_register_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateBitcoinChainEvent(chain_event)); - // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 1); - true - } - _ => false, - }); + // Should signal that 1 hook was triggered + assert_predicates_triggered_event(&observer_events_rx, 1); assert!(match observer_events_rx.recv() { Ok(ObserverEvent::BitcoinPredicateTriggered(payload)) => { @@ -932,23 +880,9 @@ fn test_bitcoin_chainhook_register_deregister() { }); // deregistering bitcoin chainhook should decrement the observer_metric's registered bitcoin hooks - assert_eq!( - 0, - observer_metrics_rw_lock - .read() - .unwrap() - .bitcoin - .registered_predicates - ); + assert_observer_metrics_bitcoin_registered_predicates(&observer_metrics_rw_lock, 0); // and increment the deregistered hooks - assert_eq!( - 1, - observer_metrics_rw_lock - .read() - .unwrap() - .bitcoin - .deregistered_predicates - ); + assert_observer_metrics_bitcoin_deregistered_predicates(&observer_metrics_rw_lock, 1); // Simulate a block that does not include a trigger let transactions = vec![generate_test_tx_bitcoin_p2pkh_transfer( @@ -966,13 +900,8 @@ fn test_bitcoin_chainhook_register_deregister() { let _ = observer_commands_tx.send(ObserverCommand::PropagateBitcoinChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 0); + // Should propagate block assert!(match observer_events_rx.recv() { Ok(ObserverEvent::BitcoinChainEvent(_)) => { @@ -996,13 +925,8 @@ fn test_bitcoin_chainhook_register_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateBitcoinChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 0); + // Should propagate block assert!(match observer_events_rx.recv() { Ok(ObserverEvent::BitcoinChainEvent(_)) => { @@ -1046,14 +970,7 @@ fn test_bitcoin_chainhook_auto_deregister() { ); // registering bitcoin chainhook should increment the observer_metric's registered bitcoin hooks - assert_eq!( - 1, - observer_metrics_rw_lock - .read() - .unwrap() - .bitcoin - .registered_predicates - ); + assert_observer_metrics_bitcoin_registered_predicates(&observer_metrics_rw_lock, 1); // Simulate a block that does not include a trigger (wallet_1 to wallet_3) let transactions = vec![generate_test_tx_bitcoin_p2pkh_transfer( @@ -1071,13 +988,8 @@ fn test_bitcoin_chainhook_auto_deregister() { let _ = observer_commands_tx.send(ObserverCommand::PropagateBitcoinChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 0); + // Should propagate block assert!(match observer_events_rx.recv() { Ok(ObserverEvent::BitcoinChainEvent(_)) => { @@ -1102,14 +1014,8 @@ fn test_bitcoin_chainhook_auto_deregister() { }); let _ = observer_commands_tx.send(ObserverCommand::PropagateBitcoinChainEvent(chain_event)); - // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 1); - true - } - _ => false, - }); + // Should signal that 1 hook was triggered + assert_predicates_triggered_event(&observer_events_rx, 1); assert!(match observer_events_rx.recv() { Ok(ObserverEvent::BitcoinPredicateTriggered(_)) => { @@ -1143,13 +1049,8 @@ fn test_bitcoin_chainhook_auto_deregister() { let _ = observer_commands_tx.send(ObserverCommand::PropagateBitcoinChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 0); + // Should propagate block assert!(match observer_events_rx.recv() { Ok(ObserverEvent::BitcoinChainEvent(_)) => { @@ -1175,13 +1076,8 @@ fn test_bitcoin_chainhook_auto_deregister() { let _ = observer_commands_tx.send(ObserverCommand::PropagateBitcoinChainEvent(chain_event)); // Should signal that no hook were triggered - assert!(match observer_events_rx.recv() { - Ok(ObserverEvent::PredicatesTriggered(len)) => { - assert_eq!(len, 0); - true - } - _ => false, - }); + assert_predicates_triggered_event(&observer_events_rx, 0); + // Should signal that a hook was deregistered assert!(match observer_events_rx.recv() { Ok(ObserverEvent::PredicateDeregistered(deregistered_hook)) => { @@ -1192,23 +1088,9 @@ fn test_bitcoin_chainhook_auto_deregister() { }); // deregistering bitcoin chainhook should decrement the observer_metric's registered bitcoin hooks - assert_eq!( - 0, - observer_metrics_rw_lock - .read() - .unwrap() - .bitcoin - .registered_predicates - ); + assert_observer_metrics_bitcoin_registered_predicates(&observer_metrics_rw_lock, 0); // and increment the deregistered hooks - assert_eq!( - 1, - observer_metrics_rw_lock - .read() - .unwrap() - .bitcoin - .deregistered_predicates - ); + assert_observer_metrics_bitcoin_deregistered_predicates(&observer_metrics_rw_lock, 1); // Should propagate block assert!(match observer_events_rx.recv() { diff --git a/components/chainhook-sdk/src/utils/mod.rs b/components/chainhook-sdk/src/utils/mod.rs index 22167c1d1..f6da8ef8c 100644 --- a/components/chainhook-sdk/src/utils/mod.rs +++ b/components/chainhook-sdk/src/utils/mod.rs @@ -149,57 +149,56 @@ pub async fn send_request( attempts_max: u16, attempts_interval_sec: u16, ctx: &Context, -) -> Result<(), ()> { +) -> Result<(), String> { let mut retry = 0; loop { let request_builder = match request_builder.try_clone() { Some(rb) => rb, None => { ctx.try_log(|logger| slog::warn!(logger, "unable to clone request builder")); - return Err(()); + return Err(format!( + "internal server error: unable to clone request builder" + )); } }; - match request_builder.send().await { + let err_msg = match request_builder.send().await { Ok(res) => { if res.status().is_success() { ctx.try_log(|logger| slog::info!(logger, "Trigger {} successful", res.url())); return Ok(()); } else { retry += 1; - ctx.try_log(|logger| { - slog::warn!( - logger, - "Trigger {} failed with status {}", - res.url(), - res.status() - ) - }); + let err_msg = + format!("Trigger {} failed with status {}", res.url(), res.status()); + ctx.try_log(|logger| slog::warn!(logger, "{}", err_msg)); + err_msg } } Err(e) => { retry += 1; - ctx.try_log(|logger| { - slog::warn!(logger, "unable to send request {}", e.to_string()) - }); + let err_msg = format!("unable to send request {}", e.to_string()); + ctx.try_log(|logger| slog::warn!(logger, "{}", err_msg)); + err_msg } - } + }; if retry >= attempts_max { - ctx.try_log(|logger| { - slog::warn!(logger, "unable to send request after several retries") - }); - return Err(()); + let msg: String = format!( + "unable to send request after several retries. most recent error: {}", + err_msg + ); + ctx.try_log(|logger| slog::warn!(logger, "{}", msg)); + return Err(msg); } std::thread::sleep(std::time::Duration::from_secs(attempts_interval_sec.into())); } } -pub fn file_append(path: String, bytes: Vec, ctx: &Context) -> Result<(), ()> { +pub fn file_append(path: String, bytes: Vec, ctx: &Context) -> Result<(), String> { let mut file_path = match std::env::current_dir() { Err(e) => { - ctx.try_log(|logger| { - slog::warn!(logger, "unable to retrieve current_dir {}", e.to_string()) - }); - return Err(()); + let msg = format!("unable to retrieve current_dir {}", e.to_string()); + ctx.try_log(|logger| slog::warn!(logger, "{}", msg)); + return Err(msg); } Ok(p) => p, }; @@ -210,15 +209,13 @@ pub fn file_append(path: String, bytes: Vec, ctx: &Context) -> Result<(), () let _ = file.write_all(&bytes); } Err(e) => { - ctx.try_log(|logger| { - slog::warn!( - logger, - "unable to create file {}: {}", - file_path.display(), - e.to_string() - ) - }); - return Err(()); + let msg = format!( + "unable to create file {}: {}", + file_path.display(), + e.to_string() + ); + ctx.try_log(|logger| slog::warn!(logger, "{}", msg)); + return Err(msg); } } } @@ -230,8 +227,9 @@ pub fn file_append(path: String, bytes: Vec, ctx: &Context) -> Result<(), () .open(file_path) { Err(e) => { - ctx.try_log(|logger| slog::warn!(logger, "unable to open file {}", e.to_string())); - return Err(()); + let msg = format!("unable to open file {}", e.to_string()); + ctx.try_log(|logger| slog::warn!(logger, "{}", msg)); + return Err(msg); } Ok(p) => p, }; @@ -239,21 +237,17 @@ pub fn file_append(path: String, bytes: Vec, ctx: &Context) -> Result<(), () let utf8 = match String::from_utf8(bytes) { Ok(string) => string, Err(e) => { - ctx.try_log(|logger| { - slog::warn!( - logger, - "unable serialize bytes as utf8 string {}", - e.to_string() - ) - }); - return Err(()); + let msg = format!("unable serialize bytes as utf8 string {}", e.to_string()); + ctx.try_log(|logger| slog::warn!(logger, "{}", msg)); + return Err(msg); } }; if let Err(e) = writeln!(file, "{}", utf8) { - ctx.try_log(|logger| slog::warn!(logger, "unable to open file {}", e.to_string())); + let msg = format!("unable to open file {}", e.to_string()); + ctx.try_log(|logger| slog::warn!(logger, "{}", msg)); eprintln!("Couldn't write to file: {}", e); - return Err(()); + return Err(msg); } Ok(()) diff --git a/dockerfiles/components/chainhook-node.dockerfile b/dockerfiles/components/chainhook-node.dockerfile index 5fbd1db8c..7f50d74f4 100644 --- a/dockerfiles/components/chainhook-node.dockerfile +++ b/dockerfiles/components/chainhook-node.dockerfile @@ -4,7 +4,7 @@ WORKDIR /src RUN apt update && apt install -y ca-certificates pkg-config libssl-dev libclang-11-dev -RUN rustup update 1.67.0 && rustup default 1.67.0 +RUN rustup update 1.70.0 && rustup default 1.70.0 COPY ./components/chainhook-cli /src/components/chainhook-cli diff --git a/docs/images/predicate-status-flowchart/PredicateStatusFlowchart.excalidraw b/docs/images/predicate-status-flowchart/PredicateStatusFlowchart.excalidraw new file mode 100644 index 000000000..ea0a68f69 --- /dev/null +++ b/docs/images/predicate-status-flowchart/PredicateStatusFlowchart.excalidraw @@ -0,0 +1,2106 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "rectangle", + "version": 115, + "versionNonce": 776192013, + "isDeleted": false, + "id": "UjFEV39vA62xHmRyCWSK7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 449.421875, + "y": 207.65234375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 119.8125, + "height": 60, + "seed": 573568707, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "ZE7lDcLAT02gRVQmoJnXa" + }, + { + "id": "UD4g2rtPMdMX76aHEISpO", + "type": "arrow" + }, + { + "id": "GITe4hkmrvQm2qJrc8t7t", + "type": "arrow" + } + ], + "updated": 1693246725368, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 53, + "versionNonce": 417452867, + "isDeleted": false, + "id": "ZE7lDcLAT02gRVQmoJnXa", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 460.96875, + "y": 214.65234375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 96.71875, + "height": 46, + "seed": 1247093507, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693246725368, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Predicate \nRegistered", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "UjFEV39vA62xHmRyCWSK7", + "originalText": "Predicate Registered", + "lineHeight": 1.15, + "baseline": 42 + }, + { + "type": "text", + "version": 99, + "versionNonce": 1028273773, + "isDeleted": false, + "id": "zKSW9tDVlAxKSh4c03IRw", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 409.80290950583037, + "y": 155.15546228734917, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 221.259765625, + "height": 23, + "seed": 1447675757, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693246725368, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Chainhook internal event", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Chainhook internal event", + "lineHeight": 1.15, + "baseline": 19 + }, + { + "type": "text", + "version": 15, + "versionNonce": 1013740259, + "isDeleted": false, + "id": "ulrhrsP3bCg8l-5i5OfdS", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 806.73046875, + "y": 171.51171875, + "strokeColor": "#fffefe", + "backgroundColor": "transparent", + "width": 41.142578125, + "height": 23, + "seed": 1667394467, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693246725368, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "St88", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "St88", + "lineHeight": 1.15, + "baseline": 19 + }, + { + "type": "text", + "version": 16, + "versionNonce": 1693638861, + "isDeleted": false, + "id": "U4geAUEooWO-tMaYj9N75", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 822.984375, + "y": 160.59375, + "strokeColor": "#fffefe", + "backgroundColor": "transparent", + "width": 57.8125, + "height": 23, + "seed": 1177292965, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693246725368, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "asdaD", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "asdaD", + "lineHeight": 1.15, + "baseline": 19 + }, + { + "type": "text", + "version": 52, + "versionNonce": 1086463619, + "isDeleted": false, + "id": "n5Zrr2oxW5fu_2iuise9s", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 761.06640625, + "y": 153.85546875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 56.69921875, + "height": 23, + "seed": 104812043, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693246725368, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Status", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Status", + "lineHeight": 1.15, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 136, + "versionNonce": 987184941, + "isDeleted": false, + "id": "oIz1vfaYEdHCDHe55ML85", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 734.12109375, + "y": 200.4609375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 116, + "height": 60, + "seed": 1248398789, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "y9OfFloAQ08yICPUt4ENt" + }, + { + "id": "UD4g2rtPMdMX76aHEISpO", + "type": "arrow" + } + ], + "updated": 1693246725368, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 153, + "versionNonce": 1889621539, + "isDeleted": false, + "id": "y9OfFloAQ08yICPUt4ENt", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 776.1171875, + "y": 221.2609375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 32.0078125, + "height": 18.4, + "seed": 1607994373, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693246725368, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "New", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "oIz1vfaYEdHCDHe55ML85", + "originalText": "New", + "lineHeight": 1.15, + "baseline": 15 + }, + { + "type": "arrow", + "version": 56, + "versionNonce": 1700843917, + "isDeleted": false, + "id": "UD4g2rtPMdMX76aHEISpO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 575.43359375, + "y": 237.90625, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 144.51953125, + "height": 7.2265625, + "seed": 407840299, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693246725368, + "link": null, + "locked": false, + "startBinding": { + "elementId": "UjFEV39vA62xHmRyCWSK7", + "focus": 0.10787658104469203, + "gap": 6.19921875 + }, + "endBinding": { + "elementId": "oIz1vfaYEdHCDHe55ML85", + "focus": 0.10303698493891769, + "gap": 14.16796875 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 144.51953125, + -7.2265625 + ] + ] + }, + { + "type": "rectangle", + "version": 77, + "versionNonce": 725836451, + "isDeleted": false, + "id": "ZvmnqZNJc9EgAXmWaosEK", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 451.30859375, + "y": 335.8671875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 122.58984375, + "height": 62.125, + "seed": 596047819, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "cf8-xfK78OwT9blo_W07S" + }, + { + "id": "GITe4hkmrvQm2qJrc8t7t", + "type": "arrow" + }, + { + "id": "QZwGIHg6zCwxolwZCbUqW", + "type": "arrow" + }, + { + "id": "djLZxg7-dQzazao679PIu", + "type": "arrow" + }, + { + "id": "wT0WIuYwXK9qJaJbdcCZC", + "type": "arrow" + }, + { + "id": "WkYhnsevmXLh2XqowRPZx", + "type": "arrow" + } + ], + "updated": 1693323268825, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 45, + "versionNonce": 29956077, + "isDeleted": false, + "id": "cf8-xfK78OwT9blo_W07S", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 468.1259765625, + "y": 343.9296875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 88.955078125, + "height": 46, + "seed": 785147909, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693246725368, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Scanning \nBegins", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ZvmnqZNJc9EgAXmWaosEK", + "originalText": "Scanning Begins", + "lineHeight": 1.15, + "baseline": 42 + }, + { + "type": "arrow", + "version": 84, + "versionNonce": 753297763, + "isDeleted": false, + "id": "GITe4hkmrvQm2qJrc8t7t", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 507.8048168187531, + "y": 276.203125, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1.9888765502169576, + "height": 55.27734375, + "seed": 68704875, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693246725368, + "link": null, + "locked": false, + "startBinding": { + "elementId": "UjFEV39vA62xHmRyCWSK7", + "focus": 0.05547291428400007, + "gap": 8.55078125 + }, + "endBinding": { + "elementId": "ZvmnqZNJc9EgAXmWaosEK", + "focus": -0.024584171650176338, + "gap": 4.38671875 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 1.9888765502169576, + 55.27734375 + ] + ] + }, + { + "type": "arrow", + "version": 710, + "versionNonce": 296045421, + "isDeleted": false, + "id": "QZwGIHg6zCwxolwZCbUqW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 574.8984375, + "y": 369.9349412775456, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 100.75641225658967, + "height": 2.640611566035318, + "seed": 1435301899, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323288384, + "link": null, + "locked": false, + "startBinding": { + "elementId": "ZvmnqZNJc9EgAXmWaosEK", + "gap": 1, + "focus": 0.1381729988434557 + }, + "endBinding": { + "elementId": "I44ZjRGQe17clLABwWI_0", + "gap": 9.548596947956753, + "focus": 0.09048922543133398 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 100.75641225658967, + -2.640611566035318 + ] + ] + }, + { + "type": "rectangle", + "version": 472, + "versionNonce": 1302164749, + "isDeleted": false, + "id": "I44ZjRGQe17clLABwWI_0", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 685.2034467045464, + "y": 286.1482954047348, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 301, + "height": 170, + "seed": 327511045, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "g76NiXIvyHiE2XIoI09j4" + }, + { + "id": "QZwGIHg6zCwxolwZCbUqW", + "type": "arrow" + } + ], + "updated": 1693323288384, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 742, + "versionNonce": 1052323299, + "isDeleted": false, + "id": "g76NiXIvyHiE2XIoI09j4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 690.2034467045464, + "y": 297.54829540473486, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 284.6328125, + "height": 147.2, + "seed": 241410917, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693323288384, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "Scanning:\n{\n number_of_blocks_to_scan: number,\n number_of_blocks_evaluated: number,\n number_of_times_triggered: number,\n last_evaluated_block_height: number,\n last_occurrence: timestamp\n}", + "textAlign": "left", + "verticalAlign": "middle", + "containerId": "I44ZjRGQe17clLABwWI_0", + "originalText": "Scanning:\n{\n number_of_blocks_to_scan: number,\n number_of_blocks_evaluated: number,\n number_of_times_triggered: number,\n last_evaluated_block_height: number,\n last_occurrence: timestamp\n}", + "lineHeight": 1.15, + "baseline": 143 + }, + { + "type": "arrow", + "version": 740, + "versionNonce": 1953915021, + "isDeleted": false, + "id": "djLZxg7-dQzazao679PIu", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 456.2992116259511, + "y": 404.3939634938485, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.77049207145819, + "height": 333.28550289040726, + "seed": 1649129189, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323307829, + "link": null, + "locked": false, + "startBinding": { + "elementId": "ZvmnqZNJc9EgAXmWaosEK", + "focus": 0.6820987961010629, + "gap": 6.401775993848503 + }, + "endBinding": { + "elementId": "VJVw8FzuCprLKb3d5rkg7", + "focus": -1.055639275814804, + "gap": 12.611451096629935 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -52.77049207145819, + 213.5266977787108 + ], + [ + -40.98989083312517, + 333.28550289040726 + ] + ] + }, + { + "type": "arrow", + "version": 862, + "versionNonce": 240497827, + "isDeleted": false, + "id": "wT0WIuYwXK9qJaJbdcCZC", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 502.18588894383083, + "y": 405.5301706503234, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 10.897504678678956, + "height": 137.49192545589256, + "seed": 1097920421, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323294435, + "link": null, + "locked": false, + "startBinding": { + "elementId": "ZvmnqZNJc9EgAXmWaosEK", + "focus": 0.11552311874670006, + "gap": 7.537983150323328 + }, + "endBinding": { + "elementId": "cuhfmFofLnkXv7e6B6frL", + "focus": -0.2904145603107151, + "gap": 12.30967309967673 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -10.897504678678956, + 137.49192545589256 + ] + ] + }, + { + "type": "rectangle", + "version": 198, + "versionNonce": 1587877443, + "isDeleted": false, + "id": "PjV1T-aVal-O9M1bWSnHt", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 549.8509848204694, + "y": 468.1896019526268, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 107.90234375, + "height": 60, + "seed": 1022741893, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "8WcD_O-LpU-RAcn5iSEbV" + }, + { + "id": "0c2QxpluQRDQYeIoOqeQ8", + "type": "arrow" + }, + { + "id": "5TjKVv9EWolhxDOo0FOtP", + "type": "arrow" + }, + { + "id": "rMULHXDE5-aPl8XX1HpiF", + "type": "arrow" + }, + { + "id": "WkYhnsevmXLh2XqowRPZx", + "type": "arrow" + } + ], + "updated": 1693323268825, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 149, + "versionNonce": 733108675, + "isDeleted": false, + "id": "8WcD_O-LpU-RAcn5iSEbV", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 566.0091879454694, + "y": 475.1896019526268, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 75.5859375, + "height": 46, + "seed": 1248103755, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693323250981, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "an error \noccurs", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "PjV1T-aVal-O9M1bWSnHt", + "originalText": "an error occurs", + "lineHeight": 1.15, + "baseline": 42 + }, + { + "type": "rectangle", + "version": 223, + "versionNonce": 1052011181, + "isDeleted": false, + "id": "rM7jCr5aR4SHEFYIlN8cy", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 735.3088360229422, + "y": 485.9675585524932, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 201, + "height": 46, + "seed": 1239186315, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "11_pUdLMmE8tXvaDM7Juc" + }, + { + "id": "0c2QxpluQRDQYeIoOqeQ8", + "type": "arrow" + } + ], + "updated": 1693323291564, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 211, + "versionNonce": 85893795, + "isDeleted": false, + "id": "11_pUdLMmE8tXvaDM7Juc", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 740.3088360229422, + "y": 499.76755855249314, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 163.625, + "height": 18.4, + "seed": 500437605, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693323291564, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "Interrupted: string error", + "textAlign": "left", + "verticalAlign": "middle", + "containerId": "rM7jCr5aR4SHEFYIlN8cy", + "originalText": "Interrupted: string error", + "lineHeight": 1.15, + "baseline": 15 + }, + { + "type": "arrow", + "version": 593, + "versionNonce": 1528321603, + "isDeleted": false, + "id": "0c2QxpluQRDQYeIoOqeQ8", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 660.5775473204694, + "y": 502.1463532508906, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 63.93281899779993, + "height": 8.847597802710993, + "seed": 407387397, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323291564, + "link": null, + "locked": false, + "startBinding": { + "elementId": "PjV1T-aVal-O9M1bWSnHt", + "focus": -0.10928341680618532, + "gap": 2.82421875 + }, + "endBinding": { + "elementId": "rM7jCr5aR4SHEFYIlN8cy", + "focus": -0.47222365654962584, + "gap": 10.798469704672812 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 63.93281899779993, + 8.847597802710993 + ] + ] + }, + { + "type": "rectangle", + "version": 372, + "versionNonce": 1421216333, + "isDeleted": false, + "id": "cuhfmFofLnkXv7e6B6frL", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 426.54333754341405, + "y": 555.3317692058927, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 173, + "height": 85, + "seed": 402021, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "uHnEVWA05ARKVWKeYFR4X" + }, + { + "id": "wT0WIuYwXK9qJaJbdcCZC", + "type": "arrow" + }, + { + "id": "3VdXQBfzi-sxK4qZXtwHA", + "type": "arrow" + }, + { + "id": "5TjKVv9EWolhxDOo0FOtP", + "type": "arrow" + }, + { + "id": "1IKMEYtMW6iV8e47xxpUh", + "type": "arrow" + }, + { + "id": "g57-8kI6Tx2dqbk17t8WB", + "type": "arrow" + } + ], + "updated": 1693323294434, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 480, + "versionNonce": 20991235, + "isDeleted": false, + "id": "uHnEVWA05ARKVWKeYFR4X", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 432.98962660591405, + "y": 574.8317692058927, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 160.107421875, + "height": 46, + "seed": 1933358597, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693323294434, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Scanning reaches\n chain tip", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "cuhfmFofLnkXv7e6B6frL", + "originalText": "Scanning reaches chain tip", + "lineHeight": 1.15, + "baseline": 42 + }, + { + "type": "arrow", + "version": 662, + "versionNonce": 261957699, + "isDeleted": false, + "id": "3VdXQBfzi-sxK4qZXtwHA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 606.871462543414, + "y": 608.5031917728453, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 94.12180678440996, + "height": 7.795856229389301, + "seed": 587078571, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323294435, + "link": null, + "locked": false, + "startBinding": { + "elementId": "cuhfmFofLnkXv7e6B6frL", + "gap": 7.328125, + "focus": 0.36937968830832907 + }, + "endBinding": { + "elementId": "GouMOOaqys858htk8Em2w", + "gap": 1.21484375, + "focus": 0.5087553000652315 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 94.12180678440996, + -7.795856229389301 + ] + ] + }, + { + "type": "rectangle", + "version": 303, + "versionNonce": 1542562787, + "isDeleted": false, + "id": "GouMOOaqys858htk8Em2w", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 702.208113077824, + "y": 554.0675712078972, + "strokeColor": "#1e1e1e", + "backgroundColor": "#fffefe", + "width": 380, + "height": 158, + "seed": 214722923, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "H-CDqq8nfnf7JdUhzfd05" + }, + { + "id": "3VdXQBfzi-sxK4qZXtwHA", + "type": "arrow" + } + ], + "updated": 1693323292615, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 460, + "versionNonce": 1347764173, + "isDeleted": false, + "id": "H-CDqq8nfnf7JdUhzfd05", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 707.208113077824, + "y": 559.4675712078972, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 284.6328125, + "height": 147.2, + "seed": 420596171, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693323292615, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "Streaming:\n{\n number_of_times_triggered: number,\n number_of_blocks_evaluated: number,\n last_evaluated_block_height: number,\n last_occurrence: timestamp,\n last_evaluation: timestamp\n}", + "textAlign": "left", + "verticalAlign": "middle", + "containerId": "GouMOOaqys858htk8Em2w", + "originalText": "Streaming:\n{\n number_of_times_triggered: number,\n number_of_blocks_evaluated: number,\n last_evaluated_block_height: number,\n last_occurrence: timestamp,\n last_evaluation: timestamp\n}", + "lineHeight": 1.15, + "baseline": 143 + }, + { + "type": "arrow", + "version": 628, + "versionNonce": 1257580515, + "isDeleted": false, + "id": "5TjKVv9EWolhxDOo0FOtP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 563.9355095175913, + "y": 551.1796545141408, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 21.70734913495869, + "height": 19.99645646469287, + "seed": 1956554859, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323294435, + "link": null, + "locked": false, + "startBinding": { + "elementId": "cuhfmFofLnkXv7e6B6frL", + "focus": -0.0005490411077573741, + "gap": 4.152114691751876 + }, + "endBinding": { + "elementId": "PjV1T-aVal-O9M1bWSnHt", + "focus": -0.20408736108212475, + "gap": 2.9935960968210793 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 21.70734913495869, + -19.99645646469287 + ] + ] + }, + { + "type": "rectangle", + "version": 607, + "versionNonce": 773623669, + "isDeleted": false, + "id": "VJVw8FzuCprLKb3d5rkg7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 427.92077188945586, + "y": 698.4218140201257, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 196, + "height": 109, + "seed": 369499083, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "sbI2nD8phu5m6TgLXK3Hn" + }, + { + "id": "06estKp-6kQgwxO2t6KFG", + "type": "arrow" + }, + { + "id": "rMULHXDE5-aPl8XX1HpiF", + "type": "arrow" + }, + { + "id": "1IKMEYtMW6iV8e47xxpUh", + "type": "arrow" + }, + { + "id": "djLZxg7-dQzazao679PIu", + "type": "arrow" + }, + { + "id": "AI2OtMRbHFAQsydSNQb9y", + "type": "arrow" + }, + { + "id": "dPq75c13Wt7-UY0z2ZlUX", + "type": "arrow" + }, + { + "id": "KvsZXMShlfH_2BOhg46qy", + "type": "arrow" + } + ], + "updated": 1694622859986, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1013, + "versionNonce": 1575463309, + "isDeleted": false, + "id": "sbI2nD8phu5m6TgLXK3Hn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 440.88170938945586, + "y": 718.4218140201257, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 170.078125, + "height": 69, + "seed": 1711696491, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1693323298384, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Scanning or \nstreaming reaches \n\"end_block\" ", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "VJVw8FzuCprLKb3d5rkg7", + "originalText": "Scanning or streaming reaches \"end_block\" ", + "lineHeight": 1.15, + "baseline": 65 + }, + { + "type": "rectangle", + "version": 443, + "versionNonce": 1725637197, + "isDeleted": false, + "id": "v8XemaV8aJ9l--tdjufTD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 711.6753975882452, + "y": 734.9948541984346, + "strokeColor": "#1e1e1e", + "backgroundColor": "#fffefe", + "width": 325, + "height": 155, + "seed": 523773989, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "oMSttaMhU_wKGGAHXk_id" + }, + { + "id": "06estKp-6kQgwxO2t6KFG", + "type": "arrow" + } + ], + "updated": 1693323296449, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 581, + "versionNonce": 682379323, + "isDeleted": false, + "id": "oMSttaMhU_wKGGAHXk_id", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 716.6753975882452, + "y": 748.0948541984346, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 284.6328125, + "height": 128.79999999999998, + "seed": 1755962245, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694622802753, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "ExpiredUnconfirmed:\n{\n number_of_times_triggered: number,\n number_of_blocks_evaluated: number,\n last_evaluated_block_height: number,\n last_occurrence: timestamp\n}", + "textAlign": "left", + "verticalAlign": "middle", + "containerId": "v8XemaV8aJ9l--tdjufTD", + "originalText": "ExpiredUnconfirmed:\n{\n number_of_times_triggered: number,\n number_of_blocks_evaluated: number,\n last_evaluated_block_height: number,\n last_occurrence: timestamp\n}", + "lineHeight": 1.15, + "baseline": 125 + }, + { + "type": "arrow", + "version": 1136, + "versionNonce": 1941237741, + "isDeleted": false, + "id": "06estKp-6kQgwxO2t6KFG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 626.5613968894559, + "y": 770.3360832644444, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 80.82493819878937, + "height": 8.000145116694966, + "seed": 1044084779, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323298385, + "link": null, + "locked": false, + "startBinding": { + "elementId": "VJVw8FzuCprLKb3d5rkg7", + "gap": 2.640625, + "focus": 0.10172512118319793 + }, + "endBinding": { + "elementId": "v8XemaV8aJ9l--tdjufTD", + "gap": 4.2890625, + "focus": 0.1885960285484996 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 80.82493819878937, + 8.000145116694966 + ] + ] + }, + { + "type": "arrow", + "version": 577, + "versionNonce": 38015331, + "isDeleted": false, + "id": "rMULHXDE5-aPl8XX1HpiF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 616.5597720892812, + "y": 693.9391277225493, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 6.774993717848588, + "height": 156.8105767747229, + "seed": 1662498571, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323298385, + "link": null, + "locked": false, + "startBinding": { + "elementId": "VJVw8FzuCprLKb3d5rkg7", + "gap": 4.482686297576379, + "focus": 0.4705886791648863 + }, + "endBinding": { + "elementId": "PjV1T-aVal-O9M1bWSnHt", + "focus": -0.11921475427335945, + "gap": 8.93894899519944 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 2.339646886887863, + -4.447393347200659 + ], + [ + -4.435346830960725, + -156.8105767747229 + ] + ] + }, + { + "type": "arrow", + "version": 665, + "versionNonce": 1461841155, + "isDeleted": false, + "id": "1IKMEYtMW6iV8e47xxpUh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 511.8992995910817, + "y": 651.6471881312585, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 4.936153623101745, + "height": 42.33736553126937, + "seed": 584409253, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323298385, + "link": null, + "locked": false, + "startBinding": { + "elementId": "cuhfmFofLnkXv7e6B6frL", + "gap": 11.315418925365861, + "focus": 0.07620959491265597 + }, + "endBinding": { + "elementId": "VJVw8FzuCprLKb3d5rkg7", + "gap": 4.437260357597779, + "focus": -0.02121397528307976 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 4.936153623101745, + 42.33736553126937 + ] + ] + }, + { + "type": "rectangle", + "version": 831, + "versionNonce": 1114522747, + "isDeleted": false, + "id": "QFC4ZYVbNfa9mBV9mRzba", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 390.78225569843585, + "y": 1008.7176721301067, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 196, + "height": 109, + "seed": 318026947, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "bjF0emENn5CCcCN01MRab" + }, + { + "id": "AI2OtMRbHFAQsydSNQb9y", + "type": "arrow" + }, + { + "id": "KvsZXMShlfH_2BOhg46qy", + "type": "arrow" + }, + { + "id": "g57-8kI6Tx2dqbk17t8WB", + "type": "arrow" + } + ], + "updated": 1694622809464, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1245, + "versionNonce": 516291867, + "isDeleted": false, + "id": "bjF0emENn5CCcCN01MRab", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 461.54592757343585, + "y": 1051.7176721301066, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54.47265625, + "height": 23, + "seed": 78062691, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694622809464, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Reorg", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "QFC4ZYVbNfa9mBV9mRzba", + "originalText": "Reorg", + "lineHeight": 1.15, + "baseline": 19 + }, + { + "type": "arrow", + "version": 478, + "versionNonce": 1670999509, + "isDeleted": false, + "id": "AI2OtMRbHFAQsydSNQb9y", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 414.421285151069, + "y": 1005.0299520619433, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 23.009228451167758, + "height": 199.37867487825895, + "seed": 1595966755, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694622874029, + "link": null, + "locked": false, + "startBinding": { + "elementId": "QFC4ZYVbNfa9mBV9mRzba", + "focus": -0.6597163319224459, + "gap": 3.687720068163401 + }, + "endBinding": { + "elementId": "VJVw8FzuCprLKb3d5rkg7", + "focus": 0.7675854498548031, + "gap": 1.9927953926588202 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -11.502537105439728, + -111.53573918643804 + ], + [ + 11.50669134572803, + -199.37867487825895 + ] + ] + }, + { + "type": "arrow", + "version": 1133, + "versionNonce": 1677632725, + "isDeleted": false, + "id": "KvsZXMShlfH_2BOhg46qy", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 444.71562375340613, + "y": 809.7039836076483, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 21.935401940051293, + "height": 196.29494448998514, + "seed": 640396717, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694622885264, + "link": null, + "locked": false, + "startBinding": { + "elementId": "VJVw8FzuCprLKb3d5rkg7", + "focus": 0.6206873428350862, + "gap": 2.282169587522617 + }, + "endBinding": { + "elementId": "QFC4ZYVbNfa9mBV9mRzba", + "focus": -0.41444467780518385, + "gap": 2.7187440324732393 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -21.935401940051293, + 97.53554194371304 + ], + [ + -7.894879904453546, + 196.29494448998514 + ] + ] + }, + { + "type": "arrow", + "version": 710, + "versionNonce": 762124187, + "isDeleted": false, + "id": "g57-8kI6Tx2dqbk17t8WB", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 404.70901517425114, + "y": 1007.7176721301066, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 84.18863410793688, + "height": 360.68468353730907, + "seed": 1246228803, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694622809464, + "link": null, + "locked": false, + "startBinding": { + "elementId": "QFC4ZYVbNfa9mBV9mRzba", + "focus": -0.5378213678267441, + "gap": 1 + }, + "endBinding": { + "elementId": "cuhfmFofLnkXv7e6B6frL", + "focus": 0.5837090881973133, + "gap": 6.7012193869048815 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -56.1934924337628, + -151.93928882820387 + ], + [ + 27.99514167417408, + -360.68468353730907 + ] + ] + }, + { + "type": "arrow", + "version": 126, + "versionNonce": 445686637, + "isDeleted": false, + "id": "WkYhnsevmXLh2XqowRPZx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 563.5594198689771, + "y": 401.85717673144467, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 14.25196204286408, + "height": 60.58308263581745, + "seed": 950922723, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1693323268829, + "link": null, + "locked": false, + "startBinding": { + "elementId": "ZvmnqZNJc9EgAXmWaosEK", + "focus": -0.6230017385259247, + "gap": 3.8649892314446674 + }, + "endBinding": { + "elementId": "PjV1T-aVal-O9M1bWSnHt", + "focus": -0.28817041786904013, + "gap": 5.749342585364701 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 14.25196204286408, + 60.58308263581745 + ] + ] + }, + { + "type": "rectangle", + "version": 720, + "versionNonce": 613937909, + "isDeleted": false, + "id": "6evQPs114K99wYslVA3lc", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 469.0322503573975, + "y": 856.7813382617101, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 196, + "height": 109, + "seed": 1851342139, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "qstuPvboSd5cDgDO2crr8" + }, + { + "id": "dPq75c13Wt7-UY0z2ZlUX", + "type": "arrow" + }, + { + "id": "-DLh1Hquji1zA-aPPWB68", + "type": "arrow" + } + ], + "updated": 1694622852486, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1152, + "versionNonce": 1017418427, + "isDeleted": false, + "id": "qstuPvboSd5cDgDO2crr8", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 501.5635003573975, + "y": 888.2813382617101, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 130.9375, + "height": 46, + "seed": 743693787, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694622825027, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "\"end_block\" is \nconfirmed", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6evQPs114K99wYslVA3lc", + "originalText": "\"end_block\" is confirmed", + "lineHeight": 1.15, + "baseline": 42 + }, + { + "id": "dPq75c13Wt7-UY0z2ZlUX", + "type": "arrow", + "x": 548.9557224304908, + "y": 812.1542895512052, + "width": 4.149587198984591, + "height": 42.60450633807136, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1420309461, + "version": 68, + "versionNonce": 497034715, + "isDeleted": false, + "boundElements": null, + "updated": 1694622835426, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.149587198984591, + 42.60450633807136 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "VJVw8FzuCprLKb3d5rkg7", + "focus": -0.16712940342499136, + "gap": 4.732475531079558 + }, + "endBinding": { + "elementId": "6evQPs114K99wYslVA3lc", + "focus": -0.08152081048962034, + "gap": 2.0225423724334632 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "type": "rectangle", + "version": 546, + "versionNonce": 1370847669, + "isDeleted": false, + "id": "WEx7Gt9m-vnKB2WzyjWmh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 709.4556719342766, + "y": 923.9101941297819, + "strokeColor": "#1e1e1e", + "backgroundColor": "#fffefe", + "width": 325, + "height": 155, + "seed": 834510197, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "YWpk3RazRnr8Q68Id41Wm" + }, + { + "id": "-DLh1Hquji1zA-aPPWB68", + "type": "arrow" + } + ], + "updated": 1694622852486, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 688, + "versionNonce": 51897557, + "isDeleted": false, + "id": "YWpk3RazRnr8Q68Id41Wm", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 714.4556719342766, + "y": 937.0101941297819, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 284.6328125, + "height": 128.79999999999998, + "seed": 997467861, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694622845413, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "ExpiredConfirmed:\n{\n number_of_times_triggered: number,\n number_of_blocks_evaluated: number,\n last_evaluated_block_height: number,\n last_occurrence: timestamp\n}", + "textAlign": "left", + "verticalAlign": "middle", + "containerId": "WEx7Gt9m-vnKB2WzyjWmh", + "originalText": "ExpiredConfirmed:\n{\n number_of_times_triggered: number,\n number_of_blocks_evaluated: number,\n last_evaluated_block_height: number,\n last_occurrence: timestamp\n}", + "lineHeight": 1.15, + "baseline": 125 + }, + { + "id": "-DLh1Hquji1zA-aPPWB68", + "type": "arrow", + "x": 667.1655294401883, + "y": 948.8546927383518, + "width": 35.36053812696866, + "height": 24.220766483342913, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 788113307, + "version": 145, + "versionNonce": 1876812667, + "isDeleted": false, + "boundElements": null, + "updated": 1694622855694, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 35.36053812696866, + 24.220766483342913 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "6evQPs114K99wYslVA3lc", + "focus": -0.2549978383729463, + "gap": 2.13327908279075 + }, + "endBinding": { + "elementId": "WEx7Gt9m-vnKB2WzyjWmh", + "focus": -0.46459503844075406, + "gap": 6.929604367119623 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/images/predicate-status-flowchart/PredicateStatusFlowchart.png b/docs/images/predicate-status-flowchart/PredicateStatusFlowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..e37e2400651a4707963f457b31db8c94d1af1586 GIT binary patch literal 512548 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

{KlcYbVowS3ri-(-s+=`$E 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�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�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 N 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࡮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 e|B-