aboutsummaryrefslogtreecommitdiffstats
path: root/accounts/abi/bind/backends
Commit message (Collapse)AuthorAgeFilesLines
* core/types, params: EIP#155Jeffrey Wilcke2016-11-131-10/+9
|
* core, core/state, trie: EIP158, reprice & skip empty account writeJeffrey Wilcke2016-11-131-3/+6
| | | | | | | | | | | | | | | This commit implements EIP158 part 1, 2, 3 & 4 1. If an account is empty it's no longer written to the trie. An empty account is defined as (balance=0, nonce=0, storage=0, code=0). 2. Delete an empty account if it's touched 3. An empty account is redefined as either non-existent or empty. 4. Zero value calls and zero value suicides no longer consume the 25k reation costs. params: moved core/config to params Signed-off-by: Jeffrey Wilcke <jeffrey@ethereum.org>
* all: update license informationFelix Lange2016-11-091-1/+1
|
* core/state: implement reverts by journaling all changesFelix Lange2016-10-061-2/+4
| | | | | | | | | | This commit replaces the deep-copy based state revert mechanism with a linear complexity journal. This commit also hides several internal StateDB methods to limit the number of ways in which calling code can use the journal incorrectly. As usual consultation and bug fixes to the initial implementation were provided by @karalabe, @obscuren and @Arachnid. Thank you!
* core/state: track all accounts in canon stateFelix Lange2016-09-261-5/+2
| | | | | This change introduces a global, per-state cache that keeps account data in the canon state. Thanks to @karalabe for lots of fixes.
* accounts/abi/bind: add utilities for waiting on transactionsFelix Lange2016-08-231-15/+88
| | | | | | | | | 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.
* accounts/abi/bind: use ethereum interfacesFelix Lange2016-08-221-88/+74
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* accounts/abi/bind/backends: remove nil and remote backendsFelix Lange2016-08-212-193/+0
| | | | | | | | | | | | 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.
* rpc: add new client, use it everywhereFelix Lange2016-07-231-142/+18
| | | | | | The new client implementation supports concurrent requests, subscriptions and replaces the various ad hoc RPC clients throughout go-ethereum.
* accounts, core, eth: pass chain config for chain maker to test DAOPéter Szilágyi2016-07-151-2/+2
|
* core: added CheckNonce() to Message interfacezsfelfoldi2016-07-111-1/+2
|
* eth: separate common and full node-specific API and backend servicezsfelfoldi2016-06-163-28/+51
|
* accounts/abi/bind, eth: rely on getCode for sanity checks, not estimate and callPéter Szilágyi2016-05-203-0/+31
|
* accounts/abi/bind, eth: add contract non-existent errorPéter Szilágyi2016-04-272-4/+22
|
* accounts/abi/bind/backends: estimate needed gas, not usedPéter Szilágyi2016-04-151-1/+1
|
* accounts/a/b/backends, core: chain maker homestead block set to 0Jeffrey Wilcke2016-04-011-2/+1
| | | | | | | The chain maker and the simulated backend now run with a homestead phase beginning at block 0 (i.e. there's no frontier). This commit also fixes up #2388
* core: added basic chain configurationJeffrey Wilcke2016-04-011-3/+8
| | | | | | | | | Added chain configuration options and write out during genesis database insertion. If no "config" was found, nothing is written to the database. Configurations are written on a per genesis base. This means that any chain (which is identified by it's genesis hash) can have their own chain settings.
* accounts/abi/bind, cmd/abigen: port to templates, bind to solidityPéter Szilágyi2016-03-243-45/+65
|
* accounts/abi/bind: constructor, auth utils and various backendsPéter Szilágyi2016-03-243-0/+432