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

feat: Update KIP-228 (EIP-7702) #216

Merged
merged 29 commits into from
Jan 29, 2025
Merged

Conversation

tnasu
Copy link
Contributor

@tnasu tnasu commented Jan 21, 2025

Proposed changes

After introducing KIP-228(EIP-7702), the reference of Geth is updated with the latest EIP spec

Changes:

  • Update to call AddAddressToAccessList once only
  • Use GetCodeHash when creating contract to check deployable
  • Should rm dynamic gas cost for reading opcode (EXTCODE*) for EOA with code
  • Updated spec only return 0xef01, not whole delegation designatior
    • It may be revert
  • Refactor the codes

Remaining updates:

Types of changes

  • Bugfix
  • New feature or enhancement
  • Others

Checklist

  • I have read the CONTRIBUTING GUIDELINES doc
  • I have read the CLA and signed by comment I have read the CLA Document and I hereby sign the CLA in first time contribute
  • Lint and unit tests pass locally with my changes ($ make test)
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • Any dependent changes have been merged and published in downstream modules

Related issues

Further comments

tnasu added 29 commits January 21, 2025 20:07
regenerate by "go generate ./blockchain/vm/interface.go"
ethereum/go-ethereum@d3e82b4
(but we don't have a vm/program package)
Copy link

github-actions bot commented Jan 21, 2025

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@tnasu
Copy link
Contributor Author

tnasu commented Jan 21, 2025

I have read the CLA Document and I hereby sign the CLA

@tnasu tnasu marked this pull request as ready for review January 21, 2025 12:31
@tnasu tnasu requested review from ulbqb and Mdaiki0730 January 22, 2025 02:25
@tnasu tnasu self-assigned this Jan 22, 2025
@ulbqb
Copy link
Contributor

ulbqb commented Jan 22, 2025

st.skipLoad(`^prague\/eip7702_set_code_tx\/`)

Removing this line, could you enable 7702 test?

@tnasu
Copy link
Contributor Author

tnasu commented Jan 22, 2025

@ulbqb
As far as I can tell from my local environment, EIP-7702 in tests/state_test has not yet been updated by this PR to a state where it can be tested.

ERROR[01/22,14:58:34 +09] [25|consensus/istanbul/core/handler.go:126]  Drop an empty message from timeout channel 
--- FAIL: TestExecutionSpecStateTestSuite (0.01s)
    --- FAIL: TestExecutionSpecStateTestSuite/TestExecutionSpecState (0.02s)
        --- FAIL: TestExecutionSpecStateTestSuite/TestExecutionSpecState/prague/eip7702_set_code_tx/set_code_txs/valid_tx_invalid_chain_id.json (0.00s)
            init_test.go:231: invalid hex or decimal integer "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" in file spec-tests/fixtures/state_tests/prague/eip7702_set_code_tx/set_code_txs/valid_tx_invalid_chain_id.json

See the remaining updates on the description

@ulbqb
Copy link
Contributor

ulbqb commented Jan 22, 2025

@tnasu
Are you going to handle remaining tasks in another PR?

@tnasu
Copy link
Contributor Author

tnasu commented Jan 22, 2025

@ulbqb Yes, I do.

@tnasu tnasu merged commit 953ba62 into kaiachain:dev Jan 29, 2025
11 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jan 29, 2025
@tnasu tnasu deleted the dev-update-eip7702 branch February 4, 2025 06:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants