Documentation ¶
Index ¶
- Constants
- Variables
- func ApplyLedgerDiffWithoutLocking(diff map[string]int64, index milestone.Index) error
- func BundleCaller(handler interface{}, params ...interface{})
- func CheckIfMilestone(bndl *Bundle) (result bool, err error)
- func CleanupDatabases() error
- func CloseDatabases() error
- func ConfigureDatabases(directory string)
- func ConfigureMilestones(cooAddr hornet.Hash, cooSecLvl int, cooMerkleTreeDepth uint64, ...)
- func ConfigureStorages(tangleStore kvstore.KVStore, snapshotStore kvstore.KVStore, ...)
- func ContainsBundle(tailTxHash hornet.Hash) bool
- func ContainsBundleTransaction(bundleHash hornet.Hash, txHash hornet.Hash, isTail bool) bool
- func ContainsMilestone(milestoneIndex milestone.Index) bool
- func ContainsTransaction(txHash hornet.Hash) bool
- func DatabaseSupportsCleanup() bool
- func DeleteAddress(address hornet.Hash, txHash hornet.Hash)
- func DeleteApprover(txHash hornet.Hash, approverHash hornet.Hash)
- func DeleteApprovers(txHash hornet.Hash)
- func DeleteBundle(tailTxHash hornet.Hash)
- func DeleteBundleTransaction(bundleHash hornet.Hash, txHash hornet.Hash, isTail bool)
- func DeleteLedgerDiffForMilestone(index milestone.Index) error
- func DeleteMilestone(milestoneIndex milestone.Index)
- func DeleteTag(txTag hornet.Hash, txHash hornet.Hash)
- func DeleteTransaction(txHash hornet.Hash)
- func DeleteUnconfirmedTxs(msIndex milestone.Index)
- func FlushAddressStorage()
- func FlushApproversStorage()
- func FlushBundleStorage()
- func FlushBundleTransactionsStorage()
- func FlushMilestoneStorage()
- func FlushTagsStorage()
- func FlushTransactionStorage()
- func FlushUnconfirmedTxsStorage()
- func ForEachMilestoneIndex(consumer MilestoneIndexConsumer)
- func ForEachTransaction(consumer TransactionConsumer)
- func ForEachTransactionHash(consumer TransactionHashBytesConsumer)
- func GetAddressesStorageSize() int
- func GetAllSnapshotBalances(abortSignal <-chan struct{}) (map[string]uint64, milestone.Index, error)
- func GetApproverHashes(txHash hornet.Hash, forceRelease bool, maxFind ...int) hornet.Hashes
- func GetApproversStorageSize() int
- func GetBalanceForAddress(address hornet.Hash) (uint64, milestone.Index, error)
- func GetBalanceForAddressWithoutLocking(address hornet.Hash) (uint64, milestone.Index, error)
- func GetBundleStorageSize() int
- func GetBundleTailTransactionHashes(bundleHash hornet.Hash, forceRelease bool, maxFind ...int) hornet.Hashes
- func GetBundleTransactionHashes(bundleHash hornet.Hash, forceRelease bool, maxFind ...int) hornet.Hashes
- func GetBundleTransactionsStorageSize() int
- func GetDatabaseSizes() (tangle int64, snapshot int64, spent int64)
- func GetLatestMilestoneIndex() milestone.Index
- func GetLatestSeenMilestoneIndexFromSnapshot() milestone.Index
- func GetLedgerDiffForMilestone(index milestone.Index, abortSignal <-chan struct{}) (map[string]int64, error)
- func GetLedgerDiffForMilestoneWithoutLocking(index milestone.Index, abortSignal <-chan struct{}) (map[string]int64, error)
- func GetLedgerStateForLSMI(abortSignal <-chan struct{}) (map[string]uint64, milestone.Index, error)
- func GetLedgerStateForLSMIWithoutLocking(abortSignal <-chan struct{}) (map[string]uint64, milestone.Index, error)
- func GetLedgerStateForMilestone(targetIndex milestone.Index, abortSignal <-chan struct{}) (map[string]uint64, milestone.Index, error)
- func GetLedgerStateForMilestoneWithoutLocking(targetIndex milestone.Index, abortSignal <-chan struct{}) (map[string]uint64, milestone.Index, error)
- func GetMilestoneMerkleHashFunc() crypto.Hash
- func GetMilestoneStorageSize() int
- func GetSolidMilestoneIndex() milestone.Index
- func GetSpentAddressesStorageSize() int
- func GetStoredMetadataOrNil(txHash hornet.Hash) *hornet.TransactionMetadata
- func GetStoredTransactionOrNil(txHash hornet.Hash) *hornet.Transaction
- func GetTagHashes(txTag hornet.Hash, forceRelease bool, maxFind ...int) hornet.Hashes
- func GetTagsStorageSize() int
- func GetTransactionHashesForAddress(address hornet.Hash, valueOnly bool, forceRelease bool, maxFind ...int) hornet.Hashes
- func GetTransactionStorageSize() int
- func GetUnconfirmedTxHashes(msIndex milestone.Index, forceRelease bool) hornet.Hashes
- func GetUnconfirmedTxStorageSize() int
- func IsCorrectDatabaseVersion() bool
- func IsDatabaseCorrupted() bool
- func IsMaybeMilestone(cachedTx *CachedTransaction) bool
- func IsMaybeMilestoneTx(cachedTx *CachedTransaction) bool
- func IsNodeSynced() bool
- func IsNodeSyncedWithThreshold() bool
- func LoadInitialValuesFromDatabase()
- func MarkAddressAsSpent(address hornet.Hash) bool
- func MarkAddressAsSpentWithoutLocking(address hornet.Hash) bool
- func MarkDatabaseCorrupted()
- func MarkDatabaseHealthy()
- func NewTransactionCaller(handler interface{}, params ...interface{})
- func OnTailTransactionSolid(cachedTx *CachedTransaction)
- func OverwriteSolidMilestoneIndex(index milestone.Index)
- func ReadLockLedger()
- func ReadLockSolidEntryPoints()
- func ReadLockSpentAddresses()
- func ReadUnlockLedger()
- func ReadUnlockSolidEntryPoints()
- func ReadUnlockSpentAddresses()
- func RemoveTransactionFromBundle(tx *hornet.Transaction) map[string]struct{}
- func ResetSolidEntryPoints()
- func SearchLatestMilestoneIndexInStore() milestone.Index
- func SetLatestMilestoneIndex(index milestone.Index, updateSynced ...bool) bool
- func SetLatestSeenMilestoneIndexFromSnapshot(milestoneIndex milestone.Index)
- func SetSnapshotInfo(sn *SnapshotInfo)
- func SetSnapshotMilestone(coordinatorAddress hornet.Hash, milestoneHash hornet.Hash, ...)
- func SetSolidMilestoneIndex(index milestone.Index, updateSynced ...bool)
- func ShutdownAddressStorage()
- func ShutdownApproversStorage()
- func ShutdownBundleStorage()
- func ShutdownBundleTransactionsStorage()
- func ShutdownMilestoneStorage()
- func ShutdownSpentAddressesStorage()
- func ShutdownStorages()
- func ShutdownTagsStorage()
- func ShutdownTransactionStorage()
- func ShutdownUnconfirmedTxsStorage()
- func SolidEntryPointsAdd(txHash hornet.Hash, milestoneIndex milestone.Index)
- func SolidEntryPointsContain(txHash hornet.Hash) bool
- func SolidEntryPointsIndex(txHash hornet.Hash) (milestone.Index, bool)
- func StoreLedgerBalancesInDatabase(balances map[string]uint64, index milestone.Index) error
- func StoreSnapshotBalancesInDatabase(balances map[string]uint64, index milestone.Index) error
- func StoreSolidEntryPoints()
- func StreamSpentAddressesToWriter(buf io.Writer, abortSignal <-chan struct{}) (int32, error)
- func TransactionCaller(handler interface{}, params ...interface{})
- func TransactionConfirmedCaller(handler interface{}, params ...interface{})
- func TransactionHashCaller(handler interface{}, params ...interface{})
- func WasAddressSpentFrom(address hornet.Hash) bool
- func WriteLockLedger()
- func WriteLockSolidEntryPoints()
- func WriteLockSpentAddresses()
- func WriteUnlockLedger()
- func WriteUnlockSolidEntryPoints()
- func WriteUnlockSpentAddresses()
- type Bundle
- func (bundle *Bundle) ApplySpentAddresses()
- func (bundle *Bundle) GetBranch(forceRelease bool) hornet.Hash
- func (bundle *Bundle) GetBundleHash() hornet.Hash
- func (bundle *Bundle) GetHead() *CachedTransaction
- func (bundle *Bundle) GetLedgerChanges() map[string]int64
- func (bundle *Bundle) GetMetadata() byte
- func (bundle *Bundle) GetMilestoneHash() hornet.Hash
- func (bundle *Bundle) GetMilestoneIndex() milestone.Index
- func (bundle *Bundle) GetMilestoneMerkleTreeHash() []byte
- func (bundle *Bundle) GetTail() *CachedTransaction
- func (bundle *Bundle) GetTailHash() hornet.Hash
- func (bundle *Bundle) GetTransactions() CachedTransactions
- func (bundle *Bundle) GetTrunk(forceRelease bool) hornet.Hash
- func (bundle *Bundle) GetTxHashes() hornet.Hashes
- func (bundle *Bundle) IsConfirmed() bool
- func (bundle *Bundle) IsConflicting() bool
- func (bundle *Bundle) IsInvalidPastCone() bool
- func (bundle *Bundle) IsMilestone() bool
- func (bundle *Bundle) IsSolid() bool
- func (bundle *Bundle) IsValid() bool
- func (bundle *Bundle) IsValueSpam() bool
- func (bundle *Bundle) ObjectStorageKey() []byte
- func (bundle *Bundle) ObjectStorageValue() (data []byte)
- func (bundle *Bundle) SetInvalidPastCone(invalidPastCone bool)
- func (bundle *Bundle) UnmarshalObjectStorageValue(data []byte) (consumedBytes int, err error)
- func (bundle *Bundle) Update(_ objectstorage.StorableObject)
- func (bundle *Bundle) ValidStrictSemantics() bool
- type BundleTransaction
- func (bt *BundleTransaction) GetBundleHash() hornet.Hash
- func (bt *BundleTransaction) GetTxHash() hornet.Hash
- func (bt *BundleTransaction) ObjectStorageKey() []byte
- func (bt *BundleTransaction) ObjectStorageValue() (_ []byte)
- func (bt *BundleTransaction) UnmarshalObjectStorageValue(_ []byte) (consumedBytes int, err error)
- func (bt *BundleTransaction) Update(_ objectstorage.StorableObject)
- type CachedAddress
- type CachedAddresses
- type CachedAppprovers
- type CachedApprover
- type CachedBundle
- type CachedBundleTransaction
- type CachedBundleTransactions
- type CachedBundles
- type CachedMilestone
- type CachedSpentAddress
- type CachedTag
- type CachedTags
- type CachedTransaction
- func AddTransactionToStorage(hornetTx *hornet.Transaction, latestMilestoneIndex milestone.Index, ...) (cachedTx *CachedTransaction, alreadyAdded bool)
- func GetCachedTransactionOrNil(txHash hornet.Hash) *CachedTransaction
- func StoreTransactionIfAbsent(transaction *hornet.Transaction) (cachedTx *CachedTransaction, newlyAdded bool)
- func (c *CachedTransaction) ConsumeTransaction(consumer func(*hornet.Transaction, *hornet.TransactionMetadata))
- func (c *CachedTransaction) Exists() bool
- func (c *CachedTransaction) GetMetadata() *hornet.TransactionMetadata
- func (c *CachedTransaction) GetTransaction() *hornet.Transaction
- func (c *CachedTransaction) Release(force ...bool)
- func (c *CachedTransaction) Retain() *CachedTransaction
- type CachedTransactions
- type CachedUnconfirmedTx
- type CachedUnconfirmedTxs
- type ErrDatabaseError
- type Milestone
- type MilestoneIndexConsumer
- type SnapshotInfo
- type TransactionConsumer
- type TransactionHashBytesConsumer
Constants ¶
const ( MetadataSolid = 0 MetadataValid = 1 MetadataConfirmed = 2 MetadataIsMilestone = 3 MetadataIsValueSpam = 4 MetadataValidStrictSemantics = 5 MetadataConflicting = 6 MetadataInvalidPastCone = 7 )
const ( StorePrefixHealth byte = 0 StorePrefixTransactions byte = 1 StorePrefixTransactionMetadata byte = 2 StorePrefixBundleTransactions byte = 3 StorePrefixBundles byte = 4 StorePrefixAddresses byte = 5 StorePrefixMilestones byte = 6 StorePrefixLedgerState byte = 7 StorePrefixLedgerBalance byte = 8 StorePrefixLedgerDiff byte = 9 StorePrefixApprovers byte = 10 StorePrefixTags byte = 11 StorePrefixSnapshot byte = 12 StorePrefixSnapshotLedger byte = 13 StorePrefixUnconfirmedTransactions byte = 14 StorePrefixSpentAddresses byte = 15 StorePrefixAutopeering byte = 16 )
const ( TangleDbFilename = "tangle.db" SnapshotDbFilename = "snapshot.db" SpentAddressesDbFilename = "spent.db" )
const (
BundleTxIsTail = 1
)
const (
DbVersion = 1
)
const (
SnapshotMetadataSpentAddressesEnabled = 0
)
Variables ¶
var ( // ErrOperationAborted is returned when the operation was aborted e.g. by a shutdown signal. ErrOperationAborted = errors.New("operation was aborted") // ErrTransactionNotFound is returned when a transaction was not found. ErrTransactionNotFound = errors.New("transaction not found") // ErrNodeNotSynced is returned when the node is not synchronized. ErrNodeNotSynced = errors.New("node is not synchronized") )
var ( ErrSolidEntryPointsAlreadyInitialized = errors.New("solidEntryPoints already initialized") ErrSolidEntryPointsNotInitialized = errors.New("solidEntryPoints not initialized") )
var (
ErrInvalidMilestone = errors.New("invalid milestone")
)
var (
ErrNothingToCleanUp = errors.New("Nothing to clean up in the databases")
)
var (
ErrParseSnapshotInfoFailed = errors.New("Parsing of snapshot info failed")
)
var Events = packageEvents{ ReceivedValidMilestone: events.NewEvent(BundleCaller), ReceivedInvalidMilestone: events.NewEvent(events.ErrorCaller), AddressSpent: events.NewEvent(events.StringCaller), }
Functions ¶
func ApplyLedgerDiffWithoutLocking ¶
ApplyLedgerDiffWithoutLocking applies the changes to the ledger. WriteLockLedger must be held while entering this function.
func BundleCaller ¶
func BundleCaller(handler interface{}, params ...interface{})
func CheckIfMilestone ¶
func CleanupDatabases ¶
func CleanupDatabases() error
func CloseDatabases ¶
func CloseDatabases() error
func ConfigureDatabases ¶
func ConfigureDatabases(directory string)
func ConfigureMilestones ¶
func ConfigureStorages ¶ added in v0.5.0
func ContainsBundleTransaction ¶
bundleTx +-0
func DatabaseSupportsCleanup ¶
func DatabaseSupportsCleanup() bool
func DeleteApprover ¶
approvers +-0
func DeleteBundleTransaction ¶
bundleTx +-0
func DeleteUnconfirmedTxs ¶
DeleteUnconfirmedTxs deletes unconfirmed transaction entries.
func FlushAddressStorage ¶
func FlushAddressStorage()
func FlushApproversStorage ¶
func FlushApproversStorage()
func FlushBundleStorage ¶
func FlushBundleStorage()
func FlushBundleTransactionsStorage ¶
func FlushBundleTransactionsStorage()
func FlushMilestoneStorage ¶
func FlushMilestoneStorage()
func FlushTagsStorage ¶
func FlushTagsStorage()
func FlushTransactionStorage ¶
func FlushTransactionStorage()
func FlushUnconfirmedTxsStorage ¶
func FlushUnconfirmedTxsStorage()
func ForEachMilestoneIndex ¶
func ForEachMilestoneIndex(consumer MilestoneIndexConsumer)
ForEachMilestoneIndex loops though all milestones in the persistence layer.
func ForEachTransaction ¶
func ForEachTransaction(consumer TransactionConsumer)
func ForEachTransactionHash ¶
func ForEachTransactionHash(consumer TransactionHashBytesConsumer)
ForEachTransactionHash loops over all transaction hashes.
func GetAddressesStorageSize ¶
func GetAddressesStorageSize() int
func GetAllSnapshotBalances ¶
func GetAllSnapshotBalances(abortSignal <-chan struct{}) (map[string]uint64, milestone.Index, error)
GetAllSnapshotBalances returns all balances for the snapshot milestone.
func GetApproverHashes ¶
approvers +-0
func GetApproversStorageSize ¶
func GetApproversStorageSize() int
func GetBalanceForAddress ¶
func GetBundleStorageSize ¶
func GetBundleStorageSize() int
func GetBundleTailTransactionHashes ¶
func GetBundleTailTransactionHashes(bundleHash hornet.Hash, forceRelease bool, maxFind ...int) hornet.Hashes
bundleTx +1
func GetBundleTransactionHashes ¶
func GetBundleTransactionHashes(bundleHash hornet.Hash, forceRelease bool, maxFind ...int) hornet.Hashes
bundleTx +-0
func GetBundleTransactionsStorageSize ¶
func GetBundleTransactionsStorageSize() int
func GetDatabaseSizes ¶
GetDatabaseSizes returns the size of the different databases.
func GetLatestMilestoneIndex ¶
GetLatestMilestoneIndex returns the latest milestone index.
func GetLedgerDiffForMilestoneWithoutLocking ¶
func GetLedgerDiffForMilestoneWithoutLocking(index milestone.Index, abortSignal <-chan struct{}) (map[string]int64, error)
GetLedgerDiffForMilestoneWithoutLocking returns the ledger changes of that specific milestone. ReadLockLedger must be held while entering this function.
func GetLedgerStateForLSMI ¶
GetLedgerStateForLSMI returns all balances for the current solid milestone.
func GetLedgerStateForLSMIWithoutLocking ¶
func GetLedgerStateForLSMIWithoutLocking(abortSignal <-chan struct{}) (map[string]uint64, milestone.Index, error)
GetLedgerStateForLSMIWithoutLocking returns all balances for the current solid milestone. ReadLockLedger must be held while entering this function.
func GetMilestoneMerkleHashFunc ¶ added in v0.5.0
func GetMilestoneStorageSize ¶
func GetMilestoneStorageSize() int
func GetSolidMilestoneIndex ¶
GetSolidMilestoneIndex returns the latest solid milestone index.
func GetSpentAddressesStorageSize ¶
func GetSpentAddressesStorageSize() int
func GetStoredMetadataOrNil ¶
func GetStoredMetadataOrNil(txHash hornet.Hash) *hornet.TransactionMetadata
GetStoredMetadataOrNil returns a metadata object without accessing the cache layer.
func GetStoredTransactionOrNil ¶
func GetStoredTransactionOrNil(txHash hornet.Hash) *hornet.Transaction
GetStoredTransactionOrNil returns a transaction object without accessing the cache layer.
func GetTagHashes ¶
tag +-0
func GetTagsStorageSize ¶
func GetTagsStorageSize() int
func GetTransactionHashesForAddress ¶
func GetTransactionHashesForAddress(address hornet.Hash, valueOnly bool, forceRelease bool, maxFind ...int) hornet.Hashes
address +-0
func GetTransactionStorageSize ¶
func GetTransactionStorageSize() int
func GetUnconfirmedTxHashes ¶
GetUnconfirmedTxHashes returns all hashes of unconfirmed transactions for that milestone.
func GetUnconfirmedTxStorageSize ¶
func GetUnconfirmedTxStorageSize() int
func IsCorrectDatabaseVersion ¶
func IsCorrectDatabaseVersion() bool
func IsDatabaseCorrupted ¶
func IsDatabaseCorrupted() bool
func IsMaybeMilestone ¶
func IsMaybeMilestone(cachedTx *CachedTransaction) bool
Checks if the the tx could be part of a milestone.
func IsMaybeMilestoneTx ¶
func IsMaybeMilestoneTx(cachedTx *CachedTransaction) bool
Checks if the the tx could be part of a milestone.
func IsNodeSyncedWithThreshold ¶
func IsNodeSyncedWithThreshold() bool
IsNodeSyncedWithThreshold returns whether the node is synced within a certain threshold.
func LoadInitialValuesFromDatabase ¶
func LoadInitialValuesFromDatabase()
func MarkAddressAsSpentWithoutLocking ¶
spentAddress +-0
func MarkDatabaseCorrupted ¶
func MarkDatabaseCorrupted()
func MarkDatabaseHealthy ¶
func MarkDatabaseHealthy()
func NewTransactionCaller ¶
func NewTransactionCaller(handler interface{}, params ...interface{})
func OnTailTransactionSolid ¶
func OnTailTransactionSolid(cachedTx *CachedTransaction)
Create a new bundle instance as soon as a tailTx gets solid
func OverwriteSolidMilestoneIndex ¶
OverwriteSolidMilestoneIndex is used to set older solid milestones (revalidation).
func ReadLockLedger ¶
func ReadLockLedger()
func ReadLockSolidEntryPoints ¶
func ReadLockSolidEntryPoints()
func ReadLockSpentAddresses ¶
func ReadLockSpentAddresses()
func ReadUnlockLedger ¶
func ReadUnlockLedger()
func ReadUnlockSolidEntryPoints ¶
func ReadUnlockSolidEntryPoints()
func ReadUnlockSpentAddresses ¶
func ReadUnlockSpentAddresses()
func RemoveTransactionFromBundle ¶
func RemoveTransactionFromBundle(tx *hornet.Transaction) map[string]struct{}
RemoveTransactionFromBundle removes the transaction if non-tail and not associated to a bundle instance or if tail, it removes all the transactions of the bundle from the storage that are not used in another bundle instance.
func ResetSolidEntryPoints ¶
func ResetSolidEntryPoints()
WriteLockSolidEntryPoints must be held while entering this function
func SearchLatestMilestoneIndexInStore ¶
SearchLatestMilestoneIndexInStore searches the latest milestone without accessing the cache layer.
func SetLatestMilestoneIndex ¶
SetLatestMilestoneIndex sets the latest milestone index.
func SetSnapshotInfo ¶
func SetSnapshotInfo(sn *SnapshotInfo)
func SetSnapshotMilestone ¶
func SetSolidMilestoneIndex ¶
SetSolidMilestoneIndex sets the solid milestone index.
func ShutdownAddressStorage ¶
func ShutdownAddressStorage()
func ShutdownApproversStorage ¶
func ShutdownApproversStorage()
func ShutdownBundleStorage ¶
func ShutdownBundleStorage()
func ShutdownBundleTransactionsStorage ¶
func ShutdownBundleTransactionsStorage()
func ShutdownMilestoneStorage ¶
func ShutdownMilestoneStorage()
func ShutdownSpentAddressesStorage ¶
func ShutdownSpentAddressesStorage()
func ShutdownStorages ¶ added in v0.5.0
func ShutdownStorages()
func ShutdownTagsStorage ¶
func ShutdownTagsStorage()
func ShutdownTransactionStorage ¶
func ShutdownTransactionStorage()
func ShutdownUnconfirmedTxsStorage ¶
func ShutdownUnconfirmedTxsStorage()
func SolidEntryPointsAdd ¶
WriteLockSolidEntryPoints must be held while entering this function
func SolidEntryPointsContain ¶
func SolidEntryPointsIndex ¶ added in v0.4.1
func StoreSnapshotBalancesInDatabase ¶
StoreSnapshotBalancesInDatabase deletes all old entries and stores the ledger state of the snapshot index
func StoreSolidEntryPoints ¶
func StoreSolidEntryPoints()
WriteLockSolidEntryPoints must be held while entering this function
func StreamSpentAddressesToWriter ¶
StreamSpentAddressesToWriter streams all spent addresses directly to an io.Writer.
func TransactionCaller ¶
func TransactionCaller(handler interface{}, params ...interface{})
func TransactionConfirmedCaller ¶
func TransactionConfirmedCaller(handler interface{}, params ...interface{})
func TransactionHashCaller ¶ added in v0.4.1
func TransactionHashCaller(handler interface{}, params ...interface{})
func WriteLockLedger ¶
func WriteLockLedger()
func WriteLockSolidEntryPoints ¶
func WriteLockSolidEntryPoints()
func WriteLockSpentAddresses ¶
func WriteLockSpentAddresses()
func WriteUnlockLedger ¶
func WriteUnlockLedger()
func WriteUnlockSolidEntryPoints ¶
func WriteUnlockSolidEntryPoints()
func WriteUnlockSpentAddresses ¶
func WriteUnlockSpentAddresses()
Types ¶
type Bundle ¶
type Bundle struct { objectstorage.StorableObjectFlags syncutils.RWMutex // contains filtered or unexported fields }
Storable Object
func (*Bundle) ApplySpentAddresses ¶
func (bundle *Bundle) ApplySpentAddresses()
func (*Bundle) GetBundleHash ¶
func (*Bundle) GetHead ¶
func (bundle *Bundle) GetHead() *CachedTransaction
func (*Bundle) GetLedgerChanges ¶
func (*Bundle) GetMetadata ¶
func (*Bundle) GetMilestoneHash ¶
func (*Bundle) GetMilestoneIndex ¶
func (*Bundle) GetMilestoneMerkleTreeHash ¶ added in v0.5.0
func (*Bundle) GetTail ¶
func (bundle *Bundle) GetTail() *CachedTransaction
func (*Bundle) GetTailHash ¶
func (*Bundle) GetTransactions ¶
func (bundle *Bundle) GetTransactions() CachedTransactions
func (*Bundle) GetTxHashes ¶
func (*Bundle) IsConfirmed ¶
func (*Bundle) IsConflicting ¶ added in v0.5.0
func (*Bundle) IsInvalidPastCone ¶ added in v0.5.0
func (*Bundle) IsMilestone ¶
func (*Bundle) IsValueSpam ¶
func (*Bundle) ObjectStorageKey ¶
func (*Bundle) ObjectStorageValue ¶
func (*Bundle) SetInvalidPastCone ¶ added in v0.5.0
func (*Bundle) UnmarshalObjectStorageValue ¶
func (*Bundle) Update ¶
func (bundle *Bundle) Update(_ objectstorage.StorableObject)
ObjectStorage interface
func (*Bundle) ValidStrictSemantics ¶
type BundleTransaction ¶
type BundleTransaction struct { objectstorage.StorableObjectFlags // Key BundleHash []byte IsTail bool TxHash []byte }
Storable Object
func (*BundleTransaction) GetBundleHash ¶
func (bt *BundleTransaction) GetBundleHash() hornet.Hash
func (*BundleTransaction) GetTxHash ¶
func (bt *BundleTransaction) GetTxHash() hornet.Hash
func (*BundleTransaction) ObjectStorageKey ¶
func (bt *BundleTransaction) ObjectStorageKey() []byte
func (*BundleTransaction) ObjectStorageValue ¶
func (bt *BundleTransaction) ObjectStorageValue() (_ []byte)
func (*BundleTransaction) UnmarshalObjectStorageValue ¶
func (bt *BundleTransaction) UnmarshalObjectStorageValue(_ []byte) (consumedBytes int, err error)
func (*BundleTransaction) Update ¶
func (bt *BundleTransaction) Update(_ objectstorage.StorableObject)
ObjectStorage interface
type CachedAddress ¶
type CachedAddress struct {
objectstorage.CachedObject
}
func StoreAddress ¶
address +1
func (*CachedAddress) GetAddress ¶
func (c *CachedAddress) GetAddress() *hornet.Address
type CachedAddresses ¶
type CachedAddresses []*CachedAddress
func (CachedAddresses) Release ¶
func (cachedAddresses CachedAddresses) Release(force ...bool)
type CachedAppprovers ¶
type CachedAppprovers []*CachedApprover
func (CachedAppprovers) Release ¶
func (cachedApprovers CachedAppprovers) Release(force ...bool)
type CachedApprover ¶
type CachedApprover struct {
objectstorage.CachedObject
}
func StoreApprover ¶
func StoreApprover(txHash hornet.Hash, approverHash hornet.Hash) *CachedApprover
approvers +1
func (*CachedApprover) GetApprover ¶
func (c *CachedApprover) GetApprover() *hornet.Approver
type CachedBundle ¶
type CachedBundle struct {
objectstorage.CachedObject
}
Cached Object
func FindClosestNextMilestoneOrNil ¶
func FindClosestNextMilestoneOrNil(index milestone.Index) *CachedBundle
bundle +1
func GetCachedBundleOrNil ¶
func GetCachedBundleOrNil(tailTxHash hornet.Hash) *CachedBundle
bundle +1
func GetMilestoneOrNil ¶
func GetMilestoneOrNil(milestoneIndex milestone.Index) *CachedBundle
GetMilestoneOrNil returns the CachedBundle of a milestone index or nil if it doesn't exist. bundle +1
func (*CachedBundle) ConsumeBundle ¶
func (c *CachedBundle) ConsumeBundle(consumer func(*Bundle))
func (*CachedBundle) GetBundle ¶
func (c *CachedBundle) GetBundle() *Bundle
func (*CachedBundle) Retain ¶
func (c *CachedBundle) Retain() *CachedBundle
type CachedBundleTransaction ¶
type CachedBundleTransaction struct {
objectstorage.CachedObject
}
Cached Object
func GetCachedBundleTransactionOrNil ¶
func GetCachedBundleTransactionOrNil(bundleHash hornet.Hash, txHash hornet.Hash, isTail bool) *CachedBundleTransaction
bundleTx +1
func StoreBundleTransaction ¶
func StoreBundleTransaction(bundleHash hornet.Hash, txHash hornet.Hash, isTail bool) *CachedBundleTransaction
bundleTx +1
func (*CachedBundleTransaction) GetBundleTransaction ¶
func (c *CachedBundleTransaction) GetBundleTransaction() *BundleTransaction
type CachedBundleTransactions ¶
type CachedBundleTransactions []*CachedBundleTransaction
func (CachedBundleTransactions) Release ¶
func (cachedBundleTransactions CachedBundleTransactions) Release(force ...bool)
func (CachedBundleTransactions) Retain ¶
func (cachedBundleTransactions CachedBundleTransactions) Retain() CachedBundleTransactions
type CachedBundles ¶
type CachedBundles []*CachedBundle
func GetBundles ¶
func GetBundles(bundleHash hornet.Hash, forceRelease bool, maxFind ...int) CachedBundles
GetBundles returns all existing bundle instances for that bundle hash bundle +1
func GetBundlesOfTransactionOrNil ¶
func GetBundlesOfTransactionOrNil(txHash hornet.Hash, forceRelease bool) CachedBundles
GetBundlesOfTransactionOrNil gets all bundle instances in which this transaction is present. A transaction can be in multiple bundle instances simultaneously due to the nature of reattached transactions being able to form infinite amount of bundles which attach to the same underlying bundle transaction. For example it is possible to reattach a bundle's tail transaction directly "on top" of the origin one. bundle +1
func (CachedBundles) Release ¶
func (cachedBundles CachedBundles) Release(force ...bool)
func (CachedBundles) Retain ¶
func (cachedBundles CachedBundles) Retain() CachedBundles
type CachedMilestone ¶
type CachedMilestone struct {
objectstorage.CachedObject
}
Cached Object
func GetCachedMilestoneOrNil ¶
func GetCachedMilestoneOrNil(milestoneIndex milestone.Index) *CachedMilestone
milestone +1
func (*CachedMilestone) GetMilestone ¶
func (c *CachedMilestone) GetMilestone() *Milestone
type CachedSpentAddress ¶
type CachedSpentAddress struct {
objectstorage.CachedObject
}
func (*CachedSpentAddress) GetSpentAddress ¶
func (c *CachedSpentAddress) GetSpentAddress() *hornet.SpentAddress
type CachedTag ¶
type CachedTag struct {
objectstorage.CachedObject
}
type CachedTags ¶
type CachedTags []*CachedTag
type CachedTransaction ¶
type CachedTransaction struct {
// contains filtered or unexported fields
}
CachedTransaction contains two cached objects, one for transaction data and one for metadata.
func AddTransactionToStorage ¶
func AddTransactionToStorage(hornetTx *hornet.Transaction, latestMilestoneIndex milestone.Index, requested bool, forceRelease bool, reapply bool) (cachedTx *CachedTransaction, alreadyAdded bool)
tx +1
func GetCachedTransactionOrNil ¶
func GetCachedTransactionOrNil(txHash hornet.Hash) *CachedTransaction
tx +1
func StoreTransactionIfAbsent ¶
func StoreTransactionIfAbsent(transaction *hornet.Transaction) (cachedTx *CachedTransaction, newlyAdded bool)
tx +1
func (*CachedTransaction) ConsumeTransaction ¶
func (c *CachedTransaction) ConsumeTransaction(consumer func(*hornet.Transaction, *hornet.TransactionMetadata))
tx -1
func (*CachedTransaction) Exists ¶
func (c *CachedTransaction) Exists() bool
func (*CachedTransaction) GetMetadata ¶
func (c *CachedTransaction) GetMetadata() *hornet.TransactionMetadata
func (*CachedTransaction) GetTransaction ¶
func (c *CachedTransaction) GetTransaction() *hornet.Transaction
type CachedTransactions ¶
type CachedTransactions []*CachedTransaction
func (CachedTransactions) Release ¶
func (cachedTxs CachedTransactions) Release(force ...bool)
tx -1
func (CachedTransactions) Retain ¶
func (cachedTxs CachedTransactions) Retain() CachedTransactions
tx +1
type CachedUnconfirmedTx ¶
type CachedUnconfirmedTx struct {
objectstorage.CachedObject
}
func StoreUnconfirmedTx ¶
func StoreUnconfirmedTx(msIndex milestone.Index, txHash hornet.Hash) *CachedUnconfirmedTx
unconfirmedTx +1
func (*CachedUnconfirmedTx) GetUnconfirmedTx ¶
func (c *CachedUnconfirmedTx) GetUnconfirmedTx() *hornet.UnconfirmedTx
type CachedUnconfirmedTxs ¶
type CachedUnconfirmedTxs []*CachedUnconfirmedTx
func (CachedUnconfirmedTxs) Release ¶
func (cachedUnconfirmedTxs CachedUnconfirmedTxs) Release(force ...bool)
type ErrDatabaseError ¶
type ErrDatabaseError struct {
Inner error
}
func NewDatabaseError ¶
func NewDatabaseError(cause error) *ErrDatabaseError
func (ErrDatabaseError) Cause ¶
func (e ErrDatabaseError) Cause() error
func (ErrDatabaseError) Error ¶
func (e ErrDatabaseError) Error() string
type Milestone ¶
type Milestone struct { objectstorage.StorableObjectFlags Index milestone.Index Hash hornet.Hash }
Storable Object
func (*Milestone) ObjectStorageKey ¶
func (*Milestone) ObjectStorageValue ¶
func (*Milestone) UnmarshalObjectStorageValue ¶
func (*Milestone) Update ¶
func (ms *Milestone) Update(_ objectstorage.StorableObject)
type MilestoneIndexConsumer ¶
MilestoneIndexConsumer consumes the given index during looping though all milestones in the persistence layer.
type SnapshotInfo ¶
type SnapshotInfo struct { CoordinatorAddress hornet.Hash Hash hornet.Hash SnapshotIndex milestone.Index EntryPointIndex milestone.Index PruningIndex milestone.Index Timestamp int64 Metadata bitmask.BitMask }
func GetSnapshotInfo ¶
func GetSnapshotInfo() *SnapshotInfo
func SnapshotInfoFromBytes ¶
func SnapshotInfoFromBytes(bytes []byte) (*SnapshotInfo, error)
func (*SnapshotInfo) GetBytes ¶
func (i *SnapshotInfo) GetBytes() []byte
func (*SnapshotInfo) IsSpentAddressesEnabled ¶
func (i *SnapshotInfo) IsSpentAddressesEnabled() bool
func (*SnapshotInfo) SetSpentAddressesEnabled ¶
func (i *SnapshotInfo) SetSpentAddressesEnabled(enabled bool)
type TransactionConsumer ¶
type TransactionConsumer func(cachedTx objectstorage.CachedObject, cachedTxMeta objectstorage.CachedObject)
Source Files ¶
- address_storage.go
- approvers_storage.go
- bundle.go
- bundle_milestone.go
- bundle_storage.go
- bundle_transaction_storage.go
- database_prefixes.go
- errors.go
- events.go
- health_db.go
- ledger_db.go
- milestones.go
- milestones_storage.go
- snapshot.go
- snapshot_db.go
- solid_entry_points.go
- spent_addresses_storage.go
- tags_storage.go
- tangle.go
- transaction_storage.go
- unconfirmed_tx_storage.go