bitcoin_rpc_conversions/lib.rs
1#![warn(missing_docs)]
2//! bitcoin-rpc-conversions - Bitcoin RPC Type Conversions
3//!
4//! This crate provides type conversion utilities for mapping Bitcoin Core
5//! JSON-RPC types to appropriate Rust types.
6//!
7//! ## Features
8//!
9//! - Categorizes Bitcoin Core JSON-RPCs into Rust types
10//! - Maps Bitcoin-specific types to rust-bitcoin primitives (`bitcoin::Txid`, `bitcoin::BlockHash`, `bitcoin::Amount`, `bitcoin::Address`)
11//!
12//! ## Usage
13//!
14//! Add this to your `Cargo.toml`:
15//!
16//! ```toml
17//! [dependencies]
18//! bitcoin-rpc-conversions = "0.1.0"
19//! ```
20//!
21//! ## Example
22//!
23//! ```rust
24//! use bitcoin_rpc_conversions::{BitcoinRpcType, TypeRegistry};
25//!
26//! let category = TypeRegistry::categorize("string", "txid");
27//! assert_eq!(category, BitcoinRpcType::BitcoinTxid);
28//! assert_eq!(category.to_rust_type(), "bitcoin::Txid");
29//! ```
30//!
31//! ## License
32//!
33//! MIT or Apache-2.0
34
35pub mod conversions;
36
37pub use bitcoin_rpc_types::{BtcMethod, HashOrHeight};
38pub use conversions::{BitcoinRpcType, TypeRegistry};