Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ccmodel-hepheastus): add Hepheastus plugin #3641

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

RafaelAPB
Copy link
Contributor

@RafaelAPB RafaelAPB commented Nov 15, 2024

Implementation of the paper Hepheastus https://ieeexplore.ieee.org/document/10363680

Depends on #3638 and #3639;: #3642, #3643 #3644
Authored-by: Bruno Mateus [email protected]
Co-authored-by: Rafael Belchior [email protected]
Signed-off-by: Rafael Belchior [email protected]

Pull Request Requirements

  • Rebased onto upstream/main branch and squashed into single commit to help maintainers review it more efficient and to avoid spaghetti git commit graphs that obfuscate which commit did exactly what change, when and, why.
  • Have git sign off at the end of commit message to avoid being marked red. You can add -s flag when using git commit command. You may refer to this link for more information.
  • Follow the Commit Linting specification. You may refer to this link for more information.

Character Limit

  • Pull Request Title and Commit Subject must not exceed 72 characters (including spaces and special characters).
  • Commit Message per line must not exceed 80 characters (including spaces and special characters).

A Must Read for Beginners
For rebasing and squashing, here's a must read guide for beginners.

Implementation  of the paper Hepheastus https://ieeexplore.ieee.org/document/10363680

Authored-by: Bruno Mateus <[email protected]>
Co-authored-by: Rafael Belchior <[email protected]>
Signed-off-by: Rafael Belchior <[email protected]>
Copy link

github-actions bot commented Nov 15, 2024

This PR/issue depends on:

Copy link
Contributor

@petermetz petermetz left a comment

Choose a reason for hiding this comment

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

@RafaelAPB I left some suggestions in the code, but it's fine by me if you'd prefer to address those later or never. I want to make sure I'm not slowing down the development.

};
}

private pollTxReceiptsBesu(
Copy link
Contributor

Choose a reason for hiding this comment

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

@RafaelAPB Does this do any actual polling? It looks like it just massages the data. If I'm understanding it correctly then I'd recommend renaming it to something expressing that instead of polling for tx receipts.

Choose a reason for hiding this comment

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

okay, I removed pollTxReceiptsBesu, and now the createReceiptFromRunTransactionV1ExchangeBesu is directly called when receiving data through the Observable. Same with the other 2 "poll" methods.

const logName = name
? `${name}.json`
: `hephaestus_log_${startTime.getTime()}.json`;
const jsonFolder = path.join(__dirname, "../", "../", "test", "json");
Copy link
Contributor

Choose a reason for hiding this comment

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

@RafaelAPB Depending on this will break the code in production when it is under a different sub-directory path (./dist/lib/.../) I recommend making it configurable through constructor parameters so that this issue can be avoided

@brunoffmateus
Copy link

brunoffmateus commented Nov 22, 2024

@petermetz @RafaelAPB I also added a quick message about the python dependency in the prerequisites of README.md. If you don't find it necessary I can remove it.
Otherwise I think everything is done in this commit: e1626c4. You should be able to cherry-pick and squash it.

@petermetz
Copy link
Contributor

@brunoffmateus Dependencies should always be documented as explicitly as possible (better yet via automation that fails with a helpful error message). So please do not remove it. It's great that you did what you did. :-)

@petermetz
Copy link
Contributor

@brunoffmateus LGTM but please fix the linter

Authored-by: Bruno Mateus <[email protected]>
Signed-off-by: Rafael Belchior <[email protected]>
@RafaelAPB
Copy link
Contributor Author

@petermetz i believe your concerns are addressed. Can we use the squash and merge functionality (there are 2 PRs), or should they be squashed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants