Commit Graph

309 Commits

Author SHA1 Message Date
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