params: print time value instead of pointer in ConfigCompatError (#29514)
This commit is contained in:
parent
fecc8a0f4a
commit
69f815f6f5
@ -880,7 +880,7 @@ func newTimestampCompatError(what string, storedtime, newtime *uint64) *ConfigCo
|
|||||||
NewTime: newtime,
|
NewTime: newtime,
|
||||||
RewindToTime: 0,
|
RewindToTime: 0,
|
||||||
}
|
}
|
||||||
if rew != nil {
|
if rew != nil && *rew != 0 {
|
||||||
err.RewindToTime = *rew - 1
|
err.RewindToTime = *rew - 1
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@ -890,7 +890,15 @@ func (err *ConfigCompatError) Error() string {
|
|||||||
if err.StoredBlock != nil {
|
if err.StoredBlock != nil {
|
||||||
return fmt.Sprintf("mismatching %s in database (have block %d, want block %d, rewindto block %d)", err.What, err.StoredBlock, err.NewBlock, err.RewindToBlock)
|
return fmt.Sprintf("mismatching %s in database (have block %d, want block %d, rewindto block %d)", err.What, err.StoredBlock, err.NewBlock, err.RewindToBlock)
|
||||||
}
|
}
|
||||||
return fmt.Sprintf("mismatching %s in database (have timestamp %d, want timestamp %d, rewindto timestamp %d)", err.What, err.StoredTime, err.NewTime, err.RewindToTime)
|
|
||||||
|
if err.StoredTime == nil && err.NewTime == nil {
|
||||||
|
return ""
|
||||||
|
} else if err.StoredTime == nil && err.NewTime != nil {
|
||||||
|
return fmt.Sprintf("mismatching %s in database (have timestamp nil, want timestamp %d, rewindto timestamp %d)", err.What, *err.NewTime, err.RewindToTime)
|
||||||
|
} else if err.StoredTime != nil && err.NewTime == nil {
|
||||||
|
return fmt.Sprintf("mismatching %s in database (have timestamp %d, want timestamp nil, rewindto timestamp %d)", err.What, *err.StoredTime, err.RewindToTime)
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("mismatching %s in database (have timestamp %d, want timestamp %d, rewindto timestamp %d)", err.What, *err.StoredTime, *err.NewTime, err.RewindToTime)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rules wraps ChainConfig and is merely syntactic sugar or can be used for functions
|
// Rules wraps ChainConfig and is merely syntactic sugar or can be used for functions
|
||||||
|
@ -23,6 +23,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common/math"
|
"github.com/ethereum/go-ethereum/common/math"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestCheckCompatible(t *testing.T) {
|
func TestCheckCompatible(t *testing.T) {
|
||||||
@ -137,3 +138,20 @@ func TestConfigRules(t *testing.T) {
|
|||||||
t.Errorf("expected %v to be shanghai", stamp)
|
t.Errorf("expected %v to be shanghai", stamp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestTimestampCompatError(t *testing.T) {
|
||||||
|
require.Equal(t, new(ConfigCompatError).Error(), "")
|
||||||
|
|
||||||
|
errWhat := "Shanghai fork timestamp"
|
||||||
|
require.Equal(t, newTimestampCompatError(errWhat, nil, newUint64(1681338455)).Error(),
|
||||||
|
"mismatching Shanghai fork timestamp in database (have timestamp nil, want timestamp 1681338455, rewindto timestamp 1681338454)")
|
||||||
|
|
||||||
|
require.Equal(t, newTimestampCompatError(errWhat, newUint64(1681338455), nil).Error(),
|
||||||
|
"mismatching Shanghai fork timestamp in database (have timestamp 1681338455, want timestamp nil, rewindto timestamp 1681338454)")
|
||||||
|
|
||||||
|
require.Equal(t, newTimestampCompatError(errWhat, newUint64(1681338455), newUint64(600624000)).Error(),
|
||||||
|
"mismatching Shanghai fork timestamp in database (have timestamp 1681338455, want timestamp 600624000, rewindto timestamp 600623999)")
|
||||||
|
|
||||||
|
require.Equal(t, newTimestampCompatError(errWhat, newUint64(0), newUint64(1681338455)).Error(),
|
||||||
|
"mismatching Shanghai fork timestamp in database (have timestamp 0, want timestamp 1681338455, rewindto timestamp 0)")
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user