Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Report ¶
type Report struct { // Transaction is the transaction that includes the item that was found. Transaction *transaction.Transaction // BlockHash is the block hash of the block that includes the transaction. BlockHash *chainhash.Hash BlockHeight uint32 // the request resolved by the report Request *ScanRequest }
type ScanRequest ¶
type ScanRequest struct { // ClientID of the client sending request ClientID uuid.UUID // StartHeight from which scan should be performed, nil means scan from genesis block StartHeight uint32 // Item to watch Item WatchItem // IsPersistent if true, the request will be re-added with StartHeight = StartHeiht + 1 IsPersistent bool }
type ScanRequestOption ¶
type ScanRequestOption func(req *ScanRequest)
func WithPersistentWatch ¶
func WithPersistentWatch() ScanRequestOption
func WithRequestID ¶ added in v0.1.2
func WithRequestID(id uuid.UUID) ScanRequestOption
func WithStartBlock ¶
func WithStartBlock(blockHeight uint32) ScanRequestOption
func WithWatchItem ¶
func WithWatchItem(item WatchItem) ScanRequestOption
type Service ¶ added in v0.1.2
type Service interface { // Start runs a go-routine in order to handle incoming requests via Watch Start() (<-chan Report, error) // Stop the scanner Stop() // Watch add a new request to the queue Watch(...ScanRequestOption) // WatchDescriptorWallet imports wallet descriptor, generates scripts and which //for specific events for those scripts WatchDescriptorWallet( requestID uuid.UUID, descriptor string, eventType []EventType, blockStart int, ) error }
func New ¶
func New( filterDB repository.FilterRepository, headerDB repository.BlockHeaderRepository, blockSvc blockservice.BlockService, genesisHash *chainhash.Hash, ) Service
type SpentWatchItem ¶ added in v0.1.2
type SpentWatchItem struct {
// contains filtered or unexported fields
}
SpentWatchItem is used to watch for spent utxos.
func (*SpentWatchItem) Bytes ¶ added in v0.1.2
func (o *SpentWatchItem) Bytes() []byte
func (*SpentWatchItem) EventType ¶ added in v0.1.2
func (o *SpentWatchItem) EventType() EventType
func (*SpentWatchItem) Match ¶ added in v0.1.2
func (o *SpentWatchItem) Match(tx *transaction.Transaction) bool
type UnspentWatchItem ¶ added in v0.1.2
type UnspentWatchItem struct {
// contains filtered or unexported fields
}
UnspentWatchItem is used to recognise new unspent output related to a specific address/script
func (*UnspentWatchItem) Bytes ¶ added in v0.1.2
func (u *UnspentWatchItem) Bytes() []byte
func (*UnspentWatchItem) EventType ¶ added in v0.1.2
func (u *UnspentWatchItem) EventType() EventType
func (*UnspentWatchItem) Match ¶ added in v0.1.2
func (u *UnspentWatchItem) Match(tx *transaction.Transaction) bool
type WatchItem ¶
type WatchItem interface { // Bytes returns the element search in the block filter Bytes() []byte // Match is used to check if a transaction matches the watch item Match(tx *transaction.Transaction) bool // EventType returns the type of event that will be reported by the scanner EventType() EventType }
WatchItem is an interface containing the common methods using by Scanner to watch specific item.
func NewSpentWatchItemFromInput ¶ added in v0.1.2
func NewSpentWatchItemFromInput( input *transaction.TxInput, prevoutScript []byte, ) (WatchItem, error)
func NewUnspentWatchItemFromAddress ¶ added in v0.1.2
Click to show internal directories.
Click to hide internal directories.