Commit Graph

426 Commits

Author SHA1 Message Date
obscuren b855e5f7df Changed opcode numbers and added missing opcodes 2014-06-12 11:19:32 +02:00
obscuren 6593c69424 Merge branch 'develop' into interop 2014-06-12 10:07:40 +02:00
obscuren 3a9d7d318a log changes 2014-06-12 10:07:27 +02:00
obscuren 8a2e50ab2a Merge branch 'develop' into interop
Conflicts:
	peer.go
2014-06-11 21:56:59 +02:00
obscuren 9ee6295c75 Minor changes 2014-06-11 21:55:45 +02:00
obscuren 1bf6f8b4a6 Added a buy gas method 2014-06-11 21:55:34 +02:00
obscuren 4d3209ad1d Moved process transaction to state manager
* Buy gas of the coinbase address
2014-06-11 21:55:23 +02:00
Maran 1938bfcddf Fix compare 2014-06-11 16:16:57 +02:00
Maran e090d131c3 Implemented counting of usedGas 2014-06-11 11:40:40 +02:00
Maran bdc206885a Don't mine transactions if they would go over the GasLimit implements ethereum/go-ethereum#77 further. 2014-06-10 17:23:32 +02:00
Maran 69044fe577 Refactor to use new method 2014-06-10 17:22:43 +02:00
Maran 753f749423 Implement CalcGasPrice for ethereum/go-ethereum#77 2014-06-10 17:22:06 +02:00
Maran 2995d6c281 Validate minimum gasPrice and reject if not met 2014-06-10 15:02:41 +02:00
obscuren c7d1924c34 sha 2014-06-09 21:35:56 +02:00
Maran d7b882977c Make contract creation error more explicit by mentioning the sneder 2014-06-03 11:56:19 +02:00
Maran 2010fea088 Added faux latency for peeroverview 2014-06-03 10:42:55 +02:00
Maran fb6ff61730 Implemented Public Peer interface 2014-06-02 15:20:27 +02:00
obscuren 8fcba0eb1e fixed test 2014-05-29 23:54:48 +02:00
obscuren 4d98762486 Fixed state object gas return 2014-05-28 23:16:54 +02:00
obscuren b695c82520 Fixes #60 2014-05-28 15:07:11 +02:00
obscuren 65722aeeca Added StringToBytesFunc 2014-05-28 13:14:56 +02:00
obscuren 6e98e5709a Set initial used gas 2014-05-28 12:39:34 +02:00
obscuren 9988b1a047 Sort transactions based on the nonce
* Added a transaction sorter
2014-05-28 12:06:09 +02:00
obscuren 73761f7af6 Closure call now returns the total usage as well
* Return the used gas value based on the UseGas and ReturnGas
2014-05-28 12:05:46 +02:00
obscuren 98d4b51120 Changed opcode names 2014-05-28 12:03:12 +02:00
obscuren 4eb1771e67 Hooks can now quit the vm 2014-05-27 13:32:31 +02:00
obscuren aba3066658 Changed debug hook and added state iterator 2014-05-27 13:10:18 +02:00
obscuren 3ebd7f1166 State snapshotting 2014-05-26 00:09:38 +02:00
obscuren 81ef40010f The body of contracts are now returned instead 2014-05-25 14:13:54 +01:00
obscuren 99fa9afaf1 Updated to work with the new config 2014-05-25 14:13:07 +01:00
obscuren 281559d427 Canonical contract creation 2014-05-22 18:24:04 +02:00
obscuren cc8464ce80 Transaction querying 2014-05-22 17:56:33 +02:00
obscuren 230aafbf66 Working on interop
* Receipts after each transaction
* Fee structure
* Applying fees to miners
2014-05-22 17:35:26 +02:00
obscuren f8f84ef095 Removed old contract creation code 2014-05-22 00:25:02 +02:00
obscuren f5852b47d1 Removed some logging and refactored a bit 2014-05-21 14:00:13 +02:00
obscuren 86cf69648e Improved miner so it won't include invalid transactions 2014-05-21 13:04:40 +02:00
obscuren 2667cb3ab6 Apply to parent 2014-05-21 12:39:07 +02:00
obscuren 0c27c5eb7f Proper log statement 2014-05-21 12:38:56 +02:00
obscuren 07fe00c466 Changed numbers 2014-05-21 11:42:31 +02:00
obscuren cbf221f6b7 Fixed competing block method 2014-05-21 11:42:20 +02:00
obscuren 734b2e4cf7 Merge branch 'hotfix/4' into develop 2014-05-21 01:12:39 +02:00
obscuren 3c35ba7c31 Fixed state overwriting issue 2014-05-21 01:12:28 +02:00
obscuren 5ceb1620e9 Fixed couple issues
* (imp) Lock / RLock tries
* (fix) stack
2014-05-21 00:17:50 +02:00
obscuren 64701e388c Fixed state issue 2014-05-20 22:43:59 +02:00
obscuren 3b38df085e Fixed casting issue 2014-05-20 22:04:47 +02:00
obscuren ad51c85e5d Fixed crash 2014-05-20 19:19:53 +02:00
obscuren 0c4040d191 Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop 2014-05-20 15:02:53 +02:00
obscuren 2bd377a3de Changed transaction hash for poc 5 2014-05-20 15:02:46 +02:00
Maran f5d4414734 Fix notification when processing block that didn't have this client as origin 2014-05-20 14:41:35 +02:00
obscuren 7d3e99a2ab Fixed genesis and block data 2014-05-20 14:29:52 +02:00
obscuren 6a31d55b2e added roman 2014-05-20 13:29:21 +02:00
obscuren 45b810450f ... 2014-05-20 13:09:44 +02:00
obscuren f292e93e0e Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop
Conflicts:
	ethchain/transaction.go
2014-05-20 13:07:08 +02:00
obscuren 378815ee62 Rearranged according to YP 2014-05-20 13:06:47 +02:00
Nick Savers 530ab6b8fc Re-arranged transaction RLP encoding...
According to latest Yellow Paper specs and conform other clients
4794642e51
2014-05-20 13:02:37 +02:00
obscuren faa57ecaef Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop 2014-05-20 12:19:25 +02:00
obscuren 2450398862 Added Maran to premine 2014-05-20 12:19:21 +02:00
Maran 12f30e6220 Refactored a lot of the chain catchup/reorg. 2014-05-20 11:50:34 +02:00
obscuren fd19142c0d No longer store script directly in the state tree 2014-05-20 11:19:07 +02:00
obscuren b8034f4d9e Increment nonce in the public api 2014-05-19 12:14:04 +02:00
obscuren bd48690f63 Testing different mining state 2014-05-19 11:25:27 +02:00
obscuren 8730dfdcc2 Changed how changes are being applied to states 2014-05-17 14:07:52 +02:00
obscuren f95993e326 M 2014-05-15 14:54:07 +02:00
obscuren 7bf2ae0b11 Removed old tx pool notification system. Fixes #19 2014-05-15 14:05:15 +02:00
obscuren 98a631b556 Remove any invalid transactions after block processing 2014-05-14 16:29:34 +02:00
obscuren f4fa0d48cb Moved keyring to ethutil & removed old methods. Implements #20 2014-05-14 13:54:40 +02:00
obscuren 0c1f732c64 Do not queue messages if the peer isn't connected (e.g. timing out) 2014-05-14 11:29:57 +02:00
obscuren a4883a029f Propagate back to network 2014-05-13 17:51:33 +02:00
Maran 28357d657b Implemented new JS/EthPub methods
- getTxCountAt
- getPeerCount
- getIsMining
- getIsListening
- getCoinbase
2014-05-13 14:43:29 +02:00
obscuren c03bf14e02 Fixed some tests 2014-05-10 02:01:09 +02:00
obscuren afe83af219 Moved seeding and moved manifest 2014-05-09 16:09:28 +02:00
obscuren 5a0bae1dae Auto update state changes notifications 2014-05-08 19:09:36 +02:00
obscuren e8fb965ccb Cleaned up
Removed the unneeded address watch mechanism. State manager's transient
state should now take care of this.
2014-05-08 18:41:45 +02:00
obscuren d709815106 Added trans state and removed watch address etc
The transient state can be used to test out changes before committing
them to the proc state. The transient state is currently being used by
the gui to support proper nonce updating without having to wait for a
block. This used to be done by a cached state mechanism which can now
safely by removed.
2014-05-08 18:26:46 +02:00
obscuren f0440e85dc Removed value from closure. 2014-05-08 14:20:45 +02:00
obscuren 554f4f6f7d Fixed disasamble for all pushes 2014-05-08 14:20:06 +02:00
Maran 6c66cb3fa9 Merge branch 'develop' of github.com:ethereum/eth-go into develop 2014-05-07 11:05:53 +02:00
Maran 45ce820b11 Implemented value() 2014-05-07 11:05:49 +02:00
obscuren a0af7de58e Optimizations 2014-05-06 17:43:27 +02:00
obscuren af6875f4b2 Changed to lower case 2014-05-05 17:14:29 +02:00
obscuren 7c91159449 Added different storage notification object 2014-05-05 11:56:25 +02:00
obscuren 1f6df0cd52 Added receipts for tx creation 2014-05-02 14:08:54 +02:00
obscuren 70c8656640 Added a KeyPairFromSec function which creates a new keypair based on the given seckey 2014-05-02 12:11:55 +02:00
obscuren 17674fb888 Added suicide back in 2014-05-01 22:14:34 +02:00
obscuren e6a68f0c3a Removed debug log 2014-05-01 22:13:59 +02:00
obscuren d2ab322267 Removed debugging log 2014-04-30 17:43:48 +02:00
obscuren c3293641e7 Removed debug logging 2014-04-30 17:13:32 +02:00
obscuren 21724f7ef9 Added manifest changes and changed closures 2014-04-30 14:43:32 +02:00
obscuren 38d6b67b5c Fixed state problem 2014-04-29 12:36:27 +02:00
obscuren 5516efdfa0 Removed old code 2014-04-27 18:05:30 +02:00
obscuren bf850974f3 Using mutan assembler stage 2014-04-27 18:00:38 +02:00
obscuren 16e52327a4 Upped version number 2014-04-27 16:53:35 +02:00
obscuren 05d2d8f27d Actually convert gas 2014-04-26 02:11:00 +02:00
obscuren ca6e3f6def Notify of changes 2014-04-26 02:06:25 +02:00
obscuren d3a159ad3d Fixed tests 2014-04-26 01:54:45 +02:00
obscuren 0f93da400a Added new state object change echanism 2014-04-26 01:48:40 +02:00
obscuren f3818478e2 Removed debug & unused functions 2014-04-24 13:48:33 +02:00
obscuren ee7c16a8d9 Fixed Base problem and sload/sstore 2014-04-24 13:30:57 +02:00
obscuren 1c85d8c66b Minor improvements and bug fixes
* Fixed VM base bug
2014-04-24 00:00:50 +02:00
obscuren c81804444f Call initial closure with proper tx argument 2014-04-23 15:53:53 +02:00
obscuren f7d4e3cd6b Copy over bytes from previous root
Copy over instead of directly using the previous root. This is order to
avoid resetting problems
2014-04-23 15:52:50 +02:00
obscuren 3a9a252f6e Fixed minor issue with gas and added state object init 2014-04-23 11:51:04 +02:00
obscuren 61cd1594b5 Fixed gas, price & value setters on initialization 2014-04-23 11:50:38 +02:00
obscuren 6930260962 Updated VM 2014-04-20 01:31:01 +02:00
obscuren a96c8c8af9 Added proper gas handling 2014-04-18 13:41:07 +02:00
obscuren c5729d7ecc comments 2014-04-16 04:07:52 +02:00
obscuren 9c6aca7893 Merged accounts and contracts in to StateObject
* Account removed
* Contract removed
* Address state changed to CachedStateObject
* Added StateObject
2014-04-16 04:06:51 +02:00
obscuren ca13e3b105 Moved assembler stage processing to it's own file 2014-04-15 16:16:38 -04:00
obscuren 086acd122b Added pre processing of script data 2014-04-12 00:13:42 -04:00
obscuren 116516158d Renamed 2014-04-11 13:29:57 -04:00
obscuren ca747f2688 Added the possibility for debug hooks during closure call 2014-04-11 08:28:30 -04:00
obscuren 7d6ba88d2b Merge branch 'split' into develop 2014-04-10 21:05:58 -04:00
obscuren 25dd46061f Added push20 2014-04-10 21:03:14 -04:00
obscuren afc92fb7d7 Added better address format 2014-04-10 18:32:54 -04:00
obscuren 891f725909 Added better address format 2014-04-10 18:14:19 -04:00
obscuren 969e748dce Call fixed 2014-04-10 15:30:14 -04:00
obscuren 6a530ea371 Call fixed 2014-04-10 14:40:12 -04:00
obscuren 720521ed4a Changed how txs define their data & added init field 2014-04-09 12:28:16 -04:00
obscuren e09f0a5f2c Split code for contracts 2014-04-09 12:27:54 -04:00
obscuren 03e139d23b Switched variable names 2014-04-09 16:04:36 +02:00
obscuren 6d28bf534f Added a length for copy 2014-04-09 16:00:28 +02:00
obscuren c0cad0b534 Merge branch 'miner' of github.com-obscure:ethereum/eth-go into miner 2014-04-09 15:50:49 +02:00
obscuren 035f0ffb8a Reverted changes 2014-04-09 15:08:10 +02:00
Maran b66a99e32d Added todo 2014-04-09 08:55:39 -04:00
obscuren 527a3bbc2a Typo fix 2014-04-09 14:53:20 +02:00
obscuren c0a030ef0a Added new insruction methods 2014-04-09 14:08:18 +02:00
obscuren 12643c7c57 Merge branch 'develop' into miner 2014-04-05 11:25:29 +02:00
obscuren 90bb512f42 Update 2014-04-05 10:49:07 +02:00
Maran 782910eaa7 Small tweaks 2014-04-01 15:54:29 +02:00
Maran 3558dd5ed4 Finalize blockchain reverting test 2014-04-01 14:42:48 +02:00
Maran 0a88010826 Merge conflicts 2014-04-01 14:20:55 +02:00
obscuren 7d0348e4ba Handle contract messages 2014-04-01 10:41:30 +02:00
Maran 5f49a659c3 More blockchain testing 2014-03-31 12:54:37 +02:00
obscuren 7277c42047 Fixed some state issues 2014-03-31 01:03:28 +02:00
obscuren 7cc28c8b46 Added storage test 2014-03-30 22:03:08 +02:00
obscuren 205e33bc83 Fixed bug in stack to expand beyond expectations. Fixed EQ and NOT opcode 2014-03-30 18:55:51 +02:00
obscuren 6625b6ffbd Changed to new mutan API 2014-03-30 12:58:37 +02:00
obscuren b888652201 Added missing GetTx (0x16) wire message 2014-03-28 11:20:07 +01:00
Jeffrey Wilcke 60fd2f3521 Update vm_test.go
store ...
2014-03-27 23:25:03 +01:00
obscuren 75e6406c1f Fixed tests 2014-03-27 23:17:23 +01:00
obscuren 3c3431d111 Fixed IsContract method to use the contractCreation flag 2014-03-27 23:17:14 +01:00
obscuren 56a58ad70d Removed debug and comments 2014-03-27 22:02:39 +01:00
obscuren 00c5f9b9a6 Updated transaction model
Changed the behaviour of decoding rlp data. Something is considered to
be creating a contract if the 4th item is a list.

Changed constructors.
2014-03-27 19:49:47 +01:00
obscuren 43cad69016 Reworked transaction constructors 2014-03-27 15:42:39 +01:00
Maran 6253d10938 initial testcode for canonical chain 2014-03-24 15:04:29 +01:00
obscuren e0b6091d7e Test fixes and removed old code. Added VM gas fees 2014-03-24 13:20:34 +01:00
Maran ec6ec62dd4 Remove some xtra logs 2014-03-24 10:56:52 +01:00
Maran 97786d03d5 Merge branch 'master' into miner 2014-03-24 10:24:39 +01:00
Maran 274d5cc91c FindCanonicalChain returns true or false when we are on the Canonical chain or not 2014-03-24 10:24:06 +01:00
obscuren 6a86c517c4 Removed old VM code 2014-03-22 11:47:27 +01:00
obscuren 01c1bce9c5 Removed regular ints from the virtual machine and closures 2014-03-21 18:22:47 +01:00
obscuren 9a9e252cab Changes 'compiler' to work with any type 2014-03-21 15:27:18 +01:00
Maran b52b1fca89 Initial block reorganisation code 2014-03-21 15:06:23 +01:00
obscuren 2ea4c632d1 Closure return, arguments fixed. Added proper tests 2014-03-21 14:47:55 +01:00
obscuren fa1db8d2dc Implemented closure arguments 2014-03-21 11:54:36 +01:00
obscuren 9cf8ce9ef8 New tx methods and added new vm to state manager 2014-03-21 00:04:31 +01:00
obscuren f567f89b99 Added address to account and contract
Contract and account now both have an address field or method for the
sake of simplicity.
2014-03-20 23:38:16 +01:00
obscuren 7705b23f24 Removed caller from tx and added "callership" to account.
Transactions can no longer serve as callers. Accounts are now the
initial callee of closures. Transactions now serve as transport to call
closures.
2014-03-20 23:17:53 +01:00
obscuren f3d27bf5d8 Rewrote opcodes again 2014-03-20 22:51:20 +01:00
obscuren c68ff9886b Fixed MSTORE and added some more commets 2014-03-20 19:50:53 +01:00
obscuren 3520771d68 Comply to Callee interface 2014-03-20 17:27:09 +01:00
obscuren c17381b853 Moved code around 2014-03-20 17:26:51 +01:00
obscuren 59d8dc3950 Fixed issue with stack where it sliced of the wrong values 2014-03-20 17:26:30 +01:00
obscuren 38ea6a6d5d Closures and vm based on closures
Status: Work in progress
2014-03-20 17:26:07 +01:00
obscuren 82d0f65dab Comply to Callee structure 2014-03-20 17:25:11 +01:00
obscuren c135b389fe Commented out code due to rewrite vm 2014-03-20 17:24:53 +01:00
obscuren bdc0d1b7ad Added AddFunds method 2014-03-20 17:24:02 +01:00
Maran ae837c4719 More mining rework 2014-03-20 11:20:29 +01:00
Maran 2be2fc7974 Merge branch 'develop' into miner 2014-03-17 11:15:28 +01:00
obscuren 826c827e6b Added a copy method to state 2014-03-17 11:15:09 +01:00
obscuren 07578fe25f Pretty print nonce 2014-03-17 11:13:35 +01:00
Maran 095d5baaed Merge conflicts 2014-03-17 10:41:05 +01:00
Maran 8ea7e21f64 Merge 2014-03-17 10:37:37 +01:00
Maran 3274e0a249 Removed extra invalid nonce return 2014-03-17 10:37:29 +01:00
obscuren b15a4985e8 Moved on to the state manager 2014-03-17 10:33:03 +01:00
Maran d5efeab8f9 Initial smart-miner stuff 2014-03-10 11:53:02 +01:00
obscuren 685ea3e9a9 Wip keychains 2014-03-07 11:26:35 +01:00
obscuren e7770b2332 Added miner state 2014-03-06 13:06:54 +01:00
obscuren be543a6d17 Removed comments 2014-03-06 13:03:24 +01:00
obscuren 6c6e8b0fd7 Renamed block manager to state manager 2014-03-05 10:57:32 +01:00
obscuren 92f2abdf76 Partially refactored server/txpool/block manager/block chain
The Ethereum structure now complies to a EthManager interface which is
being used by the tx pool, block manager and block chain in order to
gain access to each other. It's become simpeler.
TODO: BlockManager => StateManager
2014-03-05 10:42:51 +01:00
obscuren 9d492b0509 Renamed Address to Account 2014-03-03 11:05:12 +01:00
obscuren bfed1c7cac Trie's are no longer referenced directly but through State instead 2014-03-03 11:03:16 +01:00
obscuren d65b4cd0dd Updated block to use state instead of trie directly 2014-03-02 20:42:05 +01:00
obscuren e98b53bbef WIP Observing pattern 2014-02-25 11:22:27 +01:00
obscuren 4b8c50e2cd Deprication 2014-02-25 11:22:18 +01:00
obscuren 1e7b3cbb13 Removed debug log 2014-02-25 11:22:05 +01:00
obscuren ce07d9bb4c Error logging on tx processing 2014-02-25 11:21:49 +01:00
obscuren 507fc7b9d1 Length checking when fetching contract. Contract always have 3 fields 2014-02-25 11:21:35 +01:00
obscuren 0afdedb01a Some log statements changed to the default logger 2014-02-24 13:50:52 +01:00
obscuren 6c7255cde2 Fixed a minor issue on crashed contracts 2014-02-24 13:15:34 +01:00
obscuren 95a8ebc249 Changed MakeContract on block
MakeContract in Block is now using the MakeContract defined in
contract.go
2014-02-24 12:45:21 +01:00
obscuren 88a9c62fcc Proper tests 2014-02-24 12:44:29 +01:00
obscuren b29c1eecd1 Removed debug print 2014-02-24 12:44:18 +01:00
obscuren d69db6e617 Removed compiling from the transaction 2014-02-24 12:13:42 +01:00
obscuren d8b5bbd48c Added compile 2014-02-24 12:13:22 +01:00
obscuren 4cc5b03137 Added opcodes 2014-02-24 12:12:32 +01:00
obscuren a3fb7008b2 Added make contract 2014-02-24 12:12:24 +01:00
obscuren 377c995103 Separated the VM from the block manager and added states 2014-02-24 12:10:45 +01:00
obscuren a4a4ffbeff Moved address 2014-02-23 01:57:22 +01:00
obscuren f5737b929a Added a secondary processor 2014-02-23 01:57:04 +01:00
obscuren c66cf95b40 Added address states for storing a session based address 2014-02-23 01:56:48 +01:00
obscuren 73b9ae9579 Updated some of the log statements to use the ethutil logger 2014-02-22 01:53:25 +01:00
obscuren cca8585554 Get a chain of blocks made simple 2014-02-21 13:05:59 +01:00
obscuren 18cc35338a Fixed contract running 2014-02-21 12:37:16 +01:00
obscuren 681eacaa7f Removed old instruction code 2014-02-21 12:37:06 +01:00
obscuren 06ea7fc830 re: Added contract fees 2014-02-20 23:11:17 +01:00
obscuren ed05779adb Updated fees 2014-02-20 23:10:43 +01:00
obscuren 8f69c2ac45 Added contract addr acessors 2014-02-20 23:10:36 +01:00
obscuren 504d356232 Added peek(n) 2014-02-20 23:10:16 +01:00
obscuren 39b6eaf51c Debug logging functions 2014-02-19 16:27:35 +01:00
obscuren dc994b3518 Changed fee structure 2014-02-19 16:27:08 +01:00
obscuren 8e7daec886 Added fees and debugging 2014-02-19 16:26:55 +01:00
obscuren b3da104e56 Corrected contract addresses 2014-02-19 16:26:35 +01:00
obscuren 0936e5ccf5 Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop
Conflicts:
	ethutil/config.go
2014-02-19 11:40:02 +01:00
obscuren 24f2b2afc3 Running contracts fixed 2014-02-19 11:35:17 +01:00
Sam Boyer 4d405f6654 s/GenisisHeader/GenesisHeader/ 2014-02-18 10:40:58 -05:00
obscuren c866fcc5b3 Added new address 2014-02-18 12:10:21 +01:00
obscuren 68028f492f Fixed block handling 2014-02-18 01:33:26 +01:00
obscuren 8629d9a418 String changed and removed some debugging code 2014-02-18 01:33:15 +01:00
obscuren bb3e28310e If sender is receiver only subtract the fee 2014-02-18 01:31:51 +01:00
obscuren a5b7279cb5 Changed uncle block fee as to what it should be 2014-02-18 01:31:31 +01:00
obscuren 066940f134 Defer undo on the current block's state 2014-02-16 20:30:21 +01:00
obscuren f5fbbb147f Removed debug message 2014-02-15 12:11:40 +01:00
obscuren 73fd358d94 Removed RlpValue in favour of Value 2014-02-15 01:34:18 +01:00
obscuren f6d1bfe45b The great merge 2014-02-14 23:56:09 +01:00