mirror of https://github.com/status-im/EIPs.git
Automatically merged updates to draft EIP(s) 1884 (#2239)
Hi, I'm a bot! This change was automatically merged because: - It only modifies existing Draft or Last Call EIP(s) - The PR was approved or written by at least one author of each modified EIP - The build is passing
This commit is contained in:
parent
226cf77d98
commit
0ab7e9c31f
|
@ -114,7 +114,14 @@ I expect that certain patterns will be less used, for example the use of multipl
|
|||
|
||||
## Test Cases
|
||||
|
||||
No test cases are implemented as of yet.
|
||||
Testcases that should be implemented:
|
||||
- Test that `selfbalance == balance(address)`,
|
||||
- Test that `balance(this)` costs as before,
|
||||
- Test that `selfbalance` does not pop from stack
|
||||
- Gascost verification of `SLOAD`, `EXTCODEHASH` and `SELFBALANCE`
|
||||
- Verify that `SELFBALANCE` is invalid before Istanbul
|
||||
|
||||
Some testcases have been implemented as statetests at https://github.com/holiman/IstanbulTests/tree/master/GeneralStateTests
|
||||
|
||||
## Implementation
|
||||
|
||||
|
@ -139,6 +146,7 @@ func opSelfBalance(pc *uint64, interpreter *EVMInterpreter, contract *Contract,
|
|||
- See backwards compatibility section.
|
||||
- There are no special edgecases regarding `SELFBALANCE`, if we define it as `BALANCE` with `address` instead of popping an address from the stack -- since `BALANCE` is already well-defined.
|
||||
- It should be investigated if Solidity contains any hardcoded expectations on the gas cost of these operations.
|
||||
- In many cases, a recipient of `ether` from a `CALL` will want to issue a `LOG`. The `LOG` operation costs `375` plus `375` per topic. If the `LOG` also wants to do an `SLOAD`, this change may make some such transfers fail.
|
||||
|
||||
## Copyright
|
||||
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
|
||||
|
|
Loading…
Reference in New Issue