aboutsummaryrefslogtreecommitdiffstats
path: root/rpc
Commit message (Collapse)AuthorAgeFilesLines
* ethdb, rpc: support building on js/wasm (#17709)Dmitrij Koniajev2018-10-161-0/+37
| | | The changes allow building WebAssembly applications which use ethclient.Client.
* rpc: fix client shutdown hang when Close races with Unsubscribe (#17894)Felix Lange2018-10-153-47/+102
| | | Fixes #17837
* rpc: fix subscription corner case and speed up tests (#17874)Felix Lange2018-10-092-71/+68
| | | | | | | | | | | | | | | | Notifier tracks whether subscription are 'active'. A subscription becomes active when the subscription ID has been sent to the client. If the client sends notifications in the request handler before the subscription becomes active they are dropped. The tests tried to work around this problem by always waiting 5s before sending the first notification. Fix it by buffering notifications until the subscription becomes active. This speeds up all subscription tests. Also fix TestSubscriptionMultipleNamespaces to wait for three messages per subscription instead of six. The test now finishes just after all notifications have been received and doesn't hit the 30s timeout anymore.
* cmd/clef, signer: security fixes (#17554)Martin Holst Swende2018-09-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * signer: remove local path disclosure from extapi * signer: show more data in cli ui * rpc: make http server forward UA and Origin via Context * signer, clef/core: ui changes + display UA and Origin * signer: cliui - indicate less trust in remote headers, see https://github.com/ethereum/go-ethereum/issues/17637 * signer: prevent possibility swap KV-entries in aes_gcm storage, fixes #17635 * signer: remove ecrecover from external API * signer,clef: default reject instead of warn + valideate new passwords. fixes #17632 and #17631 * signer: check calldata length even if no ABI signature is present * signer: fix failing testcase * clef: remove account import from external api * signer: allow space in passwords, improve error messsage * signer/storage: fix typos
* rpc: increase maxRequestContentLength size to 512kB (#17595)HackyMiner2018-09-251-1/+1
|
* rpc: enable basic auth for websocket client (#17699)Peter Broadhurst2018-09-202-6/+75
|
* rpc: reset client write deadline after write (#17549)Gísli Kristjánsson2018-09-031-0/+1
| | | This fixes an issue with websocket ping frame handling.
* rpc: fix a subscription name (#17345)Jay2018-08-091-1/+1
|
* rpc: make HTTP RPC timeouts configurable, raise defaults (#17240)Ryan Schneider2018-07-312-6/+54
| | | | | | | | | | | | | | | | * rpc: Make HTTP server timeout values configurable * rpc: Remove flags for setting HTTP Timeouts, configuring via .toml is sufficient. * rpc: Replace separate constants with a single default struct. * rpc: Update HTTP Server Read and Write Timeouts to 30s. * rpc: Remove redundant NewDefaultHTTPTimeouts function. * rpc: document HTTPTimeouts. * rpc: sanitize timeout values for library use
* rpc: clean up check for missing methods/subscriptions on handler (#17145)Wenbiao Zheng2018-07-241-8/+5
|
* rpc: fix missing parentheses in doc (#17224)cong2018-07-231-1/+1
|
* all: switch out defunct set library to different one (#16873)Ralph Caraveo III2018-07-163-9/+9
| | | | | | * keystore, ethash, eth, miner, rpc, whisperv6: tech debt with now defunct set. * whisperv5: swap out gopkg.in/fatih/set.v0 with supported set
* rpc: fixed comment grammar issue (#17146)LeoLiao2018-07-091-1/+1
|
* all: library changes for swarm-network-rewrite (#16898)Elad2018-06-141-1/+1
| | | | | | | | | | | | This commit adds all changes needed for the merge of swarm-network-rewrite. The changes: - build: increase linter timeout - contracts/ens: export ensNode - log: add Output method and enable fractional seconds in format - metrics: relax test timeout - p2p: reduced some log levels, updates to simulation packages - rpc: increased maxClientSubscriptionBuffer to 20000
* rpc: support returning nil pointer big.Ints (null)Péter Szilágyi2018-06-113-24/+0
|
* rpc: fix a comment typo (#16929)xincaosu2018-06-111-1/+1
|
* rpc: set timeouts for http server, see #16859Martin Holst Swende2018-06-041-1/+6
|
* rpc: use HTTP request context as top-level context (#16861)Ryan Schneider2018-06-021-1/+1
|
* rpc: golint error with context as last parameter (#16657)kiel barry2018-05-033-6/+6
| | | | | | * rpc/*: golint error with context as last parameter * Update json.go
* rpc: handle HTTP response error codes (#16500)Martin Holst Swende2018-04-191-1/+13
|
* all: fix various typos (#16533)Wuxiang2018-04-191-1/+1
| | | | | | | | * fix typo * fix typo * fix typo
* rpc: clean up IPC handler (#16524)Felix Lange2018-04-183-37/+16
| | | | This avoids logging accept errors on shutdown and removes a bit of duplication. It also fixes some goimports lint warnings.
* cmd/clef, signer: initial poc of the standalone signer (#16154)Martin Holst Swende2018-04-164-12/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * signer: introduce external signer command * cmd/signer, rpc: Implement new signer. Add info about remote user to Context * signer: refactored request/response, made use of urfave.cli * cmd/signer: Use common flags * cmd/signer: methods to validate calldata against abi * cmd/signer: work on abi parser * signer: add mutex around UI * cmd/signer: add json 4byte directory, remove passwords from api * cmd/signer: minor changes * cmd/signer: Use ErrRequestDenied, enable lightkdf * cmd/signer: implement tests * cmd/signer: made possible for UI to modify tx parameters * cmd/signer: refactors, removed channels in ui comms, added UI-api via stdin/out * cmd/signer: Made lowercase json-definitions, added UI-signer test functionality * cmd/signer: update documentation * cmd/signer: fix bugs, improve abi detection, abi argument display * cmd/signer: minor change in json format * cmd/signer: rework json communication * cmd/signer: implement mixcase addresses in API, fix json id bug * cmd/signer: rename fromaccount, update pythonpoc with new json encoding format * cmd/signer: make use of new abi interface * signer: documentation * signer/main: remove redundant option * signer: implement audit logging * signer: create package 'signer', minor changes * common: add 0x-prefix to mixcaseaddress in json marshalling + validation * signer, rules, storage: implement rules + ephemeral storage for signer rules * signer: implement OnApprovedTx, change signing response (API BREAKAGE) * signer: refactoring + documentation * signer/rules: implement dispatching to next handler * signer: docs * signer/rules: hide json-conversion from users, ensure context is cleaned * signer: docs * signer: implement validation rules, change signature of call_info * signer: fix log flaw with string pointer * signer: implement custom 4byte databsae that saves submitted signatures * signer/storage: implement aes-gcm-backed credential storage * accounts: implement json unmarshalling of url * signer: fix listresponse, fix gas->uint64 * node: make http/ipc start methods public * signer: add ipc capability+review concerns * accounts: correct docstring * signer: address review concerns * rpc: go fmt -s * signer: review concerns+ baptize Clef * signer,node: move Start-functions to separate file * signer: formatting
* rpc: limit chunked requests (#16343)Felix Lange2018-03-261-1/+2
|
* rpc: enforce the 128KB request limits on websockets tooPéter Szilágyi2018-03-134-22/+66
|
* rpc: set rpcRequest.service as methodNotFoundError.service value (#16163)Janoš Guljaš2018-02-231-1/+1
| | | | | RPC Server readRequest method sets the serverRequest error service value as the rpcRequest.method and this change sets it to the right service value.
* all: update license information (#16089)Felix Lange2018-02-141-1/+1
|
* node, rpc: fix linter issuesMartin Holst Swende2018-02-121-1/+0
|
* rpc: dns rebind protection (#15962)Martin Holst Swende2018-02-121-3/+54
| | | | | | | | | | | | | | | | * cmd,node,rpc: add allowedHosts to prevent dns rebinding attacks * p2p,node: Fix bug with dumpconfig introduced in r54aeb8e4c0bb9f0e7a6c67258af67df3b266af3d * rpc: add wildcard support for rpcallowedhosts + go fmt * cmd/geth, cmd/utils, node, rpc: ignore direct ip(v4/6) addresses in rpc virtual hostnames check * http, rpc, utils: make vhosts into map, address review concerns * node: change log messages to use geth standard (not sprintf) * rpc: fix spelling
* rpc: Support specifying HTTP client in RPC dialing (#15836)Steven Roose2018-01-241-3/+9
| | | | | | | | | | | * rpc: Support specifying HTTP client in RPC dialing Adds a minimal interface that captures http.Client and adds a new method rpc.DialHTTPClient that takes a client using that interface. The existing rpc.DialHTTP method is then alternatively implemented by using the new rpc.DialHTTPClient method provided with a standard *http.Client. * rpc: fix minor doc typos
* rpc: allow OPTIONS requests without Content-Type (#15759)Sorin Neacsu2017-12-281-1/+1
| | | Fixes #15740
* rpc: use method constants instead of literal strings (#15652)Vitaly V2017-12-132-9/+9
|
* all: use gometalinter.v2, fix new gosimple issues (#15650)Zach2017-12-131-1/+1
|
* rpc: minor cleanups to RPC PRPéter Szilágyi2017-11-172-28/+38
|
* rpc: disallow PUT and DELETE on HTTP (#15501)Armani Ferrante2017-11-172-15/+68
| | | Fixes #15493
* rpc: allow dumb empty requests for AWS health checksPéter Szilágyi2017-11-161-7/+10
|
* rpc: warn on WebSocket origin mismatch (#15451)Benoit Verkindt2017-11-101-1/+1
| | | Fixes #15373
* rpc: check content-type for HTTP requests (#15220)bas-vk2017-11-091-0/+11
|
* all: gofmt -w -s (#15419)ferhat elmas2017-11-081-1/+1
|
* p2p: add network simulation framework (#14982)Lewis Marshall2017-09-252-50/+46
| | | | | | This commit introduces a network simulation framework which can be used to run simulated networks of devp2p nodes. The intention is to use this for testing protocols, performing benchmarks and visualising emergent network behaviour.
* rpc: fix megacheck warningsEgon Elbre2017-08-085-62/+24
|
* Merge pull request #14540 from bas-vk/whisper-apiPéter Szilágyi2017-06-261-0/+46
|\ | | | | whisperv5: integrate whisper and implement API
| * whisperv5: integrate whisper and add whisper RPC simulatorBas van Kervel2017-06-151-0/+46
| |
* | rpc: fix closure problem in batch processing (#14688)bloonfield2017-06-261-2/+2
|/ | | Demo of the issue: https://play.golang.org/p/EeTLFfppqC
* Merge pull request #13885 from bas-vk/rpc_generic_pubsubPéter Szilágyi2017-05-036-55/+217
|\ | | | | rpc: support subscriptions under custom namespaces
| * rpc: support subscriptions under custom namespacesBas van Kervel2017-04-256-55/+217
| |
* | rpc: disable CORS if user has not specified custom configBas van Kervel2017-05-021-0/+5
|/
* Merge pull request #13886 from bas-vk/rpc_blocknum_parsePéter Szilágyi2017-04-182-39/+86
|\ | | | | rpc: improve BlockNumber unmarshal parsing
| * rpc: improve BlockNumber unmarshal parsingBas van Kervel2017-04-132-39/+86
| |
* | cmd/utils, node: remove unused solc references and improve RPC config (#14324)bas-vk2017-04-133-13/+8
| | | | | | | | | | Currently http cors and websocket origins are a comma separated string in the config object. These are replaced with string arrays that are more expressive in case of a config file.
* | cmd/geth: add --config file flag (#13875)Felix Lange2017-04-121-3/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * p2p/discover, p2p/discv5: add marshaling methods to Node * p2p/netutil: make Netlist decodable from TOML * common/math: encode nil HexOrDecimal256 as 0x0 * cmd/geth: add --config file flag * cmd/geth: add missing license header * eth: prettify Config again, fix tests * eth: use gasprice.Config instead of duplicating its fields * eth/gasprice: hide nil default from dumpconfig output * cmd/geth: hide genesis block in dumpconfig output * node: make tests compile * console: fix tests * cmd/geth: make TOML keys look exactly like Go struct fields * p2p: use discovery by default This makes the zero Config slightly more useful. It also fixes package node tests because Node detects reuse of the datadir through the NodeDatabase. * cmd/geth: make ethstats URL settable through config file * cmd/faucet: fix configuration * cmd/geth: dedup attach tests * eth: add comment for DefaultConfig * eth: pass downloader.SyncMode in Config This removes the FastSync, LightSync flags in favour of a more general SyncMode flag. * cmd/utils: remove jitvm flags * cmd/utils: make mutually exclusive flag error prettier It now reads: Fatal: flags --dev, --testnet can't be used at the same time * p2p: fix typo * node: add DefaultConfig, use it for geth * mobile: add missing NoDiscovery option * cmd/utils: drop MakeNode This exposed a couple of places that needed to be updated to use node.DefaultConfig. * node: fix typo * eth: make fast sync the default mode * cmd/utils: remove IPCApiFlag (unused) * node: remove default IPC path Set it in the frontends instead. * cmd/geth: add --syncmode * cmd/utils: make --ipcdisable and --ipcpath mutually exclusive * cmd/utils: don't enable WS, HTTP when setting addr * cmd/utils: fix --identity
* rpc: honour pending requests before tearing conn down (#3814)Péter Szilágyi2017-03-241-14/+28
|
* all: import "context" instead of "golang.org/x/net/context"Felix Lange2017-03-2318-252/+32
| | | | | | | | | | There is no need to depend on the old context package now that the minimum Go version is 1.7. The move to "context" eliminates our weird vendoring setup. Some vendored code still uses golang.org/x/net/context and it is now vendored in the normal way. This change triggered new vet checks around context.WithTimeout which didn't fire with golang.org/x/net/context.
* rpc: add support for extended headers in CORS requests (#3783)Micah Zoltu2017-03-161-0/+1
| | | | Fixes #3762. Details about parameter: https://github.com/rs/cors/blob/a62a804a8a009876ca59105f7899938a1349f4b3/cors.go#L50-L54
* all: blidly swap out glog to our log15, logs need reworkPéter Szilágyi2017-02-236-46/+40
|
* rpc: send nil on subscription Err channel when Client is closedFelix Lange2017-01-261-1/+4
| | | | | This change makes client subscriptions compatible with the new Subscription semantics introduced in the previous commit.
* all: fix ineffectual assignments and remove uses of crypto.Sha3Felix Lange2017-01-091-1/+1
| | | | | go get github.com/gordonklaus/ineffassign ineffassign .
* all: fix spelling errorsPéter Szilágyi2017-01-073-3/+3
|
* all: gofmt -w -sFelix Lange2017-01-061-4/+4
|
* rpc: remove HexNumber, replace all uses with hexutil typesFelix Lange2016-12-203-160/+2
| | | | | This change couldn't be automated because HexNumber was used for numbers of all sizes.
* rpc: remove HexBytes, replace all uses with hexutil.BytesFelix Lange2016-12-202-52/+0
|
* rpc: improve error messages for invalid argumentsFelix Lange2016-12-201-31/+32
| | | | The message now includes the index of the invalid arg.
* internal/debug, internal/ethapi, rpc, swarm/storage: Ran "go fmt"Kenji Siu2016-11-011-1/+1
|
* rpc: set CORS Max-Age to reduce preflight OPTIONS requestsJonathan Brown2016-10-031-0/+1
|
* rpc: format filter ID according to spec for quantitiesBas van Kervel2016-09-012-1/+53
|
* internal/ethapi: add missing output fieldsFelix Lange2016-08-042-0/+52
| | | | | | | | - returned headers didn't include mixHash - returned transactions didn't include signature fields - empty transaction input was returned as "", but should be "0x" - returned receipts didn't include the bloom filter - "root" in receipts was missing 0x prefix
* rpc: refactor subscriptions and filtersBas van Kervel2016-08-177-326/+200
|
* rpc: add context argument to EthSubscribeFelix Lange2016-08-063-33/+38
| | | | | It's inconsistent not to pass it and most callers will work with contexts anyway.
* rpc: ensure client doesn't block for slow subscribersFelix Lange2016-08-063-30/+117
| | | | | | | | | | | | | | | | | | | | | I initially made the client block if the 100-element buffer was exceeded. It turns out that this is inconvenient for simple uses of the client which subscribe and perform calls on the same goroutine, e.g. client, _ := rpc.Dial(...) ch := make(chan int) // note: no buffer sub, _ := client.EthSubscribe(ch, "something") for event := range ch { client.Call(...) } This innocent looking code will lock up if the server suddenly decides to send 2000 notifications. In this case, the client's main loop won't accept the call because it is trying to deliver a notification to ch. The issue is kind of hard to explain in the docs and few people will actually read them. Buffering is the simple option and works with close to no overhead for subscribers that always listen.
* rpc: don't exceed context deadline while waiting for send lockFelix Lange2016-08-051-0/+4
|
* rpc: add new client, use it everywhereFelix Lange2016-07-2321-395/+1865
| | | | | | The new client implementation supports concurrent requests, subscriptions and replaces the various ad hoc RPC clients throughout go-ethereum.
* rpc: fix bad method error for batch requestsFelix Lange2016-07-233-9/+15
| | | | | | If a batch request contained an invalid method, the server would reply with a non-batch error response. Fix this by tracking an error for each batch element.
* rpc: remove grace period when shutting down the serverFelix Lange2016-07-231-10/+5
| | | | | | | | | The server delayed closing of connections for 3s when stopping. This was supposed to allow for slow handlers, but it didn't really work. When geth quits, it will just exit immediately after quitting the server. Removing the timer makes testing easier because all connections will be closed after Stop returns.
* Godeps, rpc: switch back to package npipeFelix Lange2016-07-151-3/+3
| | | | | The named pipe implementation from go-winio has some issues that need to be addressed before we can use it again.
* README, core, rpc: fix various typosFabio Berger2016-06-222-4/+4
|
* cmd, console: split off the console into a reusable packagePéter Szilágyi2016-05-301-7/+7
|
* cmd/geth, internal/web3ext, rpc: surface rpc module, fix shh, fix minerPéter Szilágyi2016-05-112-3/+4
|
* rpc: HTTP origin case insensitiveBas van Kervel2016-05-111-4/+4
|
* Merge pull request #2463 from fjl/rpc-context-keyPéter Szilágyi2016-04-193-8/+14
|\ | | | | rpc: remove NotifierContextKey
| * rpc: remove NotifierContextKeyFelix Lange2016-04-163-8/+14
| | | | | | | | | | | | | | 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.
* | rpc: move web3.js extensions to internal/web3extFelix Lange2016-04-151-465/+0
|/
* all: fix go vet warningsFelix Lange2016-04-152-2/+2
|
* all: update license informationFelix Lange2016-04-152-0/+17
|
* eth, rpc: make trace configs optionalPéter Szilágyi2016-04-141-5/+5
|
* internal/debug: add memStats and gcStats to APIFelix Lange2016-04-131-0/+10
|
* eth: add chaindbProperty to debug APIFelix Lange2016-04-131-0/+6
|
* Merge pull request #2359 from bas-vk/rpc-optional-argsJeffrey Wilcke2016-04-1210-355/+262
|\ | | | | rpc: several fixes and support for optional arguments
| * rpc: various fixes/enhancementsBas van Kervel2016-04-1210-355/+262
| | | | | | | | | | | | | | | | 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
* | console: use transaction output formatter for eth.pendingTransactions outputBas van Kervel2016-04-061-1/+9
|/
* Merge pull request #2417 from fjl/rpc-go-winioJeffrey Wilcke2016-04-051-622/+4
|\ | | | | rpc: use go-winio instead of vendoring a named pipe implementation
| * rpc: use go-winio instead of vendoring a named pipe implementationFelix Lange2016-04-041-622/+4
| |
* | rpc: add pub/sub supportBas van Kervel2016-04-0211-218/+572
|/
* Merge pull request #2141 from obscuren/evm-initJeffrey Wilcke2016-03-241-6/+21
|\ | | | | core, core/vm, tests: changed the initialisation behaviour of the EVM
| * eth, rpc: implemented block debugging rpc callsJeffrey Wilcke2016-03-241-6/+21
| | | | | | | | | | | | | | | | | | Implemented the following block debugging RPC calls * Block(RLP) * BlockByFile(fileName) * BlockByNumber(number) * BlockByHash(hash)
* | rpc/http: improve request handlingBas van Kervel2016-03-232-235/+102
|/
* Merge pull request #2280 from bas-vk/js-cleanupJeffrey Wilcke2016-03-032-168/+4
|\ | | | | console: cleanup old autocompletations relics
| * console: cleanup old autocompletations relicsBas van Kervel2016-03-022-168/+4
| |
* | rpc: simplify inproc clientFelix Lange2016-03-011-69/+19
|/ | | | Fixes #2277
* cmd, node, rpc: readd inproc RPC client, expose via nodePéter Szilágyi2016-02-095-9/+114
|
* cmd, common, node, rpc: rework naming convention to canonical onePéter Szilágyi2016-02-091-2/+2
|
* cmd, node, rpc: move websockets into node, break singletonPéter Szilágyi2016-02-052-65/+17
|
* cmd, common, node, rpc: move HTTP RPC into node, drop singletone aspectPéter Szilágyi2016-02-052-56/+8
|
* Merge pull request #2168 from karalabe/move-rpc-into-nodePéter Szilágyi2016-02-051-1/+1
|\ | | | | cmd, common, node, rpc: move IPC into the node itself
| * cmd, common, node, rpc: move IPC into the node itselfPéter Szilágyi2016-02-041-1/+1
| |
* | rpc: add jsonrpc version to module request, use json typesPéter Szilágyi2016-02-041-9/+7
|/
* Merge pull request #2169 from karalabe/fix-http-rpc-methodJeffrey Wilcke2016-02-041-23/+17
|\ | | | | rpc: allow RPC requests on GET too
| * rpc: allow RPC requests on GET tooPéter Szilágyi2016-02-031-23/+17
| |
* | cmd, eth, rpc: fix some RPC issues with pending blocksPéter Szilágyi2016-02-032-8/+7
| |
* | Merge pull request #2156 from ppratscher/add_replay_txPéter Szilágyi2016-02-031-0/+5
|\ \ | |/ |/| core/vm, rpc/api: added debug_replayTransaction RPC call
| * core/vm, rpc/api: renamed to debug.replayTransaction, migrated to new RPC, ↵Peter Pratscher2016-02-021-0/+5
| | | | | | | | | | | | | | | | integrated feedback Integrated code review suggestions Integrated last review comments
* | core, eth, rpc/api: rpc method to inspect the txpool queuePéter Szilágyi2016-02-011-1/+9
|/
* internal/debug: APIs for profiling and tracingFelix Lange2016-01-281-1/+72
| | | | | | The debug package provides an RPC wrapper for glog settings and the debugging facilities of the Go runtime. They can be triggered through both command line flags and the IPC listener.
* rpc: fix success response encoding for null return valueFelix Lange2016-01-271-1/+1
| | | | | The "result" field of JSON-RPC 2.0 responses was omitted if the result was nil, causing exceptions in web3.js.
* rpc: migrated the RPC insterface to a new reflection based RPC layerBas van Kervel2016-01-2663-11095/+1432
|
* Merge pull request #2136 from fjl/glog-prefixFelix Lange2016-01-264-41/+13
|\ | | | | logger/glog: improve vmodule
| * node, rpc/api: add debug_vmodule, move admin_verbosity to debug_verbosityFelix Lange2016-01-214-41/+13
| |
* | console: add admin.sleep and admin.sleepBlocksBas van Kervel2016-01-191-0/+75
|/
* Merge pull request #2061 from zsfelfoldi/rpc-contextFelix Lange2015-12-164-18/+70
|\ | | | | rpc: optionally passing context argument to rpc v2 api methods
| * rpc/v2: optionally passing context argument to rpc v2 api methodszsfelfoldi2015-12-164-18/+70
| |
* | core, eth, node, rpc: port the admin and debug APIPéter Szilágyi2015-12-151-6/+6
|/
* rpc: new RPC implementation with pub/sub supportBas van Kervel2015-12-1414-4/+1919
|
* cmd, eth, node, rpc, xeth: use single-instance servicesPéter Szilágyi2015-11-272-2/+2
|
* cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacksPéter Szilágyi2015-11-273-19/+32
|
* Merge pull request #1666 from obscuren/create-transactionJeffrey Wilcke2015-11-212-7/+61
|\ | | | | rpc/api, xeth: added signTransaction method
| * rpc/api, xeth: added signTransaction methodJeffrey Wilcke2015-11-182-7/+61
| | | | | | | | | | | | | | SignTransaction creates a transaction but does submit it to the network. SignTransaction returns a structure which includes the transaction object details as well as the RLP encoded transaction that could possibly be submitted by the SendRawTransaction method.
* | Merge pull request #1917 from obscuren/validator-interfaceJeffrey Wilcke2015-11-191-4/+24
|\ \ | | | | | | core, eth, rpc: split out block validator and state processor
| * | core, eth, rpc: split out block validator and state processorJeffrey Wilcke2015-11-181-4/+24
| |/ | | | | | | | | | | | | | | | | | | | | | | This removes the burden on a single object to take care of all validation and state processing. Now instead the validation is done by the `core.BlockValidator` (`types.Validator`) that takes care of both header and uncle validation through the `ValidateBlock` method and state validation through the `ValidateState` method. The state processing is done by a new object `core.StateProcessor` (`types.Processor`) and accepts a new state as input and uses that to process the given block's transactions (and uncles for rewords) to calculate the state root for the next block (P_n + 1).
* / rpc/api: fix #1986, newIdentity autocompletePéter Szilágyi2015-11-181-1/+1
|/
* rpc/api: fix #1972 api regression (nil eth panic) in attachPéter Szilágyi2015-11-062-7/+4
|
* Merge pull request #1934 from karalabe/polish-protocol-infosJeffrey Wilcke2015-11-042-4/+7
|\ | | | | eth, p2p, rpc/api: polish protocol info gathering
| * eth, p2p, rpc/api: polish protocol info gatheringPéter Szilágyi2015-10-282-4/+7
| |
* | Merge pull request #1948 from bas-vk/rpcfixJeffrey Wilcke2015-11-032-7/+12
|\ \ | | | | | | Infinite loop in filters
| * | rpc: return an unsupported error when "pending" was used to create a filterBas van Kervel2015-10-302-7/+12
| |/
* | Merge pull request #1946 from fjl/xeth-oomJeffrey Wilcke2015-10-303-70/+49
|\ \ | | | | | | Fix for xeth OOM issue
| * | cmd/utils, rpc/comms: stop XEth when IPC connection endsFelix Lange2015-10-303-70/+49
| |/ | | | | | | | | | | | | | | | | | | | | 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.
* / rpc: fixed params parsing problem which could lead to a panicBas van Kervel2015-10-292-7/+18
|/ | | | | check argument type before parsing params recover from panic in ipc channel
* rpc api: eth_getNatSpeczelig2015-10-275-15/+31
| | | | | | | | * 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
* console:zelig2015-10-227-21/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* core, eth, trie: fix data races and merge/review issuesPéter Szilágyi2015-10-211-3/+1
|
* core, eth: receipt chain reconstructionPéter Szilágyi2015-10-191-1/+1
|
* core: differentiate receipt concensus and storage decodingPéter Szilágyi2015-10-191-2/+2
|
* core: support inserting pure header chainsPéter Szilágyi2015-10-191-7/+1
|
* Merge pull request #1869 from Gustav-Simonsson/gpu_minerJeffrey Wilcke2015-10-161-1/+1
|\ | | | | all: Add GPU mining, disabled by default
| * all: Add GPU mining, disabled by defaultGustav Simonsson2015-10-071-1/+1
| |
* | core/state, core, miner: handle missing root error from state.NewGustav Simonsson2015-10-161-3/+3
| |
* | cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-043-6/+6
| | | | | | | | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
* | cmd/evm, core/vm, test: refactored VM and coreJeffrey Wilcke2015-10-041-3/+3
|/ | | | | | | | | | | | | | | | | * 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`.
* rpc/api: don't crash for unknown blocksFelix Lange2015-09-231-25/+23
| | | | | | | | | | | 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.
* jsre, rpc/api: pull in new web3 and use hex numbersPéter Szilágyi2015-09-152-7/+3
|
* eth, rpc: standardize the chain sync progress countersPéter Szilágyi2015-09-155-17/+20
|
* Merge pull request #1797 from karalabe/ensure-ipcpath-existsFelix Lange2015-09-141-1/+6
|\ | | | | rpc/comms: fix #1795, ensure IPC path exists before binding
| * rpc/comms: fix #1795, ensure IPC path exists before bindingPéter Szilágyi2015-09-111-1/+6
| |
* | core: split out TD from database and all internalsPéter Szilágyi2015-09-112-40/+36
|/
* rpc/comms: fix bug attaching the console over httpHector Chu2015-09-071-2/+2
|
* Merge pull request #1742 from fjl/rpc-receipt-rootFelix Lange2015-08-311-0/+6
|\ | | | | rpc: add receiptRoot to getBlock* responses
| * rpc: add receiptRoot to getBlock* responsesFelix Lange2015-08-291-0/+6
| | | | | | | | Fixes #1679
* | Merge pull request #1724 from Gustav-Simonsson/get_workFelix Lange2015-08-293-1/+23
|\ \ | | | | | | rpc: return error code for eth_getWork when no work ready
| * | Improve error string and remove unneeded else clauseGustav Simonsson2015-08-282-5/+5
| | |
| * | rpc: return error code for eth_getWork when no work readyGustav Simonsson2015-08-263-1/+23
| | |
* | | rpc/api allow empty passwordBas van Kervel2015-08-282-4/+4
| |/ |/|
* | Merge pull request #1718 from caktux/developFelix Lange2015-08-271-0/+1
|\ \ | | | | | | add missing shh_getMessages to RPC mappings
| * | add missing shh_getMessages to RPC mappingscaktux2015-08-261-0/+1
| |/
* | Merge pull request #1721 from bas-vk/console-error-parsingFelix Lange2015-08-272-8/+7
|\ \ | | | | | | Improved console error handling
| * | bugfix console error handlingBas van Kervel2015-08-262-8/+7
| |/
* / rpc/api - remove personal.deleteAccount from RPC interfaceBas van Kervel2015-08-263-47/+0
|/
* Set ipc channel as user agent clientBas van Kervel2015-08-244-20/+48
|
* Merge pull request #1694 from obscuren/hide-fdtrackJeffrey Wilcke2015-08-202-6/+2
|\ | | | | fdtrack: hide message
| * Revert "fdtrack: temporary hack for tracking file descriptor usage"Jeffrey Wilcke2015-08-202-6/+2
| | | | | | | | This reverts commit 5c949d3b3ba81ea0563575b19a7b148aeac4bf61.
* | rpc/comms reconnect ipc client after write errorBas van Kervel2015-08-201-3/+5
|/
* Merge pull request #1675 from obscuren/submithashrate-changeJeffrey Wilcke2015-08-181-2/+2
|\ | | | | rpc/api: return boolean value for eth_submitHashrate
| * rpc/api: return boolean value for eth_submitHashrateJeffrey Wilcke2015-08-171-2/+2
| |
* | Merge pull request #1673 from karalabe/fix-api-xeth-responsesJeffrey Wilcke2015-08-181-5/+13
|\ \ | | | | | | rpc: update the xeth over RPC API to use the success/failure messages
| * | rpc: update the xeth over RPC API to use the success/failure messagesPéter Szilágyi2015-08-171-5/+13
| |/
* | Merge pull request #1649 from maran/pending_tx_responseJeffrey Wilcke2015-08-171-8/+8
|\ \ | |/ |/| rpc/api: format pendingTx response. Fixes #1648
| * rpc/api: format pendingTx response. Fixes #1648Maran2015-08-161-8/+8
| |
* | support for user agentsBas van Kervel2015-08-1215-71/+337
|/
* core, eth, trie, xeth: merged state, chain, extra databases in oneJeffrey Wilcke2015-08-081-1/+1
|
* Merge pull request #1595 from obscuren/extra-dataJeffrey Wilcke2015-08-071-6/+2
|\ | | | | cmd/geth, eth: added canonical extra data
| * miner, rpc: added length check for extra dataJeffrey Wilcke2015-08-071-6/+2
| |
* | miner, rpc: added submit hashrate for remote agentsJeffrey Wilcke2015-08-062-0/+41
|/
* fdtrack: temporary hack for tracking file descriptor usageFelix Lange2015-08-042-2/+6
| | | | | Package fdtrack logs statistics about open file descriptors. This should help identify the source of #1549.
* rpc/comms: use ConnState to track HTTP connectionsFelix Lange2015-08-032-205/+162
| | | | | | | | | | | | | | 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
* Merge pull request #1461 from bas-vk/eth_resendJeffrey Wilcke2015-08-022-7/+19
|\ | | | | Old transaction after resend was not removed from pool
| * bugfix, pending transaction was resend with new gas price/limit but not ↵Bas van Kervel2015-07-282-7/+19
| | | | | | | | removed from transaction pool
* | rpc/api: add missing autocomplete commandsPéter Szilágyi2015-07-311-5/+12
| |
* | rpc: to in Call no longer required. Fixed eth_estimateGasJeffrey Wilcke2015-07-293-8/+4
| |
* | Merge pull request #1515 from fjl/license-fixesJeffrey Wilcke2015-07-2849-49/+49
|\ \ | | | | | | all: fix license headers one more time
| * | all: fix license headers one more timeFelix Lange2015-07-2449-49/+49
| | | | | | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* | | params: reduce extra data to 32 bytesJeffrey Wilcke2015-07-261-0/+8
|/ /
* / all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-2349-196/+196
|/ | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* added net.versionBas van Kervel2015-07-083-2/+10
|
* all: add some godoc synopsis commentsFelix Lange2015-07-071-0/+1
|
* all: update license informationFelix Lange2015-07-0749-0/+784
|
* Merge pull request #1428 from obscuren/coinbase-fixesJeffrey Wilcke2015-07-073-0/+43
|\ | | | | cmd,eth,rpc,tests: default coinbase
| * eth,miner,rpc: set coinbaseJeffrey Wilcke2015-07-071-1/+1
| |
| * cmd,eth,rpc,tests: default coinbaseJeffrey Wilcke2015-07-073-0/+43
| |
* | fix/skip tests, adapt registrar to no contract addresszelig2015-07-071-6/+6
| | | | | | | | registry initialisers now return the txhash which caller can use to retrieve receipt
* | rebase with zelig/frontier/registrarBas van Kervel2015-07-071-20/+10
| |
* | corrected input formatters as suggested during reviewBas van Kervel2015-07-076-24/+4
| |
* | fixed web3 formatters mismatchBas van Kervel2015-07-079-174/+73
| |
* | fix js arguments and TestContract passeszelig2015-07-072-17/+19
| |
* | fix sleepBlocks, implement sleepzelig2015-07-073-18/+44
| |
* | add missing method to api/adminzelig2015-07-072-2/+17
| |
* | Registrar and contractInfo handlingzelig2015-07-073-13/+508
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | Registrar and contractInfo handlingzelig2015-07-072-0/+79
|/ | | | | | | | | | | | | | | | * 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
* core, eth, rpc: proper gas used. Closes #1417Jeffrey Wilcke2015-07-072-5/+4
| | | | Added some additional backward compatibility code for old receipts
* rpc, xeth: fixed returned tx hash & receipt logsJeffrey Wilcke2015-07-061-9/+14
|
* Add autocomplete support for consoleTaylor Gerring2015-07-061-0/+1
|
* CleanupTaylor Gerring2015-07-051-4/+4
|
* Compose additional fieldsTaylor Gerring2015-07-052-5/+18
|
* Remove redundant functionTaylor Gerring2015-07-051-1/+1
|
* Rename local variable for clarityTaylor Gerring2015-07-041-2/+2
|
* Decode full receipt storageTaylor Gerring2015-07-041-2/+4
|
* Fix hex conversionTaylor Gerring2015-07-041-1/+2
|
* Initial getTransactionReceipt supportTaylor Gerring2015-07-042-0/+43
|
* fixed unittest after new implementationBas van Kervel2015-07-031-37/+1
|
* simplified implementation and improved performanceBas van Kervel2015-07-031-103/+20
|
* display rpc error in consoleBas van Kervel2015-07-032-13/+15
|
* prevent discarding requests when parsing failsBas van Kervel2015-07-022-26/+273
|
* added pipelining supportBas van Kervel2015-07-021-15/+20
|
* fix logging jsonrpc request #1365ethers2015-07-011-1/+1
|
* Merge pull request #1328 from bas-vk/issue1327Jeffrey Wilcke2015-06-305-8/+252
|\ | | | | Add pendingTransactions and resend
| * solved merge conflictsBas van Kervel2015-06-301-9/+0
| |\
| | * initialize fields to prevent nil pointer exceptionBas van Kervel2015-06-291-3/+8
| | |
| | * add json parsing method for resend transactionBas van Kervel2015-06-292-2/+76
| | |
| | * improved error handling in parsing requestBas van Kervel2015-06-292-2/+8
| | |
| | * fixed unittest compilation issueBas van Kervel2015-06-241-2/+3
| | |
| | * added eth.resendBas van Kervel2015-06-244-0/+76
| | |
| | * added eth.pendingTransactionsBas van Kervel2015-06-244-6/+79
| | |
| * | rebase with developBas van Kervel2015-06-302-15/+33
| | |
| * | initialize fields to prevent nil pointer exceptionBas van Kervel2015-06-301-3/+8
| | |
| * | add json parsing method for resend transactionBas van Kervel2015-06-302-2/+76
| | |
| * | improved error handling in parsing requestBas van Kervel2015-06-302-2/+8
| | |
| * | fixed unittest compilation issueBas van Kervel2015-06-301-2/+3
| | |
| * | added eth.resendBas van Kervel2015-06-304-0/+76
| | |
| * | added eth.pendingTransactionsBas van Kervel2015-06-304-6/+79
| | |
* | | core: reduce CPU load by reducing calls to checkQueueJeffrey Wilcke2015-06-301-2/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | core, eth, rpc: avoid unnecessary block header copyingFelix Lange2015-06-301-8/+10
| |
* | rpc: unmask pending block fieldsFelix Lange2015-06-301-8/+0
| | | | | | | | This pleases the RPC tests.
* | Merge pull request #1321 from karalabe/cut-it-open-3000Jeffrey Wilcke2015-06-254-0/+183
|\ \ | | | | | | Metrics collecting and reporting support
| * | cmd/geth, rpc/api: fix reported metrics issuesPéter Szilágyi2015-06-251-15/+12
| | |
| * | rpc/api, cmd/geth: retrievel all percentiles, add time unitsPéter Szilágyi2015-06-241-21/+22
| | |
| * | cmd/geth, rpc/api: extend metrics API, add a basic monitor commandPéter Szilágyi2015-06-244-32/+148
| | |
| * | cmd/geth, rpc/api: move the metrics into the new consolePéter Szilágyi2015-06-242-0/+69
| |/
* | improved logging for IPC connection lifetime managementBas van Kervel2015-06-254-12/+23
| |
* | added IPC timeout supportBas van Kervel2015-06-251-26/+34
| |
* | support for large request/response on windowsunknown2015-06-251-31/+8
| |
* | support for large requests/responsesBas van Kervel2015-06-253-17/+32
| |
* | added support for batch requestsBas van Kervel2015-06-253-21/+78
|/
* bugfix in startRPC error handlingBas van Kervel2015-06-231-4/+4
|