- Sep 02, 2016
-
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
- Aug 23, 2016
-
-
Stein Dekker authored
-
Nick Johnson authored
-
- Aug 22, 2016
-
-
Felix Lange authored
In this commit, contract bindings and their backend start using the Ethereum Go API interfaces offered by ethclient. This makes ethclient a suitable replacement for the old remote backend and gets us one step closer to the final stable Go API that is planned for go-ethereum 1.5. The changes in detail: * Pending state is optional for read only contract bindings. BoundContract attempts to discover the Pending* methods via an interface assertion. There are a couple of advantages to this: ContractCaller is just two methods and can be implemented on top of pretty much anything that provides Ethereum data. Since the backend interfaces are now disjoint, ContractBackend can simply be declared as a union of the reader and writer side. * Caching of HasCode is removed. The caching could go wrong in case of chain reorganisations and removing it simplifies the code a lot. We'll figure out a performant way of providing ErrNoCode before the 1.5 release. * BoundContract now ensures that the backend receives a non-nil context with every call.
-
Nick Johnson authored
This CL makes several refactors: - Define a Tracer interface, implementing the `CaptureState` method - Add the VM environment as the first argument of `Tracer.CaptureState` - Rename existing functionality `StructLogger` an make it an implementation of `Tracer` - Delete `StructLogCollector` and make `StructLogger` collect the logs directly - Change all callers to use the new `StructLogger` where necessary and extract logs from that. - Deletes the apparently obsolete and likely nonfunctional 'TraceCall' from the eth API. Callers that only wish accumulated logs can use the `StructLogger` implementation straightforwardly. Callers that wish to efficiently capture VM traces and operate on them without excessive copying can now implement the `Tracer` interface to receive VM state at each step and do with it as they wish. This CL also removes the accumulation of logs from the vm.Environment; this was necessary as part of the refactor, but also simplifies it by removing a responsibility that doesn't directly belong to the Environment.
-
- Aug 19, 2016
-
-
Péter Szilágyi authored
-
- Aug 17, 2016
-
-
Felix Lange authored
Support for legacy version 0.9.x is gone. The compiler version is no longer cached. Compilation results (and the version) are read directly from stdout using the --combined-json flag. As a workaround for ethereum/solidity#651, source code is written to a temporary file before compilation. Integration of solc in package ethapi and cmd/abigen is now much simpler because the compiler wrapper is no longer passed around as a pointer. Fixes #2806, accidentally
-
Felix Lange authored
-
Felix Lange authored
The account manager was previously created by packge cmd/utils as part of flag processing and then passed down into eth.Ethereum through its config struct. Since we are starting to create nodes which do not have eth.Ethereum as a registered service, the code was rearranged to register the account manager as its own service. Making it a service is ugly though and it doesn't really fix the root cause: creating nodes without eth.Ethereum requires duplicating lots of code. This commit splits utils.MakeSystemNode into three functions, making creation of other node/service configurations easier. It also moves the account manager into Node so it can be used by those configurations without requiring package eth.
-
Bas van Kervel authored
-
- Aug 16, 2016
-
-
Bas van Kervel authored
-
- Aug 04, 2016
-
-
Felix Lange authored
ValidateFields was introduced before the rlp decoder disallowed nil values. Decoding RLP will never return nil values, there is no need to check for them.
-
- Jul 26, 2016
-
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
- Jul 25, 2016
-
-
Péter Szilágyi authored
-
- Jul 22, 2016
-
-
Péter Szilágyi authored
-
Felix Lange authored
The eth/61 protocol was disabled in #2776, this commit removes its message handlers and hash-chain sync logic.
-
- Jul 19, 2016
-
-
Zsolt Felföldi authored
-
Péter Szilágyi authored
-
- Jul 16, 2016
-
-
Péter Szilágyi authored
-
- Jul 15, 2016
-
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
- Jul 11, 2016
-
-
Péter Szilágyi authored
-
Zsolt Felföldi authored
-
- Jul 04, 2016
-
-
Henning Diedrich authored
and locking bugs found in its wake.
-
Péter Szilágyi authored
-
- Jun 30, 2016
-
-
Péter Szilágyi authored
-
- Jun 16, 2016
-
-
Zsolt Felföldi authored
-
- Jun 13, 2016
-
-
Péter Szilágyi authored
-
Jeffrey Wilcke authored
Consensus rules dictate that objects can only be removed during the finalisation of the transaction (i.e. after all calls have finished). Thus calling a suicided contract twice from the same transaction: A->B(S)->ret(A)->B(S) results in 2 suicides. Calling the suicided object twice from two transactions: A->B(S), A->B, results in only one suicide and a call to an empty object. Our current debug tracing functionality replays all transaction that were executed prior to the targetted transaction in order to provide the user with an accurate trace. As a side effect to calling StateDB.IntermediateRoot it also deletes any suicides objects. Our tracing code never calls this function because it isn't interested in the intermediate root. Becasue of this it caused a bug in the tracing code where transactions that were send to priviously deleted objects resulted in two suicides rather than one suicide and a call to an empty object. Fixes #2542
-
- Jun 07, 2016
-
-
Zsolt Felföldi authored
-
- Jun 06, 2016
-
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
- Jun 02, 2016
-
-
Péter Szilágyi authored
-
- May 30, 2016
-
-
Péter Szilágyi authored
-
- May 27, 2016
-
-
Péter Szilágyi authored
-