Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						8a24b56331 
					 
					
						
						
							
							cmd/evm: implement input txs via rlp in t8n tool ( #23138 )  
						
						... 
						
						
						
						In many cases, it's desireable to use already-signed transactions as input to the state transition, instead of having the evm sign them internally (for example to use malformed or not-yet-valid transactions). This PR adds support + docs for that feature. 
						
						
					 
					
						2021-08-07 23:04:34 +02:00 
						 
				 
			
				
					
						
							
							
								ucwong 
							
						 
					 
					
						
						
							
						
						3b05318525 
					 
					
						
						
							
							cmd/evm, eth/ethconfig: regenerate struct codecs ( #23140 )  
						
						
						
						
					 
					
						2021-07-02 11:08:53 +02:00 
						 
				 
			
				
					
						
							
							
								Marius van der Wijden 
							
						 
					 
					
						
						
							
						
						686b2884ee 
					 
					
						
						
							
							all: removed blockhash from statedb ( #23126 )  
						
						... 
						
						
						
						This PR removes the blockhash from the statedb 
						
						
					 
					
						2021-06-30 15:17:01 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						0e9c7d564d 
					 
					
						
						
							
							tests: update for London  ( #22976 )  
						
						... 
						
						
						
						This updates the tests submodule to the London fork tests, and
also updates the test runner to support the new EIP-1559 fields in
test JSON. 
						
						
					 
					
						2021-06-07 14:37:56 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						94451c2788 
					 
					
						
						
							
							all: implement EIP-1559 ( #22837 )  
						
						... 
						
						
						
						This is the initial implementation of EIP-1559 in packages core/types and core.
Mining, RPC, etc. will be added in subsequent commits.
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de >
Co-authored-by: lightclient@protonmail.com  <lightclient@protonmail.com >
Co-authored-by: Felix Lange <fjl@twurst.com > 
						
						
					 
					
						2021-05-17 15:13:22 +02:00 
						 
				 
			
				
					
						
							
							
								lightclient 
							
						 
					 
					
						
						
							
						
						597ecb39cc 
					 
					
						
						
							
							cmd/evm: return json error if unmarshalling from stdin fails ( #22871 )  
						
						... 
						
						
						
						* cmd/evm: return json error if unmarshalling from stdin fails
* cmd/evm: make error capitalizations uniform (all lowercase starts)
* cmd/evm: capitalize error sent directly to stderror 
						
						
					 
					
						2021-05-17 08:52:32 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						addd8824cf 
					 
					
						
						
							
							cmd/geth, eth, core: snapshot dump + unify with trie dump ( #22795 )  
						
						... 
						
						
						
						* cmd/geth, eth, core: snapshot dump + unify with trie dump
* cmd/evm: dump API fixes
* cmd/geth, core, eth: fix some remaining errors
* cmd/evm: dump - add limit, support address startkey, address review concerns
* cmd, core/state, eth: minor polishes, fix snap dump crash, unify format
Co-authored-by: Péter Szilágyi <peterke@gmail.com > 
						
						
					 
					
						2021-05-12 11:05:39 +03:00 
						 
				 
			
				
					
						
							
							
								lightclient 
							
						 
					 
					
						
						
							
						
						bbfb1e4008 
					 
					
						
						
							
							all: add support for EIP-2718, EIP-2930 transactions ( #21502 )  
						
						... 
						
						
						
						This adds support for EIP-2718 typed transactions as well as EIP-2930
access list transactions (tx type 1). These EIPs are scheduled for the
Berlin fork.
There very few changes to existing APIs in core/types, and several new APIs
to deal with access list transactions. In particular, there are two new
constructor functions for transactions: types.NewTx and types.SignNewTx.
Since the canonical encoding of typed transactions is not RLP-compatible,
Transaction now has new methods for encoding and decoding: MarshalBinary
and UnmarshalBinary.
The existing EIP-155 signer does not support the new transaction types.
All code dealing with transaction signatures should be updated to use the
newer EIP-2930 signer. To make this easier for future updates, we have
added new constructor functions for types.Signer: types.LatestSigner and
types.LatestSignerForChainID. 
This change also adds support for the YoloV3 testnet.
Co-authored-by: Martin Holst Swende <martin@swende.se >
Co-authored-by: Felix Lange <fjl@twurst.com >
Co-authored-by: Ryan Schneider <ryanleeschneider@gmail.com > 
						
						
					 
					
						2021-02-25 15:26:57 +01:00 
						 
				 
			
				
					
						
							
							
								ucwong 
							
						 
					 
					
						
						
							
						
						83e4c49e2b 
					 
					
						
						
							
							trie : use trie.NewStackTrie instead of new(trie.Trie) ( #22246 )  
						
						... 
						
						
						
						The PR makes use of the stacktrie, which is is more lenient on resource consumption, than the regular trie, in cases where we only need it for DeriveSha 
						
						
					 
					
						2021-02-02 13:09:23 +01:00 
						 
				 
			
				
					
						
							
							
								Sina Mahmoodi 
							
						 
					 
					
						
						
							
						
						eb21c652c0 
					 
					
						
						
							
							cmd,core,eth,params,tests: define yolov3 + enable EIP-2565 ( #22213 )  
						
						... 
						
						
						
						Removes the yolov2 definition, adds yolov3, including EIP-2565. This PR also disables some of the erroneously generated blockchain and statetests, and adds the new genesis hash + alloc for yolov3. 
This PR disables the CLI switches for yolo, since it's not complete until we merge support for 2930. 
						
						
					 
					
						2021-01-28 21:19:07 +01:00 
						 
				 
			
				
					
						
							
							
								Marius van der Wijden 
							
						 
					 
					
						
						
							
						
						2045a2bba3 
					 
					
						
						
							
							core, all: split vm.Context into BlockContext and TxContext ( #21672 )  
						
						... 
						
						
						
						* all: core: split vm.Config into BlockConfig and TxConfig
* core: core/vm: reset EVM between tx in block instead of creating new
* core/vm: added docs 
						
						
					 
					
						2020-11-13 13:42:19 +01:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						6487c002f6 
					 
					
						
						
							
							all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 ( #21509 )  
						
						... 
						
						
						
						* core/vm, core/state: implement EIP-2929 + YOLOv2
* core/state, core/vm: fix some review concerns
* core/state, core/vm: address review concerns
* core/vm: address review concerns
* core/vm: better documentation
* core/vm: unify sload cost as fully dynamic
* core/vm: fix typo
* core/vm/runtime: fix compilation flaw
* core/vm/runtime: fix renaming-err leftovers
* core/vm: renaming
* params/config: use correct yolov2 chainid for config
* core, params: use a proper new genesis for yolov2
* core/state/tests: golinter nitpicks 
						
						
					 
					
						2020-10-23 08:26:57 +02:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						87c0ba9213 
					 
					
						
						
							
							core, eth, les, trie: add a prefix to contract code ( #21080 )  
						
						
						
						
					 
					
						2020-08-21 15:10:40 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						7ebc6c43ff 
					 
					
						
						
							
							cmd/evm: statet8n output folder + tx hashes on trace filenames ( #21406 )  
						
						... 
						
						
						
						* t8ntool: add output basedir
* t8ntool: add txhash to trace filename
* t8ntool: don't default to '.' basedir, allow absolute paths 
						
						
					 
					
						2020-08-19 11:31:13 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						295693759e 
					 
					
						
						
							
							core/vm: less allocations for various call variants  ( #21222 )  
						
						... 
						
						
						
						* core/vm/runtime/tests: add more benchmarks
* core/vm: initial work on improving alloc count for calls to precompiles
name                                  old time/op    new time/op    delta
SimpleLoop/identity-precompile-10M-6     117ms ±75%      43ms ± 1%  -63.09%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   79.6ms ± 4%    70.5ms ± 1%  -11.42%  (p=0.008 n=5+5)
name                                  old alloc/op   new alloc/op   delta
SimpleLoop/identity-precompile-10M-6    24.4MB ± 0%     4.9MB ± 0%  -79.94%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   13.2kB ± 0%    13.2kB ± 0%     ~     (p=0.357 n=5+5)
name                                  old allocs/op  new allocs/op  delta
SimpleLoop/identity-precompile-10M-6      382k ± 0%      153k ± 0%  -59.99%  (p=0.000 n=5+4)
SimpleLoop/loop-10M-6                     40.0 ± 0%      40.0 ± 0%     ~     (all equal)
* core/vm: don't allocate big.int for touch
name                                  old time/op    new time/op    delta
SimpleLoop/identity-precompile-10M-6    43.3ms ± 1%    42.4ms ± 7%     ~     (p=0.151 n=5+5)
SimpleLoop/loop-10M-6                   70.5ms ± 1%    76.7ms ± 1%   +8.67%  (p=0.008 n=5+5)
name                                  old alloc/op   new alloc/op   delta
SimpleLoop/identity-precompile-10M-6    4.90MB ± 0%    2.46MB ± 0%  -49.83%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   13.2kB ± 0%    13.2kB ± 1%     ~     (p=0.571 n=5+5)
name                                  old allocs/op  new allocs/op  delta
SimpleLoop/identity-precompile-10M-6      153k ± 0%       76k ± 0%  -49.98%  (p=0.029 n=4+4)
SimpleLoop/loop-10M-6                     40.0 ± 0%      40.0 ± 0%     ~     (all equal)
* core/vm: reduce allocs in staticcall
name                                  old time/op    new time/op    delta
SimpleLoop/identity-precompile-10M-6    42.4ms ± 7%    37.5ms ± 6%  -11.68%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   76.7ms ± 1%    69.1ms ± 1%   -9.82%  (p=0.008 n=5+5)
name                                  old alloc/op   new alloc/op   delta
SimpleLoop/identity-precompile-10M-6    2.46MB ± 0%    0.02MB ± 0%  -99.35%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   13.2kB ± 1%    13.2kB ± 0%     ~     (p=0.143 n=5+5)
name                                  old allocs/op  new allocs/op  delta
SimpleLoop/identity-precompile-10M-6     76.4k ± 0%      0.1k ± 0%     ~     (p=0.079 n=4+5)
SimpleLoop/loop-10M-6                     40.0 ± 0%      40.0 ± 0%     ~     (all equal)
* trie: better use of hasher keccakState
* core/state/statedb: reduce allocations in getDeletedStateObject
* core/vm: reduce allocations in all call derivates
* core/vm: reduce allocations in call variants
- Make returnstack `uint32`
- Use a `sync.Pool` of `stack`s
* core/vm: fix tests
* core/vm: goimports
* core/vm: tracer fix + staticcall gas fix
* core/vm: add back snapshot to staticcall
* core/vm: review concerns + make returnstack pooled + enable returndata in traces
* core/vm: fix some test tracer method signatures
* core/vm: run gencodec, minor comment polish
Co-authored-by: Péter Szilágyi <peterke@gmail.com > 
						
						
					 
					
						2020-07-16 15:06:19 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						e376d2fb31 
					 
					
						
						
							
							cmd/evm: add state transition tool for testing ( #20958 )  
						
						... 
						
						
						
						This PR implements the EVM state transition tool, which is intended
to be the replacement for our retesteth client implementation.
Documentation is present in the cmd/evm/README.md file.
Co-authored-by: Felix Lange <fjl@twurst.com > 
						
						
					 
					
						2020-06-30 10:12:51 +02:00 
						 
				 
			
				
					
						
							
							
								Corey Lin 
							
						 
					 
					
						
						
							
						
						768b4c2e6b 
					 
					
						
						
							
							asm: remove unused parameter for function Lex ( #18058 )  
						
						
						
						
					 
					
						2019-03-14 10:35:55 +01:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						83e2761c3a 
					 
					
						
						
							
							Revert "cmd/evm: change error msg output to stderr ( #17118 )"  
						
						... 
						
						
						
						This reverts commit fb9f7261ec 
						
						
					 
					
						2018-08-01 19:09:08 +03:00 
						 
				 
			
				
					
						
							
							
								Chen Quan 
							
						 
					 
					
						
						
							
						
						fb9f7261ec 
					 
					
						
						
							
							cmd/evm: change error msg output to stderr ( #17118 )  
						
						... 
						
						
						
						* cmd/evm: change error msg output to stderr
* cmd/evm: fix some linter error 
						
						
					 
					
						2018-07-31 10:48:27 +03:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Wilcke 
							
						 
					 
					
						
						
							
						
						230cf2ec91 
					 
					
						
						
							
							cmd/evm, core/asm: add EVM assembler ( #3686 )  
						
						... 
						
						
						
						The evm compile command implements a simple assembly language that compiles to
EVM bytecode. 
						
						
					 
					
						2017-03-01 01:11:24 +01:00