aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* swarm/api: better name resolver handling (#3754)holisticode2017-04-134-16/+53
| | | Fixes #3608
* Merge pull request #14323 from fjl/ethash-verify-headers-fixPéter Szilágyi2017-04-132-85/+52
|\ | | | | consensus/ethash: simplify concurrency in VerifyHeaders
| * consensus/ethash: simplify concurrency in VerifyHeadersFelix Lange2017-04-131-81/+48
| | | | | | | | | | This change removes a convoluted use of sync/atomic from VerifyHeaders. It also fixes the annoying error about future blocks.
| * core: don't import genesis block in TestDAOForkRangeExtradataFelix Lange2017-04-131-4/+4
| | | | | | | | The genesis block doesn't have a valid ancestor.
* | cmd/utils, node: remove unused solc references and improve RPC config (#14324)bas-vk2017-04-1315-67/+38
| | | | | | | | | | Currently http cors and websocket origins are a comma separated string in the config object. These are replaced with string arrays that are more expressive in case of a config file.
* | Merge pull request #14320 from karalabe/rlpdump-single-flagPéter Szilágyi2017-04-121-0/+4
|\ \ | |/ |/| cmd/rlpdump: support dumping only the first entity
| * cmd/rlpdump: support dumping only the first entityPéter Szilágyi2017-04-121-0/+4
| |
* | cmd/geth: add --config file flag (#13875)Felix Lange2017-04-1255-648/+6615
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * p2p/discover, p2p/discv5: add marshaling methods to Node * p2p/netutil: make Netlist decodable from TOML * common/math: encode nil HexOrDecimal256 as 0x0 * cmd/geth: add --config file flag * cmd/geth: add missing license header * eth: prettify Config again, fix tests * eth: use gasprice.Config instead of duplicating its fields * eth/gasprice: hide nil default from dumpconfig output * cmd/geth: hide genesis block in dumpconfig output * node: make tests compile * console: fix tests * cmd/geth: make TOML keys look exactly like Go struct fields * p2p: use discovery by default This makes the zero Config slightly more useful. It also fixes package node tests because Node detects reuse of the datadir through the NodeDatabase. * cmd/geth: make ethstats URL settable through config file * cmd/faucet: fix configuration * cmd/geth: dedup attach tests * eth: add comment for DefaultConfig * eth: pass downloader.SyncMode in Config This removes the FastSync, LightSync flags in favour of a more general SyncMode flag. * cmd/utils: remove jitvm flags * cmd/utils: make mutually exclusive flag error prettier It now reads: Fatal: flags --dev, --testnet can't be used at the same time * p2p: fix typo * node: add DefaultConfig, use it for geth * mobile: add missing NoDiscovery option * cmd/utils: drop MakeNode This exposed a couple of places that needed to be updated to use node.DefaultConfig. * node: fix typo * eth: make fast sync the default mode * cmd/utils: remove IPCApiFlag (unused) * node: remove default IPC path Set it in the frontends instead. * cmd/geth: add --syncmode * cmd/utils: make --ipcdisable and --ipcpath mutually exclusive * cmd/utils: don't enable WS, HTTP when setting addr * cmd/utils: fix --identity
* | Merge pull request #14322 from karalabe/puppeth-new-configsPéter Szilágyi2017-04-121-249/+249
|\ \ | | | | | | cmd/puppeth: format dashboard html, update syncmode flags
| * | cmd/puppeth: format dashboard html, update syncmode flagsPéter Szilágyi2017-04-121-249/+249
|/ /
* | consensus, core, ethstats: use engine specific block beneficiary (#14318)Péter Szilágyi2017-04-1218-26/+76
| | | | | | | | | | | | * consensus, core, ethstats: use engine specific block beneficiary * core, eth, les, miner: use explicit beneficiary during mining
* | consensus/clique, internal/web3ext: support hash based API queries (#14321)Péter Szilágyi2017-04-126-32/+66
|/ | | | | | * consensus/clique, internal/web3ext: support hash based API queries * consensus/clique: make RPC return types public
* Merge pull request #14311 from Arachnid/tracingNick Johnson2017-04-121-22/+62
|\ | | | | internal/ethapi: Add support for fetching information about the current call in JS traces
| * internal/ethapi: Add support for fetching information about the current call ↵Nick Johnson2017-04-111-22/+62
| | | | | | | | in JS traces
* | build: create deb source for Ubuntu Zesty (#14316)Péter Szilágyi2017-04-121-1/+1
| |
* | swarm/api: FUSE read-write support (#13872)Zahoor Mohamed2017-04-1215-362/+1693
| | | | | | | | | | | | | | | | - Moved fuse related code in a new package, swarm/fuse - Added write support - Create new files - Delete existing files - Append to files (with limitations) - More test coverage
* | cmd/swarm: add --password (#3748)Victor Farazdagi2017-04-121-6/+18
| |
* | params: updated testnet bootnodes (#14310)Jamie Pitts2017-04-111-3/+3
| |
* | cmd/puppeth: your Ethereum private network manager (#13854)Péter Szilágyi2017-04-1170-11/+21105
| |
* | les: allow LES connection to other servers (#13889)Felföldi Zsolt2017-04-111-2/+3
| |
* | p2p: if no nodes are connected, attempt dialing bootnodes (#13874)Péter Szilágyi2017-04-113-9/+121
| |
* | core: fix comment typoJustin2017-04-101-1/+1
| |
* | consensus/clique: Proof of Authority (#3753)Péter Szilágyi2017-04-1012-123/+1575
| | | | | | | | This PR is a prototype implementation of plugable consensus engines and the Clique PoA protocol ethereum/EIPs#225
* | eth: accept transactions when starting CPU mining (#13882)Péter Szilágyi2017-04-106-10/+18
| |
* | Merge pull request #13883 from karalabe/boardcast-sync-headPéter Szilágyi2017-04-101-1/+9
|\ \ | | | | | | eth: announce block after sync cycle (star topology)
| * | eth: announce block after sync cycle (star topology)Péter Szilágyi2017-04-101-1/+9
| | |
* | | whisper: big refactoring (#13852)gluk2562017-04-1014-713/+1380
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * whisper: GetMessages fixed; size restriction updated * whisper: made PoW and MaxMsgSize customizable * whisper: test added * whisper: sym key management changed * whisper: identity management refactored * whisper: API refactoring (Post and Filter) * whisper: big refactoring complete * whisper: spelling fix * whisper: variable topic size allowed for a filter * whisper: final update * whisper: formatting * whisper: file exchange introduced in wnode * whisper: bugfix * whisper: API updated + new tests * whisper: statistics updated * whisper: wnode server updated * whisper: allowed filtering for variable topic size * whisper: tests added * whisper: resolving merge conflicts * whisper: refactoring (documenting mostly) * whsiper: tests fixed * whisper: down cased error messages * whisper: documenting the API functions * whisper: logging fixed * whisper: fixed wnode parameters * whisper: logs fixed (typos)
* | Merge pull request #13881 from karalabe/go-1.8.1Péter Szilágyi2017-04-092-30/+11
|\ \ | | | | | | travis, appveyor: update to Go 1.8.1
| * | travis, appveyor: update to Go 1.8.1Péter Szilágyi2017-04-092-30/+11
|/ /
* | Merge pull request #13880 from karalabe/remote-miner-fixPéter Szilágyi2017-04-094-12/+31
|\ \ | |/ |/| consensus/ethash, eth: don't mine if 0 threads are set
| * consensus, eth: don't CPU mine by default during remote miningPéter Szilágyi2017-04-074-12/+31
|/
* Merge pull request #13870 from karalabe/miners-fixesPéter Szilágyi2017-04-0718-366/+116
|\ | | | | all: clean up various error handling in core and the miner
| * consensus, core: drop all the legacy custom core error typesPéter Szilágyi2017-04-0615-260/+114
| |
| * cmd/geth, eth: drop bad block reporting, its offline anywayPéter Szilágyi2017-04-063-96/+2
| |
| * miner: don't verify our own blocks, trust the enginePéter Szilágyi2017-04-061-10/+0
| |
* | swarm/api: refactor and improve HTTP API (#3773)Lewis Marshall2017-04-0720-663/+1779
| | | | | | | | | | | | | | This PR deprecates the file related RPC calls in favour of an improved HTTP API. The main aim is to expose a simple to use API which can be consumed by thin clients (e.g. curl and HTML forms) without the need for complex logic (e.g. manipulating prefix trie manifests).
* | cmd, les, eth, eth/gasprice: using new gas price oracle (#13853)Felföldi Zsolt2017-04-0610-419/+167
| | | | | | | | | | | | | | | | | | | | | | | | * cmd, les, eth, eth/gasprice: using new gas price oracle * eth/gasprice: renamed source file * eth/gasprice: added security checks for gpo params * eth/gasprice: fixed naming issues * eth/gasprice: max limit, maxEmpty
* | cmd/swarm: allow uploading from stdin (#3744)Louis Holbrook2017-04-063-7/+64
| | | | | | | | | | | | - intended to be a swarm alternative to termbin.com - added --stdin flag to swarm executable. if set, swarm will read data from stdin and postRaw it.
* | .travis, build: autodelete old unstable archives (#13867)Péter Szilágyi2017-04-0668-1118/+7826
|/ | | | | | | | This commit adds a build step to travis to auto-delete unstable archives older than 14 days (our regular release schedule) from Azure via ci.go purge. The commit also pulls in the latest Azure storage code, also switching over from the old import path (github.com/Azure/azure-sdk-for-go) to the new split one (github.com/Azure/azure-storage-go).
* core, core/types: regenerate JSON marshaling, add "hash" to headers (#13868)Felix Lange2017-04-0612-263/+254
| | | | | | | | | | * Makefile: fix devtools target * core: regenerate genesis marshaling with fjl/gencodec@cbfa5be5a8a8 * core/types: regenerate marshaling methods with fjl/gencodec@cbfa5be5a8a8 * core/types: add "hash" to JSON headers
* cmd/geth, node: surface geth architecture into version (#13866)Péter Szilágyi2017-04-064-5/+8
|
* debug: convert uint64-blocknumber into rpc.Blocknumber (#13862)Martin Holst Swende2017-04-051-6/+29
| | | | | | * debug: Converted uint64-blocknumber into rpc.Blocknumber * api/debug: Fix pending block issues in DumpBlock
* core/state: make TestSnapshotRandom work again (#3816)gary rong2017-04-053-5/+8
| | | | | | In `touch` operation, only `touched` filed has been changed. Therefore in the related undo function, only `touched` field should be reverted. In addition, whether remove this obj from dirty map should depend on prevDirty flag.
* cmd/swarm, swarm/api/client: add HTTP API client and 'swarm ls' command (#3742)Lewis Marshall2017-04-0510-245/+594
| | | | | | | | This adds a swarm ls command which lists files and directories stored in a manifest. Rather than listing all files, it uses "directory prefixes" in case there are a lot of files in a manifest but you just want to traverse it. This also includes some refactoring to the tests and the introduction of a swarm/api/client package to make things easier to test.
* core, consensus: pluggable consensus engines (#3817)Péter Szilágyi2017-04-0561-1427/+1682
| | | | | This commit adds pluggable consensus engines to go-ethereum. In short, it introduces a generic consensus interface, and refactors the entire codebase to use this interface.
* Merge pull request #13856 from karalabe/ethstats-sanity-checksPéter Szilágyi2017-04-041-4/+18
|\ | | | | ethstats: sanity check ethstats history queries
| * ethstats: cut short unavailable history responsesPéter Szilágyi2017-04-041-2/+10
| |
| * ethstats: sanity check ethstats history queriesPéter Szilágyi2017-03-311-2/+8
|/
* swarm/api: improve FUSE build constraints, logging and APIs (#3818)Felix Lange2017-03-316-168/+124
| | | | | | | | | | | | | | | | | | | | * swarm/api: fix build/tests on unsupported platforms Skip FUSE tests if FUSE is unavailable and change build constraints so the 'lesser' platforms aren't mentioned explicitly. The test are compiled on all platforms to prevent regressions in _fallback.go Also gofmt -w -s because why not. * internal/web3ext: fix swarmfs wrappers Remove inputFormatter specifications so users get an error when passing the wrong number of arguments. * swarm/api: improve FUSE-related logging and APIs The API now returns JSON objects instead of strings. Log messages for invalid arguments are removed.
* Merge pull request #13851 from karalabe/ethstats-url-scheme-discoveryPéter Szilágyi2017-03-301-2/+2
|\ | | | | ethstats: work around weird URL scheme parsing issues
| * ethstats: work around weird URL scheme parsing issuesPéter Szilágyi2017-03-301-2/+2
|/
* build: work around cgo linker issue on macOS 10.12.4 (#13849)Felix Lange2017-03-291-3/+11
| | | Fixes #3792 by stripping debug symbols.
* core/types: rename txdata.gasLimit -> txdata.gas in JSON (#13848)bas-vk2017-03-292-4/+4
|
* Merge pull request #13516 from fjl/core-marshal-non-pointerPéter Szilágyi2017-03-287-112/+106
|\ | | | | core, core/types: use non-pointer receiver for Marshal* methods
| * core, core/types: use non-pointer receiver for Marshal* methodsFelix Lange2017-03-277-112/+106
| | | | | | | | | | Regenerated with fjl/gencodec@1a75a2161009 Also add ,omitempty to optional GenesisAccount fields.
* | Merge pull request #3801 from karalabe/ledger-linux-confirmPéter Szilágyi2017-03-282-13/+49
|\ \ | |/ |/| accounts/usbwallet: fix Ledger hidapi/libusb protocol violation
| * accounts/usbwallet: if a confirmation is pending, skip refreshPéter Szilágyi2017-03-232-3/+16
| |
| * accounts/usbwallet: fix Ledger hidapi/libusb protocol violationPéter Szilágyi2017-03-232-13/+36
| |
* | Merge pull request #3820 from fjl/core-types-eip155-chainid-mulPéter Szilágyi2017-03-271-1/+1
|\ \ | | | | | | core/types: ensure all EIP155 signer fields are set by deriveSigner
| * | core/types: ensure all EIP155 signer fields are set by deriveSignerFelix Lange2017-03-251-1/+1
|/ / | | | | | | Fixes #3819
* | rpc: honour pending requests before tearing conn down (#3814)Péter Szilágyi2017-03-241-14/+28
| |
* | Merge pull request #3813 from fjl/build-fixes-2Péter Szilágyi2017-03-245-36/+45
|\ \ | | | | | | build: unify vendor skipping, always run go vet
| * | travis.yml: re-add missing build commands for Go 1.7Felix Lange2017-03-241-1/+3
| | |
| * | build: always run go vetFelix Lange2017-03-244-9/+11
| | | | | | | | | | | | | | | This ensures 'make test' finds all errors that remote CI would find. Go 1.7 vet reports a false positive in package log, add a workaround.
| * | build: unify vendor skipping logicFelix Lange2017-03-232-26/+31
| |/ | | | | | | | | This fixes a recent bug where 'make geth' built everything instead of just geth.
* | ethstats: cleanups, trace logs and "fix" history responses (#3812)Péter Szilágyi2017-03-241-69/+85
| |
* | Merge pull request #3794 from fjl/core-genesis-refactorPéter Szilágyi2017-03-2354-1300/+1523
|\ \ | |/ |/| core: refactor genesis handling
| * core: refactor genesis handlingFelix Lange2017-03-2345-1267/+1371
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit solves several issues concerning the genesis block: * Genesis/ChainConfig loading was handled by cmd/geth code. This left library users in the cold. They could specify a JSON-encoded string and overwrite the config, but didn't get any of the additional checks performed by geth. * Decoding and writing of genesis JSON was conflated in WriteGenesisBlock. This made it a lot harder to embed the genesis block into the forthcoming config file loader. This commit changes things so there is a single Genesis type that represents genesis blocks. All uses of Write*Genesis* are changed to use the new type instead. * If the chain config supplied by the user was incompatible with the current chain (i.e. the chain had already advanced beyond a scheduled fork), it got overwritten. This is not an issue in practice because previous forks have always had the highest total difficulty. It might matter in the future though. The new code reverts the local chain to the point of the fork when upgrading configuration. The change to genesis block data removes compression library dependencies from package core.
| * core/types: handle nil ChainId in NewEIP155SignerFelix Lange2017-03-231-0/+3
| | | | | | | | | | | | All uses of ChainConfig.ChainId eventually end up in NewEIP155Signer. This fixes the case where users forget to set the ChainId in their config.
| * core/state: expose CommitToFelix Lange2017-03-231-2/+3
| |
| * common: add UnprefixedHash, UnprefixedAddressFelix Lange2017-03-231-14/+30
| |
| * common/hexutil: add UnmarshalFixedUnprefixedTextFelix Lange2017-03-232-5/+62
| |
| * common/math: add HexOrDecimal64, HexOrDecimal256Felix Lange2017-03-234-12/+54
| |
* | swarm/api: support mounting manifests via FUSE (#3690)Zahoor Mohamed2017-03-2344-3/+7005
|/
* Merge pull request #3795 from fjl/pow-fix-test-modePéter Szilágyi2017-03-233-20/+25
|\ | | | | pow: fix Search with ethash test mode
| * pow: fix Search with ethash test modeFelix Lange2017-03-183-20/+25
| | | | | | | | | | | | | | | | | | | | | | The cache/dataset methods crashed with a nil pointer error if cachesinmem/dagsinmem were zero. Fix it by skipping the eviction logic if there are no caches/datasets. Search always used the regular dataset size regardless of test mode. Fix it by removing the redundant size parameter of hashimotoFull. Fixes #3784
* | Merge pull request #3809 from fjl/all-use-normal-contextPéter Szilágyi2017-03-2376-517/+215
|\ \ | | | | | | all: import "context" instead of "golang.org/x/net/context"
| * | trie, whisper/whisperv5: use math/rand Read functionFelix Lange2017-03-235-54/+23
| | |
| * | mobile: remove support for Go < 1.7Felix Lange2017-03-232-26/+5
| | |
| * | all: import "context" instead of "golang.org/x/net/context"Felix Lange2017-03-2369-437/+187
|/ / | | | | | | | | | | | | | | | | | | 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.
* | les: implement request distributor, fix blocking issues (#3660)Felföldi Zsolt2017-03-2319-322/+877
| | | | | | | | | | * les: implement request distributor, fix blocking issues * core: moved header validation before chain mutex lock
* | Merge pull request #3808 from fjl/build-go-1.7Péter Szilágyi2017-03-234-29/+6
|\ \ | | | | | | build: require Go >= 1.7
| * | build: remove support for the GO_OPENCL environment variableFelix Lange2017-03-221-4/+0
| | | | | | | | | | | | We don't use the opencl build tag anymore.
| * | build: require Go >= 1.7Felix Lange2017-03-224-25/+6
|/ / | | | | | | | | | | | | We have decided to bump the requirement to Go 1.7 because it enables subtests and allows dropping backwards-compatibility code. This is in line with Go's support policy. Go 1.6 and earlier no longer receive security updates.
* | core/vm: use uint64 instead of *big.Int in tracer (#3805)Yohann Leon2017-03-226-21/+17
| |
* | core, eth, les: support resuming fast sync on heavy rollback (#3743)Péter Szilágyi2017-03-226-34/+69
| |
* | Merge pull request #3756 from fjl/core-types-gencodecFelix Lange2017-03-2216-322/+554
|\ \ | | | | | | core/types: use gencodec for JSON marshaling code
| * | core/types: use gencodec for JSON marshaling codeFelix Lange2017-03-079-312/+510
| | |
| * | rlp: add support for "-" struct tagFelix Lange2017-03-074-7/+31
| | |
| * | internal/jsre/deps: ensure that go generate produces no changesFelix Lange2017-03-072-3/+4
| | |
| * | Makefile: add devtools targetFelix Lange2017-03-071-0/+9
| | |
* | | Merge pull request #3802 from karalabe/cocoapods-stablePéter Szilágyi2017-03-201-1/+1
|\ \ \ | | | | | | | | travis: switch to cocoapods 1.2.0 stable
| * | | travis: switch to cocoapods 1.2.0 stablePéter Szilágyi2017-03-201-1/+1
|/ / /
* | | Merge pull request #3800 from karalabe/ethstats-genesis-fixesPéter Szilágyi2017-03-201-10/+28
|\ \ \ | | | | | | | | ethstats: try both ws:// and wss:// if none specified
| * | | ethstats: try both ws:// and wss:// if none specifiedPéter Szilágyi2017-03-201-10/+28
| | | |
* | | | swarm/network/kademlia: set kademlia log output to debug instead of warn (#3787)holisticode2017-03-181-1/+1
| | | |
* | | | accounts/abi/bind: allow client to specify sender address for call (#3782)bas-vk2017-03-162-2/+42
| | | |
* | | | rpc: add support for extended headers in CORS requests (#3783)Micah Zoltu2017-03-162-0/+2
| |_|/ |/| | | | | | | | Fixes #3762. Details about parameter: https://github.com/rs/cors/blob/a62a804a8a009876ca59105f7899938a1349f4b3/cors.go#L50-L54
* | | internal/ethapi: drop eth_compile (#3740)Péter Szilágyi2017-03-162-85/+1
|/ /
* | Merge pull request #3779 from zsfelfoldi/cht-updatePéter Szilágyi2017-03-141-23/+2
|\ \ | | | | | | light: added new CHT
| * | light: added new CHTZsolt Felfoldi2017-03-141-23/+2
| |/
* | pow: make data dumps backwards compatible, fix DAG endPéter Szilágyi2017-03-092-21/+32
| |
* | crypto, pow, vendor: hash optimizations, mmap ethashPéter Szilágyi2017-03-0912-203/+772
| |
* | all: finish integrating Go ethash, delete C++ vendorPéter Szilágyi2017-03-0920-800/+230
| |
* | pow: only support prime calculations on Go 1.8 and abovePéter Szilágyi2017-03-096-63/+157
| |
* | cmd, eth, les, node, pow: disk caching and progress reportsPéter Szilágyi2017-03-098-55/+216
| |
* | all: swap out the C++ ethash to the pure Go one (mining todo)Péter Szilágyi2017-03-0931-1145/+1337
| |
* | crypto, pow: add pure Go implementation of ethashPéter Szilágyi2017-03-096-2/+1929
| |
* | build: add bootnode to Ubuntu PPAs too (#3766)Péter Szilágyi2017-03-091-0/+4
| |
* | * cmd/geth: add --nocompaction flag + multiple import filesMartin Holst Swende2017-03-083-6/+27
| | | | | | | | | | | | | | | | | | | | * main,import: Add --nocompaction flag + multiple import files * geth/import: documentation * import: Added more info to err message * fix :P
* | Merge pull request #3755 from ligi/mobile_fix_typoPéter Szilágyi2017-03-071-1/+1
|\ \ | |/ |/| mobile: Fix typo ( Ethereun -> Ethereum )
| * mobile: Fix typo ( Ethereun -> Ethereum )ligi2017-03-071-1/+1
|/
* Merge pull request #3739 from karalabe/logger-updates-4Péter Szilágyi2017-03-0422-341/+285
|\ | | | | all: update light logs (and a few others) to the new model
| * all: update light logs (and a few others) to the new modelPéter Szilágyi2017-03-0322-341/+285
| |
* | Merge pull request #3738 from karalabe/impossible-reorg-warningPéter Szilágyi2017-03-031-6/+9
|\ \ | | | | | | core: reorg logs crashed, add a check for corner cases
| * | core: reorg logs crashed, add a check for corner casesPéter Szilágyi2017-03-031-6/+9
| |/
* | Merge pull request #3741 from karalabe/fix-makefile-xgoPéter Szilágyi2017-03-031-1/+4
|\ \ | |/ |/| build: fix xgo argument order when building from make
| * build: fix xgo argument order when building from makePéter Szilágyi2017-03-031-1/+4
|/
* README: fix typoAaron Hnatiw2017-03-031-1/+1
|
* Merge pull request #3735 from karalabe/bundle-bootnodePéter Szilágyi2017-03-021-0/+1
|\ | | | | build: bundle the bootnode too into alltools
| * build: bundle the bootnode too into alltoolsPéter Szilágyi2017-03-021-0/+1
| |
* | Merge pull request #3727 from karalabe/travis-mipsPéter Szilágyi2017-03-023-23/+78
|\ \ | |/ |/| travis: support building mips32 and mips64 too
| * travis: support building mips32 and mips64 tooPéter Szilágyi2017-03-023-23/+78
| |
* | Merge pull request #3722 from fjl/hexutil-text-unmarshalPéter Szilágyi2017-03-029-114/+275
|\ \ | | | | | | common/hexutil: implement TextMarshaler, TextUnmarshaler
| * | common/hexutil: ensure negative big.Int is encoded sensiblyFelix Lange2017-03-023-16/+5
| | | | | | | | | | | | Restricting encoding is silly.
| * | common/hexutil: implement TextMarshaler, TextUnmarshalerFelix Lange2017-03-028-96/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes the wrapper types more generally applicable. encoding.TextMarshaler is supported by most codec implementations (e.g. for yaml). The tests now ensure that package json actually recognizes the custom marshaler implementation irrespective of how it is implemented. The Uint type has new tests, too. These are tricky because uint size depends on the CPU word size. Turns out that there was one incorrect case where decoding returned ErrUint64Range instead of ErrUintRange.
| * | common/hexutil: don't leak encoding/hex errors in DecodeFelix Lange2017-03-022-6/+9
| | | | | | | | | | | | | | | All other functions return errors from package hexutil, ensure that Decode does too.
| * | common/hexutil: reject big integer inputs > 256 bitsFelix Lange2017-03-024-3/+30
| | | | | | | | | | | | This follows the change to common/math big integer parsing in PR #3699.
* | | Logger updates 3 (#3730)Péter Szilágyi2017-03-0222-292/+256
| | | | | | | | | | | | | | | | | | | | | | | | * accounts, cmd, eth, ethdb: port logs over to new system * ethdb: drop concept of cache distribution between dbs * eth: fix some log nitpicks to make them nicer
* | | Merge pull request #3728 from obscuren/format-tracePéter Szilágyi2017-03-023-58/+69
|\ \ \ | |/ / |/| | core/evm, core/vm: improved evm trace output
| * | cmd/evm: removed -sysstat and moved content to -debug flagJeffrey Wilcke2017-03-012-17/+21
| | | | | | | | | | | | | | | | | | Added the ability to directly compile and run ethereum assembly using the evm utility: `evm run <file>`. This is equivalant to `evm compile <file> | evm run`.
| * | core/evm, core/vm: improved evm trace outputJeffrey Wilcke2017-03-012-42/+49
| |/ | | | | | | | | | | | | | | * Improved the standard evm tracer output and renamed it to WriteTrace which now takes an io.Writer to write the logs to. * Added WriteLogs which writes logs to the given writer in a readable format. * evm utility now also prints logs generated during the execution.
* / cmd/disasm, cmd/evm: integrate disasm tool into evm tool. (#3729)Valentin Wüstholz2017-03-012-12/+24
|/
* cmd/evm, core/asm: add EVM assembler (#3686)Jeffrey Wilcke2017-03-018-133/+852
| | | | | The evm compile command implements a simple assembly language that compiles to EVM bytecode.
* cmd/utils, core, params: fork all teh things for dev mode (#3697)Jeffrey Wilcke2017-03-013-0/+15
|
* Merge pull request #3725 from karalabe/kill-it-with-firePéter Szilágyi2017-03-013-189/+33
|\ | | | | errs: kill it with fire
| * errs: kill it with firePéter Szilágyi2017-03-013-189/+33
|/
* Merge pull request #3723 from karalabe/logger-updates-2Péter Szilágyi2017-02-2821-262/+230
|\ | | | | Logger updates
| * core/state: drop most of a logs (useless at this volume)Péter Szilágyi2017-02-282-17/+2
| |
| * core, log: track field length and pad to alignPéter Szilágyi2017-02-283-10/+32
| |
| * all: next batch of log polishes to contextual versionsPéter Szilágyi2017-02-2818-242/+203
| |
* | all: unify big.Int zero checks, use common/math in more places (#3716)Felix Lange2017-02-2830-114/+104
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | * common/math: optimize PaddedBigBytes, use it more name old time/op new time/op delta PaddedBigBytes-8 71.1ns ± 5% 46.1ns ± 1% -35.15% (p=0.000 n=20+19) name old alloc/op new alloc/op delta PaddedBigBytes-8 48.0B ± 0% 32.0B ± 0% -33.33% (p=0.000 n=20+20) * all: unify big.Int zero checks Various checks were in use. This commit replaces them all with Int.Sign, which is cheaper and less code. eg templates: func before(x *big.Int) bool { return x.BitLen() == 0 } func after(x *big.Int) bool { return x.Sign() == 0 } func before(x *big.Int) bool { return x.BitLen() > 0 } func after(x *big.Int) bool { return x.Sign() != 0 } func before(x *big.Int) int { return x.Cmp(common.Big0) } func after(x *big.Int) int { return x.Sign() } * common/math, crypto/secp256k1: make ReadBits public in package math
* Merge pull request #3721 from karalabe/drop-legacy-db-updatesPéter Szilágyi2017-02-283-80/+0
|\ | | | | core, eth: drop database block splitting upgrader
| * core, eth: drop database block splitting upgraderPéter Szilágyi2017-02-283-80/+0
|/
* params: updated bootnodes (#3720)Jamie Pitts2017-02-281-5/+8
| | | | | | * Updated the list of go bootnodes: replaced BR with a new one, added US-WEST and AU. * Updated bootnodes, minor go formatting change.
* Merge pull request #3709 from fjl/p2p-context-logPéter Szilágyi2017-02-2814-154/+174
|\ | | | | p2p, p2p/discover, p2p/nat: rework logging using context keys
| * p2p, p2p/discover, p2p/nat: rework logging using context keysFelix Lange2017-02-2811-151/+171
| |
| * eth, les: shorten genesis block mismatch error messageFelix Lange2017-02-283-3/+3
| |
* | Merge pull request #3718 from karalabe/terminal-format-hashPéter Szilágyi2017-02-284-34/+61
|\ \ | |/ |/| common, eth/downloader, log: support terminal log formatting
| * common, eth/downloader, log: support terminal log formattingPéter Szilágyi2017-02-284-34/+61
|/
* Merge pull request #3717 from tranvictor/masterPéter Szilágyi2017-02-281-1/+1
|\ | | | | internal/ethapi: return logsBloom for pending block
| * internal/ethapi: fixes #2648, returns logsBloom for pending blocktranvictor2017-02-271-1/+1
| |
* | Merge pull request #3708 from fjl/log-letterPéter Szilágyi2017-02-2813-45/+64
|\ \ | |/ |/| log: fix annoyances
| * all: disable log message colors outside of gethFelix Lange2017-02-2711-27/+38
| | | | | | | | Also tweak behaviour so colors are only enabled when stderr is a terminal.
| * log: disable logs by defaultFelix Lange2017-02-271-14/+2
| |
| * log: log full level names instead of mispelled "EROR", "DBUG"Felix Lange2017-02-272-4/+24
|/
* Merge pull request #3711 from karalabe/update-downloader-logsPéter Szilágyi2017-02-278-135/+153
|\ | | | | eth/downloader: port over old logs from glog to log15
| * eth/downloader: review fixesPéter Szilágyi2017-02-272-7/+13
| |
| * accounts, eth/downloader: use "err" instead of "error" in logsPéter Szilágyi2017-02-275-23/+23
| |
| * eth/downloader: port over old logs from glog to log15Péter Szilágyi2017-02-274-125/+137
| |
* | Merge pull request #3715 from karalabe/update-hid-libraryPéter Szilágyi2017-02-276-14/+49
|\ \ | | | | | | vendor: update HID library for glibc < v2.17 build
| * | vendor: update HID library for glibc < v2.17 buildPéter Szilágyi2017-02-276-14/+49
| |/
* / core, core/vm, cmd/disasm: unify procedures for disassembling evm code (#3530)Valentin Wüstholz2017-02-276-185/+218
|/
* common: move big integer math to common/math (#3699)Felix Lange2017-02-2754-1569/+821
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common: remove CurrencyToString Move denomination values to params instead. * common: delete dead code * common: move big integer operations to common/math This commit consolidates all big integer operations into common/math and adds tests and documentation. There should be no change in semantics for BigPow, BigMin, BigMax, S256, U256, Exp and their behaviour is now locked in by tests. The BigD, BytesToBig and Bytes2Big functions don't provide additional value, all uses are replaced by new(big.Int).SetBytes(). BigToBytes is now called PaddedBigBytes, its minimum output size parameter is now specified as the number of bytes instead of bits. The single use of this function is in the EVM's MSTORE instruction. Big and String2Big are replaced by ParseBig, which is slightly stricter. It previously accepted leading zeros for hexadecimal inputs but treated decimal inputs as octal if a leading zero digit was present. ParseUint64 is used in places where String2Big was used to decode a uint64. The new functions MustParseBig and MustParseUint64 are now used in many places where parsing errors were previously ignored. * common: delete unused big integer variables * accounts/abi: replace uses of BytesToBig with use of encoding/binary * common: remove BytesToBig * common: remove Bytes2Big * common: remove BigTrue * cmd/utils: add BigFlag and use it for error-checked integer flags While here, remove environment variable processing for DirectoryFlag because we don't use it. * core: add missing error checks in genesis block parser * common: remove String2Big * cmd/evm: use utils.BigFlag * common/math: check for 256 bit overflow in ParseBig This is supposed to prevent silent overflow/truncation of values in the genesis block JSON. Without this check, a genesis block that set a balance larger than 256 bits would lead to weird behaviour in the VM. * cmd/utils: fixup import
* Merge pull request #3705 from karalabe/drop-legacy-commandsPéter Szilágyi2017-02-244-446/+0
|\ | | | | Drop legacy commands
| * cmd/geth: drop upgradedb subcommand since it's unfeasiblePéter Szilágyi2017-02-232-61/+0
| | | | | | | | | | | | | | This command was meant as a hackish way to upgrade our chain database way back when nobody cared for live updates and the size of the database along with its import times was small. With the current database weighing hundreds of GBs and processing times of many days, this command is just ludicrous.
| * cmd/ethtest: drop the manual test tool in favor of hivePéter Szilágyi2017-02-231-224/+0
| | | | | | | | | | | | All the state and block tests are ran as part of our CU builds internally, as well as have been added to hive black-box tests. As such, there is no reason for maintaining an extra standalone tool.
| * cmd/gethrpctest: ethereum/rpc-tests is deprecatedPéter Szilágyi2017-02-231-161/+0
| | | | | | | | | | | | | | | | | | Only ethereum/rpc-tests used this command, which hasn't been maintained for over a year now, a lot of tests failing. What's left of it was moved underneath hive, which can run the entire test against a black-box geth without special commands. Also a new RPC test suite is being added which is also based on black box tests, not needing special commands any more.
* | whisper: fixed temporary directory for tests (#3707)gluk2562017-02-241-2/+2
| |
* | whisper: expiry refactoring (#3706)gluk2562017-02-245-36/+72
|/
* Merge pull request #3696 from karalabe/contextual-loggerPéter Szilágyi2017-02-23172-3607/+3751
|\ | | | | Contextual logger
| * internal, log: support debug log prints, displaying log originsPéter Szilágyi2017-02-232-7/+61
| |
| * cmd, whisper/mailserver: revert to utils.FatalfPéter Szilágyi2017-02-2312-137/+118
| |
| * accounts, cmd: port packages over to the new logging systemPéter Szilágyi2017-02-2310-70/+74
| |
| * eth, les, swarm: fix go vet issues sufraced by log15Péter Szilágyi2017-02-238-10/+10
| |
| * all: blidly swap out glog to our log15, logs need reworkPéter Szilágyi2017-02-23147-3693/+1546
| |
| * log: implement a glog style pattern matching handlerPéter Szilágyi2017-02-231-0/+227
| |
| * swarm: remove superfluous line break in log statementsPéter Szilágyi2017-02-232-9/+5
| |
| * p2p: remove trailing newlines from log messagesPéter Szilágyi2017-02-235-19/+19
| |
| * log: add support for trace level, exit on criticalPéter Szilágyi2017-02-235-0/+23
| |
| * log, vendor: vendor in log15 inline into our codebasePéter Szilágyi2017-02-2326-0/+2006
|/
* Whisper API fixed (#3687)gluk2562017-02-2311-111/+182
| | | | | | | | | | | | | | | | | | | | | | * whisper: wnode updated for tests with geth * whisper: updated processing of incoming messages * whisper: symmetric encryption updated * whisper: filter id type changed to enhance security * whisper: allow filter without topic for asymmetric encryption * whisper: POW updated * whisper: logging updated * whisper: spellchecker update * whisper: error handling changed * whisper: JSON field names fixed
* trie: add difference iterator (#3637)Nick Johnson2017-02-235-130/+327
| | | | | This PR implements a differenceIterator, which allows iterating over trie nodes that exist in one trie but not in another. This is a prerequisite for most GC strategies, in order to find obsolete nodes.
* core, core/state, core/vm: remove exported account getters (#3618)Jeffrey Wilcke2017-02-2323-238/+245
| | | | Removed exported statedb object accessors, reducing the chance for nasty bugs to creep in. It's also ugly and unnecessary to have these methods.
* Merge pull request #3698 from karalabe/govet-latest-onlyPéter Szilágyi2017-02-221-1/+10
|\ | | | | travis: only run go vet and misspell on latest Go
| * travis: only run go vet and misspell on latest GoPéter Szilágyi2017-02-221-1/+10
|/
* Merge pull request #3682 from karalabe/update-go1.8Péter Szilágyi2017-02-222-8/+30
|\ | | | | travis, appveyor: update builders to Go 1.8
| * travis: fallback ARM64 builds to Go 1.7.5 due to compiler bugPéter Szilágyi2017-02-201-0/+19
| |
| * travis, appveyor: update builders to Go 1.8Péter Szilágyi2017-02-202-8/+11
| |
* | core/vm, crypto: support for go-fuzz (#3672)Jeffrey Wilcke2017-02-211-0/+20
| |
* | cmd/geth: added 'geth bug' command (#3684)Jeffrey Wilcke2017-02-203-0/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | * cmd/geth: added 'geth bug' command Added bug command to geth, which will open a browser window with an issue template and some additional system information. * cmd/geth: update bug with better infos * cmd/geth: added browser fallback * cmd/geth: govet yo momma
* | tests: cleanup tester blockchain after test run (#3692)Péter Szilágyi2017-02-201-0/+1
|/
* Merge pull request #3681 from karalabe/usb-hidapiNick Johnson2017-02-2083-1838/+5659
|\ | | | | accounts/usbwallet: swap karalabe/gousb to karalabe/hid
| * accounts/usbwallet, vendor: use hidapi instead of libusb directlyPéter Szilágyi2017-02-1783-1838/+5659
| |
* | VERSION, params: bumped unstable version to 1.6 (#3685)Jeffrey Wilcke2017-02-182-3/+3
| |
* | core/blockchain: Change iterator in procFutureBlocks to use lru.Peek instead ↵Martin Holst Swende2017-02-181-1/+1
| | | | | | | | of Get (#3655)
* | crypto: add btcec fallback for sign/recover without cgo (#3680)Felix Lange2017-02-1832-224/+3929
| | | | | | | | | | | | | | | | | | | | | | * vendor: add github.com/btcsuite/btcd/btcec * crypto: add btcec fallback for sign/recover without cgo This commit adds a non-cgo fallback implementation of secp256k1 operations. * crypto, core/vm: remove wrappers for sha256, ripemd160
* | common/math: "optimised" SafeMul and added comment on Exp (#3675)Jeffrey Wilcke2017-02-182-2/+5
| |
* | Merge pull request #3683 from karalabe/swarm-go1.8-vet-fixPéter Szilágyi2017-02-171-0/+3
|\ \ | |/ |/| swarm/api/http: fix go vet issue on Go 1.8
| * swarm/api/http: fix go vet issue on Go 1.8Péter Szilágyi2017-02-171-0/+3
|/
* Merge pull request #3679 from fjl/vendor-govendorPéter Szilágyi2017-02-17168-6323/+3390
|\ | | | | vendor: update dependencies with github.com/kardianos/govendor
| * vendor: update dependencies with github.com/kardianos/govendorFelix Lange2017-02-16168-6323/+3390
|/
* logger: remove Core verbosity level (#3659)Felix Lange2017-02-158-18/+17
|
* Merge pull request #3674 from obscuren/gaz64Péter Szilágyi2017-02-1547-826/+1087
|\ | | | | params: core, core/vm, miner: 64bit gas instructions
| * params: core, core/vm, miner: 64bit gas instructionsJeffrey Wilcke2017-02-1447-826/+1087
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reworked the EVM gas instructions to use 64bit integers rather than arbitrary size big ints. All gas operations, be it additions, multiplications or divisions, are checked and guarded against 64 bit integer overflows. In additon, most of the protocol paramaters in the params package have been converted to uint64 and are now constants rather than variables. * common/math: added overflow check ops * core: vmenv, env renamed to evm * eth, internal/ethapi, les: unmetered eth_call and cancel methods * core/vm: implemented big.Int pool for evm instructions * core/vm: unexported intPool methods & verification methods * core/vm: added memoryGasCost overflow check and test
* | whisper: interface changed to simplify the transition to v5gluk2562017-02-149-90/+96
|/ | | | | | | | | | | | | | | | * whisper: mailserver test introduced, refactoring * whisper: validation test updated * whisper: max number of peers fixed * whisper: verification bug fixed * whisper: esthetic fix * whisper: interface changed to simplify the transition to v5 * whisper: preparation for version switch
* core, eth, internal: Added `debug_getBadBlocks()` method (#3654)Martin Holst Swende2017-02-144-2/+42
| | | | | | | | | | | | | | | | * core,eth,internal: Added `debug_getBadBlocks()` method When bad blocks are discovered, these are stored within geth. An RPC-endpoint makes them availablewithin the `debug` namespace. This feature makes it easier to discover network forks. ``` * core, api: go format + docs * core/blockchain: Documentation, fix minor nitpick * core: fix failing blockchain test
* VERSION, params: start 1.5.10 development cyclePéter Szilágyi2017-02-142-5/+5
|
* Merge pull request #3671 from karalabe/1.5.9-stablePéter Szilágyi2017-02-141-4/+4
|\ | | | | params: 1.5.9 stable
| * params: 1.5.9 stablePéter Szilágyi2017-02-141-4/+4
| |
* | Merge pull request #3670 from karalabe/docker-usb-fixPéter Szilágyi2017-02-144-9/+12
|\ \ | | | | | | Dockerfile: support building USB on Alpine, ignore temp files
| * | Dockerfile: support building USB on Alpine, ignore temp filesPéter Szilágyi2017-02-144-9/+12
| |/
* | Merge pull request #3649 from ethersphere/swarm-sigterm-fixPéter Szilágyi2017-02-141-0/+10
|\ \ | |/ |/| cmd/swarm: handle SIGTERM unix signal for clean exit
| * cmd/swarm: handle SIGTERM unix signal for clean exitzelig2017-02-131-0/+10
|/
* Merge pull request #3668 from obscuren/revert-gas64Péter Szilágyi2017-02-1349-1320/+1068
|\ | | | | Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)"
| * Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)"Jeffrey Wilcke2017-02-1349-1320/+1068
|/ | | | This reverts commit 8b57c494908637a5c0e74f8f7a13b3218e026757.
* Merge pull request #3592 from karalabe/hw-walletsPéter Szilágyi2017-02-13122-909/+36084
|\ | | | | accounts: initial support for Ledger hardware wallets
| * accounts: ledger and HD review fixesPéter Szilágyi2017-02-135-61/+40
| | | | | | | | | | | | | | | | | | - Handle a data race where a Ledger drops between list and open - Prolong Ledger tx confirmation window to 30 days from 1 minute - Simplify Ledger chainid-signature calculation and validation - Simplify Ledger USB APDU request chunking algorithm - Silence keystore account cache notifications for manual actions - Only enable self derivations if wallet open succeeds
| * accounts/usbwallet: detect and report in Ledger is in browser modePéter Szilágyi2017-02-131-4/+17
| |
| * accounts/usbwallet: make wallet responsive while Ledger is busyPéter Szilágyi2017-02-132-151/+317
| |
| * accounts/usbwallet: Ledger teardown on health-check failurePéter Szilágyi2017-02-132-8/+33
| |
| * accounts, cmd, internal, node: implement HD wallet self-derivationPéter Szilágyi2017-02-139-136/+383
| |
| * accounts, cmd, internal, mobile, node: canonical account URLsPéter Szilágyi2017-02-1319-116/+195
| |
| * accounts, cmd, eth, internal, miner, node: wallets and HD APIsPéter Szilágyi2017-02-1323-603/+1502
| |
| * accounts/usbwallet: two phase Ledger refreshes to avoid Windows bugPéter Szilágyi2017-02-131-25/+24
| |
| * accounts/usbwallet: support Ledger app version <1.0.2Péter Szilágyi2017-02-131-1/+5
| |
| * accounts/usbwallet: skip support on iOS altogetherPéter Szilágyi2017-02-134-0/+44
| |
| * build: work around CGO linker bug on pre-1.8 GoPéter Szilágyi2017-02-131-0/+8
| |
| * accounts/usbwallet: initial support for Ledger walletsPéter Szilágyi2017-02-134-2/+762
| |
| * vendor: pull in support for USB devices via libusb/gousbPéter Szilágyi2017-02-1363-0/+32572
| |
| * accounts, cmd, eth, internal, mobile, node: split account backendsPéter Szilágyi2017-02-1347-688/+1068
| |
* | swarm/network: fix chunk integrity checks (#3665)Viktor Trón2017-02-136-21/+125
| | | | | | | | | | | | | | | | | | | | * swarm/network: integrity on incoming known chunks * swarm/network: fix integrity check for incoming chunks * swarm/storage: imrpoved integrity checking on chunks * dbstore panics on corrupt chunk entry an prompts user to run cleandb * memstore adds logging for garbage collection * dbstore refactor item delete. correct partial deletes in Get * cmd/swarm: added cleandb subcommand
* | whisper: add tests for mailserver (#3631)gluk2562017-02-133-9/+217
|/
* core: ignore 0x prefix for code in JSON genesis blocks (#3656)Martin Holst Swende2017-02-131-1/+1
|
* cmd/swarm: manifest manipulation commands (#3645)Zahoor Mohamed2017-02-133-0/+423
|
* Merge pull request #3662 from karalabe/travis-linux-androidPéter Szilágyi2017-02-131-13/+38
|\ | | | | travis: split Android off OSX, use native image
| * travis: split Android off OSX, use native imagePéter Szilágyi2017-02-111-13/+38
|/
* Merge pull request #3648 from bas-vk/abigenPéter Szilágyi2017-02-101-1/+3
|\ | | | | cmd/abigen: parse contract name as abi identifier
| * cmd/abigen: parse contract name as abi identifierBas van Kervel2017-02-071-1/+3
| |
* | swarm/storage: release chunk storage after stop swarm (#3651)Maksim2017-02-098-9/+36
| | | | | | closes #3650
* | Merge pull request #3641 from karalabe/events-init-oncePéter Szilágyi2017-02-031-11/+5
|\ \ | | | | | | event: use sync.Once for init for faster/cleaner locking
| * | event: use sync.Once for init for faster/cleaner lockingPéter Szilágyi2017-02-031-11/+5
| | |
* | | accounts/abi, internal/jsre/deps: gofmt -w -s (#3636)Diego Siqueira2017-02-032-4/+4
|/ / | | | | Signed-off-by: DiSiqueira <dieg0@live.com>
* | Merge pull request #3635 from holiman/hive_fixesPéter Szilágyi2017-02-031-0/+2
|\ \ | | | | | | core/genesis: add support for setting nonce in 'alloc'
| * | core/genesis: add support for setting nonce in 'alloc'Martin Holst Swende2017-01-251-0/+2
| | | | | | | | | | | | This is to be able to set `pre`-state when performing blockchain tests through Hive, we need to be able to set the nonce.
* | | Merge pull request #3605 from fjl/event-feedPéter Szilágyi2017-02-0315-49/+1256
|\ \ \ | | | | | | | | event: add new Subscription type and related utilities
| * | | event: address review issues (multiple commits)Felix Lange2017-02-033-16/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | event: address Feed review issues event: clarify role of NewSubscription function event: more Feed review fixes * take sendLock after dropping f.mu * add constant for number of special cases event: fix subscribing/unsubscribing while Send is blocked
| * | | rpc: send nil on subscription Err channel when Client is closedFelix Lange2017-01-261-1/+4
| | | | | | | | | | | | | | | | | | | | This change makes client subscriptions compatible with the new Subscription semantics introduced in the previous commit.
| * | | event: add new Subscription type and related utilitiesFelix Lange2017-01-269-7/+1144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces a new Subscription type, which is synonymous with ethereum.Subscription. It also adds a couple of utilities that make working with Subscriptions easier. The mot complex utility is Feed, a synchronisation device that implements broadcast subscriptions. Feed is slightly faster than TypeMux and will replace uses of TypeMux across the go-ethereum codebase in the future.
| * | | event: deprecate TypeMux and related typesFelix Lange2017-01-256-41/+31
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Subscription type is gone, all uses are replaced by *TypeMuxSubscription. This change is prep-work for the introduction of the new Subscription type in a later commit. gorename -from '"github.com/ethereum/go-ethereum/event"::Event' -to TypeMuxEvent gorename -from '"github.com/ethereum/go-ethereum/event"::muxsub' -to TypeMuxSubscription gofmt -w -r 'Subscription -> *TypeMuxSubscription' ./event/*.go find . -name '*.go' -and -not -regex '\./vendor/.*' \| xargs gofmt -w -r 'event.Subscription -> *event.TypeMuxSubscription'