Commit Graph

748 Commits

Author SHA1 Message Date
Jeffrey Wilcke 6dfbbc3e11 Merge pull request #1948 from bas-vk/rpcfix
Infinite loop in filters
2015-11-03 15:22:02 +01:00
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 cdc2662c40 (#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 5c949d3b3b.
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
Felix Lange 76821d167a core, eth, rpc: avoid unnecessary block header copying 2015-06-29 18:51:48 +02:00
Felix Lange 7098ec691c rpc: unmask pending block fields
This pleases the RPC tests.
2015-06-29 18:51:47 +02:00
Bas van Kervel 61ccc39b56 initialize fields to prevent nil pointer exception 2015-06-29 12:42:47 +02:00
Bas van Kervel f9264e87ec add json parsing method for resend transaction 2015-06-29 12:32:01 +02:00
Bas van Kervel a355777ff8 improved error handling in parsing request 2015-06-29 11:13:28 +02:00
Jeffrey Wilcke b0a5be4495 Merge pull request #1321 from karalabe/cut-it-open-3000
Metrics collecting and reporting support
2015-06-25 08:18:42 -07:00
Bas van Kervel 662285074e improved logging for IPC connection lifetime management 2015-06-25 15:54:16 +02:00
Péter Szilágyi fdbf8be735 cmd/geth, rpc/api: fix reported metrics issues 2015-06-25 15:33:26 +03:00
Bas van Kervel 5757a0edb5 added IPC timeout support 2015-06-25 14:32:22 +02:00
unknown 04910c902a support for large request/response on windows 2015-06-25 04:53:41 -07:00
Bas van Kervel ffbe5656ff support for large requests/responses 2015-06-25 13:18:10 +02:00
Bas van Kervel 6d92fdc0df added support for batch requests 2015-06-25 12:01:28 +02:00
Péter Szilágyi 92ef33d97a rpc/api, cmd/geth: retrievel all percentiles, add time units 2015-06-24 18:34:05 +03:00
Péter Szilágyi e5b820c47b cmd/geth, rpc/api: extend metrics API, add a basic monitor command 2015-06-24 18:34:05 +03:00
Péter Szilágyi bde2ff0343 cmd/geth, rpc/api: move the metrics into the new console 2015-06-24 18:34:05 +03:00
Bas van Kervel ee73f09727 fixed unittest compilation issue 2015-06-24 16:07:44 +02:00
Bas van Kervel dc58568a25 added eth.resend 2015-06-24 14:56:53 +02:00
Bas van Kervel f1a4a6e563 added eth.pendingTransactions 2015-06-24 13:53:37 +02:00
Bas van Kervel 57c911c398 bugfix in startRPC error handling 2015-06-23 08:26:17 +02:00
Bas van Kervel 6d596b1ad1 fixed eth sign unittest 2015-06-22 13:19:59 +02:00
Bas van Kervel 2e0b56a72b added RPC start/stop support 2015-06-22 12:47:32 +02:00
Bas van Kervel 2737baa657 fixed unittests 2015-06-22 09:17:09 +02:00
Bas van Kervel f87501b1c5 added batch support to console and attach actions 2015-06-22 09:17:09 +02:00
Bas van Kervel 3ff272b618 moved solidity test to new rpc structure 2015-06-22 09:17:09 +02:00
Bas van Kervel ce5c94e471 added attach over http/rpc support 2015-06-22 09:17:09 +02:00
Bas van Kervel f202563777 added attach over ipc command 2015-06-22 09:17:09 +02:00
Bas van Kervel 603192cfa7 cleanup comments/code 2015-06-22 09:17:09 +02:00
Bas van Kervel a4a4e9fcf8 removed old rpc structure and added new inproc api client 2015-06-22 09:17:09 +02:00
Bas van Kervel 3e1d635f8d fixed rpc test failure in eth.blockNumber 2015-06-22 08:54:21 +02:00
Bas van Kervel 9ac1b4e59e fixed rpc test failure in net_peerCount 2015-06-22 08:54:21 +02:00
Bas van Kervel 5fdf72b1ab fixed web3 rpc test failures 2015-06-22 08:54:21 +02:00
Bas van Kervel c3f6c322c0 added DB api 2015-06-22 08:54:21 +02:00
Bas van Kervel 5c25403b13 refactored old rpc structure to new 2015-06-22 08:54:21 +02:00
Bas van Kervel fd764d4ff7 added comms http 2015-06-22 08:54:21 +02:00
Bas van Kervel 60c2ccd99c made ipc handler generic and reusable 2015-06-22 08:54:21 +02:00
Jeffrey Wilcke 0fa2750fc9 Merge pull request #1290 from tgerring/dataargs
unit test coverage for NewDataArgs
2015-06-19 07:44:39 -07:00
Jeffrey Wilcke e4f9ec886b Merge pull request #1267 from SilentCicero/develop
eth_sendRawTransaction JSON RPC
2015-06-18 11:33:50 -07:00
Taylor Gerring 5afebc2a4b unit test coverage for NewDataArgs 2015-06-17 18:07:45 +02:00
SilentCicero 7ec8c257ff New DataArgs and eth_sendRawTransaction 2015-06-16 12:28:10 -04:00
Nick Dodson e952bb65e7 thanks subtly :) 2015-06-16 00:06:28 -04:00
Nick Dodson 2642e091e9 NewSigArgs arg change. 2015-06-15 16:01:01 -04:00
Jeffrey Wilcke cc0b451119 Merge pull request #1260 from obscuren/tx-drop-low-tx
core: drop low gas tx
2015-06-15 09:09:44 -07:00
obscuren 2628103f1d rpc/api: fixed default gas-(price) issue. 2015-06-15 17:21:08 +02:00
Nick Dodson ad56aef5d2 Update utils.go 2015-06-15 11:10:40 -04:00
Nick Dodson c3b80123e3 Update eth.go 2015-06-15 11:10:24 -04:00
Nick Dodson f9f9352ceb Change eth_pushTx case to eth_sendRawTransaction 2015-06-15 10:50:07 -04:00
SilentCicero d6233c7d2d Changed variable names 2015-06-15 10:07:32 -04:00
zsfelfoldi b42b70eb5f fixed rpc/api.GasPrice 2015-06-15 15:55:39 +02:00
zsfelfoldi 3f94d09c1f fixed saving receipts 2015-06-15 15:55:38 +02:00