-
Notifications
You must be signed in to change notification settings - Fork 0
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
Deneb+Cancun support #10
Conversation
@@ -116,7 +116,7 @@ RUN cd eth2-testnet-genesis && PATH="/usr/local/go/bin/:$PATH" go build | |||
|
|||
# builder and relay | |||
FROM bitnami/minideb:${DEBIAN_RELEASE} AS ethodbuilder | |||
ARG ETHDO_REF="v1.31.0" | |||
ARG ETHDO_REF="5895bbfbe6484505ddf666f0f4c0e25dde3cce9b" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need Ethdo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It triggers voluntary exit of validators in the test suite, see https://github.com/ChorusOne/eth-possim/blob/main/tests/test_pos_privatenet.py#L156
@@ -126,7 +126,7 @@ RUN echo "${GO_1_20_SHA256} /tmp/go1.20.linux-amd64.tar.gz" | sha256sum -c | |||
RUN cd /tmp && tar -C /usr/local -xvf go1.20.linux-amd64.tar.gz | |||
|
|||
WORKDIR /usr/local/src/ | |||
RUN git clone https://github.com/wealdtech/ethdo.git && cd ethdo && git fetch origin "${ETHDO_REF}" && git checkout "${ETHDO_REF}" | |||
RUN git clone https://github.com/ChorusOne/ethdo.git && cd ethdo && git fetch origin "${ETHDO_REF}" && git checkout "${ETHDO_REF}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need to use a fork again?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because upstream does not support Deneb, in fork the SSZ libraries are updated to the latest version that supports it to some degree
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can just create an issue/send a pr
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Before that pr is merged, need to use forked version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah sure- you've pushed one already?
|
||
# Fork version: honor EIP-7044 | ||
current_fork_version = beacon_fork_data["data"]["current_version"] | ||
if current_fork_version >= beacon_spec["data"]["DENEB_FORK_VERSION"]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the if for here? Shouldn’t domain of exit always be capella?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's possible to configure eth-possim
to start from other fork, then this logic will be correct
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why would one do that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test other forks apart from Deneb
Looks like we're ahead of the ecosystem with this, do we need to be? Maybe this can wait until the mainlines of the dependencies catch up? |
Not really, the exit automation needs to be tested against Deneb because the exit message structure have been changed in a way that is not forward-compatible (see https://eips.ethereum.org/EIPS/eip-7044) |
Update FeeRewardsManager to final version
Add retry for `deploy_compiled_contract`
I'm merging this, since might need new changes to support running on bare metal |
Use Deneb/Cancun (Dencun) hardfork by default, starting from the first slot.
Update versions:
Tests:
In test suite, switch to offline approach in generating exit transaction, due to
ethdo
tool failure to work via online approach. The reason for that is lack of minimal spec support inethdo
tool (attestantio/go-eth2-client#99), which leads to failure to parse beacon state on Deneb.