github.com/Finschia/finschia-sdk@v0.48.1/x/slashing/types/signing_info.go (about) 1 package types 2 3 import ( 4 "fmt" 5 "time" 6 7 "github.com/Finschia/finschia-sdk/codec" 8 sdk "github.com/Finschia/finschia-sdk/types" 9 ) 10 11 // NewValidatorSigningInfo creates a new ValidatorSigningInfo instance 12 // 13 //nolint:interfacer 14 func NewValidatorSigningInfo( 15 condAddr sdk.ConsAddress, startHeight, indexOffset int64, 16 jailedUntil time.Time, tombstoned bool, missedBlocksCounter int64, 17 ) ValidatorSigningInfo { 18 return ValidatorSigningInfo{ 19 Address: condAddr.String(), 20 StartHeight: startHeight, 21 IndexOffset: indexOffset, 22 JailedUntil: jailedUntil, 23 Tombstoned: tombstoned, 24 MissedBlocksCounter: missedBlocksCounter, 25 } 26 } 27 28 // String implements the stringer interface for ValidatorSigningInfo 29 func (i ValidatorSigningInfo) String() string { 30 return fmt.Sprintf(`Validator Signing Info: 31 Address: %s 32 Start Height: %d 33 Index Offset: %d 34 Jailed Until: %v 35 Tombstoned: %t 36 Missed Blocks Counter: %d`, 37 i.Address, i.StartHeight, i.IndexOffset, i.JailedUntil, 38 i.Tombstoned, i.MissedBlocksCounter) 39 } 40 41 // unmarshal a validator signing info from a store value 42 func UnmarshalValSigningInfo(cdc codec.Codec, value []byte) (signingInfo ValidatorSigningInfo, err error) { 43 err = cdc.Unmarshal(value, &signingInfo) 44 return signingInfo, err 45 }