Commit Graph

13587 Commits

Author SHA1 Message Date
setunapo
0789afe6e7 worker: remove pre-seal empty block
pre-seal empty block is for PoW to deliver an empty block ASAP to
gain the block mine reward.

It is useless for PoS consensus and it does not work for BSC either.

Delete the code to make worker simpler.
2022-11-16 17:57:44 +08:00
setunapo
086a99b407 worker: no need to add more transaction if not mining
It could be a very old PoW logic, which try to add more transaction
into the pending block when mining is stopped.
Mining can be stopped when:
  1.download started.
  2.manually stopped by RPC.
It is unnecessary to add more transaction into the pending block if a validator is stopped.
And updateSnapshot() is not needed as well, it is to get the pending mining snapshot.
2022-11-16 10:47:58 +08:00
setunapo
fe1c8622f6 parlia: Delay() with DelayLeftOver
Right now, DelayLeftOver is used to reserve time for block finalize, not block
broadcast. And the code does not work as expected.

The general block generation could be described as:
|- fillTransactions -|- finalize a block -|- wait until the period(3s) reached -|- broadcast -|
2022-11-16 10:47:58 +08:00
setunapo
d1ed977d89 worker: change interrupt type from *int to chan
channel operation is preferred than atomic value check in golang.
And it will help for the further refactor on worker.
2022-11-15 13:26:11 +08:00
setunapo
b4dcff5772 worker: remove the code of resubmit interval adjust
resubmit intervalAdjust is for PoW only, to remove it to make worker simpler.

With PoW, there will be a periodic timer to check if it is the time to stop
packing transaction and start calculating the desired hash value, since other miner
could succeed in hash compute if it spends too much time packing transactions.
It will commit the current fruit to calculate root at a reasonable time.
And it will schedule a new work to get a big block if new transaction was received.

When there are too many transactions in the TxPool, the interval of the resubmit timer would be
increased and vice versa.

But it is not needed with PoS related consensus, since the block interval is determined in PoS,
and there is already a timer to stop too long packing.
2022-11-15 13:26:11 +08:00
Guillaume Ballet
bf1dbd9233 accounts/abi: substitude arg%d to the range keyword (#25307)
* accounts/abi: substitude arg%d to the range keyword

* support more keywords

* review feedback
2022-11-15 11:54:31 +08:00
Brion
d07a706aff rpc: add graceful shutdown timeout for HTTP server (#25258)
This change ensures the HTTP server will always terminate within
at most 5s, even when all connections are busy and do not become
idle.

Co-authored-by: Felix Lange <fjl@twurst.com>
2022-11-15 11:54:31 +08:00
Seungbae.yu
0f96641ae4 core, eth: pre-allocate map in storage copy (#25279) 2022-11-15 11:54:31 +08:00
lightclient
e91c40ddef internal/ethapi: error if tx args includes chain id that doesn't match local (#25157)
* internal/ethapi: error if tx args includes chain id that doesn't match local

* internal/ethapi: simplify code a bit

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2022-11-15 11:54:31 +08:00
henridf
c2c22c5947 core: remove lock in BlockChain.ExportN (#25254)
* Remove locking in (*BlockChain).ExportN

Since ExportN is read-only, it shouldn't need the lock. (?)

* Add hash check to detect reorgs during export.

* fix check order

* Update blockchain.go

* Update blockchain.go

Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2022-11-15 11:54:31 +08:00
Leon
01b78d4789
miner: disable enforceTip when get txs from txpool (#1166) 2022-11-07 10:42:05 +08:00
Leon
8b7b87c232
release: update version and changelogs (#1161) 2022-11-02 16:47:14 +08:00
zjubfd
4e2f5c6263 merge with master branch 2022-10-31 15:12:21 +08:00
Kai
72f6acc49f
ci: specify bind-tools version (#1126) 2022-10-31 15:04:13 +08:00
zjubfd
678c133dec
Merge pull request #1114 from LysanderGG/LysanderGG-patch-1
typo: .github fix job name
2022-10-31 15:03:41 +08:00
zjubfd
6b83c41123
Merge pull request #1146 from qinglin89/develop-upstream20
all: sync with upstream
2022-10-31 14:05:09 +08:00
Leon
bed1a57766
core:remove redundant func (#1159) 2022-10-31 14:03:45 +08:00
Jolly Zhao
c46671df97 parlia: the newChainHead mights not be imported to Pralia.Snapshot ASAP 2022-10-28 11:42:06 +08:00
Håvard Anda Estensen
caf9d0a5e6 p2p: use errors.Is for error comparison (#24882)
Co-authored-by: Felix Lange <fjl@twurst.com>
2022-10-28 09:04:57 +08:00
lwh
c93b905633 accounts/abi/bind: fix duplicate field names in the generated go struct (#24924)
* accounts/abi/bind: fix duplicate field names in the generated go struct #24627

* accounts, cmd/abigen: resolve name conflicts

* ci lint, accounts/abi: remove unused function overloadedArgName

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2022-10-28 09:04:37 +08:00
lmittmann
2003d543e8 all: prefer new(big.Int) over big.NewInt(0) (#25087)
minor performance improvement: `big.NewInt(0).Xxx` -> `new(big.Int).Xxx`
2022-10-28 09:03:38 +08:00
Marius van der Wijden
bd79e2d3df common: improve pretty duration regex (#25073)
* common: improve pretty duration regex

* common: improve pretty duration regex
2022-10-28 09:03:21 +08:00
s7v7nislands
5d21a7c7c8 cmd/ethkey: use accounts.TextHash (#25069) 2022-10-28 09:03:21 +08:00
Rajaram Gaunker
978790b0b6 core/types: remove unused field 'td' in Block (#25010) 2022-10-28 09:03:21 +08:00
Seungbae.yu
d3f26984b5 accounts: increase parseURL test coverage (#25033)
accounts/url: add test logic what check null string to parseURL()
2022-10-28 09:03:21 +08:00
Martin Holst Swende
7bfcc7ef31 p2p/discover: fix panicky test (#25038) 2022-10-28 09:03:21 +08:00
Sina Mahmoodi
a429a50be5 eth/filters: fix getLogs for pending block (#24949)
* eth/filters: fix pending for getLogs

* add pending method to test backend

* fix block range validation
2022-10-28 09:03:21 +08:00
aaronbuchwald
ea52f6c440 trie: move locking into trieDB insert method (#25030)
Move locking into trieDB insert function
2022-10-28 09:03:21 +08:00
Paweł Bylica
2904f20dfc core/vm: optimize jumpdest analysis (#23500)
core/vm: optimize PUSH opcode discrimination
2022-10-28 09:03:21 +08:00
Boqin Qin(秦 伯钦)
0e17e627ee eth/filters: use buffered channel to avoid goroutine leak (#24928) 2022-10-28 09:03:21 +08:00
Marius van der Wijden
f863682795 core: use less memory during reorgs (#24616)
This PR significantly reduces the memory consumption of a long reorg
2022-10-28 09:03:21 +08:00
Seungbae.yu
d9229e5c6b common: increase StorageSize test coverage (#25188) 2022-10-21 14:28:18 +08:00
Andre Patta
4ce9680212 cmd/utils: fix applying bootstrap nodes from config file (#25174) 2022-10-21 14:27:34 +08:00
aaronbuchwald
8c90dc946a core/rawdb: simplify TestDiskSeek to use memorydb (#25182) 2022-10-21 14:23:12 +08:00
Sina Mahmoodi
0ca5dd727a eth/tracers: optimize goja buffer conversion (#25156)
This changes the []byte <-> Uint8Array conversion to use an
ArrayBuffer, avoiding inefficient copying of the slice data in Goja.

Co-authored-by: Felix Lange <fjl@twurst.com>
2022-10-21 14:03:42 +08:00
rjl493456442
aedd5aaba1 eth, miner: retrieve mining state from live database (#25139)
* miner: retrieve mining state from live database

* eth/catalyst: ignore stale fcu events from cl
2022-10-21 14:01:52 +08:00
Zachinquarantine
660f920cde README,rpc: remove mention of "shh" RPC API (#25137) 2022-10-21 12:42:41 +08:00
aaronbuchwald
fafc29f922 trie: fix size accounting in cleaner (#25007)
Decrease children size instead of dirties size when marking dirties as cleaned up in trie cleaner
2022-10-21 12:42:18 +08:00
Sina Mahmoodi
ce9dae2517 internal/ethapi: remove SignAndSendTransaction (#25111) 2022-10-21 12:41:13 +08:00
Martin Holst Swende
237c31870e tests/fuzzers/rlp: avoid very large input (#25109)
The oss-fuzz engine crashes due to stack overflow decoding a large nested
structure into a interface{}. This PR limits the size of the input data, so
should avoid such crashes.
2022-10-21 12:40:50 +08:00
zjubfd
cb131fabe5
vm: add two proof verifier to fix the vulnerability in range proof (#1121) v1.1.16 2022-10-11 11:16:30 +08:00
Guillaume George
2662e16451
.github: fix job name 2022-10-07 16:13:32 +09:00
zjubfd
f3fd0f8bff
release: prepare for release v1.1.15 (#1112) v1.1.15 2022-10-07 11:54:15 +08:00
zjubfd
5b35b39023
nanofork: add black list account (#1109) 2022-10-07 11:46:38 +08:00
dylanhuang
816e30108a
tracers ci: drop duktape engine (#24934) and add linux-arm binaries to releases page (#1100) 2022-09-26 17:31:16 +08:00
zjubfd
335492482d
Merge pull request #1090 from bnb-chain/develop
prepare for release v1.1.14
v1.1.14
2022-09-21 18:15:33 +08:00
zjubfd
781e567db7 release: update version and changelogs 2022-09-21 17:02:02 +08:00
yutianwu
8375939226 overwrite HTTPHost in config.toml via cli (#999) 2022-09-21 17:02:02 +08:00
Leon
3c7bccbd73 core: fix potential goroutine leak (#1079)
* core: fix potential goroutine leak

* core: fix 0 index, and add ut for routineleaking
2022-09-21 17:02:02 +08:00
zhaochonghe
b051dc60dd core: fix the order of address in queue (#24907)
reverse the order of address in queue
2022-09-21 17:02:02 +08:00