You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After a call with @LLFourn, the follow things will be added (either to this PR, or a separate PR):
The PersistBackend<T, C> trait currently has a generic T for the "in memory representation". This also constrains C to "accompany" T, thus requiring us to have something like Tracker in Implement persistence with the new structures #965. The "onioning" of these structures is unfortunate. However, there is a way to do PersistBackend without T and just rely on C! Let's experiment with that to see if it cleans up the API and reduces "onioning".
-- Completed by Implement persistence with the new structures #965
ChainOracle::get_chain_tip(&self) -> Result<Option<BlockId>, Self::Error> will be added. This is needed as we need something to input as the "static block" for the is_block_in_best_chain call. Additionally, a structure that is capable of implementing ChainOracle functionality should also have the functionality to return the tip of the best chain.
This thing iterates over all outpoints that we own (alongside the spk index we give it). To get the owned UTXO set, we filter over this. Same thing for balance.
-- Turns out OwnedTxOuts is not needed either, all removed in Improve txout listing and balance APIs for redesigned structures #975
Describe the enhancement
After a call with @LLFourn, the follow things will be added (either to this PR, or a separate PR):
ThePersistBackend<T, C>trait currently has a genericTfor the "in memory representation". This also constrainsCto "accompany"T, thus requiring us to have something likeTrackerin Implement persistence with the new structures #965. The "onioning" of these structures is unfortunate. However, there is a way to doPersistBackendwithoutTand just rely onC! Let's experiment with that to see if it cleans up the API and reduces "onioning".-- Completed by Implement persistence with the new structures #965
ChainOracle::get_chain_tip(&self) -> Result<Option<BlockId>, Self::Error>will be added. This is needed as we need something to input as the "static block" for theis_block_in_best_chaincall. Additionally, a structure that is capable of implementingChainOraclefunctionality should also have the functionality to return the tip of the best chain.OwnedIndexeris bad. Here is something better:This thing iterates over all outpoints that we own (alongside the spk index we give it). To get the owned UTXO set, we filter over this. Same thing for balance.-- Turns out
OwnedTxOutsis not needed either, all removed in Improvetxoutlisting and balance APIs for redesigned structures #975