Skip to content

Conversation

lightclient
Copy link
Member

Fixes the issues that was causing CI to break. I see there are still some more issues in the same vein of what was fixed (particularly around the constant error codes), but will probably resolve those in a separate PR.

Copy link

@MicahZoltu MicahZoltu left a comment

Choose a reason for hiding this comment

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

The blocker for us merging https://github.com/ethereum/execution-apis/pull/670/files is that CI currently appears to be broken and the checker appears to be checking main when run on PR rather than checking the PR. This means any change that breaks CI will pass until after it is merged, and then everything will fail (including PRs that fix the bug like #670) until main has a fix.

We can ignore this and merge #670 so the checker stops failing for every PR, but we were hoping to wait until CI was fixed so our PR could be properly checked before merging.

That being said, this PR is somehow passing the checker, which surprises me and I'm not sure why that would be. Perhaps because the PR was authored by a contributor while #670 is authored by a non-contributor and permissions on the run are causing it to run differently?

Either way, I recommend merging #670 prior to this, and removing the changes related to eth_simulateV1 from this PR.

@lightclient
Copy link
Member Author

@MicahZoltu I don't think there are different permissions for running the PRs. When I verify if #670 passes speccheck locally, it fails. This is correctly represented by the CI.

Obviously you and the other people working on eth_simulate have a better idea of what the "spirit" of the spec is. I can only go off what I see in the tests and I believe this PR does resolve the discrepancy between the spec and the tests that causes the CI to fail.

My preference would be to merge this so that CI is no longer broken, then separately if you want to change the implementation of eth_simulate to be more aligned with the original idea of the spec, that can be done.

Otherwise our options are to revert the PR that merged eth_simulate and wait until the spec and tests are in harmony, or we if #670 can be fixed ASAP we could merge it instead.

@MicahZoltu
Copy link

#484 was passing all checks at the time of merge. However, it does appear that it is correctly checking now. I propose you remove the eth_simulate changes in this PR and we rebase #670 onto it. Then we can merge 670 into this PR, and you can merge this without breaking the spec and without leaving the repository in a dirty state for an extended period.

That being said, I think both PRs have #675 (comment) wrong, which I don't know how to resolve (spec format question).

@lightclient
Copy link
Member Author

lightclient commented Jul 21, 2025

Unfortunately in #484 it seems since @KillariDev hadn't previously landed a commit, so the CI tests were not running and only this GitGuardian action was running. I guess Felix didn't notice this before merging.

Let me try to bring the changes from #670 here and then we can figure out deal with the types.

Copy link

@MicahZoltu MicahZoltu left a comment

Choose a reason for hiding this comment

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

Thanks for the adjustments/fixes! I left one comment which should help clean things up, but not a blocker.

Comment on lines 169 to 172
EthSimulateResult:
title: Full results of multi call
type: object
oneOf:
- $ref: '#/components/schemas/EthSimulateBlockResultInvalid'
- $ref: '#/components/schemas/EthSimulateBlockResultSuccess'
title: Full results of eth_simulate
$ref: '#/components/schemas/EthSimulateBlockResultSuccess'
EthSimulateBlockResultSuccess:

Choose a reason for hiding this comment

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

Can probably just delete EthSimulateResult and rename EthSimulateResultSuccess to EthSimulateResult now?

Suggested change
EthSimulateResult:
title: Full results of multi call
type: object
oneOf:
- $ref: '#/components/schemas/EthSimulateBlockResultInvalid'
- $ref: '#/components/schemas/EthSimulateBlockResultSuccess'
title: Full results of eth_simulate
$ref: '#/components/schemas/EthSimulateBlockResultSuccess'
EthSimulateBlockResultSuccess:
EthSimulateResult:

Copy link
Member Author

Choose a reason for hiding this comment

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

We can do that, but I would rather keep this minimal and refactor the naming / organization next. I want to generally drop the Eth prefix on all the methods / types since it is self evident.

@lightclient lightclient merged commit 24604b8 into ethereum:main Jul 22, 2025
4 checks passed
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.

4 participants