-
Notifications
You must be signed in to change notification settings - Fork 897
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
EIP-6110: Add deposits in EL #5055
Conversation
Excited to review this! Thanks for picking it up @naviechan 👍 |
Hey @naviechan check out this page about DCO https://wiki.hyperledger.org/display/BESU/DCO All commits need to be signed off to pass this check. You can amend your commit messages and force push (or squash the commits and do it once). I've just approved the CI to run the rest of the checks - you might need to prod us if you want to run these at any point (or you can just run gradle commands locally to check unit tests etc) Spotless is failing, to fix run Javadoc is also failing, run Finally, assemble is failing. I would recommend at least running |
f39bb57
to
8ebb906
Compare
Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: Navie Chan <naviechan@gmail.com>
aecb5c8
to
1c8de5a
Compare
Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: Navie Chan <naviechan@gmail.com>
Thanks so much this is very helpful! I think I ran into some kind of error for Also sorry for this huge PR. Was trying to limit the scope of this PR to just adding I will open another PR for json-rpc related changes |
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/DepositsProcessor.java
Fixed
Show fixed
Hide fixed
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/DepositsProcessor.java
Fixed
Show fixed
Hide fixed
import org.apache.tuweni.bytes.Bytes; | ||
import org.apache.tuweni.units.bigints.UInt64; | ||
|
||
public class Deposit implements org.hyperledger.besu.plugin.data.Deposit { |
Check notice
Code scanning / CodeQL
Class has same name as super class
datatypes/src/main/java/org/hyperledger/besu/datatypes/WithdrawalCredential.java
Fixed
Show fixed
Hide fixed
Signed-off-by: Navie Chan <naviechan@gmail.com>
This was a transient error, I gave it a kick and now you have a genuine test compilation error.
Large PRs are hard to review for sure, but not impossible. One approach that seems to work well is something like...
You can always use one giant draft PR as a prototype before splitting into smaller ones, but I think getting some code onto main ASAP is the least painful approach. By the way, I see you added |
@naviechan would you like someone to do an early review or would you prefer to wait until you mark it as ready? |
Yes please do an early review! Thanks |
Signed-off-by: Navie Chan <naviechan@gmail.com>
Thanks for the feedback. I will remove the EIP6110Time in favour of |
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
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.
Thanks for your small commits and clear commit messages :)
I am pretty happy with this, only blocker is the BodyValidator test which I'll see if I can help you with.
Will give @jframe a chance to re-review as well.
public class BLSPublicKey extends DelegatingBytes | ||
implements org.hyperledger.besu.plugin.data.PublicKey { |
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.
I think BLSPublicKey and BLSSignature are OK as new types since they are quite a general concept and could imagine them being reused in the future.
Whereas DepositWithdrawalsCredential is quite specific Bytes32 is better IMO...it's not clear to me from the EIP what format this credential takes exactly, maybe there's an existing data type that is appropriate?
Possibly BLSPublicKey and BLSSignature shouldn't live in data types though since they are not broadly used. Maybe should live alongside Deposit.java for now?
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.
Happy with the PR now too. Agree with @siladu the only thing missing is a test for the depositRoot in the BodyValidationTest
Signed-off-by: Navie Chan <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
Signed-off-by: navie <naviechan@gmail.com>
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.
LGTM 🎉
Add deposits to the Execution Layer block structure: EIP-6110. The scope of this commit is to add Deposit related info into BlockHeader and BlockBody. The rest of the EIP including RPC API and validating Deposit with be included in future PRs. --------- Signed-off-by: Navie Chan <naviechan@gmail.com> Signed-off-by: navie <naviechan@gmail.com> Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Add deposits to the Execution Layer block structure: EIP-6110. The scope of this commit is to add Deposit related info into BlockHeader and BlockBody. The rest of the EIP including RPC API and validating Deposit with be included in future PRs. --------- Signed-off-by: Navie Chan <naviechan@gmail.com> Signed-off-by: navie <naviechan@gmail.com> Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
PR description
Add deposits to the Execution Layer block structure: EIP-6110. The scope of this PR is to add
Deposit
related info intoBlockHeader
andBlockBody
. The rest of the EIP including rpc api and validatingDeposit
with be included in the next PR.Fixed Issue(s)
#5004
Documentation
doc-change-required
label to this PR ifupdates are required.
Changelog