Skip to content
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.

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 subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-feature Type: new features
Projects
Status: 🆕 Product Backlog Items
Development

Successfully merging a pull request may close this issue.

2 participants