types

package
v0.21.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2023 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ASCII_MIN = 32  // min visible ascii
	ASCII_MAX = 126 // max visible ascii
	ASCII_DEL = 127 // ascii for DEL
)
View Source
const (
	STALE_ENTRY_TIME        = 1440 // 1440 blocks (equivalent to 24 hours when block_time = 1min)
	MODULE_NAME      string = "common"
)
View Source
const (
	FixationVersionKey = "Entry_Version"
	EntryIndexPrefix   = "Entry_Index_"
	EntryPrefix        = "Entry_Value_"
)
View Source
const (
	TimerVersionKey = "Timer_Version"
	NextTimerPrefix = "Timer_Next_"
	TimerPrefix     = "Timer_Value_"
)
View Source
const (
	NAME_RESTRICTIONS charRestrictionEnum = "name"
)

Variables

View Source
var (
	ErrInvalidLengthFixationEntry        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowFixationEntry          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupFixationEntry = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	// use single byte to save storage.
	// (value cannot be part of a valid index)
	EntryIndexLive = []byte{1}
	EntryIndexDead = []byte{2}
)
View Source
var (
	ErrInvalidIndex = sdkerrors.Register(MODULE_NAME, 1, "entry index is invalid")
)

x/pairing module sentinel errors

View Source
var NextTimerKey = []string{
	"NextBlock",
	"NextDate",
}
View Source
var TimerTypePrefix = []string{
	"Block_",
	"Time_",
}

Functions

func AssertSanitizedIndex added in v0.10.0

func AssertSanitizedIndex(safeIndex SafeIndex, prefix string)

func DecodeBlockAndKey added in v0.12.0

func DecodeBlockAndKey(encodedKey []byte) (uint64, []byte)

func DecodeKey added in v0.10.0

func DecodeKey(encodedKey []byte) uint64

func DesanitizeIndex added in v0.10.0

func DesanitizeIndex(safeIndex SafeIndex) string

desantizeIndex reverts the effect of SanitizeIndex - removes the trailing (ascii) DEL terminator.

func EncodeBlockAndKey added in v0.12.0

func EncodeBlockAndKey(block uint64, key []byte) []byte

func EncodeKey added in v0.7.0

func EncodeKey(key uint64) []byte

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

func IsEntryIndexLive(value []byte) bool

IsEntryIndexLive tests whether an entry-index is live

func KeyPrefix added in v0.7.0

func KeyPrefix(p string) []byte

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

func SafePow(base, exponent uint64) uint64

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

func ValidateString(s string, restrictType charRestrictionEnum, disallowedChars []rune) bool

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) Descriptor() ([]byte, []int)

func (*Entry) GetBlock added in v0.7.0

func (m *Entry) GetBlock() uint64

func (*Entry) GetData added in v0.7.0

func (m *Entry) GetData() []byte

func (*Entry) GetDeleteAt added in v0.13.0

func (m *Entry) GetDeleteAt() uint64

func (*Entry) GetIndex added in v0.7.0

func (m *Entry) GetIndex() string

func (*Entry) GetIsLatest added in v0.20.4

func (m *Entry) GetIsLatest() bool

func (*Entry) GetRefcount added in v0.7.0

func (m *Entry) GetRefcount() uint64

func (*Entry) GetStaleAt added in v0.8.1

func (m *Entry) GetStaleAt() uint64

func (Entry) HasDeleteAt added in v0.13.0

func (entry Entry) HasDeleteAt() bool

HasDeleteAt tests whether an entry is marked for deletion, i.e. has entry.Deleted != math.MaxUint64.

func (Entry) IsDeleted added in v0.13.0

func (entry Entry) IsDeleted(ctx sdk.Context) bool

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

func (entry Entry) IsDeletedBy(block uint64) bool

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

func (entry Entry) IsStale(ctx sdk.Context) bool

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

func (entry Entry) IsStaleBy(block uint64) bool

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) Marshal added in v0.7.0

func (m *Entry) Marshal() (dAtA []byte, err error)

func (*Entry) MarshalTo added in v0.7.0

func (m *Entry) MarshalTo(dAtA []byte) (int, error)

func (*Entry) MarshalToSizedBuffer added in v0.7.0

func (m *Entry) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Entry) ProtoMessage added in v0.7.0

func (*Entry) ProtoMessage()

func (*Entry) Reset added in v0.7.0

func (m *Entry) Reset()

func (Entry) SafeIndex added in v0.20.0

func (entry Entry) SafeIndex() SafeIndex

SafeIndex returns the entry's index

func (*Entry) Size added in v0.7.0

func (m *Entry) Size() (n int)

func (*Entry) String added in v0.7.0

func (m *Entry) String() string

func (*Entry) Unmarshal added in v0.7.0

func (m *Entry) Unmarshal(dAtA []byte) error

func (*Entry) XXX_DiscardUnknown added in v0.7.0

func (m *Entry) XXX_DiscardUnknown()

func (*Entry) XXX_Marshal added in v0.7.0

func (m *Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Entry) XXX_Merge added in v0.7.0

func (m *Entry) XXX_Merge(src proto.Message)

func (*Entry) XXX_Size added in v0.7.0

func (m *Entry) XXX_Size() int

func (*Entry) XXX_Unmarshal added in v0.7.0

func (m *Entry) XXX_Unmarshal(b []byte) error

type EnumDecodeHookFuncType added in v0.20.4

type EnumDecodeHookFuncType func(f, t reflect.Type, data interface{}) (interface{}, error)

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

type EnumParseFunc func(enumType interface{}, strVal string) (interface{}, error)

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

func SanitizeIndex(index string) (SafeIndex, error)

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.

type TimerType added in v0.10.0

type TimerType int
const (
	BlockHeight TimerType = iota
	BlockTime
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL