From f32e9bfe3630d0e31523f8caa41e77d509d7f7af Mon Sep 17 00:00:00 2001 From: lightclient Date: Tue, 26 Nov 2024 17:20:55 -0700 Subject: [PATCH] core: use parse delegation for code check in state transition --- core/state_transition.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/state_transition.go b/core/state_transition.go index 9ceb8d0ee9..759fdbf0ca 100644 --- a/core/state_transition.go +++ b/core/state_transition.go @@ -17,7 +17,6 @@ package core import ( - "bytes" "fmt" "math" "math/big" @@ -310,7 +309,8 @@ func (st *stateTransition) preCheck() error { if !msg.SkipFromEOACheck { // Make sure the sender is an EOA code := st.state.GetCode(msg.From) - if len(code) > 0 && !bytes.HasPrefix(code, types.DelegationPrefix) { + _, delegated := types.ParseDelegation(code) + if len(code) > 0 && !delegated { return fmt.Errorf("%w: address %v, len(code): %d", ErrSenderNoEOA, msg.From.Hex(), len(code)) } }