jangko
e07898f949
add more test cases to txparse tool
2022-12-15 13:30:37 +07:00
jangko
94a94c5b65
implement better hardfork management
2022-12-02 13:51:42 +07:00
Kim De Mey
a69b16abff
Cleanup some imports and fix some warnings in the process ( #1096 )
2022-05-22 22:44:15 +02:00
jangko
f2f204293e
first step into styleCheck fixes
2022-04-14 08:39:50 +07:00
jangko
4d126f2461
hive: add ethereum/engine simulator
...
some test with multiple client still need polishing.
merge test using specially crafted blocks need to be added.
2022-04-13 08:05:58 +07:00
jangko
fdbabf0b80
unify eip1559TxNormalization
...
result.gasPrice = baseFee + min(result.maxPriorityFee, result.maxFee - baseFee)
cannot be simplified into
result.gasPrice = min(result.maxPriorityFee + baseFee, result.maxFee)
the expression is not commutative
2022-04-05 17:22:46 +07:00
jangko
472e4457e3
EIP-3529: Reduce the max gas refunded after a transaction
...
Previously max gas refunded was defined as gas_used div 2.
Here we name the constant 2 as MAX_REFUND_QUOTIENT and
change its value to 5.
The new equation will be: gas_used div MAX_REFUND_QUOTIENT
2021-06-29 07:37:17 +07:00
jangko
4a188788bd
preparation for EIP-1559 implementation
...
- unify signTx in test_helper and signTransaction in rpc_utils
and put it into transaction.nim
- clean up mess by previous EIP-2930
2021-06-29 07:33:48 +07:00
Jamie Lokier
aee0fe39d2
EVM: Remove `vm_types2` everywhere, use common forks list instead
...
File `vm_types2` is obsolete. Remove this file and divert all imports to the
common forks list outside the EVM, or in some cases they don't need it anyway.
Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-06-08 15:36:31 +01:00
jangko
01a27ff328
EIP-2930: optional access list
...
the new AccessListTx contains address and storage keys
that will go into global access list. and this come with
prices.... in ether
2021-05-16 19:54:48 +07:00
jangko
87c6ec7309
eip2718: add tx validate for AccessListTx
2021-05-15 18:09:36 +07:00
jangko
77f080c8c2
eip2718: nimbus is compileable
2021-05-15 18:09:36 +07:00
jangko
79044f1e92
eip2718: test_blockchain_json pass test
2021-05-15 18:09:35 +07:00
jangko
39ce2390ae
fixes `getRecipient`: using `sender` param instead of calculating sender itself
...
usually, there is always a sender around `getRecipient` call.
no need to recalculate sender. and more important, in some of
JSON-RPC/GraphQL call, the sender is come from `rpcCallData`,
not from `tx.getSender`. or in ohter situation when the tx is
an unsigned tx, without `r,s,v` fields to calculate sender.
2021-05-04 15:31:47 +07:00
Jordan Hrycaj
00ba7a2718
merge vm_forks and vm_opcode_values => vm_type2
...
why:
all types, but they cannot be merged int vm_types because of a circular
dependency.
2021-03-31 17:53:15 +01:00
Jordan Hrycaj
689458a346
provide vm_gas_costs as import/export wrapper
...
details:
moved original vm/interpreter/vm_gas_costs.nim => vm/interpreter/nvm_gas_costs.nim
2021-03-31 16:03:51 +01:00
Jordan Hrycaj
3a3e4d5707
provide vm_forks as import/export wrapper
...
details:
moved original vm/interpreter/vm_forks.nim => vm/interpreter/nvm_forks.nim
2021-03-31 16:03:34 +01:00
jangko
845671bf0a
fix compilation error following breaking changes in nim-eth
2020-07-20 13:50:05 +07:00
Jacek Sieka
4ade5797ee
rlp: don't use ranges / experimental features ( #495 )
2020-04-20 20:12:44 +02:00
Jacek Sieka
1d472cf090
Eth keys ( #482 )
...
* bump nim-eth, fix deprecated calls
2020-04-05 15:12:48 +02:00
andri lim
c4dcf5da30
reduce compiler warnings
2019-11-13 21:49:39 +07:00
andri lim
1937fd700d
implement EIP-2028
2019-11-12 15:51:48 +00:00
andri lim
31ed8fcf83
refine transaction validation
2019-08-29 20:44:54 +07:00
andri lim
230fb4b06d
activates test
2019-08-29 19:57:01 +07:00
andri lim
54b56ca722
fixes intrinsicGas
2019-08-29 19:54:52 +07:00
andri lim
7c094a2a3e
initial implementation of transaction test
2019-08-29 19:54:38 +07:00
Yuriy Glukhov
4f0404fa2d
Reuse transaction utils from eth-common
2019-08-13 17:52:41 +03:00
andri lim
f3c740498c
implement EIP155 tx.getSender
2019-04-18 15:33:17 +07:00
andri lim
2c032ad1ab
refactor utils
2019-02-27 13:30:18 +02:00
Yuriy Glukhov
481c6cf4ed
Use nim-eth ( #224 )
2019-02-05 20:15:50 +01:00
coffeepots
20933f494b
Moved and unstubbed intrinsicGas from vm_state_transactions
2019-01-06 19:03:35 +01:00
coffeepots
1f0766c5d4
Add initTransaction
2018-11-20 17:35:11 +00:00
Zahary Karadjov
74f6f0b738
Deal with the refactoring in status-im/nim-rlp#20
2018-09-26 12:58:23 +03:00
Yuriy Glukhov
3d64c66b7a
More state restoring
2018-09-19 18:41:17 +03:00
Yuriy Glukhov
3a1ec035b3
Various fixes towards state reconstruction
2018-09-07 14:00:37 +03:00
Dustin Brody
9e1be6438e
Extract transaction senders from GeneralStateTest fixtures
2018-09-06 11:20:43 +03:00
coffeepots
0229d16fed
Change hashing function to use AccountNonce
2018-09-01 16:03:06 +03:00
coffeepots
77df371cd1
Update toSignature to use range instead of UInt256
2018-08-31 17:18:19 +03:00
coffeepots
bdb1904fd5
Alternative form of getSender that raises and returns address
2018-08-29 16:52:12 +01:00
coffeepots
6b68d6ddb2
Fixed wrong equality
2018-08-24 18:34:54 +01:00
coffeepots
3b82c9bd44
Remove and 0xff
2018-08-24 17:03:44 +01:00
coffeepots
c3f73860a4
Remove defunct comment
2018-08-24 16:52:48 +01:00
coffeepots
7542b42d32
Remove BaseTransaction object, add transaction.getSender()
2018-08-24 16:46:48 +01:00
zah
18b7bbb3b0
Implemented most of the stubbed-out state handling instructions ( #59 )
...
Merge note: currently cannot compile due to `quasiBoolean` (#63 ). This will be solved by https://github.com/status-im/nimbus/pull/65
----
* Implemented most of the stubbed out state handling instructions
The code compiles, but still fails at the moment due to incorrect
initialization of the VM. Don't merge yet. More commits will be
pushed in the coming days.
* Fixed crash
* trie put and del are void now
* getBlockTransactionData and getReceipts
* Working code for extcodesize0.json
* fix origin.json
* fix calldatasize1
* fix calldataloadSizeTooHighPartial
* fix calldataloadSizeTooHigh
* more efficient PushX implementation
* fix and, or, xor
2018-07-05 14:41:01 +02:00
Yuriy Glukhov
8bdf09683b
Hash256/EthAddrres refactoring
2018-05-30 19:11:15 +03:00
Yuriy Glukhov
51b572d8b8
Some renames
2018-05-28 13:22:28 +03:00