Documentation
¶
Index ¶
- Constants
- Variables
- func ApplyLedgerDiffWithoutLocking(diff map[trinary.Hash]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 string, cooSecLvl int, cooMerkleTreeDepth uint64)
- func ContainsBundle(tailTxHash trinary.Hash) bool
- func ContainsBundleTransaction(bundleHash trinary.Hash, transactionHash trinary.Hash, isTail bool) bool
- func ContainsMilestone(milestoneIndex milestone.Index) bool
- func ContainsTransaction(transactionHash trinary.Hash) bool
- func DatabaseSupportsCleanup() bool
- func DeleteAddress(address trinary.Hash, txHash trinary.Hash)
- func DeleteApprover(transactionHash trinary.Hash, approverHash trinary.Hash)
- func DeleteApprovers(transactionHash trinary.Hash)
- func DeleteBundle(tailTxHash trinary.Hash)
- func DeleteBundleTransaction(bundleHash trinary.Hash, transactionHash trinary.Hash, isTail bool)
- func DeleteLedgerBalancesInDatabase() error
- func DeleteLedgerDiffForMilestone(index milestone.Index) error
- func DeleteMilestone(milestoneIndex milestone.Index)
- func DeleteTag(txTag trinary.Trytes, txHash trinary.Hash)
- func DeleteTags(txTag trinary.Trytes)
- func DeleteTransaction(transactionHash trinary.Hash)
- func DeleteUnconfirmedTxs(msIndex milestone.Index)
- func FlushAddressStorage()
- func FlushApproversStorage()
- func FlushBundleStorage()
- func FlushBundleTransactionsStorage()
- func FlushMilestoneStorage()
- func FlushTagsStorage()
- func FlushTransactionStorage()
- func FlushUnconfirmedTxsStorage()
- func ForEachMilestone(consumer MilestoneConsumer)
- func ForEachMilestoneIndex(consumer MilestoneIndexConsumer, skipCache bool)
- func ForEachTransaction(consumer TransactionConsumer)
- func ForEachTransactionHashBytes(consumer TransactionHashBytesConsumer)
- func GetAddressesStorageSize() int
- func GetAllSnapshotBalances(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone.Index, error)
- func GetApproverHashes(transactionHash trinary.Hash, forceRelease bool, maxFind ...int) []trinary.Hash
- func GetApproversStorageSize() int
- func GetBalanceForAddress(address trinary.Hash) (uint64, milestone.Index, error)
- func GetBalanceForAddressWithoutLocking(address trinary.Hash) (uint64, milestone.Index, error)
- func GetBundleStorageSize() int
- func GetBundleTailTransactionHashes(bundleHash trinary.Hash, forceRelease bool, maxFind ...int) []trinary.Hash
- func GetBundleTransactionHashes(bundleHash trinary.Hash, forceRelease bool, maxFind ...int) []trinary.Hash
- 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[trinary.Hash]int64, error)
- func GetLedgerDiffForMilestoneWithoutLocking(index milestone.Index, abortSignal <-chan struct{}) (map[trinary.Hash]int64, error)
- func GetLedgerStateForLSMI(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone.Index, error)
- func GetLedgerStateForLSMIWithoutLocking(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone.Index, error)
- func GetLedgerStateForMilestone(targetIndex milestone.Index, abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone.Index, error)
- func GetLedgerStateForMilestoneWithoutLocking(targetIndex milestone.Index, abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone.Index, error)
- func GetMilestoneStorageSize() int
- func GetSolidEntryPointsHashes() []trinary.Hash
- func GetSolidMilestoneIndex() milestone.Index
- func GetSpentAddressesStorageSize() int
- func GetStoredMetadataOrNil(txHashBytes []byte) *hornet.TransactionMetadata
- func GetStoredTransactionOrNil(txHashBytes []byte) *hornet.Transaction
- func GetTagHashes(txTag trinary.Trytes, forceRelease bool, maxFind ...int) []trinary.Hash
- func GetTagsStorageSize() int
- func GetTransactionHashesForAddress(address trinary.Hash, valueOnly bool, forceRelease bool, maxFind ...int) []trinary.Hash
- func GetTransactionStorageSize() int
- func GetUnconfirmedTxHashBytes(msIndex milestone.Index, forceRelease bool) [][]byte
- 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 trinary.Trytes) bool
- func MarkAddressAsSpentBinaryWithoutLocking(address []byte) 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 *transaction.Transaction) map[trinary.Hash]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 trinary.Hash, milestoneHash trinary.Hash, ...)
- func SetSolidMilestoneIndex(index milestone.Index, updateSynced ...bool)
- func ShutdownAddressStorage()
- func ShutdownApproversStorage()
- func ShutdownBundleStorage()
- func ShutdownBundleTransactionsStorage()
- func ShutdownMilestoneStorage()
- func ShutdownSpentAddressesStorage()
- func ShutdownTagsStorage()
- func ShutdownTransactionStorage()
- func ShutdownUnconfirmedTxsStorage()
- func SolidEntryPointsAdd(transactionHash trinary.Hash, milestoneIndex milestone.Index)
- func SolidEntryPointsContain(transactionHash trinary.Hash) bool
- func StoreLedgerBalancesInDatabase(balances map[trinary.Hash]uint64, index milestone.Index) error
- func StoreSnapshotBalancesInDatabase(balances map[trinary.Hash]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 WasAddressSpentFrom(address trinary.Trytes) 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) trinary.Hash
- func (bundle *Bundle) GetHash() trinary.Hash
- func (bundle *Bundle) GetHead() *CachedTransaction
- func (bundle *Bundle) GetLedgerChanges() map[trinary.Trytes]int64
- func (bundle *Bundle) GetMetadata() byte
- func (bundle *Bundle) GetMilestoneHash() trinary.Hash
- func (bundle *Bundle) GetMilestoneIndex() milestone.Index
- func (bundle *Bundle) GetTail() *CachedTransaction
- func (bundle *Bundle) GetTailHash() trinary.Hash
- func (bundle *Bundle) GetTransactionHashes() []trinary.Hash
- func (bundle *Bundle) GetTransactions() CachedTransactions
- func (bundle *Bundle) GetTrunk(forceRelease bool) trinary.Hash
- func (bundle *Bundle) IsConfirmed() 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) ResetSolidAndConfirmed()
- 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() trinary.Hash
- func (bt *BundleTransaction) GetTransactionHash() trinary.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(transactionHash trinary.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 MilestoneConsumer
- type MilestoneIndexConsumer
- type SnapshotInfo
- type TransactionConsumer
- type TransactionHashBytesConsumer
Constants ¶
const ( MetadataSolid = 0 MetadataValid = 1 MetadataConfirmed = 2 MetadataIsMilestone = 3 MetadataIsValueSpam = 4 MetadataValidStrictSemantics = 5 )
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 ( 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 (
ErrOperationAborted = errors.New("operation was aborted")
)
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 ContainsBundleTransaction ¶
func ContainsBundleTransaction(bundleHash trinary.Hash, transactionHash trinary.Hash, isTail bool) bool
bundleTx +-0
func DatabaseSupportsCleanup ¶
func DatabaseSupportsCleanup() bool
func DeleteApprover ¶
approvers +-0
func DeleteBundleTransaction ¶
bundleTx +-0
func DeleteLedgerBalancesInDatabase ¶
func DeleteLedgerBalancesInDatabase() error
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 ForEachMilestone ¶
func ForEachMilestone(consumer MilestoneConsumer)
func ForEachMilestoneIndex ¶
func ForEachMilestoneIndex(consumer MilestoneIndexConsumer, skipCache bool)
ForEachMilestoneIndex loops though all milestones in the persistence layer.
func ForEachTransaction ¶
func ForEachTransaction(consumer TransactionConsumer)
func ForEachTransactionHashBytes ¶
func ForEachTransactionHashBytes(consumer TransactionHashBytesConsumer)
ForEachTransactionHashBytes loops over all transaction hashes (binary representation). Transaction that only exist in the cache are ignored.
func GetAddressesStorageSize ¶
func GetAddressesStorageSize() int
func GetAllSnapshotBalances ¶
func GetAllSnapshotBalances(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone.Index, error)
GetAllSnapshotBalances returns all balances for the snapshot milestone.
func GetApproverHashes ¶
func GetApproverHashes(transactionHash trinary.Hash, forceRelease bool, maxFind ...int) []trinary.Hash
approvers +-0
func GetApproversStorageSize ¶
func GetApproversStorageSize() int
func GetBalanceForAddress ¶
func GetBundleStorageSize ¶
func GetBundleStorageSize() int
func GetBundleTailTransactionHashes ¶
func GetBundleTailTransactionHashes(bundleHash trinary.Hash, forceRelease bool, maxFind ...int) []trinary.Hash
bundleTx +1
func GetBundleTransactionHashes ¶
func GetBundleTransactionHashes(bundleHash trinary.Hash, forceRelease bool, maxFind ...int) []trinary.Hash
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[trinary.Hash]int64, error)
GetLedgerDiffForMilestoneWithoutLocking returns the ledger changes of that specific milestone. ReadLockLedger must be held while entering this function.
func GetLedgerStateForLSMI ¶
func GetLedgerStateForLSMI(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone.Index, error)
GetLedgerStateForLSMI returns all balances for the current solid milestone.
func GetLedgerStateForLSMIWithoutLocking ¶
func GetLedgerStateForLSMIWithoutLocking(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone.Index, error)
GetLedgerStateForLSMIWithoutLocking returns all balances for the current solid milestone. ReadLockLedger must be held while entering this function.
func GetMilestoneStorageSize ¶
func GetMilestoneStorageSize() int
func GetSolidMilestoneIndex ¶
GetSolidMilestoneIndex returns the latest solid milestone index.
func GetSpentAddressesStorageSize ¶
func GetSpentAddressesStorageSize() int
func GetStoredMetadataOrNil ¶
func GetStoredMetadataOrNil(txHashBytes []byte) *hornet.TransactionMetadata
GetStoredMetadataOrNil returns a metadata object without accessing the cache layer.
func GetStoredTransactionOrNil ¶
func GetStoredTransactionOrNil(txHashBytes []byte) *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 trinary.Hash, valueOnly bool, forceRelease bool, maxFind ...int) []trinary.Hash
address +-0
func GetTransactionStorageSize ¶
func GetTransactionStorageSize() int
func GetUnconfirmedTxHashBytes ¶
GetUnconfirmedTxHashBytes 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 MarkAddressAsSpentBinaryWithoutLocking ¶
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 *transaction.Transaction) map[trinary.Hash]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 ShutdownTagsStorage ¶
func ShutdownTagsStorage()
func ShutdownTransactionStorage ¶
func ShutdownTransactionStorage()
func ShutdownUnconfirmedTxsStorage ¶
func ShutdownUnconfirmedTxsStorage()
func SolidEntryPointsAdd ¶
WriteLockSolidEntryPoints must be held while entering this function
func SolidEntryPointsContain ¶
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 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) GetHead ¶
func (bundle *Bundle) GetHead() *CachedTransaction
func (*Bundle) GetMetadata ¶
func (*Bundle) GetMilestoneHash ¶
func (*Bundle) GetMilestoneIndex ¶
func (*Bundle) GetTail ¶
func (bundle *Bundle) GetTail() *CachedTransaction
func (*Bundle) GetTailHash ¶
func (*Bundle) GetTransactionHashes ¶
func (*Bundle) GetTransactions ¶
func (bundle *Bundle) GetTransactions() CachedTransactions
func (*Bundle) IsConfirmed ¶
func (*Bundle) IsMilestone ¶
func (*Bundle) IsValueSpam ¶
func (*Bundle) ObjectStorageKey ¶
func (*Bundle) ObjectStorageValue ¶
func (*Bundle) ResetSolidAndConfirmed ¶
func (bundle *Bundle) ResetSolidAndConfirmed()
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() trinary.Hash
func (*BundleTransaction) GetTransactionHash ¶
func (bt *BundleTransaction) GetTransactionHash() trinary.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(transactionHash trinary.Hash, approverHash trinary.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 trinary.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 trinary.Hash, transactionHash trinary.Hash, isTail bool) *CachedBundleTransaction
bundleTx +1
func StoreBundleTransaction ¶
func StoreBundleTransaction(bundleHash trinary.Hash, transactionHash trinary.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 trinary.Hash, forceRelease bool, maxFind ...int) CachedBundles
GetBundles returns all existing bundle instances for that bundle hash bundle +1
func GetBundlesOfTransactionOrNil ¶
func GetBundlesOfTransactionOrNil(txHash trinary.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(transactionHash trinary.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 trinary.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 trinary.Hash }
Storable Object
func (*Milestone) ObjectStorageKey ¶
func (*Milestone) ObjectStorageValue ¶
func (*Milestone) UnmarshalObjectStorageValue ¶
func (*Milestone) Update ¶
func (ms *Milestone) Update(_ objectstorage.StorableObject)
type MilestoneConsumer ¶
type MilestoneConsumer func(cachedMs objectstorage.CachedObject)
type MilestoneIndexConsumer ¶
MilestoneIndexConsumer consumes the given index during looping though all milestones in the persistence layer.
type SnapshotInfo ¶
type SnapshotInfo struct { CoordinatorAddress trinary.Hash Hash trinary.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)
type TransactionHashBytesConsumer ¶
type TransactionHashBytesConsumer func(txHash []byte)
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