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
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