add more log

This commit is contained in:
liam.lai 2025-11-21 00:24:55 +08:00 committed by benjamin202410
parent 9cfb9b43a9
commit 50602a0298
2 changed files with 93 additions and 88 deletions

84
commits
View file

@ -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.

View file

@ -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 {