Fixup docs in sdk to use new clients (#27362)

Fixup client docs in sdk
This commit is contained in:
Tyera Eulberg 2022-08-24 20:29:56 -07:00 committed by GitHub
parent ad6c2d8c5f
commit 1095cdf436
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 128 additions and 128 deletions

View File

@ -13,45 +13,15 @@
#![doc(hidden)]
#![allow(clippy::new_without_default)]
pub mod solana_client {
pub mod client_error {
#[derive(thiserror::Error, Debug)]
#[error("mock-error")]
pub struct ClientError;
pub type Result<T> = std::result::Result<T, ClientError>;
}
pub mod nonce_utils {
use {
super::super::solana_sdk::{
account::ReadableAccount, account_utils::StateMut, pubkey::Pubkey,
},
crate::nonce::state::{Data, DurableNonce, Versions},
};
#[derive(thiserror::Error, Debug)]
#[error("mock-error")]
pub struct Error;
pub fn data_from_account<T: ReadableAccount + StateMut<Versions>>(
_account: &T,
) -> Result<Data, Error> {
Ok(Data::new(
Pubkey::new_unique(),
DurableNonce::default(),
5000,
))
}
}
pub mod solana_rpc_client {
pub mod rpc_client {
use {
super::{
super::solana_sdk::{
super::super::{
solana_rpc_client_api::client_error::Result as ClientResult,
solana_sdk::{
account::Account, hash::Hash, pubkey::Pubkey, signature::Signature,
transaction::Transaction,
},
client_error::Result as ClientResult,
},
std::{cell::RefCell, collections::HashMap, rc::Rc},
};
@ -106,6 +76,36 @@ pub mod solana_client {
}
}
pub mod solana_rpc_client_api {
pub mod client_error {
#[derive(thiserror::Error, Debug)]
#[error("mock-error")]
pub struct ClientError;
pub type Result<T> = std::result::Result<T, ClientError>;
}
}
pub mod solana_rpc_client_nonce_utils {
use {
super::solana_sdk::{account::ReadableAccount, account_utils::StateMut, pubkey::Pubkey},
crate::nonce::state::{Data, DurableNonce, Versions},
};
#[derive(thiserror::Error, Debug)]
#[error("mock-error")]
pub struct Error;
pub fn data_from_account<T: ReadableAccount + StateMut<Versions>>(
_account: &T,
) -> Result<Data, Error> {
Ok(Data::new(
Pubkey::new_unique(),
DurableNonce::default(),
5000,
))
}
}
/// Re-exports and mocks of solana-program modules that mirror those from
/// solana-program.
///

View File

@ -16,16 +16,16 @@
//! network. Note though that transactions that fail during pre-flight
//! simulation are not displayed here.
//! - When submitting transactions via [`RpcClient`], if Rust's own logging is
//! active then the `solana_client` crate logs at the "debug" level any logs
//! active then the `solana_rpc_client` crate logs at the "debug" level any logs
//! for transactions that failed during simulation. If using [`env_logger`]
//! these logs can be activated by setting `RUST_LOG=solana_client=debug`.
//! these logs can be activated by setting `RUST_LOG=solana_rpc_client=debug`.
//! - Logs can be retrieved from a finalized transaction by calling
//! [`RpcClient::get_transaction`].
//! - Block explorers may display logs.
//!
//! [`RpcClient`]: https://docs.rs/solana-client/latest/solana_client/rpc_client/struct.RpcClient.html
//! [`RpcClient`]: https://docs.rs/solana-rpc-client/latest/solana_rpc_client/rpc_client/struct.RpcClient.html
//! [`env_logger`]: https://docs.rs/env_logger
//! [`RpcClient::get_transaction`]: https://docs.rs/solana-client/latest/solana_client/rpc_client/struct.RpcClient.html#method.get_transaction
//! [`RpcClient::get_transaction`]: https://docs.rs/solana-rpc-client/latest/solana_rpc_client/rpc_client/struct.RpcClient.html#method.get_transaction
//!
//! While most logging functions are defined in this module, [`Pubkey`]s can
//! also be efficiently logged with the [`Pubkey::log`] function.

View File

@ -169,18 +169,18 @@ impl Message {
///
/// # Examples
///
/// This example uses the [`solana_sdk`], [`solana_client`] and [`anyhow`] crates.
/// This example uses the [`solana_sdk`], [`solana_rpc_client`] and [`anyhow`] crates.
///
/// [`solana_sdk`]: https://docs.rs/solana-sdk
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_program::example_mocks::solana_sdk;
/// # use solana_program::example_mocks::solana_client;
/// # use solana_program::example_mocks::solana_rpc_client;
/// use anyhow::Result;
/// use borsh::{BorshSerialize, BorshDeserialize};
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// instruction::Instruction,
/// message::Message,
@ -240,18 +240,18 @@ impl Message {
///
/// # Examples
///
/// This example uses the [`solana_sdk`], [`solana_client`] and [`anyhow`] crates.
/// This example uses the [`solana_sdk`], [`solana_rpc_client`] and [`anyhow`] crates.
///
/// [`solana_sdk`]: https://docs.rs/solana-sdk
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_program::example_mocks::solana_sdk;
/// # use solana_program::example_mocks::solana_client;
/// # use solana_program::example_mocks::solana_rpc_client;
/// use anyhow::Result;
/// use borsh::{BorshSerialize, BorshDeserialize};
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// instruction::Instruction,
/// message::Message,
@ -336,18 +336,18 @@ impl Message {
///
/// # Examples
///
/// This example uses the [`solana_sdk`], [`solana_client`] and [`anyhow`] crates.
/// This example uses the [`solana_sdk`], [`solana_rpc_client`] and [`anyhow`] crates.
///
/// [`solana_sdk`]: https://docs.rs/solana-sdk
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-client
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_program::example_mocks::solana_sdk;
/// # use solana_program::example_mocks::solana_client;
/// # use solana_program::example_mocks::solana_rpc_client;
/// use anyhow::Result;
/// use borsh::{BorshSerialize, BorshDeserialize};
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// hash::Hash,
/// instruction::Instruction,

View File

@ -179,24 +179,24 @@ impl Message {
///
/// # Examples
///
/// This example uses the [`solana_address_lookup_table_program`], [`solana_client`], [`solana_sdk`], and [`anyhow`] crates.
/// This example uses the [`solana_address_lookup_table_program`], [`solana_rpc_client`], [`solana_sdk`], and [`anyhow`] crates.
///
/// [`solana_address_lookup_table_program`]: https://docs.rs/solana-address-lookup-table-program
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
/// [`solana_sdk`]: https://docs.rs/solana-sdk
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_program::example_mocks::{
/// # solana_address_lookup_table_program,
/// # solana_client,
/// # solana_rpc_client,
/// # solana_sdk,
/// # };
/// # use std::borrow::Cow;
/// # use solana_sdk::account::Account;
/// use anyhow::Result;
/// use solana_address_lookup_table_program::state::AddressLookupTable;
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// address_lookup_table_account::AddressLookupTableAccount,
/// instruction::{AccountMeta, Instruction},

View File

@ -372,7 +372,7 @@ impl Pubkey {
///
/// ```
/// # use borsh::{BorshSerialize, BorshDeserialize};
/// # use solana_program::example_mocks::{solana_sdk, solana_client};
/// # use solana_program::example_mocks::{solana_sdk, solana_rpc_client};
/// # use solana_program::{
/// # pubkey::Pubkey,
/// # instruction::Instruction,
@ -385,7 +385,7 @@ impl Pubkey {
/// # signature::{Signer, Signature},
/// # transaction::Transaction,
/// # };
/// # use solana_client::rpc_client::RpcClient;
/// # use solana_rpc_client::rpc_client::RpcClient;
/// # use std::convert::TryFrom;
/// # use anyhow::Result;
/// #

View File

@ -335,10 +335,10 @@ impl Secp256k1Pubkey {
/// The RPC client program:
///
/// ```no_run
/// # use solana_program::example_mocks::solana_client;
/// # use solana_program::example_mocks::solana_rpc_client;
/// # use solana_program::example_mocks::solana_sdk;
/// use anyhow::Result;
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// instruction::Instruction,
/// keccak,

View File

@ -581,8 +581,8 @@ pub fn create_nonce_account_with_seed(
///
/// ```
/// # use solana_program::example_mocks::solana_sdk;
/// # use solana_program::example_mocks::solana_client;
/// use solana_client::rpc_client::RpcClient;
/// # use solana_program::example_mocks::solana_rpc_client;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// # pubkey::Pubkey,
/// signature::{Keypair, Signer},
@ -671,7 +671,7 @@ pub fn create_nonce_account(
/// setting it to a recent blockhash, the value of the nonce must be retreived
/// and deserialized from the nonce account, and that value specified as the
/// "recent blockhash". A nonce account can be deserialized with the
/// [`solana_client::nonce_utils::data_from_account`][dfa] function.
/// [`solana_rpc_client_nonce_utils::data_from_account`][dfa] function.
///
/// For further description of durable transaction nonces see
/// [`create_nonce_account`].
@ -679,7 +679,7 @@ pub fn create_nonce_account(
/// [`Message`]: crate::message::Message
/// [`Message::new_with_nonce`]: crate::message::Message::new_with_nonce
/// [`recent_blockhash`]: crate::message::Message::recent_blockhash
/// [dfa]: https://docs.rs/solana-client/latest/solana_client/nonce_utils/fn.data_from_account.html
/// [dfa]: https://docs.rs/solana-rpc-client-nonce-utils/latest/solana_rpc_client_nonce_utils/fn.data_from_account.html
///
/// # Required signers
///
@ -691,11 +691,9 @@ pub fn create_nonce_account(
///
/// ```
/// # use solana_program::example_mocks::solana_sdk;
/// # use solana_program::example_mocks::solana_client;
/// use solana_client::{
/// rpc_client::RpcClient,
/// nonce_utils,
/// };
/// # use solana_program::example_mocks::solana_rpc_client;
/// # use solana_program::example_mocks::solana_rpc_client_nonce_utils;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// message::Message,
/// pubkey::Pubkey,
@ -751,7 +749,7 @@ pub fn create_nonce_account(
/// # rent_epoch: 1,
/// # });
/// let nonce_account = client.get_account(nonce_account_pubkey)?;
/// let nonce_data = nonce_utils::data_from_account(&nonce_account)?;
/// let nonce_data = solana_rpc_client_nonce_utils::data_from_account(&nonce_account)?;
/// let blockhash = nonce_data.blockhash();
///
/// tx.try_sign(&[payer], blockhash)?;
@ -817,8 +815,8 @@ pub fn advance_nonce_account(nonce_pubkey: &Pubkey, authorized_pubkey: &Pubkey)
///
/// ```
/// # use solana_program::example_mocks::solana_sdk;
/// # use solana_program::example_mocks::solana_client;
/// use solana_client::rpc_client::RpcClient;
/// # use solana_program::example_mocks::solana_rpc_client;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// pubkey::Pubkey,
/// signature::{Keypair, Signer},
@ -899,8 +897,8 @@ pub fn withdraw_nonce_account(
///
/// ```
/// # use solana_program::example_mocks::solana_sdk;
/// # use solana_program::example_mocks::solana_client;
/// use solana_client::rpc_client::RpcClient;
/// # use solana_program::example_mocks::solana_rpc_client;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// pubkey::Pubkey,
/// signature::{Keypair, Signer},

View File

@ -99,9 +99,9 @@
//!
//! ```
//! # use solana_program::example_mocks::solana_sdk;
//! # use solana_program::example_mocks::solana_client;
//! # use solana_program::example_mocks::solana_rpc_client;
//! # use solana_sdk::account::Account;
//! # use solana_client::rpc_client::RpcClient;
//! # use solana_rpc_client::rpc_client::RpcClient;
//! # use solana_sdk::sysvar::clock::{self, Clock};
//! # use anyhow::Result;
//! #

View File

@ -99,9 +99,9 @@
//!
//! ```
//! # use solana_program::example_mocks::solana_sdk;
//! # use solana_program::example_mocks::solana_client;
//! # use solana_program::example_mocks::solana_rpc_client;
//! # use solana_sdk::account::Account;
//! # use solana_client::rpc_client::RpcClient;
//! # use solana_rpc_client::rpc_client::RpcClient;
//! # use solana_sdk::sysvar::epoch_schedule::{self, EpochSchedule};
//! # use anyhow::Result;
//! #

View File

@ -100,9 +100,9 @@
//!
//! ```
//! # use solana_program::example_mocks::solana_sdk;
//! # use solana_program::example_mocks::solana_client;
//! # use solana_program::example_mocks::solana_rpc_client;
//! # use solana_sdk::account::Account;
//! # use solana_client::rpc_client::RpcClient;
//! # use solana_rpc_client::rpc_client::RpcClient;
//! # use solana_sdk::sysvar::rent::{self, Rent};
//! # use anyhow::Result;
//! #

View File

@ -18,9 +18,9 @@
//!
//! ```
//! # use solana_program::example_mocks::solana_sdk;
//! # use solana_program::example_mocks::solana_client;
//! # use solana_program::example_mocks::solana_rpc_client;
//! # use solana_sdk::account::Account;
//! # use solana_client::rpc_client::RpcClient;
//! # use solana_rpc_client::rpc_client::RpcClient;
//! # use solana_sdk::sysvar::slot_hashes::{self, SlotHashes};
//! # use anyhow::Result;
//! #

View File

@ -18,9 +18,9 @@
//!
//! ```
//! # use solana_program::example_mocks::solana_sdk;
//! # use solana_program::example_mocks::solana_client;
//! # use solana_program::example_mocks::solana_rpc_client;
//! # use solana_sdk::account::Account;
//! # use solana_client::rpc_client::RpcClient;
//! # use solana_rpc_client::rpc_client::RpcClient;
//! # use solana_sdk::sysvar::slot_history::{self, SlotHistory};
//! # use anyhow::Result;
//! #

View File

@ -18,9 +18,9 @@
//!
//! ```
//! # use solana_program::example_mocks::solana_sdk;
//! # use solana_program::example_mocks::solana_client;
//! # use solana_program::example_mocks::solana_rpc_client;
//! # use solana_sdk::account::Account;
//! # use solana_client::rpc_client::RpcClient;
//! # use solana_rpc_client::rpc_client::RpcClient;
//! # use solana_sdk::sysvar::stake_history::{self, StakeHistory};
//! # use anyhow::Result;
//! #

View File

@ -13,19 +13,10 @@
#![doc(hidden)]
#![cfg(feature = "full")]
pub mod solana_client {
pub mod client_error {
use thiserror::Error;
#[derive(Error, Debug)]
#[error("mock-error")]
pub struct ClientError;
pub type Result<T> = std::result::Result<T, ClientError>;
}
pub mod solana_rpc_client {
pub mod rpc_client {
use {
super::client_error::Result as ClientResult,
super::super::solana_rpc_client_api::client_error::Result as ClientResult,
crate::{hash::Hash, signature::Signature, transaction::Transaction},
};
@ -47,3 +38,14 @@ pub mod solana_client {
}
}
}
pub mod solana_rpc_client_api {
pub mod client_error {
use thiserror::Error;
#[derive(Error, Debug)]
#[error("mock-error")]
pub struct ClientError;
pub type Result<T> = std::result::Result<T, ClientError>;
}
}

View File

@ -417,9 +417,9 @@
//! The client program:
//!
//! ```no_run
//! # use solana_sdk::example_mocks::solana_client;
//! # use solana_sdk::example_mocks::solana_rpc_client;
//! use anyhow::Result;
//! use solana_client::rpc_client::RpcClient;
//! use solana_rpc_client::rpc_client::RpcClient;
//! use solana_sdk::{
//! instruction::{AccountMeta, Instruction},
//! secp256k1_instruction,
@ -633,9 +633,9 @@
//! The client program:
//!
//! ```no_run
//! # use solana_sdk::example_mocks::solana_client;
//! # use solana_sdk::example_mocks::solana_rpc_client;
//! use anyhow::Result;
//! use solana_client::rpc_client::RpcClient;
//! use solana_rpc_client::rpc_client::RpcClient;
//! use solana_sdk::{
//! instruction::{AccountMeta, Instruction},
//! keccak,

View File

@ -42,21 +42,21 @@
//! transaction nonce]_ mechanism instead of a recent blockhash to ensure unique
//! transactions.
//!
//! [`RpcClient::get_latest_blockhash`]: https://docs.rs/solana-client/latest/solana_client/rpc_client/struct.RpcClient.html#method.get_latest_blockhash
//! [`RpcClient::get_latest_blockhash`]: https://docs.rs/solana-rpc-client/latest/solana_rpc_client/rpc_client/struct.RpcClient.html#method.get_latest_blockhash
//! [durable transaction nonce]: https://docs.solana.com/implemented-proposals/durable-tx-nonces
//!
//! # Examples
//!
//! This example uses the [`solana_client`] and [`anyhow`] crates.
//! This example uses the [`solana_rpc_client`] and [`anyhow`] crates.
//!
//! [`solana_client`]: https://docs.rs/solana-client
//! [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
//! [`anyhow`]: https://docs.rs/anyhow
//!
//! ```
//! # use solana_sdk::example_mocks::solana_client;
//! # use solana_sdk::example_mocks::solana_rpc_client;
//! use anyhow::Result;
//! use borsh::{BorshSerialize, BorshDeserialize};
//! use solana_client::rpc_client::RpcClient;
//! use solana_rpc_client::rpc_client::RpcClient;
//! use solana_sdk::{
//! instruction::Instruction,
//! message::Message,
@ -206,16 +206,16 @@ impl Transaction {
///
/// # Examples
///
/// This example uses the [`solana_client`] and [`anyhow`] crates.
/// This example uses the [`solana_rpc_client`] and [`anyhow`] crates.
///
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_sdk::example_mocks::solana_client;
/// # use solana_sdk::example_mocks::solana_rpc_client;
/// use anyhow::Result;
/// use borsh::{BorshSerialize, BorshDeserialize};
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// instruction::Instruction,
/// message::Message,
@ -285,16 +285,16 @@ impl Transaction {
///
/// # Examples
///
/// This example uses the [`solana_client`] and [`anyhow`] crates.
/// This example uses the [`solana_rpc_client`] and [`anyhow`] crates.
///
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_sdk::example_mocks::solana_client;
/// # use solana_sdk::example_mocks::solana_rpc_client;
/// use anyhow::Result;
/// use borsh::{BorshSerialize, BorshDeserialize};
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// instruction::Instruction,
/// message::Message,
@ -364,16 +364,16 @@ impl Transaction {
///
/// # Examples
///
/// This example uses the [`solana_client`] and [`anyhow`] crates.
/// This example uses the [`solana_rpc_client`] and [`anyhow`] crates.
///
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_sdk::example_mocks::solana_client;
/// # use solana_sdk::example_mocks::solana_rpc_client;
/// use anyhow::Result;
/// use borsh::{BorshSerialize, BorshDeserialize};
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// instruction::Instruction,
/// message::Message,
@ -440,16 +440,16 @@ impl Transaction {
///
/// # Examples
///
/// This example uses the [`solana_client`] and [`anyhow`] crates.
/// This example uses the [`solana_rpc_client`] and [`anyhow`] crates.
///
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_sdk::example_mocks::solana_client;
/// # use solana_sdk::example_mocks::solana_rpc_client;
/// use anyhow::Result;
/// use borsh::{BorshSerialize, BorshDeserialize};
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// instruction::Instruction,
/// message::Message,
@ -648,16 +648,16 @@ impl Transaction {
///
/// # Examples
///
/// This example uses the [`solana_client`] and [`anyhow`] crates.
/// This example uses the [`solana_rpc_client`] and [`anyhow`] crates.
///
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_sdk::example_mocks::solana_client;
/// # use solana_sdk::example_mocks::solana_rpc_client;
/// use anyhow::Result;
/// use borsh::{BorshSerialize, BorshDeserialize};
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// instruction::Instruction,
/// message::Message,
@ -789,16 +789,16 @@ impl Transaction {
///
/// # Examples
///
/// This example uses the [`solana_client`] and [`anyhow`] crates.
/// This example uses the [`solana_rpc_client`] and [`anyhow`] crates.
///
/// [`solana_client`]: https://docs.rs/solana-client
/// [`solana_rpc_client`]: https://docs.rs/solana-rpc-client
/// [`anyhow`]: https://docs.rs/anyhow
///
/// ```
/// # use solana_sdk::example_mocks::solana_client;
/// # use solana_sdk::example_mocks::solana_rpc_client;
/// use anyhow::Result;
/// use borsh::{BorshSerialize, BorshDeserialize};
/// use solana_client::rpc_client::RpcClient;
/// use solana_rpc_client::rpc_client::RpcClient;
/// use solana_sdk::{
/// instruction::Instruction,
/// message::Message,