Skip to content

Commit

Permalink
feat:
Browse files Browse the repository at this point in the history
  • Loading branch information
Autoparallel committed Feb 27, 2024
1 parent 6c44aff commit 135dc59
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
1 change: 1 addition & 0 deletions core/src/environment/instruction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ pub(crate) enum Outcome {
/// Currently this may be the block number, block timestamp, gas price, or
/// balance of an account.
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[allow(clippy::large_enum_variant)]
pub(crate) enum EnvironmentData {
/// The query is for the block number of the [`EVM`].
BlockNumber,
Expand Down
20 changes: 19 additions & 1 deletion core/src/middleware/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -710,7 +710,25 @@ impl Middleware for ArbiterMiddleware {
}

async fn get_logs(&self, filter: &Filter) -> Result<Vec<eLog>, Self::Error> {
todo!()
let provider = self.provider.as_ref();
provider
.instruction_sender
.upgrade()
.ok_or(ArbiterCoreError::UpgradeSenderError)?
.send(Instruction::Query {
environment_data: EnvironmentData::Logs {
filter: filter.clone(),
},
outcome_sender: provider.outcome_sender.clone(),
})?;
let outcome = provider.outcome_receiver.recv()??;
match outcome {
Outcome::QueryReturn(outcome) => {
let logs: Vec<eLog> = serde_json::from_str(outcome.as_ref())?;
Ok(logs)
}
_ => unreachable!(),
}
}

/// Starts watching for logs that match a specific filter.
Expand Down

0 comments on commit 135dc59

Please sign in to comment.