Skip to content
This repository was archived by the owner on Mar 14, 2023. It is now read-only.
This repository was archived by the owner on Mar 14, 2023. It is now read-only.

Applying block APIs #193

@LLFourn

Description

@LLFourn

We need a set of APIs to easily apply blocks to a keychain tracker. I propse the following:

  • ChainGraph::<ConfirmationTime>::from_block(block): This creates a chain graph with two checkpoints (one for the block at height and one for prev block hash).
  • KeychainTracker::apply_update_relevant(scan: KeychainScan), does this same thing as apply_update but doesn't not take transactions that don't send to or from things in the txout index. Also add determine_relevant_changeset.
  • ChainGraph::apply_update_relevant(|tx| is_this_relevant(tx)) same as above except you can pass a predicate (also needs the changeset option).

In addition to adding these APIs it looks like KeychainTracker::determine_changeset has a TODO in it that needs to be fixed before this whole workflow will work properly:

// TODO: `KeychainTxOutIndex::determine_additions`

I'm also open to other suggestions :)

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions