Skip to content

Commit

Permalink
fmt
Browse files Browse the repository at this point in the history
  • Loading branch information
canonbrother committed Jul 1, 2024
1 parent 2723e32 commit 8e34565
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 28 deletions.
42 changes: 24 additions & 18 deletions lib/ain-ocean/src/api/address.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ use super::{
};
use crate::{
error::ApiError,
model::{BlockContext, ScriptActivity, ScriptActivityTypeHex, ScriptAggregation, ScriptUnspent},
model::{
BlockContext, ScriptActivity, ScriptActivityTypeHex, ScriptAggregation, ScriptUnspent,
},
repository::RepositoryOps,
storage::SortOrder,
Error, Result,
Expand Down Expand Up @@ -193,17 +195,13 @@ impl From<ScriptActivity> for ScriptActivityResponse {
r#type: v.script.r#type,
hex: v.script.hex.to_lower_hex_string(),
},
vin: v.vin.map(|vin| {
ScriptActivityVinVoutResponse {
txid: vin.txid,
n: vin.n
}
vin: v.vin.map(|vin| ScriptActivityVinVoutResponse {
txid: vin.txid,
n: vin.n,
}),
vout: v.vout.map(|vout| {
ScriptActivityVinVoutResponse {
txid: vout.txid,
n: vout.n
}
vout: v.vout.map(|vout| ScriptActivityVinVoutResponse {
txid: vout.txid,
n: vout.n,
}),
value: v.value,
token_id: v.token_id,
Expand Down Expand Up @@ -237,27 +235,35 @@ async fn list_transactions(
.as_ref()
.map(|next| {
let height = &next[0..8];
let vin_vout_type = &next[8..8+2];
let txid = &next[8+2..64+8+2];
let n = &next[64+8+2..];
let vin_vout_type = &next[8..8 + 2];
let txid = &next[8 + 2..64 + 8 + 2];
let n = &next[64 + 8 + 2..];

let height = height.parse::<u32>()?;
let vin_vout_type = match vin_vout_type {
"00" => ScriptActivityTypeHex::Vin,
_ => ScriptActivityTypeHex::Vout,
"00" => ScriptActivityTypeHex::Vin,
_ => ScriptActivityTypeHex::Vout,
};
let txid = Txid::from_str(txid)?;
let n = n.parse::<usize>()?;
Ok::<(u32, ScriptActivityTypeHex, Txid, usize), Error>((height, vin_vout_type, txid, n))
})
.transpose()?
.unwrap_or((u32::MAX, ScriptActivityTypeHex::Vout, Txid::from_byte_array([0xffu8; 32]), usize::MAX));
.unwrap_or((
u32::MAX,
ScriptActivityTypeHex::Vout,
Txid::from_byte_array([0xffu8; 32]),
usize::MAX,
));

let res = ctx
.services
.script_activity
.by_id
.list(Some((hid.clone(), next.0, next.1, next.2, next.3)), SortOrder::Descending)?
.list(
Some((hid.clone(), next.0, next.1, next.2, next.3)),
SortOrder::Descending,
)?
.skip(query.next.is_some() as usize)
.take(query.size)
.take_while(|item| match item {
Expand Down
35 changes: 29 additions & 6 deletions lib/ain-ocean/src/indexer/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ fn find_tx_vout(
hex: vout.script_pub_key.hex.clone(),
},
};
return Ok(Some(tx_vout))
return Ok(Some(tx_vout));
}
}
services.transaction.vout_by_id.get(&(vin.txid, vin.vout))
Expand All @@ -186,7 +186,13 @@ fn index_script_activity(services: &Arc<Services>, block: &Block<Transaction>) -

let hid = as_sha256(vout.script.hex.clone()); // as key
let script_activity = ScriptActivity {
id: format!("{}{}{}{}", hex::encode(block.height.to_be_bytes()), ScriptActivityTypeHex::Vin, vin.txid, hex::encode(vin.vout.to_be_bytes())),
id: format!(
"{}{}{}{}",
hex::encode(block.height.to_be_bytes()),
ScriptActivityTypeHex::Vin,
vin.txid,
hex::encode(vin.vout.to_be_bytes())
),
hid: hid.clone(),
r#type: ScriptActivityType::Vin,
type_hex: ScriptActivityTypeHex::Vin,
Expand All @@ -209,7 +215,13 @@ fn index_script_activity(services: &Arc<Services>, block: &Block<Transaction>) -
value: format!("{:.8}", vout.value.parse::<f32>()?),
token_id: vout.token_id,
};
let id = (hid, block.height, ScriptActivityTypeHex::Vin, vin.txid, vin.vout);
let id = (
hid,
block.height,
ScriptActivityTypeHex::Vin,
vin.txid,
vin.vout,
);
services.script_activity.by_id.put(&id, &script_activity)?
}

Expand All @@ -219,7 +231,13 @@ fn index_script_activity(services: &Arc<Services>, block: &Block<Transaction>) -
}
let hid = as_sha256(vout.script_pub_key.hex.clone());
let script_activity = ScriptActivity {
id: format!("{}{}{}{}", hex::encode(block.height.to_be_bytes()), ScriptActivityTypeHex::Vout, tx.txid, hex::encode(vout.n.to_be_bytes())),
id: format!(
"{}{}{}{}",
hex::encode(block.height.to_be_bytes()),
ScriptActivityTypeHex::Vout,
tx.txid,
hex::encode(vout.n.to_be_bytes())
),
hid: hid.clone(),
r#type: ScriptActivityType::Vout,
type_hex: ScriptActivityTypeHex::Vout,
Expand All @@ -242,7 +260,13 @@ fn index_script_activity(services: &Arc<Services>, block: &Block<Transaction>) -
value: format!("{:.8}", vout.value),
token_id: vout.token_id,
};
let id = (hid, block.height, ScriptActivityTypeHex::Vout, tx.txid, vout.n);
let id = (
hid,
block.height,
ScriptActivityTypeHex::Vout,
tx.txid,
vout.n,
);
services.script_activity.by_id.put(&id, &script_activity)?
}
}
Expand Down Expand Up @@ -513,7 +537,6 @@ pub fn index_block(services: &Arc<Services>, block: Block<Transaction>) -> Resul
log_elapsed(start, "Indexed dftx");
}
}

}

log_elapsed(start, "Indexed block");
Expand Down
8 changes: 4 additions & 4 deletions lib/ain-ocean/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ use repository::{
OracleRepository, OracleTokenCurrencyKeyRepository, OracleTokenCurrencyRepository,
PoolPairByHeightRepository, PoolPairRepository, PoolSwapAggregatedKeyRepository,
PoolSwapAggregatedRepository, PoolSwapRepository, PriceTickerKeyRepository,
PriceTickerRepository, RawBlockRepository,
ScriptActivityRepository, ScriptAggregationRepository, ScriptUnspentKeyRepository,
ScriptUnspentRepository, TransactionByBlockHashRepository, TransactionRepository,
TransactionVinRepository, TransactionVoutRepository, TxResultRepository,
PriceTickerRepository, RawBlockRepository, ScriptActivityRepository,
ScriptAggregationRepository, ScriptUnspentKeyRepository, ScriptUnspentRepository,
TransactionByBlockHashRepository, TransactionRepository, TransactionVinRepository,
TransactionVoutRepository, TxResultRepository,
};
use serde::Serialize;
pub mod api;
Expand Down

0 comments on commit 8e34565

Please sign in to comment.