Commit Graph

798 Commits

Author SHA1 Message Date
Alon Muroch c74a1eaf91 added custom json generator 2014-08-24 16:54:08 +03:00
nicksavers a203c3a1c6 Workaround overflow bug in poc5 2014-08-24 14:28:15 +02:00
nicksavers 2b74aca6a9 Reward correctly when there are uncles 2014-08-24 14:27:07 +02:00
nicksavers abfc40f293 Add placeholder for Unit test of too high CALL gas 2014-08-24 12:36:00 +02:00
nicksavers 1f3935a3ae Compare CALL gas value against gas remaining 2014-08-24 12:13:04 +02:00
nicksavers 7454d99b60 Guard CALL against high initial gas price and overflow 2014-08-24 11:38:27 +02:00
nicksavers 4b722c9aa7 Revert standard size for CALLDATALOAD to 32 bytes 2014-08-23 23:57:36 +02:00
nicksavers 99522657ef Use statelogger for logging state conflict 2014-08-23 22:47:40 +02:00
nicksavers cdbc5f0a25 Add catch overflow for CALLDATALOAD 2014-08-23 22:46:55 +02:00
nicksavers 477394ac49 Add CALLDATACOPY OutOfGasException Unit Test 2014-08-23 20:47:48 +02:00
nicksavers b61e40494f Revert contract creation in event of VM exception and Program with 0 ops is allowed 2014-08-23 19:39:16 +02:00
nicksavers dbaf79670d Proper VM trace outlining 2014-08-22 23:07:37 +02:00
nicksavers 0a2a0803b9 Return gasUsed instead of gasDebit 2014-08-21 19:10:28 +02:00
nicksavers e7bab2a8ee Remove asserts 2014-08-21 18:20:49 +02:00
nicksavers 88df96b7cc Use BigInt for gas calculation instead of long 2014-08-21 16:40:54 +02:00
nicksavers 334f4ceb20 Don't spend reserved gas 2014-08-21 16:12:02 +02:00
nicksavers e592e24eb2 Add basic gas step cost to mem exapnding operations and use enum directly 2014-08-21 14:27:51 +02:00
nicksavers 6281a752b4 Calculate gasfee in advance 2014-08-21 07:51:19 +02:00
nicksavers 7abda07a53 Pretty-print block state dump 2014-08-20 20:59:07 +02:00
Alon Muroch 1448745441 fixed payoutDialog crash 2014-08-18 18:58:54 +03:00
romanman 5e64904de6 Slight fix 2014-08-17 14:23:38 +03:00
romanman 74e388bc2f Should not be in Git 2014-08-17 13:29:15 +03:00
romanman 0dbd944b88 Unit test ofr Nicks last PR 2014-08-17 13:10:49 +03:00
romanman cad8f4fb7f Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-08-17 13:10:05 +03:00
nicksavers ca18ec99f8 Fix for consensus block 1501 2014-08-17 11:07:34 +02:00
romanman 24449cc77a Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-08-17 09:43:55 +03:00
nicksavers 64a1c795b9 Add missing property and log-settings 2014-08-16 22:42:20 +02:00
nicksavers b7f4de9e94 Make JSON dump compatible with pyethereum and VM trace dump with c++ and Go 2014-08-16 21:54:17 +02:00
romanman 0225ea0b9b PeerDiscovery new details added 2014-08-15 22:46:53 +03:00
romanman 87d07108e3 UncleBlocks bug - only headers should be parsed (not full blocks) 2014-08-15 00:01:44 +03:00
romanman 8cb39f2599 Concurrent - try to use copy on access technique 2014-08-11 14:45:10 +03:00
romanman 0990a0717a PeerDiscovery - minor cleanup 2014-08-11 11:08:50 +03:00
romanman aeec38085b PeerDiscovery - improve + bug fix 2014-08-11 10:03:25 +03:00
romanman d479f5cb72 Ethereum Listener
+ added callback for db preloaded blocks
2014-08-09 18:28:58 +03:00
romanman c7dd99e358 Android adjustments
+ property to omit all transactions , for blockchain rip only
+ connections dead kill the timers - fix
+onPeerDisconnect in EthereumListener
+LRUMap wasn't thread safe, todo: implement eviction policy
+ NPE in Trie edge cases
2014-08-08 21:56:23 +03:00
nicksavers 9678c05cc4 Merge with upstream 2014-08-08 18:21:44 +01:00
nicksavers 692d5c595a Merge branch 'master' of https://github.com/nicksavers/ethereumj 2014-08-08 18:13:26 +01:00
nicksavers b43209457a Decouple Genesis from repository and validate txStateRoot 2014-08-08 18:12:13 +01:00
romanman 7757a23147 Android adjustments
+ stylish string for block data
+ small fixes
2014-08-07 12:58:45 +03:00
romanman 8fcf969533 Fix for latest merge 2014-08-07 12:22:20 +03:00
romanman c0588237ca (!!!) The System.exit(-1) on wrong state should not be in DB 2014-08-07 10:01:33 +03:00
romanman 9f35988869 EthereumListener update (addition) 2014-08-06 20:35:58 +03:00
romanman 7db4d0892f EthereumListener update
+ onMessageRecv() onMessageSend()
2014-08-06 20:34:16 +03:00
romanman a4b2570c13 Properties:
+ version from pom.xml into system.properties
+ hello phrase for wire message
2014-08-06 18:44:46 +03:00
romanman 4216e74771 Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-08-06 17:36:21 +03:00
romanman cbb556c1a9 EthereumListener update 2014-08-06 17:31:05 +03:00
romanman 7769043864 Merge pull request #76 from nicksavers/master
Advance validation to block #1501
2014-08-06 17:24:24 +03:00
romanman 628be155e1 option to release to maven repository on github 2014-08-06 17:16:08 +03:00
Nick Savers 3b6dce19ce Undo log4j-detailed.properties changes 2014-08-06 14:25:30 +02:00
Nick Savers 91850db817 Undo system.properties changes 2014-08-06 14:24:50 +02:00
Nick Savers fbaf883316 Undo local changes for identification 2014-08-06 09:52:14 +02:00
nicksavers 4668f33e57 Fix some address logging in VM 2014-08-06 01:32:54 +02:00
nicksavers 237d538f52 Add logging for Program and VM 2014-08-06 01:08:04 +02:00
nicksavers 0299d42f39 Use List for deletes in Track databases 2014-08-06 01:05:16 +02:00
nicksavers 7f44fb49a2 Sync only after adding a block 2014-08-06 01:02:57 +02:00
nicksavers 6f3fc15b8a Fix recursive call bug for database 2014-08-06 01:02:09 +02:00
nicksavers d895438c31 Update comment in conflict state 2014-08-06 01:01:25 +02:00
nicksavers bb2b8d7cb1 Use long instead of hex for timestamp and difficulty 2014-08-06 00:15:29 +02:00
romanman c02378563d last merge fix 2014-08-05 11:49:18 +03:00
romanman 1d2390e1fa last merge fix 2014-08-05 11:24:40 +03:00
romanman 1e9d1ac3a9 PeerDiscovery:
+ performance improve, no using host name , but ip only
+ configuration preloaded with string "ip:port, ip:port, ip:port..."
2014-08-05 10:48:27 +03:00
nicksavers 3e71d0d122 Use long instead of hex for timestamp and difficulty 2014-08-04 22:00:48 +02:00
romanman 4f6a3a6954 1. Getting the tace back after last merge 2014-08-04 12:47:50 +03:00
nicksavers e25fbc90cb Add Unit tests for matchingNibbleLength and move to ByteUtil 2014-08-04 00:19:25 +02:00
nicksavers 028dc5f1d4 Small refactoring 2014-08-03 23:02:54 +02:00
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
romanman a47ecf6f90 Serpent Compiler:
+ Labels encoding bug
2014-06-10 11:49:38 +01:00
romanman 9ae78521a6 Contract Call Dialog:
+ Play button to call already saved contracts
2014-06-09 14:45:41 +01:00
romanman a9b890a86d PeerDiscovery tracing adjusted 2014-06-09 13:16:39 +01:00
romanman 2156177970 VM results apply:
+ Gas debit/refund addeded
+ GUI validation impl started
2014-06-09 13:09:06 +01:00
romanman 899767affb Race condition solved:
+  new SHA3Digest(256) - can't be shared, it's not a thread safe class
2014-06-09 11:21:47 +01:00
romanman 510baf5164 minor fix:
+ include ProgramInvokeFactory into the GitHub
2014-06-09 10:54:09 +01:00
romanman bb8291457a BlockChain refactoring:
+ keep only index of block hash numbers in the cach
+ for the full block data, query DB
2014-06-09 10:51:31 +01:00
romanman b3bf0f024c Calling existent contract:
+ implemented and tested on the existing chain
2014-06-09 04:55:40 +01:00
romanman 54262dd1b9 VM Block env included:
+ OPs: PREVHASH, PREVHASH, TIMESTAMP, NUMBER, DIFFICULTY, GASPRICE, GAS, GASLIMIT
+ All OPs, Unit test
2014-06-09 03:07:03 +01:00
romanman 30459202c1 VM integration go on:
+ ProgramInvoke addapted to work with env vars (no Block data yet)
+ ProgramPlayDialog, can play real code generated from the editor
+ Successfully got the production chain even that CALL doesn't work yet.
2014-06-09 01:47:27 +01:00
romanman c6dd4f31f9 Gas calculation first draft 2014-06-08 09:18:27 +01:00
romanman 63a87f36a8 Merge branch 'master' of https://github.com/romanman/ethereumj
Conflicts:
	src/main/java/org/ethereum/vm/Program.java
2014-06-08 07:58:26 +01:00
nicksavers 068d0ded4c Fix BlockTest and added asserts for Block#1 calcluations 2014-06-08 00:52:24 +02:00
romanman f26ad508df Logger configuration improve 2014-06-07 23:31:25 +01:00
romanman bee4ea0771 @authorship specified - epic days shall be remembered 2014-06-07 22:59:26 +01:00
nicksavers 3927158062 Create new class Account which contains AccountState for use in wallet 2014-06-07 23:16:49 +02:00
nicksavers 2e8d413817 Document class and indentation to comply with convention http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html 2014-06-07 21:11:44 +02:00
romanman bf6693122d Contract Creation:
+ main sequence
 - no edge cases testeds
2014-06-07 19:08:50 +01:00
nicksavers 2d566604d8 Fix TransactionTest for zero nonce 2014-06-07 19:13:56 +02:00
romanman 8b545d6620 some minor changes and fixes 2014-06-07 18:04:06 +01:00
nicksavers f4d933f445 Mini merge 2014-06-07 18:49:58 +02:00
nicksavers a00ff1e205 Mega merge with major refactoring 2014-06-07 18:47:14 +02:00
nicksavers 0dab8330f1 Add comment to Block calculation 2014-06-07 18:37:36 +02:00
nicksavers 9880f3ec15 Remove call to Blockchain DB from Genesis and fix default calc values 2014-06-07 18:37:06 +02:00
nicksavers 5d4814a8eb Change my mind on using constants instead of enums for Gas 2014-06-07 18:36:26 +02:00
nicksavers 7013e1ab1a Replace GasLedger with Gas enum class 2014-06-07 18:35:35 +02:00
nicksavers 6407f48c3a Add failing Block calc tests and update Denomination enum 2014-06-07 18:33:48 +02:00
nicksavers 693930c7e4 Add failing Block calc tests and update Denomination enum 2014-06-07 18:32:41 +02:00
romanman 0154ac6a0f minor fix for last push 2014-06-07 16:39:34 +01:00
romanman 9319272a5a Major refactoring :
WorldManager introduced
WalletTransaction for wallet waiting tx
Pending Transaction for block creation
2014-06-07 16:36:52 +01:00
nicksavers f59e2408f9 Remove call to Blockchain DB from Genesis and fix default calc values 2014-06-07 17:27:38 +02:00
nicksavers eb46749f53 Settle on GasCost for classname 2014-06-07 16:37:20 +02:00
nicksavers dcd69f26ea Change my mind on using constants instead of enums for Gas 2014-06-07 16:19:32 +02:00
nicksavers 76175bca90 Replace GasLedger with Gas enum class 2014-06-07 16:13:05 +02:00
nicksavers 0a4a030f56 Add failing Block calc tests and update Denomination enum 2014-06-07 15:49:54 +02:00
nicksavers fccb26d74b Remove obsolete state code and placeholder for processing txs in block 2014-06-07 10:49:26 +02:00
nicksavers a3f2206d51 Merge small changes 2014-06-07 10:04:19 +02:00
romanman 11cbb3c1b6 fixing git mess 2 2014-06-06 20:11:21 +01:00
romanman 14d2bc5a2c fixing git mess 2014-06-06 20:10:51 +01:00
romanman 1f3a25f4f6 finalization process:
new block stateRoot calc
2014-06-06 20:04:13 +01:00
romanman 3380dff118 small defects from the last merge 2014-06-06 19:50:12 +01:00
romanman 9f70c014a1 preparing for state finalization 2014-06-06 15:16:44 +01:00
romanman 3f7891ff36 merge conflict 2014-06-06 15:10:07 +01:00
nicksavers 6ec5dd9d12 Calculate txTrieRoot from actual transactions in a block and move block header to separate class 2014-06-06 15:30:24 +02:00
romanman 72f7e18d7a The right way to encode [transactionsTrie] for block header 2014-06-06 04:23:36 +01:00
romanman b9d551d2fa VM impl:
+ SDIV, SMOD, MOD, SLT, SGT ops implemented and unittested
+ Gas calculation for memory & storage
2014-06-05 12:36:36 +03:00
romanman 517bb2cec1 Gas Ledger introduced
+ latest merge
+ some GUI adjustments
2014-06-05 06:49:19 +03:00
romanman 991d9770cb Merge branch 'master' of https://github.com/romanman/ethereumj 2014-06-05 06:37:16 +03:00
nicksavers d12e079b64 Continue from last block in DB 2014-06-05 01:05:05 +02:00
romanman 8677b77def balance subtraction bug , found in the movie :) 2014-06-04 16:12:57 +03:00
nicksavers 4868ecfc0e Remove array length check from DataWord and use better test 2014-06-04 07:57:31 +02:00
nicksavers de0f67ae3b Impl faster ADD 2014-06-03 23:35:53 +02:00
romanman e5e65b48d3 play button on contract submit draft integration 2014-06-03 20:52:48 +03:00
romanman 64cb2898aa tiny fix 2014-06-03 20:09:29 +03:00
romanman 2a3a548339 VM impl: SHA3 op implemented and unit tested 2014-06-03 20:07:10 +03:00
romanman da62dfd514 cancel nio noisy messages 2014-06-03 19:38:12 +03:00
romanman 9bec5d6885 VM impl, go on:
ADDRESS, BALANCE, ORIGIN, CALLER, CALLVALUE, CALLDATALOAD, CALLDATASIZE,
CALLDATACOPY, CODESIZE, CODECOPY implementation and unittest
2014-06-03 19:30:34 +03:00
romanman d348b552b3 Small fix for edge cases in HelloMessage 2014-06-03 12:35:11 +03:00
romanman dbc2bbc7f2 test fix 2014-06-03 09:28:14 +03:00
romanman ced9ec0543 MEMSIZE to MSIZE reformat 2014-06-03 09:15:45 +03:00
nicksavers fb01b3a177 Fix typo and remove some unused imports 2014-06-02 21:40:17 +02:00
romanman 926aa6f17f VM impl go on:
ADD, MULL,  SUB, DIV, EXP, MEMSIZE, STOP ops implemented and unit tested
2014-06-02 22:02:27 +03:00
romanman c44920edd2 ProgramPlayDialog draft GUI improved 2014-06-02 18:24:10 +03:00
romanman a49f8b5e5c A draft for ProgramPlayDialog 2014-06-02 18:00:24 +03:00
romanman 63e217e630 VM impl: MSTORE8, SSTORE, SLOAD, JUMP, JUMPI, PC ops implemented and unit tested 2014-06-02 14:56:01 +03:00
romanman b561a7890d VM impl: POP, DUP , MSTORE, MLOAD ops implemented & unit tested 2014-06-02 11:16:22 +03:00
romanman d8ebe45f38 VM impl: NET, LT, GT, EQ, NOT, BYTE ops implemented & unit tested 2014-06-01 22:43:02 +03:00
romanman 953acf417f VM impl: AND, OR, XOR ops implemented 2014-06-01 19:39:06 +03:00
romanman 79bc9bb28a Skeleton for VM implementation and PUSH_N logic 2014-06-01 19:06:54 +03:00
romanman 6726c8dcf9 SerpentCompiler: minor array compilation bug 2014-06-01 10:44:24 +03:00
romanman 13ae5387dd Serpent - basic array support introduced:
1. a = [1, 2, 3]
 2. b = a[0]
 3. a[1] = 90
2014-05-31 22:17:55 +03:00
romanman 24f2903ef4 Serpent editor add Ctrl + Shift + S for change saving file 2014-05-31 16:31:21 +03:00
romanman 90962d0db1 OpCode minor fixes:
1. new SGT, SLT ops
   2. LT operators order fix
2014-05-31 10:37:25 +03:00
romanman 4a98b7ccfa minor fixes 2014-05-31 08:38:30 +03:00
romanman 711e55203a closing db on exit 2014-05-31 00:42:23 +03:00
romanman e46f504f4c small fixes to the last merge 2014-05-31 00:16:01 +03:00
romanman 97c5b61860 BlockChain ordered fetch and some small fixes to the SerpentCompiler 2014-05-30 23:47:04 +03:00
nicksavers aadb7b0608 Upgrade to protocol 19 2014-05-30 22:37:47 +02:00
nicksavers 01ccfeb0fa Remove merge conflict in system.properties 2014-05-29 22:08:41 +02:00
nicksavers 1edf4ad278 Merge after merge 2014-05-29 22:06:14 +02:00
nicksavers 6b22137c05 Merge pushes from romanman/master 2014-05-29 21:52:18 +02:00
romanman bb9e0d1bee minor changes:
1. fixed un-toggle button on toolbar when by X window closed
2. introduced property for connection
2014-05-29 17:51:59 +03:00
romanman 0e62e5b58f Serpent editor to support save/load files 2014-05-29 16:24:37 +03:00
nicksavers af86249019 Initial usage of LevelDB - still needs lots of work 2014-05-29 11:30:54 +02:00
romanman 0be061fddf Redesign SerpentEditors controls
1. Introduced side vertical toolbar
2. 5  tool actions included (Open/Save file, Compile/Deploy/Call contract)
3. Convenient shortcuts ctrl + o, ctrl +s, ctrl + F9, ctrl + shift + F9, ctrl  + F8
2014-05-29 12:05:18 +03:00