Péter Szilágyi
16a23ff740
Merge pull request #2637 from karalabe/downloader-always-cancel
...
eth/downloader: ensure cancel channel is closed post sync
2016-05-31 14:48:52 +03:00
Péter Szilágyi
4496a44f68
eth/downloader: ensure cancel channel is closed post sync
2016-05-30 12:01:50 +03:00
Péter Szilágyi
4f1d92b332
eth/downloader, trie: pull head state concurrently with chain
2016-05-27 14:26:00 +03:00
Jeffrey Wilcke
a7434fd008
Merge pull request #2614 from fjl/bad-block-report
...
eth: enable bad block reports
2016-05-25 22:40:28 +02:00
Felix Lange
ca18202eb9
eth: enable bad block reports
...
We used to have reporting of bad blocks, but it was disabled
before the Frontier release. We need it back because users
are usually unable to provide the full RLP data of a bad
block when it occurs.
A shortcoming of this particular implementation is that the
origin peer is not tracked for blocks received during eth/63
sync. No origin peer info is still better than no report at
all though.
2016-05-25 02:02:51 +02:00
Rémy Roy
f86ea9aad5
eth/api: fixed GetCompilers when there is no error creating Solc
2016-05-24 16:44:33 -04:00
Jeffrey Wilcke
7f515b0e88
Merge pull request #2564 from bas-vk/submit-tx
...
eth: add new RPC method (personal.) SignAndSendTransaction
2016-05-23 14:17:46 +02:00
Jeffrey Wilcke
262d92834a
Merge pull request #2575 from bas-vk/filter
...
eth/filter: bugfix which can cause a nil pointer crash when parsing f…
2016-05-23 12:54:35 +02:00
Bas van Kervel
64a6c2c1b6
eth: add new RPC method (personal.) SignAndSendTransaction
2016-05-20 15:54:18 +02:00
Jeffrey Wilcke
847aaffbb8
Merge pull request #2589 from karalabe/estimate-remove-codecheck
...
accounts/abi/bind, eth: rely on getCode for sanity checks, not estimate and call
2016-05-20 15:13:29 +02:00
Jeffrey Wilcke
a8472e0fdb
Merge pull request #2315 from karalabe/concurrent-headers-2
...
eth/downloader: concurrent header downloads
2016-05-20 14:25:28 +02:00
Péter Szilágyi
1580ec1804
accounts/abi/bind, eth: rely on getCode for sanity checks, not estimate and call
2016-05-20 12:29:28 +03:00
Péter Szilágyi
8906b2fe09
eth/downloader: fix reviewer comments
2016-05-20 10:56:01 +03:00
Jeffrey Wilcke
4b1a7d3868
eth: fixed regression in eth_signTransaction fixes #2578
...
Sign transaction returned the unsigned transaction rather than the
signed one.
2016-05-18 17:25:34 +02:00
Bas van Kervel
67cd4ee8d2
eth/filter: bugfix which can cause a nil pointer crash when parsing filter arguments
2016-05-17 16:17:54 +02:00
Péter Szilágyi
d87f7a1e81
eth: skip transaction handling during fast sync
2016-05-17 14:17:20 +03:00
Péter Szilágyi
e86619e75d
eth/downloader: stream partial skeleton filling to processor
2016-05-17 10:03:34 +03:00
Péter Szilágyi
b40dc8a1da
eth/downloader: implement concurrent header downloads
2016-05-17 10:03:34 +03:00
Péter Szilágyi
39ce85cf5d
eth/downloader: bound fork ancestry and allow heavy short forks
2016-05-13 12:12:13 +02:00
Péter Szilágyi
756b62988c
Merge pull request #2523 from fjl/shutdown
...
core, eth, miner: improve shutdown synchronisation
2016-05-09 15:59:41 +03:00
Felix Lange
56ed6152a1
core, eth, miner: improve shutdown synchronisation
...
Shutting down geth prints hundreds of annoying error messages in some
cases. The errors appear because the Stop method of eth.ProtocolManager,
miner.Miner and core.TxPool is asynchronous. Left over peer sessions
generate events which are processed after Stop even though the database
has already been closed.
The fix is to make Stop synchronous using sync.WaitGroup.
For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
a way to stop new peer sessions from being added while waiting on the
WaitGroup. The eth protocol Run function now selects on a signaling
channel and adds to the WaitGroup only if ProtocolManager is not
shutting down.
For miner.worker and core.TxPool the number of goroutines is static,
WaitGroup can be used in the usual way without additional
synchronisation.
2016-05-09 13:03:08 +02:00
Jeffrey Wilcke
7d59c5c58d
eth: fixed tracing functions using the current header instead of parent
...
Fixes #2525
2016-05-09 10:24:31 +02:00
Péter Szilágyi
586eddfd09
release, all: integrate the release service into geth
2016-05-02 16:20:21 +03:00
Felix Lange
1c20313a6a
Merge pull request #2493 from almindor/develop
...
eth: add personal_importRawKey
2016-04-29 23:09:37 +02:00
Ales Katona
572da73d4d
eth: add personal_importRawKey for runtime private key import
2016-04-28 09:11:40 -06:00
Bas van Kervel
48cc36ce83
eth/filters: ignore logs that don't match filter criteria on chain reorg
2016-04-28 12:33:42 +02:00
Péter Szilágyi
cdcbb2f160
accounts/abi/bind, eth: add contract non-existent error
2016-04-27 17:15:23 +03:00
Felix Lange
a40e61b4ac
rpc: remove NotifierContextKey
...
Context keys must have a unique type in order to prevent
any unintented clashes. The code used int(1) as key.
Fix it by implementing the pattern recommended by package context.
2016-04-15 18:10:52 +02:00
Felix Lange
6fdd0893c3
all: fix go vet warnings
2016-04-15 11:17:27 +02:00
Felix Lange
24cdac41f3
core, core/types, eth: add and use Block.Body
...
This fixes a few uses of unkeyed Body literals which go vet was
complaining about.
2016-04-15 10:57:37 +02:00
Felix Lange
d04a2e7557
all: update license information
2016-04-15 09:48:05 +02:00
Péter Szilágyi
53016c1225
eth, rpc: make trace configs optional
2016-04-14 15:10:29 +03:00
Péter Szilágyi
bbc77f488e
eth: fix single transaction tracing (run prev mutations)
2016-04-14 14:29:47 +03:00
Felix Lange
bcd8aeefdd
eth: add chaindbProperty to debug API
2016-04-13 12:08:07 +02:00
Péter Szilágyi
1e9b504ee7
Merge pull request #2284 from fjl/accounts-addr-cache
...
accounts: cache key addresses
2016-04-12 17:51:09 +03:00
Felix Lange
46df50be18
accounts: improve API and add documentation
...
- Sign takes common.Address, not Account
- Import/Export methods work with encrypted JSON keys
2016-04-12 15:59:18 +02:00
Felix Lange
549f1add29
eth: report unlock errors to RPC clients
2016-04-12 15:59:12 +02:00
Felix Lange
46e8940b19
accounts: streamline API
...
- Manager.Accounts no longer returns an error.
- Manager methods take Account instead of common.Address.
- All uses of Account with unkeyed fields are converted.
2016-04-12 15:58:01 +02:00
Felix Lange
85e6c40c00
accounts, crypto: move keystore to package accounts
...
The account management API was originally implemented as a thin layer
around crypto.KeyStore, on the grounds that several kinds of key stores
would be implemented later on. It turns out that this won't happen so
KeyStore is a superflous abstraction.
In this commit crypto.KeyStore and everything related to it moves to
package accounts and is unexported.
2016-04-12 15:56:49 +02:00
Péter Szilágyi
aceaaa5178
eth: gracefully fail if chain config is missing
2016-04-12 16:48:43 +03:00
Jeffrey Wilcke
8627680e24
Merge pull request #2359 from bas-vk/rpc-optional-args
...
rpc: several fixes and support for optional arguments
2016-04-12 14:03:21 +02:00
Bas van Kervel
aa9fff3e68
rpc: various fixes/enhancements
...
rpc: be less restrictive on the request id
rpc: improved documentation
console: upgrade web3.js to version 0.16.0
rpc: cache http connections
rpc: rename wsDomains parameter to wsOrigins
2016-04-12 11:02:39 +02:00
Péter Szilágyi
bf1f620343
eth: fix GPU miner chain config regression
2016-04-11 17:31:00 +03:00
Jeffrey Wilcke
ed92f116f7
Merge pull request #2407 from bas-vk/rpc-notifications
...
RPC pub sub
2016-04-05 09:43:32 +02:00
Felix Lange
cf842b3fe5
cmd/geth, eth: move --genesis deprecation warning to cmd/geth
...
This prevents display of the warning for --dev and --olympic.
2016-04-01 21:59:35 +02:00
Bas van Kervel
f7328c5ecb
rpc: add pub/sub support
2016-04-01 18:26:35 +02:00
Jeffrey Wilcke
be44651523
Merge pull request #2402 from obscuren/eth-sign-fix
...
eth: enforce signing hashes using eth_sign instead of arbitrary data
2016-04-01 13:42:48 +02:00
Jeffrey Wilcke
1f3596c25a
core: transition db now also returns the required gas amount
...
Exposes some core methods to transition and compute new state
information and adds an additional return value to the transition db
method to fetch required gas for that particular message (excluding gas
refunds from any SSTORE[X] = 0 and SUICIDE.
Fixes #2395
2016-04-01 01:01:10 +02:00
Jeffrey Wilcke
9055c16efa
accounts/a/b/backends, core: chain maker homestead block set to 0
...
The chain maker and the simulated backend now run with a homestead phase
beginning at block 0 (i.e. there's no frontier).
This commit also fixes up #2388
2016-04-01 01:01:10 +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
916fe11241
eth: enforce signing hashes using eth_sign instead of arbitrary data
2016-04-01 00:43:14 +02:00
Péter Szilágyi
4326061e35
eth: fix accidental nil panic on nil errors
2016-03-31 18:26:25 +03:00
Péter Szilágyi
6c670eff01
eth: manually convert errors to strings on the trace API (json cannot)
2016-03-31 17:41:26 +03:00
Péter Szilágyi
72826bb5ad
accounts/abi/bind, cmd/abigen: Go API generator around an EVM ABI
2016-03-24 14:15:18 +02:00
Jeffrey Wilcke
75c86f8646
Merge pull request #2141 from obscuren/evm-init
...
core, core/vm, tests: changed the initialisation behaviour of the EVM
2016-03-23 23:20:51 +01:00
Jeffrey Wilcke
0cfa21fc7f
core, eth, cmd: temporary work around for enabling the jit
...
This commit serves as a temporary workaround for enabling the jit until
the block customisation PR is merged in.
2016-03-23 23:02:44 +01:00
Jeffrey Wilcke
5f92606be2
eth/api: added root to the receipts
2016-03-23 23:02:44 +01:00
Jeffrey Wilcke
3601320ccd
eth, rpc: implemented block debugging rpc calls
...
Implemented the following block debugging RPC calls
* Block(RLP)
* BlockByFile(fileName)
* BlockByNumber(number)
* BlockByHash(hash)
2016-03-23 23:02:44 +01: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
Péter Szilágyi
0228fb57cd
eth, miner: fetch pending block/state in on go (data race)
2016-03-16 11:23:26 +02:00
Leif Jurvetson
434e4b31d8
core, eth: replace reorganiz with reorganis
2016-03-15 12:03:17 -07:00
Leif Jurvetson
bbbe2360d0
eth: various typos
2016-03-15 11:27:49 -07:00
Péter Szilágyi
e3f2b541f2
eth/downloader: fix a throughput estimation data race
2016-03-10 12:58:46 +02:00
Péter Szilágyi
e90958cd29
cmd, eth, ethdb, node: prioritise chaindata for resources, bump cache
2016-03-09 10:33:39 +02:00
Péter Szilágyi
ae4982a365
eth: forward empty body responses to the downlaoder
2016-03-03 13:06:23 +02:00
Péter Szilágyi
f30b809f00
Merge pull request #2215 from bas-vk/estimategas
...
core: improved check for contract creation
2016-03-01 10:59:12 +02:00
Péter Szilágyi
64ee5763ee
eth/downloader: fix premature exit before notifying all part fetchers
2016-02-29 14:22:28 +02:00
Felix Lange
26e72b2ccd
eth/downloader: fix header download limiting
...
Fixes #2201
2016-02-26 15:24:51 +01:00
Péter Szilágyi
a6903ad6a5
Merge pull request #2260 from karalabe/ethash-cache-fixes
...
Godeps, eth, tests: update ethash, used shared for testing
2016-02-24 17:58:12 +02:00
Péter Szilágyi
66b148dd8f
Merge pull request #2251 from karalabe/increase-downlaoder-queue
...
eth/downloader: bump the download queue size to prevent starvation
2016-02-24 15:55:21 +02:00
Jeffrey Wilcke
483feb0d3f
Merge pull request #2242 from jimenezrick/upstream-crypto
...
Closes #2241 : Use Keccak-256 from golang.org/x/crypto/sha3 and mention explicitly
2016-02-24 12:57:57 +01:00
Péter Szilágyi
0a5ee08e2b
Godeps, eth, tests: update ethash, used shared for testing
2016-02-24 13:29:47 +02:00
Péter Szilágyi
93c0012000
eth/downloader: bump the download queue size to prevent starvation
2016-02-23 13:12:11 +02:00
Péter Szilágyi
b57a3f154f
Merge pull request #2234 from obscuren/tx-rpc-fix
...
eth: fixed homestead tx check
2016-02-23 10:29:25 +02:00
Péter Szilágyi
1f281dcaab
Merge pull request #2220 from karalabe/fix-rollback-lock
...
eth/downloader: fix partial rollback and ancestor lookup
2016-02-23 10:27:51 +02: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
c616391df2
eth: fixed homestead tx check
...
When a block is queried for retrieval we should add a check whether the
block falls within the frontier rules. If we'd always use `From`
retrieving transaction might fail. This PR temporarily changes
everything to `FromFrontier` (safe!).
2016-02-20 12:39:41 +01:00
Péter Szilágyi
216729009b
eth/downloader: fix partial rollback and ancestor lookup
2016-02-19 11:17:02 +02: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
Bas van Kervel
0ff2adb21b
core: improved check for contract creation
2016-02-16 10:52:46 +01:00
Jeffrey Wilcke
987c1a595a
eth/filters: ✨ pending logs ✨
...
Pending logs are now filterable through the Go API. Filter API changed
such that each filter type has it's own bucket and adding filter
explicitly requires you specify the bucket to put it in.
2016-02-13 13:14:02 +01:00
Péter Szilágyi
537774e049
Merge pull request #2195 from obscuren/gpo-rpc
...
eth: Added GPO to suggest default gas prices
2016-02-11 10:36:37 +02:00
Jeffrey Wilcke
725f2a4cf7
eth: Added GPO to suggest default gas prices
...
This PR fixes a regression of the RPC where the default gas price that
was being used for transaction wasn't properly using the GPO. This PR
adds the GPO back to suggest gas prices rather than the hardcoded
default of 10000000000000.
Closes #2194
2016-02-10 16:50:50 +01:00
Péter Szilágyi
59cd60b266
eth, eth/downloader, jsre: surface state sync progress through the API
2016-02-10 14:30:41 +02:00
Péter Szilágyi
dda5af0e6c
eth, miner: move the public miner api into eth to access etherbase
2016-02-09 16:03:04 +02:00
Péter Szilágyi
f1ec226d80
eth/downloader: raise pending state limit that prevented concurrency
2016-02-08 14:57:02 +02:00
Bas van Kervel
5fb68f4b39
eth: sendTransaction would not report the error when tx could not be added to tx pool
2016-02-08 11:11:07 +01:00
Jeffrey Wilcke
707ac67bab
Merge pull request #2106 from obscuren/out-of-bound-logs
...
eth/filters: added notifications for out of bound log events
2016-02-06 01:11:42 +01:00
Jeffrey Wilcke
68dda34905
eth/filters: added notifications for out of bound log events
...
Out of Bound log events are events that were removed due to a fork. When
logs are received the filtering mechanism should check for the `removed`
field on the json structure.
2016-02-05 16:55:27 +01:00
Péter Szilágyi
6b939fbeaa
rpc: add jsonrpc version to module request, use json types
2016-02-04 16:55:50 +02:00
Péter Szilágyi
5da7ec7c18
cmd, eth, rpc: fix some RPC issues with pending blocks
2016-02-03 10:35:59 +02:00
Péter Szilágyi
a8fd0de0d3
Merge pull request #2156 from ppratscher/add_replay_tx
...
core/vm, rpc/api: added debug_replayTransaction RPC call
2016-02-03 10:34:52 +02: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
d3642b0715
core, eth, rpc/api: rpc method to inspect the txpool queue
2016-02-01 14:58:14 +02:00
Bas van Kervel
19b2640e89
rpc: migrated the RPC insterface to a new reflection based RPC layer
2016-01-26 13:51:50 +01:00
Bas van Kervel
6e7620afe0
eth: changed NodeInfo Genesis and Head types
2016-01-18 13:28:03 +01:00
Péter Szilágyi
9e011ff1cd
core, eth/downloader: ensure state presence in ancestor lookup
2016-01-04 16:27:23 +02:00
Péter Szilágyi
1f39746886
eth/downloader: throttling tests are time-sensitive, don't run parallel
2015-12-30 14:42:21 +02:00
Felix Lange
e6fb69296e
common: remove old RLP implementation, Value and ExtPackage
...
In order to make this happen, kill all remaining trivial uses of
common/{rlp,value}.go. The non-trivial ones have been updated earlier.
2015-12-18 12:09:10 +01:00
Felix Lange
9be5d5cd90
eth/downloader: fix negative balance issue in tests
...
The test chain generated by makeChainFork included invalid uncle
headers, crashing the generator during the state commit.
The headers were invalid because they used the iteration counter as the
block number, even though makeChainFork uses a block with number > 0 as
the parent. Fix this by introducing BlockGen.Number, which allows
accessing the actual number of the block being generated.
2015-12-18 12:09:10 +01:00