Commit Graph

7594 Commits

Author SHA1 Message Date
Péter Szilágyi
0ef327bbee core, eth, internal, miner: optimize txpool for quick ops 2016-09-02 14:12:03 +03:00
Péter Szilágyi
795b70423e core, eth, miner: only retain 1 tx/nonce, remove bad ones 2016-09-02 14:12:03 +03:00
Felix Lange
49227f65ff Merge pull request #2972 from Arachnid/ens
contracts/ens: Replace setOwner with setSubnodeOwner per EIP137
2016-09-01 15:27:45 +02:00
Nick Johnson
a386b4c983 contracts/ens: Replace setOwner with setSubnodeOwner in accordance with EIP137 2016-09-01 12:40:15 +01:00
Felix Lange
5cb3fa2f89 Merge pull request #2965 from fjl/swarm-merge
swarm: plan bee for content storage and distribution on web3
2016-09-01 12:10:24 +02:00
Felix Lange
cc6170d7fc Merge pull request #2918 from hypergig/patch-2
Small docker run example for main README
2016-08-31 22:51:09 +02:00
ΞTHΞЯSPHΞЯΞ
4d300e4dec swarm: plan bee for content storage and distribution on web3
This change imports the Swarm protocol codebase. Compared to the 'swarm'
branch, a few mostly cosmetic changes had to be made:

* The various redundant log message prefixes are gone.
* All files now have LGPLv3 license headers.
* Minor code changes were needed to please go vet and make the tests
  pass on Windows.
* Further changes were required to adapt to the go-ethereum develop
  branch and its new Go APIs.

Some code has not (yet) been brought over:

* swarm/cmd/bzzhash: will reappear as cmd/bzzhash later
* swarm/cmd/bzzup.sh: will be reimplemented in cmd/bzzup
* swarm/cmd/makegenesis: will reappear somehow
* swarm/examples/album: will move to a separate repository
* swarm/examples/filemanager: ditto
* swarm/examples/files: will not be merged
* swarm/test/*: will not be merged
* swarm/services/swear: will reappear as contracts/swear when needed
2016-08-31 16:19:40 +02:00
Felix Lange
1f58b2d084 Merge pull request #2962 from fjl/release-move
contracts/release: move package release to contracts/
2016-08-31 15:32:13 +02:00
Felix Lange
6903fa2d47 Merge pull request #2963 from fjl/ens-solc-0.3.6
contracts/ens: regenerate binding with solc v0.3.6
2016-08-31 09:28:18 +02:00
Felix Lange
319ae90184 Merge pull request #2964 from nagydani/develop
contracts/chequebook: fix possible reentrancy bug in chequebook contract
2016-08-31 01:29:01 +02:00
Daniel A. Nagy
7b884e0075 contracts/chequebook/contract: fix possible reentrancy bug in chequebook.sol 2016-08-30 18:16:49 +02:00
Felix Lange
3e7b4ae0c3 Merge pull request #2967 from fjl/godeps-update
Godeps: update golang.org/x/...
2016-08-30 12:43:10 +02:00
Felix Lange
3b75d0ce23 Godeps: update golang.org/x/... 2016-08-30 12:20:34 +02:00
Felix Lange
48807de305 contracts/ens: regenerate binding with solc v0.3.6 2016-08-29 19:34:44 +02:00
Felix Lange
1d7d1a3499 contracts/release: move package release to contracts/
This change also deletes generator.go, moving the only interesting line
in it into release.go. The binding has been regenerated with abigen from
develop and solc v0.3.6.
2016-08-29 19:25:05 +02:00
Felix Lange
969008dbb0 Merge pull request #2952 from Arachnid/ens
contracts/ens: Add ENS contract binding
2016-08-29 19:09:35 +02:00
Nick Johnson
6976e602f6 contracts/ens: Add ENS contract binding 2016-08-29 17:30:17 +01:00
Felix Lange
3b087e03ea Merge pull request #2956 from fjl/chequebook
contracts/chequebook: add chequebook contract wrapper
2016-08-29 14:06:12 +02:00
Viktor Trón
6c8b023298 contracts/chequebook: add chequebook contract wrapper
The wrapper code is adapted from the swarm/services/chequebook package
with the following mostly cosmetic changes:

* The code now uses the new Go API interfaces to query balances. Some
  minor functional changes were required to make this work.
* The package no longer depends on swarm/services/swap/swap. References
  to swap.Promise are replaced by interface{}, the base type of Promise.
  This is temporary.
* The contract wrapper has been regenerated with latest abigen
  and solc v0.3.6.
* There is a new generator that creates the 'deployed code' variable.
* Documentation comments now follow the recommended godoc style.
* [CHEQUEBOOK] log prefixes are gone.
* LGPL license headers have been added to all files.
2016-08-29 13:39:25 +02:00
gregg dourgarian
8dbf59fec5 common,internal: typo/misspelling fixes (#2953) 2016-08-27 15:05:09 +03:00
Péter Szilágyi
5fc032a9d1 Merge pull request #2930 from fjl/ethclient
Stable Go API, part 1
2016-08-25 16:20:38 +03:00
Felix Lange
806e3cd075 Merge pull request #2943 from Arachnid/tracing
internal/ethapi: Fix bug in opCodeWrapper usage
2016-08-24 18:20:26 +02:00
Nick Johnson
8923325d5c internal/ethapi: Fix bug in opCodeWrapper usage 2016-08-24 16:10:29 +01:00
Felix Lange
a2b2c8adc9 Merge pull request #2941 from Arachnid/tracing
internal/ethapi: Improve tracer error reporting and serialization
2016-08-24 16:10:51 +02:00
Nick Johnson
d20238c2a7 internal/ethapi: Improve tracer error reporting and serialization 2016-08-24 13:17:55 +01:00
Stein Dekker
4ce83bf57b eth/fetcher: small typo fix (#2932) 2016-08-23 18:23:34 +03:00
Péter Szilágyi
b500953425 Merge pull request #2929 from Arachnid/tracing
core/vm, eth: Add support for javascript trace functions
2016-08-23 18:22:20 +03:00
Nick Johnson
2f99720901 core/vm, eth: Add support for javascript trace functions 2016-08-23 15:06:39 +01:00
Hellsegga
6bd9008025 cmd/geth: set correct initial nonce on testnet for import/init subcommands (#2924) 2016-08-23 11:36:40 +03:00
Felix Lange
c97df052a9 accounts/abi/bind: add utilities for waiting on transactions
The need for these functions comes up in code that actually deploys and
uses contracts. As of this commit, they can be used with both
SimulatedBackend and ethclient.

SimulatedBackend gains some additional methods in the process and is now
safe for concurrent use.
2016-08-22 23:20:13 +02:00
Felix Lange
7d9c5e0f7d Merge pull request #2928 from obscuren/remove-dao-message
cmd/utils: removed DAO oppose / support message
2016-08-22 15:33:00 +02:00
Felix Lange
d62d5fe59a accounts/abi/bind: use ethereum interfaces
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.
2016-08-22 14:01:28 +02:00
Péter Szilágyi
d8cec35b10 Merge pull request #2927 from obscuren/license
cmd/geth: added copyright and license information
2016-08-22 12:38:05 +03:00
Péter Szilágyi
f81cff539a Merge pull request #2923 from Arachnid/tracing
core: Refactor tracing to make Tracer the main interface
2016-08-22 12:31:47 +03:00
Jeffrey Wilcke
5fff491bbd cmd/geth: added copyright and license information
As per GNU GPL requirement I've added the copyright and the license
information as a subcommand as well as a copyright notice when
displaying the help command.
2016-08-22 11:17:23 +02:00
Nick Johnson
781915f183 core/vm: Refactor tracing to make Tracer the main interface
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.
2016-08-22 09:26:15 +01:00
Jeffrey Wilcke
5b44a819d3 cmd/utils: removed DAO oppose / support message 2016-08-21 23:55:53 +02:00
Felix Lange
056f15aa53 accounts/abi/bind/backends: remove nil and remote backends
The remote backend is superseded by ethclient.

The nil backend's stated purpose was to enable testing of
accounts/abi/bind. None of its methods actually worked. A much simpler
way to get a crashing backend is to simply pass nil as the backend. With
a one-line change to the generator (removing two explicit interface
assertions), passing nil actually works.

Removing these backends means that less changes are required later.
2016-08-21 17:06:25 +02:00
Péter Szilágyi
37bda7e029 Merge pull request #2921 from karalabe/fix-fetcher-log
eth/fetcher: fix a log message formatting issue
2016-08-19 17:30:34 +03:00
Péter Szilágyi
454dc9b7c2 eth/fetcher: fix a log message formatting issue 2016-08-19 14:04:03 +03:00
Jordan Cohen
b3d7a5c5d0 README: docker run example 2016-08-18 12:49:42 -04:00
Felix Lange
475521dd74 Merge pull request #2909 from fjl/account-manager-cleanup
all: clean up tech debt left behind by the API split
2016-08-17 20:59:59 +02:00
Felix Lange
3c09c5f12d core, miner: move Backend to miner
This ensures that package core doesn't depend on package accounts and
resolves an age-old TODO.
2016-08-17 17:39:04 +02:00
Felix Lange
1a9e66915b common/compiler: simplify solc wrapper
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
2016-08-17 17:39:04 +02:00
Felix Lange
84d11c19fd eth: remove dapp database remains 2016-08-17 17:39:03 +02:00
Felix Lange
312263c7d9 cmd/utils, node: create account manager in package node
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.
2016-08-17 17:39:03 +02:00
Felix Lange
3369783e0a Merge pull request #2885 from bas-vk/subscriptions
rpc: refactor subscriptions and filters
2016-08-17 17:14:42 +02:00
Bas van Kervel
47ff813012 rpc: refactor subscriptions and filters 2016-08-17 12:59:58 +02:00
Nick Johnson
3b39d4d1c1 Merge pull request #2913 from karalabe/travis-go-1.7
TravisCI: add Go 1.7 targets, bump PPA to 1.7 too
2016-08-17 09:22:58 +01:00
Péter Szilágyi
2fab2b310b TravisCI: add Go 1.7 targets, bump PPA to 1.7 too 2016-08-17 10:05:59 +03:00