diff --git a/core/vm/evm.go b/core/vm/evm.go index c84fc1ee7..42d450578 100644 --- a/core/vm/evm.go +++ b/core/vm/evm.go @@ -441,7 +441,7 @@ func (evm *EVM) create(caller ContractRef, codeAndHash *codeAndHash, gas uint64, // because this check targets raw transactions from EOA, and `CREATE2` // within internal transactions is excluded. // Need to check after nonce increment to evict failed tx from the pool. - if typ == CREATE && !IsAllowedToCreate(evm.StateDB, caller.Address()) { + if evm.depth == 0 && typ == CREATE && !IsAllowedToCreate(evm.StateDB, caller.Address()) { return nil, common.Address{}, 0, ErrUnauthorizedCreate } // We add this to the access list _before_ taking a snapshot. Even if the creation fails, diff --git a/params/version.go b/params/version.go index 388c8d671..0346fb86a 100644 --- a/params/version.go +++ b/params/version.go @@ -23,7 +23,7 @@ import ( const ( VersionMajor = 1 // Major version component of the current release VersionMinor = 7 // Minor version component of the current release - VersionPatch = 1 // Patch version component of the current release + VersionPatch = 2 // Patch version component of the current release VersionMeta = "" // Version metadata to append to the version string )