Skip to content

Commit d3101d1

Browse files
committed
chore: log RulesAllowlistHooks blocking only
1 parent 4c699c8 commit d3101d1

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

core/state_transition.libevm.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,22 @@
1616

1717
package core
1818

19+
import (
20+
"github.com/ava-labs/libevm/log"
21+
)
22+
1923
// canExecuteTransaction is a convenience wrapper for calling the
2024
// [params.RulesHooks.CanExecuteTransaction] hook.
2125
func (st *StateTransition) canExecuteTransaction() error {
2226
bCtx := st.evm.Context
2327
rules := st.evm.ChainConfig().Rules(bCtx.BlockNumber, bCtx.Random != nil, bCtx.Time)
24-
return rules.Hooks().CanExecuteTransaction(st.msg.From, st.msg.To, st.state)
28+
if err := rules.Hooks().CanExecuteTransaction(st.msg.From, st.msg.To, st.state); err != nil {
29+
log.Debug(
30+
"Transaction execution blocked by libevm hook",
31+
"Hooks", log.TypeOf(rules.Hooks()),
32+
"Reason", err,
33+
)
34+
return err
35+
}
36+
return nil
2537
}

core/vm/evm.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,11 @@ func (evm *EVM) create(caller ContractRef, codeAndHash *codeAndHash, gas uint64,
464464
addrs := &libevm.AddressContext{Origin: evm.Origin, Caller: caller.Address(), Self: address}
465465
gas, err := evm.chainRules.Hooks().CanCreateContract(addrs, gas, evm.StateDB)
466466
if err != nil {
467+
log.Debug(
468+
"Contract creation blocked by libevm hook",
469+
"Hooks", log.TypeOf(evm.chainRules.Hooks()),
470+
"Reason", err,
471+
)
467472
return nil, common.Address{}, gas, err
468473
}
469474
//libevm:end

0 commit comments

Comments
 (0)