Commit Graph

440 Commits

Author SHA1 Message Date
obscuren
5a0c4ce295 Fixed "Copy" to also copy over the pending storage changes 2014-07-14 00:38:20 +02:00
obscuren
5b2e5d180f Changed diff output not to prefix hex with 0x 2014-07-14 00:37:18 +02:00
obscuren
6426f3635e Forgot to return gas when CALL's value transfer fails 2014-07-13 17:56:14 +02:00
obscuren
54715586ab Changed sha3 to official one 2014-07-12 11:10:47 +02:00
obscuren
9010857677 Special diff output for execution 2014-07-11 16:04:09 +02:00
obscuren
ff151f9fbc vm output 2014-07-10 21:54:36 +02:00
obscuren
04561c4ddc Updated VM & added helper methods to state
* VM BALANCE opcode updated to pop 1 item and use that to retrieve the
  address' balance
* GetBalance and GetNonce on state that'll always return something valid
2014-07-10 17:58:16 +02:00
obscuren
9688ebef52 Return from execution immediately if there's no code 2014-07-10 15:31:48 +02:00
obscuren
b7ff773ecf Removed debug log 2014-07-10 15:06:46 +02:00
obscuren
e504088b79 Consensus and bug fixes
* Ensure that each state object has an address that is 20 bytes
* Byte logging for vm
* changed diff output
2014-07-10 15:05:06 +02:00
obscuren
67e5689f87 Fixed BYTE opcode 2014-07-10 12:51:19 +02:00
obscuren
14d13167a7 Remove debug println 2014-07-07 13:59:59 +02:00
obscuren
78aad9a192 Getting rid of deprecated methods 2014-07-07 13:59:32 +02:00
obscuren
b01cb2406f Fixed state reset case 2014-07-07 13:59:09 +02:00
obscuren
42bb3d8aae Removed old if statement. No longer needed 2014-07-07 13:58:54 +02:00
obscuren
96ac061e68 Log change 2014-07-07 13:58:28 +02:00
obscuren
68fba4b781 Fixed state reset on err 2014-07-07 11:17:48 +02:00
Jeffrey Wilcke
6fe9b4ab5e Revert "ethreact - Feature/ethutil refactor" 2014-07-07 10:59:16 +02:00
obscuren
9dab7dcc3c Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop 2014-07-07 10:53:25 +02:00
obscuren
d40cba3042 changed state reset 2014-07-07 10:53:20 +02:00
zelig
4fb2905b1e Merge branch 'develop' of github.com:ethereum/eth-go into feature/ethutil-refactor 2014-07-05 12:53:00 +01:00
obscuren
b232acd04e Debugging mode for vm 2014-07-05 13:24:49 +02:00
zelig
44d0d6abd2 Merge branch 'develop' of github.com:ethereum/eth-go into feature/ethutil-refactor 2014-07-04 19:40:23 +01:00
zelig
584d1c61ec use ethreact.Event and ethreact.ReactorEngine 2014-07-04 19:38:44 +01:00
obscuren
90eb4f1939 Debug output, minor fixes and tweaks
* Script compile length fix
* Transition fix
2014-07-04 15:32:10 +02:00
obscuren
633027d980 Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop 2014-07-04 00:13:57 +02:00
obscuren
db60ebbbd7 Merge branch 'feature/clientid' of https://github.com/ethersphere/eth-go into ethersphere-feature/clientid 2014-07-04 00:12:28 +02:00
obscuren
cb7ebdf821 Decreased timeout 2014-07-04 00:12:21 +02:00
Jeffrey Wilcke
70e1a1a4df Merge pull request #32 from josephyzhou/develop
typo, duplications
2014-07-04 00:10:29 +02:00
Joey Zhou
7c41e413e4 typo, duplications 2014-07-03 11:31:47 -07:00
zelig
de2da4fd19 Merge branch 'develop' of github.com:ethereum/eth-go into feature/clientid 2014-07-03 15:08:13 +01:00
zelig
198e5eeab9 EthManager interface extended with ClientIdentity() ethwire.ClientIdentity 2014-07-03 15:08:06 +01:00
obscuren
8baa0f84e7 Fixed reverting error 2014-07-03 16:07:21 +02:00
obscuren
5d67139206 Fix 2014-07-03 10:05:02 +02:00
obscuren
5b8dde9602 Fixed CREATE op. Fixes #87 2014-07-03 10:04:38 +02:00
obscuren
35ae9e3aa8 Paranoia check 2014-07-02 17:48:10 +02:00
obscuren
2f9bc2ab75 Removed old code 2014-07-02 17:47:33 +02:00
obscuren
40e3d2ab55 Changed CREATE 2014-07-02 17:47:09 +02:00
obscuren
e4d2d00d41 Added support for breakpoints on specific instructions 2014-07-02 13:08:32 +02:00
obscuren
315d65280b Removed comment 2014-07-02 11:30:14 +02:00
obscuren
d15952c867 Moved debug hook to Vm directly 2014-07-02 01:04:21 +02:00
obscuren
1954ef47e6 Suicide is deferred to update 2014-07-02 00:06:21 +02:00
obscuren
fd1d0bbde7 Updated to generic padding function 2014-07-02 00:05:48 +02:00
obscuren
00d3935aac Removed old method 2014-07-01 23:59:18 +02:00
zelig
ff5703fd9b ethutil -> ethtrie.NewTrie 2014-07-01 15:09:43 +01:00
zelig
89630d2826 merge upstream 2014-07-01 15:03:02 +01:00
obscuren
550407b0ec Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop 2014-07-01 15:44:43 +02:00
obscuren
d0959063d5 Up 2014-07-01 15:28:12 +02:00
Maran
e798294a4b Update min GasLimit 2014-07-01 15:25:57 +02:00
obscuren
92693e4459 The dragon has been slain. Consensus reached! 2014-07-01 11:26:45 +02:00
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