mirror of
https://github.com/alexgo-io/bitcoin-indexer.git
synced 2026-04-30 12:41:50 +08:00
chore: cargo fmt
This commit is contained in:
@@ -347,7 +347,7 @@ struct StartCommand {
|
||||
pub block_integrity_check: bool,
|
||||
/// Stream indexing to observers
|
||||
#[clap(long = "stream-indexing")]
|
||||
pub stream_indexing_to_observers: bool,
|
||||
pub stream_indexing_to_observers: bool,
|
||||
}
|
||||
|
||||
#[derive(Subcommand, PartialEq, Clone, Debug)]
|
||||
@@ -764,7 +764,12 @@ async fn handle_command(opts: Opts, ctx: &Context) -> Result<(), String> {
|
||||
|
||||
let mut service = Service::new(config, ctx.clone());
|
||||
return service
|
||||
.run(predicates, None, cmd.block_integrity_check, cmd.stream_indexing_to_observers)
|
||||
.run(
|
||||
predicates,
|
||||
None,
|
||||
cmd.block_integrity_check,
|
||||
cmd.stream_indexing_to_observers,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
},
|
||||
@@ -919,7 +924,10 @@ async fn handle_command(opts: Opts, ctx: &Context) -> Result<(), String> {
|
||||
let inscriptions_db_conn_rw =
|
||||
open_readwrite_ordhook_db_conn(&config.expected_cache_path(), ctx)?;
|
||||
|
||||
println!("{} blocks will be deleted. Confirm? [Y/n]", cmd.end_block - cmd.start_block + 1);
|
||||
println!(
|
||||
"{} blocks will be deleted. Confirm? [Y/n]",
|
||||
cmd.end_block - cmd.start_block + 1
|
||||
);
|
||||
let mut buffer = String::new();
|
||||
std::io::stdin().read_line(&mut buffer).unwrap();
|
||||
if buffer.starts_with('n') {
|
||||
|
||||
@@ -62,7 +62,7 @@ pub fn resolve_absolute_pointer(inputs: &Vec<u64>, absolute_pointer_value: u64)
|
||||
// Check for overflow
|
||||
let total: u64 = inputs.iter().sum();
|
||||
if absolute_pointer_value > total {
|
||||
return (0, 0)
|
||||
return (0, 0);
|
||||
}
|
||||
// Identify the input + satoshi offset being inscribed
|
||||
for (index, input_value) in inputs.iter().enumerate() {
|
||||
@@ -218,52 +218,56 @@ pub fn should_sync_ordhook_db(
|
||||
#[test]
|
||||
fn test_identify_next_output_index_destination() {
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,0, &vec![20, 30, 45], &vec![20, 30, 45], 10, None),
|
||||
compute_next_satpoint_data(0, 0, &vec![20, 30, 45], &vec![20, 30, 45], 10, None),
|
||||
SatPosition::Output((0, 10))
|
||||
);
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,0, &vec![20, 30, 45], &vec![20, 30, 45], 20, None),
|
||||
compute_next_satpoint_data(0, 0, &vec![20, 30, 45], &vec![20, 30, 45], 20, None),
|
||||
SatPosition::Output((1, 0))
|
||||
);
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,1, &vec![20, 30, 45], &vec![20, 30, 45], 25, None),
|
||||
compute_next_satpoint_data(0, 1, &vec![20, 30, 45], &vec![20, 30, 45], 25, None),
|
||||
SatPosition::Output((1, 25))
|
||||
);
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,1, &vec![20, 30, 45], &vec![20, 5, 45], 26, None),
|
||||
compute_next_satpoint_data(0, 1, &vec![20, 30, 45], &vec![20, 5, 45], 26, None),
|
||||
SatPosition::Output((2, 21))
|
||||
);
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,1, &vec![10, 10, 10], &vec![30], 20, None),
|
||||
compute_next_satpoint_data(0, 1, &vec![10, 10, 10], &vec![30], 20, None),
|
||||
SatPosition::Fee(0)
|
||||
);
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,0, &vec![10, 10, 10], &vec![30], 30, None),
|
||||
compute_next_satpoint_data(0, 0, &vec![10, 10, 10], &vec![30], 30, None),
|
||||
SatPosition::Fee(0)
|
||||
);
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,0, &vec![10, 10, 10], &vec![30], 0, None),
|
||||
compute_next_satpoint_data(0, 0, &vec![10, 10, 10], &vec![30], 0, None),
|
||||
SatPosition::Output((0, 0))
|
||||
);
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,2, &vec![20, 30, 45], &vec![20, 30, 45], 95, None),
|
||||
compute_next_satpoint_data(0, 2, &vec![20, 30, 45], &vec![20, 30, 45], 95, None),
|
||||
SatPosition::Fee(50)
|
||||
);
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,
|
||||
compute_next_satpoint_data(
|
||||
0,
|
||||
2,
|
||||
&vec![1000, 600, 546, 63034],
|
||||
&vec![1600, 10000, 15000],
|
||||
1600, None
|
||||
1600,
|
||||
None
|
||||
),
|
||||
SatPosition::Output((1, 1600))
|
||||
);
|
||||
assert_eq!(
|
||||
compute_next_satpoint_data(0,
|
||||
compute_next_satpoint_data(
|
||||
0,
|
||||
3,
|
||||
&vec![6100, 148660, 103143, 7600],
|
||||
&vec![81434, 173995],
|
||||
257903, None
|
||||
257903,
|
||||
None
|
||||
),
|
||||
SatPosition::Fee(260377)
|
||||
);
|
||||
|
||||
@@ -21,7 +21,6 @@ pub fn parse_inscriptions_from_witness(
|
||||
witness_bytes: Vec<Vec<u8>>,
|
||||
txid: &str,
|
||||
) -> Option<Vec<OrdinalInscriptionRevealData>> {
|
||||
|
||||
// Efficient debugging: Isolate one specific transaction
|
||||
// if !txid.eq("aa2ab56587c7d6609c95157e6dff37c5c3fa6531702f41229a289a5613887077") {
|
||||
// return None
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
pub mod inscription_parsing;
|
||||
pub mod inscription_sequencing;
|
||||
pub mod satoshi_tracking;
|
||||
pub mod satoshi_numbering;
|
||||
pub mod satoshi_tracking;
|
||||
|
||||
@@ -86,7 +86,6 @@ pub fn compute_satpoint_post_transfer(
|
||||
cumulated_fees: &mut u64,
|
||||
ctx: &Context,
|
||||
) -> (OrdinalInscriptionTransferDestination, String, Option<u64>) {
|
||||
|
||||
let inputs: Vec<u64> = tx
|
||||
.metadata
|
||||
.inputs
|
||||
@@ -94,8 +93,14 @@ pub fn compute_satpoint_post_transfer(
|
||||
.map(|o| o.previous_output.value)
|
||||
.collect::<_>();
|
||||
let outputs = tx.metadata.outputs.iter().map(|o| o.value).collect::<_>();
|
||||
let post_transfer_data =
|
||||
compute_next_satpoint_data(tx_index, input_index, &inputs, &outputs, relative_pointer_value, Some(ctx));
|
||||
let post_transfer_data = compute_next_satpoint_data(
|
||||
tx_index,
|
||||
input_index,
|
||||
&inputs,
|
||||
&outputs,
|
||||
relative_pointer_value,
|
||||
Some(ctx),
|
||||
);
|
||||
|
||||
let (outpoint_post_transfer, offset_post_transfer, destination, post_transfer_output_value) =
|
||||
match post_transfer_data {
|
||||
@@ -179,15 +184,17 @@ pub fn augment_transaction_with_ordinals_transfers_data(
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (input_index, input) in tx.metadata.inputs.iter().enumerate() {
|
||||
let outpoint_pre_transfer = format_outpoint_to_watch(
|
||||
&input.previous_output.txid,
|
||||
input.previous_output.vout as usize,
|
||||
);
|
||||
|
||||
let entries =
|
||||
find_inscribed_ordinals_at_wached_outpoint(&outpoint_pre_transfer, &inscriptions_db_tx, ctx);
|
||||
let entries = find_inscribed_ordinals_at_wached_outpoint(
|
||||
&outpoint_pre_transfer,
|
||||
&inscriptions_db_tx,
|
||||
ctx,
|
||||
);
|
||||
// For each satpoint inscribed retrieved, we need to compute the next
|
||||
// outpoint to watch
|
||||
for watched_satpoint in entries.into_iter() {
|
||||
|
||||
Reference in New Issue
Block a user