46 lines
1.3 KiB
Go
46 lines
1.3 KiB
Go
package types
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/cosmos/cosmos-sdk/codec"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
)
|
|
|
|
// NewValidatorSigningInfo creates a new ValidatorSigningInfo instance
|
|
func NewValidatorSigningInfo(
|
|
condAddr sdk.ConsAddress, startHeight, indexOffset int64,
|
|
jailedUntil time.Time, tombstoned bool, missedBlocksCounter int64,
|
|
) ValidatorSigningInfo {
|
|
|
|
return ValidatorSigningInfo{
|
|
Address: condAddr,
|
|
StartHeight: startHeight,
|
|
IndexOffset: indexOffset,
|
|
JailedUntil: jailedUntil,
|
|
Tombstoned: tombstoned,
|
|
MissedBlocksCounter: missedBlocksCounter,
|
|
}
|
|
}
|
|
|
|
// String implements the stringer interface for ValidatorSigningInfo
|
|
func (i ValidatorSigningInfo) String() string {
|
|
return fmt.Sprintf(`Validator Signing Info:
|
|
Address: %s
|
|
Start Height: %d
|
|
Index Offset: %d
|
|
Jailed Until: %v
|
|
Tombstoned: %t
|
|
Missed Blocks Counter: %d`,
|
|
i.Address, i.StartHeight, i.IndexOffset, i.JailedUntil,
|
|
i.Tombstoned, i.MissedBlocksCounter)
|
|
}
|
|
|
|
// unmarshal a validator signing info from a store value
|
|
func UnmarshalValSigningInfo(cdc codec.Marshaler, value []byte) (signingInfo ValidatorSigningInfo, err error) {
|
|
err = cdc.UnmarshalBinaryLengthPrefixed(value, &signingInfo)
|
|
return signingInfo, err
|
|
}
|