Commit Graph

71 Commits

Author SHA1 Message Date
jangko 908dc21478
evm: fixes EIP2929 opcodes
op balanceEIP2929, extCodeHashEIP2929, extCodeSizeEIP2929, and
extCodeCopyEIP2929 are fixed due to their wrong gasConsume
position
2021-09-22 11:58:06 +07:00
jangko 05d905b136
EIP-3529: Replace SSTORE_CLEARS_SCHEDULE
SSTORE_CLEARS_SCHEDULE or FeeSchedule[RefundsClear] in evm
have initial value of 15_000 when introduced by EIP-2200.

EIP-2200 also set new value for SSTORE_RESET_GAS
from 5000 to to 5000 - COLD_SLOAD_COST

Now with EIP-3529, SSTORE_CLEARS_SCHEDULE beecome
SSTORE_RESET_GAS + ACCESS_LIST_STORAGE_KEY_COST

or 5000 - COLD_SLOAD_COST + ACCESS_LIST_STORAGE_KEY_COST
of 5000 - 2100 + 1900 = 4800
2021-06-29 07:37:17 +07:00
jangko 05e9b891f0
EIP-3198: add baseFee op code in nim-evm 2021-06-29 07:35:16 +07:00
jangko 5159ad7aac
preparation for London hard fork
This preparation is needed for subsequent
EIPs included in London.

- Add London to Fork enum
- Block number to fork
- Parsing London fork in chain config
- Prepare gas costs table for London
- Prepare EVM opcode dispatcher for London
- Block rewards for London
- Prepare hive script for London
2021-06-29 07:34:45 +07:00
Jamie Lokier 7c90d8de70
EVM: Remove `vm_forks` everywhere, use common forks list instead
The common forks list was already used, redirected via `vm_forks` for
historical compatibility.  Remove the old `vm_forks` now and divert all imports
to the common forks list outside the EVM.

Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-06-08 15:36:31 +01:00
jangko 79044f1e92
eip2718: test_blockchain_json pass test 2021-05-15 18:09:35 +07:00
jangko ad284e3d25 fixes EIP2929 SLOAD 2021-01-14 23:22:28 +07:00
jangko f6c44ffcc0 fixes EIP2929 CALL opCode 2021-01-14 23:22:28 +07:00
jangko 3db535aa39
EIP2929 implementation 2021-01-11 14:56:42 +07:00
jangko c1b7ae5b02
EIP2537 part 1 2020-11-27 21:42:17 +07:00
jangko 5a78b8a5a7
stubbing berlin opcodes 2020-11-25 16:43:34 +07:00
jangko c68aa47464
fixes fork comparison related code 2020-11-19 11:59:53 +07:00
jangko 6ffb33ccac
cleanup sstore gasCost 2020-07-21 20:13:58 +07:00
jangko 165f9fea2e
reduce warnings 2020-07-21 13:15:06 +07:00
andri lim 87bae2bb78
switch to new toFork 2020-04-12 18:02:59 +07:00
andri lim 6591893158
change FkGlacierMuir to FkMuirGlacier [skip ci] 2020-04-11 16:02:15 +07:00
jangko 32f5fd9b90
fix evmc sstore gas cost related to EIP 1283 2020-03-24 17:21:18 +07:00
andri lim 266e0ddb1e
room for EIP-1283 2020-03-24 17:21:13 +07:00
andri lim 6b6584c4d0 Glacier Muir update 2020-02-20 09:21:35 +02:00
andri lim 37c282f1b9 fixes evmc 'gasRefund' 2020-01-23 18:07:44 +02:00
andri lim 4aa209113a integrate evmc 'setStorage' 2020-01-23 18:07:44 +02:00
andri lim 11f67f87fd
fixes EIP2200 gas cost and refund 2019-11-18 20:33:10 +07:00
andri lim d61bb49a40
fixes gas_costs for istanbul 2019-11-14 22:27:24 +07:00
andri lim c4dcf5da30
reduce compiler warnings 2019-11-13 21:49:39 +07:00
andri lim 61f340ae87 implement EIP2200's SSTORE and gas cost 2019-11-12 15:51:48 +00:00
andri lim c0c62b94b8 implement EIP-2200 stub 2019-11-12 15:51:48 +00:00
andri lim 1e4f290cc6 implement 'selfBalance' opcode and gas cost 2019-11-12 15:51:48 +00:00
andri lim 4fbc9727d8 revert accidentally changed GasQuadDivisor 2019-11-12 15:51:48 +00:00
andri lim 1937fd700d implement EIP-2028 2019-11-12 15:51:48 +00:00
andri lim 078375061b implement EIP 1884 stub 2019-11-12 15:51:48 +00:00
andri lim 0bb6c73bdb implement EIP 1344 stub 2019-11-12 15:51:48 +00:00
andri lim cda3e2811f implement EIP 1108 2019-11-12 15:51:48 +00:00
andri lim 3dbf41aac8 adding FkIstanbul to vm_forks gas_costs 2019-11-12 15:51:48 +00:00
andri lim dec3c7baee
fixes 32bit problem 2019-10-28 22:21:41 +07:00
Ștefan Talpalaru 70bcce2132
a couple of Nim 1.0.2-related fixes 2019-10-28 22:21:20 +07:00
andri lim a86979eaa3 fix create2 gasCost 2019-05-13 10:26:28 +03:00
andri lim 51edbe6390 fix shr and shl gasCost 2019-05-13 10:26:28 +03:00
andri lim 5f2be4231e implement EIP1014: Create2 opcode 2019-05-13 10:26:28 +03:00
andri lim 213fb3b971 constantinople's skeletal implementation 2019-05-13 10:26:28 +03:00
andri lim 89402af114
fix modexp gasCost, GST +6 2019-04-26 07:31:16 +07:00
Ștefan Talpalaru 29a226da1e
more gcsafe pragmas for Nim HEAD 2019-04-26 00:18:51 +02:00
andri lim 23d084da68
add SpuriousGasCosts table into forkToSchedule 2019-04-17 09:46:33 +07:00
andri lim 69c1d9e357
fix block 2.463.413 problem 2019-04-15 11:10:40 +07:00
andri lim d039b88f48
activates Tangerine GST, GST +12 2019-04-08 08:06:40 +07:00
andri lim 6f51cf9103
implement EIP150 and EIP161 SelfDestruct OpCode 2019-04-08 08:06:39 +07:00
andri lim 77e9c18f91
implement Tangerine fork gas cost changes 2019-04-08 08:06:34 +07:00
andri lim 36fb75d042
fix DelegateCall gasCost, GST +6 2019-03-18 17:24:25 +07:00
andri lim 99d128ca26
fix CREATE opcode gas cost 2019-03-15 22:15:40 +07:00
andri lim 2e8176eb15 simplify CREATE gasCost 2019-02-20 15:16:07 +02:00
andri lim 0b9326f955 fix block 81383 problem 2019-02-20 15:16:07 +02:00