Commit Graph

440 Commits

Author SHA1 Message Date
obscuren
39263b674c Paranoia 2014-07-01 09:56:10 +02:00
obscuren
ed276cd7c2 Added Paranoia check for VM execution 2014-06-30 20:03:31 +02:00
obscuren
00bb68d7d2 Merge branch 'develop' into interop 2014-06-30 13:13:55 +02:00
obscuren
8ddd4c4c52 wip 2014-06-30 13:09:04 +02:00
zelig
dabaa4cce0 change all modified calls to ethtrie, ethutil and ethcrypto functions 2014-06-29 18:30:05 +01:00
zelig
707d413761 refactor ethutil/trie to ethtrie 2014-06-29 16:26:58 +01:00
zelig
79009ca074 transitional ethutil.ReadConfig fixes in ethchain tests (they still fail! FIXME :) 2014-06-27 15:56:45 +01:00
obscuren
423beddf57 nil check 2014-06-27 00:16:49 +02:00
zelig
853053a3b2 go fmt 2014-06-26 18:45:57 +01:00
zelig
da38faa8f7 merge upstream; fix port in use warning; new logger API 2014-06-26 16:37:56 +01:00
obscuren
0ed19d9f20 Logging, variable rearrangement 2014-06-26 11:26:42 +02:00
obscuren
39cb34850a Added instruction numbers 2014-06-26 11:25:43 +02:00
zelig
98f1ee9442 merge upstream 2014-06-25 16:58:07 +01:00
zelig
a02edf7a93 put back extra debug detail logging to the right places using logger.DebugDetailf 2014-06-25 16:40:06 +01:00
zelig
4141cc39d0 Merge remote-tracking branch 'upstream/develop' into feature/logging 2014-06-25 16:13:27 +01:00
obscuren
16e8fc7427 Logging order 2014-06-23 16:11:55 +02:00
zelig
f58c7ac5a6 merge upstream 2014-06-23 13:07:43 +01:00
zelig
b9e8a3e024 modified logging API
- package vars for tagged loggers
- weed out spurious fmt.PrintX and log.PrintX logging
- tried to second guess loglevel for some :)
2014-06-23 12:54:10 +01:00
obscuren
614624754d Let the state create the object 2014-06-23 13:42:30 +02:00
obscuren
d890258af6 Minor fixes to vm output 2014-06-23 11:26:51 +02:00
obscuren
803e4807ed Removed comments 2014-06-23 11:26:31 +02:00
obscuren
842d52db7b Make sure that public key always uses 64 bytes 2014-06-23 11:23:51 +02:00
obscuren
bb1641e4ec Clean up & refactored methods 2014-06-23 11:23:18 +02:00
obscuren
931ae0f116 Append zero's in R & S 2014-06-20 20:12:08 +02:00
obscuren
7fb5e993e3 Moved 0 check to state object for now 2014-06-20 20:11:40 +02:00
obscuren
0c6b41f4c9 CALLDATACOPY 2014-06-20 01:10:20 +02:00
obscuren
09f37bd023 Returned to single method 2014-06-20 00:45:44 +02:00
obscuren
8f29f6a4d4 Removed some logging 2014-06-20 00:42:26 +02:00
obscuren
6fcc6a2f7c Changed copy/set 2014-06-20 00:41:42 +02:00
obscuren
0b8ba1d55b Renamed snapshot to copy/set and added it back to the VM 2014-06-20 00:41:28 +02:00
obscuren
933aa63b7d Length check on get 2014-06-19 21:41:37 +02:00
obscuren
80ffe1610c Removed log 2014-06-19 13:45:46 +02:00
obscuren
9104dcc29c Fixed call 2014-06-19 13:45:29 +02:00
obscuren
7e6684d926 Method for checking contract addresses 2014-06-19 13:42:47 +02:00
obscuren
1b431f29e5 Added missing types 2014-06-19 13:42:28 +02:00
obscuren
5ea7598408 Update after each transition instead of at the end.
Updating the state /after/ the entire transition creates invalid
receipts.
2014-06-19 13:42:14 +02:00
obscuren
731f55a05d Reset state when a transition fails 2014-06-19 13:41:17 +02:00
obscuren
f911087eab Logging 2014-06-18 13:48:42 +02:00
obscuren
3bc57fe5b5 CALLDATALOAD return 32 byte at all times 2014-06-18 13:48:08 +02:00
obscuren
dc9c9369e0 log 2014-06-18 00:36:23 +02:00
obscuren
2565a79575 Swapped vars 2014-06-18 00:32:48 +02:00
obscuren
8a885c2606 Fixed GT and LT 2014-06-18 00:25:58 +02:00
obscuren
ca79360fd7 Verbose logging for VM 2014-06-17 18:49:26 +02:00
obscuren
34c8045d5b Fixed issue where JUMPI would do an equally check with 1 instead of GT 2014-06-17 18:05:46 +02:00
obscuren
3621988e15 Removed deprecated states 2014-06-17 11:07:37 +02:00
obscuren
53e30f750d Removal of manual updating of state objects
* You'll only ever need to update the state by calling Update. Update
  will take care of the updating of it's child state objects.
2014-06-17 11:06:06 +02:00
obscuren
887debb055 comment 2014-06-16 18:20:38 +02:00
obscuren
0d77632839 Refund gas 2014-06-16 12:25:18 +02:00
obscuren
8b15732c1e Check for nil receiver 2014-06-16 12:04:56 +02:00
obscuren
48bca30e61 Fixed minor issue with the gas pool 2014-06-16 11:51:16 +02:00
obscuren
9f62d441a7 Moved gas limit err check to buy gas 2014-06-16 11:14:01 +02:00
obscuren
7b55bcf484 Removed old fees 2014-06-16 11:13:19 +02:00
obscuren
15d1f753f7 Removed old fees 2014-06-16 11:13:06 +02:00
obscuren
1d76e433f7 Removed some comments 2014-06-16 10:40:21 +02:00
obscuren
02d8ad030f Keeping old code for reference 2014-06-16 10:35:35 +02:00
obscuren
8198fd7913 Cache whole objects instead of states only 2014-06-16 00:51:04 +02:00
obscuren
d80f999a21 Run contracts 2014-06-15 00:11:06 +02:00
obscuren
5871dbaf5a Set contract addr for new transactions 2014-06-15 00:10:42 +02:00
obscuren
63883bf27d Moving closer to interop 2014-06-14 11:46:09 +02:00
obscuren
8124547348 Moving a head closer to interop 2014-06-13 16:06:27 +02:00
obscuren
c734dde982 comments & refactor 2014-06-13 13:06:27 +02:00
obscuren
cebf4e3697 Refactored state transitioning to its own model 2014-06-13 12:58:01 +02:00
obscuren
5e2bf12a31 Refactored state transitioning to its own model 2014-06-13 12:57:52 +02:00
obscuren
d078e9b8c9 Refactoring state transitioning 2014-06-13 12:45:11 +02:00
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