Migrate the ido module's arbitrary-precision math from num-bigint to malachite (already a workspace dependency). BigInt becomes malachite::Integer throughout; the VM-number byte codec uses PowerOf2Digits, sign handling uses Integer::sign(), and primitive conversions use try_from. Add an IntegerAsStr serde adapter for string-serialized fields, since malachite's FromStr::Err is () and does not satisfy DisplayFromStr's Display bound. JSON output is unchanged. Drop the now-unused num-bigint and num-traits dependencies. Also fix all clippy warnings in the module surfaced by the migration (unwrap-after-is_none control flow, a const->static LazyLock bug, an oversized enum variant boxed, and assorted mechanical lints). Co-Authored-By: Claude Opus 4.8 (1M context) <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