waterpump-solana-core 0.1.0

Core Solana utilities: RPC context, transaction builder, retry helpers
Documentation

waterpump-solana-core

Core Solana utilities and common functionality for the waterpump-solana ecosystem.

Overview

Provides foundational building blocks for Solana program interaction:

  • RpcContext -- wraps RpcClient with a configurable commitment level
  • TransactionBuilder -- fluent builder for constructing and sending Solana transactions (legacy and versioned)
  • with_retry -- exponential-backoff retry helper for transient RPC errors

Usage

use std::sync::Arc;
use solana_client::nonblocking::rpc_client::RpcClient;
use waterpump_solana_core::{RpcContext, transaction_builder::TransactionBuilder};

// Create an RPC context with confirmed commitment
let client = Arc::new(RpcClient::new("https://api.mainnet-beta.solana.com".into()));
let ctx = RpcContext::new(client);

// Build a transaction
let mut builder = TransactionBuilder::new();
builder.add_instruction(/* your instruction */);
let tx = builder.build_transaction(&fee_payer)?;