Add an OP_RETURN "BCMR" prefix filter to the rostrum mempool.get pass and index matching txs in update_mempool with the all-zeros sentinel blockhash (same pattern as oracle). A newly registered BCMR becomes the auth head and is downloaded immediately; the confirming block re-stamps the entry with its real blockhash in place. - insert_authheader: INSERT OR REPLACE -> upsert. REPLACE deletes the row, cascading away downloaded bcmr_data on every mempool->confirmed upgrade. - update_mempool drops sentinel entries whose tx left the mempool (evicted or replaced), so stale auth heads never linger. - clear bcmr mempool state at startup; always-run migration adds txid and blockhash indexes on auth_chain_entry for the per-pass lookups. Auth chain transfers without a BCMR output still index at confirmation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .vscode | ||
| contrib | ||
| internal | ||
| linters | ||
| src | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
Riftenlabs Indexer
RiftenLabs indexer is for indexing DeFi contracts by Riften Labs. It allows for querying historical on-chain data on Bitcoin Cash.
Contributing
All contributors are required to sign a Contributor License Agreement (CLA) before their contributions can be merged into the project.
Contributions are generally welcome. If you intend to make larger changes please discuss them in an issue before MRing them to avoid duplicate work and architectural mismatches.
Installing Rust
Rust can be installed using your package manager of choice or rustup.rs. The former way is considered more secure since it typically doesn't involve trust in the CA system. But you should be aware that the version of Rust shipped by your distribution might be out of date.
Building
The library can be built and tested using cargo:
git clone https://gitlab.com/riftenlabs/riftenlabs-indexer.git
cd riftenlabs-indexer
cargo build
You can run tests with:
cargo test