Skip to content

Commit

Permalink
feat: added filter by collateral
Browse files Browse the repository at this point in the history
  • Loading branch information
paulobressan committed Aug 28, 2023
1 parent c799836 commit cb88b44
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions src/filters/match_pattern.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,11 @@ pub struct Stage {
ops_count: gasket::metrics::Counter,
}

#[derive(Default)]
pub struct Worker;

impl From<&Stage> for Worker {
fn from(_: &Stage) -> Self {
Worker::default()
Worker {}
}
}

Expand Down Expand Up @@ -169,7 +168,7 @@ fn output_match(tx: &ParsedTx, address_pattern: &AddressPattern) -> Result<bool,
}

for output in tx.outputs.iter() {
let address = Address::from_bytes(&output.address.to_vec()).or_panic()?;
let address = Address::from_bytes(&output.address).or_panic()?;
if !address.has_script() && address_pattern.address_match(&address)? {
return Ok(true);
}
Expand All @@ -180,7 +179,7 @@ fn output_match(tx: &ParsedTx, address_pattern: &AddressPattern) -> Result<bool,

fn withdrawal_match(tx: &ParsedTx, address_pattern: &AddressPattern) -> Result<bool, WorkerError> {
for withdrawal in tx.withdrawals.iter() {
let address = Address::from_bytes(&withdrawal.reward_account.to_vec()).or_panic()?;
let address = Address::from_bytes(&withdrawal.reward_account).or_panic()?;
if address_pattern.address_match(&address)? {
return Ok(true);
}
Expand All @@ -190,7 +189,14 @@ fn withdrawal_match(tx: &ParsedTx, address_pattern: &AddressPattern) -> Result<b
}

fn collateral_match(tx: &ParsedTx, address_pattern: &AddressPattern) -> Result<bool, WorkerError> {
todo!();
if tx.collateral.is_some() {
if let Some(collateral_return) = &tx.collateral.as_ref().unwrap().collateral_return {
let address = Address::from_bytes(&collateral_return.address).or_panic()?;
return address_pattern.address_match(&address);
}
}

Ok(false)
}

#[derive(Deserialize)]
Expand Down

0 comments on commit cb88b44

Please sign in to comment.