Jeffrey Wilcke
361082ec4b
cmd/evm, core/vm, test: refactored VM and core
...
* Moved `vm.Transfer` to `core` package and changed execution to call
`env.Transfer` instead of `core.Transfer` directly.
* core/vm: byte code VM moved to jump table instead of switch
* Moved `vm.Transfer` to `core` package and changed execution to call
`env.Transfer` instead of `core.Transfer` directly.
* Byte code VM now shares the same code as the JITVM
* Renamed Context to Contract
* Changed initialiser of state transition & unexported methods
* Removed the Execution object and refactor `Call`, `CallCode` &
`Create` in to their own functions instead of being methods.
* Removed the hard dep on the state for the VM. The VM now
depends on a Database interface returned by the environment. In the
process the core now depends less on the statedb by usage of the env
* Moved `Log` from package `core/state` to package `core/vm`.
9 years ago
Felix Lange
00b45acb9e
core: improve block gas tracking
9 years ago
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
9 years ago
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
9 years ago
Felix Lange
ea54283b30
all: update license information
10 years ago
Jeffrey Wilcke
e6bb9c1cad
core, miner: removed vm errors from consensus err checking
...
Removed VM errors from the consensus errors. They now used for output
only.
10 years ago
Gustav Simonsson
0f04af5916
Fix core error forwarding, unify OOG VM err
10 years ago
Jeffrey Wilcke
529fb7a7d7
core, xeth: core.AddressFromMessage removed => crypto.CreateAddress
10 years ago
Felix Lange
fccc7d71eb
core: remove superfluous big.Int allocations
...
With blocks now being immutable, use big.Int values from
accessor functions instead of copying their results.
10 years ago
Felix Lange
992dc74efd
core: avoid duplicate calls to Transaction.Data
10 years ago
Felix Lange
0b22ad99c1
core: optimize IntrinsicGas
10 years ago
Felix Lange
1d42888d30
core/types: make blocks immutable
10 years ago
obscuren
07c3de3f75
core, miner, xeth: renamed gas methods
...
* BuyGas => SubGas
* RefundGas => AddGas
* SetGasPool => SetGasLimit
10 years ago
obscuren
5721fcf668
core/state, core/vm: cleanup refunds
10 years ago
obscuren
10af69b57c
core, core/vm: moved logger and added gas cost to struct logging
10 years ago
obscuren
38c61f6f25
core, core/vm: added structure logging
...
This also reduces the time required spend in the VM
10 years ago
Gustav Simonsson
147a699c65
Add missing err checks on From() (skip RPC for now)
10 years ago
Gustav Simonsson
32276e8b01
Update StateTests and nil create return on failed code deposit
10 years ago
obscuren
6184781b49
Improved transaction pool
...
The transaction pool will now some easily be able to pre determine the
validity of a transaction by checking the following:
* Account existst
* gas limit higher than the instrinsic gas
* enough funds to pay upfront costs
* nonce check
10 years ago
obscuren
1889727144
Moved logging to logger.Core
10 years ago
Gustav Simonsson
c26c8d3a44
Read most protocol params from common/params.json
...
* Add params package with exported variables generated from
github.com/ethereum/common/blob/master/params.json
* Use params package variables in applicable places
* Add check for minimum gas limit in validation of block's gas limit
* Remove common/params.json from go-ethereum to avoid
outdated version of it
10 years ago
obscuren
0a554a1f27
Blocktest fixed, Execution fixed
...
* Added new CreateAccount method which properly overwrites previous
accounts (excluding balance)
* Fixed block tests (100% success)
10 years ago
obscuren
ff9d66e096
Cleaned up changes
10 years ago
obscuren
23bccbbc58
Modified according to poc 9 changes
...
* Refund of value
10 years ago
obscuren
576df064e5
Updated for PV59
...
* Value XFER are refunded back to the sender if the execution fails
10 years ago
obscuren
0330077d76
moved state and vm to core
10 years ago
obscuren
0a1eeca41e
conversions. -compilable-
10 years ago
obscuren
0fa7859b94
Fixed VM & Tests w/ conversion
10 years ago
Felix Lange
17c5ba2b6b
core: actually convert transaction pool
10 years ago
Felix Lange
27f7aa0163
core: adapt Message for new Transaction.From signature
10 years ago
obscuren
515d9432fc
converted vm
10 years ago
obscuren
94505146a2
updated vm env
10 years ago
obscuren
b523441361
Moved ethutil => common
10 years ago
obscuren
03403399fc
Return proper error
10 years ago
obscuren
310ca62285
Removed some of that gas pre pay magic
10 years ago
obscuren
c01d4c2f4c
Lowered default gas price and increased default gas limit
10 years ago
obscuren
477815c044
Improved error reporting and removed commented code
10 years ago
Felix Lange
2ee88a220a
core: remove Hash method from Message interface
...
This will simplify the next commmit. Hash was only used for logging.
10 years ago
obscuren
88ff13c241
Spec changes.
...
* All errors during state transition result in an invalid tx
10 years ago
obscuren
c74c07eed1
Fixed error for invalid transaction
10 years ago
obscuren
fa831206c6
Updated gast costs
10 years ago
obscuren
b383ff0b96
New gas prices model
10 years ago
obscuren
3ab05ddd25
Bump
10 years ago
obscuren
e235b57234
Fixed consensus issue for refunding
...
* Refund should _always_ go to the origin
10 years ago
obscuren
37e6870f64
wip
10 years ago
obscuren
ea9a549bbd
Removed exported fields from state object and added proper set/getters
10 years ago
obscuren
fa4cbad315
Optimisations and fixed a couple of DDOS issues in the miner
10 years ago
obscuren
30fa30bd4a
Docs & old code removed
10 years ago
obscuren
8ccde784f9
Added (disabled) Jit validation
10 years ago
obscuren
82beaabf6a
Fixed consensus issue
10 years ago