Skip to content

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)
@github-actions
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 Mdaiki0730 and ulbqb 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