Clear up meaning of `ZERO_ADDRESS`, delete `CREATE_CONTRACT_ADDRESS`
There is no valid `CREATE_CONTRACT_ADDRESS`. Some places on the internet say account zero means contract creation, but that's not correct. Transactions to `ZERO_ADDRESS` are legitimate transfers to that account, not contract creations. They are used to "burn" Eth. People also send Eth to address zero by accident, unrecoverably, due to poor user interface issues. Signed-off-by: Jamie Lokier <jamie@shareable.org>
This commit is contained in:
parent
745129c4ac
commit
90a961243e
|
@ -10,11 +10,13 @@ const
|
||||||
UINT_256_MAX*: UInt256 = high(UInt256)
|
UINT_256_MAX*: UInt256 = high(UInt256)
|
||||||
INT_256_MAX_AS_UINT256* = high(Uint256) shr 1
|
INT_256_MAX_AS_UINT256* = high(Uint256) shr 1
|
||||||
UINT160CEILING*: UInt256 = 2.u256.pow(160)
|
UINT160CEILING*: UInt256 = 2.u256.pow(160)
|
||||||
|
|
||||||
|
# Transactions to ZERO_ADDRESS are legitimate transfers to that account, not
|
||||||
|
# contract creations. They are used to "burn" Eth. People also send Eth to
|
||||||
|
# address zero by accident, unrecoverably, due to poor user interface issues.
|
||||||
ZERO_ADDRESS* = default(EthAddress)
|
ZERO_ADDRESS* = default(EthAddress)
|
||||||
# TODO: use Option[EthAddress]?
|
|
||||||
# create contract address cannot be ZERO_ADDRESS
|
# ZERO_HASH32 is the parent hash of genesis blocks.
|
||||||
# because actual zero address exists
|
|
||||||
CREATE_CONTRACT_ADDRESS* = ZERO_ADDRESS
|
|
||||||
ZERO_HASH32* = Hash256()
|
ZERO_HASH32* = Hash256()
|
||||||
|
|
||||||
GAS_LIMIT_EMA_DENOMINATOR* = 1_024
|
GAS_LIMIT_EMA_DENOMINATOR* = 1_024
|
||||||
|
|
Loading…
Reference in New Issue