41 Commits

Author SHA1 Message Date
jangko
9be5df90cf
update tools build instruction 2023-08-01 09:25:18 +07:00
jangko
3aff8d0d61
fix EIP-4844 bugs in genesis, evmstate and blobFee 2023-07-21 06:34:56 +07:00
jangko
ab79cfc775
fix blob tx limit 2023-07-20 20:20:41 +07:00
jangko
1eca772a08
hive: pyspec simulator implementation 2023-07-19 20:33:02 +07:00
andri lim
26a8759c34
implementation of EIP-4844: Shard Blob Transactions (#1440)
* EIP-4844: add pointEvaluation precompiled contract

* EIP-4844: validate transaction and block header

* EIP-4844: implement DataHash Op Code

* EIP-4844: txPool support excessDataGas calculation

* EIP-4844: make sure tx produce correct txHash

* EIP-4844: node should not automatically broadcast blob tx to it's peers

* EIP-4844: add test cases

* EIP-4844: add EIP-4844 support to t8n tool

* EIP-4844: update nim-eth to branch eip-4844

* fix t8n transaction decoding

* add t8n test data

* EIP-4844: fix blobHash opcode

* disable blobHash test when evmc_enable
2023-06-24 20:56:44 +07:00
jangko
10aabd8ca1
bubble up validate transaction error message 2023-06-12 12:58:53 +07:00
jangko
2871dbfddf
remove unused vmState param from t8n tool 2023-05-11 14:36:32 +07:00
jangko
4e58f9d79a
modexp precompile allow arbitrary input length 2023-05-11 07:21:03 +07:00
jangko
918c1309c8
fix processTransaction's gasLimit 2023-04-19 12:37:18 +07:00
jangko
12aea42c00
fix t8n's EthAddress parser 2023-04-17 21:32:02 +07:00
jangko
a31db89e0e
fix t8n tool bug and accounts cache bug
t8n: a silly bug contract address generator, should use original
tx nonce instead of read the nonce from sender address in state db.
Although in EVM contract address generated by reading nonce from state db
is correct, outside EVM that nonce value might have been modified,
thus generating incorrect contract address.

accounts cache: when clearing account storage, the originalValue
cache is not cleared, only the storageRoot set to empty storage root,
this will cause getStorage and getCommitedStorage return wrong value
if the originalValue cache contains old value.
2023-03-23 11:07:30 +07:00
jangko
0b97f5a2e6
t8n tools support withdrawals records 2023-03-21 18:36:22 +07:00
jangko
2a3c67b4be
refactor touched accounts, selfdestruct, and log
simplify EVM and delegete those things to accounts cache.
also no more manual state clearing, accounts cache will be
responsible for both collecting touched account and perform
state clearing.
2023-03-21 08:14:06 +07:00
jangko
633f135c72
align accounts cache with EIP158/161
Some nomenclature used in accounts cache are not what described
in EIP158/161, therefore causing confusion and introduce bugs.
Now it should be fixed.
2023-03-18 18:13:06 +07:00
jangko
a74bbef74c
evmstate tool: fix regression 2023-02-23 09:15:58 +07:00
Adam Spitz
fad3ed64cf
Time based forking (#1465)
* Refactoring in preparation for time-based forking.

* Timestamp-based hard-fork-transition.

* Workaround SideEffect issue / compiler bug for both failing locations in Portal history code

---------

Co-authored-by: kdeme <kim.demey@gmail.com>
2023-02-16 12:40:07 +01:00
Kim De Mey
73e93f1f11
Reduce Nim 1.6 compiler warnings & hints
* Reduce Nim 1.6 compiler warnings/hints for Fluffy and Nimbus proxy

Mostly raises Defect removals, TaintedString removal and some
unnecessary imports.

Also updating the copyright years alongside.

* Further reduce Nim 1.6 compiler warnings/hints for Nimbus
2023-01-31 13:38:08 +01:00
Kim De Mey
a669b51ec5
Bump Nim to 1.6 and resolve the related issues (#1445)
Two unresolved items currently:
- Three tests that are temporarily disabled as they fail in the
macro_assembler code, which seems to be due to an ambigious
identifier Stop (Ops and chronos ServerCommand enum).
- i386 CI disabled as it fails at Nim compilation already. Failed
tests where already ignored for this target.
2023-01-26 13:37:19 +01:00
jangko
6814140c63
unify coinbase state clearing of gst, evmstate, and t8n
it is troublesome if we have to fix it in three places
in case of a bug, it also reduce code duplication.
2023-01-14 17:17:55 +07:00
jangko
a232c7eb1d
reduce code duplication in multiple test runners 2023-01-13 13:04:55 +07:00
jangko
d98b3bb32d
cleanup numeric utils and remove unstable rangeToPadded 2022-12-21 18:41:03 +07:00
jangko
35e4607f87
add more test cases to t8n tool 2022-12-16 07:54:38 +07:00
jangko
e07898f949
add more test cases to txparse tool 2022-12-15 13:30:37 +07:00
jangko
3a7d3311e5
add more test cases to evmstate tool 2022-12-15 10:57:10 +07:00
jangko
9256c741a0
fix evmstate,t8n,txparse build instructions 2022-12-14 21:53:41 +07:00
jangko
2b5195c526
add geth compatibility flag to emvstate tool and transaction tracer 2022-12-14 21:52:43 +07:00
jangko
dcd1225724
implement txparse tool and add make target for txparse 2022-12-10 20:38:47 +07:00
jangko
1cd4a3fd54
tools: add missing copyright header 2022-12-10 19:53:24 +07:00
jangko
4287a31961
fix t8n compiler switch when evmc_enabled 2022-12-08 13:20:23 +07:00
jangko
a57471197f
update t8n tool testdata 2022-12-08 13:20:23 +07:00
jangko
490b2f8023
fix t8n tool tx and env parser 2022-12-08 13:20:23 +07:00
jangko
05584a21b9
fix t8n 0-touch reward on pre EIP150 networks 2022-12-08 12:20:01 +07:00
jangko
94a94c5b65 implement better hardfork management 2022-12-02 13:51:42 +07:00
jangko
66439d69ca
unify chain config parser of t8n, bc test, and consensus simulator 2022-11-25 12:26:29 +07:00
jangko
7381ee8ff9 t8n tool support --state.reward -1
fixes #1313
2022-11-23 19:49:58 +07:00
jangko
c3e8f951b2
enable chronicles runtime filtering of t8n and evmstate tools 2022-11-18 00:56:23 +07:00
jangko
f59e5b63e3
update t8n and evmstate tools readme.md 2022-11-15 10:50:12 +07:00
jangko
12e5b6460e
fix t8n tool copyright banner 2022-11-15 10:49:41 +07:00
jangko
ec59819953
implement evmstate CLI for evmlab 2022-10-29 12:16:10 +07:00
jangko
a81b23eb92
add test vector for transition (t8n) tool 2022-10-26 10:57:47 +07:00
jangko
dc9a9a741b
Transition tool a.k.a. t8ntool implementation 2022-10-26 10:57:47 +07:00