Sync with libriften ido+ttd head (37a5c01): - postlaunch rework: collect copies the offering confirmation NFT through io#4 (the chain continues from the verified copy at output#4, state unchanged); run consumes it at input#5. The called method is dispatched from the carrier's unlocking bytecode (<args..> <functionIndex> <redeem>); run's altPPOut argument is decoded as a VM number — when true the pool legs were paid back to the collector (pool-deploy-failure fallback, recorded as altPPOutPayout) instead of deploying the permanent pool. The accumulated BCH pot paid to the platform p2nfth at output#5 is recorded as platformBchPayout. Chain-follow probe list extended to [0,1,3,4,5]. - postlaunch constructor gains a 4-byte executionFee push (partial postlaunch bytecode is now 8 pushes + body). - p2nfth and plain storages lock as bare-p2s (blob storages stay p2sh32); nfthash preimage flipped to hash256(commitment + category); P2NFTH contract is 78cf7bce7eaa87. - all changed contract constants regenerated from the libriften templates (initiator 233 B, postlaunch 1669 B, preinit 1469 B). - fix IdoActiveParameters construction missing orbPoolParamsCategory and permanentLiquidityMinFee; box IdoUpdate::State to keep the enum small. - ido db version 3; no migration — delete ido.db and re-index. - legacy-generation fixture tests marked #[ignore]. 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