浏览代码

docs: Use permalinks for source code links (#3612)

Jimii 6 月之前
父节点
当前提交
b8ee93338d

+ 3 - 3
docs/content/docs/basics/cpi.mdx

@@ -142,10 +142,10 @@ The `sol_transfer` instruction included in the example code shows a typical
 approach for constructing CPIs using the Anchor framework.
 
 This approach involves creating a
-[`CpiContext`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/context.rs#L171),
+[`CpiContext`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/context.rs#L171),
 which includes the `program_id` and accounts required for the instruction being
 called. The `CpiContext` is then passed to an Anchor helper function
-([`transfer`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/system_program.rs#L298))
+([`transfer`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/system_program.rs#L298))
 to invoke a specific instruction.
 
 ```rust
@@ -472,7 +472,7 @@ The `sol_transfer` instruction included in the example code shows a typical
 approach for constructing CPIs using the Anchor framework.
 
 This approach involves creating a
-[`CpiContext`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/context.rs#L171),
+[`CpiContext`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/context.rs#L171),
 which includes the `program_id` and accounts required for the instruction being
 called, followed by a helper function (`transfer`) to invoke a specific
 instruction.

+ 4 - 3
docs/content/docs/basics/idl.mdx

@@ -428,9 +428,10 @@ ed = 237
 
 You can find the implementation of the discriminator generation in the Anchor
 codebase
-[here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/syn/src/codegen/program/common.rs#L5-L19),
+[here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/codegen/program/common.rs#L5-L19), 
+for the [`gen_discriminator` method here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/codegen/program/common.rs#L21-L24),
 which is used
-[here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/syn/src/codegen/program/instruction.rs#L27).
+[here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/codegen/program/instruction.rs#L33).
 
 </Tab>
 <Tab value="Accounts">
@@ -479,7 +480,7 @@ e8 = 232
 
 You can find the implementation of the discriminator generation in the Anchor
 codebase
-[here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/account/src/lib.rs#L101-L117).
+[here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/account/src/lib.rs#L101-L117).
 
 <Callout type="info">
   Note that different programs using identical account names will generate the

+ 17 - 17
docs/content/docs/basics/program-structure.mdx

@@ -61,10 +61,10 @@ pub struct NewAccount {
 ## declare_id! macro
 
 The
-[`declare_id`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/account/src/lib.rs#L439)
+[`declare_id`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/account/src/lib.rs#L537)
 macro specifies the on-chain address of the program, known as the program ID.
 You can find the implementation of the code generated by the `declare_id!` macro
-[here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/account/src/id.rs#L40-L73).
+[here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/account/src/id.rs#L37-L70).
 
 ```rust title="lib.rs"
 use anchor_lang::prelude::*;
@@ -91,14 +91,14 @@ the one generated when you run `anchor build` locally.
 ## #[program] attribute
 
 The
-[`#[program]`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/program/src/lib.rs#L12)
+[`#[program]`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/program/src/lib.rs#L12)
 attribute annotates the module containing all the instruction handlers for your
 program. Each public function within this module corresponds to an instruction
 that can be invoked.
 
 You can find the implementation of the code generated by the `#[program]`
 attribute
-[here](https://github.com/coral-xyz/anchor/tree/v0.30.1/lang/syn/src/codegen/program).
+[here](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/codegen/program).
 
 ```rust title="lib.rs"
 use anchor_lang::prelude::*;
@@ -137,11 +137,11 @@ pub struct NewAccount {
 Instruction handlers are functions that define the logic executed when an
 instruction is invoked. The first parameter of each handler is a `Context<T>`
 type, where `T` is a struct implementing the
-[`Accounts`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/lib.rs#L105)
+[`Accounts`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/lib.rs#L108)
 trait and specifies the accounts the instruction requires.
 
 The
-[`Context`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/context.rs#L24)
+[`Context`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/context.rs#L24)
 type provides the instruction with access to the following non-argument inputs:
 
 ```rust
@@ -213,16 +213,16 @@ pub struct Initialize<'info> {
 ## #[derive(Accounts)] macro
 
 The
-[`#[derive(Accounts)]`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/derive/accounts/src/lib.rs#L630)
+[`#[derive(Accounts)]`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/derive/accounts/src/lib.rs#L631)
 macro is applied to a struct to specify the accounts that must be provided when
 an instruction is invoked. This macro implements the
-[`Accounts`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/lib.rs#L105)
+[`Accounts`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/lib.rs#L108)
 trait, which simplifies account validation and serialization and deserialization
 of account data.
 
 You can find the implementation of the code generated by the
 `#[derive(Accounts)]` macro
-[here](https://github.com/coral-xyz/anchor/tree/v0.30.1/lang/syn/src/codegen/accounts).
+[here](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/codegen/accounts).
 
 ```rust
 // [!code word:Accounts]
@@ -268,9 +268,9 @@ Anchor programs in two ways that are generally used together:
   `Accounts` trait.
 
   You can find a full list of the constraints
-  [here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/syn/src/parser/accounts/constraints.rs)
+  [here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/parser/accounts/constraints.rs)
   and implementation
-  [here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/syn/src/codegen/accounts/constraints.rs).
+  [here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/codegen/accounts/constraints.rs).
 
   ```rust
   #[derive(Accounts)]
@@ -290,7 +290,7 @@ Anchor programs in two ways that are generally used together:
   what the program expects.
 
   You can find the implementation of the account types
-  [here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/accounts).
+  [here](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/accounts).
 
   ```rust
   #[derive(Accounts)]
@@ -346,7 +346,7 @@ pub struct NewAccount {
 ## #[account] attribute
 
 The
-[`#[account]`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/account/src/lib.rs#L66)
+[`#[account]`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/account/src/lib.rs#L97)
 attribute is applied to structs that define the structure of the data stored in
 custom accounts created by your program.
 
@@ -362,14 +362,14 @@ This macro implements various traits
 [detailed here](https://docs.rs/anchor-lang/latest/anchor_lang/attr.account.html).
 The key functionalities of the `#[account]` macro include:
 
-- [Assign Program Owner](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/account/src/lib.rs#L119-L132):
+- [Assign Program Owner](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/account/src/lib.rs#L130-L143):
   When creating an account, the program owner of the account is automatically
   set to the program specified in `declare_id`.
-- [Set Discriminator](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/account/src/lib.rs#L101-L117):
+- [Set Discriminator](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/account/src/lib.rs#L111-L128):
   A unique 8 byte discriminator, specific to the account type, is added as the
   first 8 bytes of account data during its initialization. This helps in
   differentiating account types and is used for account validation.
-- [Data Serialization and Deserialization](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/account/src/lib.rs#L202-L246):
+- [Data Serialization and Deserialization](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/account/src/lib.rs#L224-L270):
   Account data is automatically serialized and deserialized as the account type.
 
 ```rust title="lib.rs"
@@ -411,7 +411,7 @@ pub struct NewAccount {
 An account discriminator in an Anchor program refers to an 8 byte identifier
 unique to each account type. You can find the implementation of the account
 discriminator
-[here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/account/src/lib.rs#L101-L117).
+[here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/account/src/lib.rs#L111-L128).
 
 The discriminator is the first 8 bytes of the SHA256 hash of the string
 `account:<AccountName>`. This discriminator is stored as the first 8 bytes of

+ 1 - 1
docs/content/docs/clients/rust.mdx

@@ -6,7 +6,7 @@ description:
 
 The [`anchor-client`](https://docs.rs/anchor-client/latest/anchor_client/) crate
 is the Rust client library for interacting with Anchor programs. You can find
-the source code [here](https://github.com/coral-xyz/anchor/tree/v0.30.1/client).
+the source code [here](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/client).
 
 ## Example
 

+ 13 - 13
docs/content/docs/clients/typescript.mdx

@@ -6,7 +6,7 @@ description:
 ---
 
 Anchor provides a Typescript client library
-([@coral-xyz/anchor](https://github.com/coral-xyz/anchor/tree/v0.30.1/ts/packages/anchor))
+([@coral-xyz/anchor](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor))
 that simplifies the process of interacting with Solana programs from the client
 in JavaScript or TypeScript.
 
@@ -20,11 +20,11 @@ in JavaScript or TypeScript.
 
 To interact with an Anchor program using `@coral-xyz/anchor`, you'll need to
 create a
-[`Program`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/index.ts#L58)
+[`Program`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/index.ts#L58)
 instance using the program's [IDL file](/docs/basics/idl).
 
 Creating an instance of the `Program` requires the program's IDL and an
-[`AnchorProvider`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/provider.ts#L55).
+[`AnchorProvider`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/provider.ts#L59).
 An `AnchorProvider` is an abstraction that combines two things:
 
 - `Connection` - the connection to a Solana cluster (i.e. localhost, devnet,
@@ -120,7 +120,7 @@ describe("hello_anchor", () => {
 ## Invoke Instructions
 
 Once the `Program` is set up using a program's IDL file, you can use the Anchor
-[`MethodsBuilder`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/methods.ts#L155)
+[`MethodsBuilder`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/methods.ts#L155)
 to:
 
 - Build individual instructions
@@ -216,9 +216,9 @@ Anchor provides multiple methods for building program instructions:
 <Tab value=".rpc">
 
 The
-[`rpc()`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/methods.ts#L283)
+[`rpc()`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/methods.ts#L428)
 method
-[sends a signed transaction](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/rpc.ts#L29)
+[sends a signed transaction](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/rpc.ts#L29)
 with the specified instruction and returns a `TransactionSignature`.
 
 When using `.rpc`, the `Wallet` from the `Provider` is automatically included as
@@ -246,9 +246,9 @@ const transactionSignature = await program.methods
 <Tab value=".transaction">
 
 The
-[`transaction()`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/methods.ts#L382)
+[`transaction()`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/methods.ts#L348)
 method
-[builds a `Transaction`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/transaction.ts#L18-L26)
+[builds a `Transaction`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/transaction.ts#L18-L26)
 with the specified instruction without sending the transaction.
 
 ```ts
@@ -277,9 +277,9 @@ const transactionSignature = await connection.sendTransaction(transaction, [
 <Tab value=".instruction">
 
 The
-[`instruction()`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/methods.ts#L348)
+[`instruction()`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/methods.ts#L323)
 method
-[builds a `TransactionInstruction`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/instruction.ts#L57-L61)
+[builds a `TransactionInstruction`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/instruction.ts#L57-L61)
 using the specified instruction. This is useful if you want to manually add the
 instruction to a transaction and combine it with other instructions.
 
@@ -322,7 +322,7 @@ IDL. Anchor provides multiple methods for fetching accounts.
 <Tab value="all">
 
 Use
-[`all()`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/account.ts#L251)
+[`all()`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/account.ts#L251)
 to fetch all existing accounts for a specific account type.
 
 ```ts
@@ -357,7 +357,7 @@ const accounts = await program.account.newAccount.all([
 <Tab value="fetch">
 
 Use
-[`fetch()`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/account.ts#L165)
+[`fetch()`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/account.ts#L165)
 to fetch the account data for a single account
 
 ```ts
@@ -369,7 +369,7 @@ const account = await program.account.newAccount.fetch(ACCOUNT_ADDRESS);
 <Tab value="fetchMultiple">
 
 Use
-[`fetchMultiple()`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/namespace/account.ts#L200)
+[`fetchMultiple()`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/namespace/account.ts#L200)
 to fetch the account data for multiple accounts by passing in an array of
 account addresses
 

+ 10 - 10
docs/content/docs/features/declare-program.mdx

@@ -6,7 +6,7 @@ description:
 ---
 
 The
-[`declare_program!()`](https://github.com/coral-xyz/anchor/tree/v0.30.1/lang/attribute/program/src/declare_program)
+[`declare_program!()`](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/program/src/declare_program)
 macro simplifies the process of interacting with Anchor programs by generating
 Rust modules (from a program's IDL) that can be used in both on-chain and
 off-chain code. You can find an example program
@@ -14,15 +14,15 @@ off-chain code. You can find an example program
 
 The following modules are generated by the `declare_program!()` macro:
 
-| Module                                                                                                                       | Description                                                                                              |
-| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
-| [`cpi`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/program/src/declare_program/mods/cpi.rs)             | Helper functions for making cross-program invocations (CPIs) to the program from other on-chain programs |
-| [`client`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/program/src/declare_program/mods/client.rs)       | Accounts and arguments required to build program instructions to add to client-side transactions         |
-| [`account`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/program/src/declare_program/mods/accounts.rs)    | Account data types (program state) defined in the program                                                |
-| [`program`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/program/src/declare_program/mods/program.rs)     | Program ID constant used to identify the program                                                         |
-| [`constants`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/program/src/declare_program/mods/constants.rs) | Program constants defined in the program                                                                 |
-| [`events`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/program/src/declare_program/mods/events.rs)       | Program events defined in the program                                                                    |
-| [`types`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/program/src/declare_program/mods/types.rs)         | Program types defined in the program                                                                     |
+| Module                                                                                                                                                        | Description                                                                                              |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
+| [`cpi`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/program/src/declare_program/mods/cpi.rs)             | Helper functions for making cross-program invocations (CPIs) to the program from other on-chain programs |
+| [`client`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/program/src/declare_program/mods/client.rs)       | Accounts and arguments required to build program instructions to add to client-side transactions         |
+| [`account`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/program/src/declare_program/mods/accounts.rs)    | Account data types (program state) defined in the program                                                |
+| [`program`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/program/src/declare_program/mods/program.rs)     | Program ID constant used to identify the program                                                         |
+| [`constants`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/program/src/declare_program/mods/constants.rs) | Program constants defined in the program                                                                 |
+| [`events`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/program/src/declare_program/mods/events.rs)       | Program events defined in the program                                                                    |
+| [`types`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/program/src/declare_program/mods/types.rs)         | Program types defined in the program                                                                     |
 
 ## Examples
 

+ 10 - 10
docs/content/docs/features/errors.mdx

@@ -16,7 +16,7 @@ pub fn custom_instruction(ctx: Context<CustomInstruction>) -> Result<()> {
 ```
 
 The
-[`Result<T>`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/lib.rs#L74)
+[`Result<T>`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/lib.rs#L77)
 type in Anchor programs is a type alias that wraps the standard Rust
 `Result<T, E>`. In this case, `T` represents the successful return type, while
 `E` is Anchor's custom `Error` type.
@@ -28,7 +28,7 @@ pub type Result<T> = std::result::Result<T, error::Error>;
 ## Anchor Error
 
 When an error occurs in an Anchor program, it returns a custom
-[`Error`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/error.rs#L277-L281)
+[`Error`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/error.rs#L277-L281)
 type defined as:
 
 ```rust
@@ -41,7 +41,7 @@ pub enum Error {
 
 The `Error` type in Anchor programs can be one of two variants:
 
-1. [`ProgramErrorWithOrigin`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/error.rs#L389-L394):
+1. [`ProgramErrorWithOrigin`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/error.rs#L389-L394):
    Custom type that wraps a standard Solana
    [`ProgramError`](https://github.com/anza-xyz/agave/blob/v1.18.26/sdk/program/src/program_error.rs#L12-L66)
    type. These errors come from the `solana_program` crate.
@@ -55,7 +55,7 @@ pub struct ProgramErrorWithOrigin {
 }
 ```
 
-2. [`AnchorError`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/error.rs#L490-L497):
+2. [`AnchorError`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/error.rs#L490-L497):
    Errors defined by the Anchor framework.
 
 ```rust
@@ -73,7 +73,7 @@ An `AnchorError` can be thought of as having two categories:
 
 1. Internal Anchor Errors - These are built-in errors included with the Anchor
    framework. They are defined in the
-   [`ErrorCode`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/error.rs#L10-L275)
+   [`ErrorCode`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/error.rs#L10-L275)
    enum.
 
 2. Custom Program Errors - These are program specific errors that developers
@@ -117,11 +117,11 @@ pub enum MyError {
 ### err!
 
 To throw an error, use the
-[`err!`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/lib.rs#L720-L728)
+[`err!`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/lib.rs#L735-L743)
 macro. The `err!` macro provides a convenient way to return custom errors from
 your program. Under the hood, `err!` uses the `error!` macro to construct
 `AnchorError`. The implementation can be found
-[here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/error/src/lib.rs#L84-L116).
+[here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/error/src/lib.rs#L84-L116).
 
 ```rust
 #[program]
@@ -149,7 +149,7 @@ pub enum MyError {
 ### require!
 
 The
-[`require!`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/lib.rs#L510-L522)
+[`require!`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/lib.rs#L525-L537)
 macro provides a more concise way to handle error conditions. It combines a
 condition check with returning an error if the condition is false. Here's how we
 can rewrite the previous example using `require!`:
@@ -177,7 +177,7 @@ pub enum MyError {
 
 Anchor provides several "require" macros for different validation needs. You can
 find the implementation of these macros
-[here](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/lib.rs).
+[here](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/lib.rs).
 
 | Macro               | Description                                                                                 |
 | ------------------- | ------------------------------------------------------------------------------------------- |
@@ -286,7 +286,7 @@ describe("custom-error", () = {
 </Tabs>
 
 When a program error occurs, Anchor's TypeScript Client SDK returns a detailed
-[error response](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/error.ts#L51-L71)
+[error response](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/error.ts#L51-L71)
 containing information about the error. Here's an example error response showing
 the structure and available fields:
 

+ 8 - 8
docs/content/docs/features/events.mdx

@@ -33,20 +33,20 @@ or [Helius](https://docs.helius.dev/data-streaming/geyser-yellowstone).
 ### `emit`
 
 The
-[`emit!()`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/event/src/lib.rs#L94-L102)
+[`emit!()`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/event/src/lib.rs#L101-L109)
 macro provides a way to emit events through program logs. When called, it:
 
 1. Uses the
-   [`sol_log_data()`](https://github.com/anza-xyz/agave/blob/v1.18.26/sdk/program/src/log.rs#L115-L124)
+   [`sol_log_data()`](https://github.com/anza-xyz/agave/blob/c2b350023ba849d1b33142592264aaa51fcb7f1e/sdk/program/src/log.rs#L115-L124)
    syscall to write the data to program logs
 2. Encodes the event data as a
-   [base64 string](https://github.com/anza-xyz/agave/blob/v1.18.26/program-runtime/src/stable_log.rs#L46-L61)
+   [base64 string](https://github.com/anza-xyz/agave/blob/c2b350023ba849d1b33142592264aaa51fcb7f1e/program-runtime/src/stable_log.rs#L46-L61)
    prefixed with `Program Data:`
 
 To receive emitted events in your client application, use the
-[`addEventListener()`](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/event.ts#L74-L123)
+[`addEventListener()`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/event.ts#L74-L123)
 method. This method automatically
-[parses and decodes](https://github.com/coral-xyz/anchor/blob/v0.30.1/ts/packages/anchor/src/program/event.ts#L230-L251)
+[parses and decodes](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/ts/packages/anchor/src/program/event.ts#L232-L253)
 event data from the program logs.
 
 Example usage:
@@ -138,7 +138,7 @@ Log Messages:
 ### `emit_cpi`
 
 The
-[`emit_cpi!()`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/event/src/lib.rs#L148-L184)
+[`emit_cpi!()`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/event/src/lib.rs#L155-L195)
 macro emits events through Cross Program Invocations (CPIs) to the program
 itself. The event data is encoded and included in the CPI's instruction data
 (instead of program logs).
@@ -230,10 +230,10 @@ describe("event-cpi", () => {
 </Tabs>
 
 The
-[`event_cpi`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/event/src/lib.rs#L217-L226)
+[`event_cpi`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/event/src/lib.rs#L228-L237)
 attribute must be added to the `#[derive(Accounts)]` struct for the instruction
 instruction that emits events using the `emit_cpi!()` macro. This attribute
-[automatically includes additional accounts](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/syn/src/parser/accounts/event_cpi.rs#L28-L70)
+[automatically includes additional accounts](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/parser/accounts/event_cpi.rs#L28-L70)
 that are required for the self CPI.
 
 ```rust title="lib.rs"

+ 6 - 6
docs/content/docs/features/zero-copy.mdx

@@ -24,7 +24,7 @@ anchor-lang = "0.31.0"
 ### Define a Zero Copy Account
 
 To define an account type that uses zero-copy, annotate the struct with
-[`#[account(zero_copy)]`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/attribute/account/src/lib.rs#L319).
+[`#[account(zero_copy)]`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/attribute/account/src/lib.rs#L417).
 
 ```rust
 // [!code highlight]
@@ -52,7 +52,7 @@ struct Data {
 ### Use AccountLoader for Zero Copy Accounts
 
 To deserialize a zero-copy account, use
-[`AccountLoader<'info, T>`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/accounts/account_loader.rs#L96-L100),
+[`AccountLoader<'info, T>`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/accounts/account_loader.rs#L95-L99),
 where `T` is the zero-copy account type defined with the `#[account(zero_copy)]`
 attribute.
 
@@ -97,7 +97,7 @@ pub struct Initialize<'info> {
 </Callout>
 
 When initializing a zero-copy account for the first time, use
-[`load_init`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/accounts/account_loader.rs#L194-L214)
+[`load_init`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/accounts/account_loader.rs#L199-L221)
 to get a mutable reference to the account data. The `load_init` method also sets
 the account discriminator.
 
@@ -112,7 +112,7 @@ pub fn initialize(ctx: Context<Initialize>) -> Result<()> {
 ```
 
 For accounts that require more than 10240 bytes, use the
-[`zero`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/syn/src/codegen/accounts/constraints.rs#L200-L217)
+[`zero`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/codegen/accounts/constraints.rs#L200-L264)
 constraint instead of `init`. The `zero` constraint verifies the account has not
 been initialized by checking that its discriminator has not been set.
 
@@ -148,7 +148,7 @@ pub fn initialize(ctx: Context<Initialize>) -> Result<()> {
 #### Update a Zero Copy Account
 
 Use
-[`load_mut`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/accounts/account_loader.rs#L170-L190)
+[`load_mut`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/accounts/account_loader.rs#L172-L195)
 when you need mutable access to update an existing zero-copy account:
 
 ```rust
@@ -173,7 +173,7 @@ pub fn update(ctx: Context<Update>) -> Result<()> {
 #### Read a Zero Copy Account
 
 Use
-[`load`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/accounts/account_loader.rs#L153-L167)
+[`load`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/accounts/account_loader.rs#L154-L169)
 to only read the account data.
 
 ```rust

+ 1 - 1
docs/content/docs/references/account-constraints.mdx

@@ -7,7 +7,7 @@ Minimal reference examples for Anchor account
 [constraints](https://docs.rs/anchor-lang/latest/anchor_lang/derive.Accounts.html).
 
 See the account constraints
-[source code](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/syn/src/codegen/accounts/constraints.rs)
+[source code](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/syn/src/codegen/accounts/constraints.rs)
 for implementation details.
 
 ## Normal Constraints

+ 1 - 1
docs/content/docs/references/account-types.mdx

@@ -7,7 +7,7 @@ Minimal reference examples for Anchor
 [account types](https://docs.rs/anchor-lang/latest/anchor_lang/accounts/index.html).
 
 See the account types
-[source code](https://github.com/coral-xyz/anchor/tree/v0.30.1/lang/src/accounts)
+[source code](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/accounts)
 for implementation details.
 
 ## Account Types

+ 1 - 1
docs/content/docs/tokens/basics/create-mint.mdx

@@ -86,7 +86,7 @@ pub struct CreateMint<'info> {
 ### Account Types
 
 The
-[`InterfaceAccount`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/accounts/interface_account.rs#L160-L165)
+[`InterfaceAccount`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/accounts/interface_account.rs#L161-L166)
 type is a wrapper that accepts accounts from either the Token Program and Token
 Extension Program.
 

+ 1 - 1
docs/content/docs/tokens/basics/create-token-account.mdx

@@ -207,7 +207,7 @@ pub struct CreateTokenAccount<'info> {
 ### Account Types
 
 The
-[`InterfaceAccount`](https://github.com/coral-xyz/anchor/blob/v0.30.1/lang/src/accounts/interface_account.rs#L160-L165)
+[`InterfaceAccount`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/lang/src/accounts/interface_account.rs#L161-L166)
 type is a wrapper that allows the account to work with both the Token Program
 and Token Extension Program.
 

+ 1 - 1
docs/content/docs/tokens/extensions.mdx

@@ -152,7 +152,7 @@ pub struct PodStateWithExtensions<'data, S: BaseState + Pod> {
 ## Examples
 
 The `anchor-spl` crate provides a
-[`token_2022_extensions`](https://github.com/coral-xyz/anchor/tree/v0.30.1/spl/src/token_2022_extensions)
+[`token_2022_extensions`](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/spl/src/token_2022_extensions)
 module that contains helper functions and types for working with token extension
 instructions.
 

+ 8 - 8
docs/content/docs/tokens/index.mdx

@@ -19,7 +19,7 @@ On Solana, there are two main token programs (developed by
 
 ## Invoking Token Programs in an Anchor Program
 
-The [`anchor-spl`](https://github.com/coral-xyz/anchor/tree/v0.30.1/spl) crate
+The [`anchor-spl`](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/spl) crate
 simplifies the process of interacting with Solana's Token Programs in an Anchor
 program. This crate includes instructions and account types for both the
 original Token Program and the newer Token Extension Program (Token 2022).
@@ -48,13 +48,13 @@ anchor-spl = "0.31.0"
 
 The most commonly used modules provided by the `anchor-spl` crate include:
 
-| Module                                                                                                    | Description                                                                              |
-| --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
-| [`token`](https://github.com/coral-xyz/anchor/blob/v0.30.1/spl/src/token.rs)                              | Token Program (legacy) instructions and account types                                    |
-| [`token_2022`](https://github.com/coral-xyz/anchor/blob/v0.30.1/spl/src/token_2022.rs)                    | Token 2022 base instructions (instructions matching the Token Program functionality)     |
-| [`token_2022_extensions`](https://github.com/coral-xyz/anchor/tree/v0.30.1/spl/src/token_2022_extensions) | Token 2022 extensions instructions                                                       |
-| [`token_interface`](https://github.com/coral-xyz/anchor/blob/v0.30.1/spl/src/token_interface.rs)          | Implementation of account types that work with both Token Program and Token 2022 Program |
-| [`associated_token`](https://github.com/coral-xyz/anchor/blob/v0.30.1/spl/src/associated_token.rs)        | Associated token account instruction                                                     |
+| Module                                                                                                                                     | Description                                                                              |
+| -------------------------------------------------------------------------------------------------------------------------------------------| ---------------------------------------------------------------------------------------- |
+| [`token`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/spl/src/token.rs)                              | Token Program (legacy) instructions and account types                                    |
+| [`token_2022`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/spl/src/token_2022.rs)                    | Token 2022 base instructions (instructions matching the Token Program functionality)     |
+| [`token_2022_extensions`](https://github.com/coral-xyz/anchor/tree/0e5285aecdf410fa0779b7cd09a47f235882c156/spl/src/token_2022_extensions) | Token 2022 extensions instructions                                                       |
+| [`token_interface`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/spl/src/token_interface.rs)          | Implementation of account types that work with both Token Program and Token 2022 Program |
+| [`associated_token`](https://github.com/coral-xyz/anchor/blob/0e5285aecdf410fa0779b7cd09a47f235882c156/spl/src/associated_token.rs)        | Associated token account instruction                                                     |
 
 The following pages provide examples of how to use the `anchor-spl` crate in an
 Anchor program.