Skip to content

Commit fdb5f83

Browse files
committed
chore: cargo fmt
1 parent e8e1912 commit fdb5f83

File tree

8 files changed

+162
-147
lines changed

8 files changed

+162
-147
lines changed

src/bin.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ mod macros;
1717

1818
mod frontend;
1919
mod generate;
20-
mod integrate;
2120
mod indexer;
21+
mod integrate;
2222
mod poke;
2323
mod publish;
2424
mod runnner;

src/indexer/chains/bitcoin.rs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
use bitcoincore_rpc::{Auth, Client, RpcApi};
2-
use bitcoincore_rpc::bitcoin::hashes::Hash;
3-
use bitcoincore_rpc::bitcoin::BlockHash;
4-
use clarity_repl::clarity::util::hash::{hex_bytes};
51
use crate::indexer::IndexerConfig;
62
use crate::types::{BitcoinBlockData, BitcoinBlockMetadata, BlockIdentifier};
7-
use rocket::serde::json::{Value as JsonValue};
3+
use bitcoincore_rpc::bitcoin::hashes::Hash;
4+
use bitcoincore_rpc::bitcoin::BlockHash;
5+
use bitcoincore_rpc::{Auth, Client, RpcApi};
6+
use clarity_repl::clarity::util::hash::hex_bytes;
7+
use rocket::serde::json::Value as JsonValue;
88

99
#[allow(dead_code)]
1010
#[derive(Deserialize)]
@@ -15,12 +15,16 @@ pub struct NewBurnBlock {
1515
burn_amount: u64,
1616
}
1717

18-
pub fn standardize_bitcoin_block(indexer_config: &IndexerConfig, marshalled_block: JsonValue) -> BitcoinBlockData {
18+
pub fn standardize_bitcoin_block(
19+
indexer_config: &IndexerConfig,
20+
marshalled_block: JsonValue,
21+
) -> BitcoinBlockData {
1922
let mut transactions = vec![];
2023

2124
let auth = Auth::UserPass(
2225
indexer_config.bitcoin_node_rpc_username.clone(),
23-
indexer_config.bitcoin_node_rpc_password.clone());
26+
indexer_config.bitcoin_node_rpc_password.clone(),
27+
);
2428

2529
let rpc = Client::new(&indexer_config.bitcoin_node_rpc_url, auth).unwrap();
2630

@@ -33,7 +37,7 @@ pub fn standardize_bitcoin_block(indexer_config: &IndexerConfig, marshalled_bloc
3337
BlockHash::from_slice(&block_hash_bytes).unwrap()
3438
};
3539
let block = rpc.get_block(&block_hash).unwrap();
36-
40+
3741
for txdata in block.txdata.iter() {
3842
// let _ = tx.send(DevnetEvent::debug(format!(
3943
// "Tx.out: {:?}", txdata.output
@@ -54,4 +58,3 @@ pub fn standardize_bitcoin_block(indexer_config: &IndexerConfig, marshalled_bloc
5458
transactions: transactions,
5559
}
5660
}
57-

src/indexer/chains/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ pub mod bitcoin;
22
pub mod stacks;
33

44
pub use bitcoin::standardize_bitcoin_block;
5-
pub use stacks::standardize_stacks_block;
5+
pub use stacks::standardize_stacks_block;

src/indexer/chains/stacks.rs

Lines changed: 41 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,21 @@
1+
use crate::indexer::AssetClassCache;
12
use crate::indexer::{IndexerConfig, StacksChainContext};
23
use crate::types::{
3-
AccountIdentifier, Amount,
4-
BlockIdentifier, Currency, CurrencyMetadata, CurrencyStandard,
4+
AccountIdentifier, Amount, BlockIdentifier, Currency, CurrencyMetadata, CurrencyStandard,
55
Operation, OperationIdentifier, OperationStatusKind, OperationType, StacksBlockData,
66
StacksBlockMetadata, StacksTransactionData, StacksTransactionMetadata, TransactionIdentifier,
77
};
88
use crate::utils::stacks::{transactions, StacksRpc};
9-
use crate::indexer::AssetClassCache;
109
use clarity_repl::clarity::codec::transaction::TransactionPayload;
1110
use clarity_repl::clarity::codec::{StacksMessageCodec, StacksTransaction};
12-
use clarity_repl::clarity::types::{
13-
AssetIdentifier, BuffData, SequenceData, TupleData, Value as ClarityValue,
14-
};
15-
use clarity_repl::clarity::util::hash::{hex_bytes, Hash160};
16-
use rocket::serde::json::{Value as JsonValue};
11+
use clarity_repl::clarity::types::Value as ClarityValue;
12+
use clarity_repl::clarity::util::hash::hex_bytes;
13+
use rocket::serde::json::Value as JsonValue;
1714
use rocket::serde::Deserialize;
1815
use std::collections::HashMap;
16+
use std::convert::TryInto;
1917
use std::io::Cursor;
2018
use std::str;
21-
use std::convert::TryInto;
22-
2319

2420
#[allow(dead_code)]
2521
#[derive(Deserialize)]
@@ -162,17 +158,22 @@ struct ContractReadonlyCall {
162158
result: String,
163159
}
164160

165-
pub fn standardize_stacks_block(indexer_config: &IndexerConfig, marshalled_block: JsonValue, ctx: &mut StacksChainContext) -> StacksBlockData {
166-
161+
pub fn standardize_stacks_block(
162+
indexer_config: &IndexerConfig,
163+
marshalled_block: JsonValue,
164+
ctx: &mut StacksChainContext,
165+
) -> StacksBlockData {
167166
let mut block: NewBlock = serde_json::from_value(marshalled_block).unwrap();
168167

169-
let pox_cycle_length: u64 = (ctx.pox_info.prepare_phase_block_length + ctx.pox_info.reward_phase_block_length).into();
168+
let pox_cycle_length: u64 =
169+
(ctx.pox_info.prepare_phase_block_length + ctx.pox_info.reward_phase_block_length).into();
170170
let current_len = block.burn_block_height - ctx.pox_info.first_burnchain_block_height;
171171
let pox_cycle_id: u32 = (current_len / pox_cycle_length).try_into().unwrap();
172172

173173
let mut events = vec![];
174174
events.append(&mut block.events);
175-
let transactions = block.transactions
175+
let transactions = block
176+
.transactions
176177
.iter()
177178
.map(|t| {
178179
let description = get_tx_description(&t.raw_tx);
@@ -216,7 +217,7 @@ pub fn standardize_stacks_block(indexer_config: &IndexerConfig, marshalled_block
216217
pox_cycle_length: pox_cycle_length.try_into().unwrap(),
217218
},
218219
transactions,
219-
}
220+
}
220221
}
221222

222223
pub fn get_value_description(raw_value: &str) -> String {
@@ -289,7 +290,6 @@ pub fn get_tx_description(raw_tx: &str) -> String {
289290
description
290291
}
291292

292-
293293
pub fn get_standardized_fungible_currency_from_asset_class_id(
294294
asset_class_id: &str,
295295
asset_class_cache: &mut HashMap<String, AssetClassCache>,
@@ -406,14 +406,14 @@ pub fn get_standardized_stacks_operations(
406406
) -> Vec<Operation> {
407407
let mut operations = vec![];
408408
let mut operation_id = 0;
409-
409+
410410
let mut i = 0;
411411
while i < events.len() {
412412
if events[i].txid == transaction.txid {
413413
let event = events.remove(i);
414414
if let Some(ref event_data) = event.stx_mint_event {
415-
let data: STXMintEventData =
416-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
415+
let data: STXMintEventData = serde_json::from_value(event_data.clone())
416+
.expect("Unable to decode event_data");
417417
operations.push(Operation {
418418
operation_identifier: OperationIdentifier {
419419
index: operation_id,
@@ -434,8 +434,8 @@ pub fn get_standardized_stacks_operations(
434434
});
435435
operation_id += 1;
436436
} else if let Some(ref event_data) = event.stx_lock_event {
437-
let data: STXLockEventData =
438-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
437+
let data: STXLockEventData = serde_json::from_value(event_data.clone())
438+
.expect("Unable to decode event_data");
439439
operations.push(Operation {
440440
operation_identifier: OperationIdentifier {
441441
index: operation_id,
@@ -449,15 +449,18 @@ pub fn get_standardized_stacks_operations(
449449
sub_account: None,
450450
},
451451
amount: Some(Amount {
452-
value: data.locked_amount.parse::<u64>().expect("Unable to parse u64"),
452+
value: data
453+
.locked_amount
454+
.parse::<u64>()
455+
.expect("Unable to parse u64"),
453456
currency: get_stacks_currency(),
454457
}),
455458
metadata: None,
456459
});
457460
operation_id += 1;
458461
} else if let Some(ref event_data) = event.stx_burn_event {
459-
let data: STXBurnEventData =
460-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
462+
let data: STXBurnEventData = serde_json::from_value(event_data.clone())
463+
.expect("Unable to decode event_data");
461464
operations.push(Operation {
462465
operation_identifier: OperationIdentifier {
463466
index: operation_id,
@@ -478,8 +481,8 @@ pub fn get_standardized_stacks_operations(
478481
});
479482
operation_id += 1;
480483
} else if let Some(ref event_data) = event.stx_transfer_event {
481-
let data: STXTransferEventData =
482-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
484+
let data: STXTransferEventData = serde_json::from_value(event_data.clone())
485+
.expect("Unable to decode event_data");
483486
operations.push(Operation {
484487
operation_identifier: OperationIdentifier {
485488
index: operation_id,
@@ -525,8 +528,8 @@ pub fn get_standardized_stacks_operations(
525528
});
526529
operation_id += 1;
527530
} else if let Some(ref event_data) = event.nft_mint_event {
528-
let data: NFTMintEventData =
529-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
531+
let data: NFTMintEventData = serde_json::from_value(event_data.clone())
532+
.expect("Unable to decode event_data");
530533
let currency = get_standardized_non_fungible_currency_from_asset_class_id(
531534
&data.asset_class_identifier,
532535
&data.asset_identifier,
@@ -549,8 +552,8 @@ pub fn get_standardized_stacks_operations(
549552
});
550553
operation_id += 1;
551554
} else if let Some(ref event_data) = event.nft_burn_event {
552-
let data: NFTBurnEventData =
553-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
555+
let data: NFTBurnEventData = serde_json::from_value(event_data.clone())
556+
.expect("Unable to decode event_data");
554557
let currency = get_standardized_non_fungible_currency_from_asset_class_id(
555558
&data.asset_class_identifier,
556559
&data.asset_identifier,
@@ -573,8 +576,8 @@ pub fn get_standardized_stacks_operations(
573576
});
574577
operation_id += 1;
575578
} else if let Some(ref event_data) = event.nft_transfer_event {
576-
let data: NFTTransferEventData =
577-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
579+
let data: NFTTransferEventData = serde_json::from_value(event_data.clone())
580+
.expect("Unable to decode event_data");
578581
let currency = get_standardized_non_fungible_currency_from_asset_class_id(
579582
&data.asset_class_identifier,
580583
&data.asset_identifier,
@@ -622,8 +625,8 @@ pub fn get_standardized_stacks_operations(
622625
});
623626
operation_id += 1;
624627
} else if let Some(ref event_data) = event.ft_mint_event {
625-
let data: FTMintEventData =
626-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
628+
let data: FTMintEventData = serde_json::from_value(event_data.clone())
629+
.expect("Unable to decode event_data");
627630
let currency = get_standardized_fungible_currency_from_asset_class_id(
628631
&data.asset_class_identifier,
629632
asset_class_cache,
@@ -649,8 +652,8 @@ pub fn get_standardized_stacks_operations(
649652
});
650653
operation_id += 1;
651654
} else if let Some(ref event_data) = event.ft_burn_event {
652-
let data: FTBurnEventData =
653-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
655+
let data: FTBurnEventData = serde_json::from_value(event_data.clone())
656+
.expect("Unable to decode event_data");
654657
let currency = get_standardized_fungible_currency_from_asset_class_id(
655658
&data.asset_class_identifier,
656659
asset_class_cache,
@@ -676,8 +679,8 @@ pub fn get_standardized_stacks_operations(
676679
});
677680
operation_id += 1;
678681
} else if let Some(ref event_data) = event.ft_transfer_event {
679-
let data: FTTransferEventData =
680-
serde_json::from_value(event_data.clone()).expect("Unable to decode event_data");
682+
let data: FTTransferEventData = serde_json::from_value(event_data.clone())
683+
.expect("Unable to decode event_data");
681684
let currency = get_standardized_fungible_currency_from_asset_class_id(
682685
&data.asset_class_identifier,
683686
asset_class_cache,

src/indexer/mod.rs

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
pub mod chains;
22

3-
use crate::types::{BitcoinBlockData, StacksBlockData, BlockIdentifier};
4-
use rocket::serde::json::{Value as JsonValue};
5-
use std::collections::{VecDeque, HashMap};
3+
use crate::types::{BitcoinBlockData, BlockIdentifier, StacksBlockData};
4+
use rocket::serde::json::Value as JsonValue;
5+
use std::collections::{HashMap, VecDeque};
66

77
pub enum BitcoinChainEvent {
88
ChainUpdatedWithBlock(BitcoinBlockData),
9-
ChainUpdatedWithReorg(Vec<BitcoinBlockData>)
9+
ChainUpdatedWithReorg(Vec<BitcoinBlockData>),
1010
}
1111

1212
pub enum StacksChainEvent {
1313
ChainUpdatedWithBlock(StacksBlockData),
14-
ChainUpdatedWithReorg(Vec<StacksBlockData>)
14+
ChainUpdatedWithReorg(Vec<StacksBlockData>),
1515
}
1616

1717
#[derive(Deserialize, Debug, Clone, Default)]
@@ -68,10 +68,10 @@ impl StacksChainContext {
6868
}
6969

7070
pub struct IndexerConfig {
71-
stacks_node_rpc_url: String,
72-
bitcoin_node_rpc_url: String,
73-
bitcoin_node_rpc_username: String,
74-
bitcoin_node_rpc_password: String,
71+
pub stacks_node_rpc_url: String,
72+
pub bitcoin_node_rpc_url: String,
73+
pub bitcoin_node_rpc_username: String,
74+
pub bitcoin_node_rpc_password: String,
7575
}
7676

7777
pub struct Indexer {
@@ -82,7 +82,6 @@ pub struct Indexer {
8282
}
8383

8484
impl Indexer {
85-
8685
pub fn new(config: IndexerConfig) -> Indexer {
8786
let stacks_last_7_blocks = VecDeque::new();
8887
let bitcoin_last_7_blocks = VecDeque::new();
@@ -99,7 +98,8 @@ impl Indexer {
9998
let block = chains::standardize_bitcoin_block(&self.config, marshalled_block);
10099
if let Some(tip) = self.bitcoin_last_7_blocks.back() {
101100
if block.block_identifier.index == tip.index + 1 {
102-
self.bitcoin_last_7_blocks.push_back(block.block_identifier.clone());
101+
self.bitcoin_last_7_blocks
102+
.push_back(block.block_identifier.clone());
103103
if self.bitcoin_last_7_blocks.len() > 7 {
104104
self.bitcoin_last_7_blocks.pop_front();
105105
}
@@ -111,16 +111,22 @@ impl Indexer {
111111
// TODO: deeper reorg
112112
}
113113
} else {
114-
self.bitcoin_last_7_blocks.push_front(block.block_identifier.clone());
114+
self.bitcoin_last_7_blocks
115+
.push_front(block.block_identifier.clone());
115116
}
116117
BitcoinChainEvent::ChainUpdatedWithBlock(block)
117118
}
118119

119120
pub fn handle_stacks_block(&mut self, marshalled_block: JsonValue) -> StacksChainEvent {
120-
let block = chains::standardize_stacks_block(&self.config, marshalled_block, &mut self.stacks_context);
121+
let block = chains::standardize_stacks_block(
122+
&self.config,
123+
marshalled_block,
124+
&mut self.stacks_context,
125+
);
121126
if let Some(tip) = self.stacks_last_7_blocks.back() {
122127
if block.block_identifier.index == tip.index + 1 {
123-
self.stacks_last_7_blocks.push_back(block.block_identifier.clone());
128+
self.stacks_last_7_blocks
129+
.push_back(block.block_identifier.clone());
124130
if self.stacks_last_7_blocks.len() > 7 {
125131
self.stacks_last_7_blocks.pop_front();
126132
}
@@ -132,12 +138,22 @@ impl Indexer {
132138
// TODO: deeper reorg
133139
}
134140
} else {
135-
self.stacks_last_7_blocks.push_front(block.block_identifier.clone());
141+
self.stacks_last_7_blocks
142+
.push_front(block.block_identifier.clone());
136143
}
137144
StacksChainEvent::ChainUpdatedWithBlock(block)
138145
}
139146

140147
pub fn get_updated_pox_info(&mut self) -> PoxInfo {
148+
// std::thread::spawn(move || {
149+
// let pox_url = format!("{}/v2/pox", node_url);
150+
151+
// if let Ok(reponse) = reqwest::blocking::get(pox_url) {
152+
// if let Ok(update) = reponse.json() {
153+
// pox_info = update
154+
// }
155+
// }
156+
141157
self.stacks_context.pox_info.clone()
142158
}
143159
}

0 commit comments

Comments
 (0)