aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* swarm: plan bee for content storage and distribution on web3ΞTHΞЯSPHΞЯΞ2016-08-3151-13/+10805
| | | | | | | | | | | | | | | | | | | | | | | 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
* Merge pull request #2962 from fjl/release-moveFelix Lange2016-08-318-24/+8
|\ | | | | contracts/release: move package release to contracts/
| * contracts/release: move package release to contracts/Felix Lange2016-08-308-24/+8
| | | | | | | | | | | | 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.
* | Merge pull request #2963 from fjl/ens-solc-0.3.6Felix Lange2016-08-313-12/+12
|\ \ | | | | | | contracts/ens: regenerate binding with solc v0.3.6
| * | contracts/ens: regenerate binding with solc v0.3.6Felix Lange2016-08-303-12/+12
| |/
* | Merge pull request #2964 from nagydani/developFelix Lange2016-08-315-39/+11
|\ \ | | | | | | contracts/chequebook: fix possible reentrancy bug in chequebook contract
| * | contracts/chequebook/contract: fix possible reentrancy bug in chequebook.solDaniel A. Nagy2016-08-315-39/+11
|/ /
* | Merge pull request #2967 from fjl/godeps-updateFelix Lange2016-08-30118-52135/+18832
|\ \ | |/ |/| Godeps: update golang.org/x/...
| * Godeps: update golang.org/x/...Felix Lange2016-08-30118-52135/+18832
|/
* Merge pull request #2952 from Arachnid/ensFelix Lange2016-08-306-0/+1393
|\ | | | | contracts/ens: Add ENS contract binding
| * contracts/ens: Add ENS contract bindingNick Johnson2016-08-306-0/+1393
| |
* | Merge pull request #2956 from fjl/chequebookFelix Lange2016-08-297-0/+1930
|\ \ | | | | | | contracts/chequebook: add chequebook contract wrapper
| * | contracts/chequebook: add chequebook contract wrapperViktor Trón2016-08-297-0/+1930
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* / common,internal: typo/misspelling fixes (#2953)gregg dourgarian2016-08-272-9/+9
|/
* Merge pull request #2930 from fjl/ethclientPéter Szilágyi2016-08-2525-558/+1716
|\ | | | | Stable Go API, part 1
| * accounts/abi/bind: add utilities for waiting on transactionsFelix Lange2016-08-234-15/+267
| | | | | | | | | | | | | | | | | | 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-224-220/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-214-203/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * 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.
| * ethereum: add new Go API interfacesFelix Lange2016-08-051-0/+168
| |
| * internal/ethapi: add missing output fieldsFelix Lange2016-08-043-24/+85
| | | | | | | | | | | | | | | | - 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
| * core/types, core/vm: improve docs, add JSON marshaling methodsFelix Lange2016-08-048-99/+589
| | | | | | | | | | | | | | | | In this commit, core/types's types learn how to encode and decode themselves as JSON. The encoding is very similar to what the RPC API uses. The RPC API is missing some output fields (e.g. transaction signature values) which will be added to the API in a later commit. Some fields that the API generates are ignored by the decoder methods here.
| * eth: don't call ValidateFieldsFelix Lange2016-08-041-3/+0
|/ | | | | | 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.
* Merge pull request #2943 from Arachnid/tracingFelix Lange2016-08-252-6/+23
|\ | | | | internal/ethapi: Fix bug in opCodeWrapper usage
| * internal/ethapi: Fix bug in opCodeWrapper usageNick Johnson2016-08-242-6/+23
|/
* Merge pull request #2941 from Arachnid/tracingFelix Lange2016-08-242-11/+26
|\ | | | | internal/ethapi: Improve tracer error reporting and serialization
| * internal/ethapi: Improve tracer error reporting and serializationNick Johnson2016-08-242-11/+26
|/
* eth/fetcher: small typo fix (#2932)Stein Dekker2016-08-231-1/+1
|
* Merge pull request #2929 from Arachnid/tracingPéter Szilágyi2016-08-236-18/+551
|\ | | | | core/vm, eth: Add support for javascript trace functions
| * core/vm, eth: Add support for javascript trace functionsNick Johnson2016-08-236-18/+551
| |
* | cmd/geth: set correct initial nonce on testnet for import/init subcommands ↵Hellsegga2016-08-232-0/+8
| | | | | | | | (#2924)
* | Merge pull request #2928 from obscuren/remove-dao-messageFelix Lange2016-08-221-17/+0
|\ \ | |/ |/| cmd/utils: removed DAO oppose / support message
| * cmd/utils: removed DAO oppose / support messageJeffrey Wilcke2016-08-221-17/+0
| |
* | Merge pull request #2927 from obscuren/licensePéter Szilágyi2016-08-222-0/+25
|\ \ | | | | | | cmd/geth: added copyright and license information
| * | cmd/geth: added copyright and license informationJeffrey Wilcke2016-08-222-0/+25
| |/ | | | | | | | | | | 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.
* | Merge pull request #2923 from Arachnid/tracingPéter Szilágyi2016-08-2216-282/+162
|\ \ | | | | | | core: Refactor tracing to make Tracer the main interface
| * | core/vm: Refactor tracing to make Tracer the main interfaceNick Johnson2016-08-2216-282/+162
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #2921 from karalabe/fix-fetcher-logPéter Szilágyi2016-08-191-1/+1
|\ \ | |/ |/| eth/fetcher: fix a log message formatting issue
| * eth/fetcher: fix a log message formatting issuePéter Szilágyi2016-08-191-1/+1
|/
* Merge pull request #2909 from fjl/account-manager-cleanupFelix Lange2016-08-1822-496/+462
|\ | | | | all: clean up tech debt left behind by the API split
| * core, miner: move Backend to minerFelix Lange2016-08-173-22/+24
| | | | | | | | | | This ensures that package core doesn't depend on package accounts and resolves an age-old TODO.
| * common/compiler: simplify solc wrapperFelix Lange2016-08-178-254/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * eth: remove dapp database remainsFelix Lange2016-08-173-25/+6
| |
| * cmd/utils, node: create account manager in package nodeFelix Lange2016-08-1711-195/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #2885 from bas-vk/subscriptionsFelix Lange2016-08-1715-1216/+1265
|\ \ | | | | | | rpc: refactor subscriptions and filters
| * | rpc: refactor subscriptions and filtersBas van Kervel2016-08-1715-1216/+1265
|/ /
* | Merge pull request #2913 from karalabe/travis-go-1.7Nick Johnson2016-08-171-2/+5
|\ \ | | | | | | TravisCI: add Go 1.7 targets, bump PPA to 1.7 too
| * | TravisCI: add Go 1.7 targets, bump PPA to 1.7 tooPéter Szilágyi2016-08-171-2/+5
|/ /
* | Merge pull request #2873 from bas-vk/canonicalblockFelix Lange2016-08-175-20/+69
|\ \ | | | | | | core: ensure the canonical block is written before the canonical hash is set
| * | core: ensure the canonical block is written before the canonical hash is setBas van Kervel2016-08-165-20/+69
|/ /
* | Makefile: support building for the MIPS64 platforms (#2682)Péter Szilágyi2016-08-161-2/+12
| |
* | Merge pull request #2866 from karalabe/downloader-future-ancestorsPéter Szilágyi2016-08-161-9/+17
|\ \ | | | | | | eth/downloader: fewer headers and futures too in ancestor lookup
| * | eth/downloader: fewer headers and futures too un ancestor lookupPéter Szilágyi2016-07-261-9/+17
| | |
* | | console: fix return via callbacks (#2910)cdetrio2016-08-161-2/+2
| |/ |/| | | Fixes #2872
* | Merge pull request #2891 from fjl/rpc-client-fixesPéter Szilágyi2016-08-094-62/+158
|\ \ | | | | | | rpc: client bug fixes
| * | 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
| | |
* | | Merge pull request #2868 from karalabe/downloader-abort-master-dropPéter Szilágyi2016-08-091-2/+15
|\ \ \ | | | | | | | | eth/downloader: abort sync if master drops (timeout prev)
| * | | eth/downloader: abort sync if master drops (timeout prev)Péter Szilágyi2016-07-261-2/+15
| | |/ | |/|
* | | Merge pull request #2867 from karalabe/dao-challenge-finishPéter Szilágyi2016-08-092-1/+2
|\ \ \ | | | | | | | | eth, eth/downloader: don't forward the DAO challenge header
| * | | eth, eth/downloader: don't forward the DAO challenge headerPéter Szilágyi2016-07-262-1/+2
| |/ /
* | | Merge pull request #2861 from karalabe/track-peer-heads-properlyPéter Szilágyi2016-08-096-50/+59
|\ \ \ | | | | | | | | eth, eth/downloader: better remote head tracking
| * | | eth, eth/downloader: better remote head trackingPéter Szilágyi2016-07-256-50/+59
| | | |
* | | | Merge pull request #2896 from karalabe/fix-xgo-crossbuildsFelix Lange2016-08-093-50/+57
|\ \ \ \ | | | | | | | | | | Makefile, build: move cross compilation into ci.go
| * | | | Makefile, build: move cross compilation into ci.goPéter Szilágyi2016-08-083-50/+57
|/ / / /
* | | | Merge pull request #2892 from fjl/vm-hide-ecrecover-messageFelix Lange2016-08-061-2/+2
|\ \ \ \ | | | | | | | | | | core/vm: hide ecrecover error message
| * | | | core/vm: hide ecrecover error messageFelix Lange2016-08-061-2/+2
| | |_|/ | |/| | | | | | | | | | Fixes #2825
* | | | Merge pull request #2889 from fjl/godeps-update-notifyFelix Lange2016-08-064-5/+3
|\ \ \ \ | | | | | | | | | | Godeps: update github.com/rjeczalik/notify to f627deca7a51
| * | | | Godeps: update github.com/rjeczalik/notify to f627deca7a51Felix Lange2016-08-054-5/+3
| |/ / / | | | | | | | | | | | | Fixes #2829
* | | | Merge pull request #2740 from Firescar96/removepeerFelix Lange2016-07-295-0/+48
|\ \ \ \ | | | | | | | | | | node, p2p, internal: Add ability to remove peers via admin interface
| * | | | node, p2p, internal: Add ability to remove peers via admin interfaceFirescar962016-07-155-0/+48
| | | | |
* | | | | Merge pull request #2870 from lukeyeager/patch-1Péter Szilágyi2016-07-271-1/+1
|\ \ \ \ \ | |_|_|_|/ |/| | | | Fix README typo
| * | | | README: Fix typoLuke Yeager2016-07-271-1/+1
|/ / / / | | | | | | | | | | | | "fine graned" -> "fine-grained"
* | | | Merge pull request #2862 from yep/faster-git-clonePéter Szilágyi2016-07-262-11/+10
|\ \ \ \ | |_|/ / |/| | | containers/docker: use shallow clone of single branch
| * | | containers/docker: whitespace changes only, make future diffs more readableyep2016-07-252-8/+8
| | | |
| * | | containers/docker: use shallow clone of single branchyep2016-07-252-3/+2
|/ / /
* | | Merge pull request #2855 from karalabe/downloader-fix-stall-dropFelix Lange2016-07-251-1/+8
|\ \ \ | |_|/ |/| | eth/downloader: fix the stall checks/drops during sync
| * | eth/downloader: fix the stall checks/drops during syncPéter Szilágyi2016-07-221-1/+8
| | |
* | | Merge pull request #2808 from fjl/rpc-client-3bas-vk2016-07-2530-769/+2021
|\ \ \ | | | | | | | | rpc: add new client, use it everywhere
| * | | rpc: add new client, use it everywhereFelix Lange2016-07-2330-751/+2002
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2842 from fjl/downloader-remove-eth61Felix Lange2016-07-2315-1524/+119
|\ \ \ | |/ / |/| | eth, eth/downloader, eth/fetcher: delete eth/61 sync code
| * | eth, eth/downloader, eth/fetcher: delete eth/61 codeFelix Lange2016-07-2215-1524/+119
| | | | | | | | | | | | | | | The eth/61 protocol was disabled in #2776, this commit removes its message handlers and hash-chain sync logic.
* | | Merge pull request #2712 from bas-vk/sendtxPéter Szilágyi2016-07-222-4/+10
|\ \ \ | | | | | | | | eth/api: rename signAndSendTransaction to sendTransaction
| * | | eth/api: rename signAndSendTransaction to sendTransactionBas van Kervel2016-07-222-4/+10
|/ / /
* | | Merge pull request #2851 from yep/alpine-3-4Péter Szilágyi2016-07-222-2/+2
|\ \ \ | | | | | | | | containers/docker: update to alpine 3.4
| * | | containers/docker: update to alpine 3.4yep2016-07-222-2/+2
| | | |
* | | | Merge pull request #2833 from karalabe/fix-dao-challenge-annoyancePéter Szilágyi2016-07-221-0/+7
|\ \ \ \ | |/ / / |/| | | eth: cancel DAO challenge on peer drop (annoying log)
| * | | eth: cancel DAO challenge on peer drop (annoying log)Péter Szilágyi2016-07-191-0/+7
| |/ /
* | | Merge pull request #2836 from fjl/godeps-update-leveldbPéter Szilágyi2016-07-205-28/+63
|\ \ \ | | | | | | | | Godeps: bump github.com/syndtr/goleveldb/... to ab8b5dcf104
| * | | Godeps: bump github.com/syndtr/goleveldb/... to ab8b5dcf104Felix Lange2016-07-205-28/+63
| |/ /
* | | Merge pull request #2711 from hdiedrich/1.4.7-filter-races-cleanupFelix Lange2016-07-202-28/+54
|\ \ \ | | | | | | | | Fix #2710 Filter race: concurrent map read and map write
| * | | eth: fix #2710 filter racesHenning Diedrich2016-07-042-28/+54
| | | | | | | | | | | | | | | | and locking bugs found in its wake.
* | | | Merge pull request #2821 from Arachnid/discover-enodeFelix Lange2016-07-201-12/+16
|\ \ \ \ | | | | | | | | | | cmd/bootnode: Add support for outputting a node's ID on the command line
| * | | | cmd/bootnode: Add support for outputting a node's ID on the command lineNick Johnson2016-07-151-12/+16
| | | | |
* | | | | Merge pull request #2834 from zsfelfoldi/chaindb-upgrade-fixPéter Szilágyi2016-07-191-0/+13
|\ \ \ \ \ | |_|_|/ / |/| | | | eth: fixed chaindb upgrade
| * | | | eth: fixed chaindb upgradezsfelfoldi2016-07-191-0/+13
|/ / / /
* | | | Merge pull request #2814 from karalabe/dao-hard-finalcomboJeffrey Wilcke2016-07-1635-124/+9888
|\ \ \ \ | | | | | | | | | | cmd, core, eth, miner, params, tests: finalize the DAO fork
| * | | | cmd/utils, eth: display the user's current fork, minor text tweakPéter Szilágyi2016-07-162-1/+20
| | | | |
| * | | | cmd, core, eth, miner, params, tests: finalize the DAO forkPéter Szilágyi2016-07-1512-414/+7519
| | | | |
| * | | | accounts, core, eth: pass chain config for chain maker to test DAOPéter Szilágyi2016-07-1516-132/+181
| | | | |
| * | | | core, params, tests: add DAO hard-fork balance movesPéter Szilágyi2016-07-1510-42/+2011
| | | | |
| * | | | core, eth: enforce network split post DAO hard-forkPéter Szilágyi2016-07-154-7/+141
| | | | |
| * | | | cmd, core, miner: add extradata validation to consensus rulesPéter Szilágyi2016-07-157-216/+275
| | | | |
| * | | | cmd/geth, miner, params: special extradata for DAO fork startPéter Szilágyi2016-07-153-6/+22
| | | | |
| * | | | core: gracefully handle missing homestead block configPéter Szilágyi2016-07-152-1/+106
| | | | |
| * | | | cmd, core, eth, params: implement flags to control dao fork blocksPéter Szilágyi2016-07-157-46/+354
|/ / / /
* | | | Merge pull request #2823 from karalabe/circleci-hivePéter Szilágyi2016-07-151-0/+32
|\ \ \ \ | | | | | | | | | | circleci: enable docker based hive testing
| * | | | circleci: enable docker based hive testingPéter Szilágyi2016-07-151-0/+32
| | | | |
* | | | | Merge pull request #2724 from pirapira/fix_reset_feesPéter Szilágyi2016-07-152-2/+2
|\ \ \ \ \ | |/ / / / |/| | | | vm: Replace some SstoreClearGas with SstoreResetGas
| * | | | vm: Replace some SstoreClearGas with SstoreResetGasYoichi Hirai2016-06-222-2/+2
| | |/ / | |/| |
* | | | Merge pull request #2819 from fjl/rpc-back-to-npipeFelix Lange2016-07-1528-2333/+1555
|\ \ \ \ | | | | | | | | | | Godeps, rpc: switch back to package npipe
| * | | | Godeps: update golang.org/x/net/...Felix Lange2016-07-159-486/+381
| | | | | | | | | | | | | | | | | | | | | | | | | This adds compatibility with Go 1.7, where context has moved into the standard library.
| * | | | Godeps, rpc: switch back to package npipeFelix Lange2016-07-1520-1847/+1174
|/ / / / | | | | | | | | | | | | | | | | The named pipe implementation from go-winio has some issues that need to be addressed before we can use it again.
* | / / appveyor.yml: don't install Go and MinGW, they're already there (#2813)Felix Lange2016-07-141-11/+13
| |/ / |/| |
* | | Merge pull request #2799 from zsfelfoldi/api-nonce-fix2Péter Szilágyi2016-07-127-8/+17
|\ \ \ | | | | | | | | core: added CheckNonce() to Message interface
| * | | core: added CheckNonce() to Message interfacezsfelfoldi2016-07-117-8/+17
| | | |
* | | | cmd/geth: print version on geth start (#2622)Matthew Di Ferrante2016-07-121-0/+2
| | | |
* | | | Merge pull request #2801 from karalabe/dao-hardfork-importdropPéter Szilágyi2016-07-121-1/+1
|\ \ \ \ | | | | | | | | | | eth/downloader: return invalid chain (peer drop) on import fails
| * | | | eth/downloader: return invalid chain (peer drop) on import failsPéter Szilágyi2016-07-121-1/+1
| |/ / /
* | | | Merge pull request #2793 from karalabe/blockchain-import-mine-dataracePéter Szilágyi2016-07-121-4/+3
|\ \ \ \ | | | | | | | | | | core: solve a remote-import/local-mine data race
| * | | | core: solve a remote-import/local-mine data racePéter Szilágyi2016-07-081-4/+3
| |/ / /
* | | | Merge pull request #2805 from karalabe/readme-running-gethPéter Szilágyi2016-07-121-0/+191
|\ \ \ \ | | | | | | | | | | README: expand with "Running Geth" section
| * | | | README: expand with "Running Geth" sectionPéter Szilágyi2016-07-121-0/+191
| |/ / /
* / / / ethdb, p2p/discover: replace "alloted" with "allotted" (#2785)villesundell2016-07-122-4/+4
|/ / /
* | | Merge pull request #2782 from karalabe/docker-alpine-master-nogmpFelix Lange2016-07-051-5/+5
|\ \ \ | | | | | | | | containers/docker/master-alpine: drop gmp dependency
| * | | containers/docker/master-alpine: drop gmp dependencyPéter Szilágyi2016-07-041-5/+5
|/ / /
* | | Merge pull request #2776 from karalabe/disable-eth61Péter Szilágyi2016-07-041-2/+2
|\ \ \ | | | | | | | | eth: disable eth/61 to prepare for more elaborate fork sync algos
| * | | eth: disable eth/61 to prepare for more elaborate fork sync algosPéter Szilágyi2016-07-041-2/+2
|/ / /
* | | Merge pull request #2763 from karalabe/fix-readme-typePéter Szilágyi2016-07-011-1/+1
|\ \ \ | | | | | | | | README: fix build->built typo
| * | | README: fix build->built typoTry Space2016-07-011-1/+1
|/ / / | | | | | | | | | (cherry picked from commit e271fd57132763f39c6993a35e6c063aac3af4f1)
* | | Merge pull request #2759 from karalabe/drop-redundant-full-servicePéter Szilágyi2016-07-0111-86/+86
|\ \ \ | | | | | | | | cmd, common, console, eth, release: drop redundant "full"s
| * | | cmd, common, console, eth, release: drop redundant "full"sPéter Szilágyi2016-06-3011-86/+86
|/ / /
* | | Merge pull request #2159 from zsfelfoldi/light-backendPéter Szilágyi2016-06-3022-1805/+2296
|\ \ \ | | | | | | | | eth: separate common and full node-specific API and backend service
| * | | eth: separate common and full node-specific API and backend servicezsfelfoldi2016-06-1622-1805/+2296
| | | |
* | | | Merge pull request #2750 from sybiload/developPéter Szilágyi2016-06-291-1/+1
|\ \ \ \ | | | | | | | | | | cmd/geth: fix the import error message
| * | | | cmd/geth: fix the import error messageYohann LEON2016-06-291-1/+1
| | |_|/ | |/| | | | | | | | | | cmd/geth: include the error message on import failure
* | | | Merge pull request #2752 from karalabe/revert-soft-forkPéter Szilágyi2016-06-2914-473/+9
|\ \ \ \ | |/ / / |/| | | Revert faulty DAO soft-fork
| * | | Revert "test, cmd/evm, core, core/vm: illegal code hash implementation"Péter Szilágyi2016-06-2911-95/+29
| | | | | | | | | | | | | | | | This reverts commit 7a5b571c671e70e0e4807cf971c15e2d1e09d33d.
| * | | Revert "core: add voting and result tracking for the dao soft-fork"Péter Szilágyi2016-06-295-436/+20
| | | | | | | | | | | | | | | | This reverts commit c4de28938ff8c688c4444c8b3e8e28a52cbc62ff.
| * | | Revert "core: update DAO soft-fork number, clean up the code"Péter Szilágyi2016-06-2910-49/+67
| | | | | | | | | | | | | | | | This reverts commit ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.
| * | | Revert "core: update the DAO soft fork proposal to the final block"Péter Szilágyi2016-06-291-1/+1
|/ / / | | | | | | | | | This reverts commit 1e3a7d4fab36df9382d023519ef10e3c34bafa3b.
* | | Merge pull request #2734 from karalabe/dao-final-blockPéter Szilágyi2016-06-241-1/+1
|\ \ \ | | | | | | | | core: update the DAO soft fork proposal to the final block
| * | | core: update the DAO soft fork proposal to the final blockPéter Szilágyi2016-06-241-1/+1
|/ / /
* | | Merge pull request #2725 from karalabe/obscuren-softfork-dao-2Péter Szilágyi2016-06-2414-9/+473
|\ \ \ | | | | | | | | DAO soft-fork
| * | | core: update DAO soft-fork number, clean up the codePéter Szilágyi2016-06-2310-67/+49
| | | |
| * | | core: add voting and result tracking for the dao soft-forkPéter Szilágyi2016-06-235-20/+436
| | | |
| * | | test, cmd/evm, core, core/vm: illegal code hash implementationJeffrey Wilcke2016-06-2211-29/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements a generic approach to enabling soft forks by allowing anyone to put in hashes of contracts that should not be interacted from. This will help "The DAO" in their endevour to stop any whithdrawals from any DAO contract by convincing the mining community to accept their code hash.
* | | | Merge pull request #2731 from justincc/remove-old-natspec-js-stubsPéter Szilágyi2016-06-241-15/+0
|\ \ \ \ | | | | | | | | | | web3ext: Remove old natspec Admin_JS stubs
| * | | | web3ext: Remove old natspec Admin_JS stubsJustin Clark-Casey2016-06-241-15/+0
|/ / / / | | | | | | | | | | | | This stops them from showing up on the javascript console.
* | | | Merge pull request #2726 from fjl/appveyorPéter Szilágyi2016-06-2319-114/+938
|\ \ \ \ | |/ / / |/| | | build: add ci.go, use it everywhere
| * | | build: add ci.go, use it everywhereFelix Lange2016-06-2219-114/+938
| |/ / | | | | | | | | | | | | | | | The new build script, ci.go, replaces some of the older shell scripts. ci.go can compile go-ethereum, run the tests, create release archives and debian source packages.
* | | Merge pull request #2722 from fabioberger/fixTyposPéter Szilágyi2016-06-224-8/+8
|\ \ \ | |_|/ |/| | README, core, rpc: Fix typos
| * | README, core, rpc: fix various typosFabio Berger2016-06-224-8/+8
|/ /
* | Merge pull request #2685 from karalabe/ethash-bitengdian-fixPéter Szilágyi2016-06-154-18/+17
|\ \ | | | | | | Godeps: pull in ethash with the big endian build fix
| * | Godeps: pull in ethash with the big endian build fixPéter Szilágyi2016-06-134-18/+17
| | |
* | | Merge pull request #2693 from obscuren/evm-bin-createPéter Szilágyi2016-06-151-11/+34
|\ \ \ | | | | | | | | cmd/evm: added --create flag indicating the exec code is to be created
| * | | cmd/evm: added --create flag indicating the exec code is to be createdJeffrey Wilcke2016-06-141-11/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue if you wanted to test out code deployment rather than running a piece of code with an argument. This solves it by adding a --create flag that indicates the Create function should be used rather than the Call function. This also adds a statedb.commit call so that the proper state can be dumped when requested using the --dump flag.
* | | | Merge pull request #2697 from karalabe/CamTosh-patch-1-3Péter Szilágyi2016-06-151-5/+5
|\ \ \ \ | |/ / / |/| | | cmd/utils: add space between "to" and filename
| * | | cmd/utils: add space between "to" and filenameTosh Camille2016-06-151-5/+5
|/ / /
* | | Merge pull request #2680 from karalabe/abi-fix-uintsPéter Szilágyi2016-06-142-21/+33
|\ \ \ | | | | | | | | accounts/abi: fix uint64 upper range encoding.
| * | | accounts/abi: fix uint64 upper range encoding.Péter Szilágyi2016-06-102-21/+33
| | | |
* | | | Merge pull request #2686 from obscuren/issue-2542Péter Szilágyi2016-06-142-0/+22
|\ \ \ \ | |_|_|/ |/| | | core/state, eth: Updated suicides objects when tracing transactions
| * | | core/state, eth: Updated suicides objects when tracing transactionsJeffrey Wilcke2016-06-132-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge pull request #2455 from zsfelfoldi/chaindbJeffrey Wilcke2016-06-1324-360/+840
|\ \ \ \ | | | | | | | | | | core: improved chain db performance by using sequential keys
| * | | | core: improved chainDb using sequential keyszsfelfoldi2016-06-0724-365/+726
| | | | |
| * | | | core: chain read/write speed benchmarkszsfelfoldi2016-06-061-0/+119
| |/ / /
* | | | Merge pull request #2687 from karalabe/downloader-fasttest-fixFelix Lange2016-06-131-1/+3
|\ \ \ \ | |_|_|/ |/| | | eth/downloader: fix occasional fast sync critical section test fails
| * | | eth/downloader: fix occasional fast sync critical section test failsPéter Szilágyi2016-06-131-1/+3
|/ / /
* | | Merge pull request #2681 from karalabe/fix-cli-deprecationPéter Szilágyi2016-06-108-27/+55
|\ \ \ | |_|/ |/| | cmd: fix CLI package deprecation warnings
| * | cmd: fix CLI package deprecation warningsPéter Szilágyi2016-06-108-27/+55
|/ /
* | Merge pull request #2677 from bas-vk/cliPéter Szilágyi2016-06-1035-626/+1309
|\ \ | | | | | | cmd/geth: codegansta/cli package renamed to urfave/cli
| * | cmd/geth: codegansta/cli package renamed to urfave/cliBas van Kervel2016-06-0935-626/+1309
| | |
* | | Merge pull request #2653 from tbocek/developPéter Szilágyi2016-06-104-64/+10
|\ \ \ | | | | | | | | Negative numbers not properly converted in ABI encoding
| * | | accounts/abi: Negative numbers not properly converted in ABI encodingThomas Bocek2016-06-064-64/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When converting a negative number e.g., -2, the resulting ABI encoding should look as follows: fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe. However, since the check of the type is for an uint instead of an int, it results in the following ABI encoding: 0101010101010101010101010101010101010101010101010101010101010102. The Ethereum ABI (https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI) says, that signed integers are stored in two's complement which should be of the form ffffff.... and not 01010101..... for e.g. -1. Thus, I removed the type check in numbers.go as well as the function S256 as I don't think they are correct. Or maybe I'm missing something?
* | | | Merge pull request #2670 from bas-vk/indentPéter Szilágyi2016-06-092-2/+91
|\ \ \ \ | |_|/ / |/| | | Ignore round and curly brackets in strings for indentation level
| * | | console: ignore round and curly brackets in strings when determining ↵Bas van Kervel2016-06-082-2/+91
| | |/ | |/| | | | | | | indentation level
* | | Merge pull request #2673 from karalabe/fix-accounts-usage-textFelix Lange2016-06-081-1/+1
|\ \ \ | | | | | | | | cmd/geth: fix the keystore path in the accounts help text
| * | | cmd/geth: fix the keystore path in the accounts help textPéter Szilágyi2016-06-081-1/+1
|/ / /
* | | Merge pull request #2671 from karalabe/randomize-console-testsPéter Szilágyi2016-06-081-4/+12
|\ \ \ | | | | | | | | cmd/geth: truly randomize console test RPC endpoints
| * | | cmd/geth: truly randomize console test RPC endpointsPéter Szilágyi2016-06-081-4/+12
| |/ /
* | | Merge pull request #2669 from karalabe/fix-windows-console-colorPéter Szilágyi2016-06-081-1/+2
|\ \ \ | |/ / |/| | console: fix windows console colors
| * | console: fix windows color transformation issuePéter Szilágyi2016-06-081-1/+2
|/ /
* | Merge pull request #2649 from karalabe/omit-startup-tx-processingPéter Szilágyi2016-06-063-4/+13
|\ \ | | | | | | eth: don't accept transactions until we sync up with the network
| * | eth: don't accept transactions until we sync up with the networkPéter Szilágyi2016-06-063-4/+13
|/ /
* | Merge pull request #2630 from karalabe/adaptive-qos-tuningPéter Szilágyi2016-06-063-48/+235
|\ \ | | | | | | eth/downloader: adaptive quality of service tuning
| * | eth/downloader: adaptive quality of service tuningPéter Szilágyi2016-06-063-48/+235
|/ /
* | Merge pull request #2647 from karalabe/fastsync-critical-resiliencePéter Szilágyi2016-06-062-26/+109
|\ \ | | | | | | eth/downloader: make fast sync resilient to critical section fails
| * | eth/downloader: make fast sync resilient to critical section failsPéter Szilágyi2016-06-022-26/+109
| |/
* | Merge pull request #2655 from fjl/txpool-lockPéter Szilágyi2016-06-031-1/+10
|\ \ | | | | | | core: add missing lock in TxPool.GetTransaction
| * | core: add missing lock in TxPool.{GetTransaction,RemoveTx}Felix Lange2016-06-031-1/+10
|/ / | | | | | | Fixes #2650
* | Merge pull request #2656 from fjl/console-testFelix Lange2016-06-033-35/+45
|\ \ | |/ |/| cmd/geth: make console tests more robust
| * cmd/geth: make console tests more robustFelix Lange2016-06-031-18/+28
| | | | | | | | | | | | * use --port 0 to avoid p2p port conflicts * use --maxpeers 0 so it doesn't connect to bootstrap nodes * use geth.expectExit() to wait for termination
| * console: remove unnecessary JS evaluation in WelcomeFelix Lange2016-06-031-10/+8
| |
| * internal/jsre: ensure Stop can be called more than onceFelix Lange2016-06-031-7/+9
|/ | | | This makes "geth js file.js" terminate again.
* Merge pull request #2637 from karalabe/downloader-always-cancelPéter Szilágyi2016-05-312-1/+13
|\ | | | | eth/downloader: ensure cancel channel is closed post sync
| * eth/downloader: ensure cancel channel is closed post syncPéter Szilágyi2016-05-302-1/+13
| |
* | Merge pull request #2627 from karalabe/concurrent-head-syncPéter Szilágyi2016-05-313-30/+41
|\ \ | | | | | | eth/downloader, trie: pull head state concurrently with chain
| * | eth/downloader, trie: pull head state concurrently with chainPéter Szilágyi2016-05-273-30/+41
| | |
* | | Merge pull request #2535 from karalabe/modularize-consolePéter Szilágyi2016-05-3126-1519/+1592
|\ \ \ | | | | | | | | cmd, console: split off the console into a reusable package
| * | | cmd/geth, console: fix reviewer issuesPéter Szilágyi2016-05-316-49/+68
| | | |
| * | | console, internal/jsre: colorize JavaScript exceptions tooPéter Szilágyi2016-05-304-12/+37
| | | |
| * | | cmd, console: split off the console into a reusable packagePéter Szilágyi2016-05-3026-1519/+1548
| | |/ | |/|
* | | Merge pull request #2585 from karalabe/trie-dirty-trackingJeffrey Wilcke2016-05-319-133/+244
|\ \ \ | |/ / |/| | core, core/state, trie: enterprise hand-tuned multi-level caching
| * | core, core/state, trie: enterprise hand-tuned multi-level cachingPéter Szilágyi2016-05-269-133/+244
| |/
* | Merge pull request #2626 from karalabe/fix-testnet-zero-noncePéter Szilágyi2016-05-271-1/+1
|\ \ | |/ |/| core/state: return the starting nonce for non-existent accs (testnet)
| * core/state: return the starting nonce for non-existent accs (testnet)Péter Szilágyi2016-05-271-1/+1
|/
* Merge pull request #2614 from fjl/bad-block-reportJeffrey Wilcke2016-05-267-87/+104
|\ | | | | eth: enable bad block reports
| * eth: enable bad block reportsFelix Lange2016-05-257-87/+104
| | | | | | | | | | | | | | | | | | | | | | | | We used to have reporting of bad blocks, but it was disabled before the Frontier release. We need it back because users are usually unable to provide the full RLP data of a bad block when it occurs. A shortcoming of this particular implementation is that the origin peer is not tracked for blocks received during eth/63 sync. No origin peer info is still better than no report at all though.
* | Merge pull request #2617 from obulpathi/developJeffrey Wilcke2016-05-251-1/+1
|\ \ | | | | | | misc: fix spelling mistake
| * | misc: fix spelling mistakeObulapathi N Challa2016-05-251-1/+1
| |/
* | Merge pull request #2612 from remyroy/fix-eth-getCompilersJeffrey Wilcke2016-05-251-1/+1
|\ \ | | | | | | eth/api: fixed GetCompilers when there is no error creating Solc
| * | eth/api: fixed GetCompilers when there is no error creating SolcRémy Roy2016-05-251-1/+1
| |/
* | Merge pull request #2613 from remyroy/rel-path-solcJeffrey Wilcke2016-05-251-1/+0
|\ \ | |/ |/| common/compiler: support relative path to solc
| * common/compiler: support relative path to solcRémy Roy2016-05-251-1/+0
|/
* Merge pull request #2603 from Digital-Contraptions-Imaginarium/developFelix Lange2016-05-231-0/+4
|\ | | | | README: make it clear how to build all executables
| * Just to make it clear how to build all executablesGianfranco Cecconi2016-05-231-0/+4
| |
* | Merge pull request #2564 from bas-vk/submit-txJeffrey Wilcke2016-05-236-71/+165
|\ \ | |/ |/| eth: add new RPC method (personal.) SignAndSendTransaction
| * eth: add new RPC method (personal.) SignAndSendTransactionBas van Kervel2016-05-206-71/+165
| |
* | Merge pull request #2597 from fabioberger/developJeffrey Wilcke2016-05-231-2/+2
|\ \ | | | | | | core: Simplify bloom9 tests
| * | core: Simplify bloom9 tests with available convenience method `TestBytes`Fabio Berger2016-05-231-2/+2
| | |
* | | Merge pull request #2575 from bas-vk/filterJeffrey Wilcke2016-05-232-38/+234
|\ \ \ | |/ / |/| | eth/filter: bugfix which can cause a nil pointer crash when parsing f…
| * | eth/filter: bugfix which can cause a nil pointer crash when parsing filter ↵Bas van Kervel2016-05-172-38/+234
| | | | | | | | | | | | arguments
* | | Merge pull request #2589 from karalabe/estimate-remove-codecheckJeffrey Wilcke2016-05-207-28/+112
|\ \ \ | | | | | | | | accounts/abi/bind, eth: rely on getCode for sanity checks, not estimate and call
| * | | accounts/abi/bind, eth: rely on getCode for sanity checks, not estimate and callPéter Szilágyi2016-05-207-28/+112
| | |/ | |/|
* | | Merge pull request #2315 from karalabe/concurrent-headers-2Jeffrey Wilcke2016-05-204-211/+643
|\ \ \ | |/ / |/| | eth/downloader: concurrent header downloads
| * | eth/downloader: fix reviewer commentsPéter Szilágyi2016-05-202-9/+32
| | |
| * | eth/downloader: stream partial skeleton filling to processorPéter Szilágyi2016-05-173-19/+55
| | |
| * | eth/downloader: implement concurrent header downloadsPéter Szilágyi2016-05-174-211/+584
| | |
* | | Merge pull request #2582 from obscuren/fix-sign-txJeffrey Wilcke2016-05-191-1/+1
|\ \ \ | | | | | | | | eth: fixed regression in eth_signTransaction fixes #2578
| * | | eth: fixed regression in eth_signTransaction fixes #2578Jeffrey Wilcke2016-05-181-1/+1
| | |/ | |/| | | | | | | | | | Sign transaction returned the unsigned transaction rather than the signed one.
* | | Merge pull request #2580 from fjl/p2p-configFelix Lange2016-05-184-28/+36
|\ \ \ | |/ / |/| | node, p2p: move network config out of Server
| * | node, p2p: move network config out of ServerFelix Lange2016-05-184-28/+36
|/ / | | | | | | This silences a go vet message about copying p2p.Server in package node.
* | Merge pull request #2574 from karalabe/notx-during-fastsyncJeffrey Wilcke2016-05-173-14/+23
|\ \ | | | | | | eth: skip transaction handling during fast sync
| * | eth: skip transaction handling during fast syncPéter Szilágyi2016-05-173-14/+23
|/ /
* | Merge pull request #2567 from fjl/console-history-excludeJeffrey Wilcke2016-05-171-6/+3
|\ \ | |/ |/| cmd/geth: fix console history exclusion
| * cmd/geth: fix console history exclusionFelix Lange2016-05-141-6/+3
|/ | | | | | Calls to 'personal' API should be excluded from console history because they can be called with an account passphrase as argument. The check for such calls was inverted and didn't work.
* core: fixed pointer assignmentJeffrey Wilcke2016-05-131-2/+2
| | | | | | This fixes an issue where it's theoretical possible to cause a consensus failure when hitting the lower end of the difficulty, though pratically impossible it's worth a fix.
* eth/downloader: bound fork ancestry and allow heavy short forksPéter Szilágyi2016-05-132-43/+201
|
* Merge pull request #2563 from obscuren/rpcaddr-fixJeffrey Wilcke2016-05-132-0/+11
|\ | | | | eth: fixed double close of channel. Fixes #2555
| * event: fixed subscribtions to stopped event muxJeffrey Wilcke2016-05-132-0/+11
|/ | | | | | | | | | | | | This fixes an issue where the following would lead to a panic due to a channel being closed twice: * Start mux * Stop mux * Sub to mux * Unsub This is fixed by setting the subscriptions status to closed resulting in the Unsubscribe to ignore the request when called.
* Merge pull request #2559 from karalabe/abigen-unmarshalPéter Szilágyi2016-05-123-5/+39
|\ | | | | accounts/abi/bind: fix multi-value anonymous unmarshalling
| * accounts/abi: fix abi test for go vet...Péter Szilágyi2016-05-121-2/+2
| |
| * accounts/abi/bind: fix multi-value anonymous unmarshallingPéter Szilágyi2016-05-122-3/+37
| |
* | Merge pull request #2560 from 6londe/patch-3Péter Szilágyi2016-05-121-3/+3
|\ \ | |/ |/| README: fix typos
| * README: fix typosChanghoon Lee2016-05-121-3/+3
|/ | | README: fix typos
* Merge pull request #2551 from obscuren/abi-interface-slice-fixPéter Szilágyi2016-05-123-31/+94
|\ | | | | accounts/abi: fixed unpacking in to already sliced interfaces
| * accounts/abi: fixed unpacking in to already slice interfacesJeffrey Wilcke2016-05-113-31/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously it was assumed that wheneven type `[]interface{}` was given that the interface was empty. The abigen rightfully assumed that interface slices which already have pre-allocated variable sets to be assigned. This PR fixes that by checking that the given `[]interface{}` is larger than zero and assigns each value using the generic `set` function (this function has also been moved to abi/reflect.go) and checks whether the assignment was possible. The generic assignment function `set` now also deals with pointers (useful for interface slice mentioned above) by dereferencing the pointer until it finds a setable type.