1#![doc = include_str!("../README.md")]
2#![allow(clippy::type_complexity)]
3
4use bitview_plugin_bedrock::Vecs as Bedrock;
5use bitview_plugin_blocks::Vecs as Blocks;
6use bitview_plugin_capital_sentiment::Vecs as CapitalSentiment;
7use bitview_plugin_coinflow::Vecs as Coinflow;
8use bitview_plugin_cointime::Vecs as Cointime;
9use bitview_plugin_constants::Vecs as Constants;
10use bitview_plugin_distribution::Vecs as Distribution;
11use bitview_plugin_indexer::Indexer;
12use bitview_plugin_indicators::Vecs as Indicators;
13use bitview_plugin_inputs::Vecs as Inputs;
14use bitview_plugin_investing::Vecs as Investing;
15use bitview_plugin_mappings::Vecs as Mappings;
16use bitview_plugin_market::Vecs as Market;
17use bitview_plugin_mining::Vecs as Mining;
18use bitview_plugin_op_return::Vecs as OpReturn;
19use bitview_plugin_outputs::Vecs as Outputs;
20use bitview_plugin_pools::Vecs as Pools;
21use bitview_plugin_price::Vecs as Price;
22use bitview_plugin_rarity_meter::Vecs as RarityMeter;
23use bitview_plugin_supply::Vecs as Supply;
24use bitview_plugin_transactions::Vecs as Transactions;
25use bitview_runtime::PluginSet;
26use bitview_traversable::Traversable;
27use vecdb::{Rw, StorageMode};
28
29mod capabilities;
30mod compute;
31mod import;
32mod timing;
33
34#[derive(PluginSet, Traversable)]
35pub struct DefaultPlugins<M: StorageMode = Rw> {
36 #[traversable(flatten)]
37 indexer: Box<Indexer<M>>,
38 blocks: Box<Blocks<M>>,
39 mining: Box<Mining<M>>,
40 transactions: Box<Transactions<M>>,
41 cointime: Box<Cointime<M>>,
42 coinflow: Box<Coinflow<M>>,
43 bedrock: Box<Bedrock<M>>,
44 capital_sentiment: Box<CapitalSentiment<M>>,
45 rarity_meter: Box<RarityMeter<M>>,
46 constants: Box<Constants>,
47 mappings: Box<Mappings<M>>,
48 indicators: Box<Indicators<M>>,
49 investing: Box<Investing>,
50 market: Box<Market<M>>,
51 pools: Box<Pools<M>>,
52 price: Box<Price<M>>,
53 #[traversable(flatten)]
54 distribution: Box<Distribution<M>>,
55 supply: Box<Supply<M>>,
56 inputs: Box<Inputs<M>>,
57 outputs: Box<Outputs<M>>,
58 op_return: Box<OpReturn<M>>,
59}