- Dec 27, 2020
-
-
Timo Tijhof authored
The legacy dot-org URL was displaying a message about the repository having migrated to the dot-com service, which now covers open-source projects as well.
-
- Dec 23, 2020
-
-
Martin Holst Swende authored
* common,crypto: move fuzzers out of core * fuzzers: move vm fuzzer out from core * fuzzing: rework cover package logic * fuzzers: lint
-
Marius van der Wijden authored
During the snap and eth refactor, the net_version rpc call was falsely deprecated. This restores the net_version RPC handler as most eth2 nodes and other software depend on it.
-
- Dec 21, 2020
- Dec 17, 2020
-
-
Marius van der Wijden authored
-
- Dec 15, 2020
-
-
Zsolt Felföldi authored
* les: allow tx unindexing in les/4 light server mode * les: minor fixes * les: more small fixes * les: add meaningful constants for recentTxIndex handshake field
-
Martin Holst Swende authored
-
- Dec 14, 2020
-
-
Mr-Leshiy authored
-
Marius van der Wijden authored
-
Péter Szilágyi authored
This commit splits the eth package, separating the handling of eth and snap protocols. It also includes the capability to run snap sync (https://github.com/ethereum/devp2p/blob/master/caps/snap.md ) , but does not enable it by default. Co-authored-by:
Marius van der Wijden <m.vanderwijden@live.de> Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
- Dec 12, 2020
-
-
Shiming authored
* doc: clarify abigen alias flag usage update the `abigen --alias` flag help info, give an example to make it more clear related issue: https://github.com/ethereum/go-ethereum/issues/21846 * Update cmd/abigen/main.go Co-authored-by:
ligi <ligi@ligi.de> Co-authored-by:
Martin Holst Swende <martin@swende.se> Co-authored-by:
ligi <ligi@ligi.de>
-
Connor Stein authored
Fixes the template used when generating code, which in some scenarios would lead to panic instead of returning an error.
-
- Dec 11, 2020
-
-
Martin Holst Swende authored
This PR implements unclean shutdown marker. Every time geth boots, it adds a timestamp to a list of timestamps in the database. This list is capped at 10. At a clean shutdown, the timestamp is removed again. Thus, when geth exits unclean, the marker remains, and at boot up we show the most recent unclean shutdowns to the user, which makes it easier to diagnose root-causes to certain problems. Co-authored-by:
Nagy Salem <me@muhnagy.com>
-
Mr-Leshiy authored
-
Martin Holst Swende authored
This PR adds re-written difficulty calculators, which are based on uint256. It also adds a fuzzer + oss-fuzz integration for the new fuzzer. It does differential fuzzing between the new and old calculators. Note: this PR does not actually enable the new calculators.
-
Gary Rong authored
* core: separate the local notion from the pricedHeap * core: add benchmarks * core: improve tests * core: address comments * core: degrade the panic to error message * core: fix typo * core: address comments * core: address comment * core: use PEAK instead of POP * core: address comments
-
Mudit Gupta authored
This PR adds support for using Twitter API to query the tweet and author details. There are two reasons behind this change: - Twitter will be deprecating the legacy website on 15th December. The current method is expected to stop working then. - More importantly, the current system uses Twitter handle for spam protection but the Twitter handle can be changed via automated calls. This allows bots to use the same tweet to withdraw funds infinite times as long as they keep changing their handle between every request. The Rinkeby as well as the Goerli faucet are being actively drained via this method. This PR changes the spam protection to be based on Twitter IDs instead of usernames. A user can not change their Twitter ID.
-
lzhfromustc authored
In miner/worker.go, there are two goroutine using channel w.newWorkCh: newWorkerLoop() sends to this channel, and mainLoop() receives from this channel. Only the receive operation is in a select. However, w.exitCh may be closed by another goroutine. This is fine for the receive since receive is in select, but if the send operation is blocking, then it will block forever. This commit puts the send in a select, so it won't block even if w.exitCh is closed. Similarly, there are two goroutines using channel errc: the parent that runs the test receives from it, and the child created at line 573 sends to it. If the parent goroutine exits too early by calling t.Fatalf() at line 614, then the child goroutine will be blocked at line 574 forever. This commit adds 1 buffer to errc. Now send will not block, and receive is not influenced because receive still needs to wait for the send.
-
Guillaume Ballet authored
The previous fix #21960 converted the float to an intermediate signed int, before attempting the uint conversion. Although this works, this doesn't guarantee that other architectures will work the same.
-
Felix Lange authored
-
Felix Lange authored
-
Felix Lange authored
-
- Dec 10, 2020
-
-
Gary Rong authored
* les: introduce forkID * les: address comment
-
Martin Holst Swende authored
This commit fixes a flaw in two testcases, and brings down the exec-time from ~40s to ~8s for trie/TestIncompleteSync. The checkConsistency was performed over and over again on the complete set of nodes, not just the recently added, turning it into a quadratic runtime.
-
Gary Rong authored
* les, light: remove untrusted header retrieval in ODR * les: polish * light: check the hash equality in odr
-
- Dec 09, 2020
-
-
Felix Lange authored
The database panicked for invalid IPs. This is usually no problem because all code paths leading to node DB access verify the IP, but it's dangerous because improper validation can turn this panic into a DoS vulnerability. The quick fix here is to just turn database accesses using invalid IP into a noop. This isn't great, but I'm planning to remove the node DB for discv5 long-term, so it should be fine to have this quick fix for half a year. Fixes #21849
-
Felix Lange authored
This fixes some issues in crypto/signify and makes release signing work. The archive signing step in ci.go used getenvBase64, which decodes the key data. This is incorrect here because crypto/signify already base64-decodes the key.
-
Martin Holst Swende authored
-
Martin Holst Swende authored
* core: add test for headerchain inserts * core, light: write headerchains in batches * core: change to one callback per batch of inserted headers + review concerns * core: error-check on batch write * core: unexport writeHeaders * core: remove callback parameter in InsertHeaderChain The semantics of InsertHeaderChain are now much simpler: it is now an all-or-nothing operation. The new WriteStatus return value allows callers to check for the canonicality of the insertion. This change simplifies use of HeaderChain in package les, where the callback was previously used to post chain events. * core: skip some hashing when writing headers * core: less hashing in header validation * core: fix headerchain flaw regarding blacklisted hashes Co-authored-by:
Felix Lange <fjl@twurst.com>
-
- Dec 08, 2020
-
-
Li, Cheng authored
Both Hash and Address have a String method, which returns the value as hex with 0x prefix. They also had a Format method which tried to print the value using printf of []byte. The way Format worked was at odds with String though, leading to a situation where fmt.Sprintf("%v", hash) returned the decimal notation and hash.String() returned a hex string. This commit makes it consistent again. Both types now support the %v, %s, %q format verbs for 0x-prefixed hex output. %x, %X creates unprefixed hex output. %d is also supported and returns the decimal notation "[1 2 3...]". For Address, the case of hex characters in %v, %s, %q output is determined using the EIP-55 checksum. Using %x, %X with Address disables checksumming. Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Marius van der Wijden authored
This commit enables users to specify which signer they want to use while creating their transactOpts. Previously all contract interactions used the homestead signer. Now a user can specify whether they want to sign with homestead or EIP155 and specify the chainID which adds another layer of security. Closes #16484
-
Steve Ruckdashel authored
Go won't vendor C files if there are no Go files present in the directory. Workaround is to add dummy Go files. Fixes: #20232
-
- Dec 07, 2020
-
-
Guillaume Ballet authored
* les: revert arm float bug workaround to check go 1.15 * add traces to reproduce outside travis * simpler workaround
-
- Dec 04, 2020
-
-
Martin Holst Swende authored
* cmd/geth: implement vulnerability check * cmd/geth: use minisign to verify vulnerability feed * cmd/geth: add the test too * cmd/geth: more minisig/signify testing * cmd/geth: support multiple pubfiles for signing * cmd/geth: add @holiman minisig pubkey * cmd/geth: polishes on vulnerability check * cmd/geth: fix ineffassign linter nit * cmd/geth: add CVE to version check struct * cmd/geth/testdata: add missing testfile * cmd/geth: add more keys to versionchecker * cmd/geth: support file:// URLs in version check * cmd/geth: improve key ID printing when signature check fails Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Martin Holst Swende authored
A lot of times when we hit 'core' errors, example: invalid tx, the information provided is insufficient. We miss several pieces of information: what account has nonce too high, and what transaction in that block was offending? This PR adds that information, using the new type of wrapped errors. It also adds a testcase which (partly) verifies the output from the errors. The first commit changes all usage of direct equality-checks on core errors, into using errors.Is. The second commit adds contextual information. This wraps most of the core errors with more information, and also wraps it one more time in stateprocessor, to further provide tx index and tx hash, if such a tx is encoutered in a block. The third commit uses the chainmaker to try to generate chains with such errors in them, thus triggering the errors and checking that the generated string meets expectations.
-
Chris Ziogas authored
This line is duplicated, though it doesn't cause any issues.
-
- Dec 03, 2020
-
-
Martin Holst Swende authored
-
- Dec 02, 2020
-
-
Martin Holst Swende authored
This updates the snappy library depency to include a fix for a Go 1.16 incompatibility issue.
-
Martin Holst Swende authored
* eth: fix error in tracing if reexec is set * eth: change pointer embedding to value-embedding
-