Merge pull request #51 from sei-protocol/tony/prepare-all-precompiles

Pass all precompiles to Prepare call
This commit is contained in:
codchen 2025-05-15 14:26:06 +08:00 committed by GitHub
commit aa1636cf26
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 1 deletions

View file

@ -425,7 +425,9 @@ func (st *StateTransition) TransitionDb() (*ExecutionResult, error) {
// Execute the preparatory steps for state transition which includes: // Execute the preparatory steps for state transition which includes:
// - prepare accessList(post-berlin) // - prepare accessList(post-berlin)
// - reset transient storage(eip 1153) // - reset transient storage(eip 1153)
st.state.Prepare(rules, msg.From, st.evm.Context.Coinbase, msg.To, vm.ActivePrecompiles(rules), msg.AccessList) precompiles := st.evm.GetPrecompiles()
precompiles = append(precompiles, vm.ActivePrecompiles(rules)...)
st.state.Prepare(rules, msg.From, st.evm.Context.Coinbase, msg.To, precompiles, msg.AccessList)
var ( var (
ret []byte ret []byte

View file

@ -619,3 +619,10 @@ func (evm *EVM) GetVMContext() *tracing.VMContext {
func (evm *EVM) GetDepth() int { func (evm *EVM) GetDepth() int {
return evm.depth return evm.depth
} }
func (evm *EVM) GetPrecompiles() (res []common.Address) {
for addr := range evm.dynamicPrecompiles {
res = append(res, addr)
}
return
}