tangle

package
v0.4.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2020 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HORNET_BUNDLE_METADATA_SOLID                  = 0
	HORNET_BUNDLE_METADATA_VALID                  = 1
	HORNET_BUNDLE_METADATA_CONFIRMED              = 2
	HORNET_BUNDLE_METADATA_IS_MILESTONE           = 3
	HORNET_BUNDLE_METADATA_IS_VALUE_SPAM          = 4
	HORNET_BUNDLE_METADATA_VALID_STRICT_SEMANTICS = 5
)
View Source
const (
	DBPrefixHealth                byte = 0
	DBPrefixTransactions          byte = 1
	DBPrefixTransactionMetadata   byte = 2
	DBPrefixBundleTransactions    byte = 3
	DBPrefixBundles               byte = 4
	DBPrefixAddresses             byte = 5
	DBPrefixMilestones            byte = 6
	DBPrefixLedgerState           byte = 7
	DBPrefixApprovers             byte = 8
	DBPrefixTags                  byte = 9
	DBPrefixSnapshot              byte = 10
	DBPrefixFirstSeenTransactions byte = 11
	DBPrefixSpentAddresses        byte = 12
	DBPrefixAutopeering           byte = 13
)
View Source
const (
	BUNDLE_TX_IS_TAIL = 1
)
View Source
const (
	DbVersion = 5
)
View Source
const (
	NodeSyncedThreshold = 2
)
View Source
const (
	SNAPSHOT_METADATA_SPENTADDRESSES_ENABLED = 0
)

Variables

View Source
var (
	ErrSolidEntryPointsAlreadyInitialized = errors.New("solidEntryPoints already initialized")
	ErrSolidEntryPointsNotInitialized     = errors.New("solidEntryPoints not initialized")
)
View Source
var (
	ErrInvalidMilestone = errors.New("invalid milestone")
)
View Source
var (
	ErrOperationAborted = errors.New("operation was aborted")
)
View Source
var (
	ErrParseSnapshotInfoFailed = errors.New("Parsing of snapshot info failed")
)
View Source
var Events = packageEvents{
	ReceivedValidMilestone:   events.NewEvent(BundleCaller),
	ReceivedInvalidMilestone: events.NewEvent(events.ErrorCaller),
	AddressSpent:             events.NewEvent(events.StringCaller),
}

Functions

func ApplyLedgerDiffWithoutLocking added in v0.3.0

func ApplyLedgerDiffWithoutLocking(diff map[trinary.Hash]int64, index milestone_index.MilestoneIndex) error

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 CheckIfMilestone(bndl *Bundle) (result bool, err error)

func ConfigureDatabases

func ConfigureDatabases(directory string, badgerOpts *profile.BadgerOpts)

func ConfigureMilestones

func ConfigureMilestones(cooAddr string, cooSecLvl int, numOfKeysInMS uint64)

func ContainsBundle

func ContainsBundle(tailTxHash trinary.Hash) bool

bundle +-0

func ContainsBundleTransaction

func ContainsBundleTransaction(bundleHash trinary.Hash, transactionHash trinary.Hash, isTail bool) bool

bundleTx +-0

func ContainsMilestone

func ContainsMilestone(milestoneIndex milestone_index.MilestoneIndex) bool

milestone +-0

func ContainsTransaction

func ContainsTransaction(transactionHash trinary.Hash) bool

tx +-0

func DeleteAddress

func DeleteAddress(address trinary.Hash, txHash trinary.Hash)

address +-0

func DeleteApprovers

func DeleteApprovers(transactionHash trinary.Hash)

approvers +-0

func DeleteBundle

func DeleteBundle(tailTxHash trinary.Hash)

bundle +-0

func DeleteBundleTransaction

func DeleteBundleTransaction(bundleHash trinary.Hash, transactionHash trinary.Hash, isTail bool)

bundleTx +-0

func DeleteFirstSeenTxs

func DeleteFirstSeenTxs(msIndex milestone_index.MilestoneIndex)

firstSeenTx +-0

func DeleteLedgerBalancesInDatabase

func DeleteLedgerBalancesInDatabase() error

func DeleteLedgerDiffForMilestone

func DeleteLedgerDiffForMilestone(index milestone_index.MilestoneIndex) error

func DeleteMilestone

func DeleteMilestone(milestoneIndex milestone_index.MilestoneIndex)

+-0

func DeleteTag

func DeleteTag(txTag trinary.Trytes, txHash trinary.Hash)

tag +-0

func DeleteTags

func DeleteTags(txTag trinary.Trytes)

tag +-0

func DeleteTransaction

func DeleteTransaction(transactionHash trinary.Hash)

tx +-0

func FixFirstSeenTxs

func FixFirstSeenTxs(msIndex milestone_index.MilestoneIndex)

func GetAddressesStorageSize

func GetAddressesStorageSize() int

func GetAllLedgerBalances

func GetAllLedgerBalances(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone_index.MilestoneIndex, error)

GetAllLedgerBalances returns all balances for the current solid milestone.

func GetAllLedgerBalancesWithoutLocking

func GetAllLedgerBalancesWithoutLocking(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone_index.MilestoneIndex, error)

GetAllLedgerBalancesWithoutLocking returns all balances for the current solid milestone. ReadLockLedger must be held while entering this function.

func GetAllSnapshotBalances

func GetAllSnapshotBalances(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone_index.MilestoneIndex, error)

GetAllSnapshotBalances returns all balances for the snapshot milestone.

func GetAllSnapshotBalancesWithoutLocking

func GetAllSnapshotBalancesWithoutLocking(abortSignal <-chan struct{}) (map[trinary.Hash]uint64, milestone_index.MilestoneIndex, error)

GetAllSnapshotBalancesWithoutLocking returns all balances for the snapshot milestone. ReadLockLedger must be held while entering this function.

func GetApproverHashes

func GetApproverHashes(transactionHash trinary.Hash, forceRelease bool, maxFind ...int) []trinary.Hash

approvers +-0

func GetApproversStorageSize

func GetApproversStorageSize() int

func GetBalanceForAddress

func GetBalanceForAddress(address trinary.Hash) (uint64, milestone_index.MilestoneIndex, error)

func GetBalanceForAddressWithoutLocking

func GetBalanceForAddressWithoutLocking(address trinary.Hash) (uint64, milestone_index.MilestoneIndex, error)

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 GetFirstSeenTxHashes

func GetFirstSeenTxHashes(msIndex milestone_index.MilestoneIndex, forceRelease bool, maxFind ...int) []trinary.Hash

firstSeenTx +-0

func GetFirstSeenTxStorageSize

func GetFirstSeenTxStorageSize() int

func GetLatestMilestoneIndex

func GetLatestMilestoneIndex() milestone_index.MilestoneIndex

func GetLatestSeenMilestoneIndexFromSnapshot

func GetLatestSeenMilestoneIndexFromSnapshot() milestone_index.MilestoneIndex

func GetLedgerDiffForMilestone

func GetLedgerDiffForMilestone(index milestone_index.MilestoneIndex, abortSignal <-chan struct{}) (map[trinary.Hash]int64, error)

func GetLedgerDiffForMilestoneWithoutLocking added in v0.3.0

func GetLedgerDiffForMilestoneWithoutLocking(index milestone_index.MilestoneIndex, 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 GetMilestoneStorageSize

func GetMilestoneStorageSize() int

func GetSolidEntryPointsHashes

func GetSolidEntryPointsHashes() []trinary.Hash

func GetSolidMilestoneIndex

func GetSolidMilestoneIndex() milestone_index.MilestoneIndex

func GetSpentAddressesStorageSize

func GetSpentAddressesStorageSize() int

func GetTagHashes

func GetTagHashes(txTag trinary.Trytes, forceRelease bool, maxFind ...int) []trinary.Hash

tag +-0

func GetTagsStorageSize

func GetTagsStorageSize() int

func GetTransactionHashesForAddress

func GetTransactionHashesForAddress(address trinary.Hash, forceRelease bool, maxFind ...int) []trinary.Hash

address +-0

func GetTransactionStorageSize

func GetTransactionStorageSize() int

func IsCorrectDatabaseVersion added in v0.2.0

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 IsNodeSynced

func IsNodeSynced() bool

func IsNodeSyncedWithThreshold

func IsNodeSyncedWithThreshold() bool

func LoadInitialValuesFromDatabase

func LoadInitialValuesFromDatabase()

func MarkAddressAsSpent

func MarkAddressAsSpent(address trinary.Trytes) bool

spentAddress +-0

func MarkAddressAsSpentBinaryWithoutLocking

func MarkAddressAsSpentBinaryWithoutLocking(address []byte) bool

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 ReadLockLedger

func ReadLockLedger()

func ReadLockSolidEntryPoints added in v0.3.0

func ReadLockSolidEntryPoints()

func ReadLockSpentAddresses added in v0.3.0

func ReadLockSpentAddresses()

func ReadUnlockLedger

func ReadUnlockLedger()

func ReadUnlockSolidEntryPoints added in v0.3.0

func ReadUnlockSolidEntryPoints()

func ReadUnlockSpentAddresses added in v0.3.0

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 SearchLatestMilestoneIndex

func SearchLatestMilestoneIndex() milestone_index.MilestoneIndex

milestone +-0

func SetLatestMilestone

func SetLatestMilestone(cachedBndl *CachedBundle) error

func SetLatestSeenMilestoneIndexFromSnapshot

func SetLatestSeenMilestoneIndexFromSnapshot(milestoneIndex milestone_index.MilestoneIndex)

func SetSnapshotInfo added in v0.3.0

func SetSnapshotInfo(sn *SnapshotInfo)

func SetSnapshotMilestone

func SetSnapshotMilestone(milestoneHash trinary.Hash, snapshotIndex milestone_index.MilestoneIndex, pruningIndex milestone_index.MilestoneIndex, timestamp int64, spentAddressesEnabled bool)

func SetSolidMilestone

func SetSolidMilestone(cachedBndl *CachedBundle)

func SetSolidMilestoneIndex

func SetSolidMilestoneIndex(index milestone_index.MilestoneIndex)

SetSolidMilestoneIndex sets the solid milestone index at node startup Do not use this function during normal node operation

func ShutdownAddressStorage

func ShutdownAddressStorage()

func ShutdownApproversStorage

func ShutdownApproversStorage()

func ShutdownBundleStorage

func ShutdownBundleStorage()

func ShutdownBundleTransactionsStorage

func ShutdownBundleTransactionsStorage()

func ShutdownFirstSeenTxsStorage

func ShutdownFirstSeenTxsStorage()

func ShutdownMilestoneStorage

func ShutdownMilestoneStorage()

func ShutdownSpentAddressesStorage

func ShutdownSpentAddressesStorage()

func ShutdownTagsStorage

func ShutdownTagsStorage()

func ShutdownTransactionStorage

func ShutdownTransactionStorage()

func SolidEntryPointsAdd

func SolidEntryPointsAdd(transactionHash trinary.Hash, milestoneIndex milestone_index.MilestoneIndex)

WriteLockSolidEntryPoints must be held while entering this function

func SolidEntryPointsContain

func SolidEntryPointsContain(transactionHash trinary.Hash) bool

func StoreLedgerBalancesInDatabase

func StoreLedgerBalancesInDatabase(balances map[trinary.Hash]uint64, index milestone_index.MilestoneIndex) error

func StoreSnapshotBalancesInDatabase

func StoreSnapshotBalancesInDatabase(balances map[trinary.Hash]uint64, index milestone_index.MilestoneIndex) error

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 added in v0.2.6

func StreamSpentAddressesToWriter(buf io.Writer, abortSignal <-chan struct{}) (int32, error)

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 TryConstructBundle

func TryConstructBundle(cachedTx *CachedTransaction, isSolidTail bool)

TryConstructBundle tries to construct a bundle (maybe txs are still missing in the DB) isSolidTail should only be false for possible milestone txs

func WasAddressSpentFrom

func WasAddressSpentFrom(address trinary.Trytes) bool

spentAddress +-0

func WriteLockLedger

func WriteLockLedger()

func WriteLockSolidEntryPoints added in v0.3.0

func WriteLockSolidEntryPoints()

func WriteLockSpentAddresses added in v0.3.0

func WriteLockSpentAddresses()

func WriteUnlockLedger

func WriteUnlockLedger()

func WriteUnlockSolidEntryPoints added in v0.3.0

func WriteUnlockSolidEntryPoints()

func WriteUnlockSpentAddresses added in v0.3.0

func WriteUnlockSpentAddresses()

Types

type Bundle

type Bundle struct {
	objectstorage.StorableObjectFlags
	syncutils.RWMutex
	// contains filtered or unexported fields
}

Storable Object

func GetLatestMilestone

func GetLatestMilestone() *Bundle

func (*Bundle) ApplySpentAddresses

func (bundle *Bundle) ApplySpentAddresses()

func (*Bundle) GetBranch

func (bundle *Bundle) GetBranch(forceRelease bool) trinary.Hash

func (*Bundle) GetHash

func (bundle *Bundle) GetHash() trinary.Hash

func (*Bundle) GetHead

func (bundle *Bundle) GetHead() *CachedTransaction

func (*Bundle) GetLedgerChanges

func (bundle *Bundle) GetLedgerChanges() map[trinary.Trytes]int64

func (*Bundle) GetMetadata

func (bundle *Bundle) GetMetadata() byte

func (*Bundle) GetMilestoneHash

func (bundle *Bundle) GetMilestoneHash() trinary.Hash

func (*Bundle) GetMilestoneIndex

func (bundle *Bundle) GetMilestoneIndex() milestone_index.MilestoneIndex

func (*Bundle) GetStorageKey

func (bundle *Bundle) GetStorageKey() []byte

func (*Bundle) GetTail

func (bundle *Bundle) GetTail() *CachedTransaction

func (*Bundle) GetTailHash

func (bundle *Bundle) GetTailHash() trinary.Hash

func (*Bundle) GetTransactionHashes

func (bundle *Bundle) GetTransactionHashes() []trinary.Hash

func (*Bundle) GetTransactions

func (bundle *Bundle) GetTransactions() CachedTransactions

func (*Bundle) GetTrunk

func (bundle *Bundle) GetTrunk(forceRelease bool) trinary.Hash

func (*Bundle) IsConfirmed

func (bundle *Bundle) IsConfirmed() bool

func (*Bundle) IsMilestone

func (bundle *Bundle) IsMilestone() bool

func (*Bundle) IsSolid

func (bundle *Bundle) IsSolid() bool

func (*Bundle) IsValid

func (bundle *Bundle) IsValid() bool

func (*Bundle) IsValueSpam

func (bundle *Bundle) IsValueSpam() bool

func (*Bundle) MarshalBinary

func (bundle *Bundle) MarshalBinary() (data []byte, err error)

func (*Bundle) ResetSolidAndConfirmed

func (bundle *Bundle) ResetSolidAndConfirmed()

func (*Bundle) UnmarshalBinary

func (bundle *Bundle) UnmarshalBinary(data []byte) error

func (*Bundle) Update

func (bundle *Bundle) Update(other objectstorage.StorableObject)

ObjectStorage interface

func (*Bundle) ValidStrictSemantics

func (bundle *Bundle) ValidStrictSemantics() bool

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) GetStorageKey

func (bt *BundleTransaction) GetStorageKey() []byte

func (*BundleTransaction) GetTransactionHash

func (bt *BundleTransaction) GetTransactionHash() trinary.Hash

func (*BundleTransaction) MarshalBinary

func (bt *BundleTransaction) MarshalBinary() (data []byte, err error)

func (*BundleTransaction) UnmarshalBinary

func (bt *BundleTransaction) UnmarshalBinary(data []byte) error

func (*BundleTransaction) Update

ObjectStorage interface

type CachedAddress

type CachedAddress struct {
	objectstorage.CachedObject
}

func StoreAddress

func StoreAddress(address trinary.Hash, txHash trinary.Hash) *CachedAddress

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.MilestoneIndex) *CachedBundle

bundle +1

func GetCachedBundleOrNil

func GetCachedBundleOrNil(tailTxHash trinary.Hash) *CachedBundle

bundle +1

func GetMilestoneOrNil

func GetMilestoneOrNil(milestoneIndex milestone_index.MilestoneIndex) *CachedBundle

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) 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 CachedFirstSeenTx

type CachedFirstSeenTx struct {
	objectstorage.CachedObject
}

func StoreFirstSeenTx

func StoreFirstSeenTx(msIndex milestone_index.MilestoneIndex, txHash trinary.Hash) *CachedFirstSeenTx

firstSeenTx +1

func (*CachedFirstSeenTx) GetFirstSeenTx

func (c *CachedFirstSeenTx) GetFirstSeenTx() *hornet.FirstSeenTx

type CachedFirstSeenTxs

type CachedFirstSeenTxs []*CachedFirstSeenTx

func (CachedFirstSeenTxs) Release

func (cachedFirstSeenTxs CachedFirstSeenTxs) Release(force ...bool)

type CachedMilestone

type CachedMilestone struct {
	objectstorage.CachedObject
}

Cached Object

func GetCachedMilestoneOrNil

func GetCachedMilestoneOrNil(milestoneIndex milestone_index.MilestoneIndex) *CachedMilestone

milestone +1

func StoreMilestone

func StoreMilestone(bndl *Bundle) (bool, *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
}

func StoreTag

func StoreTag(txTag trinary.Trytes, txHash trinary.Hash) *CachedTag

tag +1

func (*CachedTag) GetTag

func (c *CachedTag) GetTag() *hornet.Tag

type CachedTags

type CachedTags []*CachedTag

func (CachedTags) Release

func (cachedTags CachedTags) Release(force ...bool)

tag -1

type CachedTransaction

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

func AddTransactionToStorage

func AddTransactionToStorage(hornetTx *hornet.Transaction, firstSeenLatestMilestoneIndex milestone_index.MilestoneIndex, 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

func (*CachedTransaction) Release

func (c *CachedTransaction) Release(force ...bool)

tx -1

func (*CachedTransaction) Retain

func (c *CachedTransaction) Retain() *CachedTransaction

tx +1

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 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

Storable Object

func (*Milestone) GetStorageKey

func (ms *Milestone) GetStorageKey() []byte

func (*Milestone) MarshalBinary

func (ms *Milestone) MarshalBinary() (data []byte, err error)

func (*Milestone) UnmarshalBinary

func (ms *Milestone) UnmarshalBinary(data []byte) error

func (*Milestone) Update

func (ms *Milestone) Update(other objectstorage.StorableObject)

type SnapshotInfo

type SnapshotInfo struct {
	Hash              trinary.Hash
	SnapshotIndex     milestone_index.MilestoneIndex
	PruningIndex      milestone_index.MilestoneIndex
	RevalidationIndex milestone_index.MilestoneIndex
	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)

Jump to

Keyboard shortcuts

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