Commit Graph

336 Commits

Author SHA1 Message Date
lightclient
feb8f416ac miner: add to build block with EIP-4844 blobs (#27875)
---------

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-08-23 23:16:14 +02:00
NathanBSC
2290201ff1 Merge branch 'develop' into big_merge_v1.10.16_v1.12.2 2023-08-23 19:37:39 +08:00
NathanBSC
872d22ed2d upstream: Merge tag 'v1.12.2' into develop 2023-08-23 17:46:08 +08:00
Martin Holst Swende
b8d38e76ef core, params, beacon/engine: implement EIP 4788 BeaconRoot (#27849)
This change implements "EIP 4788 : Beacon block root in the EVM". It implements version-2 of EPI-4788, main difference being that the contract is an actual contract rather than a precompile, as in #27289.
2023-08-22 08:33:39 -04:00
NathanBSC
9b95339c38 vote: remove DisableBscProtocol and add flag to skip votes assmebling (#1805) 2023-08-14 17:48:36 +08:00
Péter Szilágyi
811a674059 all: update golang/x/ext and fix slice sorting fallout (#27909)
The Go authors updated golang/x/ext to change the function signature of the slices sort method. 
It's an entire shitshow now because x/ext is not tagged, so everyone's codebase just 
picked a new version that some other dep depends on, causing our code to fail building.

This PR updates the dep on our code too and does all the refactorings to follow upstream...
2023-08-12 00:19:12 +02:00
Péter Szilágyi
be65b47645 all: update golang/x/ext and fix slice sorting fallout (#27909)
The Go authors updated golang/x/ext to change the function signature of the slices sort method. 
It's an entire shitshow now because x/ext is not tagged, so everyone's codebase just 
picked a new version that some other dep depends on, causing our code to fail building.

This PR updates the dep on our code too and does all the refactorings to follow upstream...
2023-08-12 00:04:12 +02: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
Delweng
7c95ebd63d consensus/misc: move eip1559 into a package (#27828)
* consensus/misc: move eip1559 as a sub directory

Signed-off-by: jsvisa <delweng@gmail.com>

* consensus/misc: package name

Signed-off-by: jsvisa <delweng@gmail.com>

* all: eip1559

Signed-off-by: jsvisa <delweng@gmail.com>

---------

Signed-off-by: jsvisa <delweng@gmail.com>
2023-08-01 12:58:45 +03:00
Delweng
3ca92f70e5 all: replace data gas to blob gas in comments (#27825)
* eth: excessDataGas -> excessBlobGas

* consensus: data gas -> blob gas

* core: data gas -> blob gas

* params: data gas -> blob gas
2023-08-01 10:07:25 +03:00
Péter Szilágyi
57268f7e6c all: rename dataGas to blobGas (#27789) 2023-07-27 16:53:28 +03:00
Felix Lange
393d4db18c core/types: add 4844 data gas fields in Receipt (#27743)
* core/types: add data gas fields in Receipt

* core/types: use BlobGas method of tx

* core: fix test

* core/types: fix receipt tests, add data gas used field test

---------

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2023-07-27 14:11:09 +03: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
Dan Laine
a848212709 consensus/clique: use slices package for sorting (#27488)
Also adds Address.Less for sorting use in other packages.

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2023-06-19 09:04:16 +02:00
Sanghee Choi
760fd0c79b consensus/clique: fix typo in comment (#27503) 2023-06-19 08:47:00 +02:00
NathanBSC
38002f8a56 fix: set the signer of parlia to the most permissive one (#1682) 2023-06-12 13:31:18 +08:00
Péter Szilágyi
c7c84ca16c all: remove the Rinkeby testnet (#27406) 2023-06-02 14:03:21 +03:00
Ng Wei Han
e802c737ab consensus, core/rawdb, miner: downgrade logs (#1662) 2023-05-31 22:01:28 +08:00
Péter Szilágyi
1f9b69b36d consensus, core, eth/downloader, params: 4844 chain validation (#27382) 2023-05-31 10:21:13 +03: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
Delweng
8a78a4f79f eth,consensus: replace noarg fmt.Errorf with errors.New (#27330)
* eth: replace noarg fmt.Errorf with errors.New

Signed-off-by: jsvisa <delweng@gmail.com>

* consensus: replace noarg fmt.Errorf with errors.New

Signed-off-by: jsvisa <delweng@gmail.com>

---------

Signed-off-by: jsvisa <delweng@gmail.com>
2023-05-25 02:57:34 -04:00
Péter Szilágyi
85a4b82b33 all: tie timestamp based forks to the passage of London (#27279) 2023-05-19 11:27:19 +03: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
Péter Szilágyi
dde2da0efb all: remove ethash pow, only retain shims needed for consensus and tests (#27178)
* all: remove ethash pow, only retain shims needed for consensus and tests

* all: thank you linter

* all: disallow launching Geth in legacy PoW mode

* cmd/env/internal/t8ntool: remove dangling ethash flag
2023-05-03 12:58:39 +03: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
s7v7nislands
3768b00747 consensus/ethash: use atomic type (#27068) 2023-04-18 14:54:06 +02:00
Delweng
5e4d726e2a params: remove EIP150Hash from chainconfig (#27087)
The EIP150Hash was an idea where, after the fork, we hardcoded the forked hash as an extra defensive mechanism. It wasn't really used, since forks weren't contentious and for all the various testnets and private networks it's been a hassle to have around. 

This change removes that config field. 

---------

Signed-off-by: jsvisa <delweng@gmail.com>
2023-04-18 03:49:09 -04:00
realuncle
f7d15e34df BEP-126: Introduce Fast Finality Mechanism (#936) 2023-04-10 18:36:45 +08:00
Péter Szilágyi
d2cf49327f consensus/misc, params: add EIP-4844 blobfee conversions (#27041)
* consensus/misc, params: add EIP-4844 blobfee conversions

* consensus/misc: pull in fakeExponential test cases

* consensus/misc: reuse bigints

* consensus/misc: nit renames, additional larger testcase

---------

Co-authored-by: Roberto Bayardo <bayardo@alum.mit.edu>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-04-04 11:25:28 +03:00
Péter Szilágyi
91faf2c559 consensus, core/typer: add 4844 excessDataGas to header, tie it to Cancun (#27046) 2023-04-04 10:02:50 +03: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
rjl493456442
48d1bf0678 consensus: improve consensus engine definition (#26871)
Makes clear the distinction between Finalize and FinalizedAndAssemble:

- In Finalize function, a series of state operations are applied according to consensus rules. The statedb is mutated and the root hash can be checked and compared afterwards.

This function should be used in block processing(receive afrom network and apply it locally) but not block generation.

- In FinalizeAndAssemble function, after applying state mutations, the block is also to be assembled with the latest
  state root computed, updating the header. 

 This function should be used in block generation only.
2023-03-16 15:34:25 -04:00
larry.lx
6526a601cb Revert "parlia: consensus changes according to BEP of Early Broadcast (#1268)"
This reverts commit f5cb1378da.
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 c8a1535c74.
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