Commit Graph

729 Commits

Author SHA1 Message Date
nicksavers eafe959e39 Fix account state rlp encoding test 2014-10-13 15:48:01 +02:00
nicksavers 6d1661c4ff Move to new version 0.6.0 2014-10-13 15:48:00 +02:00
nicksavers c3015e8108 Move MockDB to db package 2014-10-13 15:48:00 +02:00
nicksavers f1c5a42dce Change block and uncle reward with extra validation for poc6 2014-10-13 15:47:59 +02:00
nicksavers d45db5ada3 Adjust genesis difficulty for poc6 2014-10-13 15:47:58 +02:00
nicksavers 0bc99d2e78 Make INVALID result in program STOP 2014-10-13 15:47:57 +02:00
nicksavers 3873dc98b5 Put back missing Repository import 2014-10-13 15:47:57 +02:00
nicksavers bddcda09f2 Replace redundant ZERO_ADDRESS attribute with ByteUtil EMPTY_BYTE_ARRAY 2014-10-13 15:47:56 +02:00
nicksavers 57f9db3969 Add CALLSTATELESS - POST queue and no fee for zero size memory increase 2014-10-13 15:47:55 +02:00
nicksavers 70479bdd02 Implement EXTCODESIZE and EXTCODECOPY with unit tests + some work for POST and CALLSTATELESS 2014-10-13 15:47:54 +02:00
nicksavers 72669225ad Put contract in ddb for ProgramInvokeMock 2014-10-13 15:47:54 +02:00
nicksavers d9c382bb35 Throw exception for illegal opcode 2014-10-13 15:47:53 +02:00
nicksavers 2ff9ada540 Re-add contact details for every account and clean up test 2014-10-13 15:47:52 +02:00
nicksavers 332707df0f Implement ADDMOD and MULMOD with unit tests 2014-10-13 15:47:51 +02:00
nicksavers 0f8b51158a Change block difficulty for new GHOST protocol 2014-10-13 15:47:50 +02:00
nicksavers 3542c6c35e Document OpCode enums 2014-10-13 15:47:50 +02:00
nicksavers 1096431d54 Implement SWAP1-16 with units tests and stackRequire with StackTooSmallException 2014-10-13 15:47:49 +02:00
nicksavers 22d98023b8 Implement DUP1-16 and unit tests 2014-10-13 15:47:47 +02:00
nicksavers 8bf0284d64 Remove unused imports 2014-10-13 15:47:47 +02:00
nicksavers e142adc8be Initial changes for poc6 2014-10-13 15:47:46 +02:00
Alon Muroch be6c888184 state explorer address validation
contract submit dialog pop fix

program full trace fix

address to byte array util

program play on real repository fix

system properties cleanup

addressStringToBytes address fix

documentation and unit tests
2014-09-26 13:58:51 +03:00
nicksavers a1f44371db Improve validation in ContractCallDialog #45 2014-09-20 11:10:56 +02:00
nicksavers 028cfe5ca3 Fix ContractCallDialog error 2014-09-20 10:48:53 +02:00
romanman 2842f7f8b1 Merge pull request #123 from ethereumj/master
Call Repository interface instead of implementation
2014-09-15 09:48:17 +02:00
nicksavers 055318b7d4 Fix getRootHash() for TrackTrie 2014-09-15 08:22:21 +02:00
romanman 39a82f275a Travis fails on too much testing output,
so reducing some of it.
2014-09-15 00:10:21 +02:00
romanman a3f2efa947 Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-09-14 23:58:45 +02:00
romanman cee31133da testing for trie rollback 2014-09-14 23:57:38 +02:00
nicksavers a6803e74c8 Call Repository interface instead of implementation 2014-09-14 20:11:46 +02:00
Des Kenny f5a136094e [performance] Correcting invalid zero #sec passed by PeerDiscovery to PeerDiscoveryMonitorThread and Reducing object cycling in PeerDiscoveryMonitorThread 2014-09-13 21:26:41 +01:00
Alon Muroch ddeffc1df0 accounts iterator 2014-09-11 23:14:05 +03:00
romanman c1d3f73ca2 moved TODO.md 2014-09-11 11:26:59 +02:00
romanman 4ffcd9c8ec Update TODO.md 2014-09-11 11:17:30 +02:00
romanman 6b6fa6dd8c Update TODO.md 2014-09-11 11:16:49 +02:00
romanman bc1bf13138 Update README.md 2014-09-10 09:20:38 +03:00
romanman 88093e7d37 Update README.md 2014-09-10 09:03:50 +03:00
romanman 3340b44226 Update README.md 2014-09-10 09:03:20 +03:00
romanman deaf2f9c12 Update README.md 2014-09-10 09:01:27 +03:00
romanman ea17b5062a Update README.md 2014-09-10 09:00:37 +03:00
romanman 3831944aff Update README.md 2014-09-10 08:42:51 +03:00
romanman c0153b35cd Update README.md 2014-09-10 08:42:13 +03:00
romanman f1474cfb05 Update README.md 2014-09-10 08:41:46 +03:00
romanman 358da41a28 Update README.md 2014-09-10 08:37:19 +03:00
romanman 170505efe4 Create README.md 2014-09-10 08:34:45 +03:00
Alon Muroch 41efe75aec merge stateUI
cleaning up
2014-09-09 15:52:43 +03:00
nicksavers f0ddccd490 Add missing version to javadoc plugin 2014-09-09 01:36:32 +02:00
nicksavers 561d1dd296 Fix memory allocation and add unit tests 2014-09-09 01:35:39 +02:00
romanman c51e56831a update to version: 0.5.7 2014-09-08 11:13:27 +03:00
romanman a7231cd5bd Adapting for Ethereum as a library style:
+ APIs for various simple functions exposed to the user
2014-09-08 10:41:18 +03:00
romanman 7f8364bd0a Adapting for Ethereum as a library style:
+ API for submit transaction
2014-09-08 10:12:22 +03:00
romanman 979763106d new shiny wallet design 2014-09-07 21:22:43 +03:00
romanman c738f750b7 Basic wallet redesign work 2014-09-06 17:02:45 +03:00
romanman b4d9dea7e2 Adapting for Ethereum as a library style:
+ double chain loading but solved
2014-09-06 13:46:21 +03:00
romanman 79dc226d76 Adapting for Ethereum as a library style:
+ using block queue buffer as indication that the blockchain loading is in process
2014-09-06 13:24:43 +03:00
romanman 92fe4bae0e Adapting for Ethereum as a library style:
+ .ignore adjusting
 + track/untrack script adjusting
2014-09-06 12:04:53 +03:00
romanman bfed03e0c0 Adapting for Ethereum as a library style:
+ track-untrack-local - helping script
2014-09-06 11:38:45 +03:00
romanman 19f371eb77 Adapting for Ethereum as a library style:
+ building studio script adjust
  + PeerDiscovery regression fix and adjust
2014-09-06 11:31:55 +03:00
romanman d2c29c07f3 Adapting for Ethereym as a library style:
+ BlockChain screen adapted
  + ConnectionConsole screen adapted
  + ToolBar Screen adapted
2014-09-04 21:39:47 +03:00
romanman 714c97cbc7 initial library split 2014-09-04 19:54:54 +03:00
romanman 6f231bc96b initial library split 2014-09-04 18:53:09 +03:00
romanman a7a6bd82a4 bulish snapshot with current timestamp 2014-09-04 13:05:18 +03:00
romanman be19243ccb publish new version to bintray 2014-09-04 12:11:18 +03:00
romanman 4ecc406106 restruct 2014-09-03 09:26:00 +03:00
romanman 8a3dd50d87 restruct 2014-09-02 17:22:02 +03:00
nicksavers e106d2fdc7 Add VM dumptrace in pretty format 2014-09-01 20:59:06 +02:00
romanman 45925d0791 Tri: testing fix
+ 100000 update/deletes was to hard for travis free server reducinng the testing for 5000 operations
2014-08-30 19:19:10 +03:00
romanman eb8fee2827 Fixing tests for Trie : RLP changes 2014-08-30 18:38:27 +03:00
romanman 480cc53efa no real change just to kick off another travis build 2014-08-30 18:19:40 +03:00
romanman 83d76fbeb9 Trie:
+ Sample for the blog post
2014-08-30 17:24:36 +03:00
romanman 56f415ff39 Trie - going on
+turning off the garbage collector for a while , it should be better tested
 + dump of the full trie to the files each block
2014-08-30 17:09:57 +03:00
romanman cee2e3cb20 Trie
+fixing the bug of loading Trie from the db
 +Tracing full tree improved - now it traverse the trie recursively from the root
2014-08-30 16:53:40 +03:00
romanman da50b99394 Trie improvement
+ fixed for db save/load (rlp bug)
+ garbage collector for obsolete trie nodes
2014-08-29 22:51:03 +03:00
Gianluigi 3c106c7dbf Merge branch 'master' into thread-safety 2014-08-27 12:50:22 +02:00
romanman d45b4ad555 Merge pull request #100 from davassi/thread-safety
Thread-safety and data structures fixes
2014-08-27 13:40:32 +03:00
Gianluigi 6c5c5f0dbb using a linked hash map 2014-08-27 12:39:26 +02:00
Nick Savers 69ba68adf4 Pad state dump block no. in filenames with zeroes 2014-08-27 11:08:53 +02:00
Gianluigi d2b7866a63 reverted log labels back 2014-08-27 11:04:10 +02:00
Gianluigi 2b03a1a38e removed Collection<> references 2014-08-26 18:40:41 +02:00
Gianluigi 6ebd687d39 Thread-safety and data structures fixes 2014-08-26 16:47:21 +02:00
romanman 5bf3329993 Trie work
+ nice string for nibbles
2014-08-26 11:19:50 +03:00
romanman 816402816e VM: tracing fix
+ get back the log for memory/stack/storage
   on vm trace level.
2014-08-25 00:57:58 +03:00
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