Commit graph

110 commits

Author SHA1 Message Date
Christopher Franko
61796668c8 continue merging 1
Merge continue 2

Fake commit to restart the build servers

Fake commit to hopefully fix the PPA issue.

update versionOracle address for expanse

Merge continue 3

Merge continue 4

cleaned up a few Eth stragglers

Merge continue 5

Not sure why the merge tool changed this file and removed that but it
did.

merge continue 6

fixing expanse.js

Again not sure why this one got edited from the last one but -shrug-

fixing rpc calls for eth_ for compatibility

rpc calls still acting crazy

more rpc fixes

make jsre console accept both exp and eth cmds

rpc fixes continued

adding eth api calls

rpc and js-console both have eth calls on by default now
2016-05-18 23:06:16 -04:00
Christopher Franko
87272925b9 Merge remote-tracking branch 'ethereum/master' into rebase-1.4.4 2016-05-17 17:41:14 -04:00
Felix Lange
6fdd0893c3 all: fix go vet warnings 2016-04-15 11:17:27 +02:00
Felix Lange
d04a2e7557 all: update license information 2016-04-15 09:48:05 +02:00
Jeffrey Wilcke
f0cbebb19f core: added basic chain configuration
Added chain configuration options and write out during genesis database
insertion. If no "config" was found, nothing is written to the database.

Configurations are written on a per genesis base. This means
that any chain (which is identified by it's genesis hash) can have their
own chain settings.
2016-04-01 01:01:10 +02:00
Jeffrey Wilcke
14013372ae core: Added EVM configuration options
The EVM is now initialised with an additional configured object that
allows you to turn on debugging options.
2016-03-23 23:02:42 +01:00
Jeffrey Wilcke
342ae7ce7d core, core/vm, tests: changed the initialisation behaviour of the EVM
The EVM was previously initialised and created for every CALL, CALLCODE,
DELEGATECALL and CREATE. This PR changes this behaviour so that the same
EVM can be used through the session and beyond as long as the
Environment sticks around.
2016-03-23 00:04:00 +01:00
Leif Jurvetson
b7bb2d8589 core: various typos 2016-03-15 11:08:18 -07:00
Franko
d542c9d3d1 fix dependency 2016-03-02 12:45:18 -05:00
Christopher Franko
153dd19ec1 Merge https://github.com/ethereum/go-ethereum into rebase-1.3.4 2016-03-02 11:54:34 -05:00
Jeffrey Wilcke
587bafaa9f [release/1.3.4] core, core/vm, crypto: fixes for homestead
* Removed some strange code that didn't apply state reverting properly
* Refactored code setting from vm & state transition to the executioner
* Updated tests

Conflicts:
	common/registrar/ethreg/api.go
	core/tx_pool.go
	core/vm/jit_test.go
2016-02-24 13:46:30 +01:00
Gustav Simonsson
61404979ed [release/1.3.4] parmas, crypto, core, core/vm: homestead consensus protocol changes
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code

Conflicts:
	core/vm/environment.go
	crypto/crypto.go
	crypto/secp256k1/secp256.go
	eth/api.go
2016-02-24 13:46:11 +01:00
Ricardo Catalinas Jiménez
436fc8d76a all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()
As we aren't really using the standarized SHA-3
2016-02-21 22:34:34 +00:00
Jeffrey Wilcke
b6d88a0e9f core, core/vm, crypto: fixes for homestead
* Removed some strange code that didn't apply state reverting properly
* Refactored code setting from vm & state transition to the executioner
* Updated tests
2016-02-18 10:11:48 +01:00
Gustav Simonsson
371871d685 parmas, crypto, core, core/vm: homestead consensus protocol changes
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
2016-02-18 10:08:11 +01:00
Jeffrey Wilcke
6cace73bea core/vm/runtime: simplified runtime calling mechanism
Implemented `runtime.Call` which uses - unlike Execute - the given state
for the execution and the address of the contract you wish to execute.
Unlike `Execute`, `Call` requires a config.
2016-02-11 10:17:16 +01:00
Peter Pratscher
15780ead07 core/vm, rpc/api: renamed to debug.replayTransaction, migrated to new RPC, integrated feedback
Integrated code review suggestions

Integrated last review comments
2016-02-02 15:20:18 +01:00
Péter Szilágyi
752c75fb21 core/vm: resolve circular dependency to debug vm storage 2016-01-11 18:21:39 +02:00
Bas van Kervel
eae81465c1 rpc: new RPC implementation with pub/sub support 2015-12-14 16:34:05 +01:00
Christopher Franko
0f519942a4 Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.3.2 2015-11-28 18:40:20 -05:00
Jeffrey Wilcke
1372b991c3 core/vm/runtime: added simple execution runtime
The runtime environment can be used for simple basic execution of
contract code without the requirement of setting up a full stack and
operates fully in memory.
2015-11-18 16:50:20 +01:00
Christopher Franko
9cdd178759 Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.3.1
Conflicts:
	Godeps/Godeps.json
	Godeps/_workspace/src/github.com/expanse-project/ethash/ethash_test.go
	Makefile
	VERSION
	cmd/gexp/blocktestcmd.go
	cmd/gexp/js.go
	cmd/gexp/js_test.go
	cmd/gexp/main.go
	cmd/utils/cmd.go
	cmd/utils/flags.go
	common/natspec/natspec.go
	common/natspec/natspec_e2e_test.go
	common/natspec/natspec_e2e_test.go.orig
	common/path.go
	common/registrar/registrar.go
	core/block_processor.go
	core/block_processor_test.go
	core/chain_manager.go
	core/chain_manager_test.go
	core/chain_util_test.go
	core/events.go
	core/execution.go
	core/filter.go
	core/state/errors.go
	core/state/statedb.go
	core/state_transition.go
	core/transaction_util.go
	core/types/bloom9.go
	core/types/common.go
	core/types/derive_sha.go
	core/types/receipt.go
	core/vm/common.go
	core/vm/environment.go
	core/vm/instructions.go
	core/vm/jit.go
	core/vm/jit_test.go
	core/vm/vm.go
	docker/Dockerfile
	docker/supervisord.conf
	eth/downloader/modes.go
	event/filter/eth_filter.go
	exp/backend.go
	exp/downloader/downloader.go
	exp/downloader/downloader_test.go
	exp/downloader/peer.go
	exp/downloader/queue.go
	exp/gasprice.go
	exp/handler.go
	exp/sync.go
	miner/worker.go
	rpc/api/admin.go
	rpc/api/debug.go
	rpc/api/eth.go
	rpc/api/eth_args.go
	rpc/api/miner.go
	rpc/api/personal.go
	rpc/comms/ipc.go
	rpc/comms/ipc_unix.go
	rpc/comms/ipc_windows.go
	tests/block_test_util.go
	tests/files/BlockchainTests/bcUncleTest.json
	trie/cache.go
	trie/fullnode.go
	trie/hashnode.go
	trie/secure_trie.go
	trie/shortnode.go
	trie/trie.go
	trie/trie_test.go
	trie/valuenode.go
	xeth/xeth.go
2015-11-03 18:25:50 -05:00
Christopher Franko
00bf780118 Merge remote-tracking branch 'refs/remotes/ethereum/master'
Conflicts:
	cmd/gexp/main.go
2015-10-25 19:30:12 -04:00
Jeffrey Wilcke
58d0752fdd Merge pull request #1883 from obscuren/jit-vm-optimisations
core/vm: JIT segmentation
2015-10-21 12:34:32 -07:00
Jeffrey Wilcke
0467a6ceec Merge pull request #1889 from karalabe/fast-sync-rebase
eth/63 fast synchronization algorithm
2015-10-21 11:44:22 -07:00
Jeffrey Wilcke
619b37ca37 core, tests: get_hash fix
Make sure that we're fetching the hash from the current chain and not
the canonical chain.

Conflicts:
	core/vm/environment.go
2015-10-21 15:52:48 +02:00
Péter Szilágyi
5b0ee8ec30 core, eth, trie: fix data races and merge/review issues 2015-10-21 16:49:55 +03:00
Jeffrey Wilcke
80f26086ee core, tests: get_hash fix
Make sure that we're fetching the hash from the current chain and not
the canonical chain.
2015-10-21 02:31:46 +02:00
Péter Szilágyi
832b37c822 core, eth: receipt chain reconstruction 2015-10-19 10:03:09 +03:00
Péter Szilágyi
42c8afd440 core: differentiate receipt concensus and storage decoding 2015-10-19 10:03:09 +03:00
Jeffrey Wilcke
8c85532412 core/vm: added parsing utilities 2015-10-16 22:30:42 +02:00
Jeffrey Wilcke
b196278044 core/vm: added JIT segmenting / optimisations
* multi-push segments
* static jumps segments
2015-10-16 22:30:42 +02:00
Jeffrey Wilcke
9d61d78de6 core/vm: abstracted instruction execution away from JIT
Moved the execution of instructions to the instruction it self. This
will allow for specialised instructions (e.g. segments) to be execution
in the same manner as regular instructions.
2015-10-16 22:17:35 +02:00
Christopher Franko
6a6cd10299 rebase 1.2.2 2015-10-13 11:56:11 -04:00
Péter Szilágyi
af9afb686b core/vm: copy stack element to prevent overwrites 2015-10-12 00:14:35 +03:00
Gustav Simonsson
e1616f77c7 core, core/vm, cmd/evm: remove redundant balance check 2015-10-06 12:42:34 +02:00
Jeffrey Wilcke
7c7692933c cmd/geth, cmd/utils, core, rpc: renamed to blockchain
* Renamed ChainManager to BlockChain
* Checkpointing is no longer required and never really properly worked
when the state was corrupted.
2015-10-04 01:13:56 +02:00
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`.
2015-10-04 01:13:54 +02:00
Christopher Franko
164a9acc5d updated copyright headers 2015-09-12 18:17:11 -04:00
Gustav Simonsson
b81a6e6ab8 core, core/vm, core/state: remove unused functions 2015-09-10 21:10:58 +02:00
Christopher Franko
4dab840f71 expanse 2015-09-01 20:42:36 -04:00
Christopher Franko
64ced6629a github update 2015-09-01 19:41:15 -04:00
Christopher Franko
9d6221444c test change lol 2015-09-01 18:24:03 -04:00
Felix Lange
fd512fa12c Merge pull request #1711 from Gustav-Simonsson/timestamp_big_int
Add tests for uncle timestamps and refactor timestamp type
(cherry picked from commit abce09954b)
2015-08-25 15:54:57 +02:00
Gustav Simonsson
7324176f70 Add tests for uncle timestamps and refactor timestamp type 2015-08-25 04:46:11 +02:00
Jeffrey Wilcke
9cacec70f9 cmd/evm, core/vm, tests: changed DisableVm to EnableVm 2015-08-11 18:43:22 +02:00
Jeffrey Wilcke
32395ddb89 core/vm: fixed jit error & added inline docs
opNumber did not create a new big int which could lead to the block's
number being modified.
2015-08-11 00:16:38 +02:00
Jeffrey Wilcke
eec38c5853 cmd/geth, core/vm: setup vm settings and defaulted JIT disabled 2015-08-09 02:06:16 +02:00
Jeffrey Wilcke
ac697326a6 core/vm: reduced big int allocations
Reduced big int allocation by making stack items modifiable. Instead of
adding items such as `common.Big0` to the stack, `new(big.Int)` is
added instead. One must expect that any item that is added to the stack
might change.
2015-08-07 12:52:23 +02:00
Jeffrey Wilcke
184e9ae9a8 core, tests: reduced state copy by N calls
Reduced the amount of state copied that are required by N calls by doing
a balance check prior to any state modifications.
2015-08-07 12:52:23 +02:00