Commit Graph

697 Commits

Author SHA1 Message Date
Jeffrey Wilcke
fc46cf337a Merge pull request #1946 from fjl/xeth-oom
Fix for xeth OOM issue
2015-10-29 17:42:55 +01:00
Bas van Kervel
76410df6a2 rpc: return an unsupported error when "pending" was used to create a filter 2015-10-29 17:35:43 +01:00
Felix Lange
fbdb44dcc1 cmd/utils, rpc/comms: stop XEth when IPC connection ends
There are a bunch of changes required to make this work:

- in miner: allow unregistering agents, fix RemoteAgent.Stop
- in eth/filters: make FilterSystem.Stop not crash
- in rpc/comms: move listen loop to platform-independent code

Fixes #1930. I ran the shell loop there for a few minutes and didn't see
any changes in the memory profile.
2015-10-29 17:26:26 +01:00
Bas van Kervel
c3c5f8b654 rpc: fixed params parsing problem which could lead to a panic
check argument type before parsing params
 recover from panic in ipc channel
2015-10-29 09:23:03 +01:00
Péter Szilágyi
e46ab3bdcd eth, p2p, rpc/api: polish protocol info gathering 2015-10-28 12:44:15 +02:00
zelig
4d005a2c1d rpc api: eth_getNatSpec
* xeth, rpc: implement eth_getNatSpec for tx confirmations
* rename silly docserver -> httpclient
* eth/backend: httpclient now accessible via eth.Ethereum init-d via config.DocRoot
* cmd: introduce separate CLI flag for DocRoot (defaults to homedir)
* common/path: delete unused assetpath func, separate HomeDir func
2015-10-26 22:24:09 +01:00
zelig
8b81ad1fc4 console:
* lines with leading space are ommitted from history
* exit processed even with whitespace around
* all whitespace lines (not only empty ones) are ignored

add 7 missing commands to admin api autocomplete

registrar: methods now return proper error if reg addresses are not set. fixes #1457

rpc/console: fix personal.newAccount() regression. Now all comms accept interactive password

registrar: add registrar tests for errors

crypto: catch AES decryption error on presale wallet import + fix error msg format. fixes #1580

CLI: improve error message when starting a second instance of geth. fixes #1564

cli/accounts: unlock multiple accounts. fixes #1785
* make unlocking multiple accounts work with inline <() fd
* passwdfile now correctly read only once
* improve logs
* fix CLI help text for unlocking

fix regression with docRoot / admin API
* docRoot/jspath passed to rpc/api ParseApis, which passes onto adminApi
* docRoot field for JS console in order to pass when RPC is (re)started
* improve flag desc for jspath

common/docserver: catch http errors from response

fix rpc/api tests

common/natspec: fix end to end test (skipped because takes 8s)

registrar: fix major regression:
* deploy registrars on frontier
* register HashsReg and UrlHint in GlobalRegistrar.
* set all 3 contract addresses in code
* zero out addresses first in tests
2015-10-22 00:22:39 +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
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
Péter Szilágyi
c33cc382b3 core: support inserting pure header chains 2015-10-19 10:03:09 +03:00
Jeffrey Wilcke
d5327ddc5f Merge pull request #1869 from Gustav-Simonsson/gpu_miner
all: Add GPU mining, disabled by default
2015-10-16 06:25:33 -07:00
Gustav Simonsson
1b1f293082 core/state, core, miner: handle missing root error from state.New 2015-10-16 02:22:06 +02:00
Gustav Simonsson
ec6a548ee3 all: Add GPU mining, disabled by default 2015-10-07 13:19:30 +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
Felix Lange
90cd8ae9f2 rpc/api: don't crash for unknown blocks
Most eth RPC calls that work with blocks crashed when the block was not
found because they called Hash on a nil block. This is a regression
introduced in cdc2662c409 (#1779).

While here, remove the insane conversions in get*CountBy*. There is no
need to construct a complete BlockRes and converting
int->int64->*big.Int->[]byte->hexnum->string to format the length of a
slice as hex.
2015-09-22 23:59:26 +02:00
Péter Szilágyi
d4d3fc6a70 jsre, rpc/api: pull in new web3 and use hex numbers 2015-09-15 17:05:12 +03:00
Péter Szilágyi
0a7d059b6a eth, rpc: standardize the chain sync progress counters 2015-09-15 14:45:53 +03:00
Felix Lange
47b9c640f5 Merge pull request #1797 from karalabe/ensure-ipcpath-exists
rpc/comms: fix #1795, ensure IPC path exists before binding
2015-09-14 14:45:11 +02:00
Péter Szilágyi
cdc2662c40 core: split out TD from database and all internals 2015-09-11 17:42:25 +03:00
Péter Szilágyi
3e6964b841 rpc/comms: fix #1795, ensure IPC path exists before binding 2015-09-11 17:03:31 +03:00
Hector Chu
4ea81f170a rpc/comms: fix bug attaching the console over http 2015-09-07 15:09:59 +01:00
Felix Lange
9dc23ce284 Merge pull request #1742 from fjl/rpc-receipt-root
rpc: add receiptRoot to getBlock* responses
2015-08-31 14:50:21 +02:00
Felix Lange
8b12bcc0ac rpc: add receiptRoot to getBlock* responses
Fixes #1679
2015-08-29 11:12:01 +02:00
Felix Lange
e1037bd0cf Merge pull request #1724 from Gustav-Simonsson/get_work
rpc: return error code for eth_getWork when no work ready
2015-08-29 10:54:10 +02:00
Bas van Kervel
39e9560600 rpc/api allow empty password 2015-08-28 12:49:41 +02:00
Gustav Simonsson
d9addf79fa Improve error string and remove unneeded else clause 2015-08-28 03:42:01 +02:00
Felix Lange
14370a2260 Merge pull request #1718 from caktux/develop
add missing shh_getMessages to RPC mappings
2015-08-26 18:55:51 +02:00
Felix Lange
3df6f3fc14 Merge pull request #1721 from bas-vk/console-error-parsing
Improved console error handling
2015-08-26 18:55:31 +02:00
Gustav Simonsson
829201382b rpc: return error code for eth_getWork when no work ready 2015-08-26 12:46:50 +02:00
Bas van Kervel
5dd2462816 rpc/api - remove personal.deleteAccount from RPC interface 2015-08-26 11:39:43 +02:00
Bas van Kervel
f448310eef bugfix console error handling 2015-08-26 11:33:02 +02:00
caktux
a1d8015817 add missing shh_getMessages to RPC mappings 2015-08-25 14:42:57 -04:00
Bas van Kervel
d910148a96 Set ipc channel as user agent client 2015-08-24 12:41:34 +02:00
Jeffrey Wilcke
e2d44814a5 Merge pull request #1694 from obscuren/hide-fdtrack
fdtrack: hide message
2015-08-19 13:50:54 -07:00
Bas van Kervel
9bf17eb05a rpc/comms reconnect ipc client after write error 2015-08-19 21:48:56 +02:00
Jeffrey Wilcke
269c5c7107 Revert "fdtrack: temporary hack for tracking file descriptor usage"
This reverts commit 5c949d3b3ba81ea0563575b19a7b148aeac4bf61.
2015-08-19 21:46:01 +02:00
Jeffrey Wilcke
e1da124415 Merge pull request #1675 from obscuren/submithashrate-change
rpc/api: return boolean value for eth_submitHashrate
2015-08-17 11:49:15 -07:00
Jeffrey Wilcke
36081505c4 Merge pull request #1673 from karalabe/fix-api-xeth-responses
rpc: update the xeth over RPC API to use the success/failure messages
2015-08-17 11:47:55 -07:00
Jeffrey Wilcke
8839fee415 rpc/api: return boolean value for eth_submitHashrate 2015-08-17 15:09:30 +02:00
Jeffrey Wilcke
ff1f6fa09d Merge pull request #1649 from maran/pending_tx_response
rpc/api: format pendingTx response. Fixes #1648
2015-08-17 06:02:08 -07:00
Péter Szilágyi
309788de37 rpc: update the xeth over RPC API to use the success/failure messages 2015-08-17 14:04:20 +03:00
Maran
8603ec7055 rpc/api: format pendingTx response. Fixes #1648 2015-08-16 11:12:22 +02:00
Bas van Kervel
f9cbd16f27 support for user agents 2015-08-12 12:22:16 +02:00
Jeffrey Wilcke
a23478c0be core, eth, trie, xeth: merged state, chain, extra databases in one 2015-08-07 22:29:02 +02:00
Jeffrey Wilcke
d7580f21f6 Merge pull request #1595 from obscuren/extra-data
cmd/geth, eth: added canonical extra data
2015-08-07 05:00:36 -07:00
Jeffrey Wilcke
132df860d9 miner, rpc: added length check for extra data 2015-08-07 12:24:44 +02:00
Jeffrey Wilcke
c32073b11f miner, rpc: added submit hashrate for remote agents 2015-08-06 12:58:54 +02:00
Felix Lange
5c949d3b3b fdtrack: temporary hack for tracking file descriptor usage
Package fdtrack logs statistics about open file descriptors.
This should help identify the source of #1549.
2015-08-04 03:10:27 +02:00
Felix Lange
ba14957cf3 rpc/comms: use ConnState to track HTTP connections
The JSON-RPC server wraps TCP connections in order to be able to shut
down them down when RPC is stopped. This is rather scary code. Go 1.3
introduced the http.Server.ConnState hook for such purposes. We can use
this facility now that we depend on Go 1.4.

There are multiple reasons for the switch apart from making the code
less scary:

* the TCP listener no longer ticks every second to check a channel
* pending requests are allowed to finish after stopping the server
* we can time out idle keep-alive connections
2015-08-03 16:27:36 +02:00
Jeffrey Wilcke
33efb3381c Merge pull request #1461 from bas-vk/eth_resend
Old transaction after resend was not removed from pool
2015-08-01 16:18:54 -07:00
Péter Szilágyi
0d3a8ad6dd rpc/api: add missing autocomplete commands 2015-07-31 12:46:16 +03:00
Jeffrey Wilcke
d261c3f455 rpc: to in Call no longer required. Fixed eth_estimateGas 2015-07-29 15:12:12 +02:00
Jeffrey Wilcke
1fad8798ec Merge pull request #1515 from fjl/license-fixes
all: fix license headers one more time
2015-07-28 04:29:42 -07:00
Bas van Kervel
7e31df3987 bugfix, pending transaction was resend with new gas price/limit but not removed from transaction pool 2015-07-28 10:42:31 +02:00
Jeffrey Wilcke
1e241e84f7 params: reduce extra data to 32 bytes 2015-07-26 12:47:57 +02:00
Felix Lange
bfbcfbe4a9 all: fix license headers one more time
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
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".
2015-07-22 18:51:45 +02:00
Bas van Kervel
e84f3ec1d4 added net.version 2015-07-08 08:03:20 +02:00
Felix Lange
bdae4fd573 all: add some godoc synopsis comments 2015-07-07 14:12:45 +02:00
Felix Lange
ea54283b30 all: update license information 2015-07-07 14:12:44 +02:00
Jeffrey Wilcke
e5fba8fd70 Merge pull request #1428 from obscuren/coinbase-fixes
cmd,eth,rpc,tests: default coinbase
2015-07-07 02:55:33 -07:00
zelig
c5cb6e8e70 fix/skip tests, adapt registrar to no contract address
registry initialisers now return the txhash which caller can use to retrieve receipt
2015-07-07 11:30:55 +02:00
Bas van Kervel
3791831081 rebase with zelig/frontier/registrar 2015-07-07 11:30:45 +02:00
Bas van Kervel
7e6c1f8024 corrected input formatters as suggested during review 2015-07-07 11:30:23 +02:00
Bas van Kervel
ceb0739ba1 fixed web3 formatters mismatch 2015-07-07 11:30:11 +02:00
Jeffrey Wilcke
37c1a8f69d eth,miner,rpc: set coinbase 2015-07-07 10:58:47 +02:00
zelig
aa22cf323e fix js arguments and TestContract passes 2015-07-07 10:43:49 +02:00
zelig
518dc87db3 fix sleepBlocks, implement sleep 2015-07-07 10:43:49 +02:00
zelig
6391ec0c8f add missing method to api/admin 2015-07-07 10:43:31 +02:00
zelig
2739233719 Registrar and contractInfo handling
* resolver -> common/registrar
  * global registrar name registry interface
  * add Call to resolver backend interface
  * the hashReg and UrlHing contracts now initialised from global registry
  * initialization of contracts uniform
  * improve errors and more econsistent method names
* common/registrar/ethreg: versioned registrar
* integrate new naming and registrar in natspec
* js console api: setGlobalRegistrar, setHashReg, setUrlHint
* js test TestContract uses mining - tests fixed all pass
* eth/backend: allow PoW test mode (small ethash DAG)
* console jsre refers to resolver.abi/addr,
* cmd/geth/contracts.go moved to common/registrar
2015-07-07 10:43:31 +02:00
zelig
83ee39448e Registrar and contractInfo handling
* resolver -> common/registrar
  * global registrar name registry interface
  * add Call to resolver backend interface
  * the hashReg and UrlHing contracts now initialised from global registry
  * initialization of contracts uniform
  * improve errors and more econsistent method names
* common/registrar/ethreg: versioned registrar
* integrate new naming and registrar in natspec
* js console api: setGlobalRegistrar, setHashReg, setUrlHint
* js test TestContract uses mining - tests fixed all pass
* eth/backend: allow PoW test mode (small ethash DAG)
* console jsre refers to resolver.abi/addr,
* cmd/geth/contracts.go moved to common/registrar
2015-07-07 10:43:31 +02:00
Jeffrey Wilcke
35cd355c14 cmd,eth,rpc,tests: default coinbase 2015-07-07 10:32:05 +02:00
Jeffrey Wilcke
666a7dda36 core, eth, rpc: proper gas used. Closes #1417
Added some additional backward compatibility code for old receipts
2015-07-06 21:18:24 +02:00
Jeffrey Wilcke
4f7fc7b23f rpc, xeth: fixed returned tx hash & receipt logs 2015-07-06 13:43:02 +02:00
Taylor Gerring
6c7f5e3d0e Add autocomplete support for console 2015-07-05 15:42:04 -05:00
Taylor Gerring
62559ac330 Cleanup 2015-07-04 12:14:06 -05:00
Taylor Gerring
30afd37604 Compose additional fields 2015-07-04 12:03:37 -05:00
Taylor Gerring
cd4cc309ae Remove redundant function 2015-07-04 11:28:30 -05:00
Taylor Gerring
3be9046c21 Rename local variable for clarity 2015-07-04 10:24:52 -05:00
Taylor Gerring
481b221279 Decode full receipt storage 2015-07-04 00:00:23 -05:00
Taylor Gerring
80eb8f46b7 Fix hex conversion 2015-07-03 23:46:59 -05:00
Taylor Gerring
3a983d2419 Initial getTransactionReceipt support 2015-07-03 23:03:11 -05:00
Bas van Kervel
e8c1399bbf fixed unittest after new implementation 2015-07-03 16:57:40 +02:00
Bas van Kervel
d9efaf754c simplified implementation and improved performance 2015-07-03 15:44:35 +02:00
Bas van Kervel
f0e94b4d71 display rpc error in console 2015-07-03 12:22:20 +02:00
Bas van Kervel
6be527dd52 prevent discarding requests when parsing fails 2015-07-02 17:25:11 +02:00
Bas van Kervel
effe9cc2cf added pipelining support 2015-07-02 17:25:11 +02:00
ethers
d05305473e fix logging jsonrpc request #1365 2015-06-30 12:14:16 -07:00
Jeffrey Wilcke
ba95e445e1 Merge pull request #1328 from bas-vk/issue1327
Add pendingTransactions and resend
2015-06-30 08:27:03 -07:00
Bas van Kervel
8c4d493c66 solved merge conflicts 2015-06-30 15:32:02 +02:00
Bas van Kervel
a5d5387dee rebase with develop 2015-06-30 15:27:27 +02:00
Jeffrey Wilcke
61ca780f3b core: reduce CPU load by reducing calls to checkQueue
* Reduced maxQueue count
* Added proper deletion past maxQueue limit
* Added cheap stats method to txpool

queueCheck was called for **every** transaction instead of:
1. add all txs
2. check queue

previously

1. add txs[i]
2. check queue
3. if i < len(txs) goto 1.
2015-06-30 14:01:12 +02:00
Bas van Kervel
57dff6f1d7 initialize fields to prevent nil pointer exception 2015-06-30 11:20:31 +02:00
Bas van Kervel
7ffabf1d39 add json parsing method for resend transaction 2015-06-30 11:20:31 +02:00
Bas van Kervel
6fdddc5ac9 improved error handling in parsing request 2015-06-30 11:20:31 +02:00
Bas van Kervel
02c6af66bf fixed unittest compilation issue 2015-06-30 11:20:31 +02:00
Bas van Kervel
ec866b066a added eth.resend 2015-06-30 11:20:31 +02:00
Bas van Kervel
056e9dd393 added eth.pendingTransactions 2015-06-30 11:20:31 +02:00