testsvm_quarry/
lib.rs

1//! # TestSVM Quarry
2//!
3//! Testing utilities for the Quarry protocol on Solana using the TestSVM framework.
4//!
5//! This crate provides comprehensive testing utilities for interacting with the Quarry mining protocol,
6//! including rewarders, miners, merge mining, and mint wrapper functionality. It simplifies the process
7//! of testing Quarry-based applications in a controlled environment.
8//!
9//! ## Features
10//!
11//! - **Quarry Program Setup**: Easy initialization of all Quarry programs
12//! - **Rewarder Management**: Create and manage reward distribution systems
13//! - **Mining Operations**: Test single and merge mining functionality
14//! - **Mint Wrapper**: Testing utilities for wrapped token minting
15//! - **Type-safe Interfaces**: Strongly typed wrappers around Quarry operations
16//!
17//! ## Prerequisites
18//!
19//! Before using this crate, download the Quarry program binaries:
20//!
21//! ```bash
22//! # Set your project root
23//! export ROOT_DIR=/path/to/your/project
24//!
25//! # Download Quarry programs
26//! solana program dump QMMD16kjauP5knBwxNUJRZ1Z5o3deBuFrqVjBVmmqto \
27//!   $ROOT_DIR/fixtures/programs/quarry_merge_mine.so
28//!
29//! solana program dump QMNeHCGYnLVDn1icRAfQZpjPLBNkfGbSKRB83G5d8KB \
30//!   $ROOT_DIR/fixtures/programs/quarry_mine.so
31//!
32//! solana program dump QMWoBmAyJLAsA1Lh9ugMTw2gciTihncciphzdNzdZYV \
33//!   $ROOT_DIR/fixtures/programs/quarry_mint_wrapper.so
34//! ```
35
36use anchor_lang::prelude::*;
37
38pub mod prelude;
39pub mod setup;
40pub mod test_merge_miner;
41pub mod test_merge_pool;
42pub mod test_mint_wrapper;
43pub mod test_quarry;
44pub mod test_rewarder;
45
46pub use setup::*;
47pub use test_merge_miner::*;
48pub use test_merge_pool::*;
49pub use test_mint_wrapper::*;
50pub use test_quarry::*;
51pub use test_rewarder::*;
52
53// Declare quarry programs using their IDLs
54declare_program!(quarry_merge_mine);
55declare_program!(quarry_mine);
56declare_program!(quarry_mint_wrapper);
57
58#[cfg(test)]
59mod tests;