From 64e4a815dddd5ee2f60f31ff9ee81188eb8ba3d3 Mon Sep 17 00:00:00 2001 From: cuoguojida Date: Sat, 16 May 2026 23:53:55 +0800 Subject: [PATCH] refactor: use reflect.TypeFor Signed-off-by: cuoguojida --- bindings/legacy/v1.1.0-rc1/rewards/rewards.go | 6 ++---- shared/services/config/rocket-pool-config.go | 4 ++-- shared/types/config/parameter.go | 2 +- shared/types/eth2/fork/deneb/state_deneb.go | 2 +- shared/types/eth2/fork/electra/state_electra.go | 2 +- shared/types/eth2/fork/fulu/state_fulu.go | 2 +- 6 files changed, 8 insertions(+), 10 deletions(-) diff --git a/bindings/legacy/v1.1.0-rc1/rewards/rewards.go b/bindings/legacy/v1.1.0-rc1/rewards/rewards.go index 2a144f069..060a82b6c 100644 --- a/bindings/legacy/v1.1.0-rc1/rewards/rewards.go +++ b/bindings/legacy/v1.1.0-rc1/rewards/rewards.go @@ -203,8 +203,7 @@ func GetRewardSnapshotEvent(rp *rocketpool.RocketPool, index uint64, intervalSiz } // Get the decoded data - submissionPrototype := RewardSubmission{} - submissionType := reflect.TypeOf(submissionPrototype) + submissionType := reflect.TypeFor[RewardSubmission]() submission := reflect.ValueOf(values["submission"]).Convert(submissionType).Interface().(RewardSubmission) eventIntervalStartTime := values["intervalStartTime"].(*big.Int) eventIntervalEndTime := values["intervalEndTime"].(*big.Int) @@ -266,8 +265,7 @@ func GetRewardSnapshotEventWithUpgrades(rp *rocketpool.RocketPool, index uint64, } // Get the decoded data - submissionPrototype := RewardSubmission{} - submissionType := reflect.TypeOf(submissionPrototype) + submissionType := reflect.TypeFor[RewardSubmission]() submission := reflect.ValueOf(values["submission"]).Convert(submissionType).Interface().(RewardSubmission) eventIntervalStartTime := values["intervalStartTime"].(*big.Int) eventIntervalEndTime := values["intervalEndTime"].(*big.Int) diff --git a/shared/services/config/rocket-pool-config.go b/shared/services/config/rocket-pool-config.go index 484328964..7e86e129d 100644 --- a/shared/services/config/rocket-pool-config.go +++ b/shared/services/config/rocket-pool-config.go @@ -837,8 +837,8 @@ func (cfg *RocketPoolConfig) Deserialize(masterMap map[string]map[string]string) if exists { networkString, exists := smartnodeConfig[cfg.Smartnode.Network.ID] if exists { - valueType := reflect.TypeOf(networkString) - paramType := reflect.TypeOf(network) + valueType := reflect.TypeFor[string]() + paramType := reflect.TypeFor[config.Network]() if !valueType.ConvertibleTo(paramType) { return fmt.Errorf("can't get default network: value type %s cannot be converted to parameter type %s", valueType.Name(), paramType.Name()) } diff --git a/shared/types/config/parameter.go b/shared/types/config/parameter.go index f29aebad4..d27b0a74e 100644 --- a/shared/types/config/parameter.go +++ b/shared/types/config/parameter.go @@ -111,7 +111,7 @@ func (param *Parameter) Deserialize(serializedParams map[string]string, network if len(param.Options) < 1 { err = fmt.Errorf("this parameter is marked as a choice but does not have any options") } else { - valueType := reflect.TypeOf(value) + valueType := reflect.TypeFor[string]() paramType := reflect.TypeOf(param.Options[0].Value) if !valueType.ConvertibleTo(paramType) { err = fmt.Errorf("value type %s cannot be converted to parameter type %s", valueType.Name(), paramType.Name()) diff --git a/shared/types/eth2/fork/deneb/state_deneb.go b/shared/types/eth2/fork/deneb/state_deneb.go index d2c0c0bc2..f2320c947 100644 --- a/shared/types/eth2/fork/deneb/state_deneb.go +++ b/shared/types/eth2/fork/deneb/state_deneb.go @@ -52,7 +52,7 @@ func getStateChunkSize() uint64 { // Use a static value to avoid multiple reflection calls storedChunkSize := beaconStateChunkSize.Load() if storedChunkSize == 0 { - s := reflect.TypeOf(BeaconState{}).NumField() + s := reflect.TypeFor[BeaconState]().NumField() beaconStateChunkSize.Store(uint64(s)) storedChunkSize = uint64(s) } diff --git a/shared/types/eth2/fork/electra/state_electra.go b/shared/types/eth2/fork/electra/state_electra.go index 13ccde67a..da6f80ed4 100644 --- a/shared/types/eth2/fork/electra/state_electra.go +++ b/shared/types/eth2/fork/electra/state_electra.go @@ -63,7 +63,7 @@ func getStateChunkSize() uint64 { // Use a static value to avoid multiple reflection calls storedChunkSize := beaconStateChunkSize.Load() if storedChunkSize == 0 { - s := reflect.TypeOf(BeaconState{}).NumField() + s := reflect.TypeFor[BeaconState]().NumField() beaconStateChunkSize.Store(uint64(s)) storedChunkSize = uint64(s) } diff --git a/shared/types/eth2/fork/fulu/state_fulu.go b/shared/types/eth2/fork/fulu/state_fulu.go index 06b3eceb0..9b517fc53 100644 --- a/shared/types/eth2/fork/fulu/state_fulu.go +++ b/shared/types/eth2/fork/fulu/state_fulu.go @@ -66,7 +66,7 @@ func getStateChunkSize() uint64 { // Use a static value to avoid multiple reflection calls storedChunkSize := beaconStateChunkSize.Load() if storedChunkSize == 0 { - s := reflect.TypeOf(BeaconState{}).NumField() + s := reflect.TypeFor[BeaconState]().NumField() beaconStateChunkSize.Store(uint64(s)) storedChunkSize = uint64(s) }