mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-22 12:46:44 +00:00
add more log
This commit is contained in:
parent
9cfb9b43a9
commit
50602a0298
2 changed files with 93 additions and 88 deletions
84
commits
84
commits
|
|
@ -1,84 +0,0 @@
|
|||
I found 50 commits containing the keyword "XFN" in the last 200 commits. Here they are with dates: November 2025:
|
||||
|
||||
|
||||
|
||||
845137849 - Wanwiset Peerapatanapokin - consensus: change os.Exit to return error (#1653)
|
||||
b49f6cb0f - Wanwiset Peerapatanapokin - consensus: verify header hash is same as input hash in getEpochSwitchInfo (#1627)
|
||||
e0c987f45 - Wanwiset Peerapatanapokin - impose size limit for DecodeBytesExtraFields (#1637)
|
||||
998153ebb - Wanwiset Peerapatanapokin - consensus: optimize CompareSignersLists
|
||||
6abb4f88d - Wanwiset Peerapatanapokin - consensus: Verify gaslimit bounds when accepting blocks (#1619)
|
||||
|
||||
c95d25805 - Wanwiset Peerapatanapokin - separate fullVerifies array into v1fullVerifies and v2fullVerifies (#1618)
|
||||
25a70e877 - Wanwiset Peerapatanapokin - consensus: skip gas limit verification for genesis block (#1646)
|
||||
da92ad7cc - Wanwiset Peerapatanapokin - update package version: (#1612)
|
||||
|
||||
2025-11-18 - 627d77ae2 - eth/hook: fix parameter mame mismatch in `HookPenalties()`, close XFN-141 (#1741)
|
||||
2025-11-18 - f8553d587 - core, miner: fix inconsistent tx blacklist enforcement, close XFN-98 (#1674)
|
||||
2025-11-16 - 73061af2c - core/types: fix immutability guarantees in Block #27844, close XFN-82 (#1727)
|
||||
2025-11-15 - 07e2609c2 - common: improve variable names for `ExtractAddressFromBytes()`, close XFN-27 (#1726)
|
||||
2025-11-15 - 650047c81 - consensus/XDPoS, params: fix some comments, close XFN-125 (#1733)
|
||||
2025-11-15 - f24e68b01 - consensus/XDPoS, eth: fix potential rpc.BlockNumber overflow, close XFN-69 (#1735)
|
||||
2025-11-15 - 60868c904 - engines/engine_v2: refactor verifyQC by errgroup, close XFN-09 (#1740)
|
||||
2025-11-15 - 8cbbc1e83 - consensus, params: remove `SkipV2Validation`, close XFN-151 (#1730)
|
||||
2025-11-15 - 7a3ac998a - eth: quick canceling block inserting when debug_setHead is invoked #32067, close XFN-142 (#1728)
|
||||
2025-11-14 - eef5242fa - all: pre-allocate memory for slices and maps, close XFN-148 (#1714)
|
||||
2025-11-14 - 782a7ff5c - all: fix typos, close XFN-23 (#1725)
|
||||
2025-11-14 - bd3d30919 - XDPoS/utils: get pool size by key, close XFN-21 (#1666)
|
||||
2025-11-14 - d5a03ab9e - core, eth: fix overuse Of `log.Crit`, close XFN-102 (#1648)
|
||||
2025-11-14 - 2c40021f7 - core/state, internal/ethapi: GetAccountInfo handle error properly, close XFN-79 (#1663)
|
||||
2025-11-14 - 39b8184f5 - XDPoS/utils: must use `NewPool()` to create Pool, close XFN-13 (#1667)
|
||||
2025-11-14 - 956ebb2b0 - core, docs: add solidity document, close XFN-68 (#1670)
|
||||
|
||||
2025-11-12 - 4bb925258 - params: fix type V2 not equal bug, close XFN-45 (#1737)
|
||||
2025-11-10 - 366c99ece - consensus: use signer pubkey to check for unique signatures, close XFN-03 (#1643)
|
||||
2025-11-10 - 7aaa541db - consensus: implement DeepCopy() in PoolObj, close XFN-04 (#1723)
|
||||
2025-11-10 - 44b7ea808 - consensus: add isEpochSwitch check to IsSigner, close XFN-90 (#1654)
|
||||
2025-11-04 - 13ed19bcf - all: remove XDCx and XDCxlending public API, close XFN-74 XFN-134 (#1675)
|
||||
2025-11-04 - 8ca35720c - ethclient: fix variable shadowing in FeeHistory(), close XFN-129 (#1720)
|
||||
2025-11-04 - 5a2495100 - consensus/XDPoS/utils: remove unused errors, close XFN-122 (#1721)
|
||||
2025-11-04 - 611668c23 - internal/ethapi: improve ChaindbCompact() and ChaindbProperty(), fix XFN-139 (#1722)
|
||||
2025-11-04 - 851bdc45d - core: skip AddBalance for special-tx, close XFN-67 (#1629)
|
||||
2025-11-04 - d31910283 - miner: remove NewMinedBlockEvent, close XFN-50 (#1644)
|
||||
2025-11-04 - 5d25e016d - params: check XDPoS V2 parameters, close XFN-45 (#1638)
|
||||
2025-11-03 - c3c3d0355 - common: fix gas fee mismatch before TIPTRC21Fee, close XFN-51 (#1636)
|
||||
2025-11-03 - 815995e9e - miner: fix inconsistent error evaluation, close XFN-60 (#1632)
|
||||
2025-11-03 - 0677ab40a - miner: fix pop wrong tx from normal txs queue, close XFN-37 (#1623)
|
||||
2025-11-03 - 45f7597c9 - engine_v2: verify gap number in UpdateMasternodes, close XFN-11 (#1622)
|
||||
2025-11-03 - 3cab0036e - miner: fix deep copy in copyReceipts, close XFN-49 (#1620)
|
||||
2025-11-03 - 5732c4b11 - core/txpool: protect cache with mutex, close XFN-65 (#1630)
|
||||
2025-11-03 - 7fad428a8 - core/types: reuse signtx, close XFN-63 (#1631)
|
||||
2025-11-03 - 76aa15b7d - miner: fix concurrent map access in Miner.HashRate, close XFN-52 (#1634)
|
||||
2025-11-03 - f90a12d9f - miner: fix inconsistent time unit, close XFN-59 (#1633)
|
||||
2025-11-03 - d451580b3 - miner, XDPoS, XDC: close chanels by owner, close XFN-41 (#1641)
|
||||
2025-11-03 - 5a26279c1 - engine_v2, params: fix unsynchronized reads of V2.CurrentConfig, close XFN-53 (#1642)
|
||||
2025-11-03 - 96d39a83e - core: fix variable shadowing, close XFN-104 (#1649)
|
||||
2025-11-03 - 96fbe67bf - core: fix untracked goroutine in procFutureBlocks, close XFN-105 (#1650)
|
||||
2025-11-03 - 17cd60454 - eth/gasprice: use Sign() to compare with zero, close XFN-93 (#1655)
|
||||
2025-11-03 - d8af7fa0d - consensus/XDPoS: avoid use len as variable, close XFN-25 (#1656)
|
||||
2025-11-03 - 4aafff282 - common: improve function ExtractAddressFromBytes, close XFN-15 (#1658)
|
||||
2025-11-03 - 09b66ea8c - engine_v2: check overflow first, close XFN-20 (#1659)
|
||||
2025-11-03 - 4acd3b05e - XDPoS/utils: use strconv.ParseInt to convert int64, close XFN-24 (#1660)
|
||||
2025-11-03 - 717610c0d - core: handle future block more elegantly, close XFN-101 (#1672)
|
||||
2025-11-03 - aecb6ff7d - engine_v2: reject wrong signature earlier, close XFN-29 (#1661)
|
||||
2025-11-03 - 0f4d266b9 - internal/ethapi: fix missing proper error propagation, close XFN-118 (#1683)
|
||||
2025-11-03 - 737bfa45a - internal/ethapi: prealloc map for the txpool api, close XFN-106 (#1685)
|
||||
2025-11-03 - 165d0f083 - eth: fix wrong judgement condition, close XFN-73 (#1686)
|
||||
2025-11-03 - 7614a0ad9 - consensus/XDPoS: convert variables to const, close XFN-123 (#1688)
|
||||
2025-11-03 - fc748cc52 - engine_v2: add comment for type SnapshotV2, close XFN-124 (#1689)
|
||||
2025-11-03 - d2706538e - XDPoS/engines, core: fix non idiomatic "comma ok" boolean name, close XFN-126 (#1690)
|
||||
2025-11-03 - 58c066f05 - all: handle err from func rlp.Encode, close XFN-127 (#1692)
|
||||
2025-11-03 - 426d4a7a9 - core/txpool: fix name shadowing of filter parameter, close XFN-66 (#1694)
|
||||
2025-11-03 - 11f0c95b7 - core: fix missing nil check, close XFN-114 (#1696)
|
||||
2025-11-02 - 9d8599030 - all: fix missing nil check, close XFN-114 (#1695)
|
||||
2025-11-01 - 2fd4030cb - eth/gasprice: ensure cache purging goroutine terminates with subscription, close XFN-89 (#1687)
|
||||
October 2025:
|
||||
2025-10-31 - 336d1f9f3 - core: fix too many goroutines in InitSignerInTransactions, close XFN-75 (#1662)
|
||||
2025-10-31 - a5e68b9c5 - miner: not sleep if locks multiple mutex, close XFN-40 (#1639)
|
||||
2025-10-31 - 20ec25c0c - engine_v2: fix data race when initial v2 parameters, close XFN-10 (#1617)
|
||||
2025-10-08 - 0aa7ccb81 - consensus: check gas limit bounds in header, close XFN-07 (#1616)
|
||||
2025-10-08 - 8c101cd96 - engine_v2: fix potential modulo by zero, close XFN-17 (#1615)
|
||||
2025-10-08 - 95f0bd2a4 - engine_v2: check minimum timestamp for the first v2 block, close XFN-16 (#1614)
|
||||
2025-10-08 - 956767a41 - consensus/XDPoS: remove unused parameters in BlockConsensusVersion, close XFN-02 (#1613)
|
||||
2025-10-08 - 2ad225d6d - engine_v2: fix unsynchronized QC verification Error, close XFN-09 (#1609)
|
||||
2025-10-08 - c7fb2e875 - consensus, contracts: check input length of ExtractValidatorsFromBytes, close XFN-14 (#1608)
|
||||
These commits reference various XFN issue numbers (XFN-02 through XFN-139) and primarily focus on bug fixes, improvements to the consensus engine, miner, and core components.
|
||||
|
|
@ -463,27 +463,116 @@ type ExpTimeoutConfig struct {
|
|||
|
||||
func XDPoSConfigEqual(a, b *XDPoSConfig) bool {
|
||||
if a == nil || b == nil {
|
||||
log.Info("[XDPoSConfigEqual] Nil check", "a", a, "b", b, "equal", a == b)
|
||||
return a == b
|
||||
}
|
||||
if a.Period != b.Period || a.Epoch != b.Epoch || a.Reward != b.Reward || a.RewardCheckpoint != b.RewardCheckpoint || a.Gap != b.Gap || a.FoudationWalletAddr != b.FoudationWalletAddr || a.SkipV1Validation != b.SkipV1Validation {
|
||||
|
||||
if a.Period != b.Period {
|
||||
log.Info("[XDPoSConfigEqual] Period mismatch", "a.Period", a.Period, "b.Period", b.Period)
|
||||
return false
|
||||
}
|
||||
return V2Equal(a.V2, b.V2)
|
||||
if a.Epoch != b.Epoch {
|
||||
log.Info("[XDPoSConfigEqual] Epoch mismatch", "a.Epoch", a.Epoch, "b.Epoch", b.Epoch)
|
||||
return false
|
||||
}
|
||||
if a.Reward != b.Reward {
|
||||
log.Info("[XDPoSConfigEqual] Reward mismatch", "a.Reward", a.Reward, "b.Reward", b.Reward)
|
||||
return false
|
||||
}
|
||||
if a.RewardCheckpoint != b.RewardCheckpoint {
|
||||
log.Info("[XDPoSConfigEqual] RewardCheckpoint mismatch", "a.RewardCheckpoint", a.RewardCheckpoint, "b.RewardCheckpoint", b.RewardCheckpoint)
|
||||
return false
|
||||
}
|
||||
if a.Gap != b.Gap {
|
||||
log.Info("[XDPoSConfigEqual] Gap mismatch", "a.Gap", a.Gap, "b.Gap", b.Gap)
|
||||
return false
|
||||
}
|
||||
if a.FoudationWalletAddr != b.FoudationWalletAddr {
|
||||
log.Info("[XDPoSConfigEqual] FoudationWalletAddr mismatch", "a.FoudationWalletAddr", a.FoudationWalletAddr.Hex(), "b.FoudationWalletAddr", b.FoudationWalletAddr.Hex())
|
||||
return false
|
||||
}
|
||||
if a.SkipV1Validation != b.SkipV1Validation {
|
||||
log.Info("[XDPoSConfigEqual] SkipV1Validation mismatch", "a.SkipV1Validation", a.SkipV1Validation, "b.SkipV1Validation", b.SkipV1Validation)
|
||||
return false
|
||||
}
|
||||
|
||||
v2Equal := V2Equal(a.V2, b.V2)
|
||||
if !v2Equal {
|
||||
log.Info("[XDPoSConfigEqual] V2 configs not equal")
|
||||
}
|
||||
return v2Equal
|
||||
}
|
||||
|
||||
func V2Equal(a, b *V2) bool {
|
||||
if a == nil || b == nil {
|
||||
log.Info("[V2Equal] Nil check", "a", a, "b", b, "equal", a == b)
|
||||
return a == b
|
||||
}
|
||||
|
||||
return a.SwitchEpoch == b.SwitchEpoch && configNumEqual(a.SwitchBlock, b.SwitchBlock) && slices.Equal(a.configIndex, b.configIndex) && maps.EqualFunc(a.AllConfigs, b.AllConfigs, V2ConfigEqual)
|
||||
if a.SwitchEpoch != b.SwitchEpoch {
|
||||
log.Info("[V2Equal] SwitchEpoch mismatch", "a.SwitchEpoch", a.SwitchEpoch, "b.SwitchEpoch", b.SwitchEpoch)
|
||||
return false
|
||||
}
|
||||
|
||||
if !configNumEqual(a.SwitchBlock, b.SwitchBlock) {
|
||||
aBlock := "<nil>"
|
||||
bBlock := "<nil>"
|
||||
if a.SwitchBlock != nil {
|
||||
aBlock = a.SwitchBlock.String()
|
||||
}
|
||||
if b.SwitchBlock != nil {
|
||||
bBlock = b.SwitchBlock.String()
|
||||
}
|
||||
log.Info("[V2Equal] SwitchBlock mismatch", "a.SwitchBlock", aBlock, "b.SwitchBlock", bBlock)
|
||||
return false
|
||||
}
|
||||
|
||||
if !slices.Equal(a.configIndex, b.configIndex) {
|
||||
log.Info("[V2Equal] configIndex mismatch", "a.configIndex", a.configIndex, "b.configIndex", b.configIndex)
|
||||
return false
|
||||
}
|
||||
|
||||
if !maps.EqualFunc(a.AllConfigs, b.AllConfigs, V2ConfigEqual) {
|
||||
log.Info("[V2Equal] AllConfigs mismatch", "a.AllConfigs.len", len(a.AllConfigs), "b.AllConfigs.len", len(b.AllConfigs))
|
||||
// Log details about which configs differ
|
||||
for key, aConfig := range a.AllConfigs {
|
||||
bConfig, exists := b.AllConfigs[key]
|
||||
if !exists {
|
||||
log.Info("[V2Equal] AllConfigs key missing in b", "key", key)
|
||||
} else if !V2ConfigEqual(aConfig, bConfig) {
|
||||
log.Info("[V2Equal] AllConfigs value mismatch at key", "key", key)
|
||||
}
|
||||
}
|
||||
for key := range b.AllConfigs {
|
||||
if _, exists := a.AllConfigs[key]; !exists {
|
||||
log.Info("[V2Equal] AllConfigs key missing in a", "key", key)
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func V2ConfigEqual(a, b *V2Config) bool {
|
||||
if a == nil || b == nil {
|
||||
log.Info("[V2ConfigEqual] Nil check", "a", a, "b", b, "equal", a == b)
|
||||
return a == b
|
||||
}
|
||||
return *a == *b
|
||||
|
||||
equal := *a == *b
|
||||
if !equal {
|
||||
log.Info("[V2ConfigEqual] Config mismatch",
|
||||
"a.MaxMasternodes", a.MaxMasternodes, "b.MaxMasternodes", b.MaxMasternodes,
|
||||
"a.SwitchRound", a.SwitchRound, "b.SwitchRound", b.SwitchRound,
|
||||
"a.MinePeriod", a.MinePeriod, "b.MinePeriod", b.MinePeriod,
|
||||
"a.TimeoutSyncThreshold", a.TimeoutSyncThreshold, "b.TimeoutSyncThreshold", b.TimeoutSyncThreshold,
|
||||
"a.TimeoutPeriod", a.TimeoutPeriod, "b.TimeoutPeriod", b.TimeoutPeriod,
|
||||
"a.CertThreshold", a.CertThreshold, "b.CertThreshold", b.CertThreshold,
|
||||
"a.ExpTimeoutConfig.Base", a.ExpTimeoutConfig.Base, "b.ExpTimeoutConfig.Base", b.ExpTimeoutConfig.Base,
|
||||
"a.ExpTimeoutConfig.MaxExponent", a.ExpTimeoutConfig.MaxExponent, "b.ExpTimeoutConfig.MaxExponent", b.ExpTimeoutConfig.MaxExponent)
|
||||
}
|
||||
return equal
|
||||
}
|
||||
|
||||
func (c *XDPoSConfig) String() string {
|
||||
|
|
|
|||
Loading…
Reference in a new issue