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

EIP-4895: Beacon chain push withdrawals as operations #1369

Open
ChihChengLiang opened this issue Apr 21, 2023 · 2 comments · May be fixed by #1654
Open

EIP-4895: Beacon chain push withdrawals as operations #1369

ChihChengLiang opened this issue Apr 21, 2023 · 2 comments · May be fixed by #1654
Assignees
Labels
T-feature Type: new features

Comments

@ChihChengLiang
Copy link
Collaborator

Describe the feature you would like

EIP-4895: Beacon chain push withdrawals as operations

Additional context

Pending analysis of what work should be done.

@KimiWu123
Copy link
Contributor

KimiWu123 commented Oct 4, 2023

Since this is a large task, I'll split it into 3 part

  1. pi circuit integration, adding withdrawals and withdrawal root in pi circuit - Feat/##1369 withdraw from beacon chain part 1 - pi circuit #1634
  2. withdrawal circuit
    • the main logic of EIP-4895
    • balance update
  3. super circuit integration

github-merge-queue bot pushed a commit that referenced this issue Oct 11, 2023
### Description

1st part of #1369, mainly on pi circuit integration


### Issue Link

#1369 

### Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

### Contents

- `Withdrawal` struct definition and `WdTable` implementation
- adding `withdrawals` and `withdrawal_root` in block struct
- `wd_table` assignment in pi circuit
@KimiWu123
Copy link
Contributor

blocked by #1652

Withdrawal circuit needs MPT stack trie to verify MPT root but we don't have it now. Issue #1652 was created to address it and Miha probably will work on it next week. Besides, current RLP gadget is more MPT specifc and #1652 will also support RLP constraints as it is for the state trie.

github-merge-queue bot pushed a commit that referenced this issue Nov 27, 2023
…-4896 withdrawals==None (#1688)

### Description

Integration Tests have been failing since introduction of
#1369,
due to Option::Unwrap on None value, when eth_block.withdrawals==None.

### Type of change

- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

### Contents

- zkevm-circuits/zkevm-circuits/src/witness/block.rs

### Rationale
replace eth_block.withdrawals.clone().unwrap() with
eth_block.withdrawals.clone().unwrap_or_default()

### How Has This Been Tested?

https://github.com/privacy-scaling-explorations/zkevm-circuits/actions/runs/6968928576/job/18963801769
<hr>

### Issue

#1687
@KimiWu123 KimiWu123 modified the milestone: Feature Completeness Jan 8, 2024
@ed255 ed255 linked a pull request Jan 25, 2024 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-feature Type: new features
Projects
Status: 🆕 Product Backlog Items
Development

Successfully merging a pull request may close this issue.

2 participants