- Aug 10, 2021
-
-
Gary Rong authored
-
- Jul 08, 2021
-
-
Péter Szilágyi authored
-
- Jul 06, 2021
-
-
Martin Holst Swende authored
-
- Jun 30, 2021
-
-
Marius van der Wijden authored
This PR removes the blockhash from the statedb
-
- Jun 28, 2021
-
-
Zsolt Felföldi authored
* eth/gasprice: implement feeHistory API * eth/gasprice: factored out resolveBlockRange * eth/gasprice: add sanity check for missing block * eth/gasprice: fetch actual gas used from receipts * miner, eth/gasprice: add PendingBlockAndReceipts * internal/ethapi: use hexutil.Big * eth/gasprice: return error when requesting beyond head block * eth/gasprice: fixed tests and return errors correctly * eth/gasprice: rename receiver name * eth/gasprice: return directly if blockCount == 0 Co-authored-by:
rjl493456442 <garyrong0905@gmail.com>
-
- Jun 08, 2021
-
-
Péter Szilágyi authored
* all: rename internal 1559 gas fields, add support for graphql * cmd/evm/testdata, core: use public 1559 gas names on API surfaces
-
- Jun 04, 2021
-
-
Péter Szilágyi authored
-
- May 21, 2021
-
-
Martin Holst Swende authored
* core/types, miner: create TxWithMinerFee wrapper, add EIP-1559 support to TransactionsByMinerFeeAndNonce miner: set base fee when creating a new header, handle gas limit, log miner fees * all: rename to NewTransactionsByPriceAndNonce * core/types, miner: rename to NewTransactionsByPriceAndNonce + EffectiveTip miner: activate 1559 for testGenerateBlockAndImport tests * core,miner: revert naming to TransactionsByPriceAndTime * core/types/transaction: update effective tip calculation logic * miner: update aleut to london * core/types/transaction_test: use correct signer for 1559 txs + add back sender check * miner/worker: calculate gas target from gas limit * core, miner: fix block gas limits for 1559 Co-authored-by:
Ansgar Dietrichs <adietrichs@gmail.com> Co-authored-by:
lightclient@protonmail.com <lightclient@protonmail.com>
-
- Feb 25, 2021
-
-
lightclient authored
This adds support for EIP-2718 typed transactions as well as EIP-2930 access list transactions (tx type 1). These EIPs are scheduled for the Berlin fork. There very few changes to existing APIs in core/types, and several new APIs to deal with access list transactions. In particular, there are two new constructor functions for transactions: types.NewTx and types.SignNewTx. Since the canonical encoding of typed transactions is not RLP-compatible, Transaction now has new methods for encoding and decoding: MarshalBinary and UnmarshalBinary. The existing EIP-155 signer does not support the new transaction types. All code dealing with transaction signatures should be updated to use the newer EIP-2930 signer. To make this easier for future updates, we have added new constructor functions for types.Signer: types.LatestSigner and types.LatestSignerForChainID. This change also adds support for the YoloV3 testnet. Co-authored-by:
Martin Holst Swende <martin@swende.se> Co-authored-by:
Felix Lange <fjl@twurst.com> Co-authored-by:
Ryan Schneider <ryanleeschneider@gmail.com>
-
- Feb 02, 2021
-
-
ucwong authored
The PR makes use of the stacktrie, which is is more lenient on resource consumption, than the regular trie, in cases where we only need it for DeriveSha
-
- Jan 20, 2021
-
-
Péter Szilágyi authored
-
- Jan 05, 2021
-
-
Martin Holst Swende authored
This PR removes a logic in the miner, which was originally intended to help temporary testnets based on ethash from "running off into the future". If the difficulty was low, and a few computers started mining several blocks per second, the ethash rules (which demand 1s delay between blocks) would push the blocktimes further and further away. The solution was to make the miner sleep while this happened. Nowadays, this problem is solved instead by PoA chains, and it's recommended to let testnets and devnets be based on clique instead. The existing logic is problematic, since it can cause stalls within the miner making it difficult for remote workers to submit work if the channel is blocked on a sleep. Credits to Saar Tochner for reporting this via the bug bounty
-
- Dec 11, 2020
-
-
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.
-
- Dec 04, 2020
-
-
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.
-
- Sep 10, 2020
-
-
Marius van der Wijden authored
This PR changes several different things: - Adds test cases for the miner loop - Stops the worker if it wasn't already stopped in worker.Close() - Uses channels instead of atomics in the miner.update() loop Co-authored-by:
Felix Lange <fjl@twurst.com>
-
- Aug 21, 2020
-
-
Gary Rong authored
-
- Jul 28, 2020
-
-
Robert Zaremba authored
This reduces complexity of some lengthy functions in worker.go, making the code easier to read.
-
- May 12, 2020
-
-
Gary Rong authored
* cmd, miner: add noempty-precommit flag * cmd, miner: get rid of external flag * miner: change bool to atomic int * miner: fix tiny typo Co-authored-by:
Péter Szilágyi <peterke@gmail.com>
-
- Apr 02, 2020
-
-
ucwong authored
-
- Dec 10, 2019
-
-
Felix Lange authored
-
- Nov 29, 2019
-
-
Gary Rong authored
This change: - removes the PostChainEvents method on core.BlockChain. - sorts 'removed log' events by block number. - fire the NewChainHead event if we inject a canonical block into the chain even if the entire insertion is not successful. - guarantees correct event ordering in all cases.
-
- Nov 20, 2019
-
-
Gary Rong authored
* miner: fix data race in tests miner: fix linter * miner: address comment
-
- Sep 12, 2019
-
-
Rob Mulholand authored
-
- Jun 19, 2019
-
-
Martin Holst Swende authored
* miner: don't update pending state when no transactions are added * miner: avoid transaction processing when pending block is already full
-
- Apr 30, 2019
-
-
Martin Holst Swende authored
* consensus,core,miner: avoid overhead of creating a new block * consensus: nitpick dot * consensus: fix some comment formatting nits
-
- Apr 23, 2019
-
-
Gary Rong authored
* cmd, eth, miner: disable advance sealing if user require * cmd, console, miner, les, eth: wrap the miner config * eth: remove todo * cmd, miner: revert noadvance flag The reason for this is: if the transaction execution is even longer than block time, then this kind of transactions is DoS attack.
-
- Apr 02, 2019
-
-
Martin Holst Swende authored
* all: simplify timestamps to uint64 * tests: update definitions * clef, faucet, mobile: leftover uint64 fixups * ethash: fix tests * graphql: update schema for timestamp * ethash: remove unused variable
-
- Mar 27, 2019
-
-
Brent authored
Solves #15210 without changing consensus, in a backwards compatible way, by adding tx inclusion information to the Receipt struct.
-
- Dec 06, 2018
-
-
Paweł Bylica authored
Until this commit, when sending an RPC request that called `NewEVM`, a blank `vm.Config` would be taken so as to set some options, based on the default configuration. If some extra configuration switches were passed to the blockchain, those would be ignored. This PR adds a function to get the config from the blockchain, and this is what is now used for RPC calls. Some subsequent changes need to be made, see https://github.com/ethereum/go-ethereum/pull/17955#pullrequestreview-182237244 for the details of the discussion.
-
- Sep 20, 2018
-
-
Gary Rong authored
* core, eth: fix dependency cycle * eth, miner: perfer to locally generated uncle
-
- Aug 29, 2018
-
-
Gary Rong authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
- Aug 28, 2018
-
-
Gary Rong authored
* consensus, miner: stale block supporting * consensus, miner: refactor seal signature * cmd, consensus, eth: add miner noverify flag * cmd, consensus, miner: polish
-
- Aug 23, 2018
-
-
Gary Rong authored
* miner: commit state which is relative with sealing result * consensus, core, miner, mobile: introduce sealHash interface * miner: evict pending task with threshold * miner: go fmt
-
Péter Szilágyi authored
-
- Aug 22, 2018
-
-
Péter Szilágyi authored
-
- Aug 21, 2018
- Aug 17, 2018
-
-
Péter Szilágyi authored
-