[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
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
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)
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:
* [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
confused with 3-letter acronyms.
[Terms currently in use](docs/src/terminology.md)
[Terms currently in use](https://solana.com/docs/terminology)
## Design Proposals
Solana'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.
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 Labs Validator Client](https://docs.solanalabs.com) documentation website.
Current design proposals may be viewed on the docs site:
1. [Accepted Proposals](https://docs.solana.com/proposals/accepted-design-proposals)
2. [Implemented Proposals](https://docs.solana.com/implemented-proposals/implemented-proposals)
1. [Accepted Proposals](https://docs.solanalabs.com/proposals/accepted-design-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).

View File

@ -66,11 +66,13 @@ $ ./cargo test
```
### 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
* `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

View File

@ -2,7 +2,7 @@
//!
//! For more information, see:
//!
//! <https://docs.solana.com/implemented-proposals/persistent-account-storage>
//! <https://docs.solanalabs.com/implemented-proposals/persistent-account-storage>
use {
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\
transaction. Nonced transactions are useful when a transaction \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 {

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\
transaction. Nonced transactions are useful when a transaction \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 {

View File

@ -34,7 +34,7 @@ pub struct Config {
///
/// 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,
/// The address to connect to for receiving event notifications.
///

View File

@ -1,6 +1,6 @@
//! 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.
//! ```

View File

@ -1,8 +1,17 @@
# 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`.
> 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
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/intro/dev", "source": "/developing/programming-model/overview" },
{ "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/developers/guides/javascript/compressed-nfts", "source": "/developing/guides/compressed-nfts" },
{ "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.
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 will continue to serve as the primary data source, and then will
fall back to the external data store.
rocksdb ledger so an external data store is necessary. The validator's rocksdb
ledger will continue to serve as the primary data source, and then will fall
back to the external data store.
The affected RPC endpoints are:
- [getFirstAvailableBlock](https://solana.com/docs/rpc/http/getfirstavailableblock)
- [getConfirmedBlock](https://solana.com/docs/rpc/http/getconfirmedblock)
- [getConfirmedBlocks](https://solana.com/docs/rpc/http/getconfirmedblocks)
- [getConfirmedBlock](https://solana.com/docs/rpc/deprecated/getconfirmedblock)
- [getConfirmedBlocks](https://solana.com/docs/rpc/deprecated/getconfirmedblocks)
- [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)
- [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
different tables for quick searching.
New data may be copied into the instance at anytime without affecting the existing
data, and all data is immutable. Generally the expectation is that new data
will be uploaded once an current epoch completes but there is no limitation on
the frequency of data dumps.
New data may be copied into the instance at anytime without affecting the
existing data, and all data is immutable. Generally the expectation is that new
data will be uploaded once an current epoch completes but there is no limitation
on the frequency of data dumps.
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
added becomes important. For example if data from epoch N-1 is added after data
from epoch N, the older epoch data will outlive the newer data. However beyond
producing _holes_ in query results, this kind of unordered deletion will
have no ill effect. Note that this method of cleanup effectively allows for an
unlimited amount of transaction data to be stored, restricted only by the
monetary costs of doing so.
instance tables appropriately, it just disappears. Therefore the order of when
data is added becomes important. For example if data from epoch N-1 is added
after data from epoch N, the older epoch data will outlive the newer data.
However beyond producing _holes_ in query results, this kind of unordered
deletion will have no ill effect. Note that this method of cleanup effectively
allows for an unlimited amount of transaction data to be stored, restricted only
by the monetary costs of doing so.
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
@ -62,15 +61,15 @@ all transactions to build up the necessary metadata.
## Accessing BigTable
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
higher-level Rust crate for BigTable exists. Practically this makes parsing the
results of BigTable queries more complicated but is not a significant issue.
[tonic](https://crates.io/crates/crate)] and the raw protobuf API, as currently
no higher-level Rust crate for BigTable exists. Practically this makes parsing
the results of BigTable queries more complicated but is not a significant issue.
## Data Population
The ongoing population of instance data will occur on an epoch cadence through the
use of a new `solana-ledger-tool` command that will convert rocksdb data for a
given slot range into the instance schema.
The ongoing population of instance data will occur on an epoch cadence through
the use of a new `solana-ledger-tool` command that will convert rocksdb data for
a given slot range into the instance schema.
The same process will be run once, manually, to backfill the existing ledger
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
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
42 would be 000000000000002a.
block will always be first when the rows are listed. eg, The row key for slot 42
would be 000000000000002a.
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.
The row key is `<base58 address>/<slot-id-one's-compliment-hex-slot-0-prefixed-to-16-digits>`. The row
data is a compressed `TransactionByAddrInfo` struct.
The row key is
`<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
the newest slot with transactions that affect an address will always
be listed first.
the newest slot with transactions that affect an address will always be listed
first.
Sysvar addresses are not indexed. However frequently used programs such as
Vote or System are, and will likely have a row for every confirmed slot.
Sysvar addresses are not indexed. However frequently used programs such as Vote
or System are, and will likely have a row for every confirmed slot.
### 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 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
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
[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.
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
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)

View File

@ -4629,7 +4629,7 @@ fn adjust_ulimit_nofile(enforce_ulimit_nofile: bool) -> Result<()> {
// usually not enough
// AppendVecs and disk Account Index are also heavy users of mmapped files.
// 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;
fn get_nofile() -> libc::rlimit {

View File

@ -4,7 +4,7 @@
/// 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
/// [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).
pub const MAX_ACCOUNTS_DATA_LEN: u64 = 128_000_000_000;

View File

@ -3,7 +3,7 @@
//! The [`PubsubClient`] implements [Solana WebSocket event
//! 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
//! client in [`crate::pubsub_client`].
@ -366,7 +366,7 @@ impl PubsubClient {
///
/// 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(
&self,
pubkey: &Pubkey,
@ -387,7 +387,7 @@ impl PubsubClient {
///
/// 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(
&self,
filter: RpcBlockSubscribeFilter,
@ -404,7 +404,7 @@ impl PubsubClient {
///
/// 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(
&self,
filter: RpcTransactionLogsFilter,
@ -422,7 +422,7 @@ impl PubsubClient {
///
/// 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(
&self,
pubkey: &Pubkey,
@ -458,7 +458,7 @@ impl PubsubClient {
///
/// 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> {
self.subscribe("vote", json!([])).await
}
@ -468,13 +468,13 @@ impl PubsubClient {
/// Receives messages of type [`Slot`] when a new [root] is set by the
/// validator.
///
/// [root]: https://docs.solana.com/terminology#root
/// [root]: https://solana.com/docs/terminology#root
///
/// # RPC Reference
///
/// 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> {
self.subscribe("root", json!([])).await
}
@ -491,7 +491,7 @@ impl PubsubClient {
///
/// 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(
&self,
signature: &Signature,
@ -509,7 +509,7 @@ impl PubsubClient {
///
/// 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> {
self.subscribe("slot", json!([])).await
}
@ -527,7 +527,7 @@ impl PubsubClient {
///
/// 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> {
self.subscribe("slotsUpdates", json!([])).await
}

View File

@ -3,7 +3,7 @@
//! The [`PubsubClient`] implements [Solana WebSocket event
//! 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
//! in [`crate::nonblocking::pubsub_client`].
@ -369,7 +369,7 @@ impl PubsubClient {
///
/// 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(
url: &str,
pubkey: &Pubkey,
@ -422,7 +422,7 @@ impl PubsubClient {
///
/// 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(
url: &str,
filter: RpcBlockSubscribeFilter,
@ -470,7 +470,7 @@ impl PubsubClient {
///
/// 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(
url: &str,
filter: RpcTransactionLogsFilter,
@ -519,7 +519,7 @@ impl PubsubClient {
///
/// 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(
url: &str,
pubkey: &Pubkey,
@ -584,7 +584,7 @@ impl PubsubClient {
///
/// 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> {
let url = Url::parse(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
/// validator.
///
/// [root]: https://docs.solana.com/terminology#root
/// [root]: https://solana.com/docs/terminology#root
///
/// # RPC Reference
///
/// 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> {
let url = Url::parse(url)?;
let socket = connect_with_retry(url)?;
@ -675,7 +675,7 @@ impl PubsubClient {
///
/// 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(
url: &str,
signature: &Signature,
@ -726,7 +726,7 @@ impl PubsubClient {
///
/// 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> {
let url = Url::parse(url)?;
let socket = connect_with_retry(url)?;
@ -774,7 +774,7 @@ impl PubsubClient {
///
/// 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(
url: &str,
handler: impl Fn(SlotUpdate) + Send + 'static,

View File

@ -104,10 +104,10 @@ use {
///
/// [`Finalized`]: CommitmentLevel::Finalized
/// [`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
/// [slots]: https://docs.solana.com/terminology#slot
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment
/// [slots]: https://solana.com/docs/terminology#slot
/// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
///
/// # Errors
///
@ -176,7 +176,7 @@ impl RpcClient {
/// The client has a default timeout of 30 seconds, and 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
///
@ -191,7 +191,7 @@ impl RpcClient {
/// 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
/// "http://localhost:8899".
@ -223,7 +223,7 @@ impl RpcClient {
/// The client has and 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
///
@ -243,7 +243,7 @@ impl RpcClient {
/// 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
/// "http://localhost:8899".
@ -276,7 +276,7 @@ impl RpcClient {
/// 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
/// "http://localhost:8899".
@ -448,7 +448,7 @@ impl RpcClient {
/// The client has a default timeout of 30 seconds, and 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
///
@ -464,7 +464,7 @@ impl RpcClient {
/// 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
/// [`CommitmentLevel`] via [`CommitmentConfig`].
@ -493,7 +493,7 @@ impl RpcClient {
///
/// 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
///
@ -541,7 +541,7 @@ impl RpcClient {
/// 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
/// 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
/// 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
/// 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
/// [`getLatestBlockhash`] RPC method.
///
/// [`sendTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction
/// [`getLatestBlockhash`]: https://docs.solana.com/developing/clients/jsonrpc-api#getlatestblockhash
/// [`sendTransaction`]: https://solana.com/docs/rpc/http/sendtransaction
/// [`getLatestBlockhash`]: https://solana.com/docs/rpc/http/getlatestblockhash
///
/// # Examples
///
@ -811,7 +811,7 @@ impl RpcClient {
///
/// 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
///
@ -900,7 +900,7 @@ impl RpcClient {
///
/// 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
///
@ -1014,7 +1014,7 @@ impl RpcClient {
/// with the configured [commitment level][cl], which can be retrieved with
/// 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
/// &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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1073,7 +1073,7 @@ impl RpcClient {
/// Returns an [`RpcResult`] with value `true` if the given transaction
/// 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
/// &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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1255,7 +1255,7 @@ impl RpcClient {
/// Simulating a transaction is similar to the ["preflight check"] that is
/// 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
/// signatures, call the [`simulate_transaction_with_config`] method, with
@ -1269,7 +1269,7 @@ impl RpcClient {
///
/// 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
///
@ -1326,7 +1326,7 @@ impl RpcClient {
/// Simulating a transaction is similar to the ["preflight check"] that is
/// 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
/// signatures, call the [`simulate_transaction_with_config`] method, with
@ -1349,7 +1349,7 @@ impl RpcClient {
///
/// 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
///
@ -1421,7 +1421,7 @@ impl RpcClient {
///
/// 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
///
@ -1461,7 +1461,7 @@ impl RpcClient {
/// 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,
/// 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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#gitsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1556,7 +1556,7 @@ impl RpcClient {
///
/// 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
///
@ -1636,7 +1636,7 @@ impl RpcClient {
/// method, with the `searchTransactionHistory` configuration option set to
/// `true`.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1681,7 +1681,7 @@ impl RpcClient {
/// 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,
/// 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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1757,7 +1757,7 @@ impl RpcClient {
/// 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,
/// 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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1834,13 +1834,13 @@ impl RpcClient {
/// 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
///
/// 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
///
@ -1860,13 +1860,13 @@ impl RpcClient {
/// 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
///
/// 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
///
@ -1895,13 +1895,13 @@ impl RpcClient {
/// 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
///
/// 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
///
@ -1922,13 +1922,13 @@ impl RpcClient {
/// 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
///
/// 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
///
@ -1963,7 +1963,7 @@ impl RpcClient {
///
/// 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
///
@ -2006,7 +2006,7 @@ impl RpcClient {
///
/// 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
///
@ -2030,7 +2030,7 @@ impl RpcClient {
///
/// 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
///
@ -2080,13 +2080,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -2173,13 +2173,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -2203,7 +2203,7 @@ impl RpcClient {
///
/// 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
///
@ -2239,7 +2239,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getLargestAccounts`] RPC
/// method.
///
/// [`getLargestAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getlargestaccounts
/// [`getLargestAccounts`]: https://solana.com/docs/rpc/http/getlargestaccounts
///
/// # Examples
///
@ -2282,14 +2282,14 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts
/// 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
///
/// 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
///
@ -2311,13 +2311,13 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts
/// 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
///
/// 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
///
@ -2349,13 +2349,13 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts
/// 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
///
/// 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
///
@ -2435,7 +2435,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getClusterNodes`]
/// RPC method.
///
/// [`getClusterNodes`]: https://docs.solana.com/developing/clients/jsonrpc-api#getclusternodes
/// [`getClusterNodes`]: https://solana.com/docs/rpc/http/getclusternodes
///
/// # Examples
///
@ -2467,7 +2467,7 @@ impl RpcClient {
/// 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
///
@ -2493,7 +2493,7 @@ impl RpcClient {
///
/// 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
///
@ -2531,7 +2531,7 @@ impl RpcClient {
///
/// 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
///
@ -2626,7 +2626,7 @@ impl RpcClient {
///
/// [`Finalized`]: CommitmentLevel::Finalized
/// [`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
///
@ -2638,8 +2638,8 @@ impl RpcClient {
/// the remote node version is less than 1.7, in which case it maps to the
/// [`getConfirmedBlocks`] RPC method.
///
/// [`getBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocks
/// [`getConfirmedBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getConfirmedblocks
/// [`getBlocks`]: https://solana.com/docs/rpc/http/getblocks
/// [`getConfirmedBlocks`]: https://solana.com/docs/rpc/deprecated/getconfirmedblocks
///
/// # Examples
///
@ -2676,7 +2676,7 @@ impl RpcClient {
/// If `end_slot` is not provided, then the end slot is for the latest
/// 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
/// 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
/// [`getConfirmedBlocks`] RPC method.
///
/// [`getBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocks
/// [`getConfirmedBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getConfirmedblocks
/// [`getBlocks`]: https://solana.com/docs/rpc/http/getblocks
/// [`getConfirmedBlocks`]: https://solana.com/docs/rpc/deprecated/getconfirmedblocks
///
/// # Examples
///
@ -2752,7 +2752,7 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl].
///
/// [`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
///
@ -2764,8 +2764,8 @@ impl RpcClient {
/// method, unless the remote node version is less than 1.7, in which case
/// it maps to the [`getConfirmedBlocksWithLimit`] RPC method.
///
/// [`getBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedblockswithlimit
/// [`getBlocksWithLimit`]: https://solana.com/docs/rpc/http/getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://solana.com/docs/rpc/deprecated/getconfirmedblockswithlimit
///
/// # Examples
///
@ -2804,7 +2804,7 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below
/// [`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
///
/// # RPC Reference
@ -2813,8 +2813,8 @@ impl RpcClient {
/// method, unless the remote node version is less than 1.7, in which case
/// it maps to the `getConfirmedBlocksWithLimit` RPC method.
///
/// [`getBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedblockswithlimit
/// [`getBlocksWithLimit`]: https://solana.com/docs/rpc/http/getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://solana.com/docs/rpc/deprecated/getconfirmedblockswithlimit
///
/// # Examples
///
@ -2941,16 +2941,14 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl].
///
/// [`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
///
/// This method corresponds directly to the [`getSignaturesForAddress`] RPC
/// method, unless the remote node version is less than 1.7, in which case
/// it maps to the [`getSignaturesForAddress2`] RPC method.
/// method.
///
/// [`getSignaturesForAddress`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress
/// [`getSignaturesForAddress2`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress2
/// [`getSignaturesForAddress`]: https://solana.com/docs/rpc/http/getsignaturesforaddress
///
/// # Examples
///
@ -2990,17 +2988,15 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below
/// [`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
///
/// # RPC Reference
///
/// This method corresponds directly to the [`getSignaturesForAddress`] RPC
/// method, unless the remote node version is less than 1.7, in which case
/// it maps to the [`getSignaturesForAddress2`] RPC method.
/// method.
///
/// [`getSignaturesForAddress`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress
/// [`getSignaturesForAddress2`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress2
/// [`getSignaturesForAddress`]: https://solana.com/docs/rpc/http/getsignaturesforaddress
///
/// # Examples
///
@ -3110,7 +3106,7 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl].
///
/// [`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
///
@ -3118,8 +3114,8 @@ impl RpcClient {
/// unless the remote node version is less than 1.7, in which case it maps
/// to the [`getConfirmedTransaction`] RPC method.
///
/// [`getTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction
/// [`getConfirmedTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedtransaction
/// [`getTransaction`]: https://solana.com/docs/rpc/http/gettransaction
/// [`getConfirmedTransaction`]: https://solana.com/docs/rpc/deprecated/getConfirmedTransaction
///
/// # Examples
///
@ -3168,7 +3164,7 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below
/// [`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
///
/// # RPC Reference
@ -3177,8 +3173,8 @@ impl RpcClient {
/// unless the remote node version is less than 1.7, in which case it maps
/// to the [`getConfirmedTransaction`] RPC method.
///
/// [`getTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction
/// [`getConfirmedTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedtransaction
/// [`getTransaction`]: https://solana.com/docs/rpc/http/gettransaction
/// [`getConfirmedTransaction`]: https://solana.com/docs/rpc/deprecated/getConfirmedTransaction
///
/// # Examples
///
@ -3269,7 +3265,7 @@ impl RpcClient {
///
/// 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
///
@ -3306,13 +3302,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -3336,7 +3332,7 @@ impl RpcClient {
///
/// 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
///
@ -3369,13 +3365,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -3407,7 +3403,7 @@ impl RpcClient {
///
/// 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
///
@ -3448,7 +3444,7 @@ impl RpcClient {
///
/// 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
///
@ -3490,7 +3486,7 @@ impl RpcClient {
///
/// 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
///
@ -3517,7 +3513,7 @@ impl RpcClient {
///
/// 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
///
@ -3553,7 +3549,7 @@ impl RpcClient {
///
/// 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
///
@ -3591,7 +3587,7 @@ impl RpcClient {
///
/// 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
///
@ -3621,14 +3617,14 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl].
///
/// [`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
///
/// This method corresponds directly to the [`getInflationGovernor`] RPC
/// method.
///
/// [`getInflationGovernor`]: https://docs.solana.com/developing/clients/jsonrpc-api#getinflationgovernor
/// [`getInflationGovernor`]: https://solana.com/docs/rpc/http/getinflationgovernor
///
/// # Examples
///
@ -3653,7 +3649,7 @@ impl RpcClient {
///
/// 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
///
@ -3675,13 +3671,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -3733,7 +3729,7 @@ impl RpcClient {
///
/// 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
///
@ -3765,7 +3761,7 @@ impl RpcClient {
/// This method corresponds directly to the [`minimumLedgerSlot`] RPC
/// method.
///
/// [`minimumLedgerSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#minimumledgerslot
/// [`minimumLedgerSlot`]: https://solana.com/docs/rpc/http/minimumledgerslot
///
/// # Examples
///
@ -3787,7 +3783,7 @@ impl RpcClient {
///
/// 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.
///
@ -3805,7 +3801,7 @@ impl RpcClient {
///
/// 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
///
@ -3846,7 +3842,7 @@ impl RpcClient {
///
/// 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
///
@ -3901,7 +3897,7 @@ impl RpcClient {
///
/// 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
///
@ -3983,7 +3979,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getMaxRetransmitSlot`] RPC
/// method.
///
/// [`getMaxRetransmitSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmaxretransmitslot
/// [`getMaxRetransmitSlot`]: https://solana.com/docs/rpc/http/getmaxretransmitslot
///
/// # Examples
///
@ -4001,14 +3997,14 @@ impl RpcClient {
.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
///
/// This method corresponds directly to the
/// [`getMaxShredInsertSlot`] RPC method.
///
/// [`getMaxShredInsertSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmaxshredinsertslot
/// [`getMaxShredInsertSlot`]: https://solana.com/docs/rpc/http/getmaxshredinsertslot
///
/// # Examples
///
@ -4030,13 +4026,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -4073,7 +4069,7 @@ impl RpcClient {
///
/// 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
///
@ -4122,7 +4118,7 @@ impl RpcClient {
///
/// 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
///
@ -4196,7 +4192,7 @@ impl RpcClient {
///
/// 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
///
@ -4229,7 +4225,7 @@ impl RpcClient {
/// This method corresponds directly to the
/// [`getMinimumBalanceForRentExemption`] RPC method.
///
/// [`getMinimumBalanceForRentExemption`]: https://docs.solana.com/developing/clients/jsonrpc-api#getminimumbalanceforrentexemption
/// [`getMinimumBalanceForRentExemption`]: https://solana.com/docs/rpc/http/getminimumbalanceforrentexemption
///
/// # Examples
///
@ -4268,13 +4264,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -4306,7 +4302,7 @@ impl RpcClient {
///
/// 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
///
@ -4349,14 +4345,14 @@ impl RpcClient {
///
/// 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
///
/// This method corresponds directly to the [`getProgramAccounts`] RPC
/// method.
///
/// [`getProgramAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getprogramaccounts
/// [`getProgramAccounts`]: https://solana.com/docs/rpc/http/getprogramaccounts
///
/// # Examples
///
@ -4398,7 +4394,7 @@ impl RpcClient {
///
/// 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
///
@ -4481,7 +4477,7 @@ impl RpcClient {
///
/// 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
///
@ -4506,7 +4502,7 @@ impl RpcClient {
///
/// 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
///

View File

@ -151,10 +151,10 @@ pub struct GetConfirmedSignaturesForAddress2Config {
///
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// [`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
/// [slots]: https://docs.solana.com/terminology#slot
/// [cl]: https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment
/// [slots]: https://solana.com/docs/terminology#slot
/// [cl]: https://solana.com/docs/rpc#configuring-state-commitment
///
/// # Errors
///
@ -240,7 +240,7 @@ impl RpcClient {
/// The client has a default timeout of 30 seconds, and 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
///
/// # Examples
@ -256,7 +256,7 @@ impl RpcClient {
/// 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
/// "http://localhost:8899".
@ -290,7 +290,7 @@ impl RpcClient {
/// The client has and 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
///
/// # Examples
@ -311,7 +311,7 @@ impl RpcClient {
/// 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
/// "http://localhost:8899".
@ -344,7 +344,7 @@ impl RpcClient {
/// 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
/// "http://localhost:8899".
@ -516,7 +516,7 @@ impl RpcClient {
/// The client has a default timeout of 30 seconds, and 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
///
/// # Examples
@ -533,7 +533,7 @@ impl RpcClient {
/// 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
/// [`CommitmentLevel`] via [`CommitmentConfig`].
@ -564,7 +564,7 @@ impl RpcClient {
///
/// 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
///
/// # Examples
@ -589,7 +589,7 @@ impl RpcClient {
/// 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
/// 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
/// 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
/// 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
/// [`getLatestBlockhash`] RPC method.
///
/// [`sendTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#sendtransaction
/// [`getLatestBlockhash`]: https://docs.solana.com/developing/clients/jsonrpc-api#getlatestblockhash
/// [`sendTransaction`]: https://solana.com/docs/rpc/http/sendtransaction
/// [`getLatestBlockhash`]: https://solana.com/docs/rpc/http/getlatestblockhash
///
/// # Examples
///
@ -754,7 +754,7 @@ impl RpcClient {
///
/// 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
///
@ -830,7 +830,7 @@ impl RpcClient {
///
/// 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
///
@ -885,7 +885,7 @@ impl RpcClient {
/// with the configured [commitment level][cl], which can be retrieved with
/// 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
/// &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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -938,7 +938,7 @@ impl RpcClient {
/// Returns an [`RpcResult`] with value `true` if the given transaction
/// 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
/// &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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1022,7 +1022,7 @@ impl RpcClient {
/// Simulating a transaction is similar to the ["preflight check"] that is
/// 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
/// signatures, call the [`simulate_transaction_with_config`] method, with
@ -1036,7 +1036,7 @@ impl RpcClient {
///
/// 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
///
@ -1083,7 +1083,7 @@ impl RpcClient {
/// Simulating a transaction is similar to the ["preflight check"] that is
/// 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
/// signatures, call the [`simulate_transaction_with_config`] method, with
@ -1106,7 +1106,7 @@ impl RpcClient {
///
/// 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
///
@ -1160,7 +1160,7 @@ impl RpcClient {
///
/// 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
///
@ -1186,7 +1186,7 @@ impl RpcClient {
/// 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,
/// 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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#gitsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1277,7 +1277,7 @@ impl RpcClient {
///
/// 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
///
@ -1352,7 +1352,7 @@ impl RpcClient {
/// method, with the `searchTransactionHistory` configuration option set to
/// `true`.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1387,7 +1387,7 @@ impl RpcClient {
/// 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,
/// 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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1454,7 +1454,7 @@ impl RpcClient {
/// 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,
/// 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.
///
/// [`getSignatureStatuses`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturestatuses
/// [`getSignatureStatuses`]: https://solana.com/docs/rpc/http/getsignaturestatuses
///
/// # Examples
///
@ -1523,13 +1523,13 @@ impl RpcClient {
/// 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
///
/// 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
///
@ -1546,13 +1546,13 @@ impl RpcClient {
/// 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
///
/// 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
///
@ -1574,13 +1574,13 @@ impl RpcClient {
/// 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
///
/// 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
///
@ -1597,13 +1597,13 @@ impl RpcClient {
/// 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
///
/// 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
///
@ -1631,7 +1631,7 @@ impl RpcClient {
///
/// 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
///
@ -1655,7 +1655,7 @@ impl RpcClient {
///
/// 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
///
@ -1676,7 +1676,7 @@ impl RpcClient {
///
/// 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
///
@ -1721,13 +1721,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -1800,13 +1800,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -1827,7 +1827,7 @@ impl RpcClient {
///
/// 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
///
@ -1856,7 +1856,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getLargestAccounts`] RPC
/// method.
///
/// [`getLargestAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getlargestaccounts
/// [`getLargestAccounts`]: https://solana.com/docs/rpc/http/getlargestaccounts
///
/// # Examples
///
@ -1888,14 +1888,14 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts
/// 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
///
/// 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
///
@ -1913,13 +1913,13 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts
/// 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
///
/// 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
///
@ -1944,13 +1944,13 @@ impl RpcClient {
/// Returns the account info and associated stake for all the voting accounts
/// 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
///
/// 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
///
@ -2002,7 +2002,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getClusterNodes`]
/// RPC method.
///
/// [`getClusterNodes`]: https://docs.solana.com/developing/clients/jsonrpc-api#getclusternodes
/// [`getClusterNodes`]: https://solana.com/docs/rpc/http/getclusternodes
///
/// # Examples
///
@ -2031,7 +2031,7 @@ impl RpcClient {
/// 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
///
@ -2053,7 +2053,7 @@ impl RpcClient {
///
/// 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
///
@ -2084,7 +2084,7 @@ impl RpcClient {
///
/// 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
///
@ -2169,7 +2169,7 @@ impl RpcClient {
///
/// [`Finalized`]: solana_sdk::commitment_config::CommitmentLevel::Finalized
/// [`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
///
@ -2181,8 +2181,8 @@ impl RpcClient {
/// the remote node version is less than 1.7, in which case it maps to the
/// [`getConfirmedBlocks`] RPC method.
///
/// [`getBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocks
/// [`getConfirmedBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getConfirmedblocks
/// [`getBlocks`]: https://solana.com/docs/rpc/http/getblocks
/// [`getConfirmedBlocks`]: https://solana.com/docs/rpc/deprecated/getconfirmedblocks
///
/// # Examples
///
@ -2208,7 +2208,7 @@ impl RpcClient {
/// If `end_slot` is not provided, then the end slot is for the latest
/// 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
/// 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
/// [`getConfirmedBlocks`] RPC method.
///
/// [`getBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblocks
/// [`getConfirmedBlocks`]: https://docs.solana.com/developing/clients/jsonrpc-api#getConfirmedblocks
/// [`getBlocks`]: https://solana.com/docs/rpc/http/getblocks
/// [`getConfirmedBlocks`]: https://solana.com/docs/rpc/deprecated/getconfirmedblocks
///
/// # Examples
///
@ -2272,7 +2272,7 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl].
///
/// [`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
///
@ -2284,8 +2284,8 @@ impl RpcClient {
/// method, unless the remote node version is less than 1.7, in which case
/// it maps to the [`getConfirmedBlocksWithLimit`] RPC method.
///
/// [`getBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedblockswithlimit
/// [`getBlocksWithLimit`]: https://solana.com/docs/rpc/http/getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://solana.com/docs/rpc/deprecated/getconfirmedblockswithlimit
///
/// # Examples
///
@ -2312,7 +2312,7 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below
/// [`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
///
/// # RPC Reference
@ -2321,8 +2321,8 @@ impl RpcClient {
/// method, unless the remote node version is less than 1.7, in which case
/// it maps to the `getConfirmedBlocksWithLimit` RPC method.
///
/// [`getBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedblockswithlimit
/// [`getBlocksWithLimit`]: https://solana.com/docs/rpc/http/getblockswithlimit
/// [`getConfirmedBlocksWithLimit`]: https://solana.com/docs/rpc/deprecated/getconfirmedblockswithlimit
///
/// # Examples
///
@ -2427,16 +2427,14 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl].
///
/// [`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
///
/// This method corresponds directly to the [`getSignaturesForAddress`] RPC
/// method, unless the remote node version is less than 1.7, in which case
/// it maps to the [`getSignaturesForAddress2`] RPC method.
/// method.
///
/// [`getSignaturesForAddress`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress
/// [`getSignaturesForAddress2`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress2
/// [`getSignaturesForAddress`]: https://solana.com/docs/rpc/http/getsignaturesforaddress
///
/// # Examples
///
@ -2469,17 +2467,15 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below
/// [`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
///
/// # RPC Reference
///
/// This method corresponds directly to the [`getSignaturesForAddress`] RPC
/// method, unless the remote node version is less than 1.7, in which case
/// it maps to the [`getSignaturesForAddress2`] RPC method.
/// method.
///
/// [`getSignaturesForAddress`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress
/// [`getSignaturesForAddress2`]: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress2
/// [`getSignaturesForAddress`]: https://solana.com/docs/rpc/http/getsignaturesforaddress
///
/// # Examples
///
@ -2554,7 +2550,7 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl].
///
/// [`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
///
@ -2562,8 +2558,8 @@ impl RpcClient {
/// unless the remote node version is less than 1.7, in which case it maps
/// to the [`getConfirmedTransaction`] RPC method.
///
/// [`getTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction
/// [`getConfirmedTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedtransaction
/// [`getTransaction`]: https://solana.com/docs/rpc/http/gettransaction
/// [`getConfirmedTransaction`]: https://solana.com/docs/rpc/deprecated/getConfirmedTransaction
///
/// # Examples
///
@ -2605,7 +2601,7 @@ impl RpcClient {
/// This method returns an error if the given [commitment level][cl] is below
/// [`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
///
/// # RPC Reference
@ -2614,8 +2610,8 @@ impl RpcClient {
/// unless the remote node version is less than 1.7, in which case it maps
/// to the [`getConfirmedTransaction`] RPC method.
///
/// [`getTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction
/// [`getConfirmedTransaction`]: https://docs.solana.com/developing/clients/jsonrpc-api#getconfirmedtransaction
/// [`getTransaction`]: https://solana.com/docs/rpc/http/gettransaction
/// [`getConfirmedTransaction`]: https://solana.com/docs/rpc/deprecated/getConfirmedTransaction
///
/// # Examples
///
@ -2693,7 +2689,7 @@ impl RpcClient {
///
/// 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
///
@ -2714,13 +2710,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -2741,7 +2737,7 @@ impl RpcClient {
///
/// 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
///
@ -2767,13 +2763,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -2801,7 +2797,7 @@ impl RpcClient {
///
/// 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
///
@ -2834,7 +2830,7 @@ impl RpcClient {
///
/// 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
///
@ -2872,7 +2868,7 @@ impl RpcClient {
///
/// 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
///
@ -2896,7 +2892,7 @@ impl RpcClient {
///
/// 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
///
@ -2928,7 +2924,7 @@ impl RpcClient {
///
/// 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
///
@ -2958,7 +2954,7 @@ impl RpcClient {
///
/// 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
///
@ -2978,14 +2974,14 @@ impl RpcClient {
/// This method uses the [`Finalized`] [commitment level][cl].
///
/// [`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
///
/// This method corresponds directly to the [`getInflationGovernor`] RPC
/// method.
///
/// [`getInflationGovernor`]: https://docs.solana.com/developing/clients/jsonrpc-api#getinflationgovernor
/// [`getInflationGovernor`]: https://solana.com/docs/rpc/http/getinflationgovernor
///
/// # Examples
///
@ -3006,7 +3002,7 @@ impl RpcClient {
///
/// 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
///
@ -3025,13 +3021,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -3065,7 +3061,7 @@ impl RpcClient {
///
/// 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
///
@ -3094,7 +3090,7 @@ impl RpcClient {
/// This method corresponds directly to the [`minimumLedgerSlot`] RPC
/// method.
///
/// [`minimumLedgerSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#minimumledgerslot
/// [`minimumLedgerSlot`]: https://solana.com/docs/rpc/http/minimumledgerslot
///
/// # Examples
///
@ -3113,7 +3109,7 @@ impl RpcClient {
///
/// 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.
///
@ -3132,7 +3128,7 @@ impl RpcClient {
///
/// 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
///
@ -3167,7 +3163,7 @@ impl RpcClient {
///
/// 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
///
@ -3214,7 +3210,7 @@ impl RpcClient {
///
/// 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
///
@ -3263,7 +3259,7 @@ impl RpcClient {
/// This method corresponds directly to the [`getMaxRetransmitSlot`] RPC
/// method.
///
/// [`getMaxRetransmitSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmaxretransmitslot
/// [`getMaxRetransmitSlot`]: https://solana.com/docs/rpc/http/getmaxretransmitslot
///
/// # Examples
///
@ -3277,14 +3273,14 @@ impl RpcClient {
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
///
/// This method corresponds directly to the
/// [`getMaxShredInsertSlot`] RPC method.
///
/// [`getMaxShredInsertSlot`]: https://docs.solana.com/developing/clients/jsonrpc-api#getmaxshredinsertslot
/// [`getMaxShredInsertSlot`]: https://solana.com/docs/rpc/http/getmaxshredinsertslot
///
/// # Examples
///
@ -3302,13 +3298,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -3336,7 +3332,7 @@ impl RpcClient {
///
/// 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
///
@ -3376,7 +3372,7 @@ impl RpcClient {
///
/// 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
///
@ -3428,7 +3424,7 @@ impl RpcClient {
///
/// 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
///
@ -3458,7 +3454,7 @@ impl RpcClient {
/// This method corresponds directly to the
/// [`getMinimumBalanceForRentExemption`] RPC method.
///
/// [`getMinimumBalanceForRentExemption`]: https://docs.solana.com/developing/clients/jsonrpc-api#getminimumbalanceforrentexemption
/// [`getMinimumBalanceForRentExemption`]: https://solana.com/docs/rpc/http/getminimumbalanceforrentexemption
///
/// # Examples
///
@ -3478,13 +3474,13 @@ impl RpcClient {
///
/// 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
///
/// 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
///
@ -3510,7 +3506,7 @@ impl RpcClient {
///
/// 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
///
@ -3545,14 +3541,14 @@ impl RpcClient {
///
/// 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
///
/// This method corresponds directly to the [`getProgramAccounts`] RPC
/// method.
///
/// [`getProgramAccounts`]: https://docs.solana.com/developing/clients/jsonrpc-api#getprogramaccounts
/// [`getProgramAccounts`]: https://solana.com/docs/rpc/http/getprogramaccounts
///
/// # Examples
///
@ -3578,7 +3574,7 @@ impl RpcClient {
///
/// 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
///
@ -3641,7 +3637,7 @@ impl RpcClient {
///
/// 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
///
@ -3662,7 +3658,7 @@ impl RpcClient {
///
/// 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
///

4
run.sh
View File

@ -7,9 +7,9 @@ cat <<'EOF'
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
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
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.
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.

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.
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.

View File

@ -1,6 +1,6 @@
//! 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 instruction;

View File

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

View File

@ -1,5 +1,5 @@
//! 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");

View File

@ -146,7 +146,7 @@ macro_rules! entrypoint {
/// for [BPF] targets.
///
/// [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
///
@ -181,7 +181,7 @@ macro_rules! custom_heap_default {
/// for [BPF] targets.
///
/// [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
///

View File

@ -1,6 +1,6 @@
//! 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`].
//!

View File

@ -4,7 +4,7 @@
//! [leader schedule][ls] is in effect. The epoch schedule determines the length
//! 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,
//! 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
/// 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
/// 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`.
//!
//! [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/
//!
//! This library defines
@ -148,7 +148,7 @@
//! For a more complete description of Solana's implementation of eBPF and its
//! 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
//!
@ -173,7 +173,7 @@
//! [_lamports_], the smallest fractional unit of SOL, in the [`native_token`]
//! module.
//!
//! [acc]: https://docs.solana.com/developing/programming-model/accounts
//! [acc]: https://solana.com/docs/core/accounts
//! [`Pubkey`]: pubkey::Pubkey
//! [`Hash`]: hash::Hash
//! [`Instruction`]: instruction::Instruction
@ -184,7 +184,7 @@
//! [`Keypair`]: https://docs.rs/solana-sdk/latest/solana_sdk/signer/keypair/struct.Keypair.html
//! [SHA-256]: https://en.wikipedia.org/wiki/SHA-2
//! [`Sol`]: native_token::Sol
//! [_lamports_]: https://docs.solana.com/introduction#what-are-sols
//! [_lamports_]: https://solana.com/docs/intro#what-are-sols
//!
//! # Serialization
//!
@ -272,7 +272,7 @@
//!
//! [`invoke`]: program::invoke
//! [`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:
//!
@ -319,7 +319,7 @@
//! `invoke_signed` to call another program while virtually "signing" for the
//! 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
//!
//! A simple example of creating an account for a PDA:
@ -391,7 +391,7 @@
//! Some solana programs are [_native programs_][np2], running native machine
//! 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
//! 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
//! 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:
//!
@ -461,7 +461,7 @@
//! - Instruction: [`solana_program::loader_instruction`]
//! - Invokable by programs? yes
//!
//! [lut]: https://docs.solana.com/proposals/versioned-transactions
//! [lut]: https://docs.solanalabs.com/proposals/versioned-transactions
#![allow(incomplete_features)]
#![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(specialization))]
@ -554,7 +554,7 @@ pub use wasm_bindgen::prelude::wasm_bindgen;
/// 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 program {
crate::declare_id!("Config1111111111111111111111111111111111111");

View File

@ -7,7 +7,7 @@
//!
//! [`legacy`]: crate::message::legacy
//! [`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)]
@ -330,7 +330,7 @@ impl Message {
/// 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
/// 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
//! 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
//! `Message`s being created by `Transaction` constructors.
@ -30,7 +30,7 @@
//! more account keys into a transaction than the legacy format. The
//! [`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
//! 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
/// 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)]
#[serde(rename_all = "camelCase")]
pub struct MessageHeader {

View File

@ -7,7 +7,7 @@
//!
//! [`legacy`]: crate::message::legacy
//! [`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::{
address_lookup_table_account::AddressLookupTableAccount,

View File

@ -6,7 +6,7 @@
//!
//! [`invoke`]: invoke
//! [`invoke_signed`]: invoke_signed
//! [cpi]: https://docs.solana.com/developing/programming-model/calling-between-programs
//! [cpi]: https://solana.com/docs/core/cpi
use crate::{
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
/// 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
/// 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].
///
/// [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>)> {
#[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
/// 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/
/// [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
#[wasm_bindgen]
#[repr(transparent)]
@ -226,7 +226,7 @@ impl Pubkey {
/// 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_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.
///
/// [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`]
/// 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.
///
/// [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
/// return an error for any given set of seeds and is not generally suitable

View File

@ -1,6 +1,6 @@
//! 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)]

View File

@ -1,6 +1,6 @@
//! 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
//! 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].
//!
//! [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`].
//!

View File

@ -1,6 +1,6 @@
//! 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`].
//!

View File

@ -1,6 +1,6 @@
//! 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)]
pub mod config;

View File

@ -1,6 +1,6 @@
//! 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`].
//!

View File

@ -4,7 +4,7 @@
//! accounts][na]. It is responsible for transferring lamports from 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,
//! [`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
//! 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,
//! 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
/// 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
/// [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
/// 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`]
/// instruction.

View File

@ -1,5 +1,5 @@
//! 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");

View File

@ -9,7 +9,7 @@
//!
//! 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
//!

View File

@ -12,7 +12,7 @@
//!
//! 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
//!

View File

@ -9,7 +9,7 @@
//!
//! 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
//!

View File

@ -11,12 +11,12 @@
//! method. For additional context see the [Comprehensive Compute Fees
//! proposal][ccf].
//!
//! [`getFeeForMessage`]: https://docs.solana.com/developing/clients/jsonrpc-api#getfeeformessage
//! [ccf]: https://docs.solana.com/proposals/comprehensive-compute-fees
//! [`getFeeForMessage`]: https://solana.com/docs/rpc/http/getfeeformessage
//! [ccf]: https://docs.solanalabs.com/proposals/comprehensive-compute-fees
//!
//! 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)]

View File

@ -5,7 +5,7 @@
//! introspection][in], which is required for correctly interoperating with
//! 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
//! [ed25519]: crate::ed25519_program
//!
@ -18,7 +18,7 @@
//!
//! 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
//!

View File

@ -79,7 +79,7 @@
//!
//! 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 {
crate::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey},

View File

@ -9,12 +9,12 @@
//! determined with the [`getFeeForMessage`] RPC method. For additional context
//! see the [Comprehensive Compute Fees proposal][ccf].
//!
//! [`getFeeForMessage`]: https://docs.solana.com/developing/clients/jsonrpc-api#getfeeformessage
//! [ccf]: https://docs.solana.com/proposals/comprehensive-compute-fees
//! [`getFeeForMessage`]: https://solana.com/docs/rpc/http/getfeeformessage
//! [ccf]: https://docs.solanalabs.com/proposals/comprehensive-compute-fees
//!
//! 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(clippy::arithmetic_side_effects)]

View File

@ -1,6 +1,6 @@
//! 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
//! storage rent fees.
@ -10,7 +10,7 @@
//!
//! 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
//!

View File

@ -1,6 +1,6 @@
//! 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 error;

View File

@ -1,6 +1,6 @@
//! 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")]

View File

@ -2,7 +2,7 @@
//!
//! 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};

View File

@ -26,7 +26,7 @@
//! [`solana-client`]: https://docs.rs/solana-client
//! [`solana-cli-config`]: https://docs.rs/solana-cli-config
//! [`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
#![allow(incomplete_features)]

View File

@ -1,6 +1,6 @@
//! 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
//! used carefully to ensure proper security. Read this documentation and

View File

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

View File

@ -43,7 +43,7 @@
//! transactions.
//!
//! [`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
//!

View File

@ -1673,7 +1673,7 @@ pub fn main() {
if SystemMonitorService::check_os_network_limits() {
info!("OS network limits test passed.");
} 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);
}
}

View File

@ -6,7 +6,7 @@
//! A formal documentation of how transfer fees and fee sigma proof are computed can be found in
//! 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"))]
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.
///
/// [`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)]
#[repr(C)]
pub struct FeeSigmaProofContext {

View File

@ -1,6 +1,6 @@
//! 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_range_proof;

View File

@ -8,7 +8,7 @@
//! The protocol guarantees computational soundness (by the hardness of discrete log) and perfect
//! 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"))]
use {

View File

@ -3,7 +3,7 @@
//! Formal documentation and security proofs for the sigma proofs in this module can be found in
//! [`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 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
//! the account owner to reclaim lamports for storage.
//!
//! [`ZK Token proof`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof
//! [`context-state`]: https://edge.docs.solana.com/developing/runtime-facilities/zk-token-proof#context-data
//! [`ZK Token proof`]: https://docs.solanalabs.com/runtime/zk-token-proof
//! [`context-state`]: https://docs.solanalabs.com/runtime/zk-token-proof#context-data
pub use crate::instruction::*;
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 [`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
solana_program::declare_id!("ZkTokenProof1111111111111111111111111111111");