aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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-stablev1.5.9Pé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'
* | / params: core, core/vm, miner: 64bit gas instructions (#3514)Jeffrey Wilcke2017-02-0247-783/+1042
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | state: take write lock in GetNonce (#3625)Brian Schroeder2017-02-011-3/+5
| | | | | | | | We must take a write lock here because `GetNonce` calls `StateDB.GetStateObject`, which mutates the DB's live set.
* | params, VERSION: v1.5.9-unstableFelix Lange2017-02-012-5/+5
| |
* | params: v1.5.8-stablev1.5.8Felix Lange2017-02-011-4/+4
| |
* | Merge pull request #3607 from zsfelfoldi/light-fix2Felix Lange2017-02-017-80/+65
|\ \ | | | | | | les: fix private net issues, enable adding peers manually again
| * | les, cmd/util: disable topic discovery with --nodiscoverZsolt Felfoldi2017-01-272-5/+15
| | |
| * | les: remove delayed les server startingZsolt Felfoldi2017-01-264-37/+5
| | |
| * | les: add unknown peers to server pool instead of rejecting themZsolt Felfoldi2017-01-262-38/+45
| | |
* | | cmd/wnode, whisper: add whisper CLI tool and mail server (#3580)gluk2562017-01-318-30/+769
| | |
* | | Merge pull request #3615 from nolash/bzzpathfix_real5Péter Szilágyi2017-01-306-15/+187
|\ \ \ | | | | | | | | cmd/swarm, swarm/api: bzzr improve + networkid prio
| * | | swarm/api/http: add missing copyright headerPéter Szilágyi2017-01-301-0/+16
| | | |
| * | | cmd/swarm, swarm/api: bzzr improve + networkid prionolash2017-01-276-15/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes #3444 fixes #3494 networkid override Added comments to explain why test against 0 appears twice * Command line overrides saved config, saved config overrides system default --- fixes #3476 bzzr get with path Finally a hopefully clean commit for this PR Added check for empty path to avoid SIGSEGV in path parser and resolver Added requested tests for empty path and non-existing manifest. However signature for StartHTTPServer had changed. Now it's hacked as so: StartHttpServer(api.API, &Server{Addr: "127.0.0.1:8504", CorsString: ""}) * Parse url before resolve when path and ENS is supplied, example * swarm/api/http proxy server test for retrieval of subpath through get * Removed nil entry assignment on subtrie leaf in recursive key retrieval * Cleaned up path-or-no-path condition in proxy server get handler * swarm: processed with gofmt refers to lash/go-ethereum@90daa7a * swarm: Added public access method Parse alias to parse * swarm: processed with gofmt References nolash/go-ethereum@2ec3fd7 * Rename parse to Parse, removed alias
* | | | Merge pull request #3624 from kaneshin/patch-01Péter Szilágyi2017-01-302-0/+2
|\ \ \ \ | | | | | | | | | | cmd/geth, cmd/swarm: Fix to close file handler appropriately
| * | | | cmd/geth, cmd/swarm: Fix to close file handler appropriatelyShintaro Kaneko2017-01-302-0/+2
| | | | |
* | | | | Merge pull request #3623 from kaneshin/patch-1Péter Szilágyi2017-01-301-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | build: Fix tiny typo
| * | | | build: Fix tiny typoShintaro Kaneko2017-01-301-1/+1
|/ / / /
* / / / core/types: add unittest for tx json serialization (#3609)bas-vk2017-01-271-1/+43
|/ / /
* / / core: fix a small typo in blockchain.go (#3611)Vivek Anand2017-01-261-1/+1
|/ /
* / console, internal/web3ext: remove bzz and ens extensions (#3602)Felix Lange2017-01-252-97/+4
|/ | | | | web3.js includes bzz methods and throws an error when the extension module is reregistered. The ENS RPC API is deprecated and not exposed by anything.
* eth/downloader: improve deliverNodeData (#3588)Felix Lange2017-01-241-72/+52
| | | | | Commit d3b751e accidentally deleted a crucial 'return' statement, leading to a crash in case of an issue with node data. This change improves the fix in PR #3591 by removing the lock entirely.
* Merge pull request #3599 from karalabe/docker-alpine-cacertsPéter Szilágyi2017-01-244-28/+24
|\ | | | | containers/docker: update base images, add CA certs, build internally on Ubuntu
| * containers/docker: update ubuntu images to build, not pullPéter Szilágyi2017-01-232-24/+20
| |
| * containers/docker: update to alpine 3.5, add CA certificatesPéter Szilágyi2017-01-232-4/+4
| |
* | core/types: make Transaction zero value printable (#3595)Felix Lange2017-01-241-14/+18
|/
* crypto/secp256k1: sign with deterministic K (rfc6979) (#3561)Felix Lange2017-01-232-8/+22
|
* cmd/evm: added debug flag (back) (#3554)Martin Holst Swende2017-01-231-0/+2
| | | | | | * evm: added debug flag (back) * cmd/evm: gofmt
* accounts/abi/bind, internal/ethapi: binary search gas estimation (#3587)Péter Szilágyi2017-01-213-9/+100
| | | | | | | | | | | | | Gas estimation currently mostly works, but can underestimate for more funky refunds. This is because various ops (e.g. CALL) need more gas to run than they actually consume (e.g. 2300 stipend that is refunded if not used). With more intricate contract interplays, it becomes almost impossible to return a proper value to the user. This commit swaps out the simplistic gas estimation to a binary search approach, honing in on the correct gas use. This does mean that gas estimation needs to rerun the transaction log(max-price) times to measure whether it fails or not, but it's a price paid by the transaction issuer, and it should be worth it to support proper estimates.
* types: bugfix invalid V derivation on tx json unmarshal (#3594)bas-vk2017-01-212-2/+3
|
* internal/guide: initial test suite to ensure guide snippets run ok (#3582)Péter Szilágyi2017-01-202-0/+118
|
* travis: Install Android NDK explicitly, removed from gomobile (#3593)Péter Szilágyi2017-01-202-2/+10
| | | | | | The Android NDK was recently removed from gomobile, leading to our Android builds failing. Starting from https://go-review.googlesource.com/#/c/35173/ , gomobile requires a locally installed NDK. This PR ensures that travis installs that too before running the build steps.
* eth/downloader: fix mutex regression causing panics on fail (#3591)Péter Szilágyi2017-01-201-1/+2
|
* Merge pull request #3584 from obscuren/dead-codePéter Szilágyi2017-01-181-3/+0
|\ | | | | core: removal of dead-code
| * core: removal of dead-codeJeffrey Wilcke2017-01-181-3/+0
|/ | | | | | Removal of dead code that appeard as if we had a consensus issue. This however is not the case as the proper error catching happens in the vm package instead.
* Merge pull request #3579 from bas-vk/natspecPéter Szilágyi2017-01-178-23/+3
|\ | | | | cmd,eth,les,internal: remove natspec support
| * cmd,eth,les,internal: remove natspec supportBas van Kervel2017-01-178-23/+3
| |
* | core/blockchain: Made logging of reorgs more structured (#3573)Martin Holst Swende2017-01-171-6/+13
| | | | | | | | | | | | | | | | * core: Made logging of reorgs more structured, also always log if reorg is > 63 blocks long * core/blockchain: go fmt * core/blockchain: Minor fixes to the reorg reporting
* | Merge pull request #3581 from karalabe/accounts-polishPéter Szilágyi2017-01-173-8/+8
|\ \ | | | | | | accounts, mobile: make account manager API a bit more uniform
| * | accounts, mobile: make account manager API a bit more uniformPéter Szilágyi2017-01-173-8/+8
| |/
* / cmd/geth, core: add support for recording SHA3 preimages (#3543)Nick Johnson2017-01-1729-46/+156
|/
* params, VERSION: 1.5.8 unstableFelix Lange2017-01-162-5/+5
|
* params: stable 1.5.7v1.5.7Felix Lange2017-01-161-4/+4
|
* les: fixed transaction sending deadlock (#3568)Felföldi Zsolt2017-01-161-1/+0
|
* Merge pull request #3570 from fjl/hexutil-zero-fixPéter Szilágyi2017-01-163-13/+4
|\ | | | | common/hexutil: fix EncodeBig, Big.MarshalJSON
| * common/hexutil: fix EncodeBig, Big.MarshalJSONFelix Lange2017-01-163-13/+4
| | | | | | | | | | The code was too clever and failed to include zeros on a big.Word boundary.
* | Merge pull request #3560 from karalabe/ci-misspellPéter Szilágyi2017-01-133-4/+35
|\ \ | |/ |/| travis, appveyor, build: add source spell checking
| * appveyor, build: fix review requestsPéter Szilágyi2017-01-132-25/+31
| |
| * build: spellcheck individual packages (Windows path limits)Péter Szilágyi2017-01-131-7/+9
| |
| * accounts/abi: fix comment spelling errorPéter Szilágyi2017-01-131-1/+1
| |
| * travis, appveyor, build: add source spell checkingPéter Szilágyi2017-01-133-3/+26
| |
* | common/hexutil: allow empty strings when decoding JSON (#3559)Felix Lange2017-01-132-5/+5
|/
* eth: accept leading zeros for nonce parameter of submitWork (#3558)Felix Lange2017-01-134-6/+8
|
* crypto/secp256k1: update to github.com/bitcoin-core/secp256k1 @ 9d560f9 (#3544)Felix Lange2017-01-1379-1998/+8229
| | | | | - Use defined constants instead of hard-coding their integer value. - Allocate secp256k1 structs on the C stack instead of converting []byte - Remove dead code
* internal: update web3.js to 0.18.1, embed deps with go-bindata (#3545)Péter Szilágyi2017-01-136-327/+774
|
* Merge pull request #3555 from obscuren/unskip-testPéter Szilágyi2017-01-121-1/+1
|\ | | | | tests: unskip test
| * tests: unskip testJeffrey Wilcke2017-01-121-1/+1
| |
* | Merge pull request #3553 from bas-vk/rm-olympic-supportPéter Szilágyi2017-01-126-62/+15
|\ \ | | | | | | core: remove support for Olympic network
| * | core: remove support for Olympic networkBas van Kervel2017-01-126-62/+15
|/ /
* | Merge pull request #3551 from fjl/core-import-log-alignPéter Szilágyi2017-01-112-10/+8
|\ \ | | | | | | core: improve import log alignment
| * | core: improve import log alignmentFelix Lange2017-01-112-10/+8
| |/
* | ethdb: Implement interface for prefixed operations to the DB (#3536)Nick Johnson2017-01-111-0/+52
| |
* | internal/ethapi: fix duration parameter of personal_unlockAccount (#3542)Felix Lange2017-01-111-5/+8
| |
* | Merge pull request #3546 from fjl/deps-updatePéter Szilágyi2017-01-11130-1030/+14047
|\ \ | | | | | | vendor: update dependencies
| * | vendor: update all dependencies except Azure SDKFelix Lange2017-01-11130-1030/+14047
| |/ | | | | | | | | The Azure SDK doesn't support Go 1.5 anymore. We can't upgrade it until Go 1.8 comes out.
* | Merge pull request #3548 from fjl/geth-fix-bootnodesPéter Szilágyi2017-01-111-4/+4
|\ \ | |/ |/| cmd/utils: fix comma-separated --bootnodes
| * cmd/utils: fix comma-separated --bootnodesFelix Lange2017-01-111-4/+4
|/
* Merge pull request #3535 from fjl/all-ineffassignPéter Szilágyi2017-01-1034-186/+110
|\ | | | | all: fix ineffectual assignments
| * all: fix ineffectual assignments and remove uses of crypto.Sha3Felix Lange2017-01-0931-103/+108
| | | | | | | | | | go get github.com/gordonklaus/ineffassign ineffassign .
| * generators: delete dead codeFelix Lange2017-01-091-81/+0
| | | | | | | | We don't use this anymore.
| * build, node: fix go vet nitsFelix Lange2017-01-092-2/+2
| |
* | Merge pull request #3538 from karalabe/cycle-1.5.7Péter Szilágyi2017-01-092-5/+5
|\ \ | | | | | | params, VERSION: start 1.5.7 release cycle
| * | params, VERSION: start 1.5.7 release cyclePéter Szilágyi2017-01-092-5/+5
|/ /
* | Merge pull request #3537 from karalabe/release-1.5.6v1.5.6Péter Szilágyi2017-01-091-4/+4
|\ \ | | | | | | params: stable version 1.5.6
| * | params: stable version 1.5.6Péter Szilágyi2017-01-091-4/+4
|/ /
* | Merge pull request #3519 from zsfelfoldi/light-topic5Péter Szilágyi2017-01-0911-137/+290
|\ \ | | | | | | les: fixed selectPeer deadlock, improved request distribution
| * | light: fixed data race in TestTxPoolZsolt Felfoldi2017-01-061-16/+19
| | |
| * | les: fixed selectPeer deadlock, improved request distributionZsolt Felfoldi2017-01-0610-121/+271
| | | | | | | | | | | | les/flowcontrol: using proper types for relative and absolute times
* | | Merge pull request #3534 from bas-vk/writemipmapracePéter Szilágyi2017-01-091-0/+6
|\ \ \ | | | | | | | | core: fix race condition in WriteMipmapBloom
| * | | core: fix race condition in WriteMipmapBloomBas van Kervel2017-01-091-0/+6
| | | |
* | | | cmd/swarm: uploader uses HTTP PUT for directories (#3488)Viktor Trón2017-01-091-26/+56
| |_|/ |/| |
* | | Merge pull request #3529 from fjl/console-error-fixPéter Szilágyi2017-01-091-12/+5
|\ \ \ | |/ / |/| | console: fix error message in faux JSON-RPC responses
| * | console: fix error message in faux JSON-RPC responsesFelix Lange2017-01-081-12/+5
| | | | | | | | | | | | | | | The message was used as both key and value in the error object. This only affected unusual errors with no error code.
* | | Merge pull request #3533 from karalabe/modum-io-develop-2Péter Szilágyi2017-01-094-17/+93
|\ \ \ | | | | | | | | accounts/abi: support custom int slice types
| * | | accounts/abi: fixed broken types slice testcasesThomas Bocek2017-01-092-14/+19
| | | | | | | | | | | | | | | | | | | | Check for slice in type as well and adapted test case as arrays also store its types.
| * | | accounts/abi: fixed commentsJeffrey Wilcke2017-01-092-5/+5
| | | |
| * | | accounts/abi: added testcase to unpack []uint32tbocek2017-01-091-0/+24
| | | |
| * | | accounts/abi: support custom int slice typesThomas Bocek2017-01-092-4/+51
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On solidity contract I have "uint32 []" type, when abigen creates Go bindings - they are also "[]uint32" type on Go side. Even though it looks like it should work - the actual type of the data coming from the chain is of type " []*big.Int". When executing contract function from Go side - getting unmarshal error: abi: cannot unmarshal []*big.Int in to []uint32 The fix is to create array with the correct type This fixed the issue reported in: https://github.com/ethereum/go-ethereum/issues/2802
* | | node: fix pointer dereference issue in StartRPC (#3532)Victor Farazdagi2017-01-081-1/+1
| | |
* | | cmd/disasm: fix array-out-of-bounds error (#3491)Valentin Wüstholz2017-01-081-4/+8
|/ /
* | Merge pull request #3526 from karalabe/misspellPéter Szilágyi2017-01-0740-65/+65
|\ \ | | | | | | all: fix spelling errors
| * | all: fix spelling errorsPéter Szilágyi2017-01-0740-65/+65
|/ /
* | Merge pull request #3525 from fjl/all-gosimple-cleanupPéter Szilágyi2017-01-07118-1976/+444
|\ \ | | | | | | all: clean up lint issues, remove more dead code
| * | logger, pow/dagger, pow/ezp: delete dead codeFelix Lange2017-01-0720-1440/+3
| | |
| * | all: fix issues reported by honnef.co/go/simple/cmd/gosimpleFelix Lange2017-01-0746-194/+99
| | |
| * | all: gofmt -w -sFelix Lange2017-01-0664-343/+343
| | |
* | | Merge pull request #3524 from karalabe/mobile-signwith-swift-fixupPéter Szilágyi2017-01-072-4/+4
|\ \ \ | |/ / |/| | mobile: rename passphrase signing method to avoid Swift rewrite
| * | mobile: rename passphrase signing method to avoid Swift rewritePéter Szilágyi2017-01-062-4/+4
|/ /
* | common/compiler: remove workaround for solc 0.3.5 stdin bug (#3522)Felix Lange2017-01-062-36/+22
| | | | | | | | | | | | | | | | | | The crash when compiling stdin was fixed in solc 0.3.6 (released 2016-08-10). While here, simplify the test so it runs with any solc version. Fixes #3484. The byte code was different for each run because recent solc embeds the swarm hash of contract metadata into the code. When compiling from stdin the name in the metadata is constant.
* | Merge pull request #3516 from fjl/types-drop-sign-ecdsaPéter Szilágyi2017-01-0616-99/+58
|\ \ | | | | | | core/types: remove redundant SignECDSA wrappers, rename to SignTx
| * | core/types: remove redundant SignECDSA wrappers, rename to SignTxFelix Lange2017-01-0516-99/+58
| | |
* | | Merge pull request #3518 from fjl/ethclient-dependency-cleanupPéter Szilágyi2017-01-0645-268/+245
|\ \ \ | |_|/ |/| | core/types: dependency cleanup
| * | trie: remove dependency on ethdbFelix Lange2017-01-066-37/+37
| | | | | | | | | | | | This removes the core/types -> leveldb dependency.
| * | core/vm: move Log to core/typesFelix Lange2017-01-0636-193/+180
| | | | | | | | | | | | | | | | | | | | | | | | This significantly reduces the dependency closure of ethclient, which no longer depends on core/vm as of this change. All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too, the constructor simply returned a literal.
| * | params: avoid importing p2p/discover for bootnodesFelix Lange2017-01-063-38/+28
| |/ | | | | | | | | params is imported by leaf-ish library packages and should not pull in the p2p stack.
* | Merge pull request #3517 from karalabe/empty-ios-prefixPéter Szilágyi2017-01-051-1/+1
|\ \ | | | | | | build: finally settle on empty iOS ObjC package prefixes
| * | build: finally settle on empty iOS ObjC package prefixesPéter Szilágyi2017-01-051-1/+1
|/ /
* | Merge pull request #3417 from karalabe/mobile-polishesPéter Szilágyi2017-01-055-28/+54
|\ \ | | | | | | Account management API polishes
| * | accounts, internal, mobile: polish accounts API, extend Android testsPéter Szilágyi2017-01-055-28/+54
| | |
* | | swarm/api/http: add support for CORS headers (#3388)Maran2017-01-053-15/+49
|/ /
* | Merge pull request #3515 from bas-vk/exportropstenPéter Szilágyi2017-01-053-1/+13
|\ \ | |/ |/| core,cmd/utils: bugfix for ropsten dump imports
| * core,cmd/utils: bugfix for ropsten dump importsBas van Kervel2017-01-053-1/+13
| |
* | core/vm: improved EVM run loop & instruction calling (#3378)Jeffrey Wilcke2017-01-0544-1996/+1653
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The run loop, which previously contained custom opcode executes have been removed and has been simplified to a few checks. Each operation consists of 4 elements: execution function, gas cost function, stack validation function and memory size function. The execution function implements the operation's runtime behaviour, the gas cost function implements the operation gas costs function and greatly depends on the memory and stack, the stack validation function validates the stack and makes sure that enough items can be popped off and pushed on and the memory size function calculates the memory required for the operation and returns it. This commit also allows the EVM to go unmetered. This is helpful for offline operations such as contract calls.
* | accounts/abi: add support for function types (#3405)RJ2017-01-054-4/+24
| |
* | cmd/utils: disallow `--fakepow` for live operation (#3512)Péter Szilágyi2017-01-051-1/+0
| |
* | accounts, core, crypto, internal: use normalised V during signature handling ↵Péter Szilágyi2017-01-0510-201/+91
|/ | | | | | | | | (#3455) To address increasing complexity in code that handles signatures, this PR discards all notion of "different" signature types at the library level. Both the crypto and accounts package is reduced to only be able to produce plain canonical secp256k1 signatures. This makes the crpyto APIs much cleaner, simpler and harder to abuse.
* Merge pull request #3511 from karalabe/live-fakepowPéter Szilágyi2017-01-043-10/+11
|\ | | | | cmd/utils, eth, les: bubble --fakepow flag into eth/les too
| * cmd/utils, eth, les: bubble --fakepow flag into eth/les tooPéter Szilágyi2017-01-043-10/+11
| |
* | Merge pull request #3505 from bas-vk/txinblockPéter Szilágyi2017-01-041-1/+1
|\ \ | |/ |/| ethclient: hex encode request args for TransactionInBlock
| * ethclient: hex encode request args for TransactionInBlockBas van Kervel2017-01-031-1/+1
| |
* | Merge pull request #3486 from bas-vk/txbyhashPéter Szilágyi2017-01-031-1/+1
|\ \ | | | | | | ethclient: pass ptr when parsing eth_getTransactionByHash result
| * | ethclient: pass ptr when parsing eth_getTransactionByHash resultBas van Kervel2016-12-221-1/+1
| | |
* | | mobile: add SetVerbosity (#3492)Guillaume NICOLAS2017-01-031-0/+26
| |/ |/|
* | Merge pull request #3490 from karalabe/fix-miner-apiPéter Szilágyi2016-12-231-2/+2
|\ \ | | | | | | eth: fix miner start API to accept int, not hexint
| * | eth: fix miner start API to accept int, not hexintPéter Szilágyi2016-12-231-2/+2
|/ /