Commit Graph

66 Commits

Author SHA1 Message Date
NathanBSC
6af6162297
vote: check consensus key match vote key before voting (#1858) 2023-09-08 10:20:07 +08:00
NathanBSC
9b95339c38
vote: remove DisableBscProtocol and add flag to skip votes assmebling (#1805) 2023-08-14 17:48:36 +08:00
NathanBSC
54dbb2ba05
finality: add more check to ensure reuslt of assembleVoteAttestation (#1791) 2023-08-02 18:10:04 +08:00
NathanBSC
54b4e58382
rpc: add GetFinalizedHeader/Block to simplify using the fast finality (#1789) 2023-08-02 14:05:46 +08:00
NathanBSC
3fd5b0c149
fix: defend ddos voting attack with other mini fix according to audit (#1741) 2023-07-11 10:13:08 +08:00
NathanBSC
f455263950
metrics: add counter for voting status of whole network (#1720) 2023-06-20 10:58:13 +08:00
NathanBSC
38002f8a56
fix: set the signer of parlia to the most permissive one (#1682) 2023-06-12 13:31:18 +08:00
Ng Wei Han
e802c737ab
consensus, core/rawdb, miner: downgrade logs (#1662) 2023-05-31 22:01:28 +08:00
NathanBSC
3d8753cae6 fix: remove naturally finality 2023-05-30 09:51:31 +08:00
Mister-EA
1036dc70be
core: port several London EIPs on BSC(#1422)
Here is the list:
 a.BEP-227: Implement EIP-3198: BASEFEE opcode
 b.BEP-226: Implement EIP-1559 with base fee of 0
 c.BEP-228: Implement EIP-3541: Prevent deploying contracts starting with 0xEF
 d.BEP-212: Implement EIP-3529: Reduction in Refunds
2023-05-25 17:34:04 +08:00
NathanBSC
1b8ec07b2e fix: log info when failed to verifyVoteAttestation 2023-05-11 16:49:30 +08:00
minh-bq
4e2168566b
fix: recently signed check when slashing unavailable validator (#1547)
The first validator in snap.Recents is shifted out and allowed to seal the block
already. However, when determining if we should slash the validator in Finalize
and FinalizeAndAssemble, we mark that first validator as unable to seal block
and don't slash this validator. This commit fixes that bug and creates a
separate helper function to check if the validator recently signed a block for
consistency in all places the check happens.
2023-05-08 21:15:14 +08:00
NathanBSC
5f690d32eb
metrics: add a counter for validator to check work status of voting (#1583) 2023-05-06 20:47:31 +08:00
NathanBSC
daae7718a8
fix: support golang 1.20 by upgrading prysm to v4 (#1576) 2023-05-06 09:56:10 +08:00
NathanBSC
5b75f597b4
fix: remove dynamic metric labels about fast finality (#1572) 2023-05-05 14:15:43 +08:00
dylanhuang
779f4a80ee
fix: lint error and docs (#1520)
* ci: upgrade golangci-lint
* build: move blst env to build stage
* chore: fix lint error
* docs: update readme
2023-04-25 09:11:29 +08:00
lx
b6274dd2df
Merge branch 'master' into develop 2023-04-24 20:13:54 +08:00
NathanBSC
265dca1a20
fix: simplify update of attestation (#1514)
* fix: simplify update of attestation

* metrics: trace verifyVoteAttestationFailed and updateAttestationFailed
2023-04-24 14:47:17 +08:00
lx
0146b070cb
upgrade: rename hardfork to Luban & Plato (#1505) 2023-04-21 18:11:32 +08:00
lx
0222ce7479
upgrade: rename hardfork to Luban & Plato (#1504) 2023-04-21 17:07:11 +08:00
realuncle
f7d15e34df
BEP-126: Introduce Fast Finality Mechanism (#936) 2023-04-10 18:36:45 +08:00
Leon
af7f0dd30b
consnesus/parlia: abort sealing when block in the same height has upd… (#1382) 2023-03-29 17:36:24 +08:00
Larry
75529530a2
fix: snapshot generation issue after chain reinit from a freezer (#1381) 2023-03-29 16:51:48 +08:00
buddh0
9ffd7e139e clean: reduce useless logs 2023-03-23 11:09:53 +08:00
larry.lx
6526a601cb Revert "parlia: consensus changes according to BEP of Early Broadcast (#1268)"
This reverts commit f5cb1378da878146a6b3402e7ce9f53783e4f977.
2023-03-14 17:31:21 +08:00
larry.lx
540adff8be Revert "parlia: miner changes for BEP-188 of Early Broadcast (#1269)"
This reverts commit c8a1535c74152c8e91eca2d4dfeb914ffb02ba18.
2023-03-14 17:22:49 +08:00
Leon
c1fde0e86c
consensus: fix delete the 1st validator from snapshot.recents list (#1344)
* consensus: fix delete the 1st validator from snapshot.recents list

* consensus:fix uint sub error with negative
2023-03-13 11:10:16 +08:00
Larry
a476e315f2
rename: change the next upgrade name to Planck (#1339) 2023-03-07 09:59:03 +08:00
Larry
85d1237c33
refactor: code of func backOffTime() (#1329)
* consensus: refactor the code in func backOffTime()

* update: more efficient code

* fix: a slice bug
2023-03-03 17:02:44 +08:00
kyrie-yl
c8a1535c74
parlia: miner changes for BEP-188 of Early Broadcast (#1269) 2023-03-01 16:57:42 +08:00
Leon
2a76eb498d
consensus: fix slash bug when validator set changing (#1162) 2023-03-01 16:47:38 +08:00
kyrie-yl
f5cb1378da
parlia: consensus changes according to BEP of Early Broadcast (#1268) 2023-02-28 19:53:17 +08:00
Eric
7674814036
parlia : add a check for the length of extraData. (#1294)
* parlia : add a check for the length of extraData.
2023-02-02 19:48:47 +08:00
dylanhuang
bf68be2bd9
dep: bump the version of several important library (#1274)
* dep: upgrade secp256k1 to use btcec/v2 v2.3.2 and update insecurity pkg

* build ci: upgrade go to 1.19 and golangci-lint to 1.50.1

* docs: fix format that does not follow the goimports

* dep: redirect github.com/bnb-chain/tendermint to v0.31.13

* ci: disable GOPROXY
2023-02-02 19:36:37 +08:00
setunapo
21b985c14b worker: always drop on new block imported.
When new block is imported, there is no need to commit the current
work, even the new imported block is offturn and itself is inturn.

That is because when offturn block is received, the inturn block is
already later to broadcast block, deliver the later block will cause
many reorg, which is not reasonable.

And also make sure all useless work can be discarded, to avoid goroutine leak.
2022-11-21 17:28:23 +08:00
setunapo
de5dd95ada worker: enhancement of the current block generation logic.
Currently, validator only try once to get transactions from TxPool to produce the block.
However, new transactions could arrive while the validator is committing transaction.
Validator should be allowed to add these new arrived transactions as long as
Header.Timestamp is not reached

This commit will:
** commitTransactions return with error code
** drop current mining block on new block imported
** try fillTransactions several times for the best
   not use append mode to follow the GasPrice rule.
** check if there is enough time for another fillTransactions.
2022-11-21 17:28:23 +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
Jolly Zhao
c46671df97 parlia: the newChainHead mights not be imported to Pralia.Snapshot ASAP 2022-10-28 11:42:06 +08:00
dylanhuang
c3e3b1128d
consensus: fix the GasLimitBoundDivisor (#1060) 2022-08-22 11:24:50 +08:00
j75689
79bd42836c fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
yutianwu
3ddedad500 fix comments 2021-05-07 14:31:06 +08:00
yutianwu
cc8efd1ea3 revert changes 2021-04-16 14:05:41 +08:00
yutianwu
061cd5030c upgrade to 1.10.2 2021-04-16 12:45:26 +08:00
zjubfd
7a1262ca14
validator only write database state when enough distance (#116) 2021-03-19 13:42:26 +08:00
zjubfd
f8faf7faaa
[R4R]apply max commit tx time for miner worker (#112)
* apply max commit tx time for miner worker

* update to 200 ms
2021-03-19 13:23:44 +08:00
zjubfd
e55e9cdd76
change the fork waring to debug to avoid confusion (#73) 2021-02-09 11:49:53 +08:00
fudongbai
24dc208170 avoid false warn log 2021-01-11 14:42:06 +08:00
fudongbai
60606d3919 support fork id in header; elegant upgrade 2021-01-11 13:54:35 +08:00
Hyunsik Lee
cb1afd2b14
Hide some smart contract tracing logs from parlia consensus engine 2020-09-30 02:43:10 +09:00
Hyunsik Lee
7bd1c1f23d
Disable noisy log from consensus engine 2020-09-30 02:43:09 +09:00