Reserve 65536 addresses for precompiles

This commit is contained in:
Alex Beregszaszi 2018-09-04 20:07:02 +01:00 committed by Hudson Jameson
parent 3f3e4f0d0c
commit 497a3fb83b

View File

@ -13,13 +13,13 @@ created: 2018-07-27
Specify an Ethereum address range occupied by precompiles and future system contracts. Regular accounts and contracts cannot obtain such an address. Specify an Ethereum address range occupied by precompiles and future system contracts. Regular accounts and contracts cannot obtain such an address.
## Abstract ## Abstract
The address range between 0x0000000000000000000000000000000000000000 and 0x00000000000000000000000000000000000000ff is reserved for precompiles and system contracts. The address range between 0x0000000000000000000000000000000000000000 and 0x000000000000000000000000000000000000ffff is reserved for precompiles and system contracts.
## Motivation ## Motivation
This will simplify certain future features where unless this is implemented, several exceptions must be specified. This will simplify certain future features where unless this is implemented, several exceptions must be specified.
## Specification ## Specification
The address range between 0x0000000000000000000000000000000000000000 and 0x00000000000000000000000000000000000000ff is reserved for precompiles and system contracts. The address range between 0x0000000000000000000000000000000000000000 and 0x000000000000000000000000000000000000ffff is reserved for precompiles and system contracts.
If a contract creation (as a result of a create transaction or a `CREATE` opcode) results in an address within this range, then it is rejected. If a contract creation (as a result of a create transaction or a `CREATE` opcode) results in an address within this range, then it is rejected.