Documentation ¶
Index ¶
- Constants
- Variables
- func AssertSanitizedIndex(safeIndex SafeIndex, prefix string)
- func DecodeBlockAndKey(encodedKey []byte) (uint64, []byte)
- func DecodeKey(encodedKey []byte) uint64
- func DesanitizeIndex(safeIndex SafeIndex) string
- func EncodeBlockAndKey(block uint64, key []byte) []byte
- func EncodeKey(key uint64) []byte
- func FindIndexOfMax[T constraints.Ordered](s []T) int
- func FindIndexOfMin[T constraints.Ordered](s []T) int
- func FindMax[T constraints.Ordered](s []T) T
- func FindMin[T constraints.Ordered](s []T) T
- func Intersection[T comparable](arrays ...[]T) []T
- func IsEntryIndexLive(value []byte) bool
- func KeyPrefix(p string) []byte
- func ReadYaml(filePath, primaryKey string, content interface{}, ...) (missingFields []string, err error)
- func SafePow(base, exponent uint64) uint64
- func SetDefaultValues(content interface{}, defaultValues map[string]interface{})
- func Union[T comparable](arrays ...[]T) []T
- func UnionByFields[T ComparableByFields](arrays ...[]T) []T
- func ValidateString(s string, restrictType charRestrictionEnum, disallowedChars []rune) bool
- type ComparableByFields
- type Entry
- func (*Entry) Descriptor() ([]byte, []int)
- func (m *Entry) GetBlock() uint64
- func (m *Entry) GetData() []byte
- func (m *Entry) GetDeleteAt() uint64
- func (m *Entry) GetIndex() string
- func (m *Entry) GetIsLatest() bool
- func (m *Entry) GetRefcount() uint64
- func (m *Entry) GetStaleAt() uint64
- func (entry Entry) HasDeleteAt() bool
- func (entry Entry) IsDeleted(ctx sdk.Context) bool
- func (entry Entry) IsDeletedBy(block uint64) bool
- func (entry Entry) IsStale(ctx sdk.Context) bool
- func (entry Entry) IsStaleBy(block uint64) bool
- func (m *Entry) Marshal() (dAtA []byte, err error)
- func (m *Entry) MarshalTo(dAtA []byte) (int, error)
- func (m *Entry) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Entry) ProtoMessage()
- func (m *Entry) Reset()
- func (entry Entry) SafeIndex() SafeIndex
- func (m *Entry) Size() (n int)
- func (m *Entry) String() string
- func (m *Entry) Unmarshal(dAtA []byte) error
- func (m *Entry) XXX_DiscardUnknown()
- func (m *Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Entry) XXX_Merge(src proto.Message)
- func (m *Entry) XXX_Size() int
- func (m *Entry) XXX_Unmarshal(b []byte) error
- type EnumDecodeHookFuncType
- type EnumParseFunc
- type RawMessage
- func (*RawMessage) Descriptor() ([]byte, []int)
- func (m *RawMessage) GetKey() []byte
- func (m *RawMessage) GetValue() []byte
- func (m *RawMessage) Marshal() (dAtA []byte, err error)
- func (m *RawMessage) MarshalTo(dAtA []byte) (int, error)
- func (m *RawMessage) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RawMessage) ProtoMessage()
- func (m *RawMessage) Reset()
- func (m *RawMessage) Size() (n int)
- func (m *RawMessage) String() string
- func (m *RawMessage) Unmarshal(dAtA []byte) error
- func (m *RawMessage) XXX_DiscardUnknown()
- func (m *RawMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RawMessage) XXX_Merge(src proto.Message)
- func (m *RawMessage) XXX_Size() int
- func (m *RawMessage) XXX_Unmarshal(b []byte) error
- type SafeIndex
- type TimerType
Constants ¶
const ( ASCII_MIN = 32 // min visible ascii ASCII_MAX = 126 // max visible ascii ASCII_DEL = 127 // ascii for DEL )
const ( STALE_ENTRY_TIME = 1440 // 1440 blocks (equivalent to 24 hours when block_time = 1min) MODULE_NAME string = "common" )
const ( FixationVersionKey = "Entry_Version" EntryIndexPrefix = "Entry_Index_" EntryPrefix = "Entry_Value_" )
const ( TimerVersionKey = "Timer_Version" NextTimerPrefix = "Timer_Next_" TimerPrefix = "Timer_Value_" )
const (
NAME_RESTRICTIONS charRestrictionEnum = "name"
)
Variables ¶
var ( ErrInvalidLengthFixationEntry = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowFixationEntry = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupFixationEntry = fmt.Errorf("proto: unexpected end of group") )
var ( // use single byte to save storage. // (value cannot be part of a valid index) EntryIndexLive = []byte{1} EntryIndexDead = []byte{2} )
var (
ErrInvalidIndex = sdkerrors.Register(MODULE_NAME, 1, "entry index is invalid")
)
x/pairing module sentinel errors
var NextTimerKey = []string{
"NextBlock",
"NextDate",
}
var TimerTypePrefix = []string{
"Block_",
"Time_",
}
Functions ¶
func AssertSanitizedIndex ¶ added in v0.10.0
func DecodeBlockAndKey ¶ added in v0.12.0
func DesanitizeIndex ¶ added in v0.10.0
desantizeIndex reverts the effect of SanitizeIndex - removes the trailing (ascii) DEL terminator.
func EncodeBlockAndKey ¶ added in v0.12.0
func FindIndexOfMax ¶ added in v0.20.4
func FindIndexOfMax[T constraints.Ordered](s []T) int
func FindIndexOfMin ¶ added in v0.20.4
func FindIndexOfMin[T constraints.Ordered](s []T) int
func FindMax ¶ added in v0.10.0
func FindMax[T constraints.Ordered](s []T) T
func FindMin ¶ added in v0.10.0
func FindMin[T constraints.Ordered](s []T) T
func Intersection ¶ added in v0.13.1
func Intersection[T comparable](arrays ...[]T) []T
func IsEntryIndexLive ¶ added in v0.13.0
IsEntryIndexLive tests whether an entry-index is live
func ReadYaml ¶ added in v0.10.0
func ReadYaml(filePath, primaryKey string, content interface{}, hooks []EnumDecodeHookFuncType, allowMissingFields bool) (missingFields []string, err error)
func SafePow ¶ added in v0.20.4
SafePow implements a deterministic power function Go's math.Pow() doesn't guarantee determinism when executed on different hardwares
func SetDefaultValues ¶ added in v0.20.4
func SetDefaultValues(content interface{}, defaultValues map[string]interface{})
func Union ¶ added in v0.20.1
func Union[T comparable](arrays ...[]T) []T
func UnionByFields ¶ added in v0.20.4
func UnionByFields[T ComparableByFields](arrays ...[]T) []T
func ValidateString ¶
Validates name strings. Current policy:
name: lowercase ascii letters and digits only and the characters {' ', '_'}. can't be empty.
Types ¶
type ComparableByFields ¶ added in v0.20.4
type ComparableByFields interface {
Differentiator() string
}
type Entry ¶ added in v0.7.0
type Entry struct { Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` Block uint64 `protobuf:"varint,2,opt,name=block,proto3" json:"block,omitempty"` StaleAt uint64 `protobuf:"varint,3,opt,name=stale_at,json=staleAt,proto3" json:"stale_at,omitempty"` Refcount uint64 `protobuf:"varint,4,opt,name=refcount,proto3" json:"refcount,omitempty"` Data []byte `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` DeleteAt uint64 `protobuf:"varint,6,opt,name=delete_at,json=deleteAt,proto3" json:"delete_at,omitempty"` IsLatest bool `protobuf:"varint,7,opt,name=is_latest,json=isLatest,proto3" json:"is_latest,omitempty"` }
func (*Entry) Descriptor ¶ added in v0.7.0
func (*Entry) GetDeleteAt ¶ added in v0.13.0
func (*Entry) GetIsLatest ¶ added in v0.20.4
func (*Entry) GetRefcount ¶ added in v0.7.0
func (*Entry) GetStaleAt ¶ added in v0.8.1
func (Entry) HasDeleteAt ¶ added in v0.13.0
HasDeleteAt tests whether an entry is marked for deletion, i.e. has entry.Deleted != math.MaxUint64.
func (Entry) IsDeleted ¶ added in v0.13.0
IsDeleted tests whether an entry is currently deleted, i.e. has its entry.DeleteAt below the current ctx block height.
func (Entry) IsDeletedBy ¶ added in v0.13.0
IsDeletedBy tests whether an entry is deleted, with respect to a given block, i.e. has entry.DeletAt smaller or equal to that that block.
func (Entry) IsStale ¶ added in v0.8.1
IsStale tests whether an entry is currently stale, i.e. has refcount zero _and_ has passed its stale_at time (more than STALE_ENTRY_TIME since deletion).
func (Entry) IsStaleBy ¶ added in v0.13.0
IsStaleBy tests whether an entry is stale, i.e. has refcount zero _and_ has passed its stale_at time (more than STALE_ENTRY_TIME since deletion).
func (*Entry) MarshalToSizedBuffer ¶ added in v0.7.0
func (*Entry) ProtoMessage ¶ added in v0.7.0
func (*Entry) ProtoMessage()
func (*Entry) XXX_DiscardUnknown ¶ added in v0.7.0
func (m *Entry) XXX_DiscardUnknown()
func (*Entry) XXX_Marshal ¶ added in v0.7.0
func (*Entry) XXX_Unmarshal ¶ added in v0.7.0
type EnumDecodeHookFuncType ¶ added in v0.20.4
EnumDecodeHookFuncType represents the signature of enum decode hook functions.
func EnumDecodeHook ¶ added in v0.20.4
func EnumDecodeHook(enumType interface{}, enumParser EnumParseFunc) EnumDecodeHookFuncType
EnumDecodeHook decodes an enum value based on the provided enumType.
type EnumParseFunc ¶ added in v0.20.4
EnumParseFunc represents the signature of enum parse functions.
type RawMessage ¶ added in v0.14.1
type RawMessage struct { Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` }
func (*RawMessage) Descriptor ¶ added in v0.14.1
func (*RawMessage) Descriptor() ([]byte, []int)
func (*RawMessage) GetKey ¶ added in v0.14.1
func (m *RawMessage) GetKey() []byte
func (*RawMessage) GetValue ¶ added in v0.14.1
func (m *RawMessage) GetValue() []byte
func (*RawMessage) Marshal ¶ added in v0.14.1
func (m *RawMessage) Marshal() (dAtA []byte, err error)
func (*RawMessage) MarshalTo ¶ added in v0.14.1
func (m *RawMessage) MarshalTo(dAtA []byte) (int, error)
func (*RawMessage) MarshalToSizedBuffer ¶ added in v0.14.1
func (m *RawMessage) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RawMessage) ProtoMessage ¶ added in v0.14.1
func (*RawMessage) ProtoMessage()
func (*RawMessage) Reset ¶ added in v0.14.1
func (m *RawMessage) Reset()
func (*RawMessage) Size ¶ added in v0.14.1
func (m *RawMessage) Size() (n int)
func (*RawMessage) String ¶ added in v0.14.1
func (m *RawMessage) String() string
func (*RawMessage) Unmarshal ¶ added in v0.14.1
func (m *RawMessage) Unmarshal(dAtA []byte) error
func (*RawMessage) XXX_DiscardUnknown ¶ added in v0.14.1
func (m *RawMessage) XXX_DiscardUnknown()
func (*RawMessage) XXX_Marshal ¶ added in v0.14.1
func (m *RawMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RawMessage) XXX_Merge ¶ added in v0.14.1
func (m *RawMessage) XXX_Merge(src proto.Message)
func (*RawMessage) XXX_Size ¶ added in v0.14.1
func (m *RawMessage) XXX_Size() int
func (*RawMessage) XXX_Unmarshal ¶ added in v0.14.1
func (m *RawMessage) XXX_Unmarshal(b []byte) error
type SafeIndex ¶ added in v0.20.0
type SafeIndex string
SafeIndex is a sanitized string, i.e. contains only visible ascii characters (i.e. Ascii 32-126), and terminates with (ascii) DEL; this ensures that an index can never be a prefix of another index.
func SanitizeIndex ¶ added in v0.10.0
sanitizeIndex checks that a string contains only visible ascii characters (i.e. Ascii 32-126), and appends a (ascii) DEL to the index; this ensures that an index can never be a prefix of another index.