I think some of what KeychainTracker does could be generalized to a Tracker<T> where for KeychainTrackerT would be KeychainTxOutIndex. We could then also have Tracker<SpkTxOutIndex> too for when you don't have a keychain (but still want to automatically scan after each new tx in chain).
Maybe from there we could try to do Tracker<SilentPaymentTxOutIndex> etc. So the notion of a Tracker<T> is something that has an internal ChainGraph and updates the txout index whenever anything gets inserted.
This will require quite a bit of design work by whoever takes this issue. It will probably need a trait (:fearful:) TxOutIndex to constrain T.
I think some of what
KeychainTracker
does could be generalized to aTracker<T>
where forKeychainTracker
T
would beKeychainTxOutIndex
. We could then also haveTracker<SpkTxOutIndex>
too for when you don't have a keychain (but still want to automatically scan after each new tx in chain).Maybe from there we could try to do
Tracker<SilentPaymentTxOutIndex>
etc. So the notion of aTracker<T>
is something that has an internalChainGraph
and updates the txout index whenever anything gets inserted.This will require quite a bit of design work by whoever takes this issue. It will probably need a trait (:fearful:)
TxOutIndex
to constrainT
.