database

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StorePrefixMessages             byte = 1
	StorePrefixMessageMetadata      byte = 2
	StorePrefixMilestones           byte = 3
	StorePrefixChildren             byte = 4
	StorePrefixSnapshot             byte = 5
	StorePrefixUnreferencedMessages byte = 6
	StorePrefixIndexation           byte = 7
	//nolint:godot,gocritic
	//StorePrefixUTXODeprecated          byte = 8
	StorePrefixConflictingTransactions byte = 9
	StorePrefixHealth                  byte = 255
)
View Source
const (
	MessageMetadataSolid         = 0
	MessageMetadataReferenced    = 1
	MessageMetadataNoTx          = 2
	MessageMetadataConflictingTx = 3
	MessageMetadataMilestone     = 4
)
View Source
const (
	// ConflictNone the message has no conflict.
	ConflictNone Conflict = iota

	// ConflictInputUTXOAlreadySpent the referenced UTXO was already spent.
	ConflictInputUTXOAlreadySpent = 1

	// ConflictInputUTXOAlreadySpentInThisMilestone the referenced UTXO was already spent while confirming this milestone.
	ConflictInputUTXOAlreadySpentInThisMilestone = 2

	// ConflictInputUTXONotFound the referenced UTXO cannot be found.
	ConflictInputUTXONotFound = 3

	// ConflictInputOutputSumMismatch the sum of the inputs and output values does not match.
	ConflictInputOutputSumMismatch = 4

	// ConflictInvalidSignature the unlock block signature is invalid.
	ConflictInvalidSignature = 5

	// ConflictInvalidDustAllowance the dust allowance for the address is invalid.
	ConflictInvalidDustAllowance = 6

	// ConflictSemanticValidationFailed the semantic validation failed.
	ConflictSemanticValidationFailed = 255
)
View Source
const (
	DBVersion = 1
)
View Source
const (
	IndexationIndexLength = 64
)

Variables

View Source
var (
	ErrMilestoneNotFound = errors.New("milestone not found")
)
View Source
var (
	// ErrOperationAborted is returned when the operation was aborted e.g. by a shutdown signal.
	ErrOperationAborted = errors.New("operation was aborted")
)
View Source
var (
	ErrParseSnapshotInfoFailed = errors.New("Parsing of snapshot info failed")
)

Functions

This section is empty.

Types

type Conflict

type Conflict uint8

Conflict defines the reason why a message is marked as conflicting.

type Database

type Database struct {
	*logger.WrappedLogger
	// contains filtered or unexported fields
}

func New

func New(ctx context.Context, log *logger.Logger, tangleDatabasePath string, utxoDatabasePath string, networkID uint64, skipHealthCheck bool) (*Database, error)

func (*Database) ChildrenMessageIDs

func (db *Database) ChildrenMessageIDs(messageID hornet.MessageID, maxResults int) (hornet.MessageIDs, error)

ChildrenMessageIDs returns the message IDs of the children of the given message.

func (*Database) CloseDatabases

func (db *Database) CloseDatabases() error

func (*Database) ConflictingTransactionsMessageIDs

func (db *Database) ConflictingTransactionsMessageIDs(address iotago.Address, maxResults ...int) (hornet.MessageIDs, error)

ConflictingTransactionsMessageIDs returns the message IDs of conflicting transactions of the given address.

func (*Database) IndexMessageIDs

func (db *Database) IndexMessageIDs(index []byte, maxResults int) (hornet.MessageIDs, error)

IndexMessageIDs returns all known message IDs for the given index.

func (*Database) LatestSyncState

func (db *Database) LatestSyncState() *SyncState

func (*Database) MessageMetadataOrNil

func (db *Database) MessageMetadataOrNil(messageID hornet.MessageID) *MessageMetadata

MessageMetadataOrNil returns a metadata object.

func (*Database) MessageOrNil

func (db *Database) MessageOrNil(messageID hornet.MessageID) *Message

MessageOrNil returns a message object.

func (*Database) MilestoneOrNil

func (db *Database) MilestoneOrNil(milestoneIndex milestone.Index) *Milestone

MilestoneOrNil returns a milestone object.

func (*Database) MilestoneTimestampUnixByIndex

func (db *Database) MilestoneTimestampUnixByIndex(milestoneIndex milestone.Index) (int64, error)

MilestoneTimestampUnixByIndex returns the unix timestamp of a milestone.

func (*Database) PrintSnapshotInfo

func (db *Database) PrintSnapshotInfo()

func (*Database) UTXOManager

func (db *Database) UTXOManager() *utxo.Manager

type Message

type Message struct {
	objectstorage.StorableObjectFlags
	// contains filtered or unexported fields
}

func (*Message) Data

func (msg *Message) Data() []byte

func (*Message) Message

func (msg *Message) Message() *iotago.Message

func (*Message) Milestone added in v1.0.2

func (msg *Message) Milestone() *iotago.Milestone

func (*Message) Transaction

func (msg *Message) Transaction() *iotago.Transaction

func (*Message) TransactionEssence

func (msg *Message) TransactionEssence() *iotago.TransactionEssence

type MessageMetadata

type MessageMetadata struct {
	// contains filtered or unexported fields
}

func (*MessageMetadata) Conflict

func (m *MessageMetadata) Conflict() Conflict

func (*MessageMetadata) IsConflictingTx

func (m *MessageMetadata) IsConflictingTx() bool

func (*MessageMetadata) IsIncludedTxInLedger

func (m *MessageMetadata) IsIncludedTxInLedger() bool

func (*MessageMetadata) IsMilestone

func (m *MessageMetadata) IsMilestone() bool

func (*MessageMetadata) IsNoTransaction

func (m *MessageMetadata) IsNoTransaction() bool

func (*MessageMetadata) IsReferenced

func (m *MessageMetadata) IsReferenced() bool

func (*MessageMetadata) IsSolid

func (m *MessageMetadata) IsSolid() bool

func (*MessageMetadata) MessageID

func (m *MessageMetadata) MessageID() hornet.MessageID

func (*MessageMetadata) Metadata

func (m *MessageMetadata) Metadata() byte

func (*MessageMetadata) Parents

func (m *MessageMetadata) Parents() hornet.MessageIDs

func (*MessageMetadata) ReferencedWithIndex

func (m *MessageMetadata) ReferencedWithIndex() (bool, milestone.Index)

type Milestone

type Milestone struct {
	Index     milestone.Index
	MessageID hornet.MessageID
	Timestamp time.Time
}

type SnapshotInfo

type SnapshotInfo struct {
	NetworkID       uint64
	SnapshotIndex   milestone.Index
	EntryPointIndex milestone.Index
	PruningIndex    milestone.Index
	Timestamp       time.Time
	Metadata        bitmask.BitMask
}

type SyncState

type SyncState struct {
	LatestMilestoneIndex     milestone.Index
	LatestMilestoneTimestamp int64
	ConfirmedMilestoneIndex  milestone.Index
	PruningIndex             milestone.Index
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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