2014-10-18 06:31:20 -05:00
|
|
|
package vm
|
2014-07-22 04:54:48 -05:00
|
|
|
|
|
|
|
import (
|
2014-10-14 04:48:52 -05:00
|
|
|
"math/big"
|
|
|
|
|
2014-10-23 08:01:27 -05:00
|
|
|
"github.com/ethereum/go-ethereum/ethutil"
|
2014-10-31 06:56:05 -05:00
|
|
|
"github.com/ethereum/go-ethereum/logger"
|
2014-07-22 04:54:48 -05:00
|
|
|
)
|
|
|
|
|
2014-10-31 06:56:05 -05:00
|
|
|
var vmlogger = logger.NewLogger("VM")
|
2014-07-22 04:54:48 -05:00
|
|
|
|
2014-10-14 04:48:52 -05:00
|
|
|
type Type int
|
|
|
|
|
|
|
|
const (
|
|
|
|
StandardVmTy Type = iota
|
|
|
|
DebugVmTy
|
|
|
|
|
|
|
|
MaxVmTy
|
|
|
|
)
|
|
|
|
|
2014-07-22 04:54:48 -05:00
|
|
|
var (
|
2014-10-28 07:26:30 -05:00
|
|
|
GasStep = big.NewInt(1)
|
Squashed commit of the following:
commit 779f25d36c770fcc0bdf135c8baf13be9b0a77b9
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Thu Dec 11 22:59:56 2014 +0100
first random test
commit 68175386c0606a824686606e992c2544775ef6c9
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Thu Dec 11 21:34:50 2014 +0100
update gas prices
commit ad322fbb58e87ee5175cfaf4b8f9650675660e08
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Mon Dec 8 06:01:17 2014 +0100
Log as array
commit f989f42618ffdaeb004c2c99007189b4739c8fad
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Fri Dec 5 15:12:12 2014 +0100
state log tests
commit 4bc65d1129efa36eae3c83fa8f11bb7df9bcaea5
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Thu Dec 4 18:18:49 2014 +0100
add calldataload, codecopy, extcodecopy tests
commit 12cfae18e3e5250cca9af0932bd4178cf190b794
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Thu Dec 4 15:57:56 2014 +0100
add calldataload test
commit 086caf37011478ec847c7a9071f057832ad3be3e
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Wed Dec 3 08:31:03 2014 +0100
protocol update (CALLCODE <-> RETURN), topics in log are arrays not sets
commit e6c92673b9cee6146a89e0eb28894620fe5ac035
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Mon Dec 1 21:14:08 2014 +0100
update state tests with logs
commit 4089b809fb9b5daea24ab88ad3e3e3947b3ff6d7
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Mon Dec 1 18:19:40 2014 +0100
update gas costs
commit cfdca6227716b66bd64b64c6aab864fde69336d3
Merge: 2e5175e f59f89d
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Dec 1 18:04:51 2014 +0100
Merge pull request #42 from negedzuregal/fix
vmTest fix
commit f59f89d876c0e44d88b3daa4f0d26e6764ccbe0b
Author: alon muroch <alonmuroch@gmail.com>
Date: Mon Dec 1 16:18:12 2014 +0100
vmEnvironmentalInfoTest CALLDATACOPY, CODECOPY, EXTCODECOPY fix
commit 68da13fe3e2efe85898e8a4ffeb99e2a8f8c103d
Author: alon muroch <alonmuroch@gmail.com>
Date: Mon Dec 1 11:10:57 2014 +0100
vmArithmeticTest exp fix
commit 2e5175e818d817cda4607f9e731632393e2eb93e
Author: ethers <ethereum@outlook.com>
Date: Sun Nov 30 19:55:51 2014 +0100
add vmLogTest
commit b5b9408e641031ded31a87792c4ec613c8afabbf
Author: Heiko Heiko <heiko@heiko.org>
Date: Sun Nov 30 16:27:27 2014 +0100
updated genesis to new header w/o min_gas_price
commit 8e69fbfa98d95116734f2349f6d90fbd479b694a
Author: ethers <ethereum@outlook.com>
Date: Fri Nov 21 17:42:05 2014 -0800
add special tests
commit 90f4f942e68f38e833a727214d5810be3f8f6cf5
Author: ethers <ethereum@outlook.com>
Date: Thu Nov 20 19:01:09 2014 -0800
typo
commit c5e5228e0d47ec237ef6a28e696dda47a4a3a85e
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 20 17:04:06 2014 +0100
Removed log,post,out,gas,callcreates if exception occured
commit 9c0232a2b995bd608f5f541e6f607d373797641d
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 19 18:19:05 2014 +0100
MakeMoney test
commit 3ba0007e868e9cfc802443d6f5d42ba35a4209cb
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 19 16:23:04 2014 +0100
Added log sections in all vmtests + log tests
commit d84be4fe07bb240c1ae56f63580e0e4655611e62
Merge: c8497ab 76d2542
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 19 10:00:24 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit c8497ab25724bb6aed40fcd0462f3789380848a1
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 19 10:00:02 2014 +0100
new push32 test and renaming
commit 76d25420e153e18c667aa4991dcacf12e8f4fb5c
Author: ethers <ethereum@outlook.com>
Date: Mon Nov 17 18:59:30 2014 -0800
adding test
commit 0be275e757744de496a80525ad8aa153def89fd3
Merge: 1d42d1d d90868c
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 17 22:47:34 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 1d42d1d7c620fb3e6d0e284697d5041226567af9
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 17 22:46:51 2014 +0100
fix ecrecover2
commit d90868c3070624bc38668a0f3ceef3e3806d9f00
Merge: 1f38c8c 6dbcf6b
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 17 20:26:59 2014 +0100
Merge pull request #39 from wanderer/develop
added test for max call depth on creation
commit 6dbcf6b0d6bb68ceaa743e18a52ac815f495d408
Author: wanderer <mjbecze@gmail.com>
Date: Mon Nov 17 14:06:43 2014 -0500
spelling fix
commit 6fc07a7f81408308e56db105afcad191f81c43bc
Author: wanderer <mjbecze@gmail.com>
Date: Sat Nov 15 21:39:16 2014 -0500
added test for max call depth on creation
commit 1f38c8c0a2e306fa95e8332c03a02e72fe26f9be
Merge: 279b284 cd85ca1
Author: martin becze <wanderer@users.noreply.github.com>
Date: Fri Nov 14 20:10:21 2014 -0500
Merge pull request #38 from wanderer/develop
updated test 'jeff' in trietest.json
commit cd85ca17edd314b3744c46573f1d5093e9be2db3
Author: martin becze <wanderer@users.noreply.github.com>
Date: Fri Nov 14 19:59:34 2014 -0500
Update trietest.json
commit 279b284c0d03737360ae36ce2c0da06d70e91c2c
Merge: 89675a7 6cae937
Author: martin becze <wanderer@users.noreply.github.com>
Date: Fri Nov 14 17:43:49 2014 -0500
Merge pull request #37 from wanderer/develop
Update trietest.json
commit 6cae937e5eee1c904b636440653b6157359c0963
Author: martin becze <wanderer@users.noreply.github.com>
Date: Fri Nov 14 17:20:03 2014 -0500
Update trietest.json
'emptyValues' should have the same root as 'puppy'
commit 89675a71537e6a386f97a9190db40276b388d692
Merge: f1de1cc 32f0c47
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 13 23:17:49 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit f1de1cc97a556adad8a4a864267150c39bef4d85
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 13 23:17:13 2014 +0100
Fix CallRecursiveBomb2
commit 32f0c47c6801974c210c3b93792105a9183f9e7b
Merge: ab50e76 3da90d0
Author: martin becze <wanderer@users.noreply.github.com>
Date: Thu Nov 13 15:26:49 2014 -0500
Merge pull request #36 from wanderer/develop
converted back to arrary format
commit ab50e766521ca31febe21677909a665043937488
Merge: d06b792 78f1e4a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 13 07:52:35 2014 +0100
Merge pull request #35 from ethers/delOld
rename tests since they are valid opcodes that exist
commit 3da90d01f6f9e79190ebcd3a6513f481eacbbae2
Author: wanderer <mjbecze@gmail.com>
Date: Wed Nov 12 22:22:47 2014 -0500
converted back to arrary format
commit 78f1e4a9452566f5645a7f5ade6aad79901d5f98
Author: ethers <ethereum@outlook.com>
Date: Wed Nov 12 19:11:06 2014 -0800
rename tests since they are valid opcodes that exist
commit d06b792cd0c80d48aa206dd9126b515e4fb1d606
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 12 07:00:17 2014 +0100
minor change in CallSha256_1_nonzeroValue test
commit d434ecdcc37af4bb53058a43884df8085c5efe73
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 12 06:56:31 2014 +0100
Added CallSha256_1_nonzeroValue test
commit 2c06f34cc00e6c41dc0c68d3e99825731e0603ab
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 11 18:10:26 2014 +0100
Store return value of call to precompiled contracts
commit 4b0c3b29ae5b8807d7d244340a625c6144320df0
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 11 17:51:14 2014 +0100
Fix gas cost for OOG calls
commit 63bcca7604dce4f912776f4e2e9954ceca02dfcf
Author: Heiko Heiko <heiko@heiko.org>
Date: Tue Nov 11 08:59:19 2014 +0100
fix: genesis test
commit 6e0310c1ea7b0f8af7a337df93b3b83591a6e647
Merge: 30c266c 2927763
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 11 08:34:36 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 30c266caff8c253438e542a81501a313c3c06eaf
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 11 08:33:59 2014 +0100
jump to position outside code stops execution
commit 2927763d68df91c16a4a463a3fbb91a2e67e22e9
Author: ethers <ethereum@outlook.com>
Date: Mon Nov 10 14:10:22 2014 -0800
RandomTests were removed
commit a0fa91b2b82c2a4b97e08d7e9b32abc1188d0ce0
Merge: 6092484 fcba866
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 10 22:22:05 2014 +0100
Merge branch 'develop' of https://github.com/ethereum/tests into develop
commit 60924843f07f394c8e95782ab52d56ef27d5e642
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 10 22:21:37 2014 +0100
Unintended Exceptions work like OOG
commit fcba86672193d6bd19ab2104432348eff3f353f2
Author: ethers <TODO>
Date: Thu Nov 6 14:19:59 2014 -0800
add StateTests
commit a441074ba4b057e2918735f7427841b92aa3c16e
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 17:54:36 2014 +0100
Updated precompiled contracts test
commit 0afa72c82be2f4996d1662dfbf9e019c5267c6b1
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 15:27:45 2014 +0100
Added precompiledContracts tests
commit 6be83dd5a185048cfdb8ec29659f14abaeab0c42
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 13:31:34 2014 +0100
Update gas cost for PoC7
commit c18b8ab2d3462e813b731e525afc9ea414d8d136
Merge: 66c2e1f 9a93258
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 09:19:53 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 66c2e1f642a7b37d9f3631e4573100b0cdc36cef
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 09:19:22 2014 +0100
Updated SIGNEXTEND tests
commit 9a9325822e756dafce8d7418bd4fda63acf84d2d
Author: ethers <TODO>
Date: Wed Nov 5 16:20:26 2014 -0800
part of 9b4e768 - Delete vmNamecoin.json
commit e229374f467452bf82fd0cc86b18f224dabfadfa
Merge: 189527e 9b4e768
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 20:59:49 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 189527e563a6e7a39654a9544a2b0d873be7176f
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 20:59:20 2014 +0100
added dynamic jump out of code
commit 9b4e7689951e50c7de3bd945784b92242ed8fd63
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 20:41:54 2014 +0100
Delete vmNamecoin.json
commit 4669b5694b9dc7bdf9e6f527323dff612b65634d
Merge: a567fed aaba185
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 15:00:12 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit a567fedaa7f8ff8904bd90447fc4b68685bf2af9
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 14:59:08 2014 +0100
added state systemOperationsTest
commit aaba185ceb0e4c37151134f3e1ded9714d6b7685
Merge: 79d7cbf fa782ae
Author: ethers <ethereum@outlook.com>
Date: Tue Nov 4 12:15:40 2014 -0800
Merge pull request #32 from ethers/indexjs
updates needed per restructure
commit fa782aed93934eb51347d08facea838bb4262b1b
Author: ethers <TODO>
Date: Tue Nov 4 11:28:56 2014 -0800
updates needed per restructure
commit 79d7cbfc4a9cf3d70ae01dea8ee76c770af33211
Merge: 9120274 1c1ba8d
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 4 13:32:11 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 9120274a46d696cda6d595b2ec5acc2947eb2b46
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 4 13:31:27 2014 +0100
Update tests to latest protocol changes (PoC7)
commit 1c1ba8d161817b391ea296391ad3ede3e71c0aa1
Merge: 014d370 3aebe53
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 4 13:30:52 2014 +0100
Merge pull request #31 from CJentzsch/develop
Restructered tests in folders in accordance to test suites
commit 3aebe532e536eb6f6766ccac456c07023ab822e1
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 3 13:58:21 2014 +0100
Updated vmNamecoin.json to new sstore prices
commit 8a0be21839cf8bb7d3d80a2b61c8433b5d3a8bfd
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 3 13:53:00 2014 +0100
Added example state test
commit 83643addbc3d50c6a79611a5d8700aad5fb1df16
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 3 13:36:25 2014 +0100
removed systemoperationstests
commit 3930ca3a9a377107d5792b3e7202f79c688f1a67
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 3 13:22:15 2014 +0100
Restructered tests in folders in accordance to test suites
commit 014d370b5d5d0a807cc31a2fc3a8c5313ccd7ea4
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 29 21:23:56 2014 +0100
New SIGNEXTEND tets
commit 155d449be206f5276f689770006ecbbb203dd6ad
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 29 20:59:05 2014 +0100
New tests for BNOT and SIGNEXTEND
commit c9eae764b8921a5d6c929b8544cb9acdb920453c
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 28 12:58:27 2014 +0100
Update SSTORE gas cost and BNOT instead of NEG
commit ad2a75ac58ddcb06316f68d0fdaa8e80828a990c
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Oct 23 16:05:49 2014 +0200
Added new recursive bombs
commit 834c52af6406b9af429104408ca7bcbc525efe5c
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Oct 23 12:01:05 2014 +0200
Changing gas cost to zero at stackunderflow
commit c73a8a89d23cbdaf80875667437d57c3ee32f08a
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Wed Oct 22 13:04:45 2014 +0200
Reverted back to original value.
commit b9a8c924227996ef281d44ccfcc72c7618027f91
Author: martin becze <wanderer@users.noreply.github.com>
Date: Tue Oct 21 17:02:52 2014 -0400
fix spelling error
commit b48ae74af441c00cdce487416be448b0df3d4323
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 21 17:26:26 2014 +0200
Added failing random tests
commit bee0a4100c69cabfa361e36831ec0f64187188f3
Merge: 5050d20 b315da6
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 21 17:15:05 2014 +0200
Merge remote-tracking branch 'origin/master' into develop
commit 5050d20b4d0321e3e4ea2f118781c7bb96a3d7b5
Merge: 7516685 ba35362
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 20 20:18:20 2014 +0200
Merge pull request #26 from wanderer/develop
Add a package.json for node.js
commit ba35362876caa03b11c7ce777d959b99accbcfb0
Author: wanderer <mjbecze@gmail.com>
Date: Sun Oct 19 23:59:47 2014 -0400
turned tests into a node module
commit 751668571e390e6bceb515d082222aa31b5e5b14
Author: ethers <ethereum@outlook.com>
Date: Thu Oct 16 17:08:20 2014 -0700
json was invalid and missing quotes
commit 0e687cee479acfd82861e13d2022ad430fc78d78
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Thu Oct 16 17:13:24 2014 +0200
Update vmEnvironmentalInfoTest.json
commit 78a78e2e6cffb9357f2281070d83bf869ab8b2f4
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 15 14:19:11 2014 +0200
updated genesis_hash
commit b315da618b55b581ba8e87f83b2ab5175841392e
Merge: 7a7e198 0a76a3a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 14 10:33:26 2014 +0200
Merge pull request #23 from ethers/fix22
numbers should be strings #22
commit 0a76a3a312951e852509e2b378b2b5b3f87135b0
Author: ethers <ethereum@outlook.com>
Date: Mon Oct 13 14:45:30 2014 -0700
numbers should be strings #22
commit 1f67385f130422588f92341fe82c2435b160fe84
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Oct 11 13:18:00 2014 +0200
Added some MUL tests
commit 7a7e198395f776d0a95d252ddc3b30492b9d3cff
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Oct 11 13:11:59 2014 +0200
Added some MUL tests
commit 46eb6283ae6c147f7efa910dadc18a504b6725ed
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Oct 11 12:18:13 2014 +0200
tested new opcodes (JUMPDEST,CALLCODE) and created test for CALL/CREATE depth
commit 8d38d62d1053ed7552211105e26b2e248a3db747
Author: Nick Savers <nicksavers@gmail.com>
Date: Fri Oct 10 18:09:41 2014 +0200
INVALID stops the operation and doesn't cost gas
commit ed6eba7c8ebc0cbb65ccd45b047823f9acc1471b
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 8 19:08:48 2014 +0200
Update + ABA recursive bomb which needs maximum recursion limit of 1024
commit 2d72050db1c67d9d6912ce6ade80dbe5685749ff
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 8 14:37:18 2014 +0200
Applied recent protocol changes (PoC7) to existin tests
commit dfe66cab3fb533003ddaec7250d8fffbf3fbad65
Merge: 4513623 1a67a96
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 8 11:05:51 2014 +0200
Merge remote-tracking branch 'origin/develop'
Conflicts:
genesishashestest.json
commit 1a67a96cff2fba02e57a82d65007cec99dcc313c
Merge: a4f5f45 ffd6bc9
Author: vbuterin <v@buterin.com>
Date: Tue Oct 7 15:10:23 2014 +0100
Merge pull request #18 from CJentzsch/develop
CallToNameRegistratorOutOfGas balance correction
commit ffd6bc97adfbc83b6e0c50cdf072fd58f94ace69
Merge: a4f5f45 9779d67
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 15:47:34 2014 +0200
Merge remote-tracking branch 'origin/develop' into develop
commit 9779d67b8cdf4e99818a5eeadbc3aebd7527b1a9
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 15:45:53 2014 +0200
CallToNameRegistratorOutOfGas balance correction
Even if execution fails, the value gets transferred.
commit a4f5f45228b6f3ebf8ea77c47515149a3df2bc24
Merge: 49a9f47 b6d7cba
Author: vbuterin <v@buterin.com>
Date: Tue Oct 7 14:13:12 2014 +0100
Merge pull request #17 from CJentzsch/develop
Added A calls B calls A contracts
commit b6d7cba49914362297c0fcac48d868ffe3bdf06a
Merge: 865cb40 49a9f47
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 15:02:51 2014 +0200
Merge remote-tracking branch 'upstream/develop' into develop
commit 865cb4083d33de2a9115ee39c73aea56b0c34fe8
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 15:02:36 2014 +0200
Added A calls B calls A contracts
commit 49a9f47aec2dbd6e321298947929b3d0b5abc280
Merge: 3b0ec43 94a493b
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Tue Oct 7 10:56:17 2014 +0200
Merge pull request #16 from CJentzsch/develop
corrected amount of used gas for CallToNameRegistratorOutOfGas
commit 94a493b0d94163e3de96e1c4bb389ef745756f30
Merge: 72853c4 3b0ec43
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 10:51:32 2014 +0200
Merge remote-tracking branch 'upstream/develop' into develop
commit 72853c4382fa1b51e384223da34427d3579fe48a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 10:51:07 2014 +0200
corrected amount of used gas for CallToNameRegistratorOutOfGas
commit 3b0ec436e4c6808f98f1bc5bb5c66b4d2be4b4be
Merge: aec3252 222068b
Author: vbuterin <v@buterin.com>
Date: Tue Oct 7 05:52:43 2014 +0100
Merge pull request #15 from CJentzsch/develop
corrected tests and different style for storage
commit 222068b9bac6c386e499cb6b0fc2af562fcd309e
Merge: c169653 aec3252
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 6 21:17:28 2014 +0200
Merge remote-tracking branch 'upstream/develop' into develop
commit c1696531a646309b2b286abb7552eb05f1278cd1
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 6 21:17:09 2014 +0200
corrected tests and different style for storage
commit aec3252b8e9f6d37b5cf3dbe0c1678e08929d291
Merge: 25f9fd5 e17a909
Author: vbuterin <v@buterin.com>
Date: Mon Oct 6 09:39:46 2014 +0100
Merge pull request #14 from CJentzsch/develop
corrected gas limit in vmSystemOperationsTest
commit e17a909f70af18fbfc0216c061a663e8778e7d5c
Merge: 33fcab5 25f9fd5
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 6 10:31:51 2014 +0200
Merge remote-tracking branch 'upstream/develop' into develop
commit 33fcab57273731f449e9504d15c5d22cbe773e2a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 6 10:30:04 2014 +0200
Bug fix, corrected gasLimit in vmSystemOperationsTest
commit 25f9fd542a4ab27a5a66668a72b84d4bf7c292e6
Author: Vitalik Buterin <v@buterin.com>
Date: Sat Oct 4 15:47:00 2014 -0400
one more vm test
commit 2d561a5373faf392e51f8c579c936549db2966d3
Author: Vitalik Buterin <v@buterin.com>
Date: Sat Oct 4 15:15:37 2014 -0400
separated out vmtests
commit b0c48fa8d69ae02e01931a5675fc58ff9e84aba3
Merge: cb8261a 6cae166
Author: vbuterin <v@buterin.com>
Date: Sat Oct 4 17:18:02 2014 +0100
Merge pull request #13 from CJentzsch/develop
Added comprehensive EVM test suite. All commands are tested.
commit 6cae166f6f1e3f4eaaef6a9036c597b6064b263a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 1 15:34:23 2014 +0200
Delete tmp.json
commit 4ff906fbc271ee3aee3eb5db135e591eb187793a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 1 14:06:32 2014 +0200
corrected CALLSTATELESS tests
commit 5b3fee6806a69545e572725add73c297e9473eee
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Sep 29 13:08:44 2014 +0200
Completed vm tests. Added ADDMOD, MULMOD, POST, CALLSTATELESS
commit 9cdd2180833d98cf967929e07cab6638c2e933d0
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Sep 27 21:48:09 2014 +0200
Added IOandFlowOperation-, PushDupSwap- and SystemOperations- tests. Removed empty storage from adresses.
commit 28ed968b46590bd8f3e5bb25606e8f83e0ee9b9e
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Sep 23 15:49:22 2014 +0200
Added blockInfoTest
commit ffbd5a35b597d2908fa0fa37d9b2aeaf30aee155
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Sep 23 15:37:52 2014 +0200
Added environmentalInfo- and sha3- test
commit 54c14f1ff3f7ec66d755181be32a13e0404110d9
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Sep 22 13:06:57 2014 +0200
Added bitwise logic operation test
commit d0af113aab3991fecbde29933f4a77884fafdf60
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Sep 20 01:42:51 2014 +0200
Added vm arithmetic test
commit cb8261a78b56197e421bce5ac2afb7147f5acb45
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Fri Sep 19 13:15:44 2014 +0200
Update genesishashestest.json
commit 4513623da1110e74a236abf0357ad00ff7a38126
Author: Maran <maran.hidskes@gmail.com>
Date: Tue Jul 22 12:24:46 2014 +0200
Update keyaddrtest to be valid JSON
commit e8cb5c221d4763c8c26ac73f99609b64a595f4b3
Author: Vitalik Buterin <v@buterin.com>
Date: Mon Jul 21 23:30:33 2014 -0400
Added next/prev trie test
commit 98823c04b30ef0be478c69a11edc3f9f6dff567e
Author: Vitalik Buterin <v@buterin.com>
Date: Mon Jul 14 02:51:31 2014 -0400
Replaced with deterministic test
commit 357eb21e4d5d9d6713ba7c63a76bd597a57d6a0e
Author: Vitalik Buterin <v@buterin.com>
Date: Sun Jul 13 16:12:56 2014 -0400
Added my own random and namecoin tests (pyethereum)
commit 00cd0cce8f0fc0ca8aa2c8ca424954d4932672f2
Author: Gav Wood <i@gavwood.com>
Date: Sat Jul 12 21:20:04 2014 +0200
Output hex strings.
commit ddfa3af45da9d5d81da38745ae23ee93ce390c2b
Author: Gav Wood <i@gavwood.com>
Date: Thu Jul 10 11:28:35 2014 +0100
Everything a string.
commit d659f469a9ddcdd144a332da64b826908b0f7872
Author: Gav Wood <i@gavwood.com>
Date: Thu Jul 10 10:16:25 2014 +0100
Code fixes.
commit 5e83ea82283f042df384d7ff20183ba51760d893
Author: Gav Wood <i@gavwood.com>
Date: Sun Jul 6 16:17:12 2014 +0200
Prettier VM tests.
commit a09aae0efe9a1cb94be3e0386532c532262956ec
Author: Gav Wood <i@gavwood.com>
Date: Sun Jul 6 15:46:01 2014 +0200
Fix VM tests.
commit ec9a044a17779f0b3814bffa8c058b4091d6d13d
Merge: 4bb6461 5e0123f
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Fri Jul 4 15:56:52 2014 +0200
Merge pull request #10 from romanman/patch-1
Update vmtests.json
commit 5e0123fbe1573dcf8157995f3ef2f7ce625235a4
Author: romanman <roman.mandeleil@gmail.com>
Date: Fri Jul 4 10:23:04 2014 +0100
Update vmtests.json
commit 2b6da2f5f21b60ebca44a5866888b00f736f92b2
Author: romanman <roman.mandeleil@gmail.com>
Date: Thu Jul 3 17:45:04 2014 +0100
Update vmtests.json
arith testcase updated
commit 4bb646117d0034fb459c07e6955b1c9cca802fa9
Merge: bba3898 a33b309
Author: Gav Wood <i@gavwood.com>
Date: Wed Jul 2 19:43:22 2014 +0200
Merge branch 'develop' of github.com:/ethereum/tests into develop
commit bba38980bdfa6ba6fddf0419479ad2405a3cb079
Author: Gav Wood <i@gavwood.com>
Date: Wed Jul 2 19:43:06 2014 +0200
New tests.
commit a33b309d99b36c4c57083d5e77422c3f2bba4bbe
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jul 2 10:14:05 2014 -0400
Testing submodules
commit 50318217ca875d23147eddfa7cc0326242db90bf
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jul 2 10:10:46 2014 -0400
Testing submodules
commit 57fa655522fc9696adcc7a6a25b64afd569b0758
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jul 2 10:09:08 2014 -0400
Testing submodules
commit ea0eb0a8c82521322bd0359d1c42fc013c433d2e
Author: Gav Wood <i@gavwood.com>
Date: Tue Jul 1 15:19:34 2014 +0200
Latest genesis block.
commit 25bb76b69c90ebd44a271d7c180a4a4b86845018
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Mon Jun 30 13:25:04 2014 +0200
Reset
commit 74c6d8424e7d91ccd592c179794bc74e63c0d8c0
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Mon Jun 30 12:10:06 2014 +0200
Updated wrong test
commit 9ea3a60291f2ca68a54198d53e4c40fffb09f6b3
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Sat Jun 28 18:48:28 2014 +0200
Fixed roots
commit 5fc3ac0e925cdfe95632024f574fb945558491b8
Author: Gav Wood <i@gavwood.com>
Date: Sat Jun 28 18:40:06 2014 +0200
Simple hex test.
commit edd3a00c2a8d78867d8bb1557697455729a03027
Author: Gav Wood <i@gavwood.com>
Date: Sat Jun 28 18:22:18 2014 +0200
Additional test for jeff. Now use the 0x... notation.
commit 5021e0dd83bdb8b23ca3dcc72293c6737e8165a8
Author: Gav Wood <i@gavwood.com>
Date: Fri Jun 27 21:35:26 2014 +0200
VM test framework updated.
commit c818d132022c228c5b04ab82871f5971049b0c6d
Author: Gav Wood <i@gavwood.com>
Date: Fri Jun 27 18:18:24 2014 +0200
Removed arrays from Trie tests JSON as per conformance guide and changed
vocabulary to match other tests.
VM test updates.
commit 714770ffb3bb037e2daeaa37a6f4f4066387abe3
Author: Gav Wood <i@gavwood.com>
Date: Wed Jun 11 11:32:42 2014 +0100
Added Gav's new address.
commit 9345bc13d40e6d288c37b650ace1db0c41a89d84
Merge: a2257f3 78576dd
Author: Gav Wood <i@gavwood.com>
Date: Fri May 30 17:50:38 2014 +0200
Merge branch 'master' of github.com:ethereum/tests into develop
commit a2257f3471dd4b472bc156be4575ea0f26a8a046
Author: Gav Wood <i@gavwood.com>
Date: Fri May 30 17:50:18 2014 +0200
VM tests.
commit 78576dd3d3d4bf46af19d703affdd42f221e49c9
Author: Heiko Heiko <heiko@heiko.org>
Date: Fri May 30 17:19:09 2014 +0200
changes based on new account structure nonce, balance, storage, code
commit 125839e84833ec25e0fdd4fbd545772ba706fe6b
Merge: 42e14ec 356a329
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Thu May 22 09:58:45 2014 +0200
Merge pull request #5 from bkirwi/master
Fix invalid JSON (removed trailing comma) and add test names
commit 356a3296bc7eeac8b1b65aa843b5856cd786c4cf
Author: Ben Kirwin <ben@kirw.in>
Date: Thu May 22 00:20:48 2014 -0400
Add some arbitrary test names
This should now conform to the format specified in the README.
commit 42e14ec54fa57c2373625d21e5b47f597c748bf5
Author: Chen Houwu <chenhouwu@gmail.com>
Date: Wed May 21 23:27:40 2014 +0800
revert to correct data
commit 4300197a748de29cc5c93fd77f13cae029dad49e
Author: Chen Houwu <chenhouwu@gmail.com>
Date: Wed May 21 22:42:23 2014 +0800
fix: wrong sha3 hash because of the wrong rlp hex
commit a0d01b1a0b59555e38ea694ff864f2aa25a0d953
Author: Chen Houwu <chenhouwu@gmail.com>
Date: Wed May 21 22:29:53 2014 +0800
fix: wrong rlp hex
commit 6bc2fc74054a418e7cfca9cf9144237a5e4fa65f
Merge: 66bc366 c31a93c
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Wed May 21 14:11:37 2014 +0200
Merge pull request #4 from ethers/master
fix file name that seems to have been a typo
commit c31a93c27a9048df92fcf53a2201c6e3737a40fd
Author: ethers <ethereum@outlook.com>
Date: Tue May 20 15:42:39 2014 -0700
fix file name that seems to have been a typo
commit 66bc3665c17e1eec309e5a40b2a9c74273fb639a
Author: Heiko Heiko <heiko@heiko.org>
Date: Tue May 20 17:36:35 2014 +0200
fix: represent integers as strings
commit ede5499da624d95db1cad63939be56f7bdaa6389
Author: Heiko Heiko <heiko@heiko.org>
Date: Tue May 20 17:21:09 2014 +0200
add: current initial alloc and genesis hashes
commit 5131429abbe6d2636064e17b45c99827a904c345
Author: Ben Kirwin <ben@kirw.in>
Date: Mon May 19 11:18:31 2014 -0400
Delete a comma
This should now be parseable as JSON.
commit f44a85933110dd3ef362090f512678e99ae80256
Author: Chen Houwu <chenhouwu@gmail.com>
Date: Sun May 18 15:04:42 2014 +0800
add: case when value is long, ensure it's not get rlp encoded as node
commit e1ae4ad4495dd13fba6346274971a8871cb32607
Author: Gav Wood <i@gavwood.com>
Date: Mon May 12 14:40:47 2014 +0100
PoC-5 VM tests.
commit 2b6c136dda0d55a0ebd228bff029d97411c9cec6
Author: Vitalik Buterin <v@buterin.com>
Date: Sun May 11 21:42:41 2014 -0400
Moved txt to json
commit cbccbf977ca7bde15a661a4b453ea062e62ac856
Merge: edbb8d4 45a0974
Author: Vitalik Buterin <v@buterin.com>
Date: Thu May 8 21:54:48 2014 -0400
New commit
commit edbb8d407ecfbcbb6504659cbd9bdabdb93369e3
Author: Vitalik Buterin <v@buterin.com>
Date: Tue May 6 16:53:43 2014 -0400
Removed unneeded test, added new tests
commit 45a0974f6f32511119e40a27042fdd571fe47a16
Merge: 15dd8fd 5fd2a98
Author: Gav Wood <i@gavwood.com>
Date: Sun Apr 27 12:53:47 2014 +0100
Merge pull request #3 from autolycus/develop
Fixed formatting and added test cases
commit 5fd2a98fcb4f6a648160204d1b20b0f980d55b9d
Author: Carl Allendorph <callendorph@gmail.com>
Date: Sat Apr 19 13:26:14 2014 -0700
Added some new test cases for the rlp encoding.
commit 4ba150954ef8ac72416a35f06fdad9c6d7ed461d
Author: Carl Allendorph <callendorph@gmail.com>
Date: Sat Apr 19 12:48:42 2014 -0700
Converted spaces to tabs to be compliant with the coding standards defined in cpp-ethereum
commit 15dd8fd794a0dc305ef7696d0c2a68e032bc9759
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 28 12:54:47 2014 +0000
RLP tests and Trie updates.
commit 33f80fef211c2d51162c1856e50448be3d90c214
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 28 11:39:35 2014 +0000
Hex encode tests done.
commit e1f5e12abb38f8cedb4a589b1347fb01c3da902a
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 28 11:22:49 2014 +0000
Fix RLP tests.
commit f87ce15ad201a6d97e2654e5dc5a3181873d1719
Author: Gav Wood <i@gavwood.com>
Date: Thu Feb 27 13:28:11 2014 +0000
Fix empty string.
commit c006ed4ffd7d00124dbcb44d4e7ca05d6d9ddc12
Author: Gav Wood <i@gavwood.com>
Date: Mon Feb 24 10:24:39 2014 +0000
Tests fix.
commit 510ff563639e71224306d9af0e50a28a9d624b8f
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 21 18:54:08 2014 +0000
Updated the tests.
commit a0ec84383218ea80b4c0b99e09710fae182a2379
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 21 18:49:24 2014 +0000
Moved over to new format, but RLP tests still need updating.
commit 660cd26f31b3979149950c1fdea995b85a774c1c
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 21 18:35:51 2014 +0000
More docs.
commit 6ad14c1a157e707fd15c87816e8ad872f69790db
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 21 18:33:39 2014 +0000
Added VM test suite.
Added TODO.
Renamed old files.
commit f91ad7b3857ec9157e7df7f315d942afb7594da0
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jan 8 11:26:58 2014 -0500
update trie algorithm
commit 6da295446203889ac5a4a365b397bb45766c9ad8
Merge: cc42246 131c610
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jan 8 08:15:38 2014 -0500
merge
commit cc4224675f1f70242f91ee7d2d1295bed6f0dc01
Author: Vitalik Buterin <v@buterin.com>
Date: Tue Jan 7 14:35:26 2014 -0500
Updated trie test
commit 131c610da66203f708391485aa42fc7a81f01ef7
Merge: 121632b 7613302
Author: vbuterin <v@buterin.com>
Date: Wed Jan 1 06:40:54 2014 -0800
Merge pull request #1 from obscuren/master
Update trietest.txt
commit 7613302b491b3f6406b1ea3c8292adf6d41860d0
Author: obscuren <obscuren@users.noreply.github.com>
Date: Wed Jan 1 15:25:21 2014 +0100
Update trietest.txt
New proposed explanatory format
commit 121632bedd1c84a0af847b923aa4b803556722c0
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jan 1 08:26:18 2014 -0500
Added obscure's tests
commit ef6c5506c3fcdecf779184ad81d92db9315c2488
Author: Vitalik Buterin <v@buterin.com>
Date: Tue Dec 31 19:04:48 2013 -0500
Fixed tests a bit
commit 345e4bcfefb45a66a09b1761570405a03c67b9d2
Merge: 2c81698 e4bbea4
Author: Vitalik Buterin <v@buterin.com>
Date: Tue Dec 31 15:52:46 2013 -0500
Merge branch 'master' of github.com:ethereum/tests
commit 2c81698f31e7e579335a2ab8706f96397a68f018
Author: Vitalik Buterin <v@buterin.com>
Date: Mon Dec 30 21:09:40 2013 -0500
Added first three tests
commit e4bbea400f7df275faf47ea643256d68495b35aa
Author: vbuterin <v@buterin.com>
Date: Mon Dec 30 18:09:03 2013 -0800
Initial commit
2014-12-12 04:34:27 -06:00
|
|
|
GasSha = big.NewInt(10)
|
2014-10-28 07:26:30 -05:00
|
|
|
GasSLoad = big.NewInt(20)
|
|
|
|
GasSStore = big.NewInt(100)
|
|
|
|
GasSStoreRefund = big.NewInt(100)
|
|
|
|
GasBalance = big.NewInt(20)
|
|
|
|
GasCreate = big.NewInt(100)
|
|
|
|
GasCall = big.NewInt(20)
|
2014-12-09 13:27:57 -06:00
|
|
|
GasCreateByte = big.NewInt(5)
|
|
|
|
GasSha3Byte = big.NewInt(10)
|
|
|
|
GasSha256Byte = big.NewInt(50)
|
|
|
|
GasRipemdByte = big.NewInt(50)
|
2014-10-28 07:26:30 -05:00
|
|
|
GasMemory = big.NewInt(1)
|
|
|
|
GasData = big.NewInt(5)
|
|
|
|
GasTx = big.NewInt(500)
|
|
|
|
GasLog = big.NewInt(32)
|
2014-12-09 13:27:57 -06:00
|
|
|
GasSha256 = big.NewInt(50)
|
|
|
|
GasRipemd = big.NewInt(50)
|
2014-12-18 14:58:26 -06:00
|
|
|
GasEcrecover = big.NewInt(500)
|
2015-01-05 10:37:30 -06:00
|
|
|
GasMemCpy = big.NewInt(1)
|
2014-07-22 04:54:48 -05:00
|
|
|
|
|
|
|
Pow256 = ethutil.BigPow(2, 256)
|
|
|
|
|
|
|
|
LogTyPretty byte = 0x1
|
|
|
|
LogTyDiff byte = 0x2
|
2014-10-14 04:48:52 -05:00
|
|
|
|
2014-10-15 10:12:26 -05:00
|
|
|
U256 = ethutil.U256
|
|
|
|
S256 = ethutil.S256
|
2014-07-22 04:54:48 -05:00
|
|
|
)
|
2014-10-14 04:48:52 -05:00
|
|
|
|
2014-12-17 16:58:52 -06:00
|
|
|
const MaxCallDepth = 1024
|
2014-10-14 04:48:52 -05:00
|
|
|
|
|
|
|
func calcMemSize(off, l *big.Int) *big.Int {
|
|
|
|
if l.Cmp(ethutil.Big0) == 0 {
|
|
|
|
return ethutil.Big0
|
|
|
|
}
|
|
|
|
|
|
|
|
return new(big.Int).Add(off, l)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Simple helper
|
|
|
|
func u256(n int64) *big.Int {
|
|
|
|
return big.NewInt(n)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Mainly used for print variables and passing to Print*
|
|
|
|
func toValue(val *big.Int) interface{} {
|
|
|
|
// Let's assume a string on right padded zero's
|
|
|
|
b := val.Bytes()
|
|
|
|
if b[0] != 0 && b[len(b)-1] == 0x0 && b[len(b)-2] == 0x0 {
|
|
|
|
return string(b)
|
|
|
|
}
|
|
|
|
|
|
|
|
return val
|
|
|
|
}
|