[docs] updated readme and fix links (#34565)

* feat: updated readme

* fix: updated links

* fix: proposal links

* fix: more links

* fix: json-rpc links

* fix: more links

* fix: zk links

* fix: managing forks

* fix: links for deprecated methods
This commit is contained in:
Nick Frostbutter 2024-01-03 09:06:06 -05:00 committed by GitHub
parent d6146af02d
commit fc2a8794be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
65 changed files with 416 additions and 410 deletions

View File

@ -1,10 +1,11 @@
# Changelog # Changelog
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
Please follow the [guidance](#adding-to-this-changelog) at the bottom of this file when making changes Please follow the [guidance](#adding-to-this-changelog) at the bottom of this file when making changes
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
and follows a [Backwards Compatibility Policy](https://docs.solana.com/developing/backwards-compatibility) and follows a [Backwards Compatibility Policy](https://docs.solanalabs.com/backwards-compatibility)
Release channels have their own copy of this changelog: Release channels have their own copy of this changelog:
* [edge - v1.18](#edge-channel) * [edge - v1.18](#edge-channel)

View File

@ -315,17 +315,17 @@ Inventing new terms is allowed, but should only be done when the term is widely
used and understood. Avoid introducing new 3-letter terms, which can be used and understood. Avoid introducing new 3-letter terms, which can be
confused with 3-letter acronyms. confused with 3-letter acronyms.
[Terms currently in use](docs/src/terminology.md) [Terms currently in use](https://solana.com/docs/terminology)
## Design Proposals ## Design Proposals
Solana's architecture is described by docs generated from markdown files in the `docs/src/` This Solana validator client's architecture is described by docs generated from markdown files in the `docs/src/`
directory and viewable on the official [Solana Documentation](https://docs.solana.com) website. directory and viewable on the official [Solana Labs Validator Client](https://docs.solanalabs.com) documentation website.
Current design proposals may be viewed on the docs site: Current design proposals may be viewed on the docs site:
1. [Accepted Proposals](https://docs.solana.com/proposals/accepted-design-proposals) 1. [Accepted Proposals](https://docs.solanalabs.com/proposals/accepted-design-proposals)
2. [Implemented Proposals](https://docs.solana.com/implemented-proposals/implemented-proposals) 2. [Implemented Proposals](https://docs.solanalabs.com/implemented-proposals/implemented-proposals)
New design proposals should follow this guide on [how to submit a design proposal](./docs/src/proposals.md#submit-a-design-proposal). New design proposals should follow this guide on [how to submit a design proposal](./docs/src/proposals.md#submit-a-design-proposal).

View File

@ -66,11 +66,13 @@ $ ./cargo test
``` ```
### Starting a local testnet ### Starting a local testnet
Start your own testnet locally, instructions are in the [online docs](https://docs.solana.com/cluster/bench-tps).
Start your own testnet locally, instructions are in the [online docs](https://docs.solanalabs.com/clusters/benchmark).
### Accessing the remote development cluster ### Accessing the remote development cluster
* `devnet` - stable public cluster for development accessible via * `devnet` - stable public cluster for development accessible via
devnet.solana.com. Runs 24/7. Learn more about the [public clusters](https://docs.solana.com/clusters) devnet.solana.com. Runs 24/7. Learn more about the [public clusters](https://docs.solanalabs.com/clusters)
# Benchmarking # Benchmarking

View File

@ -2,7 +2,7 @@
//! //!
//! For more information, see: //! For more information, see:
//! //!
//! <https://docs.solana.com/implemented-proposals/persistent-account-storage> //! <https://docs.solanalabs.com/implemented-proposals/persistent-account-storage>
use { use {
crate::{ crate::{

View File

@ -9,7 +9,7 @@ pub const NONCE_ARG: ArgConstant<'static> = ArgConstant {
help: "Provide the nonce account to use when creating a nonced \n\ help: "Provide the nonce account to use when creating a nonced \n\
transaction. Nonced transactions are useful when a transaction \n\ transaction. Nonced transactions are useful when a transaction \n\
requires a lengthy signing process. Learn more about nonced \n\ requires a lengthy signing process. Learn more about nonced \n\
transactions at https://docs.solana.com/offline-signing/durable-nonce", transactions at https://docs.solanalabs.com/cli/examples/durable-nonce",
}; };
pub const NONCE_AUTHORITY_ARG: ArgConstant<'static> = ArgConstant { pub const NONCE_AUTHORITY_ARG: ArgConstant<'static> = ArgConstant {

View File

@ -9,7 +9,7 @@ pub const NONCE_ARG: ArgConstant<'static> = ArgConstant {
help: "Provide the nonce account to use when creating a nonced \n\ help: "Provide the nonce account to use when creating a nonced \n\
transaction. Nonced transactions are useful when a transaction \n\ transaction. Nonced transactions are useful when a transaction \n\
requires a lengthy signing process. Learn more about nonced \n\ requires a lengthy signing process. Learn more about nonced \n\
transactions at https://docs.solana.com/offline-signing/durable-nonce", transactions at https://docs.solanalabs.com/cli/examples/durable-nonce",
}; };
pub const NONCE_AUTHORITY_ARG: ArgConstant<'static> = ArgConstant { pub const NONCE_AUTHORITY_ARG: ArgConstant<'static> = ArgConstant {

View File

@ -34,7 +34,7 @@ pub struct Config {
/// ///
/// For local testing, the typical value is `http://localhost:8899`. /// For local testing, the typical value is `http://localhost:8899`.
/// ///
/// [rpcdocs]: https://docs.solana.com/cluster/rpc-endpoints /// [rpcdocs]: https://solana.com/docs/core/clusters
pub json_rpc_url: String, pub json_rpc_url: String,
/// The address to connect to for receiving event notifications. /// The address to connect to for receiving event notifications.
/// ///

View File

@ -1,6 +1,6 @@
//! Fork Selection Simulation //! Fork Selection Simulation
//! //!
//! Description of the algorithm can be found in [docs/src/cluster/managing-forks.md](docs/src/cluster/managing-forks.md). //! Description of the algorithm can be found in [Managing Forks](https://docs.solanalabs.com/consensus/managing-forks).
//! //!
//! A test library function exists for configuring networks. //! A test library function exists for configuring networks.
//! ``` //! ```

View File

@ -1,8 +1,17 @@
# Solana Validator Docs Readme # Solana Validator Docs Readme
This validator's docs are built using [Docusaurus v2](https://v2.docusaurus.io/) with `npm`. This validator's documentation is built using [Docusaurus v2](https://v2.docusaurus.io/) with `npm`.
Static content delivery is handled using `vercel`. Static content delivery is handled using `vercel`.
> Note: The documentation within this repo is specifically focused on the
> Solana validator client maintained by Solana Labs. The more "common"
> documentation which is generalize to the Solana protocol as a whole, and apply
> to all Solana validator implementations, are maintained within the
> [`developer-content`](https://github.com/solana-foundation/developer-content/)
> repo. Those "common docs" are manged by the Solana Foundation within their
> GitHub organization and are publicly accessible via
> [solana.com/docs](https://solana.com/docs)
## Local Development ## Local Development
To set up the Solana Validator Docs site locally: To set up the Solana Validator Docs site locally:

View File

@ -121,6 +121,7 @@ cat > "$CONFIG_FILE" <<EOF
{ "destination": "https://solana.com/docs/core/transactions/retry", "source": "/integrations/retrying-transactions" }, { "destination": "https://solana.com/docs/core/transactions/retry", "source": "/integrations/retrying-transactions" },
{ "destination": "https://solana.com/docs/intro/dev", "source": "/developing/programming-model/overview" }, { "destination": "https://solana.com/docs/intro/dev", "source": "/developing/programming-model/overview" },
{ "destination": "https://solana.com/docs/advanced/lookup-tables", "source": "/developing/lookup-tables" }, { "destination": "https://solana.com/docs/advanced/lookup-tables", "source": "/developing/lookup-tables" },
{ "destination": "https://solana.com/docs", "source": "/developers" },
{ "destination": "https://solana.com/docs/advanced/state-compression", "source": "/learn/state-compression" }, { "destination": "https://solana.com/docs/advanced/state-compression", "source": "/learn/state-compression" },
{ "destination": "https://solana.com/developers/guides/javascript/compressed-nfts", "source": "/developing/guides/compressed-nfts" }, { "destination": "https://solana.com/developers/guides/javascript/compressed-nfts", "source": "/developing/guides/compressed-nfts" },
{ "destination": "https://solana.com/docs/programs", "source": "/developing/on-chain-programs/overview" }, { "destination": "https://solana.com/docs/programs", "source": "/developing/on-chain-programs/overview" },

View File

@ -4,18 +4,17 @@ There's a need for RPC to serve at least 6 months of transaction history. The
current history, on the order of days, is insufficient for downstream users. current history, on the order of days, is insufficient for downstream users.
6 months of transaction data cannot be stored practically in a validator's 6 months of transaction data cannot be stored practically in a validator's
rocksdb ledger so an external data store is necessary. The validator's rocksdb ledger so an external data store is necessary. The validator's rocksdb
rocksdb ledger will continue to serve as the primary data source, and then will ledger will continue to serve as the primary data source, and then will fall
fall back to the external data store. back to the external data store.
The affected RPC endpoints are: The affected RPC endpoints are:
- [getFirstAvailableBlock](https://solana.com/docs/rpc/http/getfirstavailableblock) - [getFirstAvailableBlock](https://solana.com/docs/rpc/http/getfirstavailableblock)
- [getConfirmedBlock](https://solana.com/docs/rpc/http/getconfirmedblock) - [getConfirmedBlock](https://solana.com/docs/rpc/deprecated/getconfirmedblock)
- [getConfirmedBlocks](https://solana.com/docs/rpc/http/getconfirmedblocks) - [getConfirmedBlocks](https://solana.com/docs/rpc/deprecated/getconfirmedblocks)
- [getConfirmedSignaturesForAddress](https://solana.com/docs/rpc/http/getconfirmedsignaturesforaddress) - [getConfirmedSignaturesForAddress](https://solana.com/docs/rpc/http/getconfirmedsignaturesforaddress)
- [getConfirmedTransaction](https://solana.com/docs/rpc/http/getconfirmedtransaction) - [getConfirmedTransaction](https://solana.com/docs/rpc/deprecated/getConfirmedTransaction)
- [getSignatureStatuses](https://solana.com/docs/rpc/http/getsignaturestatuses) - [getSignatureStatuses](https://solana.com/docs/rpc/http/getsignaturestatuses)
- [getBlockTime](https://solana.com/docs/rpc/http/getblocktime) - [getBlockTime](https://solana.com/docs/rpc/http/getblocktime)
@ -41,19 +40,19 @@ store.
A BigTable instance is used to hold all transaction data, broken up into A BigTable instance is used to hold all transaction data, broken up into
different tables for quick searching. different tables for quick searching.
New data may be copied into the instance at anytime without affecting the existing New data may be copied into the instance at anytime without affecting the
data, and all data is immutable. Generally the expectation is that new data existing data, and all data is immutable. Generally the expectation is that new
will be uploaded once an current epoch completes but there is no limitation on data will be uploaded once an current epoch completes but there is no limitation
the frequency of data dumps. on the frequency of data dumps.
Cleanup of old data is automatic by configuring the data retention policy of the Cleanup of old data is automatic by configuring the data retention policy of the
instance tables appropriately, it just disappears. Therefore the order of when data is instance tables appropriately, it just disappears. Therefore the order of when
added becomes important. For example if data from epoch N-1 is added after data data is added becomes important. For example if data from epoch N-1 is added
from epoch N, the older epoch data will outlive the newer data. However beyond after data from epoch N, the older epoch data will outlive the newer data.
producing _holes_ in query results, this kind of unordered deletion will However beyond producing _holes_ in query results, this kind of unordered
have no ill effect. Note that this method of cleanup effectively allows for an deletion will have no ill effect. Note that this method of cleanup effectively
unlimited amount of transaction data to be stored, restricted only by the allows for an unlimited amount of transaction data to be stored, restricted only
monetary costs of doing so. by the monetary costs of doing so.
The table layout s supports the existing RPC endpoints only. New RPC endpoints The table layout s supports the existing RPC endpoints only. New RPC endpoints
in the future may require additions to the schema and potentially iterating over in the future may require additions to the schema and potentially iterating over
@ -62,15 +61,15 @@ all transactions to build up the necessary metadata.
## Accessing BigTable ## Accessing BigTable
BigTable has a gRPC endpoint that can be accessed using the BigTable has a gRPC endpoint that can be accessed using the
[tonic](https://crates.io/crates/crate)] and the raw protobuf API, as currently no [tonic](https://crates.io/crates/crate)] and the raw protobuf API, as currently
higher-level Rust crate for BigTable exists. Practically this makes parsing the no higher-level Rust crate for BigTable exists. Practically this makes parsing
results of BigTable queries more complicated but is not a significant issue. the results of BigTable queries more complicated but is not a significant issue.
## Data Population ## Data Population
The ongoing population of instance data will occur on an epoch cadence through the The ongoing population of instance data will occur on an epoch cadence through
use of a new `solana-ledger-tool` command that will convert rocksdb data for a the use of a new `solana-ledger-tool` command that will convert rocksdb data for
given slot range into the instance schema. a given slot range into the instance schema.
The same process will be run once, manually, to backfill the existing ledger The same process will be run once, manually, to backfill the existing ledger
data. data.
@ -81,8 +80,8 @@ This table contains the compressed block data for a given slot.
The row key is generated by taking the 16 digit lower case hexadecimal The row key is generated by taking the 16 digit lower case hexadecimal
representation of the slot, to ensure that the oldest slot with a confirmed representation of the slot, to ensure that the oldest slot with a confirmed
block will always be first when the rows are listed. eg, The row key for slot block will always be first when the rows are listed. eg, The row key for slot 42
42 would be 000000000000002a. would be 000000000000002a.
The row data is a compressed `StoredConfirmedBlock` struct. The row data is a compressed `StoredConfirmedBlock` struct.
@ -90,19 +89,21 @@ The row data is a compressed `StoredConfirmedBlock` struct.
This table contains the transactions that affect a given address. This table contains the transactions that affect a given address.
The row key is `<base58 address>/<slot-id-one's-compliment-hex-slot-0-prefixed-to-16-digits>`. The row The row key is
data is a compressed `TransactionByAddrInfo` struct. `<base58 address>/<slot-id-one's-compliment-hex-slot-0-prefixed-to-16-digits>`.
The row data is a compressed `TransactionByAddrInfo` struct.
Taking the one's compliment of the slot allows for listing of slots ensures that Taking the one's compliment of the slot allows for listing of slots ensures that
the newest slot with transactions that affect an address will always the newest slot with transactions that affect an address will always be listed
be listed first. first.
Sysvar addresses are not indexed. However frequently used programs such as Sysvar addresses are not indexed. However frequently used programs such as Vote
Vote or System are, and will likely have a row for every confirmed slot. or System are, and will likely have a row for every confirmed slot.
### Transaction Signature Lookup Table: `tx` ### Transaction Signature Lookup Table: `tx`
This table maps a transaction signature to its confirmed block, and index within that block. This table maps a transaction signature to its confirmed block, and index within
that block.
The row key is the base58-encoded transaction signature. The row key is the base58-encoded transaction signature.
The row data is a compressed `TransactionInfo` struct. The row data is a compressed `TransactionInfo` struct.

View File

@ -96,7 +96,7 @@ account.
This is a normal transaction so the standard transaction fee will apply. The This is a normal transaction so the standard transaction fee will apply. The
transaction fee range is defined by the genesis block. The actual fee will transaction fee range is defined by the genesis block. The actual fee will
fluctuate based on transaction load. You can determine the current fee via the fluctuate based on transaction load. You can determine the current fee via the
[RPC API “getRecentBlockhash”](https://solana.com/docs/rpc/http/getrecentblockhash) before submitting [RPC API “getRecentBlockhash”](https://solana.com/docs/rpc/deprecated/getrecentblockhash) before submitting
a transaction. a transaction.
Learn more about Learn more about

View File

@ -20,6 +20,6 @@ The https://github.com/solana-labs/solana-accountsdb-plugin-postgres repository
provides an example of how to create a plugin which saves the accounts data into provides an example of how to create a plugin which saves the accounts data into
an external PostgreSQL database. an external PostgreSQL database.
More information about Solana is available in the [Solana documentation](https://docs.solana.com/). More information about Solana is available in the [Solana documentation](https://solana.com/docs).
Still have questions? Ask us on [Stack Exchange](https://sola.na/sse) Still have questions? Ask us on [Stack Exchange](https://sola.na/sse)

View File

@ -4629,7 +4629,7 @@ fn adjust_ulimit_nofile(enforce_ulimit_nofile: bool) -> Result<()> {
// usually not enough // usually not enough
// AppendVecs and disk Account Index are also heavy users of mmapped files. // AppendVecs and disk Account Index are also heavy users of mmapped files.
// This should be kept in sync with published validator instructions. // This should be kept in sync with published validator instructions.
// https://docs.solana.com/running-validator/validator-start#increased-memory-mapped-files-limit // https://docs.solanalabs.com/operations/guides/validator-start#increased-memory-mapped-files-limit
let desired_nofile = 1_000_000; let desired_nofile = 1_000_000;
fn get_nofile() -> libc::rlimit { fn get_nofile() -> libc::rlimit {

View File

@ -4,7 +4,7 @@
/// The maximum allowed size, in bytes, of the accounts data /// The maximum allowed size, in bytes, of the accounts data
/// 128 GB was chosen because it is the RAM amount listed under Hardware Recommendations on /// 128 GB was chosen because it is the RAM amount listed under Hardware Recommendations on
/// [Validator Requirements](https://docs.solana.com/running-validator/validator-reqs), and /// [Validator Requirements](https://docs.solanalabs.com/operations/requirements), and
/// validators often put the ledger on a RAM disk (i.e. tmpfs). /// validators often put the ledger on a RAM disk (i.e. tmpfs).
pub const MAX_ACCOUNTS_DATA_LEN: u64 = 128_000_000_000; pub const MAX_ACCOUNTS_DATA_LEN: u64 = 128_000_000_000;

View File

@ -3,7 +3,7 @@
//! The [`PubsubClient`] implements [Solana WebSocket event //! The [`PubsubClient`] implements [Solana WebSocket event
//! subscriptions][spec]. //! subscriptions][spec].
//! //!
//! [spec]: https://docs.solana.com/api/websocket#subscription-websocket //! [spec]: https://solana.com/docs/rpc/websocket
//! //!
//! This is a nonblocking (async) API. For a blocking API use the synchronous //! This is a nonblocking (async) API. For a blocking API use the synchronous
//! client in [`crate::pubsub_client`]. //! client in [`crate::pubsub_client`].
@ -366,7 +366,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`accountSubscribe`] RPC method. /// This method corresponds directly to the [`accountSubscribe`] RPC method.
/// ///
/// [`accountSubscribe`]: https://docs.solana.com/api/websocket#accountsubscribe /// [`accountSubscribe`]: https://solana.com/docs/rpc/websocket#accountsubscribe
pub async fn account_subscribe( pub async fn account_subscribe(
&self, &self,
pubkey: &Pubkey, pubkey: &Pubkey,
@ -387,7 +387,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`blockSubscribe`] RPC method. /// This method corresponds directly to the [`blockSubscribe`] RPC method.
/// ///
/// [`blockSubscribe`]: https://docs.solana.com/api/websocket#blocksubscribe /// [`blockSubscribe`]: https://solana.com/docs/rpc/websocket#blocksubscribe
pub async fn block_subscribe( pub async fn block_subscribe(
&self, &self,
filter: RpcBlockSubscribeFilter, filter: RpcBlockSubscribeFilter,
@ -404,7 +404,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`logsSubscribe`] RPC method. /// This method corresponds directly to the [`logsSubscribe`] RPC method.
/// ///
/// [`logsSubscribe`]: https://docs.solana.com/api/websocket#logssubscribe /// [`logsSubscribe`]: https://solana.com/docs/rpc/websocket#logssubscribe
pub async fn logs_subscribe( pub async fn logs_subscribe(
&self, &self,
filter: RpcTransactionLogsFilter, filter: RpcTransactionLogsFilter,
@ -422,7 +422,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`programSubscribe`] RPC method. /// This method corresponds directly to the [`programSubscribe`] RPC method.
/// ///
/// [`programSubscribe`]: https://docs.solana.com/api/websocket#programsubscribe /// [`programSubscribe`]: https://solana.com/docs/rpc/websocket#programsubscribe
pub async fn program_subscribe( pub async fn program_subscribe(
&self, &self,
pubkey: &Pubkey, pubkey: &Pubkey,
@ -458,7 +458,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`voteSubscribe`] RPC method. /// This method corresponds directly to the [`voteSubscribe`] RPC method.
/// ///
/// [`voteSubscribe`]: https://docs.solana.com/api/websocket#votesubscribe /// [`voteSubscribe`]: https://solana.com/docs/rpc/websocket#votesubscribe
pub async fn vote_subscribe(&self) -> SubscribeResult<'_, RpcVote> { pub async fn vote_subscribe(&self) -> SubscribeResult<'_, RpcVote> {
self.subscribe("vote", json!([])).await self.subscribe("vote", json!([])).await
} }
@ -468,13 +468,13 @@ impl PubsubClient {
/// Receives messages of type [`Slot`] when a new [root] is set by the /// Receives messages of type [`Slot`] when a new [root] is set by the
/// validator. /// validator.
/// ///
/// [root]: https://docs.solana.com/terminology#root /// [root]: https://solana.com/docs/terminology#root
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`rootSubscribe`] RPC method. /// This method corresponds directly to the [`rootSubscribe`] RPC method.
/// ///
/// [`rootSubscribe`]: https://docs.solana.com/api/websocket#rootsubscribe /// [`rootSubscribe`]: https://solana.com/docs/rpc/websocket#rootsubscribe
pub async fn root_subscribe(&self) -> SubscribeResult<'_, Slot> { pub async fn root_subscribe(&self) -> SubscribeResult<'_, Slot> {
self.subscribe("root", json!([])).await self.subscribe("root", json!([])).await
} }
@ -491,7 +491,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`signatureSubscribe`] RPC method. /// This method corresponds directly to the [`signatureSubscribe`] RPC method.
/// ///
/// [`signatureSubscribe`]: https://docs.solana.com/api/websocket#signaturesubscribe /// [`signatureSubscribe`]: https://solana.com/docs/rpc/websocket#signaturesubscribe
pub async fn signature_subscribe( pub async fn signature_subscribe(
&self, &self,
signature: &Signature, signature: &Signature,
@ -509,7 +509,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`slotSubscribe`] RPC method. /// This method corresponds directly to the [`slotSubscribe`] RPC method.
/// ///
/// [`slotSubscribe`]: https://docs.solana.com/api/websocket#slotsubscribe /// [`slotSubscribe`]: https://solana.com/docs/rpc/websocket#slotsubscribe
pub async fn slot_subscribe(&self) -> SubscribeResult<'_, SlotInfo> { pub async fn slot_subscribe(&self) -> SubscribeResult<'_, SlotInfo> {
self.subscribe("slot", json!([])).await self.subscribe("slot", json!([])).await
} }
@ -527,7 +527,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`slotUpdatesSubscribe`] RPC method. /// This method corresponds directly to the [`slotUpdatesSubscribe`] RPC method.
/// ///
/// [`slotUpdatesSubscribe`]: https://docs.solana.com/api/websocket#slotsupdatessubscribe /// [`slotUpdatesSubscribe`]: https://solana.com/docs/rpc/websocket#slotsupdatessubscribe
pub async fn slot_updates_subscribe(&self) -> SubscribeResult<'_, SlotUpdate> { pub async fn slot_updates_subscribe(&self) -> SubscribeResult<'_, SlotUpdate> {
self.subscribe("slotsUpdates", json!([])).await self.subscribe("slotsUpdates", json!([])).await
} }

View File

@ -3,7 +3,7 @@
//! The [`PubsubClient`] implements [Solana WebSocket event //! The [`PubsubClient`] implements [Solana WebSocket event
//! subscriptions][spec]. //! subscriptions][spec].
//! //!
//! [spec]: https://docs.solana.com/api/websocket //! [spec]: https://solana.com/docs/rpc/websocket
//! //!
//! This is a blocking API. For a non-blocking API use the asynchronous client //! This is a blocking API. For a non-blocking API use the asynchronous client
//! in [`crate::nonblocking::pubsub_client`]. //! in [`crate::nonblocking::pubsub_client`].
@ -369,7 +369,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`accountSubscribe`] RPC method. /// This method corresponds directly to the [`accountSubscribe`] RPC method.
/// ///
/// [`accountSubscribe`]: https://docs.solana.com/api/websocket#accountsubscribe /// [`accountSubscribe`]: https://solana.com/docs/rpc/websocket/accountsubscribe
pub fn account_subscribe( pub fn account_subscribe(
url: &str, url: &str,
pubkey: &Pubkey, pubkey: &Pubkey,
@ -422,7 +422,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`blockSubscribe`] RPC method. /// This method corresponds directly to the [`blockSubscribe`] RPC method.
/// ///
/// [`blockSubscribe`]: https://docs.solana.com/api/websocket#blocksubscribe /// [`blockSubscribe`]: https://solana.com/docs/rpc/websocket/blocksubscribe
pub fn block_subscribe( pub fn block_subscribe(
url: &str, url: &str,
filter: RpcBlockSubscribeFilter, filter: RpcBlockSubscribeFilter,
@ -470,7 +470,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`logsSubscribe`] RPC method. /// This method corresponds directly to the [`logsSubscribe`] RPC method.
/// ///
/// [`logsSubscribe`]: https://docs.solana.com/api/websocket#logssubscribe /// [`logsSubscribe`]: https://solana.com/docs/rpc/websocket/logssubscribe
pub fn logs_subscribe( pub fn logs_subscribe(
url: &str, url: &str,
filter: RpcTransactionLogsFilter, filter: RpcTransactionLogsFilter,
@ -519,7 +519,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`programSubscribe`] RPC method. /// This method corresponds directly to the [`programSubscribe`] RPC method.
/// ///
/// [`programSubscribe`]: https://docs.solana.com/api/websocket#programsubscribe /// [`programSubscribe`]: https://solana.com/docs/rpc/websocket/programsubscribe
pub fn program_subscribe( pub fn program_subscribe(
url: &str, url: &str,
pubkey: &Pubkey, pubkey: &Pubkey,
@ -584,7 +584,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`voteSubscribe`] RPC method. /// This method corresponds directly to the [`voteSubscribe`] RPC method.
/// ///
/// [`voteSubscribe`]: https://docs.solana.com/api/websocket#votesubscribe /// [`voteSubscribe`]: https://solana.com/docs/rpc/websocket/votesubscribe
pub fn vote_subscribe(url: &str) -> Result<VoteSubscription, PubsubClientError> { pub fn vote_subscribe(url: &str) -> Result<VoteSubscription, PubsubClientError> {
let url = Url::parse(url)?; let url = Url::parse(url)?;
let socket = connect_with_retry(url)?; let socket = connect_with_retry(url)?;
@ -623,13 +623,13 @@ impl PubsubClient {
/// Receives messages of type [`Slot`] when a new [root] is set by the /// Receives messages of type [`Slot`] when a new [root] is set by the
/// validator. /// validator.
/// ///
/// [root]: https://docs.solana.com/terminology#root /// [root]: https://solana.com/docs/terminology#root
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`rootSubscribe`] RPC method. /// This method corresponds directly to the [`rootSubscribe`] RPC method.
/// ///
/// [`rootSubscribe`]: https://docs.solana.com/api/websocket#rootsubscribe /// [`rootSubscribe`]: https://solana.com/docs/rpc/websocket/rootsubscribe
pub fn root_subscribe(url: &str) -> Result<RootSubscription, PubsubClientError> { pub fn root_subscribe(url: &str) -> Result<RootSubscription, PubsubClientError> {
let url = Url::parse(url)?; let url = Url::parse(url)?;
let socket = connect_with_retry(url)?; let socket = connect_with_retry(url)?;
@ -675,7 +675,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`signatureSubscribe`] RPC method. /// This method corresponds directly to the [`signatureSubscribe`] RPC method.
/// ///
/// [`signatureSubscribe`]: https://docs.solana.com/api/websocketi#signaturesubscribe /// [`signatureSubscribe`]: https://solana.com/docs/rpc/websocket/signaturesubscribe
pub fn signature_subscribe( pub fn signature_subscribe(
url: &str, url: &str,
signature: &Signature, signature: &Signature,
@ -726,7 +726,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`slotSubscribe`] RPC method. /// This method corresponds directly to the [`slotSubscribe`] RPC method.
/// ///
/// [`slotSubscribe`]: https://docs.solana.com/api/websocket#slotsubscribe /// [`slotSubscribe`]: https://solana.com/docs/rpc/websocket/slotsubscribe
pub fn slot_subscribe(url: &str) -> Result<SlotsSubscription, PubsubClientError> { pub fn slot_subscribe(url: &str) -> Result<SlotsSubscription, PubsubClientError> {
let url = Url::parse(url)?; let url = Url::parse(url)?;
let socket = connect_with_retry(url)?; let socket = connect_with_retry(url)?;
@ -774,7 +774,7 @@ impl PubsubClient {
/// ///
/// This method corresponds directly to the [`slotUpdatesSubscribe`] RPC method. /// This method corresponds directly to the [`slotUpdatesSubscribe`] RPC method.
/// ///
/// [`slotUpdatesSubscribe`]: https://docs.solana.com/api/websocket#slotsupdatessubscribe /// [`slotUpdatesSubscribe`]: https://solana.com/docs/rpc/websocket/slotsupdatessubscribe
pub fn slot_updates_subscribe( pub fn slot_updates_subscribe(
url: &str, url: &str,
handler: impl Fn(SlotUpdate) + Send + 'static, handler: impl Fn(SlotUpdate) + Send + 'static,

View File

@ -104,10 +104,10 @@ use {
/// ///
/// [`Finalized`]: CommitmentLevel::Finalized /// [`Finalized`]: CommitmentLevel::Finalized
/// [`Processed`]: CommitmentLevel::Processed /// [`Processed`]: CommitmentLevel::Processed
/// [jsonprot]: https://docs.solana.com/developing/clients/jsonrpc-api /// [jsonprot]: https://solana.com/docs/rpc
/// [JSON-RPC]: https://www.jsonrpc.org/specification /// [JSON-RPC]: https://www.jsonrpc.org/specification
/// [slots]: https://docs.solana.com/terminology#slot /// [slots]: https://solana.com/docs/terminology#slot
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Errors /// # Errors
/// ///
@ -176,7 +176,7 @@ impl RpcClient {
/// The client has a default timeout of 30 seconds, and a default [commitment /// The client has a default timeout of 30 seconds, and a default [commitment
/// level][cl] of [`Finalized`](CommitmentLevel::Finalized). /// level][cl] of [`Finalized`](CommitmentLevel::Finalized).
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Examples /// # Examples
/// ///
@ -191,7 +191,7 @@ impl RpcClient {
/// Create an HTTP `RpcClient` with specified [commitment level][cl]. /// Create an HTTP `RpcClient` with specified [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The URL is an HTTP URL, usually for port 8899, as in /// The URL is an HTTP URL, usually for port 8899, as in
/// "http://localhost:8899". /// "http://localhost:8899".
@ -223,7 +223,7 @@ impl RpcClient {
/// The client has and a default [commitment level][cl] of /// The client has and a default [commitment level][cl] of
/// [`Finalized`](CommitmentLevel::Finalized). /// [`Finalized`](CommitmentLevel::Finalized).
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Examples /// # Examples
/// ///
@ -243,7 +243,7 @@ impl RpcClient {
/// Create an HTTP `RpcClient` with specified timeout and [commitment level][cl]. /// Create an HTTP `RpcClient` with specified timeout and [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The URL is an HTTP URL, usually for port 8899, as in /// The URL is an HTTP URL, usually for port 8899, as in
/// "http://localhost:8899". /// "http://localhost:8899".
@ -276,7 +276,7 @@ impl RpcClient {
/// Create an HTTP `RpcClient` with specified timeout and [commitment level][cl]. /// Create an HTTP `RpcClient` with specified timeout and [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The URL is an HTTP URL, usually for port 8899, as in /// The URL is an HTTP URL, usually for port 8899, as in
/// "http://localhost:8899". /// "http://localhost:8899".
@ -448,7 +448,7 @@ impl RpcClient {
/// The client has a default timeout of 30 seconds, and a default [commitment /// The client has a default timeout of 30 seconds, and a default [commitment
/// level][cl] of [`Finalized`](CommitmentLevel::Finalized). /// level][cl] of [`Finalized`](CommitmentLevel::Finalized).
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Examples /// # Examples
/// ///
@ -464,7 +464,7 @@ impl RpcClient {
/// Create an HTTP `RpcClient` from a [`SocketAddr`] with specified [commitment level][cl]. /// Create an HTTP `RpcClient` from a [`SocketAddr`] with specified [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The client has a default timeout of 30 seconds, and a user-specified /// The client has a default timeout of 30 seconds, and a user-specified
/// [`CommitmentLevel`] via [`CommitmentConfig`]. /// [`CommitmentLevel`] via [`CommitmentConfig`].
@ -493,7 +493,7 @@ impl RpcClient {
/// ///
/// The client has a default [commitment level][cl] of [`Finalized`](CommitmentLevel::Finalized). /// The client has a default [commitment level][cl] of [`Finalized`](CommitmentLevel::Finalized).
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Examples /// # Examples
/// ///
@ -541,7 +541,7 @@ impl RpcClient {
/// Get the configured default [commitment level][cl]. /// Get the configured default [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The commitment config may be specified during construction, and /// The commitment config may be specified during construction, and
/// determines how thoroughly committed a transaction must be when waiting /// determines how thoroughly committed a transaction must be when waiting
@ -609,7 +609,7 @@ impl RpcClient {
/// Once this function returns successfully, the given transaction is /// Once this function returns successfully, the given transaction is
/// guaranteed to be processed with the configured [commitment level][cl]. /// guaranteed to be processed with the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// After sending the transaction, this method polls in a loop for the /// After sending the transaction, this method polls in a loop for the
/// status of the transaction until it has ben confirmed. /// status of the transaction until it has ben confirmed.
@ -639,8 +639,8 @@ impl RpcClient {
/// This method is built on the [`sendTransaction`] RPC method, and the /// This method is built on the [`sendTransaction`] RPC method, and the
/// [`getLatestBlockhash`] RPC method. /// [`getLatestBlockhash`] RPC method.
/// ///
/// [`sendTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// [`sendTransaction`]: https://solana.com/docs/rpc/http/sendtransaction
/// [`getLatestBlockhash`]: https://docs.solana.com/developing/clients/jsonrpc-api#getlatestblockhash /// [`getLatestBlockhash`]: https://solana.com/docs/rpc/http/getlatestblockhash
/// ///
/// # Examples /// # Examples
/// ///
@ -811,7 +811,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`sendTransaction`] RPC method. /// This method is built on the [`sendTransaction`] RPC method.
/// ///
/// [`sendTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// [`sendTransaction`]: https://solana.com/docs/rpc/http/sendtransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -900,7 +900,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`sendTransaction`] RPC method. /// This method is built on the [`sendTransaction`] RPC method.
/// ///
/// [`sendTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// [`sendTransaction`]: https://solana.com/docs/rpc/http/sendtransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -1014,7 +1014,7 @@ impl RpcClient {
/// with the configured [commitment level][cl], which can be retrieved with /// with the configured [commitment level][cl], which can be retrieved with
/// the [`commitment`](RpcClient::commitment) method. /// the [`commitment`](RpcClient::commitment) method.
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// Note that this method does not wait for a transaction to be confirmed /// Note that this method does not wait for a transaction to be confirmed
/// &mdash; it only checks whether a transaction has been confirmed. To /// &mdash; it only checks whether a transaction has been confirmed. To
@ -1028,7 +1028,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1073,7 +1073,7 @@ impl RpcClient {
/// Returns an [`RpcResult`] with value `true` if the given transaction /// Returns an [`RpcResult`] with value `true` if the given transaction
/// succeeded and has been committed with the given [commitment level][cl]. /// succeeded and has been committed with the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// Note that this method does not wait for a transaction to be confirmed /// Note that this method does not wait for a transaction to be confirmed
/// &mdash; it only checks whether a transaction has been confirmed. To /// &mdash; it only checks whether a transaction has been confirmed. To
@ -1087,7 +1087,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1255,7 +1255,7 @@ impl RpcClient {
/// Simulating a transaction is similar to the ["preflight check"] that is /// Simulating a transaction is similar to the ["preflight check"] that is
/// run by default when sending a transaction. /// run by default when sending a transaction.
/// ///
/// ["preflight check"]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// ["preflight check"]: https://solana.com/docs/rpc/http/sendtransaction
/// ///
/// By default, signatures are not verified during simulation. To verify /// By default, signatures are not verified during simulation. To verify
/// signatures, call the [`simulate_transaction_with_config`] method, with /// signatures, call the [`simulate_transaction_with_config`] method, with
@ -1269,7 +1269,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`simulateTransaction`] RPC method. /// This method is built on the [`simulateTransaction`] RPC method.
/// ///
/// [`simulateTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#simulatetransaction /// [`simulateTransaction`]: https://solana.com/docs/rpc/http/simulatetransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -1326,7 +1326,7 @@ impl RpcClient {
/// Simulating a transaction is similar to the ["preflight check"] that is /// Simulating a transaction is similar to the ["preflight check"] that is
/// run by default when sending a transaction. /// run by default when sending a transaction.
/// ///
/// ["preflight check"]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// ["preflight check"]: https://solana.com/docs/rpc/http/sendtransaction
/// ///
/// By default, signatures are not verified during simulation. To verify /// By default, signatures are not verified during simulation. To verify
/// signatures, call the [`simulate_transaction_with_config`] method, with /// signatures, call the [`simulate_transaction_with_config`] method, with
@ -1349,7 +1349,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`simulateTransaction`] RPC method. /// This method is built on the [`simulateTransaction`] RPC method.
/// ///
/// [`simulateTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#simulatetransaction /// [`simulateTransaction`]: https://solana.com/docs/rpc/http/simulatetransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -1421,7 +1421,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getHighestSnapshotSlot`] RPC method. /// This method corresponds directly to the [`getHighestSnapshotSlot`] RPC method.
/// ///
/// [`getHighestSnapshotSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#gethighestsnapshotslot /// [`getHighestSnapshotSlot`]: https://solana.com/docs/rpc/http/gethighestsnapshotslot
/// ///
/// # Examples /// # Examples
/// ///
@ -1461,7 +1461,7 @@ impl RpcClient {
/// Check if a transaction has been processed with the default [commitment level][cl]. /// Check if a transaction has been processed with the default [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// If the transaction has been processed with the default commitment level, /// If the transaction has been processed with the default commitment level,
/// then this method returns `Ok` of `Some`. If the transaction has not yet /// then this method returns `Ok` of `Some`. If the transaction has not yet
@ -1487,7 +1487,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#gitsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1556,7 +1556,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getSignatureStatuses`] RPC method. /// This method corresponds directly to the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1636,7 +1636,7 @@ impl RpcClient {
/// method, with the `searchTransactionHistory` configuration option set to /// method, with the `searchTransactionHistory` configuration option set to
/// `true`. /// `true`.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1681,7 +1681,7 @@ impl RpcClient {
/// Check if a transaction has been processed with the given [commitment level][cl]. /// Check if a transaction has been processed with the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// If the transaction has been processed with the given commitment level, /// If the transaction has been processed with the given commitment level,
/// then this method returns `Ok` of `Some`. If the transaction has not yet /// then this method returns `Ok` of `Some`. If the transaction has not yet
@ -1707,7 +1707,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1757,7 +1757,7 @@ impl RpcClient {
/// Check if a transaction has been processed with the given [commitment level][cl]. /// Check if a transaction has been processed with the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// If the transaction has been processed with the given commitment level, /// If the transaction has been processed with the given commitment level,
/// then this method returns `Ok` of `Some`. If the transaction has not yet /// then this method returns `Ok` of `Some`. If the transaction has not yet
@ -1779,7 +1779,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1834,13 +1834,13 @@ impl RpcClient {
/// Returns the slot that has reached the configured [commitment level][cl]. /// Returns the slot that has reached the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSlot`] RPC method. /// This method corresponds directly to the [`getSlot`] RPC method.
/// ///
/// [`getSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getslot /// [`getSlot`]: https://solana.com/docs/rpc/http/getslot
/// ///
/// # Examples /// # Examples
/// ///
@ -1860,13 +1860,13 @@ impl RpcClient {
/// Returns the slot that has reached the given [commitment level][cl]. /// Returns the slot that has reached the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSlot`] RPC method. /// This method corresponds directly to the [`getSlot`] RPC method.
/// ///
/// [`getSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getslot /// [`getSlot`]: https://solana.com/docs/rpc/http/getslot
/// ///
/// # Examples /// # Examples
/// ///
@ -1895,13 +1895,13 @@ impl RpcClient {
/// Returns the block height that has reached the configured [commitment level][cl]. /// Returns the block height that has reached the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method is corresponds directly to the [`getBlockHeight`] RPC method. /// This method is corresponds directly to the [`getBlockHeight`] RPC method.
/// ///
/// [`getBlockHeight`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockheight /// [`getBlockHeight`]: https://solana.com/docs/rpc/http/getblockheight
/// ///
/// # Examples /// # Examples
/// ///
@ -1922,13 +1922,13 @@ impl RpcClient {
/// Returns the block height that has reached the given [commitment level][cl]. /// Returns the block height that has reached the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method is corresponds directly to the [`getBlockHeight`] RPC method. /// This method is corresponds directly to the [`getBlockHeight`] RPC method.
/// ///
/// [`getBlockHeight`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockheight /// [`getBlockHeight`]: https://solana.com/docs/rpc/http/getblockheight
/// ///
/// # Examples /// # Examples
/// ///
@ -1963,7 +1963,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getSlotLeaders`] RPC method. /// This method corresponds directly to the [`getSlotLeaders`] RPC method.
/// ///
/// [`getSlotLeaders`]: https://docs.solana.com/developing/clients/jsonrpc-api#getslotleaders /// [`getSlotLeaders`]: https://solana.com/docs/rpc/http/getslotleaders
/// ///
/// # Examples /// # Examples
/// ///
@ -2006,7 +2006,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlockProduction`] RPC method. /// This method corresponds directly to the [`getBlockProduction`] RPC method.
/// ///
/// [`getBlockProduction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockproduction /// [`getBlockProduction`]: https://solana.com/docs/rpc/http/getblockproduction
/// ///
/// # Examples /// # Examples
/// ///
@ -2030,7 +2030,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlockProduction`] RPC method. /// This method corresponds directly to the [`getBlockProduction`] RPC method.
/// ///
/// [`getBlockProduction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockproduction /// [`getBlockProduction`]: https://solana.com/docs/rpc/http/getblockproduction
/// ///
/// # Examples /// # Examples
/// ///
@ -2080,13 +2080,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level]. /// This method uses the configured [commitment level].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getStakeActivation`] RPC method. /// This method corresponds directly to the [`getStakeActivation`] RPC method.
/// ///
/// [`getStakeActivation`]: https://docs.solana.com/developing/clients/jsonrpc-api#getstakeactivation /// [`getStakeActivation`]: https://solana.com/docs/rpc/http/getstakeactivation
/// ///
/// # Examples /// # Examples
/// ///
@ -2173,13 +2173,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSupply`] RPC method. /// This method corresponds directly to the [`getSupply`] RPC method.
/// ///
/// [`getSupply`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsupply /// [`getSupply`]: https://solana.com/docs/rpc/http/getsupply
/// ///
/// # Examples /// # Examples
/// ///
@ -2203,7 +2203,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getSupply`] RPC method. /// This method corresponds directly to the [`getSupply`] RPC method.
/// ///
/// [`getSupply`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsupply /// [`getSupply`]: https://solana.com/docs/rpc/http/getsupply
/// ///
/// # Examples /// # Examples
/// ///
@ -2239,7 +2239,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getLargestAccounts`] RPC /// This method corresponds directly to the [`getLargestAccounts`] RPC
/// method. /// method.
/// ///
/// [`getLargestAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getlargestaccounts /// [`getLargestAccounts`]: https://solana.com/docs/rpc/http/getlargestaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -2282,14 +2282,14 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts /// Returns the account info and associated stake for all the voting accounts
/// that have reached the configured [commitment level][cl]. /// that have reached the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getVoteAccounts`] /// This method corresponds directly to the [`getVoteAccounts`]
/// RPC method. /// RPC method.
/// ///
/// [`getVoteAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getvoteaccounts /// [`getVoteAccounts`]: https://solana.com/docs/rpc/http/getvoteaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -2311,13 +2311,13 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts /// Returns the account info and associated stake for all the voting accounts
/// that have reached the given [commitment level][cl]. /// that have reached the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getVoteAccounts`] RPC method. /// This method corresponds directly to the [`getVoteAccounts`] RPC method.
/// ///
/// [`getVoteAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getvoteaccounts /// [`getVoteAccounts`]: https://solana.com/docs/rpc/http/getvoteaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -2349,13 +2349,13 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts /// Returns the account info and associated stake for all the voting accounts
/// that have reached the given [commitment level][cl]. /// that have reached the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getVoteAccounts`] RPC method. /// This method corresponds directly to the [`getVoteAccounts`] RPC method.
/// ///
/// [`getVoteAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getvoteaccounts /// [`getVoteAccounts`]: https://solana.com/docs/rpc/http/getvoteaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -2435,7 +2435,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getClusterNodes`] /// This method corresponds directly to the [`getClusterNodes`]
/// RPC method. /// RPC method.
/// ///
/// [`getClusterNodes`]: https://docs.solana.com/developing/clients/jsonrpc-api#getclusternodes /// [`getClusterNodes`]: https://solana.com/docs/rpc/http/getclusternodes
/// ///
/// # Examples /// # Examples
/// ///
@ -2467,7 +2467,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getBlock`] RPC /// This method corresponds directly to the [`getBlock`] RPC
/// method. /// method.
/// ///
/// [`getBlock`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblock /// [`getBlock`]: https://solana.com/docs/rpc/http/getblock
/// ///
/// # Examples /// # Examples
/// ///
@ -2493,7 +2493,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlock`] RPC method. /// This method corresponds directly to the [`getBlock`] RPC method.
/// ///
/// [`getBlock`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblock /// [`getBlock`]: https://solana.com/docs/rpc/http/getblock
/// ///
/// # Examples /// # Examples
/// ///
@ -2531,7 +2531,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlock`] RPC method. /// This method corresponds directly to the [`getBlock`] RPC method.
/// ///
/// [`getBlock`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblock /// [`getBlock`]: https://solana.com/docs/rpc/http/getblock
/// ///
/// # Examples /// # Examples
/// ///
@ -2626,7 +2626,7 @@ impl RpcClient {
/// ///
/// [`Finalized`]: CommitmentLevel::Finalized /// [`Finalized`]: CommitmentLevel::Finalized
/// [`get_blocks_with_limit`]: RpcClient::get_blocks_with_limit. /// [`get_blocks_with_limit`]: RpcClient::get_blocks_with_limit.
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Errors /// # Errors
/// ///
@ -2638,8 +2638,8 @@ impl RpcClient {
/// the remote node version is less than 1.7, in which case it maps to the /// the remote node version is less than 1.7, in which case it maps to the
/// [`getConfirmedBlocks`] RPC method. /// [`getConfirmedBlocks`] RPC method.
/// ///
/// [`getBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocks /// [`getBlocks`]: https://solana.com/docs/rpc/http/getblocks
/// [`getConfirmedBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getConfirmedblocks /// [`getConfirmedBlocks`]: https://solana.com/docs/rpc/deprecated/getconfirmedblocks
/// ///
/// # Examples /// # Examples
/// ///
@ -2676,7 +2676,7 @@ impl RpcClient {
/// If `end_slot` is not provided, then the end slot is for the latest /// If `end_slot` is not provided, then the end slot is for the latest
/// block with the given [commitment level][cl]. /// block with the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// This method may not return blocks for the full range of slots if some /// This method may not return blocks for the full range of slots if some
/// slots do not have corresponding blocks. To simply get a specific number /// slots do not have corresponding blocks. To simply get a specific number
@ -2700,8 +2700,8 @@ impl RpcClient {
/// the remote node version is less than 1.7, in which case it maps to the /// the remote node version is less than 1.7, in which case it maps to the
/// [`getConfirmedBlocks`] RPC method. /// [`getConfirmedBlocks`] RPC method.
/// ///
/// [`getBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocks /// [`getBlocks`]: https://solana.com/docs/rpc/http/getblocks
/// [`getConfirmedBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getConfirmedblocks /// [`getConfirmedBlocks`]: https://solana.com/docs/rpc/deprecated/getconfirmedblocks
/// ///
/// # Examples /// # Examples
/// ///
@ -2752,7 +2752,7 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl]. /// This method uses the [`Finalized`] [commitment level][cl].
/// ///
/// [`Finalized`]: CommitmentLevel::Finalized. /// [`Finalized`]: CommitmentLevel::Finalized.
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Errors /// # Errors
/// ///
@ -2764,8 +2764,8 @@ impl RpcClient {
/// method, unless the remote node version is less than 1.7, in which case /// method, unless the remote node version is less than 1.7, in which case
/// it maps to the [`getConfirmedBlocksWithLimit`] RPC method. /// it maps to the [`getConfirmedBlocksWithLimit`] RPC method.
/// ///
/// [`getBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockswithlimit /// [`getBlocksWithLimit`]: https://solana.com/docs/rpc/http/getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedblockswithlimit /// [`getConfirmedBlocksWithLimit`]: https://solana.com/docs/rpc/deprecated/getconfirmedblockswithlimit
/// ///
/// # Examples /// # Examples
/// ///
@ -2804,7 +2804,7 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below /// This method returns an error if the given [commitment level][cl] is below
/// [`Confirmed`]. /// [`Confirmed`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Confirmed`]: CommitmentLevel::Confirmed /// [`Confirmed`]: CommitmentLevel::Confirmed
/// ///
/// # RPC Reference /// # RPC Reference
@ -2813,8 +2813,8 @@ impl RpcClient {
/// method, unless the remote node version is less than 1.7, in which case /// method, unless the remote node version is less than 1.7, in which case
/// it maps to the `getConfirmedBlocksWithLimit` RPC method. /// it maps to the `getConfirmedBlocksWithLimit` RPC method.
/// ///
/// [`getBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockswithlimit /// [`getBlocksWithLimit`]: https://solana.com/docs/rpc/http/getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedblockswithlimit /// [`getConfirmedBlocksWithLimit`]: https://solana.com/docs/rpc/deprecated/getconfirmedblockswithlimit
/// ///
/// # Examples /// # Examples
/// ///
@ -2941,16 +2941,14 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl]. /// This method uses the [`Finalized`] [commitment level][cl].
/// ///
/// [`Finalized`]: CommitmentLevel::Finalized. /// [`Finalized`]: CommitmentLevel::Finalized.
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSignaturesForAddress`] RPC /// This method corresponds directly to the [`getSignaturesForAddress`] RPC
/// method, unless the remote node version is less than 1.7, in which case /// method.
/// it maps to the [`getSignaturesForAddress2`] RPC method.
/// ///
/// [`getSignaturesForAddress`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress /// [`getSignaturesForAddress`]: https://solana.com/docs/rpc/http/getsignaturesforaddress
/// [`getSignaturesForAddress2`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress2
/// ///
/// # Examples /// # Examples
/// ///
@ -2990,17 +2988,15 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below /// This method returns an error if the given [commitment level][cl] is below
/// [`Confirmed`]. /// [`Confirmed`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Confirmed`]: CommitmentLevel::Confirmed /// [`Confirmed`]: CommitmentLevel::Confirmed
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSignaturesForAddress`] RPC /// This method corresponds directly to the [`getSignaturesForAddress`] RPC
/// method, unless the remote node version is less than 1.7, in which case /// method.
/// it maps to the [`getSignaturesForAddress2`] RPC method.
/// ///
/// [`getSignaturesForAddress`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress /// [`getSignaturesForAddress`]: https://solana.com/docs/rpc/http/getsignaturesforaddress
/// [`getSignaturesForAddress2`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress2
/// ///
/// # Examples /// # Examples
/// ///
@ -3110,7 +3106,7 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl]. /// This method uses the [`Finalized`] [commitment level][cl].
/// ///
/// [`Finalized`]: CommitmentLevel::Finalized /// [`Finalized`]: CommitmentLevel::Finalized
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
@ -3118,8 +3114,8 @@ impl RpcClient {
/// unless the remote node version is less than 1.7, in which case it maps /// unless the remote node version is less than 1.7, in which case it maps
/// to the [`getConfirmedTransaction`] RPC method. /// to the [`getConfirmedTransaction`] RPC method.
/// ///
/// [`getTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction /// [`getTransaction`]: https://solana.com/docs/rpc/http/gettransaction
/// [`getConfirmedTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedtransaction /// [`getConfirmedTransaction`]: https://solana.com/docs/rpc/deprecated/getConfirmedTransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -3168,7 +3164,7 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below /// This method returns an error if the given [commitment level][cl] is below
/// [`Confirmed`]. /// [`Confirmed`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Confirmed`]: CommitmentLevel::Confirmed /// [`Confirmed`]: CommitmentLevel::Confirmed
/// ///
/// # RPC Reference /// # RPC Reference
@ -3177,8 +3173,8 @@ impl RpcClient {
/// unless the remote node version is less than 1.7, in which case it maps /// unless the remote node version is less than 1.7, in which case it maps
/// to the [`getConfirmedTransaction`] RPC method. /// to the [`getConfirmedTransaction`] RPC method.
/// ///
/// [`getTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction /// [`getTransaction`]: https://solana.com/docs/rpc/http/gettransaction
/// [`getConfirmedTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedtransaction /// [`getConfirmedTransaction`]: https://solana.com/docs/rpc/deprecated/getConfirmedTransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -3269,7 +3265,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlockTime`] RPC method. /// This method corresponds directly to the [`getBlockTime`] RPC method.
/// ///
/// [`getBlockTime`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocktime /// [`getBlockTime`]: https://solana.com/docs/rpc/http/getblocktime
/// ///
/// # Examples /// # Examples
/// ///
@ -3306,13 +3302,13 @@ impl RpcClient {
/// ///
/// This method uses the configured default [commitment level][cl]. /// This method uses the configured default [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getEpochInfo`] RPC method. /// This method corresponds directly to the [`getEpochInfo`] RPC method.
/// ///
/// [`getEpochInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getepochinfo /// [`getEpochInfo`]: https://solana.com/docs/rpc/http/getepochinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -3336,7 +3332,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getEpochInfo`] RPC method. /// This method corresponds directly to the [`getEpochInfo`] RPC method.
/// ///
/// [`getEpochInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getepochinfo /// [`getEpochInfo`]: https://solana.com/docs/rpc/http/getepochinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -3369,13 +3365,13 @@ impl RpcClient {
/// ///
/// This method uses the configured default [commitment level][cl]. /// This method uses the configured default [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getLeaderSchedule`] RPC method. /// This method corresponds directly to the [`getLeaderSchedule`] RPC method.
/// ///
/// [`getLeaderSchedule`]: https://docs.solana.com/developing/clients/jsonrpc-api#getleaderschedule /// [`getLeaderSchedule`]: https://solana.com/docs/rpc/http/getleaderschedule
/// ///
/// # Examples /// # Examples
/// ///
@ -3407,7 +3403,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getLeaderSchedule`] RPC method. /// This method corresponds directly to the [`getLeaderSchedule`] RPC method.
/// ///
/// [`getLeaderSchedule`]: https://docs.solana.com/developing/clients/jsonrpc-api#getleaderschedule /// [`getLeaderSchedule`]: https://solana.com/docs/rpc/http/getleaderschedule
/// ///
/// # Examples /// # Examples
/// ///
@ -3448,7 +3444,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getLeaderSchedule`] RPC method. /// This method corresponds directly to the [`getLeaderSchedule`] RPC method.
/// ///
/// [`getLeaderSchedule`]: https://docs.solana.com/developing/clients/jsonrpc-api#getleaderschedule /// [`getLeaderSchedule`]: https://solana.com/docs/rpc/http/getleaderschedule
/// ///
/// # Examples /// # Examples
/// ///
@ -3490,7 +3486,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getEpochSchedule`] RPC method. /// This method corresponds directly to the [`getEpochSchedule`] RPC method.
/// ///
/// [`getEpochSchedule`]: https://docs.solana.com/developing/clients/jsonrpc-api#getepochschedule /// [`getEpochSchedule`]: https://solana.com/docs/rpc/http/getepochschedule
/// ///
/// # Examples /// # Examples
/// ///
@ -3517,7 +3513,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getRecentPerformanceSamples`] RPC method. /// This method corresponds directly to the [`getRecentPerformanceSamples`] RPC method.
/// ///
/// [`getRecentPerformanceSamples`]: https://docs.solana.com/developing/clients/jsonrpc-api#getrecentperformancesamples /// [`getRecentPerformanceSamples`]: https://solana.com/docs/rpc/http/getrecentperformancesamples
/// ///
/// # Examples /// # Examples
/// ///
@ -3553,7 +3549,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getRecentPrioritizationFees`] RPC method. /// This method corresponds directly to the [`getRecentPrioritizationFees`] RPC method.
/// ///
/// [`getRecentPrioritizationFees`]: https://docs.solana.com/developing/clients/jsonrpc-api#getrecentprioritizationfees /// [`getRecentPrioritizationFees`]: https://solana.com/docs/rpc/http/getrecentprioritizationfees
/// ///
/// # Examples /// # Examples
/// ///
@ -3591,7 +3587,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getIdentity`] RPC method. /// This method corresponds directly to the [`getIdentity`] RPC method.
/// ///
/// [`getIdentity`]: https://docs.solana.com/developing/clients/jsonrpc-api#getidentity /// [`getIdentity`]: https://solana.com/docs/rpc/http/getidentity
/// ///
/// # Examples /// # Examples
/// ///
@ -3621,14 +3617,14 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl]. /// This method uses the [`Finalized`] [commitment level][cl].
/// ///
/// [`Finalized`]: CommitmentLevel::Finalized /// [`Finalized`]: CommitmentLevel::Finalized
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getInflationGovernor`] RPC /// This method corresponds directly to the [`getInflationGovernor`] RPC
/// method. /// method.
/// ///
/// [`getInflationGovernor`]: https://docs.solana.com/developing/clients/jsonrpc-api#getinflationgovernor /// [`getInflationGovernor`]: https://solana.com/docs/rpc/http/getinflationgovernor
/// ///
/// # Examples /// # Examples
/// ///
@ -3653,7 +3649,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getInflationRate`] RPC method. /// This method corresponds directly to the [`getInflationRate`] RPC method.
/// ///
/// [`getInflationRate`]: https://docs.solana.com/developing/clients/jsonrpc-api#getinflationrate /// [`getInflationRate`]: https://solana.com/docs/rpc/http/getinflationrate
/// ///
/// # Examples /// # Examples
/// ///
@ -3675,13 +3671,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getInflationReward`] RPC method. /// This method corresponds directly to the [`getInflationReward`] RPC method.
/// ///
/// [`getInflationReward`]: https://docs.solana.com/developing/clients/jsonrpc-api#getinflationreward /// [`getInflationReward`]: https://solana.com/docs/rpc/http/getinflationreward
/// ///
/// # Examples /// # Examples
/// ///
@ -3733,7 +3729,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getVersion`] RPC method. /// This method corresponds directly to the [`getVersion`] RPC method.
/// ///
/// [`getVersion`]: https://docs.solana.com/developing/clients/jsonrpc-api#getversion /// [`getVersion`]: https://solana.com/docs/rpc/http/getversion
/// ///
/// # Examples /// # Examples
/// ///
@ -3765,7 +3761,7 @@ impl RpcClient {
/// This method corresponds directly to the [`minimumLedgerSlot`] RPC /// This method corresponds directly to the [`minimumLedgerSlot`] RPC
/// method. /// method.
/// ///
/// [`minimumLedgerSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#minimumledgerslot /// [`minimumLedgerSlot`]: https://solana.com/docs/rpc/http/minimumledgerslot
/// ///
/// # Examples /// # Examples
/// ///
@ -3787,7 +3783,7 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// To get multiple accounts at once, use the [`get_multiple_accounts`] method. /// To get multiple accounts at once, use the [`get_multiple_accounts`] method.
/// ///
@ -3805,7 +3801,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getAccountInfo`] RPC method. /// This method is built on the [`getAccountInfo`] RPC method.
/// ///
/// [`getAccountInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getaccountinfo /// [`getAccountInfo`]: https://solana.com/docs/rpc/http/getaccountinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -3846,7 +3842,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getAccountInfo`] RPC method. /// This method is built on the [`getAccountInfo`] RPC method.
/// ///
/// [`getAccountInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getaccountinfo /// [`getAccountInfo`]: https://solana.com/docs/rpc/http/getaccountinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -3901,7 +3897,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getAccountInfo`] RPC method. /// This method is built on the [`getAccountInfo`] RPC method.
/// ///
/// [`getAccountInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getaccountinfo /// [`getAccountInfo`]: https://solana.com/docs/rpc/http/getaccountinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -3983,7 +3979,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getMaxRetransmitSlot`] RPC /// This method corresponds directly to the [`getMaxRetransmitSlot`] RPC
/// method. /// method.
/// ///
/// [`getMaxRetransmitSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmaxretransmitslot /// [`getMaxRetransmitSlot`]: https://solana.com/docs/rpc/http/getmaxretransmitslot
/// ///
/// # Examples /// # Examples
/// ///
@ -4001,14 +3997,14 @@ impl RpcClient {
.await .await
} }
/// Get the max slot seen from after [shred](https://docs.solana.com/terminology#shred) insert. /// Get the max slot seen from after [shred](https://solana.com/docs/terminology#shred) insert.
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the /// This method corresponds directly to the
/// [`getMaxShredInsertSlot`] RPC method. /// [`getMaxShredInsertSlot`] RPC method.
/// ///
/// [`getMaxShredInsertSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmaxshredinsertslot /// [`getMaxShredInsertSlot`]: https://solana.com/docs/rpc/http/getmaxshredinsertslot
/// ///
/// # Examples /// # Examples
/// ///
@ -4030,13 +4026,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method is built on the [`getMultipleAccounts`] RPC method. /// This method is built on the [`getMultipleAccounts`] RPC method.
/// ///
/// [`getMultipleAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmultipleaccounts /// [`getMultipleAccounts`]: https://solana.com/docs/rpc/http/getmultipleaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -4073,7 +4069,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getMultipleAccounts`] RPC method. /// This method is built on the [`getMultipleAccounts`] RPC method.
/// ///
/// [`getMultipleAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmultipleaccounts /// [`getMultipleAccounts`]: https://solana.com/docs/rpc/http/getmultipleaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -4122,7 +4118,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getMultipleAccounts`] RPC method. /// This method is built on the [`getMultipleAccounts`] RPC method.
/// ///
/// [`getMultipleAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmultipleaccounts /// [`getMultipleAccounts`]: https://solana.com/docs/rpc/http/getmultipleaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -4196,7 +4192,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getAccountInfo`] RPC method. /// This method is built on the [`getAccountInfo`] RPC method.
/// ///
/// [`getAccountInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getaccountinfo /// [`getAccountInfo`]: https://solana.com/docs/rpc/http/getaccountinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -4229,7 +4225,7 @@ impl RpcClient {
/// This method corresponds directly to the /// This method corresponds directly to the
/// [`getMinimumBalanceForRentExemption`] RPC method. /// [`getMinimumBalanceForRentExemption`] RPC method.
/// ///
/// [`getMinimumBalanceForRentExemption`]: https://docs.solana.com/developing/clients/jsonrpc-api#getminimumbalanceforrentexemption /// [`getMinimumBalanceForRentExemption`]: https://solana.com/docs/rpc/http/getminimumbalanceforrentexemption
/// ///
/// # Examples /// # Examples
/// ///
@ -4268,13 +4264,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getBalance`] RPC method. /// This method corresponds directly to the [`getBalance`] RPC method.
/// ///
/// [`getBalance`]: https://docs.solana.com/developing/clients/jsonrpc-api#getbalance /// [`getBalance`]: https://solana.com/docs/rpc/http/getbalance
/// ///
/// # Examples /// # Examples
/// ///
@ -4306,7 +4302,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBalance`] RPC method. /// This method corresponds directly to the [`getBalance`] RPC method.
/// ///
/// [`getBalance`]: https://docs.solana.com/developing/clients/jsonrpc-api#getbalance /// [`getBalance`]: https://solana.com/docs/rpc/http/getbalance
/// ///
/// # Examples /// # Examples
/// ///
@ -4349,14 +4345,14 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getProgramAccounts`] RPC /// This method corresponds directly to the [`getProgramAccounts`] RPC
/// method. /// method.
/// ///
/// [`getProgramAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getprogramaccounts /// [`getProgramAccounts`]: https://solana.com/docs/rpc/http/getprogramaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -4398,7 +4394,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getProgramAccounts`] RPC method. /// This method is built on the [`getProgramAccounts`] RPC method.
/// ///
/// [`getProgramAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getprogramaccounts /// [`getProgramAccounts`]: https://solana.com/docs/rpc/http/getprogramaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -4481,7 +4477,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getStakeMinimumDelegation`] RPC method. /// This method corresponds directly to the [`getStakeMinimumDelegation`] RPC method.
/// ///
/// [`getStakeMinimumDelegation`]: https://docs.solana.com/developing/clients/jsonrpc-api#getstakeminimumdelegation /// [`getStakeMinimumDelegation`]: https://solana.com/docs/rpc/http/getstakeminimumdelegation
/// ///
/// # Examples /// # Examples
/// ///
@ -4506,7 +4502,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getStakeMinimumDelegation`] RPC method. /// This method corresponds directly to the [`getStakeMinimumDelegation`] RPC method.
/// ///
/// [`getStakeMinimumDelegation`]: https://docs.solana.com/developing/clients/jsonrpc-api#getstakeminimumdelegation /// [`getStakeMinimumDelegation`]: https://solana.com/docs/rpc/http/getstakeminimumdelegation
/// ///
/// # Examples /// # Examples
/// ///

View File

@ -151,10 +151,10 @@ pub struct GetConfirmedSignaturesForAddress2Config {
/// ///
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized /// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// [`Processed`]: solana_sdk::commitment_config::CommitmentLevel::Processed /// [`Processed`]: solana_sdk::commitment_config::CommitmentLevel::Processed
/// [jsonprot]: https://docs.solana.com/developing/clients/jsonrpc-api /// [jsonprot]: https://solana.com/docs/rpc
/// [JSON-RPC]: https://www.jsonrpc.org/specification /// [JSON-RPC]: https://www.jsonrpc.org/specification
/// [slots]: https://docs.solana.com/terminology#slot /// [slots]: https://solana.com/docs/terminology#slot
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Errors /// # Errors
/// ///
@ -240,7 +240,7 @@ impl RpcClient {
/// The client has a default timeout of 30 seconds, and a default [commitment /// The client has a default timeout of 30 seconds, and a default [commitment
/// level][cl] of [`Finalized`]. /// level][cl] of [`Finalized`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized /// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// ///
/// # Examples /// # Examples
@ -256,7 +256,7 @@ impl RpcClient {
/// Create an HTTP `RpcClient` with specified [commitment level][cl]. /// Create an HTTP `RpcClient` with specified [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The URL is an HTTP URL, usually for port 8899, as in /// The URL is an HTTP URL, usually for port 8899, as in
/// "http://localhost:8899". /// "http://localhost:8899".
@ -290,7 +290,7 @@ impl RpcClient {
/// The client has and a default [commitment level][cl] of /// The client has and a default [commitment level][cl] of
/// [`Finalized`]. /// [`Finalized`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized /// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// ///
/// # Examples /// # Examples
@ -311,7 +311,7 @@ impl RpcClient {
/// Create an HTTP `RpcClient` with specified timeout and [commitment level][cl]. /// Create an HTTP `RpcClient` with specified timeout and [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The URL is an HTTP URL, usually for port 8899, as in /// The URL is an HTTP URL, usually for port 8899, as in
/// "http://localhost:8899". /// "http://localhost:8899".
@ -344,7 +344,7 @@ impl RpcClient {
/// Create an HTTP `RpcClient` with specified timeout and [commitment level][cl]. /// Create an HTTP `RpcClient` with specified timeout and [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The URL is an HTTP URL, usually for port 8899, as in /// The URL is an HTTP URL, usually for port 8899, as in
/// "http://localhost:8899". /// "http://localhost:8899".
@ -516,7 +516,7 @@ impl RpcClient {
/// The client has a default timeout of 30 seconds, and a default [commitment /// The client has a default timeout of 30 seconds, and a default [commitment
/// level][cl] of [`Finalized`]. /// level][cl] of [`Finalized`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized /// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// ///
/// # Examples /// # Examples
@ -533,7 +533,7 @@ impl RpcClient {
/// Create an HTTP `RpcClient` from a [`SocketAddr`] with specified [commitment level][cl]. /// Create an HTTP `RpcClient` from a [`SocketAddr`] with specified [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The client has a default timeout of 30 seconds, and a user-specified /// The client has a default timeout of 30 seconds, and a user-specified
/// [`CommitmentLevel`] via [`CommitmentConfig`]. /// [`CommitmentLevel`] via [`CommitmentConfig`].
@ -564,7 +564,7 @@ impl RpcClient {
/// ///
/// The client has a default [commitment level][cl] of [`Finalized`]. /// The client has a default [commitment level][cl] of [`Finalized`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized /// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// ///
/// # Examples /// # Examples
@ -589,7 +589,7 @@ impl RpcClient {
/// Get the configured default [commitment level][cl]. /// Get the configured default [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// The commitment config may be specified during construction, and /// The commitment config may be specified during construction, and
/// determines how thoroughly committed a transaction must be when waiting /// determines how thoroughly committed a transaction must be when waiting
@ -611,7 +611,7 @@ impl RpcClient {
/// Once this function returns successfully, the given transaction is /// Once this function returns successfully, the given transaction is
/// guaranteed to be processed with the configured [commitment level][cl]. /// guaranteed to be processed with the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// After sending the transaction, this method polls in a loop for the /// After sending the transaction, this method polls in a loop for the
/// status of the transaction until it has ben confirmed. /// status of the transaction until it has ben confirmed.
@ -642,8 +642,8 @@ impl RpcClient {
/// This method is built on the [`sendTransaction`] RPC method, and the /// This method is built on the [`sendTransaction`] RPC method, and the
/// [`getLatestBlockhash`] RPC method. /// [`getLatestBlockhash`] RPC method.
/// ///
/// [`sendTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// [`sendTransaction`]: https://solana.com/docs/rpc/http/sendtransaction
/// [`getLatestBlockhash`]: https://docs.solana.com/developing/clients/jsonrpc-api#getlatestblockhash /// [`getLatestBlockhash`]: https://solana.com/docs/rpc/http/getlatestblockhash
/// ///
/// # Examples /// # Examples
/// ///
@ -754,7 +754,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`sendTransaction`] RPC method. /// This method is built on the [`sendTransaction`] RPC method.
/// ///
/// [`sendTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// [`sendTransaction`]: https://solana.com/docs/rpc/http/sendtransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -830,7 +830,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`sendTransaction`] RPC method. /// This method is built on the [`sendTransaction`] RPC method.
/// ///
/// [`sendTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// [`sendTransaction`]: https://solana.com/docs/rpc/http/sendtransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -885,7 +885,7 @@ impl RpcClient {
/// with the configured [commitment level][cl], which can be retrieved with /// with the configured [commitment level][cl], which can be retrieved with
/// the [`commitment`](RpcClient::commitment) method. /// the [`commitment`](RpcClient::commitment) method.
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// Note that this method does not wait for a transaction to be confirmed /// Note that this method does not wait for a transaction to be confirmed
/// &mdash; it only checks whether a transaction has been confirmed. To /// &mdash; it only checks whether a transaction has been confirmed. To
@ -899,7 +899,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -938,7 +938,7 @@ impl RpcClient {
/// Returns an [`RpcResult`] with value `true` if the given transaction /// Returns an [`RpcResult`] with value `true` if the given transaction
/// succeeded and has been committed with the given [commitment level][cl]. /// succeeded and has been committed with the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// Note that this method does not wait for a transaction to be confirmed /// Note that this method does not wait for a transaction to be confirmed
/// &mdash; it only checks whether a transaction has been confirmed. To /// &mdash; it only checks whether a transaction has been confirmed. To
@ -952,7 +952,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1022,7 +1022,7 @@ impl RpcClient {
/// Simulating a transaction is similar to the ["preflight check"] that is /// Simulating a transaction is similar to the ["preflight check"] that is
/// run by default when sending a transaction. /// run by default when sending a transaction.
/// ///
/// ["preflight check"]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// ["preflight check"]: https://solana.com/docs/rpc/http/sendtransaction
/// ///
/// By default, signatures are not verified during simulation. To verify /// By default, signatures are not verified during simulation. To verify
/// signatures, call the [`simulate_transaction_with_config`] method, with /// signatures, call the [`simulate_transaction_with_config`] method, with
@ -1036,7 +1036,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`simulateTransaction`] RPC method. /// This method is built on the [`simulateTransaction`] RPC method.
/// ///
/// [`simulateTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#simulatetransaction /// [`simulateTransaction`]: https://solana.com/docs/rpc/http/simulatetransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -1083,7 +1083,7 @@ impl RpcClient {
/// Simulating a transaction is similar to the ["preflight check"] that is /// Simulating a transaction is similar to the ["preflight check"] that is
/// run by default when sending a transaction. /// run by default when sending a transaction.
/// ///
/// ["preflight check"]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction /// ["preflight check"]: https://solana.com/docs/rpc/http/sendtransaction
/// ///
/// By default, signatures are not verified during simulation. To verify /// By default, signatures are not verified during simulation. To verify
/// signatures, call the [`simulate_transaction_with_config`] method, with /// signatures, call the [`simulate_transaction_with_config`] method, with
@ -1106,7 +1106,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`simulateTransaction`] RPC method. /// This method is built on the [`simulateTransaction`] RPC method.
/// ///
/// [`simulateTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#simulatetransaction /// [`simulateTransaction`]: https://solana.com/docs/rpc/http/simulatetransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -1160,7 +1160,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getHighestSnapshotSlot`] RPC method. /// This method corresponds directly to the [`getHighestSnapshotSlot`] RPC method.
/// ///
/// [`getHighestSnapshotSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#gethighestsnapshotslot /// [`getHighestSnapshotSlot`]: https://solana.com/docs/rpc/http/gethighestsnapshotslot
/// ///
/// # Examples /// # Examples
/// ///
@ -1186,7 +1186,7 @@ impl RpcClient {
/// Check if a transaction has been processed with the default [commitment level][cl]. /// Check if a transaction has been processed with the default [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// If the transaction has been processed with the default commitment level, /// If the transaction has been processed with the default commitment level,
/// then this method returns `Ok` of `Some`. If the transaction has not yet /// then this method returns `Ok` of `Some`. If the transaction has not yet
@ -1212,7 +1212,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#gitsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1277,7 +1277,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getSignatureStatuses`] RPC method. /// This method corresponds directly to the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1352,7 +1352,7 @@ impl RpcClient {
/// method, with the `searchTransactionHistory` configuration option set to /// method, with the `searchTransactionHistory` configuration option set to
/// `true`. /// `true`.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1387,7 +1387,7 @@ impl RpcClient {
/// Check if a transaction has been processed with the given [commitment level][cl]. /// Check if a transaction has been processed with the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// If the transaction has been processed with the given commitment level, /// If the transaction has been processed with the given commitment level,
/// then this method returns `Ok` of `Some`. If the transaction has not yet /// then this method returns `Ok` of `Some`. If the transaction has not yet
@ -1413,7 +1413,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1454,7 +1454,7 @@ impl RpcClient {
/// Check if a transaction has been processed with the given [commitment level][cl]. /// Check if a transaction has been processed with the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// If the transaction has been processed with the given commitment level, /// If the transaction has been processed with the given commitment level,
/// then this method returns `Ok` of `Some`. If the transaction has not yet /// then this method returns `Ok` of `Some`. If the transaction has not yet
@ -1476,7 +1476,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getSignatureStatuses`] RPC method. /// This method is built on the [`getSignatureStatuses`] RPC method.
/// ///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses /// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
/// ///
/// # Examples /// # Examples
/// ///
@ -1523,13 +1523,13 @@ impl RpcClient {
/// Returns the slot that has reached the configured [commitment level][cl]. /// Returns the slot that has reached the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSlot`] RPC method. /// This method corresponds directly to the [`getSlot`] RPC method.
/// ///
/// [`getSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getslot /// [`getSlot`]: https://solana.com/docs/rpc/http/getslot
/// ///
/// # Examples /// # Examples
/// ///
@ -1546,13 +1546,13 @@ impl RpcClient {
/// Returns the slot that has reached the given [commitment level][cl]. /// Returns the slot that has reached the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSlot`] RPC method. /// This method corresponds directly to the [`getSlot`] RPC method.
/// ///
/// [`getSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getslot /// [`getSlot`]: https://solana.com/docs/rpc/http/getslot
/// ///
/// # Examples /// # Examples
/// ///
@ -1574,13 +1574,13 @@ impl RpcClient {
/// Returns the block height that has reached the configured [commitment level][cl]. /// Returns the block height that has reached the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method is corresponds directly to the [`getBlockHeight`] RPC method. /// This method is corresponds directly to the [`getBlockHeight`] RPC method.
/// ///
/// [`getBlockHeight`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockheight /// [`getBlockHeight`]: https://solana.com/docs/rpc/http/getblockheight
/// ///
/// # Examples /// # Examples
/// ///
@ -1597,13 +1597,13 @@ impl RpcClient {
/// Returns the block height that has reached the given [commitment level][cl]. /// Returns the block height that has reached the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method is corresponds directly to the [`getBlockHeight`] RPC method. /// This method is corresponds directly to the [`getBlockHeight`] RPC method.
/// ///
/// [`getBlockHeight`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockheight /// [`getBlockHeight`]: https://solana.com/docs/rpc/http/getblockheight
/// ///
/// # Examples /// # Examples
/// ///
@ -1631,7 +1631,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getSlotLeaders`] RPC method. /// This method corresponds directly to the [`getSlotLeaders`] RPC method.
/// ///
/// [`getSlotLeaders`]: https://docs.solana.com/developing/clients/jsonrpc-api#getslotleaders /// [`getSlotLeaders`]: https://solana.com/docs/rpc/http/getslotleaders
/// ///
/// # Examples /// # Examples
/// ///
@ -1655,7 +1655,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlockProduction`] RPC method. /// This method corresponds directly to the [`getBlockProduction`] RPC method.
/// ///
/// [`getBlockProduction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockproduction /// [`getBlockProduction`]: https://solana.com/docs/rpc/http/getblockproduction
/// ///
/// # Examples /// # Examples
/// ///
@ -1676,7 +1676,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlockProduction`] RPC method. /// This method corresponds directly to the [`getBlockProduction`] RPC method.
/// ///
/// [`getBlockProduction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockproduction /// [`getBlockProduction`]: https://solana.com/docs/rpc/http/getblockproduction
/// ///
/// # Examples /// # Examples
/// ///
@ -1721,13 +1721,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level]. /// This method uses the configured [commitment level].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getStakeActivation`] RPC method. /// This method corresponds directly to the [`getStakeActivation`] RPC method.
/// ///
/// [`getStakeActivation`]: https://docs.solana.com/developing/clients/jsonrpc-api#getstakeactivation /// [`getStakeActivation`]: https://solana.com/docs/rpc/http/getstakeactivation
/// ///
/// # Examples /// # Examples
/// ///
@ -1800,13 +1800,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSupply`] RPC method. /// This method corresponds directly to the [`getSupply`] RPC method.
/// ///
/// [`getSupply`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsupply /// [`getSupply`]: https://solana.com/docs/rpc/http/getsupply
/// ///
/// # Examples /// # Examples
/// ///
@ -1827,7 +1827,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getSupply`] RPC method. /// This method corresponds directly to the [`getSupply`] RPC method.
/// ///
/// [`getSupply`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsupply /// [`getSupply`]: https://solana.com/docs/rpc/http/getsupply
/// ///
/// # Examples /// # Examples
/// ///
@ -1856,7 +1856,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getLargestAccounts`] RPC /// This method corresponds directly to the [`getLargestAccounts`] RPC
/// method. /// method.
/// ///
/// [`getLargestAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getlargestaccounts /// [`getLargestAccounts`]: https://solana.com/docs/rpc/http/getlargestaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -1888,14 +1888,14 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts /// Returns the account info and associated stake for all the voting accounts
/// that have reached the configured [commitment level][cl]. /// that have reached the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getVoteAccounts`] /// This method corresponds directly to the [`getVoteAccounts`]
/// RPC method. /// RPC method.
/// ///
/// [`getVoteAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getvoteaccounts /// [`getVoteAccounts`]: https://solana.com/docs/rpc/http/getvoteaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -1913,13 +1913,13 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts /// Returns the account info and associated stake for all the voting accounts
/// that have reached the given [commitment level][cl]. /// that have reached the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getVoteAccounts`] RPC method. /// This method corresponds directly to the [`getVoteAccounts`] RPC method.
/// ///
/// [`getVoteAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getvoteaccounts /// [`getVoteAccounts`]: https://solana.com/docs/rpc/http/getvoteaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -1944,13 +1944,13 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts /// Returns the account info and associated stake for all the voting accounts
/// that have reached the given [commitment level][cl]. /// that have reached the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getVoteAccounts`] RPC method. /// This method corresponds directly to the [`getVoteAccounts`] RPC method.
/// ///
/// [`getVoteAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getvoteaccounts /// [`getVoteAccounts`]: https://solana.com/docs/rpc/http/getvoteaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -2002,7 +2002,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getClusterNodes`] /// This method corresponds directly to the [`getClusterNodes`]
/// RPC method. /// RPC method.
/// ///
/// [`getClusterNodes`]: https://docs.solana.com/developing/clients/jsonrpc-api#getclusternodes /// [`getClusterNodes`]: https://solana.com/docs/rpc/http/getclusternodes
/// ///
/// # Examples /// # Examples
/// ///
@ -2031,7 +2031,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getBlock`] RPC /// This method corresponds directly to the [`getBlock`] RPC
/// method. /// method.
/// ///
/// [`getBlock`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblock /// [`getBlock`]: https://solana.com/docs/rpc/http/getblock
/// ///
/// # Examples /// # Examples
/// ///
@ -2053,7 +2053,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlock`] RPC method. /// This method corresponds directly to the [`getBlock`] RPC method.
/// ///
/// [`getBlock`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblock /// [`getBlock`]: https://solana.com/docs/rpc/http/getblock
/// ///
/// # Examples /// # Examples
/// ///
@ -2084,7 +2084,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlock`] RPC method. /// This method corresponds directly to the [`getBlock`] RPC method.
/// ///
/// [`getBlock`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblock /// [`getBlock`]: https://solana.com/docs/rpc/http/getblock
/// ///
/// # Examples /// # Examples
/// ///
@ -2169,7 +2169,7 @@ impl RpcClient {
/// ///
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized /// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// [`get_blocks_with_limit`]: RpcClient::get_blocks_with_limit. /// [`get_blocks_with_limit`]: RpcClient::get_blocks_with_limit.
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Errors /// # Errors
/// ///
@ -2181,8 +2181,8 @@ impl RpcClient {
/// the remote node version is less than 1.7, in which case it maps to the /// the remote node version is less than 1.7, in which case it maps to the
/// [`getConfirmedBlocks`] RPC method. /// [`getConfirmedBlocks`] RPC method.
/// ///
/// [`getBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocks /// [`getBlocks`]: https://solana.com/docs/rpc/http/getblocks
/// [`getConfirmedBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getConfirmedblocks /// [`getConfirmedBlocks`]: https://solana.com/docs/rpc/deprecated/getconfirmedblocks
/// ///
/// # Examples /// # Examples
/// ///
@ -2208,7 +2208,7 @@ impl RpcClient {
/// If `end_slot` is not provided, then the end slot is for the latest /// If `end_slot` is not provided, then the end slot is for the latest
/// block with the given [commitment level][cl]. /// block with the given [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// This method may not return blocks for the full range of slots if some /// This method may not return blocks for the full range of slots if some
/// slots do not have corresponding blocks. To simply get a specific number /// slots do not have corresponding blocks. To simply get a specific number
@ -2232,8 +2232,8 @@ impl RpcClient {
/// the remote node version is less than 1.7, in which case it maps to the /// the remote node version is less than 1.7, in which case it maps to the
/// [`getConfirmedBlocks`] RPC method. /// [`getConfirmedBlocks`] RPC method.
/// ///
/// [`getBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocks /// [`getBlocks`]: https://solana.com/docs/rpc/http/getblocks
/// [`getConfirmedBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getConfirmedblocks /// [`getConfirmedBlocks`]: https://solana.com/docs/rpc/deprecated/getconfirmedblocks
/// ///
/// # Examples /// # Examples
/// ///
@ -2272,7 +2272,7 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl]. /// This method uses the [`Finalized`] [commitment level][cl].
/// ///
/// [`Finalized`]: CommitmentLevel::Finalized. /// [`Finalized`]: CommitmentLevel::Finalized.
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # Errors /// # Errors
/// ///
@ -2284,8 +2284,8 @@ impl RpcClient {
/// method, unless the remote node version is less than 1.7, in which case /// method, unless the remote node version is less than 1.7, in which case
/// it maps to the [`getConfirmedBlocksWithLimit`] RPC method. /// it maps to the [`getConfirmedBlocksWithLimit`] RPC method.
/// ///
/// [`getBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockswithlimit /// [`getBlocksWithLimit`]: https://solana.com/docs/rpc/http/getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedblockswithlimit /// [`getConfirmedBlocksWithLimit`]: https://solana.com/docs/rpc/deprecated/getconfirmedblockswithlimit
/// ///
/// # Examples /// # Examples
/// ///
@ -2312,7 +2312,7 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below /// This method returns an error if the given [commitment level][cl] is below
/// [`Confirmed`]. /// [`Confirmed`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Confirmed`]: solana_sdk::commitment_config::CommitmentLevel::Confirmed /// [`Confirmed`]: solana_sdk::commitment_config::CommitmentLevel::Confirmed
/// ///
/// # RPC Reference /// # RPC Reference
@ -2321,8 +2321,8 @@ impl RpcClient {
/// method, unless the remote node version is less than 1.7, in which case /// method, unless the remote node version is less than 1.7, in which case
/// it maps to the `getConfirmedBlocksWithLimit` RPC method. /// it maps to the `getConfirmedBlocksWithLimit` RPC method.
/// ///
/// [`getBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockswithlimit /// [`getBlocksWithLimit`]: https://solana.com/docs/rpc/http/getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedblockswithlimit /// [`getConfirmedBlocksWithLimit`]: https://solana.com/docs/rpc/deprecated/getconfirmedblockswithlimit
/// ///
/// # Examples /// # Examples
/// ///
@ -2427,16 +2427,14 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl]. /// This method uses the [`Finalized`] [commitment level][cl].
/// ///
/// [`Finalized`]: CommitmentLevel::Finalized. /// [`Finalized`]: CommitmentLevel::Finalized.
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSignaturesForAddress`] RPC /// This method corresponds directly to the [`getSignaturesForAddress`] RPC
/// method, unless the remote node version is less than 1.7, in which case /// method.
/// it maps to the [`getSignaturesForAddress2`] RPC method.
/// ///
/// [`getSignaturesForAddress`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress /// [`getSignaturesForAddress`]: https://solana.com/docs/rpc/http/getsignaturesforaddress
/// [`getSignaturesForAddress2`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress2
/// ///
/// # Examples /// # Examples
/// ///
@ -2469,17 +2467,15 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below /// This method returns an error if the given [commitment level][cl] is below
/// [`Confirmed`]. /// [`Confirmed`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Confirmed`]: solana_sdk::commitment_config::CommitmentLevel::Confirmed /// [`Confirmed`]: solana_sdk::commitment_config::CommitmentLevel::Confirmed
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getSignaturesForAddress`] RPC /// This method corresponds directly to the [`getSignaturesForAddress`] RPC
/// method, unless the remote node version is less than 1.7, in which case /// method.
/// it maps to the [`getSignaturesForAddress2`] RPC method.
/// ///
/// [`getSignaturesForAddress`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress /// [`getSignaturesForAddress`]: https://solana.com/docs/rpc/http/getsignaturesforaddress
/// [`getSignaturesForAddress2`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress2
/// ///
/// # Examples /// # Examples
/// ///
@ -2554,7 +2550,7 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl]. /// This method uses the [`Finalized`] [commitment level][cl].
/// ///
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized /// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
@ -2562,8 +2558,8 @@ impl RpcClient {
/// unless the remote node version is less than 1.7, in which case it maps /// unless the remote node version is less than 1.7, in which case it maps
/// to the [`getConfirmedTransaction`] RPC method. /// to the [`getConfirmedTransaction`] RPC method.
/// ///
/// [`getTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction /// [`getTransaction`]: https://solana.com/docs/rpc/http/gettransaction
/// [`getConfirmedTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedtransaction /// [`getConfirmedTransaction`]: https://solana.com/docs/rpc/deprecated/getConfirmedTransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -2605,7 +2601,7 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below /// This method returns an error if the given [commitment level][cl] is below
/// [`Confirmed`]. /// [`Confirmed`].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// [`Confirmed`]: solana_sdk::commitment_config::CommitmentLevel::Confirmed /// [`Confirmed`]: solana_sdk::commitment_config::CommitmentLevel::Confirmed
/// ///
/// # RPC Reference /// # RPC Reference
@ -2614,8 +2610,8 @@ impl RpcClient {
/// unless the remote node version is less than 1.7, in which case it maps /// unless the remote node version is less than 1.7, in which case it maps
/// to the [`getConfirmedTransaction`] RPC method. /// to the [`getConfirmedTransaction`] RPC method.
/// ///
/// [`getTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction /// [`getTransaction`]: https://solana.com/docs/rpc/http/gettransaction
/// [`getConfirmedTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedtransaction /// [`getConfirmedTransaction`]: https://solana.com/docs/rpc/deprecated/getConfirmedTransaction
/// ///
/// # Examples /// # Examples
/// ///
@ -2693,7 +2689,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBlockTime`] RPC method. /// This method corresponds directly to the [`getBlockTime`] RPC method.
/// ///
/// [`getBlockTime`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocktime /// [`getBlockTime`]: https://solana.com/docs/rpc/http/getblocktime
/// ///
/// # Examples /// # Examples
/// ///
@ -2714,13 +2710,13 @@ impl RpcClient {
/// ///
/// This method uses the configured default [commitment level][cl]. /// This method uses the configured default [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getEpochInfo`] RPC method. /// This method corresponds directly to the [`getEpochInfo`] RPC method.
/// ///
/// [`getEpochInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getepochinfo /// [`getEpochInfo`]: https://solana.com/docs/rpc/http/getepochinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -2741,7 +2737,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getEpochInfo`] RPC method. /// This method corresponds directly to the [`getEpochInfo`] RPC method.
/// ///
/// [`getEpochInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getepochinfo /// [`getEpochInfo`]: https://solana.com/docs/rpc/http/getepochinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -2767,13 +2763,13 @@ impl RpcClient {
/// ///
/// This method uses the configured default [commitment level][cl]. /// This method uses the configured default [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getLeaderSchedule`] RPC method. /// This method corresponds directly to the [`getLeaderSchedule`] RPC method.
/// ///
/// [`getLeaderSchedule`]: https://docs.solana.com/developing/clients/jsonrpc-api#getleaderschedule /// [`getLeaderSchedule`]: https://solana.com/docs/rpc/http/getleaderschedule
/// ///
/// # Examples /// # Examples
/// ///
@ -2801,7 +2797,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getLeaderSchedule`] RPC method. /// This method corresponds directly to the [`getLeaderSchedule`] RPC method.
/// ///
/// [`getLeaderSchedule`]: https://docs.solana.com/developing/clients/jsonrpc-api#getleaderschedule /// [`getLeaderSchedule`]: https://solana.com/docs/rpc/http/getleaderschedule
/// ///
/// # Examples /// # Examples
/// ///
@ -2834,7 +2830,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getLeaderSchedule`] RPC method. /// This method corresponds directly to the [`getLeaderSchedule`] RPC method.
/// ///
/// [`getLeaderSchedule`]: https://docs.solana.com/developing/clients/jsonrpc-api#getleaderschedule /// [`getLeaderSchedule`]: https://solana.com/docs/rpc/http/getleaderschedule
/// ///
/// # Examples /// # Examples
/// ///
@ -2872,7 +2868,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getEpochSchedule`] RPC method. /// This method corresponds directly to the [`getEpochSchedule`] RPC method.
/// ///
/// [`getEpochSchedule`]: https://docs.solana.com/developing/clients/jsonrpc-api#getepochschedule /// [`getEpochSchedule`]: https://solana.com/docs/rpc/http/getepochschedule
/// ///
/// # Examples /// # Examples
/// ///
@ -2896,7 +2892,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getRecentPerformanceSamples`] RPC method. /// This method corresponds directly to the [`getRecentPerformanceSamples`] RPC method.
/// ///
/// [`getRecentPerformanceSamples`]: https://docs.solana.com/developing/clients/jsonrpc-api#getrecentperformancesamples /// [`getRecentPerformanceSamples`]: https://solana.com/docs/rpc/http/getrecentperformancesamples
/// ///
/// # Examples /// # Examples
/// ///
@ -2928,7 +2924,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getRecentPrioritizationFees`] RPC method. /// This method corresponds directly to the [`getRecentPrioritizationFees`] RPC method.
/// ///
/// [`getRecentPrioritizationFees`]: https://docs.solana.com/developing/clients/jsonrpc-api#getrecentprioritizationfees /// [`getRecentPrioritizationFees`]: https://solana.com/docs/rpc/http/getrecentprioritizationfees
/// ///
/// # Examples /// # Examples
/// ///
@ -2958,7 +2954,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getIdentity`] RPC method. /// This method corresponds directly to the [`getIdentity`] RPC method.
/// ///
/// [`getIdentity`]: https://docs.solana.com/developing/clients/jsonrpc-api#getidentity /// [`getIdentity`]: https://solana.com/docs/rpc/http/getidentity
/// ///
/// # Examples /// # Examples
/// ///
@ -2978,14 +2974,14 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl]. /// This method uses the [`Finalized`] [commitment level][cl].
/// ///
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized /// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getInflationGovernor`] RPC /// This method corresponds directly to the [`getInflationGovernor`] RPC
/// method. /// method.
/// ///
/// [`getInflationGovernor`]: https://docs.solana.com/developing/clients/jsonrpc-api#getinflationgovernor /// [`getInflationGovernor`]: https://solana.com/docs/rpc/http/getinflationgovernor
/// ///
/// # Examples /// # Examples
/// ///
@ -3006,7 +3002,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getInflationRate`] RPC method. /// This method corresponds directly to the [`getInflationRate`] RPC method.
/// ///
/// [`getInflationRate`]: https://docs.solana.com/developing/clients/jsonrpc-api#getinflationrate /// [`getInflationRate`]: https://solana.com/docs/rpc/http/getinflationrate
/// ///
/// # Examples /// # Examples
/// ///
@ -3025,13 +3021,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getInflationReward`] RPC method. /// This method corresponds directly to the [`getInflationReward`] RPC method.
/// ///
/// [`getInflationReward`]: https://docs.solana.com/developing/clients/jsonrpc-api#getinflationreward /// [`getInflationReward`]: https://solana.com/docs/rpc/http/getinflationreward
/// ///
/// # Examples /// # Examples
/// ///
@ -3065,7 +3061,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getVersion`] RPC method. /// This method corresponds directly to the [`getVersion`] RPC method.
/// ///
/// [`getVersion`]: https://docs.solana.com/developing/clients/jsonrpc-api#getversion /// [`getVersion`]: https://solana.com/docs/rpc/http/getversion
/// ///
/// # Examples /// # Examples
/// ///
@ -3094,7 +3090,7 @@ impl RpcClient {
/// This method corresponds directly to the [`minimumLedgerSlot`] RPC /// This method corresponds directly to the [`minimumLedgerSlot`] RPC
/// method. /// method.
/// ///
/// [`minimumLedgerSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#minimumledgerslot /// [`minimumLedgerSlot`]: https://solana.com/docs/rpc/http/minimumledgerslot
/// ///
/// # Examples /// # Examples
/// ///
@ -3113,7 +3109,7 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// To get multiple accounts at once, use the [`get_multiple_accounts`] method. /// To get multiple accounts at once, use the [`get_multiple_accounts`] method.
/// ///
@ -3132,7 +3128,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getAccountInfo`] RPC method. /// This method is built on the [`getAccountInfo`] RPC method.
/// ///
/// [`getAccountInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getaccountinfo /// [`getAccountInfo`]: https://solana.com/docs/rpc/http/getaccountinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -3167,7 +3163,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getAccountInfo`] RPC method. /// This method is built on the [`getAccountInfo`] RPC method.
/// ///
/// [`getAccountInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getaccountinfo /// [`getAccountInfo`]: https://solana.com/docs/rpc/http/getaccountinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -3214,7 +3210,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getAccountInfo`] RPC method. /// This method is built on the [`getAccountInfo`] RPC method.
/// ///
/// [`getAccountInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getaccountinfo /// [`getAccountInfo`]: https://solana.com/docs/rpc/http/getaccountinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -3263,7 +3259,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getMaxRetransmitSlot`] RPC /// This method corresponds directly to the [`getMaxRetransmitSlot`] RPC
/// method. /// method.
/// ///
/// [`getMaxRetransmitSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmaxretransmitslot /// [`getMaxRetransmitSlot`]: https://solana.com/docs/rpc/http/getmaxretransmitslot
/// ///
/// # Examples /// # Examples
/// ///
@ -3277,14 +3273,14 @@ impl RpcClient {
self.invoke((self.rpc_client.as_ref()).get_max_retransmit_slot()) self.invoke((self.rpc_client.as_ref()).get_max_retransmit_slot())
} }
/// Get the max slot seen from after [shred](https://docs.solana.com/terminology#shred) insert. /// Get the max slot seen from after [shred](https://solana.com/docs/terminology#shred) insert.
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the /// This method corresponds directly to the
/// [`getMaxShredInsertSlot`] RPC method. /// [`getMaxShredInsertSlot`] RPC method.
/// ///
/// [`getMaxShredInsertSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmaxshredinsertslot /// [`getMaxShredInsertSlot`]: https://solana.com/docs/rpc/http/getmaxshredinsertslot
/// ///
/// # Examples /// # Examples
/// ///
@ -3302,13 +3298,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method is built on the [`getMultipleAccounts`] RPC method. /// This method is built on the [`getMultipleAccounts`] RPC method.
/// ///
/// [`getMultipleAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmultipleaccounts /// [`getMultipleAccounts`]: https://solana.com/docs/rpc/http/getmultipleaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -3336,7 +3332,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getMultipleAccounts`] RPC method. /// This method is built on the [`getMultipleAccounts`] RPC method.
/// ///
/// [`getMultipleAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmultipleaccounts /// [`getMultipleAccounts`]: https://solana.com/docs/rpc/http/getmultipleaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -3376,7 +3372,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getMultipleAccounts`] RPC method. /// This method is built on the [`getMultipleAccounts`] RPC method.
/// ///
/// [`getMultipleAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmultipleaccounts /// [`getMultipleAccounts`]: https://solana.com/docs/rpc/http/getmultipleaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -3428,7 +3424,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getAccountInfo`] RPC method. /// This method is built on the [`getAccountInfo`] RPC method.
/// ///
/// [`getAccountInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getaccountinfo /// [`getAccountInfo`]: https://solana.com/docs/rpc/http/getaccountinfo
/// ///
/// # Examples /// # Examples
/// ///
@ -3458,7 +3454,7 @@ impl RpcClient {
/// This method corresponds directly to the /// This method corresponds directly to the
/// [`getMinimumBalanceForRentExemption`] RPC method. /// [`getMinimumBalanceForRentExemption`] RPC method.
/// ///
/// [`getMinimumBalanceForRentExemption`]: https://docs.solana.com/developing/clients/jsonrpc-api#getminimumbalanceforrentexemption /// [`getMinimumBalanceForRentExemption`]: https://solana.com/docs/rpc/http/getminimumbalanceforrentexemption
/// ///
/// # Examples /// # Examples
/// ///
@ -3478,13 +3474,13 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getBalance`] RPC method. /// This method corresponds directly to the [`getBalance`] RPC method.
/// ///
/// [`getBalance`]: https://docs.solana.com/developing/clients/jsonrpc-api#getbalance /// [`getBalance`]: https://solana.com/docs/rpc/http/getbalance
/// ///
/// # Examples /// # Examples
/// ///
@ -3510,7 +3506,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getBalance`] RPC method. /// This method corresponds directly to the [`getBalance`] RPC method.
/// ///
/// [`getBalance`]: https://docs.solana.com/developing/clients/jsonrpc-api#getbalance /// [`getBalance`]: https://solana.com/docs/rpc/http/getbalance
/// ///
/// # Examples /// # Examples
/// ///
@ -3545,14 +3541,14 @@ impl RpcClient {
/// ///
/// This method uses the configured [commitment level][cl]. /// This method uses the configured [commitment level][cl].
/// ///
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment /// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
/// ///
/// # RPC Reference /// # RPC Reference
/// ///
/// This method corresponds directly to the [`getProgramAccounts`] RPC /// This method corresponds directly to the [`getProgramAccounts`] RPC
/// method. /// method.
/// ///
/// [`getProgramAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getprogramaccounts /// [`getProgramAccounts`]: https://solana.com/docs/rpc/http/getprogramaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -3578,7 +3574,7 @@ impl RpcClient {
/// ///
/// This method is built on the [`getProgramAccounts`] RPC method. /// This method is built on the [`getProgramAccounts`] RPC method.
/// ///
/// [`getProgramAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getprogramaccounts /// [`getProgramAccounts`]: https://solana.com/docs/rpc/http/getprogramaccounts
/// ///
/// # Examples /// # Examples
/// ///
@ -3641,7 +3637,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getStakeMinimumDelegation`] RPC method. /// This method corresponds directly to the [`getStakeMinimumDelegation`] RPC method.
/// ///
/// [`getStakeMinimumDelegation`]: https://docs.solana.com/developing/clients/jsonrpc-api#getstakeminimumdelegation /// [`getStakeMinimumDelegation`]: https://solana.com/docs/rpc/http/getstakeminimumdelegation
/// ///
/// # Examples /// # Examples
/// ///
@ -3662,7 +3658,7 @@ impl RpcClient {
/// ///
/// This method corresponds directly to the [`getStakeMinimumDelegation`] RPC method. /// This method corresponds directly to the [`getStakeMinimumDelegation`] RPC method.
/// ///
/// [`getStakeMinimumDelegation`]: https://docs.solana.com/developing/clients/jsonrpc-api#getstakeminimumdelegation /// [`getStakeMinimumDelegation`]: https://solana.com/docs/rpc/http/getstakeminimumdelegation
/// ///
/// # Examples /// # Examples
/// ///

4
run.sh
View File

@ -7,9 +7,9 @@ cat <<'EOF'
You almost certainly do not want to run this script! You almost certainly do not want to run this script!
If you are a dapp developer and looking for a way to run a local validator, please If you are a dapp developer and looking for a way to run a local validator, please
see https://docs.solana.com/developing/test-validator see https://docs.solanalabs.com/cli/examples/test-validator
If you are a prospective validator, please see https://docs.solana.com/running-validator If you are a prospective validator, please see https://docs.solanalabs.com/operations
If you are a core developer, many apologies for what you're about to endure, but If you are a core developer, many apologies for what you're about to endure, but
you may be in the right place. This script is now located at `./scripts/run.sh`. you may be in the right place. This script is now located at `./scripts/run.sh`.

View File

@ -8,7 +8,7 @@
Use the Solana SDK Crate to write client side applications in Rust. If writing on-chain programs, use the [Solana Program Crate](https://crates.io/crates/solana-program) instead. Use the Solana SDK Crate to write client side applications in Rust. If writing on-chain programs, use the [Solana Program Crate](https://crates.io/crates/solana-program) instead.
More information about Solana is available in the [Solana documentation](https://docs.solana.com/). More information about Solana is available in the [Solana documentation](https://solana.com/docs).
The [Solana Program Library](https://github.com/solana-labs/solana-program-library) provides examples of how to use this crate. The [Solana Program Library](https://github.com/solana-labs/solana-program-library) provides examples of how to use this crate.

View File

@ -8,7 +8,7 @@
Use the Solana Program Crate to write on-chain programs in Rust. If writing client-side applications, use the [Solana SDK Crate](https://crates.io/crates/solana-sdk) instead. Use the Solana Program Crate to write on-chain programs in Rust. If writing client-side applications, use the [Solana SDK Crate](https://crates.io/crates/solana-sdk) instead.
More information about Solana is available in the [Solana documentation](https://docs.solana.com/). More information about Solana is available in the [Solana documentation](https://solana.com/docs).
[Solana Program Library](https://github.com/solana-labs/solana-program-library) provides examples of how to use this crate. [Solana Program Library](https://github.com/solana-labs/solana-program-library) provides examples of how to use this crate.

View File

@ -1,6 +1,6 @@
//! The [address lookup table program][np]. //! The [address lookup table program][np].
//! //!
//! [np]: https://docs.solana.com/developing/runtime-facilities/programs#address-lookup-table-program //! [np]: https://docs.solanalabs.com/runtime/programs#address-lookup-table-program
pub mod error; pub mod error;
pub mod instruction; pub mod instruction;

View File

@ -18,7 +18,7 @@
//! [`Clock::unix_timestamp`], which is produced by an [oracle derived from the //! [`Clock::unix_timestamp`], which is produced by an [oracle derived from the
//! validator set][oracle]. //! validator set][oracle].
//! //!
//! [oracle]: https://docs.solana.com/implemented-proposals/validator-timestamp-oracle //! [oracle]: https://docs.solanalabs.com/implemented-proposals/validator-timestamp-oracle
use solana_sdk_macro::CloneZeroed; use solana_sdk_macro::CloneZeroed;
@ -194,8 +194,8 @@ pub struct Clock {
/// the [`timestamp_correction` and `timestamp_bounding`][tsc] features it /// the [`timestamp_correction` and `timestamp_bounding`][tsc] features it
/// is calculated using a [validator timestamp oracle][oracle]. /// is calculated using a [validator timestamp oracle][oracle].
/// ///
/// [tsc]: https://docs.solana.com/implemented-proposals/bank-timestamp-correction /// [tsc]: https://docs.solanalabs.com/implemented-proposals/bank-timestamp-correction
/// [oracle]: https://docs.solana.com/implemented-proposals/validator-timestamp-oracle /// [oracle]: https://docs.solanalabs.com/implemented-proposals/validator-timestamp-oracle
pub unix_timestamp: UnixTimestamp, pub unix_timestamp: UnixTimestamp,
} }

View File

@ -1,5 +1,5 @@
//! The [ed25519 native program][np]. //! The [ed25519 native program][np].
//! //!
//! [np]: https://docs.solana.com/developing/runtime-facilities/programs#ed25519-program //! [np]: https://docs.solanalabs.com/runtime/programs#ed25519-program
crate::declare_id!("Ed25519SigVerify111111111111111111111111111"); crate::declare_id!("Ed25519SigVerify111111111111111111111111111");

View File

@ -146,7 +146,7 @@ macro_rules! entrypoint {
/// for [BPF] targets. /// for [BPF] targets.
/// ///
/// [Cargo features]: https://doc.rust-lang.org/cargo/reference/features.html /// [Cargo features]: https://doc.rust-lang.org/cargo/reference/features.html
/// [BPF]: https://docs.solana.com/developing/on-chain-programs/overview#berkeley-packet-filter-bpf /// [BPF]: https://solana.com/docs/programs/faq#berkeley-packet-filter-bpf
/// ///
/// # Cargo features /// # Cargo features
/// ///
@ -181,7 +181,7 @@ macro_rules! custom_heap_default {
/// for [BPF] targets. /// for [BPF] targets.
/// ///
/// [Cargo features]: https://doc.rust-lang.org/cargo/reference/features.html /// [Cargo features]: https://doc.rust-lang.org/cargo/reference/features.html
/// [BPF]: https://docs.solana.com/developing/on-chain-programs/overview#berkeley-packet-filter-bpf /// [BPF]: https://solana.com/docs/programs/faq#berkeley-packet-filter-bpf
/// ///
/// # Cargo features /// # Cargo features
/// ///

View File

@ -1,6 +1,6 @@
//! A type to hold data for the [`EpochRewards` sysvar][sv]. //! A type to hold data for the [`EpochRewards` sysvar][sv].
//! //!
//! [sv]: https://docs.solana.com/developing/runtime-facilities/sysvars#EpochRewards //! [sv]: https://docs.solanalabs.com/runtime/sysvars#epochrewards
//! //!
//! The sysvar ID is declared in [`sysvar::epoch_rewards`]. //! The sysvar ID is declared in [`sysvar::epoch_rewards`].
//! //!

View File

@ -4,7 +4,7 @@
//! [leader schedule][ls] is in effect. The epoch schedule determines the length //! [leader schedule][ls] is in effect. The epoch schedule determines the length
//! of epochs, and the timing of the next leader-schedule selection. //! of epochs, and the timing of the next leader-schedule selection.
//! //!
//! [ls]: https://docs.solana.com/cluster/leader-rotation#leader-schedule-rotation //! [ls]: https://docs.solanalabs.com/consensus/leader-rotation#leader-schedule-rotation
//! //!
//! The epoch schedule does not change during the life of a blockchain, //! The epoch schedule does not change during the life of a blockchain,
//! though the length of an epoch does &mdash; during the initial launch of //! though the length of an epoch does &mdash; during the initial launch of

View File

@ -274,7 +274,7 @@ pub enum InstructionError {
/// clients. Instructions are also used to describe [cross-program /// clients. Instructions are also used to describe [cross-program
/// invocations][cpi]. /// invocations][cpi].
/// ///
/// [cpi]: https://docs.solana.com/developing/programming-model/calling-between-programs /// [cpi]: https://solana.com/docs/core/cpi
/// ///
/// During execution, a program will receive a list of account data as one of /// During execution, a program will receive a list of account data as one of
/// its arguments, in the same order as specified during `Instruction` /// its arguments, in the same order as specified during `Instruction`

View File

@ -8,7 +8,7 @@
//! [`solana-sdk`] crate, which reexports all modules from `solana-program`. //! [`solana-sdk`] crate, which reexports all modules from `solana-program`.
//! //!
//! [std]: https://doc.rust-lang.org/stable/std/ //! [std]: https://doc.rust-lang.org/stable/std/
//! [sstd]: https://docs.solana.com/developing/on-chain-programs/developing-rust#restrictions //! [sstd]: https://solana.com/docs/programs/lang-rust#restrictions
//! [`solana-sdk`]: https://docs.rs/solana-sdk/latest/solana_sdk/ //! [`solana-sdk`]: https://docs.rs/solana-sdk/latest/solana_sdk/
//! //!
//! This library defines //! This library defines
@ -148,7 +148,7 @@
//! For a more complete description of Solana's implementation of eBPF and its //! For a more complete description of Solana's implementation of eBPF and its
//! limitations, see the main Solana documentation for [on-chain programs][ocp]. //! limitations, see the main Solana documentation for [on-chain programs][ocp].
//! //!
//! [ocp]: https://docs.solana.com/developing/on-chain-programs/overview //! [ocp]: https://solana.com/docs/programs
//! //!
//! # Core data types //! # Core data types
//! //!
@ -173,7 +173,7 @@
//! [_lamports_], the smallest fractional unit of SOL, in the [`native_token`] //! [_lamports_], the smallest fractional unit of SOL, in the [`native_token`]
//! module. //! module.
//! //!
//! [acc]: https://docs.solana.com/developing/programming-model/accounts //! [acc]: https://solana.com/docs/core/accounts
//! [`Pubkey`]: pubkey::Pubkey //! [`Pubkey`]: pubkey::Pubkey
//! [`Hash`]: hash::Hash //! [`Hash`]: hash::Hash
//! [`Instruction`]: instruction::Instruction //! [`Instruction`]: instruction::Instruction
@ -184,7 +184,7 @@
//! [`Keypair`]: https://docs.rs/solana-sdk/latest/solana_sdk/signer/keypair/struct.Keypair.html //! [`Keypair`]: https://docs.rs/solana-sdk/latest/solana_sdk/signer/keypair/struct.Keypair.html
//! [SHA-256]: https://en.wikipedia.org/wiki/SHA-2 //! [SHA-256]: https://en.wikipedia.org/wiki/SHA-2
//! [`Sol`]: native_token::Sol //! [`Sol`]: native_token::Sol
//! [_lamports_]: https://docs.solana.com/introduction#what-are-sols //! [_lamports_]: https://solana.com/docs/intro#what-are-sols
//! //!
//! # Serialization //! # Serialization
//! //!
@ -272,7 +272,7 @@
//! //!
//! [`invoke`]: program::invoke //! [`invoke`]: program::invoke
//! [`invoke_signed`]: program::invoke_signed //! [`invoke_signed`]: program::invoke_signed
//! [cpi]: https://docs.solana.com/developing/programming-model/calling-between-programs //! [cpi]: https://solana.com/docs/core/cpi
//! //!
//! A simple example of transferring lamports via CPI: //! A simple example of transferring lamports via CPI:
//! //!
@ -319,7 +319,7 @@
//! `invoke_signed` to call another program while virtually "signing" for the //! `invoke_signed` to call another program while virtually "signing" for the
//! PDA. //! PDA.
//! //!
//! [pdas]: https://docs.solana.com/developing/programming-model/calling-between-programs#program-derived-addresses //! [pdas]: https://solana.com/docs/core/cpi#program-derived-addresses
//! [`Pubkey::find_program_address`]: pubkey::Pubkey::find_program_address //! [`Pubkey::find_program_address`]: pubkey::Pubkey::find_program_address
//! //!
//! A simple example of creating an account for a PDA: //! A simple example of creating an account for a PDA:
@ -391,7 +391,7 @@
//! Some solana programs are [_native programs_][np2], running native machine //! Some solana programs are [_native programs_][np2], running native machine
//! code that is distributed with the runtime, with well-known program IDs. //! code that is distributed with the runtime, with well-known program IDs.
//! //!
//! [np2]: https://docs.solana.com/developing/runtime-facilities/programs //! [np2]: https://docs.solanalabs.com/runtime/programs
//! //!
//! Some native programs can be [invoked][cpi] by other programs, but some can //! Some native programs can be [invoked][cpi] by other programs, but some can
//! only be executed as "top-level" instructions included by off-chain clients //! only be executed as "top-level" instructions included by off-chain clients
@ -416,7 +416,7 @@
//! active on any particular network. The `solana feature status` CLI command //! active on any particular network. The `solana feature status` CLI command
//! can help in determining active features. //! can help in determining active features.
//! //!
//! [slot]: https://docs.solana.com/terminology#slot //! [slot]: https://solana.com/docs/terminology#slot
//! //!
//! Native programs important to Solana program authors include: //! Native programs important to Solana program authors include:
//! //!
@ -461,7 +461,7 @@
//! - Instruction: [`solana_program::loader_instruction`] //! - Instruction: [`solana_program::loader_instruction`]
//! - Invokable by programs? yes //! - Invokable by programs? yes
//! //!
//! [lut]: https://docs.solana.com/proposals/versioned-transactions //! [lut]: https://docs.solanalabs.com/proposals/versioned-transactions
#![allow(incomplete_features)] #![allow(incomplete_features)]
#![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(specialization))] #![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(specialization))]
@ -554,7 +554,7 @@ pub use wasm_bindgen::prelude::wasm_bindgen;
/// The [config native program][np]. /// The [config native program][np].
/// ///
/// [np]: https://docs.solana.com/developing/runtime-facilities/programs#config-program /// [np]: https://docs.solanalabs.com/runtime/programs#config-program
pub mod config { pub mod config {
pub mod program { pub mod program {
crate::declare_id!("Config1111111111111111111111111111111111111"); crate::declare_id!("Config1111111111111111111111111111111111111");

View File

@ -7,7 +7,7 @@
//! //!
//! [`legacy`]: crate::message::legacy //! [`legacy`]: crate::message::legacy
//! [`v0`]: crate::message::v0 //! [`v0`]: crate::message::v0
//! [future message format]: https://docs.solana.com/proposals/versioned-transactions //! [future message format]: https://docs.solanalabs.com/proposals/versioned-transactions
#![allow(clippy::arithmetic_side_effects)] #![allow(clippy::arithmetic_side_effects)]
@ -330,7 +330,7 @@ impl Message {
/// Create a new message for a [nonced transaction]. /// Create a new message for a [nonced transaction].
/// ///
/// [nonced transaction]: https://docs.solana.com/implemented-proposals/durable-tx-nonces /// [nonced transaction]: https://docs.solanalabs.com/implemented-proposals/durable-tx-nonces
/// ///
/// In this type of transaction, the blockhash is replaced with a _durable /// In this type of transaction, the blockhash is replaced with a _durable
/// transaction nonce_, allowing for extended time to pass between the /// transaction nonce_, allowing for extended time to pass between the

View File

@ -14,7 +14,7 @@
//! of that account array, a [recent blockhash], and a compact encoding of the //! of that account array, a [recent blockhash], and a compact encoding of the
//! message's instructions. //! message's instructions.
//! //!
//! [recent blockhash]: https://docs.solana.com/developing/programming-model/transactions#recent-blockhash //! [recent blockhash]: https://solana.com/docs/core/transactions#recent-blockhash
//! //!
//! Clients most often deal with `Instruction`s and `Transaction`s, with //! Clients most often deal with `Instruction`s and `Transaction`s, with
//! `Message`s being created by `Transaction` constructors. //! `Message`s being created by `Transaction` constructors.
@ -30,7 +30,7 @@
//! more account keys into a transaction than the legacy format. The //! more account keys into a transaction than the legacy format. The
//! [`VersionedMessage`] type is a thin wrapper around either message version. //! [`VersionedMessage`] type is a thin wrapper around either message version.
//! //!
//! [future message format]: https://docs.solana.com/proposals/versioned-transactions //! [future message format]: https://docs.solanalabs.com/proposals/versioned-transactions
//! //!
//! Despite living in the `solana-program` crate, there is no way to access the //! Despite living in the `solana-program` crate, there is no way to access the
//! runtime's messages from within a Solana program, and only the legacy message //! runtime's messages from within a Solana program, and only the legacy message
@ -90,7 +90,7 @@ pub const MESSAGE_HEADER_LENGTH: usize = 3;
/// may process them in parallel, in a single [PoH] entry. Transactions that /// may process them in parallel, in a single [PoH] entry. Transactions that
/// access the same read-write accounts are processed sequentially. /// access the same read-write accounts are processed sequentially.
/// ///
/// [PoH]: https://docs.solana.com/cluster/synchronization /// [PoH]: https://docs.solanalabs.com/consensus/synchronization
#[derive(Serialize, Deserialize, Default, Debug, PartialEq, Eq, Clone, Copy, AbiExample)] #[derive(Serialize, Deserialize, Default, Debug, PartialEq, Eq, Clone, Copy, AbiExample)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct MessageHeader { pub struct MessageHeader {

View File

@ -7,7 +7,7 @@
//! //!
//! [`legacy`]: crate::message::legacy //! [`legacy`]: crate::message::legacy
//! [`v0`]: crate::message::v0 //! [`v0`]: crate::message::v0
//! [future message format]: https://docs.solana.com/proposals/versioned-transactions //! [future message format]: https://docs.solanalabs.com/proposals/versioned-transactions
use crate::{ use crate::{
address_lookup_table_account::AddressLookupTableAccount, address_lookup_table_account::AddressLookupTableAccount,

View File

@ -6,7 +6,7 @@
//! //!
//! [`invoke`]: invoke //! [`invoke`]: invoke
//! [`invoke_signed`]: invoke_signed //! [`invoke_signed`]: invoke_signed
//! [cpi]: https://docs.solana.com/developing/programming-model/calling-between-programs //! [cpi]: https://solana.com/docs/core/cpi
use crate::{ use crate::{
account_info::AccountInfo, entrypoint::ProgramResult, instruction::Instruction, pubkey::Pubkey, account_info::AccountInfo, entrypoint::ProgramResult, instruction::Instruction, pubkey::Pubkey,
@ -174,7 +174,7 @@ pub fn invoke_unchecked(instruction: &Instruction, account_infos: &[AccountInfo]
/// PDA from the seeds and the calling program's ID, and if it matches one of /// PDA from the seeds and the calling program's ID, and if it matches one of
/// the accounts in `account_info`, will consider that account "signed". /// the accounts in `account_info`, will consider that account "signed".
/// ///
/// [pda]: https://docs.solana.com/developing/programming-model/calling-between-programs#program-derived-addresses /// [pda]: https://solana.com/docs/core/cpi#program-derived-addresses
/// ///
/// See the documentation for [`Pubkey::find_program_address`] for more /// See the documentation for [`Pubkey::find_program_address`] for more
/// about program derived addresses. /// about program derived addresses.
@ -361,7 +361,7 @@ pub fn set_return_data(data: &[u8]) {
/// ///
/// For more about return data see the [documentation for the return data proposal][rdp]. /// For more about return data see the [documentation for the return data proposal][rdp].
/// ///
/// [rdp]: https://docs.solana.com/proposals/return-data /// [rdp]: https://docs.solanalabs.com/proposals/return-data
pub fn get_return_data() -> Option<(Pubkey, Vec<u8>)> { pub fn get_return_data() -> Option<(Pubkey, Vec<u8>)> {
#[cfg(target_os = "solana")] #[cfg(target_os = "solana")]
{ {

View File

@ -60,9 +60,9 @@ impl From<u64> for PubkeyError {
/// can not safely create or manage secret keys, the full [`Keypair`] is not /// can not safely create or manage secret keys, the full [`Keypair`] is not
/// defined in `solana-program` but in `solana-sdk`. /// defined in `solana-program` but in `solana-sdk`.
/// ///
/// [acc]: https://docs.solana.com/developing/programming-model/accounts /// [acc]: https://solana.com/docs/core/accounts
/// [ed25519]: https://ed25519.cr.yp.to/ /// [ed25519]: https://ed25519.cr.yp.to/
/// [pdas]: https://docs.solana.com/developing/programming-model/calling-between-programs#program-derived-addresses /// [pdas]: https://solana.com/docs/core/cpi#program-derived-addresses
/// [`Keypair`]: https://docs.rs/solana-sdk/latest/solana_sdk/signer/keypair/struct.Keypair.html /// [`Keypair`]: https://docs.rs/solana-sdk/latest/solana_sdk/signer/keypair/struct.Keypair.html
#[wasm_bindgen] #[wasm_bindgen]
#[repr(transparent)] #[repr(transparent)]
@ -226,7 +226,7 @@ impl Pubkey {
/// Find a valid [program derived address][pda] and its corresponding bump seed. /// Find a valid [program derived address][pda] and its corresponding bump seed.
/// ///
/// [pda]: https://docs.solana.com/developing/programming-model/calling-between-programs#program-derived-addresses /// [pda]: https://solana.com/docs/core/cpi#program-derived-addresses
/// ///
/// Program derived addresses (PDAs) are account keys that only the program, /// Program derived addresses (PDAs) are account keys that only the program,
/// `program_id`, has the authority to sign. The address is of the same form /// `program_id`, has the authority to sign. The address is of the same form
@ -484,7 +484,7 @@ impl Pubkey {
/// Find a valid [program derived address][pda] and its corresponding bump seed. /// Find a valid [program derived address][pda] and its corresponding bump seed.
/// ///
/// [pda]: https://docs.solana.com/developing/programming-model/calling-between-programs#program-derived-addresses /// [pda]: https://solana.com/docs/core/cpi#program-derived-addresses
/// ///
/// The only difference between this method and [`find_program_address`] /// The only difference between this method and [`find_program_address`]
/// is that this one returns `None` in the statistically improbable event /// is that this one returns `None` in the statistically improbable event
@ -538,7 +538,7 @@ impl Pubkey {
/// Create a valid [program derived address][pda] without searching for a bump seed. /// Create a valid [program derived address][pda] without searching for a bump seed.
/// ///
/// [pda]: https://docs.solana.com/developing/programming-model/calling-between-programs#program-derived-addresses /// [pda]: https://solana.com/docs/core/cpi#program-derived-addresses
/// ///
/// Because this function does not create a bump seed, it may unpredictably /// Because this function does not create a bump seed, it may unpredictably
/// return an error for any given set of seeds and is not generally suitable /// return an error for any given set of seeds and is not generally suitable

View File

@ -1,6 +1,6 @@
//! Configuration for network [rent]. //! Configuration for network [rent].
//! //!
//! [rent]: https://docs.solana.com/implemented-proposals/rent //! [rent]: https://docs.solanalabs.com/implemented-proposals/rent
#![allow(clippy::arithmetic_side_effects)] #![allow(clippy::arithmetic_side_effects)]

View File

@ -1,6 +1,6 @@
//! The [secp256k1 native program][np]. //! The [secp256k1 native program][np].
//! //!
//! [np]: https://docs.solana.com/developing/runtime-facilities/programs#secp256k1-program //! [np]: https://docs.solanalabs.com/runtime/programs#secp256k1-program
//! //!
//! Constructors for secp256k1 program instructions, and documentation on the //! Constructors for secp256k1 program instructions, and documentation on the
//! program's usage can be found in [`solana_sdk::secp256k1_instruction`]. //! program's usage can be found in [`solana_sdk::secp256k1_instruction`].

View File

@ -1,6 +1,6 @@
//! A type to hold data for the [`SlotHashes` sysvar][sv]. //! A type to hold data for the [`SlotHashes` sysvar][sv].
//! //!
//! [sv]: https://docs.solana.com/developing/runtime-facilities/sysvars#slothashes //! [sv]: https://docs.solanalabs.com/runtime/sysvars#slothashes
//! //!
//! The sysvar ID is declared in [`sysvar::slot_hashes`]. //! The sysvar ID is declared in [`sysvar::slot_hashes`].
//! //!

View File

@ -1,6 +1,6 @@
//! A type to hold data for the [`SlotHistory` sysvar][sv]. //! A type to hold data for the [`SlotHistory` sysvar][sv].
//! //!
//! [sv]: https://docs.solana.com/developing/runtime-facilities/sysvars#slothistory //! [sv]: https://docs.solanalabs.com/runtime/sysvars#slothistory
//! //!
//! The sysvar ID is declared in [`sysvar::slot_history`]. //! The sysvar ID is declared in [`sysvar::slot_history`].
//! //!

View File

@ -1,6 +1,6 @@
//! The [stake native program][np]. //! The [stake native program][np].
//! //!
//! [np]: https://docs.solana.com/developing/runtime-facilities/sysvars#stakehistory //! [np]: https://docs.solanalabs.com/runtime/sysvars#stakehistory
#[allow(deprecated)] #[allow(deprecated)]
pub mod config; pub mod config;

View File

@ -1,6 +1,6 @@
//! A type to hold data for the [`StakeHistory` sysvar][sv]. //! A type to hold data for the [`StakeHistory` sysvar][sv].
//! //!
//! [sv]: https://docs.solana.com/developing/runtime-facilities/sysvars#stakehistory //! [sv]: https://docs.solanalabs.com/runtime/sysvars#stakehistory
//! //!
//! The sysvar ID is declared in [`sysvar::stake_history`]. //! The sysvar ID is declared in [`sysvar::stake_history`].
//! //!

View File

@ -4,7 +4,7 @@
//! accounts][na]. It is responsible for transferring lamports from accounts //! accounts][na]. It is responsible for transferring lamports from accounts
//! owned by the system program, including typical user wallet accounts. //! owned by the system program, including typical user wallet accounts.
//! //!
//! [na]: https://docs.solana.com/implemented-proposals/durable-tx-nonces //! [na]: https://docs.solanalabs.com/implemented-proposals/durable-tx-nonces
//! //!
//! Account creation typically involves three steps: [`allocate`] space, //! Account creation typically involves three steps: [`allocate`] space,
//! [`transfer`] lamports for rent, [`assign`] to its owning program. The //! [`transfer`] lamports for rent, [`assign`] to its owning program. The
@ -12,7 +12,7 @@
//! contain enough lamports to be [rent exempt], or else the creation //! contain enough lamports to be [rent exempt], or else the creation
//! instruction will fail. //! instruction will fail.
//! //!
//! [rent exempt]: https://docs.solana.com/developing/programming-model/accounts#rent-exemption //! [rent exempt]: https://solana.com/docs/core/accounts#rent-exemption
//! //!
//! The accounts created by the system program can either be user-controlled, //! The accounts created by the system program can either be user-controlled,
//! where the secret keys are held outside the blockchain, //! where the secret keys are held outside the blockchain,
@ -1330,7 +1330,7 @@ pub fn create_nonce_account_with_seed(
/// Consequently, it is not possible to sign a transaction, wait more than two /// Consequently, it is not possible to sign a transaction, wait more than two
/// minutes, then successfully execute that transaction. /// minutes, then successfully execute that transaction.
/// ///
/// [dtn]: https://docs.solana.com/implemented-proposals/durable-tx-nonces /// [dtn]: https://docs.solanalabs.com/implemented-proposals/durable-tx-nonces
/// [rbh]: crate::message::Message::recent_blockhash /// [rbh]: crate::message::Message::recent_blockhash
/// [nonce]: https://en.wikipedia.org/wiki/Cryptographic_nonce /// [nonce]: https://en.wikipedia.org/wiki/Cryptographic_nonce
/// ///
@ -1601,7 +1601,7 @@ pub fn advance_nonce_account(nonce_pubkey: &Pubkey, authorized_pubkey: &Pubkey)
/// would leave the nonce account with a balance less than required for rent /// would leave the nonce account with a balance less than required for rent
/// exemption, but also greater than zero, then the transaction will fail. /// exemption, but also greater than zero, then the transaction will fail.
/// ///
/// [rent exemption]: https://docs.solana.com/developing/programming-model/accounts#rent-exemption /// [rent exemption]: https://solana.com/docs/core/accounts#rent-exemption
/// ///
/// This constructor creates a [`SystemInstruction::WithdrawNonceAccount`] /// This constructor creates a [`SystemInstruction::WithdrawNonceAccount`]
/// instruction. /// instruction.

View File

@ -1,5 +1,5 @@
//! The [system native program][np]. //! The [system native program][np].
//! //!
//! [np]: https://docs.solana.com/developing/runtime-facilities/programs#system-program //! [np]: https://docs.solanalabs.com/runtime/programs#system-program
crate::declare_id!("11111111111111111111111111111111"); crate::declare_id!("11111111111111111111111111111111");

View File

@ -9,7 +9,7 @@
//! //!
//! See also the Solana [documentation on the clock sysvar][sdoc]. //! See also the Solana [documentation on the clock sysvar][sdoc].
//! //!
//! [sdoc]: https://docs.solana.com/developing/runtime-facilities/sysvars#clock //! [sdoc]: https://docs.solanalabs.com/runtime/sysvars#clock
//! //!
//! # Examples //! # Examples
//! //!

View File

@ -12,7 +12,7 @@
//! //!
//! See also the Solana [documentation on the epoch rewards sysvar][sdoc]. //! See also the Solana [documentation on the epoch rewards sysvar][sdoc].
//! //!
//! [sdoc]: https://docs.solana.com/developing/runtime-facilities/sysvars#epochrewards //! [sdoc]: https://docs.solanalabs.com/runtime/sysvars#epochrewards
//! //!
//! # Examples //! # Examples
//! //!

View File

@ -9,7 +9,7 @@
//! //!
//! See also the Solana [documentation on the epoch schedule sysvar][sdoc]. //! See also the Solana [documentation on the epoch schedule sysvar][sdoc].
//! //!
//! [sdoc]: https://docs.solana.com/developing/runtime-facilities/sysvars#epochschedule //! [sdoc]: https://docs.solanalabs.com/runtime/sysvars#epochschedule
//! //!
//! # Examples //! # Examples
//! //!

View File

@ -11,12 +11,12 @@
//! method. For additional context see the [Comprehensive Compute Fees //! method. For additional context see the [Comprehensive Compute Fees
//! proposal][ccf]. //! proposal][ccf].
//! //!
//! [`getFeeForMessage`]: https://docs.solana.com/developing/clients/jsonrpc-api#getfeeformessage //! [`getFeeForMessage`]: https://solana.com/docs/rpc/http/getfeeformessage
//! [ccf]: https://docs.solana.com/proposals/comprehensive-compute-fees //! [ccf]: https://docs.solanalabs.com/proposals/comprehensive-compute-fees
//! //!
//! See also the Solana [documentation on the fees sysvar][sdoc]. //! See also the Solana [documentation on the fees sysvar][sdoc].
//! //!
//! [sdoc]: https://docs.solana.com/developing/runtime-facilities/sysvars#fees //! [sdoc]: https://docs.solanalabs.com/runtime/sysvars#fees
#![allow(deprecated)] #![allow(deprecated)]

View File

@ -5,7 +5,7 @@
//! introspection][in], which is required for correctly interoperating with //! introspection][in], which is required for correctly interoperating with
//! native programs like the [secp256k1] and [ed25519] programs. //! native programs like the [secp256k1] and [ed25519] programs.
//! //!
//! [in]: https://docs.solana.com/implemented-proposals/instruction_introspection //! [in]: https://docs.solanalabs.com/implemented-proposals/instruction_introspection
//! [secp256k1]: crate::secp256k1_program //! [secp256k1]: crate::secp256k1_program
//! [ed25519]: crate::ed25519_program //! [ed25519]: crate::ed25519_program
//! //!
@ -18,7 +18,7 @@
//! //!
//! See also the Solana [documentation on the instructions sysvar][sdoc]. //! See also the Solana [documentation on the instructions sysvar][sdoc].
//! //!
//! [sdoc]: https://docs.solana.com/developing/runtime-facilities/sysvars#instructions //! [sdoc]: https://docs.solanalabs.com/runtime/sysvars#instructions
//! //!
//! # Examples //! # Examples
//! //!

View File

@ -79,7 +79,7 @@
//! //!
//! For more details see the Solana [documentation on sysvars][sysvardoc]. //! For more details see the Solana [documentation on sysvars][sysvardoc].
//! //!
//! [sysvardoc]: https://docs.solana.com/developing/runtime-facilities/sysvars //! [sysvardoc]: https://docs.solanalabs.com/runtime/sysvars
use { use {
crate::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}, crate::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey},

View File

@ -9,12 +9,12 @@
//! determined with the [`getFeeForMessage`] RPC method. For additional context //! determined with the [`getFeeForMessage`] RPC method. For additional context
//! see the [Comprehensive Compute Fees proposal][ccf]. //! see the [Comprehensive Compute Fees proposal][ccf].
//! //!
//! [`getFeeForMessage`]: https://docs.solana.com/developing/clients/jsonrpc-api#getfeeformessage //! [`getFeeForMessage`]: https://solana.com/docs/rpc/http/getfeeformessage
//! [ccf]: https://docs.solana.com/proposals/comprehensive-compute-fees //! [ccf]: https://docs.solanalabs.com/proposals/comprehensive-compute-fees
//! //!
//! See also the Solana [documentation on the recent blockhashes sysvar][sdoc]. //! See also the Solana [documentation on the recent blockhashes sysvar][sdoc].
//! //!
//! [sdoc]: https://docs.solana.com/developing/runtime-facilities/sysvars#recentblockhashes //! [sdoc]: https://docs.solanalabs.com/runtime/sysvars#recentblockhashes
#![allow(deprecated)] #![allow(deprecated)]
#![allow(clippy::arithmetic_side_effects)] #![allow(clippy::arithmetic_side_effects)]

View File

@ -1,6 +1,6 @@
//! Configuration for network [rent]. //! Configuration for network [rent].
//! //!
//! [rent]: https://docs.solana.com/implemented-proposals/rent //! [rent]: https://docs.solanalabs.com/implemented-proposals/rent
//! //!
//! The _rent sysvar_ provides access to the [`Rent`] type, which defines //! The _rent sysvar_ provides access to the [`Rent`] type, which defines
//! storage rent fees. //! storage rent fees.
@ -10,7 +10,7 @@
//! //!
//! See also the Solana [documentation on the rent sysvar][sdoc]. //! See also the Solana [documentation on the rent sysvar][sdoc].
//! //!
//! [sdoc]: https://docs.solana.com/developing/runtime-facilities/sysvars#rent //! [sdoc]: https://docs.solanalabs.com/runtime/sysvars#rent
//! //!
//! # Examples //! # Examples
//! //!

View File

@ -1,6 +1,6 @@
//! The [vote native program][np]. //! The [vote native program][np].
//! //!
//! [np]: https://docs.solana.com/developing/runtime-facilities/programs#vote-program //! [np]: https://docs.solanalabs.com/runtime/programs#vote-program
pub mod authorized_voters; pub mod authorized_voters;
pub mod error; pub mod error;

View File

@ -1,6 +1,6 @@
//! Instructions for the [ed25519 native program][np]. //! Instructions for the [ed25519 native program][np].
//! //!
//! [np]: https://docs.solana.com/developing/runtime-facilities/programs#ed25519-program //! [np]: https://docs.solanalabs.com/runtime/programs#ed25519-program
#![cfg(feature = "full")] #![cfg(feature = "full")]

View File

@ -2,7 +2,7 @@
//! //!
//! As returned by the [`getEpochInfo`] RPC method. //! As returned by the [`getEpochInfo`] RPC method.
//! //!
//! [`getEpochInfo`]: https://docs.solana.com/developing/clients/jsonrpc-api#getepochinfo //! [`getEpochInfo`]: https://solana.com/docs/rpc/http/getepochinfo
use crate::clock::{Epoch, Slot}; use crate::clock::{Epoch, Slot};

View File

@ -26,7 +26,7 @@
//! [`solana-client`]: https://docs.rs/solana-client //! [`solana-client`]: https://docs.rs/solana-client
//! [`solana-cli-config`]: https://docs.rs/solana-cli-config //! [`solana-cli-config`]: https://docs.rs/solana-cli-config
//! [`solana-clap-utils`]: https://docs.rs/solana-clap-utils //! [`solana-clap-utils`]: https://docs.rs/solana-clap-utils
//! [json]: https://docs.solana.com/developing/clients/jsonrpc-api //! [json]: https://solana.com/docs/rpc
//! [`clap`]: https://docs.rs/clap //! [`clap`]: https://docs.rs/clap
#![allow(incomplete_features)] #![allow(incomplete_features)]

View File

@ -1,6 +1,6 @@
//! Instructions for the [secp256k1 native program][np]. //! Instructions for the [secp256k1 native program][np].
//! //!
//! [np]: https://docs.solana.com/developing/runtime-facilities/programs#secp256k1-program //! [np]: https://docs.solanalabs.com/runtime/programs#secp256k1-program
//! //!
//! _This module provides low-level cryptographic building blocks that must be //! _This module provides low-level cryptographic building blocks that must be
//! used carefully to ensure proper security. Read this documentation and //! used carefully to ensure proper security. Read this documentation and

View File

@ -1,6 +1,6 @@
//! Calculation of [shred] versions. //! Calculation of [shred] versions.
//! //!
//! [shred]: https://docs.solana.com/terminology#shred //! [shred]: https://solana.com/docs/terminology#shred
#![cfg(feature = "full")] #![cfg(feature = "full")]

View File

@ -43,7 +43,7 @@
//! transactions. //! transactions.
//! //!
//! [`RpcClient::get_latest_blockhash`]: https://docs.rs/solana-rpc-client/latest/solana_rpc_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 //! [durable transaction nonce]: https://docs.solanalabs.com/implemented-proposals/durable-tx-nonces
//! //!
//! # Examples //! # Examples
//! //!

View File

@ -1673,7 +1673,7 @@ pub fn main() {
if SystemMonitorService::check_os_network_limits() { if SystemMonitorService::check_os_network_limits() {
info!("OS network limits test passed."); info!("OS network limits test passed.");
} else { } else {
eprintln!("OS network limit test failed. See: https://docs.solana.com/running-validator/validator-start#system-tuning"); eprintln!("OS network limit test failed. See: https://docs.solanalabs.com/operations/guides/validator-start#system-tuning");
exit(1); exit(1);
} }
} }

View File

@ -6,7 +6,7 @@
//! A formal documentation of how transfer fees and fee sigma proof are computed can be found in //! A formal documentation of how transfer fees and fee sigma proof are computed can be found in
//! the [`ZK Token proof`] program documentation. //! the [`ZK Token proof`] program documentation.
//! //!
//! [`ZK Token proof`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof //! [`ZK Token proof`]: https://docs.solanalabs.com/runtime/zk-token-proof
#[cfg(not(target_os = "solana"))] #[cfg(not(target_os = "solana"))]
use { use {
@ -43,7 +43,7 @@ pub struct FeeSigmaProofData {
/// ///
/// We refer to [`ZK Token proof`] for the formal details on how the fee sigma proof is computed. /// We refer to [`ZK Token proof`] for the formal details on how the fee sigma proof is computed.
/// ///
/// [`ZK Token proof`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof /// [`ZK Token proof`]: https://docs.solanalabs.com/runtime/zk-token-proof
#[derive(Clone, Copy, Pod, Zeroable)] #[derive(Clone, Copy, Pod, Zeroable)]
#[repr(C)] #[repr(C)]
pub struct FeeSigmaProofContext { pub struct FeeSigmaProofContext {

View File

@ -1,6 +1,6 @@
//! The instruction data types for the [`ZK Token proof`] instruction. //! The instruction data types for the [`ZK Token proof`] instruction.
//! //!
//! [`ZK Token proof`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof //! [`ZK Token proof`]: https://docs.solanalabs.com/runtime/zk-token-proof
pub mod batched_grouped_ciphertext_validity; pub mod batched_grouped_ciphertext_validity;
pub mod batched_range_proof; pub mod batched_range_proof;

View File

@ -8,7 +8,7 @@
//! The protocol guarantees computational soundness (by the hardness of discrete log) and perfect //! The protocol guarantees computational soundness (by the hardness of discrete log) and perfect
//! zero-knowledge in the random oracle model. //! zero-knowledge in the random oracle model.
//! //!
//! [`ZK Token proof program`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof //! [`ZK Token proof program`]: https://docs.solanalabs.com/runtime/zk-token-proof
#[cfg(not(target_os = "solana"))] #[cfg(not(target_os = "solana"))]
use { use {

View File

@ -3,7 +3,7 @@
//! Formal documentation and security proofs for the sigma proofs in this module can be found in //! Formal documentation and security proofs for the sigma proofs in this module can be found in
//! [`ZK Token proof`] program documentation. //! [`ZK Token proof`] program documentation.
//! //!
//! [`ZK Token proof`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof //! [`ZK Token proof`]: https://docs.solanalabs.com/runtime/zk-token-proof
pub mod batched_grouped_ciphertext_validity_proof; pub mod batched_grouped_ciphertext_validity_proof;
pub mod ciphertext_ciphertext_equality_proof; pub mod ciphertext_ciphertext_equality_proof;

View File

@ -19,8 +19,8 @@
//! this instruction must be signed by the context account's owner. This instruction can be used by //! this instruction must be signed by the context account's owner. This instruction can be used by
//! the account owner to reclaim lamports for storage. //! the account owner to reclaim lamports for storage.
//! //!
//! [`ZK Token proof`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof //! [`ZK Token proof`]: https://docs.solanalabs.com/runtime/zk-token-proof
//! [`context-state`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof#context-data //! [`context-state`]: https://docs.solanalabs.com/runtime/zk-token-proof#context-data
pub use crate::instruction::*; pub use crate::instruction::*;
use { use {

View File

@ -5,7 +5,7 @@
//! the program as well as the technical details of some of the proof instructions can be found in //! the program as well as the technical details of some of the proof instructions can be found in
//! the [`ZK Token proof`] documentation. //! the [`ZK Token proof`] documentation.
//! //!
//! [`ZK Token proof`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof //! [`ZK Token proof`]: https://docs.solanalabs.com/runtime/zk-token-proof
// Program Id of the ZkToken Proof program // Program Id of the ZkToken Proof program
solana_program::declare_id!("ZkTokenProof1111111111111111111111111111111"); solana_program::declare_id!("ZkTokenProof1111111111111111111111111111111");