Skip to content

Commit a1c1860

Browse files
fjllightclient
authored andcommitted
core/vm: add comment about chained EIP-7702 delegations
1 parent bf01e0d commit a1c1860

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

core/vm/evm.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,7 @@ func (evm *EVM) resolveCode(addr common.Address) []byte {
575575
return code
576576
}
577577
if target, ok := types.ParseDelegation(code); ok {
578+
// Note we only follow one level of delegation.
578579
return evm.StateDB.GetCode(target)
579580
}
580581
return code
@@ -584,12 +585,12 @@ func (evm *EVM) resolveCode(addr common.Address) []byte {
584585
// After Prague, it can also resolve code hash of the account pointed to by a
585586
// delegation designator.
586587
func (evm *EVM) resolveCodeHash(addr common.Address) common.Hash {
587-
if !evm.chainRules.IsPrague {
588-
return evm.StateDB.GetCodeHash(addr)
589-
}
590-
code := evm.StateDB.GetCode(addr)
591-
if target, ok := types.ParseDelegation(code); ok {
592-
return evm.StateDB.GetCodeHash(target)
588+
if evm.chainRules.IsPrague {
589+
code := evm.StateDB.GetCode(addr)
590+
if target, ok := types.ParseDelegation(code); ok {
591+
// Note we only follow one level of delegation.
592+
return evm.StateDB.GetCodeHash(target)
593+
}
593594
}
594595
return evm.StateDB.GetCodeHash(addr)
595596
}

0 commit comments

Comments
 (0)