Replaces full-history scan with a two-tier approach: 1. Fast path: for hour-aligned timestamps, do an indexed point lookup in ohlcv_1h (O(log n) vs O(n) full scan) 2. Slow path: backscan recent 24h of legs through the policy to find the last accepted print, handling non-aligned timestamps and pre-materialization data The seed is the last accepted leg's price (per-leg pricing), used for gap-fill carry-forward in candle intervals with no accepted prints. This unifies the seed logic with the per-leg policy evaluation. Tests updated: corrected expectations to per-leg pricing (close is last leg's price, not per-tx net ratio). Tests: 222 passing Co-Authored-By: Claude Haiku 4.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