Commit Graph

583 Commits

Author SHA1 Message Date
nicksavers ac8d2a96f9 Outline VM log 2014-08-03 22:43:18 +02:00
nicksavers adc2313308 Change VM log to be more like pyethereum 2014-08-03 22:05:40 +02:00
nicksavers 6f84df1477 Remove quotes around string in property file 2014-08-03 22:01:23 +02:00
nicksavers b7197abe0e More concice logging program input 2014-08-03 21:53:58 +02:00
nicksavers 2e7c40d6dc Remove call to WorldManager in Block constructor 2014-08-03 21:50:09 +02:00
nicksavers 5db586b911 Improve performance matchingNibbleLength 2014-08-03 21:32:33 +02:00
nicksavers a5802b9398 Improve binToNibble performance 2014-08-03 20:51:08 +02:00
nicksavers 59d8dfbed0 Recalculate trie only when necessary 2014-08-03 18:35:20 +02:00
nicksavers 31fddb591b Avoid double Map search 2014-08-03 18:31:22 +02:00
nicksavers 2b42ebaac2 Use Repository as abstraction layer for Blockchain 2014-08-02 13:48:38 +02:00
nicksavers d8063c5ff3 Re-use static variable for Word with EMPTY_BYTE_ARRAY 2014-08-02 11:35:37 +02:00
nicksavers be0f70575b Switch to LRU for caching sha3 hashes 2014-08-02 04:34:29 +02:00
nicksavers cfe42aec5b Remove unnecessary compression 2014-08-02 01:15:38 +02:00
nicksavers d2ea940992 Use sha3 cache for extra performance 2014-08-02 00:52:22 +02:00
nicksavers f4bab10327 Define Map interface instead of implementation 2014-08-01 20:28:34 +02:00
nicksavers d932294c0c Avoid putting conflicting state into the db 2014-07-31 22:28:00 +02:00
Nick Savers 202be8f553 Update to latest Spongycastle v1.51 2014-07-30 22:39:05 +02:00
romanman 96c3f75049 Small adjustments:
+  Block chain the index holds hashes not the full block RLP (bug fix)
+ Ethereum facade some well know functionality
2014-07-28 00:59:02 +03:00
romanman 9197c8df36 Adjustment for Android devices
1. Some classes been hided not to be loaded if no need - AdvancedDeviceUtils
2. BlockQueue introduced, will separate the net layer from the execution layer.
3. MainData vanished, all globals are managed out of the WorldManager
4. DB is now can be saved in location specified by a param.
5. The core lib should have a facade to expose the functionality Ethereum.java interface and the properimpemintation is introduced for that reason.
6. pom.xml the option to deploy sources to the repository.
7. new properties detailed descripted in system.properties
2014-07-27 15:58:00 +03:00
romanman 9c7d80f764 adjust todo list 2014-07-19 20:54:41 +03:00
romanman 391577c526 Celebrating block #1156 consensus 2014-07-18 19:38:56 +03:00
romanman d2d36317d6 Merge with 518f9f53d57f5b2b9989a2b55e76a82534daaf16 2014-07-18 19:37:53 +03:00
romanman 2be0364145 Fixing consensus bugs:
+ clone for invoke data (if not changed unsafe changes will corrupt the env)
+ tx got into sign byte problem
+ significant improve over VM short tracing
2014-07-18 19:30:29 +03:00
romanman f7d2c80eba Testing Trie with JSON dump 2014-07-17 11:41:48 +03:00
romanman 74b1d7fb29 fix for latest commit 2014-07-17 01:01:33 +03:00
romanman 8ed9f61af0 TrieTest merge 2014-07-17 00:50:43 +03:00
nicksavers 132fab65de Commit missing MockDB changes 2014-07-16 23:34:22 +02:00
nicksavers 6c90111ea0 Fix for getting Trie from rootNode 2014-07-16 23:32:14 +02:00
romanman 685fa48a6b Memory leak fix:
+ cause of the memory leak was not closing file writer for the state dump
2014-07-14 22:01:14 +03:00
romanman 178f3ae7b0 Fix for bigger retry interval 2014-07-14 21:47:13 +03:00
romanman ffef5a8bb9 fix for latest commit with better name 2014-07-14 21:29:49 +03:00
nicksavers b0b800f9e0 Change Repository to never accept address NOT 20 bytes 2014-07-14 20:13:48 +02:00
romanman db0e135278 Fix for last commit 2014-07-14 10:27:58 +03:00
nicksavers 494aee1e58 Add random.json and fix in Repository 2014-07-14 00:18:28 +02:00
nicksavers bc24645644 Add namecoin.json and fix in TestRunner 2014-07-13 23:05:38 +02:00
romanman 48691c745a Better tracing for VM run:
+ vm.info --> is giving just ops
+ vm.debug --> gives mass of information about stack/memory/storage during each op
2014-07-13 23:59:10 +03:00
nicksavers 73db273715 Fix JSONTestSuite for updated vmtests.json 2014-07-13 14:16:36 +02:00
nicksavers b0a564e51e Fix TXFEE/TXDATAFEE for normal tx 2014-07-13 13:12:51 +02:00
nicksavers a5961dd13a Calculate minGasPrice when needed 2014-07-13 12:49:34 +02:00
romanman 9783897c25 Fixed CREATE op usage
+ spec changed to use CREATE with: vaue, data offset, data size, the gas used is all the gas of the caller what left is refunded back.
2014-07-12 21:03:14 +03:00
romanman db450e2233 Fixed BALANCE usage
+ spec changed to retrieve BALANCE by the specified address
2014-07-12 20:47:23 +03:00
romanman e6836a0b63 Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-07-11 23:01:57 +03:00
Nick Savers eb38823f21 Fix test to expect correct value 2014-07-11 21:46:02 +02:00
romanman 9c769d5b77 Fixed CODECOPY bug 2014-07-11 21:59:38 +03:00
romanman 7af06b8c18 Fixed storage encode bug 2014-07-11 20:26:06 +03:00
nicksavers 021b19670e Fix bug where Genesis was applied to the state twice 2014-07-11 15:50:21 +02:00
nicksavers cbc456a780 Refactor to move Wallet processing out of Blockchain 2014-07-11 14:33:27 +02:00
nicksavers 1c5bbc3278 Calculate value of uncleReward only once 2014-07-11 14:16:59 +02:00
nicksavers da87d80846 Apply blockReward after txs and for uncles 2014-07-11 13:53:43 +02:00
romanman 2d7bcf64b5 miscellaneous:
+ bug on Trie delete value
 + tracing improve
 + Vitally vmtest-5 test
 + keep storage key/value in 32bit format
2014-07-10 21:09:26 +03:00
romanman 1dd17488ac minor fix for last commit 2014-07-10 14:39:48 +03:00
romanman 7c129164c3 VM:
+ SUICIDE op correct implementation
+ JSON testing for it
2014-07-10 14:02:01 +03:00
romanman 4d56d76ef1 JSON testing:
+ run testcase from file
+ run the full suite from the url
2014-07-10 11:31:46 +03:00
romanman 0bcf41be5b Merge pull request #60 from nicksavers/master
Clean and speed up applyTransaction
2014-07-09 23:00:50 +03:00
romanman 8127eeafab Net layer refactoring:
+ message sending in queue order
+ screen send message use queue as well
2014-07-09 22:45:22 +03:00
nicksavers 85371f289d Fix for requesting initResults after contract creation 2014-07-09 14:05:57 +02:00
nicksavers 402c64d4c0 Clean and speed up applyTransaction 2014-07-08 22:45:52 +02:00
romanman 8dc0a56644 Net layer packet interfere bug:
+ temporary turn off all the parallel traffic, in order to fully download the chain
2014-07-08 20:25:32 +01:00
romanman 982c500909 Fixing broken JSON test cases 2014-07-07 23:54:47 +01:00
nicksavers f75fd9955f Add getWorldState() method 2014-07-08 00:12:18 +02:00
nicksavers c6557ebfea Update to protocol 23 2014-07-07 23:45:37 +02:00
nicksavers 3b38e9cd9a Do state-test after adding block to blockchain 2014-07-07 23:43:22 +02:00
romanman 6545049a16 Fix latest build break 2014-07-07 15:09:29 +01:00
romanman cf49683489 JSON test suite :
+ adjusted format for the latest changes
+ option to run from a file
2014-07-07 13:46:28 +01:00
romanman bdeb898dd0 added minimu heap size param 2014-07-07 11:45:37 +01:00
romanman 287684aa62 2 Bugs:
+ VM CODECOPY wrong param
+ Apply tx run results - different when init code and body code
2014-07-07 11:34:26 +01:00
romanman feebfdbe72 RLP edge case bug 2014-07-07 09:24:37 +01:00
romanman c100e15580 NPE bug in program 2014-07-06 19:19:49 +01:00
nicksavers c94f81749b Always load blockchain with WorldManager.getInstance() 2014-07-06 00:30:58 +02:00
nicksavers 975dcbceaa Retrieve block from Blockchain index instead of DB 2014-07-05 23:14:13 +02:00
nicksavers 3953dc97c1 Genesis only created/applied when DB is empty + logging instead of printStackTrace() 2014-07-05 21:41:00 +02:00
nicksavers a660a1c294 Use JUnit expected attribute in VMTest 2014-07-05 21:40:38 +02:00
nicksavers 0f24239b05 Remove duplicate DB insert and update minGasPrice 2014-07-05 16:53:43 +02:00
nicksavers 67f3ada760 Not need to process blocks from DB at startup 2014-07-05 16:41:02 +02:00
nicksavers 18d4d39d80 Update to procotol version 22 2014-07-05 14:15:26 +02:00
romanman 24c3ed1d2c Transaction layer:
+ apply wire received transaction
 + resolve pending transaction saved by the GUI dialog
2014-07-04 18:07:46 +01:00
romanman a0e379e54a Simple tool to test , long messages form file 2014-07-04 17:19:57 +01:00
romanman 87f1c7a1b8 wire layer:
+ estimation of message size in dynamic way by header content
2014-07-04 14:44:27 +01:00
romanman 88301fe1c9 JSON Testing :
+ testcase adjusted
2014-07-03 18:16:42 +01:00
romanman 14ba667d46 JSON Testing introduced:
+ JSON defined tests to run
+ VM fixes and adaptation for recent changes
2014-07-03 16:58:40 +01:00
nicksavers 40fdc329df Merge with master 2014-07-03 11:25:01 +02:00
nicksavers df99976dbc Revert to using <> for Type Inference 2014-07-03 10:59:26 +02:00
nicksavers 2706144f14 Refactor to better encapsulate blockchain database 2014-07-02 17:34:57 +02:00
nicksavers 4037dc40c8 Public method to get repository 2014-07-02 15:33:41 +02:00
nicksavers 145f753ae5 Merge branch 'master' into cleanup 2014-07-02 15:08:40 +02:00
nicksavers ca4180f49e Ignore test of incomplete method 2014-07-02 15:07:40 +02:00
nicksavers 3e751ef2b4 Use uppercase for public static attribute 2014-07-02 14:50:29 +02:00
nicksavers 3ccbb3cdaf Lower case methodnames 2014-07-02 14:48:35 +02:00
nicksavers af8f9aef7e Remove commented code 2014-07-02 14:47:41 +02:00
nicksavers eb63e08bbb Switch from Cobertura to JaCoCo 2014-07-02 13:13:20 +02:00
romanman 9d4a07ee3e Merge pull request #48 from nicksavers/peerlistener
Move PeerListener to correct package
2014-07-02 11:21:23 +01:00
nicksavers b99e043567 Remove example class 2014-07-02 11:32:42 +02:00
nicksavers 566dd8ccc9 Move PeerListener to correct package 2014-07-02 11:07:50 +02:00
nicksavers 76517a6417 Suppress warnings because fallback is available 2014-07-02 10:35:09 +02:00
Nick Savers dd02d31761 Increase block minGasLimit for protocol 21 2014-07-01 16:34:50 +02:00
romanman 72128e0e5d latest Genesis update related 2014-07-01 15:13:29 +01:00
romanman 82072c5520 Merge pull request #47 from nicksavers/master
Support for Coveralls (code coverage)
2014-07-01 14:52:51 +01:00
romanman 3a167a3335 Genesis updated for new chain kick off 2014-07-01 14:40:09 +01:00
Nick Savers 25e2543488 Add cobertura-maven-plugin to pom.xml 2014-06-30 23:39:11 +02:00
nicksavers ab600a5d15 Use generics for SwingWorker 2014-06-30 23:28:24 +02:00
nicksavers 1a4f00a411 Use byte parsing instead of binary literal 2014-06-30 20:47:51 +02:00
nicksavers b9d242e497 Initial support for Coveralls 2014-06-30 20:22:39 +02:00
romanman 1bb7e53775 TODO adjust 2014-06-29 17:46:23 +01:00
romanman 82db75ff6a Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-06-28 23:11:15 +01:00
nicksavers 5e1b56b154 Update TODO 2014-06-28 13:31:06 +02:00
nicksavers c82a929d30 Delete temp database after unit test 2014-06-28 13:18:43 +02:00
romanman 3b00eadfd1 merge minor stash 2014-06-28 10:02:30 +01:00
nicksavers dc97f95b20 Move back mock to src/main 2014-06-28 08:13:23 +02:00
nicksavers 45698641e3 Cleanup for removal of empty lines 2014-06-28 00:53:24 +02:00
nicksavers 51292f8b20 Refactor Account inherits from AccountState 2014-06-27 18:14:12 +02:00
romanman f7f2f88946 build fix 2014-06-27 01:33:15 +01:00
romanman 6540331acb Fixing invoke bug 2014-06-27 01:19:26 +01:00
romanman 7cf755f448 Coinbase balance math
+ miner reward for the block
+ gas charging benefit
2014-06-26 23:47:27 +01:00
romanman 7116c41f4c comment out main/antlr4 as pom.xml resource 2014-06-26 21:21:07 +01:00
romanman ae8b77f99c main/antlr4 dir as resource dir 2014-06-26 21:01:21 +01:00
romanman fbe29aa7b0 Adding pom.xml instructions
+ for how generate ANTLR  source files
2014-06-26 20:57:37 +01:00
romanman 07afd3366c Merge pull request #42 from nicksavers/master
Generate ANTLR4 sources with maven plugin
2014-06-26 20:51:55 +01:00
romanman 69819d79fe State dump
+ storage dump fix
2014-06-26 20:47:32 +01:00
nicksavers a714407233 Generate ANTLR4 sources with maven plugin 2014-06-26 21:32:17 +02:00
romanman 509f0d6ed7 Fixing testing 2014-06-26 19:57:49 +01:00
romanman bb824e2717 unsupported length test moved to ignored list 2014-06-26 19:43:09 +01:00
romanman e682c4a4b0 a = msg(1, 2, 3, [11, 22, 33], 3, 6) - compilation test fixed 2014-06-26 19:15:42 +01:00
romanman f94862bc95 Merge remote-tracking branch 'origin/master'
Conflicts:
	src/main/java/org/ethereum/util/ByteUtil.java
2014-06-26 19:09:46 +01:00
romanman 4eef10353e Test fixing 2014-06-26 19:09:29 +01:00
nicksavers 8231d59086 Switch last to calcPacketLength 2014-06-26 19:56:30 +02:00
nicksavers c740a42957 Switch to calcPacketLength 2014-06-26 19:56:06 +02:00
nicksavers 4dbf44e335 Fix massive unit test failures by removing guava dependency 2014-06-26 19:55:28 +02:00
nicksavers bb0b9f9c80 Add ByteArrayWrapperTest 2014-06-26 19:54:56 +02:00
nicksavers b75218e3f2 Switch from removed duplicate method to calcPacketLength 2014-06-26 19:54:29 +02:00
nicksavers 4b790121b9 Use generics in JSONHelper 2014-06-26 19:53:23 +02:00
nicksavers 33f887b76d Create ByteUtilTest and move testIncrementPerformance 2014-06-26 19:52:36 +02:00
nicksavers 279e380727 Replace equals and compareTo with FastByteComparison 2014-06-26 19:51:24 +02:00
romanman dfe4a878ea minor 2014-06-26 13:36:41 +01:00
romanman d30cf2d751 Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-06-26 13:32:05 +01:00
romanman 4f3e8a841d DUMP full state each tx - awesome testing hack 2014-06-26 13:31:33 +01:00
Nick Savers bfb81fe10f Add license from original class
As found here https://svn.apache.org/repos/asf/cassandra/trunk/src/java/org/apache/cassandra/utils/FastByteComparisons.java
2014-06-26 11:50:26 +02:00
romanman a86922178f DONE with the refactoring Repository layer 2014-06-25 11:26:44 +01:00
romanman f1ad918831 Genesis calc fixed 2014-06-25 10:10:54 +01:00
romanman 1f2c70387f Merge pull request #39 from rolandkofler/master
improvement of eclipse maven plugin configuration, now no errors are shown due to eclipse not finding the maven goal
2014-06-25 09:19:43 +01:00
romanman 79ad0d6869 New Repositroy management:
+ Block stateRoot hack
2014-06-25 00:37:38 +01:00
romanman 59ff195854 New Repositroy management:
+ VMComplex test 4 fixed
2014-06-25 00:27:39 +01:00
romanman 415f87c727 New Repositroy management:
+ Included and refactored all the repository usage
+ VMTest all pass
+ VMComplex test except 4 all pass
- The rootState of the blcok need sollution
- The contract create contract test VMComplexTest 4 need recheck
2014-06-24 23:53:19 +01:00
romanman 9d650350f0 New Repositroy management:
+ Repository encapsulattion of all the local peer data
+ NewContractDetails - will be renamed for ContractDetails
+ NewContractDetails - saves now the storage table and the program code
+ RepositoryTest testing for the abilities of Repository design
2014-06-24 17:10:30 +01:00
romanman d2a3259fdf RLP critical bug 2014-06-24 12:03:10 +01:00
romanman 7db6b5415b TODO adjust 2014-06-23 21:58:35 +01:00
romanman 9625dfe94b CREATE op impl + UnitTest 2014-06-23 21:51:57 +01:00
romanman b1a1a31e78 TODO adjust 2014-06-23 21:48:55 +01:00
nicksavers b69c6aad44 Use ByteArrayWrapper for Trie cache 2014-06-23 19:20:25 +02:00
nicksavers 4f1fa49c05 Fix bug where Genesis was loaded twice 2014-06-23 18:41:52 +02:00
nicksavers c1cc8e0a86 Use generics in TrackTrie 2014-06-23 18:40:54 +02:00
romanman 5d4ac105d3 SerpentCompiler
+ simple create: create(gas, mem_start, mem_size)
2014-06-23 11:41:50 +01:00
romanman 901c7af47e TODO.md adjust 2014-06-23 10:38:32 +01:00
romanman 6cb8ecffbe Merge pull request #36 from nicksavers/master
Document ECKey and add credits to bitcoinj
2014-06-23 09:55:14 +01:00
rolandkofler 9913b3aefd improvement of eclipse maven plugin configuration, now no errors are
shown within eclipse due to not existing maven goals
2014-06-23 09:56:05 +02:00
romanman ce94a3f54f TODO.md adjust 2014-06-22 21:01:26 +01:00
romanman 0b02376c17 CALL op with in/out data
+ support for return
 + VMComplexText test3 demonstrates the return applied
2014-06-22 20:20:03 +01:00
romanman d2676eda92 Cleaning Java8 only classes 2014-06-22 19:44:08 +01:00
romanman 57c6725dd5 Merge remote-tracking branch 'origin/master' 2014-06-22 18:22:33 +01:00
romanman 7fbd2964b5 CALL with data in:
+ ProgramPlayDialog adjust for simple code play (stand alone run)
+ msg - compile fixed to generated the right code
+ VMComplexTest to test contractA --> ContractB with data [11, 22]
2014-06-22 18:22:18 +01:00
Roland Kofler daffe648c1 - added required inheritance method in MockDB to prevent compile error 2014-06-22 17:16:00 +02:00
Roland Kofler 234fd8a43c - Added m2e plugin to prevent eclipse error "m2e: copy-dependencies is
not supported by m2e"
2014-06-22 17:15:50 +02:00
nicksavers c342afcd84 Document ECKey and add credits to bitcoinj 2014-06-22 14:30:59 +02:00
romanman 1fcf110e98 minor comment fix 2014-06-22 13:10:04 +01:00
romanman 9fc622d94e Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-06-22 13:07:22 +01:00
nicksavers e744a5b718 Use RLP another constant instead of magic number 2014-06-22 13:40:13 +02:00
nicksavers 145d373112 Use RLP constant instead of magic number 2014-06-22 13:24:22 +02:00
romanman 0fda1c4479 TODO: adjust 2014-06-22 09:44:03 +01:00
romanman 52f09c7277 TODO: adjust 2014-06-22 09:23:42 +01:00
romanman 8221c1e3c9 minor 2014-06-22 09:22:14 +01:00
romanman 6baef380db Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-06-22 09:20:30 +01:00
romanman f6275745a0 TODO adjust 2014-06-22 09:08:13 +01:00
romanman c311979b2f TODO adjust 2014-06-22 09:01:23 +01:00
nicksavers 481b193608 Remove obsolete ip address from properties 2014-06-21 22:15:43 +02:00
nicksavers 2aae929b5e Add documentation to Blockchain from the Wiki and use log parameters correctly 2014-06-21 22:15:04 +02:00
romanman ab702f8d8c SerpentCompileTest fix 2014-06-21 21:07:38 +01:00
romanman 7475c7bbe5 Open source project 2014-06-21 16:21:44 +01:00
romanman 1232311ab1 minor fixes 2014-06-21 14:42:12 +01:00
romanman 09fdc66458 VM tracing:
+ slight invoke trace fix
2014-06-21 01:02:03 +01:00
romanman ca2d542a28 Light fix:
+ blockchain by number fix
 + stop is not charged fix
2014-06-21 00:45:54 +01:00
romanman 739b1425ef Nick Savers brilliant work on Miner:
+ the option to vaildate/mine blocks
+ nonce validation
+ calc for max gas for a block
+ difficulty calc
2014-06-20 22:11:49 +01:00
romanman 708428c01e Play program dialog
+ Fix for OOG Exception
2014-06-18 10:39:26 +01:00
romanman 18fee1eff8 Use Genesis directly 2014-06-18 10:18:30 +01:00
romanman 3ebeac67ef Serpent Editor
+ comment cosmetic fix
2014-06-17 18:59:43 +01:00
romanman 56b7610368 Serpent compiler:
+ // - for comment end of line
+ #/ - SDIV
+ #% - SMOD
2014-06-17 18:40:56 +01:00
romanman a19bd3ffa3 Serpent compiler:
+ contract.address support
2014-06-17 17:02:29 +01:00
romanman f7a264b0a8 VMComplexTest introduced 2014-06-17 16:35:11 +01:00
romanman 82dd0f9761 bat file fix for javaw 2014-06-17 16:33:56 +01:00
romanman 11b06e0e1d Log to a log file config 2014-06-17 16:31:01 +01:00
romanman ea3372c4f5 Minor improve:
+ ProgramPlayDialog rollback changes
+ DataWord all zeroes care
2014-06-15 20:50:53 +01:00
romanman 63c9405c19 Load Chain bug 2014-06-15 20:19:30 +01:00
romanman f3e57269bd ContractCallDialong:
+ enhanced with the option to see contract details: storage/code
+ refactored Block Chain into a WorldManager
2014-06-15 20:08:35 +01:00
romanman 1e6835f71d BlockChain load NullPointerException resolved 2014-06-15 15:43:37 +01:00
romanman bbcc1d7eac SerpentCompiler:
+ implemented support for:  a = msg(gas, to, value, [1, 2, 3, 4], in_size, out_size)
2014-06-13 18:17:51 +01:00
romanman 211dac858e SerpentCompiler adjust:
+ send() func op order fixed and the option with no assigned added
2014-06-12 17:08:02 +01:00
romanman 8cad126c0c CALL: first draft
+ recursive contract tested
+ tracking changes for trie introduced
+ genesis updated to protocol 20
2014-06-12 16:18:01 +01:00
romanman f917bf8e97 last commit add on 2014-06-11 15:10:00 +01:00
romanman 333849dac0 DataBases changes tracker introduced
+ TrackDatabase object wraps the Database and support commit/rollback
2014-06-11 15:09:38 +01:00
romanman 33af300619 Contract execution:
+ apply results encapsulated
+ OutOfGas added to step spend
+ Program GAS call bug fixed
2014-06-11 11:03:14 +01:00
romanman 11e9190957 Contract Call impl:
+ Contract storage local save
2014-06-11 09:56:18 +01:00
romanman 115d416e78 VM gas cost:
+ fixed the memory usage, not to be charged by one more general step
2014-06-10 21:47:10 +01:00