aboutsummaryrefslogtreecommitdiffstats
path: root/ethclient
Commit message (Collapse)AuthorAgeFilesLines
* ethclient, internal/ethapi: add support for EIP-695 (eth_chainId) (#19694)Felix Lange2019-06-112-0/+26
| | | | EIP-695 was written in 2017. Parity and Infura have support for this method and we should, too.
* ethclient: ensure tx json is not nil before accessing it (#19653)Dmitry Shulyak2019-06-032-6/+25
| | | | TransactionInBlock crashed if json was nil and there was an error because it tried to access fields `From` and `BlockHash` of the nil object.
* eth, les: add error when accessing missing block state (#18346)Martin Holst Swende2019-05-021-0/+151
| | | | | | This change makes getBalance, getCode, getStorageAt, getProof, call, getTransactionCount return an error if the block number in the request doesn't exist. getHeaderByNumber still returns null for missing headers.
* ethclient: include block hash from FilterQuery (#17996)tamirms2018-11-082-11/+145
| | | | | ethereum/go-ethereum#16734 introduced BlockHash to the FilterQuery struct. However, ethclient was not updated to include BlockHash in the actual RPC request.
* ethclient: fix RPC parse error of Parity response (#16924)Steven Roose2018-06-111-6/+12
| | | | | The error produced when using a Parity RPC was the following: ERROR: transaction did not get mined: failed to get tx for txid 0xbdeb094b3278019383c8da148ff1cb5b5dbd61bf8731bc2310ac1b8ed0235226: json: cannot unmarshal non-string into Go struct field txExtraInfo.blockHash of type common.Hash
* ethclient: add DialContext and Close (#16318)Lorenzo Manacorda2018-04-191-1/+9
| | | | | DialContext allows users to pass a Context object for cancellation. Close closes the underlying RPC connection.
* ethclient: remove empty object in newHeads subscription call (#16454)Ivo Georgiev2018-04-091-1/+1
|
* all: switch gas limits from big.Int to uint64Péter Szilágyi2018-01-031-6/+6
|
* ethclient, mobile: add TransactionSender (#15127)Felix Lange2017-10-012-20/+124
| | | | | | | | | | | | | | | | | * core/types: make Signer derive address instead of public key There are two reasons to do this now: The upcoming ethclient signer doesn't know the public key, just the address. EIP 208 will introduce a new signer which derives the 'entry point' address for transactions with zero signature. The entry point has no public key. Other changes to the interface ease the path make to moving signature crypto out of core/types later. * ethclient, mobile: add TransactionSender The new method can get the right signer without any crypto, and without knowledge of the signature scheme that was used when the transaction was included.
* ethclient: add NetworkID method (#14791)Jim McDonald2017-08-011-0/+13
| | | | There is currently no simple way to obtain the network ID from a Client. This adds a NetworkID method that wraps the net_version JSON-RPC call.
* core, ethclient: implement Metropolis EIP 98 (#14750)Péter Szilágyi2017-07-171-2/+0
| | | Implements ethereum/EIPs#98
* ethclient: fix TransactionByHash pending return value. (#14663)Jim McDonald2017-06-211-2/+2
| | | | | | As per #14661 TransactionByHash always returns false for pending. This uses blockNumber rather than blockHash to ensure that it returns the correct value for pending and will not suffer side-effects if eth_getTransactionByHash is fixed in future.
* all: import "context" instead of "golang.org/x/net/context"Felix Lange2017-03-231-1/+1
| | | | | | | | | | 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.
* core/vm: move Log to core/typesFelix Lange2017-01-061-4/+3
| | | | | | | | This significantly reduces the dependency closure of ethclient, which no longer depends on core/vm as of this change. All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too, the constructor simply returned a literal.
* Merge pull request #3505 from bas-vk/txinblockPéter Szilágyi2017-01-041-1/+1
|\ | | | | ethclient: hex encode request args for TransactionInBlock
| * ethclient: hex encode request args for TransactionInBlockBas van Kervel2017-01-031-1/+1
| |
* | ethclient: pass ptr when parsing eth_getTransactionByHash resultBas van Kervel2016-12-221-1/+1
|/
* ethclient, ethereum: add NotFound, split transactions out of ChainReaderFelix Lange2016-12-052-16/+35
| | | | | | | | | ethclient now returns ethereum.NotFound if the server returns null and no error while accessing blockchain data. The light client cannot provide arbitrary transactions. The change to split transaction access into its own interface emphasizes that transactions should not be relied on and recommends use of logs.
* ethclient: use package hexutil for number encodingFelix Lange2016-12-051-2/+2
|
* ethclient: don't crash if server returns null uncle headerFelix Lange2016-12-051-0/+3
| | | | | It should never return null for a known uncle, but even if it does we can't just crash.
* ethclient: "addresses" -> "address" in filter query encodingFelix Lange2016-11-281-1/+1
|
* ethclient: use package hexutil for JSON handlingFelix Lange2016-11-281-34/+35
|
* core/types, params: EIP#155Jeffrey Wilcke2016-11-131-2/+6
|
* all: update license informationFelix Lange2016-11-091-0/+16
|
* ethclient: changed TransactionByHash to only pass one argument to api method ↵Steven Roose2016-10-281-1/+1
| | | | | (#3209) Fixes #3203
* ethclient: bugfix retrieving logsBas van Kervel2016-09-211-2/+2
|
* ethclient: fix new block->header subscription endpointPéter Szilágyi2016-09-081-1/+1
|
* ethereum, ethclient: add SyncProgress API endpointPéter Szilágyi2016-09-062-0/+34
|
* ethclient: add initial implementation of the typed RPC clientFelix Lange2016-08-102-0/+399
ethclient implements the proposed Ethereum Go API. There are no tests at the moment, a suite that excercises all implementations of the API will be added later.