Skip to content

Conversation

@BeJF
Copy link
Contributor

@BeJF BeJF commented Jun 1, 2022

First PR to an open source project!
I spent some time to understand the whole project flow. Please keep in mind I am relatively new to Rust.

So the address filter for the UtxoByAddress reducer has been implemented (Issue #14). How to use it is showed in the exemple .toml

The filter is optional.

I've decided to implement the functionality directly into the "send_set_add" instead of implementing it twice separately in the reduce_byron/alonzo_tx.

I went with the "binary_search" as it seems to be good fast option (https://stackoverflow.com/questions/67525751/what-is-the-fastest-way-to-check-if-something-exist-in-a-vector-in-rust).

I hope it helps! That ain't much but consider it as my entry implication to the project. Feedbacks are ofc more than welcome ;)

@BeJF BeJF requested a review from scarmuega as a code owner June 1, 2022 18:30
tx_idx: usize,
output: &mut super::OutputPort,
) -> Result<(), gasket::error::Error> {
if self.config.filter.is_some() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you should explore Rust's if let syntax, it will probably result in something more compact (won't change logic, just more ergonomic).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented. Better like that? :)

if self.config.filter.is_some() {
match self.config.filter.as_ref().unwrap().binary_search(&address.to_string()) {
Ok(_) => {
log::info!("Address '{}' added with UTXO data", address);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using info log level seems a little excessive. I would use debug level, if any.

Ideally, we should promote metrics / counters rather than logs for these high-frequency observations. Not required for this PR, but it might be a nice addition for a follow up.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed those logs are too much.
I've created an issue out of your metrics proposition

@scarmuega scarmuega merged commit f2bd48b into txpipe:main Jun 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants