Bläddra i källkod

v0.31.1 (#3666)

Co-authored-by: acheron <acheroncrypto@gmail.com>
Jacob Creech 5 månader sedan
förälder
incheckning
47284f8f0b
100 ändrade filer med 3527 tillägg och 144 borttagningar
  1. 15 2
      CHANGELOG.md
  2. 15 15
      Cargo.lock
  3. 1 1
      VERSION
  4. 1 1
      avm/Cargo.toml
  5. 12 0
      bench/BINARY_SIZE.md
  6. 98 0
      bench/COMPUTE_UNITS.md
  7. 98 0
      bench/STACK_MEMORY.md
  8. 3 3
      cli/Cargo.toml
  9. 1 1
      cli/npm-package/package.json
  10. 2 2
      client/Cargo.toml
  11. 2 2
      client/src/lib.rs
  12. 1 1
      docker/Makefile
  13. 2 2
      docs/content/docs/clients/rust.mdx
  14. 2 2
      docs/content/docs/features/declare-program.mdx
  15. 1 1
      docs/content/docs/features/events.mdx
  16. 1 1
      docs/content/docs/features/zero-copy.mdx
  17. 6 6
      docs/content/docs/installation.mdx
  18. 1 1
      docs/content/docs/quickstart/local.mdx
  19. 2 2
      docs/content/docs/references/anchor-toml.mdx
  20. 2 2
      docs/content/docs/references/verifiable-builds.mdx
  21. 1 1
      docs/content/docs/tokens/basics/create-token-account.mdx
  22. 2 2
      docs/content/docs/tokens/index.mdx
  23. 19 0
      docs/content/docs/updates/changelog.mdx
  24. 73 0
      docs/content/docs/updates/release-notes/0-31-1.mdx
  25. 1 1
      docs/content/docs/updates/release-notes/meta.json
  26. 1 1
      examples/tutorial/basic-0/package.json
  27. 1 1
      examples/tutorial/basic-1/package.json
  28. 1 1
      examples/tutorial/basic-2/package.json
  29. 1 1
      examples/tutorial/basic-3/package.json
  30. 1 1
      examples/tutorial/basic-4/package.json
  31. 1 1
      examples/tutorial/basic-5/package.json
  32. 10 10
      lang/Cargo.toml
  33. 2 2
      lang/attribute/access-control/Cargo.toml
  34. 2 2
      lang/attribute/account/Cargo.toml
  35. 2 2
      lang/attribute/constant/Cargo.toml
  36. 2 2
      lang/attribute/error/Cargo.toml
  37. 2 2
      lang/attribute/event/Cargo.toml
  38. 2 2
      lang/attribute/program/Cargo.toml
  39. 3 3
      lang/attribute/program/src/lib.rs
  40. 2 2
      lang/derive/accounts/Cargo.toml
  41. 2 2
      lang/derive/serde/Cargo.toml
  42. 1 1
      lang/derive/space/Cargo.toml
  43. 1 1
      lang/syn/Cargo.toml
  44. 2 2
      spl/Cargo.toml
  45. 1 1
      tests/anchor-cli-account/package.json
  46. 1 1
      tests/anchor-cli-idl/package.json
  47. 1 1
      tests/auction-house/package.json
  48. 186 0
      tests/bench/bench.json
  49. 2884 0
      tests/bench/locks/0.31.1.lock
  50. 1 1
      tests/bench/package.json
  51. 1 1
      tests/cashiers-check/package.json
  52. 1 1
      tests/cfo/package.json
  53. 1 1
      tests/chat/package.json
  54. 1 1
      tests/composite/package.json
  55. 1 1
      tests/cpi-returns/package.json
  56. 1 1
      tests/custom-coder/package.json
  57. 1 1
      tests/custom-discriminator/package.json
  58. 1 1
      tests/declare-id/package.json
  59. 1 1
      tests/declare-program/package.json
  60. 1 1
      tests/errors/package.json
  61. 1 1
      tests/escrow/package.json
  62. 1 1
      tests/events/package.json
  63. 1 1
      tests/floats/package.json
  64. 1 1
      tests/idl/package.json
  65. 1 1
      tests/ido-pool/package.json
  66. 1 1
      tests/lazy-account/package.json
  67. 1 1
      tests/lockup/package.json
  68. 1 1
      tests/misc/package.json
  69. 1 1
      tests/multiple-suites/package.json
  70. 1 1
      tests/multisig/package.json
  71. 1 1
      tests/optional/package.json
  72. 1 1
      tests/pda-derivation/package.json
  73. 1 1
      tests/pyth/package.json
  74. 1 1
      tests/realloc/package.json
  75. 1 1
      tests/relations-derivation/package.json
  76. 1 1
      tests/solang/package.json
  77. 1 1
      tests/spl/metadata/package.json
  78. 1 1
      tests/spl/token-extensions/package.json
  79. 1 1
      tests/spl/token-proxy/package.json
  80. 1 1
      tests/spl/token-wrapper/package.json
  81. 1 1
      tests/spl/transfer-hook/package.json
  82. 1 1
      tests/swap/package.json
  83. 1 1
      tests/system-accounts/package.json
  84. 1 1
      tests/sysvars/package.json
  85. 1 1
      tests/tictactoe/package.json
  86. 1 1
      tests/typescript/package.json
  87. 1 1
      tests/validator-clone/package.json
  88. 1 1
      tests/zero-copy/package.json
  89. 1 1
      ts/packages/anchor-errors/package.json
  90. 3 3
      ts/packages/anchor/package.json
  91. 1 1
      ts/packages/borsh/package.json
  92. 1 1
      ts/packages/spl-associated-token-account/package.json
  93. 1 1
      ts/packages/spl-binary-option/package.json
  94. 1 1
      ts/packages/spl-binary-oracle-pair/package.json
  95. 1 1
      ts/packages/spl-feature-proposal/package.json
  96. 1 1
      ts/packages/spl-governance/package.json
  97. 1 1
      ts/packages/spl-memo/package.json
  98. 1 1
      ts/packages/spl-name-service/package.json
  99. 1 1
      ts/packages/spl-record/package.json
  100. 1 1
      ts/packages/spl-stake-pool/package.json

+ 15 - 2
CHANGELOG.md

@@ -11,13 +11,26 @@ The minor version will be incremented upon a breaking change and the patch versi
 ## [Unreleased]
 
 ### Features
- - ts: Make `Provider` require publicKey instead of wallet in accounts resolver ([#3613](https://github.com/coral-xyz/anchor/pull/3613))
+
+### Fixes
+
+### Breaking
+
+## [0.31.1] - 2025-04-19
+
+This release uses a new docker image found at `solanafoundation/anchor` for the `anchor verify` command. New images will be pushed to this organization in the future.
+
+Releases for anchor will also be published under the `solanafoundation` Github organization from now on.
+
+### Features
+
+- cli, docker: Replace `backpackapp/build` Docker image with `solanafoundation/anchor` ([#3619](https://github.com/coral-xyz/anchor/pull/3619)).
+- ts: Make `Provider` require publicKey instead of wallet in accounts resolver ([#3613](https://github.com/coral-xyz/anchor/pull/3613))
 
 ### Fixes
 
 - idl: Update `proc-macro2` usage for latest nightly ([#3663](https://github.com/solana-foundation/anchor/pull/3663))
 - ts: Fix parsing IDL with multiple const generics ([#3665](https://github.com/solana-foundation/anchor/pull/3665))
-- cli, docker: Replace `backpackapp/build` Docker image with `solanafoundation/anchor` ([#3619](https://github.com/coral-xyz/anchor/pull/3619)).
 
 ### Breaking
 

+ 15 - 15
Cargo.lock

@@ -102,7 +102,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-access-control"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-syn",
  "proc-macro2",
@@ -112,7 +112,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-account"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-syn",
  "bs58",
@@ -123,7 +123,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-constant"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-syn",
  "quote",
@@ -132,7 +132,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-error"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-syn",
  "quote",
@@ -141,7 +141,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-event"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-syn",
  "proc-macro2",
@@ -151,7 +151,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-program"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-lang-idl",
  "anchor-syn",
@@ -166,7 +166,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-cli"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-client",
  "anchor-lang",
@@ -202,7 +202,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-client"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-lang",
  "anyhow",
@@ -219,7 +219,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-derive-accounts"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-syn",
  "quote",
@@ -228,7 +228,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-derive-serde"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-syn",
  "borsh-derive-internal",
@@ -239,7 +239,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-derive-space"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -248,7 +248,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-lang"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-attribute-access-control",
  "anchor-attribute-account",
@@ -291,7 +291,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-spl"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anchor-lang",
  "borsh 0.10.3",
@@ -307,7 +307,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-syn"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anyhow",
  "bs58",
@@ -650,7 +650,7 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "avm"
-version = "0.31.0"
+version = "0.31.1"
 dependencies = [
  "anyhow",
  "cargo_toml",

+ 1 - 1
VERSION

@@ -1 +1 @@
-0.31.0
+0.31.1

+ 1 - 1
avm/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "avm"
-version = "0.31.0"
+version = "0.31.1"
 edition = "2021"
 
 [[bin]]

+ 12 - 0
bench/BINARY_SIZE.md

@@ -24,6 +24,18 @@ Solana version: 2.1.0
 
 ---
 
+## [0.31.1]
+
+Solana version: 2.1.0
+
+| Program | Binary Size | -   |
+| ------- | ----------- | --- |
+| bench   | 1,041,928   | -   |
+
+### Notable changes
+
+---
+
 ## [0.31.0]
 
 Solana version: 2.1.0

+ 98 - 0
bench/COMPUTE_UNITS.md

@@ -110,6 +110,104 @@ Solana version: 2.1.0
 
 ---
 
+## [0.31.1]
+
+Solana version: 2.1.0
+
+| Instruction                 | Compute Units | -   |
+| --------------------------- | ------------- | --- |
+| accountInfo1                | 571           | -   |
+| accountInfo2                | 895           | -   |
+| accountInfo4                | 1,553         | -   |
+| accountInfo8                | 2,923         | -   |
+| accountEmptyInit1           | 5,083         | -   |
+| accountEmpty1               | 645           | -   |
+| accountEmptyInit2           | 9,301         | -   |
+| accountEmpty2               | 1,007         | -   |
+| accountEmptyInit4           | 17,764        | -   |
+| accountEmpty4               | 1,724         | -   |
+| accountEmptyInit8           | 34,723        | -   |
+| accountEmpty8               | 3,163         | -   |
+| accountSizedInit1           | 5,192         | -   |
+| accountSized1               | 693           | -   |
+| accountSizedInit2           | 9,489         | -   |
+| accountSized2               | 1,075         | -   |
+| accountSizedInit4           | 18,170        | -   |
+| accountSized4               | 1,848         | -   |
+| accountSizedInit8           | 35,433        | -   |
+| accountSized8               | 3,387         | -   |
+| accountUnsizedInit1         | 5,305         | -   |
+| accountUnsized1             | 746           | -   |
+| accountUnsizedInit2         | 9,759         | -   |
+| accountUnsized2             | 1,163         | -   |
+| accountUnsizedInit4         | 18,603        | -   |
+| accountUnsized4             | 2,002         | -   |
+| accountUnsizedInit8         | 35,993        | -   |
+| accountUnsized8             | 3,673         | -   |
+| boxedAccountEmptyInit1      | 5,175         | -   |
+| boxedAccountEmpty1          | 734           | -   |
+| boxedAccountEmptyInit2      | 9,414         | -   |
+| boxedAccountEmpty2          | 1,116         | -   |
+| boxedAccountEmptyInit4      | 17,918        | -   |
+| boxedAccountEmpty4          | 1,872         | -   |
+| boxedAccountEmptyInit8      | 34,953        | -   |
+| boxedAccountEmpty8          | 3,401         | -   |
+| boxedAccountSizedInit1      | 5,271         | -   |
+| boxedAccountSized1          | 783           | -   |
+| boxedAccountSizedInit2      | 9,583         | -   |
+| boxedAccountSized2          | 1,190         | -   |
+| boxedAccountSizedInit4      | 18,230        | -   |
+| boxedAccountSized4          | 1,996         | -   |
+| boxedAccountSizedInit8      | 35,553        | -   |
+| boxedAccountSized8          | 3,628         | -   |
+| boxedAccountUnsizedInit1    | 5,371         | -   |
+| boxedAccountUnsized1        | 836           | -   |
+| boxedAccountUnsizedInit2    | 9,759         | -   |
+| boxedAccountUnsized2        | 1,270         | -   |
+| boxedAccountUnsizedInit4    | 18,558        | -   |
+| boxedAccountUnsized4        | 2,132         | -   |
+| boxedAccountUnsizedInit8    | 36,185        | -   |
+| boxedAccountUnsized8        | 3,881         | -   |
+| boxedInterfaceAccountMint1  | 1,351         | -   |
+| boxedInterfaceAccountMint2  | 2,123         | -   |
+| boxedInterfaceAccountMint4  | 3,656         | -   |
+| boxedInterfaceAccountMint8  | 6,738         | -   |
+| boxedInterfaceAccountToken1 | 2,011         | -   |
+| boxedInterfaceAccountToken2 | 3,431         | -   |
+| boxedInterfaceAccountToken4 | 6,260         | -   |
+| boxedInterfaceAccountToken8 | 11,934        | -   |
+| interfaceAccountMint1       | 1,476         | -   |
+| interfaceAccountMint2       | 2,489         | -   |
+| interfaceAccountMint4       | 4,511         | -   |
+| interfaceAccountMint8       | 8,550         | -   |
+| interfaceAccountToken1      | 2,111         | -   |
+| interfaceAccountToken2      | 3,729         | -   |
+| interfaceAccountToken4      | 6,955         | -   |
+| interface1                  | 769           | -   |
+| interface2                  | 912           | -   |
+| interface4                  | 1,189         | -   |
+| interface8                  | 1,748         | -   |
+| program1                    | 779           | -   |
+| program2                    | 920           | -   |
+| program4                    | 1,193         | -   |
+| program8                    | 1,744         | -   |
+| signer1                     | 774           | -   |
+| signer2                     | 1,064         | -   |
+| signer4                     | 1,637         | -   |
+| signer8                     | 2,788         | -   |
+| systemAccount1              | 796           | -   |
+| systemAccount2              | 1,096         | -   |
+| systemAccount4              | 1,689         | -   |
+| systemAccount8              | 2,880         | -   |
+| uncheckedAccount1           | 783           | -   |
+| uncheckedAccount2           | 1,056         | -   |
+| uncheckedAccount4           | 1,594         | -   |
+| uncheckedAccount8           | 2,679         | -   |
+
+### Notable changes
+
+---
+
 ## [0.31.0]
 
 Solana version: 2.1.0

+ 98 - 0
bench/STACK_MEMORY.md

@@ -110,6 +110,104 @@ Solana version: 2.1.0
 
 ---
 
+## [0.31.1]
+
+Solana version: 2.1.0
+
+| Instruction                    | Stack Memory | -   |
+| ------------------------------ | ------------ | --- |
+| account_info1                  | 46           | -   |
+| account_info2                  | 80           | -   |
+| account_info4                  | 80           | -   |
+| account_info8                  | 80           | -   |
+| account_empty_init1            | 88           | -   |
+| account_empty_init2            | 88           | -   |
+| account_empty_init4            | 88           | -   |
+| account_empty_init8            | 88           | -   |
+| account_empty1                 | 88           | -   |
+| account_empty2                 | 88           | -   |
+| account_empty4                 | 88           | -   |
+| account_empty8                 | 88           | -   |
+| account_sized_init1            | 88           | -   |
+| account_sized_init2            | 88           | -   |
+| account_sized_init4            | 88           | -   |
+| account_sized_init8            | 88           | -   |
+| account_sized1                 | 88           | -   |
+| account_sized2                 | 88           | -   |
+| account_sized4                 | 88           | -   |
+| account_sized8                 | 88           | -   |
+| account_unsized_init1          | 88           | -   |
+| account_unsized_init2          | 88           | -   |
+| account_unsized_init4          | 88           | -   |
+| account_unsized_init8          | 88           | -   |
+| account_unsized1               | 88           | -   |
+| account_unsized2               | 88           | -   |
+| account_unsized4               | 88           | -   |
+| account_unsized8               | 88           | -   |
+| boxed_account_empty_init1      | 88           | -   |
+| boxed_account_empty_init2      | 88           | -   |
+| boxed_account_empty_init4      | 88           | -   |
+| boxed_account_empty_init8      | 88           | -   |
+| boxed_account_empty1           | 88           | -   |
+| boxed_account_empty2           | 88           | -   |
+| boxed_account_empty4           | 88           | -   |
+| boxed_account_empty8           | 88           | -   |
+| boxed_account_sized_init1      | 88           | -   |
+| boxed_account_sized_init2      | 88           | -   |
+| boxed_account_sized_init4      | 88           | -   |
+| boxed_account_sized_init8      | 88           | -   |
+| boxed_account_sized1           | 88           | -   |
+| boxed_account_sized2           | 88           | -   |
+| boxed_account_sized4           | 88           | -   |
+| boxed_account_sized8           | 88           | -   |
+| boxed_account_unsized_init1    | 88           | -   |
+| boxed_account_unsized_init2    | 88           | -   |
+| boxed_account_unsized_init4    | 88           | -   |
+| boxed_account_unsized_init8    | 88           | -   |
+| boxed_account_unsized1         | 88           | -   |
+| boxed_account_unsized2         | 88           | -   |
+| boxed_account_unsized4         | 88           | -   |
+| boxed_account_unsized8         | 88           | -   |
+| boxed_interface_account_mint1  | 88           | -   |
+| boxed_interface_account_mint2  | 88           | -   |
+| boxed_interface_account_mint4  | 88           | -   |
+| boxed_interface_account_mint8  | 88           | -   |
+| boxed_interface_account_token1 | 88           | -   |
+| boxed_interface_account_token2 | 88           | -   |
+| boxed_interface_account_token4 | 88           | -   |
+| boxed_interface_account_token8 | 88           | -   |
+| interface_account_mint1        | 88           | -   |
+| interface_account_mint2        | 88           | -   |
+| interface_account_mint4        | 88           | -   |
+| interface_account_mint8        | 88           | -   |
+| interface_account_token1       | 80           | -   |
+| interface_account_token2       | 80           | -   |
+| interface_account_token4       | 80           | -   |
+| interface1                     | 88           | -   |
+| interface2                     | 88           | -   |
+| interface4                     | 88           | -   |
+| interface8                     | 88           | -   |
+| program1                       | 88           | -   |
+| program2                       | 88           | -   |
+| program4                       | 88           | -   |
+| program8                       | 88           | -   |
+| signer1                        | 88           | -   |
+| signer2                        | 88           | -   |
+| signer4                        | 88           | -   |
+| signer8                        | 88           | -   |
+| system_account1                | 88           | -   |
+| system_account2                | 88           | -   |
+| system_account4                | 88           | -   |
+| system_account8                | 88           | -   |
+| unchecked_account1             | 88           | -   |
+| unchecked_account2             | 88           | -   |
+| unchecked_account4             | 88           | -   |
+| unchecked_account8             | 88           | -   |
+
+### Notable changes
+
+---
+
 ## [0.31.0]
 
 Solana version: 2.1.0

+ 3 - 3
cli/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-cli"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 edition = "2021"
 repository = "https://github.com/coral-xyz/anchor"
@@ -15,9 +15,9 @@ path = "src/bin/main.rs"
 dev = []
 
 [dependencies]
-anchor-client = { path = "../client", version = "0.31.0" }
+anchor-client = { path = "../client", version = "0.31.1" }
 anchor-lang-idl = { path = "../idl", version = "0.1.2", features = ["build", "convert"] }
-anchor-lang = { path = "../lang", version = "0.31.0" }
+anchor-lang = { path = "../lang", version = "0.31.1" }
 anyhow = "1.0.32"
 base64 = "0.21"
 bincode = "1.3.3"

+ 1 - 1
cli/npm-package/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@coral-xyz/anchor-cli",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "description": "Anchor CLI tool",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 2 - 2
client/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-client"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 edition = "2021"
 license = "Apache-2.0"
@@ -16,7 +16,7 @@ debug = []
 mock = []
 
 [dependencies]
-anchor-lang = { path = "../lang", version = "0.31.0" }
+anchor-lang = { path = "../lang", version = "0.31.1" }
 anyhow = "1"
 futures = "0.3"
 regex = "1"

+ 2 - 2
client/src/lib.rs

@@ -50,7 +50,7 @@
 //!
 //! More examples can be found in [here].
 //!
-//! [here]: https://github.com/coral-xyz/anchor/tree/v0.31.0/client/example/src
+//! [here]: https://github.com/coral-xyz/anchor/tree/v0.31.1/client/example/src
 //!
 //! # Features
 //!
@@ -59,7 +59,7 @@
 //! The client is blocking by default. To enable asynchronous client, add `async` feature:
 //!
 //! ```toml
-//! anchor-client = { version = "0.31.0 ", features = ["async"] }
+//! anchor-client = { version = "0.31.1 ", features = ["async"] }
 //! ````
 //!
 //! ## `mock`

+ 1 - 1
docker/Makefile

@@ -1,5 +1,5 @@
 # Anchor version.
-ANCHOR_CLI=v0.31.0
+ANCHOR_CLI=v0.31.1
 # Solana toolchain.
 SOLANA_CLI=v2.1.0
 # Build version should match the Anchor cli version.

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

@@ -261,8 +261,8 @@ version = "0.1.0"
 edition = "2021"
 
 [dependencies]
-anchor-client = { version = "0.31.0", features = ["async"] }
-anchor-lang = "0.31.0"
+anchor-client = { version = "0.31.1", features = ["async"] }
+anchor-lang = "0.31.1"
 anyhow = "1.0.93"
 tokio = { version = "1.0", features = ["full"] }
 ```

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

@@ -678,8 +678,8 @@ version = "0.1.0"
 edition = "2021"
 
 [dependencies]
-anchor-client = { version = "0.31.0", features = ["async"] }
-anchor-lang = "0.31.0"
+anchor-client = { version = "0.31.1", features = ["async"] }
+anchor-lang = "0.31.1"
 anyhow = "1.0.93"
 tokio = { version = "1.0", features = ["full"] }
 ```

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

@@ -148,7 +148,7 @@ program's `Cargo.toml`:
 
 ```toml title="Cargo.toml"
 [dependencies]
-anchor-lang = { version = "0.31.0", features = ["event-cpi"] }
+anchor-lang = { version = "0.31.1", features = ["event-cpi"] }
 ```
 
 Example usage:

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

@@ -18,7 +18,7 @@ zero-copy types.
 ```toml title="Cargo.toml"
 [dependencies]
 bytemuck = { version = "1.20.0", features = ["min_const_generics"] }
-anchor-lang = "0.31.0"
+anchor-lang = "0.31.1"
 ```
 
 ### Define a Zero Copy Account

+ 6 - 6
docs/content/docs/installation.mdx

@@ -30,7 +30,7 @@ After installation, you should see output similar to the following:
 Installed Versions:
 Rust: rustc 1.85.0 (4d91de4e4 2025-02-17)
 Solana CLI: solana-cli 2.1.15 (src:53545685; feat:3271415109, client:Agave)
-Anchor CLI: anchor-cli 0.31.0
+Anchor CLI: anchor-cli 0.31.1
 Node.js: v23.9.0
 Yarn: 1.22.1
 
@@ -355,8 +355,8 @@ Alternatively, you can install a specific version of Anchor CLI by specifying
 the version number:
 
 ```shell title="Terminal"
-avm install 0.31.0
-avm use 0.31.0
+avm install 0.31.1
+avm use 0.31.1
 ```
 
 <Callout type="info">
@@ -365,7 +365,7 @@ Don't forget to run the `avm use` command to declare which Anchor CLI version
 should be used on your system.
 
 - If you installed the `latest` version, run `avm use latest`.
-- If you installed the version `0.31.0`, run `avm use 0.31.0`.
+- If you installed the version `0.31.1`, run `avm use 0.31.1`.
 
 </Callout>
 
@@ -376,7 +376,7 @@ should be used on your system.
 Install a specific version of the Anchor CLI with the following command:
 
 ```shell title="Terminal"
-cargo install --git https://github.com/coral-xyz/anchor --tag v0.31.0 anchor-cli
+cargo install --git https://github.com/coral-xyz/anchor --tag v0.31.1 anchor-cli
 ```
 
 </Tab>
@@ -391,7 +391,7 @@ anchor --version
 You should see output similar to the following:
 
 ```
-anchor-cli 0.31.0
+anchor-cli 0.31.1
 ```
 
 <Callout type="warn">

+ 1 - 1
docs/content/docs/quickstart/local.mdx

@@ -37,7 +37,7 @@ anchor --version
 Expected output:
 
 ```shell filename="Terminal"
-anchor-cli 0.31.0
+anchor-cli 0.31.1
 ```
 
 ## Getting Started

+ 2 - 2
docs/content/docs/references/anchor-toml.mdx

@@ -218,7 +218,7 @@ Override toolchain data in the workspace similar to
 
 ```toml
 [toolchain]
-anchor_version = "0.31.0"    # `anchor-cli` version to use(requires `avm`)
-solana_version = "2.1.0"     # Solana version to use(applies to all Solana tools)
+anchor_version = "0.31.1"    # `anchor-cli` version to use(requires `avm`)
+solana_version = "2.1.21"     # Solana version to use(applies to all Solana tools)
 package_manager = "yarn"     # JS package manager to use
 ```

+ 2 - 2
docs/content/docs/references/verifiable-builds.mdx

@@ -39,10 +39,10 @@ If the program has an IDL, it will also check the IDL deployed on chain matches.
 A docker image for each version of Anchor is published on
 [Docker Hub](https://hub.docker.com/r/solanafoundation/anchor). They are tagged
 in the form `solanafoundation/anchor:<version>`. For example, to get the image
-for Anchor `v0.31.0` one can run
+for Anchor `v0.31.1` one can run
 
 ```shell
-docker pull solanafoundation/anchor:v0.31.0
+docker pull solanafoundation/anchor:v0.31.1
 ```
 
 ## Removing an Image

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

@@ -309,7 +309,7 @@ To use the `init_if_needed` constraint, enable the `init-if-needed` feature in
 
 ```toml title="Cargo.toml"
 [dependencies]
-anchor-lang = { version = "0.31.0", features = ["init-if-needed"] }
+anchor-lang = { version = "0.31.1", features = ["init-if-needed"] }
 ```
 
 ## Examples

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

@@ -40,8 +40,8 @@ idl-build = [
 ]
 
 [dependencies]
-anchor-lang = "0.31.0"
-anchor-spl = "0.31.0"
+anchor-lang = "0.31.1"
+anchor-spl = "0.31.1"
 ```
 
 ### Core Modules

+ 19 - 0
docs/content/docs/updates/changelog.mdx

@@ -9,6 +9,25 @@ patch version will be incremented for features.
 
 ---
 
+## [0.31.1] - 2025-04-19
+
+### Features
+
+- cli, docker: Replace `backpackapp/build` Docker image with
+  `solanafoundation/anchor`
+  ([#3619](https://github.com/coral-xyz/anchor/pull/3619)).
+- ts: Make `Provider` require publicKey instead of wallet in accounts resolver
+  ([#3613](https://github.com/coral-xyz/anchor/pull/3613))
+
+### Fixes
+
+- idl: Update `proc-macro2` usage for latest nightly
+  ([#3663](https://github.com/solana-foundation/anchor/pull/3663))
+- ts: Fix parsing IDL with multiple const generics
+  ([#3665](https://github.com/solana-foundation/anchor/pull/3665))
+
+### Breaking
+
 ## [0.31.0] - 2025-03-08
 
 ### Features

+ 73 - 0
docs/content/docs/updates/release-notes/0-31-1.mdx

@@ -0,0 +1,73 @@
+---
+title: 0.31.1
+description: Anchor - Release Notes 0.31.1
+---
+
+This patch release aims to fix `proc-macro2` related IDL build errors (see
+[`proc-macro2` build fix](#proc-macro2-build-fix)).
+
+New Releases for Anchor will be published under the `solanafoundation` GitHub
+organization from now on.
+
+---
+
+## How to upgrade
+
+1. Update `anchor-cli`:
+
+   ```sh
+   avm install 0.31.1
+   ```
+
+2. Update Anchor crate(s) to `0.31.1`.
+
+3. Update TS package(s) to `0.31.1`.
+
+## Recommended Solana Version
+
+The recommended Solana version is `2.1.0`, the same as
+[v0.31.0's Recommended Solana Version](./0-31-0#recommended-solana-version).
+
+## Docker
+
+This release uses a new docker image found at
+[solanafoundation/anchor](https://hub.docker.com/r/solanafoundation/anchor). New
+images will be pushed to this organization in the future.
+
+## IDL
+
+### `proc-macro2` build fix
+
+`proc-macro2 1.0.95` removed the `source_file` method of `Span` due to an
+underlying `nightly` compiler change
+[rust-lang/rust#139671](https://github.com/rust-lang/rust/pull/139671), which
+resulted in the following error for Anchor users:
+
+```
+error[E0599]: no method named `source_file` found for struct `proc_macro2::Span` in the current scope
+```
+
+This should now be fixed in this release.
+
+## TypeScript
+
+### Account resolver no longer requires wallet
+
+Resolving signers had a wallet requirement, and failing to meet this requirement
+resulted in the following error:
+
+```
+This function requires the `Provider` interface implementor to have a `wallet` field.
+```
+
+Now, it's only required for the `publicKey` field of `Provider` to be set.
+
+### Multiple constant generics
+
+An issue where having multiple constant generics would result in parsing errors
+has been fixed.
+
+---
+
+See the full list of notable changes in the
+[CHANGELOG](https://github.com/solana-foundation/anchor/blob/v0.31.1/CHANGELOG.md#0311---2025-04-19).

+ 1 - 1
docs/content/docs/updates/release-notes/meta.json

@@ -1,4 +1,4 @@
 {
   "title": "Release Notes",
-  "pages": ["0-31-0", "0-30-1", "0-30-0", "0-29-0"]
+  "pages": ["0-31-1", "0-31-0", "0-30-1", "0-30-0", "0-29-0"]
 }

+ 1 - 1
examples/tutorial/basic-0/package.json

@@ -1,6 +1,6 @@
 {
   "name": "basic-0",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
examples/tutorial/basic-1/package.json

@@ -1,6 +1,6 @@
 {
   "name": "basic-1",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
examples/tutorial/basic-2/package.json

@@ -1,6 +1,6 @@
 {
   "name": "basic-2",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
examples/tutorial/basic-3/package.json

@@ -1,6 +1,6 @@
 {
   "name": "basic-3",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
examples/tutorial/basic-4/package.json

@@ -1,6 +1,6 @@
 {
   "name": "basic-4",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
examples/tutorial/basic-5/package.json

@@ -1,6 +1,6 @@
 {
   "name": "basic-5",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 10 - 10
lang/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-lang"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 edition = "2021"
@@ -39,15 +39,15 @@ interface-instructions = ["anchor-attribute-program/interface-instructions"]
 lazy-account = ["anchor-attribute-account/lazy-account", "anchor-derive-serde/lazy-account"]
 
 [dependencies]
-anchor-attribute-access-control = { path = "./attribute/access-control", version = "0.31.0" }
-anchor-attribute-account = { path = "./attribute/account", version = "0.31.0" }
-anchor-attribute-constant = { path = "./attribute/constant", version = "0.31.0" }
-anchor-attribute-error = { path = "./attribute/error", version = "0.31.0" }
-anchor-attribute-event = { path = "./attribute/event", version = "0.31.0" }
-anchor-attribute-program = { path = "./attribute/program", version = "0.31.0" }
-anchor-derive-accounts = { path = "./derive/accounts", version = "0.31.0" }
-anchor-derive-serde = { path = "./derive/serde", version = "0.31.0" }
-anchor-derive-space = { path = "./derive/space", version = "0.31.0" }
+anchor-attribute-access-control = { path = "./attribute/access-control", version = "0.31.1" }
+anchor-attribute-account = { path = "./attribute/account", version = "0.31.1" }
+anchor-attribute-constant = { path = "./attribute/constant", version = "0.31.1" }
+anchor-attribute-error = { path = "./attribute/error", version = "0.31.1" }
+anchor-attribute-event = { path = "./attribute/event", version = "0.31.1" }
+anchor-attribute-program = { path = "./attribute/program", version = "0.31.1" }
+anchor-derive-accounts = { path = "./derive/accounts", version = "0.31.1" }
+anchor-derive-serde = { path = "./derive/serde", version = "0.31.1" }
+anchor-derive-space = { path = "./derive/space", version = "0.31.1" }
 
 # `anchor-lang-idl` should only be included with `idl-build` feature
 anchor-lang-idl = { path = "../idl", version = "0.1.2", optional = true }

+ 2 - 2
lang/attribute/access-control/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-attribute-access-control"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -14,7 +14,7 @@ proc-macro = true
 anchor-debug = ["anchor-syn/anchor-debug"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.31.0" }
+anchor-syn = { path = "../../syn", version = "0.31.1" }
 proc-macro2 = "1"
 quote = "1"
 syn = { version = "1", features = ["full"] }

+ 2 - 2
lang/attribute/account/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-attribute-account"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -16,7 +16,7 @@ idl-build = ["anchor-syn/idl-build"]
 lazy-account = []
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.31.0", features = ["hash"] }
+anchor-syn = { path = "../../syn", version = "0.31.1", features = ["hash"] }
 bs58 = "0.5"
 proc-macro2 = "1"
 quote = "1"

+ 2 - 2
lang/attribute/constant/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-attribute-constant"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -15,6 +15,6 @@ anchor-debug = ["anchor-syn/anchor-debug"]
 idl-build = ["anchor-syn/idl-build"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.31.0" }
+anchor-syn = { path = "../../syn", version = "0.31.1" }
 quote = "1"
 syn = { version = "1", features = ["full"] }

+ 2 - 2
lang/attribute/error/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-attribute-error"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -15,6 +15,6 @@ anchor-debug = ["anchor-syn/anchor-debug"]
 idl-build = ["anchor-syn/idl-build"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.31.0" }
+anchor-syn = { path = "../../syn", version = "0.31.1" }
 quote = "1"
 syn = { version = "1", features = ["full"] }

+ 2 - 2
lang/attribute/event/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-attribute-event"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -17,7 +17,7 @@ event-cpi = ["anchor-syn/event-cpi"]
 idl-build = ["anchor-syn/idl-build"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.31.0", features = ["hash"] }
+anchor-syn = { path = "../../syn", version = "0.31.1", features = ["hash"] }
 proc-macro2 = "1"
 quote = "1"
 syn = { version = "1", features = ["full"] }

+ 2 - 2
lang/attribute/program/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-attribute-program"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -17,7 +17,7 @@ interface-instructions = ["anchor-syn/interface-instructions"]
 
 [dependencies]
 anchor-lang-idl = { path = "../../../idl", version = "0.1.2", features = ["convert"] }
-anchor-syn = { path = "../../syn", version = "0.31.0" }
+anchor-syn = { path = "../../syn", version = "0.31.1" }
 anyhow = "1"
 bs58 = "0.5"
 heck = "0.3"

+ 3 - 3
lang/attribute/program/src/lib.rs

@@ -50,7 +50,7 @@ pub fn program(
 ///
 /// A full on-chain CPI usage example can be found [here].
 ///
-/// [here]: https://github.com/coral-xyz/anchor/tree/v0.31.0/tests/declare-program
+/// [here]: https://github.com/coral-xyz/anchor/tree/v0.31.1/tests/declare-program
 #[proc_macro]
 pub fn declare_program(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
     parse_macro_input!(input as DeclareProgram)
@@ -92,9 +92,9 @@ pub fn declare_program(input: proc_macro::TokenStream) -> proc_macro::TokenStrea
 /// ```
 #[cfg(feature = "interface-instructions")]
 #[deprecated(
-    since = "0.31.0",
+    since = "0.31.1",
     note = "Use `#[instruction(discriminator = <EXPR>)]` instead.
-    See examples in https://github.com/coral-xyz/anchor/tree/v0.31.0/tests/spl/transfer-hook"
+    See examples in https://github.com/coral-xyz/anchor/tree/v0.31.1/tests/spl/transfer-hook"
 )]
 #[proc_macro_attribute]
 pub fn interface(

+ 2 - 2
lang/derive/accounts/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-derive-accounts"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -17,6 +17,6 @@ idl-build = ["anchor-syn/idl-build"]
 init-if-needed = ["anchor-syn/init-if-needed"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.31.0" }
+anchor-syn = { path = "../../syn", version = "0.31.1" }
 quote = "1"
 syn = { version = "1", features = ["full"] }

+ 2 - 2
lang/derive/serde/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-derive-serde"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -15,7 +15,7 @@ idl-build = ["anchor-syn/idl-build"]
 lazy-account = []
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.31.0" }
+anchor-syn = { path = "../../syn", version = "0.31.1" }
 borsh-derive-internal = "0.10.3"
 proc-macro2 = "1"
 syn = { version = "1", features = ["full"] }

+ 1 - 1
lang/derive/space/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-derive-space"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"

+ 1 - 1
lang/syn/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-syn"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"

+ 2 - 2
spl/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-spl"
-version = "0.31.0"
+version = "0.31.1"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 edition = "2021"
 license = "Apache-2.0"
@@ -26,7 +26,7 @@ token_2022 = ["spl-token-2022"]
 token_2022_extensions = ["spl-token-2022", "spl-token-group-interface", "spl-token-metadata-interface", "spl-pod"]
 
 [dependencies]
-anchor-lang = { path = "../lang", version = "0.31.0", features = ["derive"] }
+anchor-lang = { path = "../lang", version = "0.31.1", features = ["derive"] }
 borsh = { version = "0.10.3", optional = true }
 mpl-token-metadata = { version = "5", optional = true }
 spl-associated-token-account = { version = "6", features = ["no-entrypoint"], optional = true }

+ 1 - 1
tests/anchor-cli-account/package.json

@@ -1,6 +1,6 @@
 {
   "name": "anchor-cli-account",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/anchor-cli-idl/package.json

@@ -1,6 +1,6 @@
 {
   "name": "anchor-cli-idl",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/auction-house/package.json

@@ -1,6 +1,6 @@
 {
   "name": "auction-house",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 186 - 0
tests/bench/bench.json

@@ -1115,6 +1115,192 @@
       }
     }
   },
+  "0.31.1": {
+    "solanaVersion": "2.1.0",
+    "result": {
+      "binarySize": {
+        "bench": 1041928
+      },
+      "computeUnits": {
+        "accountInfo1": 571,
+        "accountInfo2": 895,
+        "accountInfo4": 1553,
+        "accountInfo8": 2923,
+        "accountEmptyInit1": 5083,
+        "accountEmpty1": 645,
+        "accountEmptyInit2": 9301,
+        "accountEmpty2": 1007,
+        "accountEmptyInit4": 17764,
+        "accountEmpty4": 1724,
+        "accountEmptyInit8": 34723,
+        "accountEmpty8": 3163,
+        "accountSizedInit1": 5192,
+        "accountSized1": 693,
+        "accountSizedInit2": 9489,
+        "accountSized2": 1075,
+        "accountSizedInit4": 18170,
+        "accountSized4": 1848,
+        "accountSizedInit8": 35433,
+        "accountSized8": 3387,
+        "accountUnsizedInit1": 5305,
+        "accountUnsized1": 746,
+        "accountUnsizedInit2": 9759,
+        "accountUnsized2": 1163,
+        "accountUnsizedInit4": 18603,
+        "accountUnsized4": 2002,
+        "accountUnsizedInit8": 35993,
+        "accountUnsized8": 3673,
+        "boxedAccountEmptyInit1": 5175,
+        "boxedAccountEmpty1": 734,
+        "boxedAccountEmptyInit2": 9414,
+        "boxedAccountEmpty2": 1116,
+        "boxedAccountEmptyInit4": 17918,
+        "boxedAccountEmpty4": 1872,
+        "boxedAccountEmptyInit8": 34953,
+        "boxedAccountEmpty8": 3401,
+        "boxedAccountSizedInit1": 5271,
+        "boxedAccountSized1": 783,
+        "boxedAccountSizedInit2": 9583,
+        "boxedAccountSized2": 1190,
+        "boxedAccountSizedInit4": 18230,
+        "boxedAccountSized4": 1996,
+        "boxedAccountSizedInit8": 35553,
+        "boxedAccountSized8": 3628,
+        "boxedAccountUnsizedInit1": 5371,
+        "boxedAccountUnsized1": 836,
+        "boxedAccountUnsizedInit2": 9759,
+        "boxedAccountUnsized2": 1270,
+        "boxedAccountUnsizedInit4": 18558,
+        "boxedAccountUnsized4": 2132,
+        "boxedAccountUnsizedInit8": 36185,
+        "boxedAccountUnsized8": 3881,
+        "boxedInterfaceAccountMint1": 1351,
+        "boxedInterfaceAccountMint2": 2123,
+        "boxedInterfaceAccountMint4": 3656,
+        "boxedInterfaceAccountMint8": 6738,
+        "boxedInterfaceAccountToken1": 2011,
+        "boxedInterfaceAccountToken2": 3431,
+        "boxedInterfaceAccountToken4": 6260,
+        "boxedInterfaceAccountToken8": 11934,
+        "interfaceAccountMint1": 1476,
+        "interfaceAccountMint2": 2489,
+        "interfaceAccountMint4": 4511,
+        "interfaceAccountMint8": 8550,
+        "interfaceAccountToken1": 2111,
+        "interfaceAccountToken2": 3729,
+        "interfaceAccountToken4": 6955,
+        "interface1": 769,
+        "interface2": 912,
+        "interface4": 1189,
+        "interface8": 1748,
+        "program1": 779,
+        "program2": 920,
+        "program4": 1193,
+        "program8": 1744,
+        "signer1": 774,
+        "signer2": 1064,
+        "signer4": 1637,
+        "signer8": 2788,
+        "systemAccount1": 796,
+        "systemAccount2": 1096,
+        "systemAccount4": 1689,
+        "systemAccount8": 2880,
+        "uncheckedAccount1": 783,
+        "uncheckedAccount2": 1056,
+        "uncheckedAccount4": 1594,
+        "uncheckedAccount8": 2679
+      },
+      "stackMemory": {
+        "account_info1": 46,
+        "account_info2": 80,
+        "account_info4": 80,
+        "account_info8": 80,
+        "account_empty_init1": 88,
+        "account_empty_init2": 88,
+        "account_empty_init4": 88,
+        "account_empty_init8": 88,
+        "account_empty1": 88,
+        "account_empty2": 88,
+        "account_empty4": 88,
+        "account_empty8": 88,
+        "account_sized_init1": 88,
+        "account_sized_init2": 88,
+        "account_sized_init4": 88,
+        "account_sized_init8": 88,
+        "account_sized1": 88,
+        "account_sized2": 88,
+        "account_sized4": 88,
+        "account_sized8": 88,
+        "account_unsized_init1": 88,
+        "account_unsized_init2": 88,
+        "account_unsized_init4": 88,
+        "account_unsized_init8": 88,
+        "account_unsized1": 88,
+        "account_unsized2": 88,
+        "account_unsized4": 88,
+        "account_unsized8": 88,
+        "boxed_account_empty_init1": 88,
+        "boxed_account_empty_init2": 88,
+        "boxed_account_empty_init4": 88,
+        "boxed_account_empty_init8": 88,
+        "boxed_account_empty1": 88,
+        "boxed_account_empty2": 88,
+        "boxed_account_empty4": 88,
+        "boxed_account_empty8": 88,
+        "boxed_account_sized_init1": 88,
+        "boxed_account_sized_init2": 88,
+        "boxed_account_sized_init4": 88,
+        "boxed_account_sized_init8": 88,
+        "boxed_account_sized1": 88,
+        "boxed_account_sized2": 88,
+        "boxed_account_sized4": 88,
+        "boxed_account_sized8": 88,
+        "boxed_account_unsized_init1": 88,
+        "boxed_account_unsized_init2": 88,
+        "boxed_account_unsized_init4": 88,
+        "boxed_account_unsized_init8": 88,
+        "boxed_account_unsized1": 88,
+        "boxed_account_unsized2": 88,
+        "boxed_account_unsized4": 88,
+        "boxed_account_unsized8": 88,
+        "boxed_interface_account_mint1": 88,
+        "boxed_interface_account_mint2": 88,
+        "boxed_interface_account_mint4": 88,
+        "boxed_interface_account_mint8": 88,
+        "boxed_interface_account_token1": 88,
+        "boxed_interface_account_token2": 88,
+        "boxed_interface_account_token4": 88,
+        "boxed_interface_account_token8": 88,
+        "interface_account_mint1": 88,
+        "interface_account_mint2": 88,
+        "interface_account_mint4": 88,
+        "interface_account_mint8": 88,
+        "interface_account_token1": 80,
+        "interface_account_token2": 80,
+        "interface_account_token4": 80,
+        "interface1": 88,
+        "interface2": 88,
+        "interface4": 88,
+        "interface8": 88,
+        "program1": 88,
+        "program2": 88,
+        "program4": 88,
+        "program8": 88,
+        "signer1": 88,
+        "signer2": 88,
+        "signer4": 88,
+        "signer8": 88,
+        "system_account1": 88,
+        "system_account2": 88,
+        "system_account4": 88,
+        "system_account8": 88,
+        "unchecked_account1": 88,
+        "unchecked_account2": 88,
+        "unchecked_account4": 88,
+        "unchecked_account8": 88
+      }
+    }
+  },
   "unreleased": {
     "solanaVersion": "2.1.0",
     "result": {

+ 2884 - 0
tests/bench/locks/0.31.1.lock

@@ -0,0 +1,2884 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 4
+
+[[package]]
+name = "aead"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
+dependencies = [
+ "crypto-common",
+ "generic-array",
+]
+
+[[package]]
+name = "aes"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
+dependencies = [
+ "cfg-if",
+ "cipher",
+ "cpufeatures",
+]
+
+[[package]]
+name = "aes-gcm-siv"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d"
+dependencies = [
+ "aead",
+ "aes",
+ "cipher",
+ "ctr",
+ "polyval",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy 0.7.35",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anchor-attribute-access-control"
+version = "0.31.1"
+dependencies = [
+ "anchor-syn",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-account"
+version = "0.31.1"
+dependencies = [
+ "anchor-syn",
+ "bs58",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-constant"
+version = "0.31.1"
+dependencies = [
+ "anchor-syn",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-error"
+version = "0.31.1"
+dependencies = [
+ "anchor-syn",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-event"
+version = "0.31.1"
+dependencies = [
+ "anchor-syn",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-program"
+version = "0.31.1"
+dependencies = [
+ "anchor-lang-idl",
+ "anchor-syn",
+ "anyhow",
+ "bs58",
+ "heck",
+ "proc-macro2",
+ "quote",
+ "serde_json",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-derive-accounts"
+version = "0.31.1"
+dependencies = [
+ "anchor-syn",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-derive-serde"
+version = "0.31.1"
+dependencies = [
+ "anchor-syn",
+ "borsh-derive-internal",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-derive-space"
+version = "0.31.1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-lang"
+version = "0.31.1"
+dependencies = [
+ "anchor-attribute-access-control",
+ "anchor-attribute-account",
+ "anchor-attribute-constant",
+ "anchor-attribute-error",
+ "anchor-attribute-event",
+ "anchor-attribute-program",
+ "anchor-derive-accounts",
+ "anchor-derive-serde",
+ "anchor-derive-space",
+ "anchor-lang-idl",
+ "base64 0.21.7",
+ "bincode",
+ "borsh 0.10.4",
+ "bytemuck",
+ "solana-program",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "anchor-lang-idl"
+version = "0.1.2"
+dependencies = [
+ "anchor-lang-idl-spec",
+ "anyhow",
+ "heck",
+ "regex",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+]
+
+[[package]]
+name = "anchor-lang-idl-spec"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "serde",
+]
+
+[[package]]
+name = "anchor-spl"
+version = "0.31.1"
+dependencies = [
+ "anchor-lang",
+ "spl-associated-token-account",
+ "spl-pod",
+ "spl-token",
+ "spl-token-2022",
+ "spl-token-group-interface",
+ "spl-token-metadata-interface",
+]
+
+[[package]]
+name = "anchor-syn"
+version = "0.31.1"
+dependencies = [
+ "anyhow",
+ "bs58",
+ "cargo_toml",
+ "heck",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "syn 1.0.109",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
+
+[[package]]
+name = "arrayref"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
+
+[[package]]
+name = "autocfg"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+
+[[package]]
+name = "base64"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64"
+version = "0.22.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+
+[[package]]
+name = "bench"
+version = "0.1.0"
+dependencies = [
+ "anchor-lang",
+ "anchor-spl",
+]
+
+[[package]]
+name = "bincode"
+version = "1.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "bitflags"
+version = "2.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
+
+[[package]]
+name = "blake3"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "389a099b34312839e16420d499a9cad9650541715937ffbdd40d36f49e77eeb3"
+dependencies = [
+ "arrayref",
+ "arrayvec",
+ "cc",
+ "cfg-if",
+ "constant_time_eq",
+ "digest 0.10.7",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "borsh"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115e54d64eb62cdebad391c19efc9dce4981c690c85a33a12199d99bb9546fee"
+dependencies = [
+ "borsh-derive 0.10.4",
+ "hashbrown 0.13.2",
+]
+
+[[package]]
+name = "borsh"
+version = "1.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce"
+dependencies = [
+ "borsh-derive 1.5.7",
+ "cfg_aliases",
+]
+
+[[package]]
+name = "borsh-derive"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "831213f80d9423998dd696e2c5345aba6be7a0bd8cd19e31c5243e13df1cef89"
+dependencies = [
+ "borsh-derive-internal",
+ "borsh-schema-derive-internal",
+ "proc-macro-crate 0.1.5",
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "borsh-derive"
+version = "1.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3"
+dependencies = [
+ "once_cell",
+ "proc-macro-crate 3.3.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "borsh-derive-internal"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65d6ba50644c98714aa2a70d13d7df3cd75cd2b523a2b452bf010443800976b3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "borsh-schema-derive-internal"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "276691d96f063427be83e6692b86148e488ebba9f48f77788724ca027ba3b6d4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "bs58"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
+
+[[package]]
+name = "bv"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340"
+dependencies = [
+ "feature-probe",
+ "serde",
+]
+
+[[package]]
+name = "bytemuck"
+version = "1.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540"
+dependencies = [
+ "bytemuck_derive",
+]
+
+[[package]]
+name = "bytemuck_derive"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "cargo_toml"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be"
+dependencies = [
+ "serde",
+ "toml 0.8.20",
+]
+
+[[package]]
+name = "cc"
+version = "1.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362"
+dependencies = [
+ "shlex",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
+[[package]]
+name = "cipher"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
+dependencies = [
+ "crypto-common",
+ "inout",
+]
+
+[[package]]
+name = "console_error_panic_hook"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "console_log"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89f72f65e8501878b8a004d5a1afb780987e2ce2b4532c562e367a72c57499f"
+dependencies = [
+ "log",
+ "web-sys",
+]
+
+[[package]]
+name = "constant_time_eq"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crunchy"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "rand_core 0.6.4",
+ "typenum",
+]
+
+[[package]]
+name = "ctr"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest 0.10.7",
+ "fiat-crypto",
+ "rand_core 0.6.4",
+ "rustc_version",
+ "serde",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "derivation-path"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0"
+
+[[package]]
+name = "digest"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer 0.10.4",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "either"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
+
+[[package]]
+name = "equivalent"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
+
+[[package]]
+name = "feature-probe"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da"
+
+[[package]]
+name = "fiat-crypto"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
+
+[[package]]
+name = "five8_const"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26dec3da8bc3ef08f2c04f61eab298c3ab334523e55f076354d6d6f613799a7b"
+dependencies = [
+ "five8_core",
+]
+
+[[package]]
+name = "five8_core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2551bf44bc5f776c15044b9b94153a00198be06743e262afaaa61f11ac7523a5"
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
+
+[[package]]
+name = "heck"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest 0.10.7",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.15.2",
+]
+
+[[package]]
+name = "inout"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
+
+[[package]]
+name = "js-sys"
+version = "0.3.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
+dependencies = [
+ "once_cell",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "keccak"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654"
+dependencies = [
+ "cpufeatures",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "libc"
+version = "0.2.172"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
+
+[[package]]
+name = "libsecp256k1"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73"
+dependencies = [
+ "arrayref",
+ "base64 0.12.3",
+ "digest 0.9.0",
+ "libsecp256k1-core",
+ "libsecp256k1-gen-ecmult",
+ "libsecp256k1-gen-genmult",
+ "rand 0.7.3",
+ "serde",
+ "sha2 0.9.9",
+]
+
+[[package]]
+name = "libsecp256k1-core"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80"
+dependencies = [
+ "crunchy",
+ "digest 0.9.0",
+ "subtle",
+]
+
+[[package]]
+name = "libsecp256k1-gen-ecmult"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3"
+dependencies = [
+ "libsecp256k1-core",
+]
+
+[[package]]
+name = "libsecp256k1-gen-genmult"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d"
+dependencies = [
+ "libsecp256k1-core",
+]
+
+[[package]]
+name = "lock_api"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "memoffset"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "merlin"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d"
+dependencies = [
+ "byteorder",
+ "keccak",
+ "rand_core 0.6.4",
+ "zeroize",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
+dependencies = [
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
+dependencies = [
+ "proc-macro-crate 3.3.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.21.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
+
+[[package]]
+name = "opaque-debug"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets",
+]
+
+[[package]]
+name = "pbkdf2"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
+dependencies = [
+ "digest 0.10.7",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "polyval"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "opaque-debug",
+ "universal-hash",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
+dependencies = [
+ "zerocopy 0.8.24",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
+dependencies = [
+ "toml 0.5.11",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35"
+dependencies = [
+ "toml_edit",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "qstring"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom 0.1.16",
+ "libc",
+ "rand_chacha 0.2.2",
+ "rand_core 0.5.1",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.5.1",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom 0.1.16",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom 0.2.15",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core 0.5.1",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "regex"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
+
+[[package]]
+name = "ryu"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "semver"
+version = "1.0.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
+
+[[package]]
+name = "serde"
+version = "1.0.219"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_bytes"
+version = "0.11.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.219"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.140"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "sha2"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
+dependencies = [
+ "block-buffer 0.9.0",
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.9.0",
+ "opaque-debug",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.10.7",
+]
+
+[[package]]
+name = "sha3"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
+dependencies = [
+ "digest 0.10.7",
+ "keccak",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "smallvec"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
+
+[[package]]
+name = "solana-account"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258"
+dependencies = [
+ "solana-account-info",
+ "solana-clock",
+ "solana-instruction",
+ "solana-pubkey",
+ "solana-sdk-ids",
+]
+
+[[package]]
+name = "solana-account-info"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0c17d606a298a205fae325489fbed88ee6dc4463c111672172327e741c8905d"
+dependencies = [
+ "bincode",
+ "serde",
+ "solana-program-error",
+ "solana-program-memory",
+ "solana-pubkey",
+]
+
+[[package]]
+name = "solana-address-lookup-table-interface"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1673f67efe870b64a65cb39e6194be5b26527691ce5922909939961a6e6b395"
+dependencies = [
+ "bincode",
+ "bytemuck",
+ "serde",
+ "serde_derive",
+ "solana-clock",
+ "solana-instruction",
+ "solana-pubkey",
+ "solana-sdk-ids",
+ "solana-slot-hashes",
+]
+
+[[package]]
+name = "solana-atomic-u64"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52e52720efe60465b052b9e7445a01c17550666beec855cce66f44766697bc2"
+dependencies = [
+ "parking_lot",
+]
+
+[[package]]
+name = "solana-big-mod-exp"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75db7f2bbac3e62cfd139065d15bcda9e2428883ba61fc8d27ccb251081e7567"
+dependencies = [
+ "num-bigint",
+ "num-traits",
+ "solana-define-syscall",
+]
+
+[[package]]
+name = "solana-bincode"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19a3787b8cf9c9fe3dd360800e8b70982b9e5a8af9e11c354b6665dd4a003adc"
+dependencies = [
+ "bincode",
+ "serde",
+ "solana-instruction",
+]
+
+[[package]]
+name = "solana-blake3-hasher"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1a0801e25a1b31a14494fc80882a036be0ffd290efc4c2d640bfcca120a4672"
+dependencies = [
+ "blake3",
+ "solana-define-syscall",
+ "solana-hash",
+ "solana-sanitize",
+]
+
+[[package]]
+name = "solana-borsh"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "718333bcd0a1a7aed6655aa66bef8d7fb047944922b2d3a18f49cbc13e73d004"
+dependencies = [
+ "borsh 0.10.4",
+ "borsh 1.5.7",
+]
+
+[[package]]
+name = "solana-clock"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67c2177a1b9fe8326004f1151a5acd124420b737811080b1035df31349e4d892"
+dependencies = [
+ "serde",
+ "serde_derive",
+ "solana-sdk-ids",
+ "solana-sdk-macro",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-cpi"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11"
+dependencies = [
+ "solana-account-info",
+ "solana-define-syscall",
+ "solana-instruction",
+ "solana-program-error",
+ "solana-pubkey",
+ "solana-stable-layout",
+]
+
+[[package]]
+name = "solana-curve25519"
+version = "2.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1de13796959f32e52eb2d59a0dbfe0d55ee59b07e04b0ae5648e07ba1082dd98"
+dependencies = [
+ "bytemuck",
+ "bytemuck_derive",
+ "curve25519-dalek",
+ "solana-define-syscall",
+ "subtle",
+ "thiserror 2.0.12",
+]
+
+[[package]]
+name = "solana-decode-error"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10a6a6383af236708048f8bd8d03db8ca4ff7baf4a48e5d580f4cce545925470"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "solana-define-syscall"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf784bb2cb3e02cac9801813c30187344228d2ae952534902108f6150573a33d"
+
+[[package]]
+name = "solana-derivation-path"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "939756d798b25c5ec3cca10e06212bdca3b1443cb9bb740a38124f58b258737b"
+dependencies = [
+ "derivation-path",
+ "qstring",
+ "uriparse",
+]
+
+[[package]]
+name = "solana-epoch-rewards"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86b575d3dd323b9ea10bb6fe89bf6bf93e249b215ba8ed7f68f1a3633f384db7"
+dependencies = [
+ "serde",
+ "serde_derive",
+ "solana-hash",
+ "solana-sdk-ids",
+ "solana-sdk-macro",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-epoch-schedule"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed"
+dependencies = [
+ "serde",
+ "serde_derive",
+ "solana-sdk-ids",
+ "solana-sdk-macro",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-example-mocks"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84461d56cbb8bb8d539347151e0525b53910102e4bced875d49d5139708e39d3"
+dependencies = [
+ "serde",
+ "serde_derive",
+ "solana-address-lookup-table-interface",
+ "solana-clock",
+ "solana-hash",
+ "solana-instruction",
+ "solana-keccak-hasher",
+ "solana-message",
+ "solana-nonce",
+ "solana-pubkey",
+ "solana-sdk-ids",
+ "solana-system-interface",
+ "thiserror 2.0.12",
+]
+
+[[package]]
+name = "solana-feature-gate-interface"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f9c7fbf3e58b64a667c5f35e90af580538a95daea7001ff7806c0662d301bdf"
+dependencies = [
+ "bincode",
+ "serde",
+ "serde_derive",
+ "solana-account",
+ "solana-account-info",
+ "solana-instruction",
+ "solana-program-error",
+ "solana-pubkey",
+ "solana-rent",
+ "solana-sdk-ids",
+ "solana-system-interface",
+]
+
+[[package]]
+name = "solana-fee-calculator"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d89bc408da0fb3812bc3008189d148b4d3e08252c79ad810b245482a3f70cd8d"
+dependencies = [
+ "log",
+ "serde",
+ "serde_derive",
+]
+
+[[package]]
+name = "solana-hash"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf7bcb14392900fe02e4e34e90234fbf0c673d4e327888410ba99fa2ba0f4e99"
+dependencies = [
+ "borsh 1.5.7",
+ "bs58",
+ "bytemuck",
+ "bytemuck_derive",
+ "js-sys",
+ "serde",
+ "serde_derive",
+ "solana-atomic-u64",
+ "solana-sanitize",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "solana-instruction"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce496a475e5062ba5de97215ab39d9c358f9c9df4bb7f3a45a1f1a8bd9065ed"
+dependencies = [
+ "bincode",
+ "borsh 1.5.7",
+ "getrandom 0.2.15",
+ "js-sys",
+ "num-traits",
+ "serde",
+ "serde_derive",
+ "solana-define-syscall",
+ "solana-pubkey",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "solana-instructions-sysvar"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "427f2d0d6dc0bb49f16cef5e7f975180d2e80aab9bdd3b2af68e2d029ec63f43"
+dependencies = [
+ "bitflags",
+ "solana-account-info",
+ "solana-instruction",
+ "solana-program-error",
+ "solana-pubkey",
+ "solana-sanitize",
+ "solana-sdk-ids",
+ "solana-serialize-utils",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-keccak-hasher"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7aeb957fbd42a451b99235df4942d96db7ef678e8d5061ef34c9b34cae12f79"
+dependencies = [
+ "sha3",
+ "solana-define-syscall",
+ "solana-hash",
+ "solana-sanitize",
+]
+
+[[package]]
+name = "solana-last-restart-slot"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd"
+dependencies = [
+ "serde",
+ "serde_derive",
+ "solana-sdk-ids",
+ "solana-sdk-macro",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-loader-v2-interface"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8ab08006dad78ae7cd30df8eea0539e207d08d91eaefb3e1d49a446e1c49654"
+dependencies = [
+ "serde",
+ "serde_bytes",
+ "serde_derive",
+ "solana-instruction",
+ "solana-pubkey",
+ "solana-sdk-ids",
+]
+
+[[package]]
+name = "solana-loader-v3-interface"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4be76cfa9afd84ca2f35ebc09f0da0f0092935ccdac0595d98447f259538c2"
+dependencies = [
+ "serde",
+ "serde_bytes",
+ "serde_derive",
+ "solana-instruction",
+ "solana-pubkey",
+ "solana-sdk-ids",
+ "solana-system-interface",
+]
+
+[[package]]
+name = "solana-loader-v4-interface"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "706a777242f1f39a83e2a96a2a6cb034cb41169c6ecbee2cf09cb873d9659e7e"
+dependencies = [
+ "serde",
+ "serde_bytes",
+ "serde_derive",
+ "solana-instruction",
+ "solana-pubkey",
+ "solana-sdk-ids",
+ "solana-system-interface",
+]
+
+[[package]]
+name = "solana-message"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c6bf99c4570173710107a1f233f3bee226feea5fc817308707d4f7cb100a72d"
+dependencies = [
+ "bincode",
+ "blake3",
+ "lazy_static",
+ "serde",
+ "serde_derive",
+ "solana-bincode",
+ "solana-hash",
+ "solana-instruction",
+ "solana-pubkey",
+ "solana-sanitize",
+ "solana-sdk-ids",
+ "solana-short-vec",
+ "solana-system-interface",
+ "solana-transaction-error",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "solana-msg"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f36a1a14399afaabc2781a1db09cb14ee4cc4ee5c7a5a3cfcc601811379a8092"
+dependencies = [
+ "solana-define-syscall",
+]
+
+[[package]]
+name = "solana-native-token"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33e9de00960197412e4be3902a6cd35e60817c511137aca6c34c66cd5d4017ec"
+
+[[package]]
+name = "solana-nonce"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "703e22eb185537e06204a5bd9d509b948f0066f2d1d814a6f475dafb3ddf1325"
+dependencies = [
+ "serde",
+ "serde_derive",
+ "solana-fee-calculator",
+ "solana-hash",
+ "solana-pubkey",
+ "solana-sha256-hasher",
+]
+
+[[package]]
+name = "solana-program"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "586469467e93ceb79048f8d8e3a619bf61d05396ee7de95cb40280301a589d05"
+dependencies = [
+ "bincode",
+ "blake3",
+ "borsh 0.10.4",
+ "borsh 1.5.7",
+ "bs58",
+ "bytemuck",
+ "console_error_panic_hook",
+ "console_log",
+ "getrandom 0.2.15",
+ "lazy_static",
+ "log",
+ "memoffset",
+ "num-bigint",
+ "num-derive",
+ "num-traits",
+ "rand 0.8.5",
+ "serde",
+ "serde_bytes",
+ "serde_derive",
+ "solana-account-info",
+ "solana-address-lookup-table-interface",
+ "solana-atomic-u64",
+ "solana-big-mod-exp",
+ "solana-bincode",
+ "solana-blake3-hasher",
+ "solana-borsh",
+ "solana-clock",
+ "solana-cpi",
+ "solana-decode-error",
+ "solana-define-syscall",
+ "solana-epoch-rewards",
+ "solana-epoch-schedule",
+ "solana-example-mocks",
+ "solana-feature-gate-interface",
+ "solana-fee-calculator",
+ "solana-hash",
+ "solana-instruction",
+ "solana-instructions-sysvar",
+ "solana-keccak-hasher",
+ "solana-last-restart-slot",
+ "solana-loader-v2-interface",
+ "solana-loader-v3-interface",
+ "solana-loader-v4-interface",
+ "solana-message",
+ "solana-msg",
+ "solana-native-token",
+ "solana-nonce",
+ "solana-program-entrypoint",
+ "solana-program-error",
+ "solana-program-memory",
+ "solana-program-option",
+ "solana-program-pack",
+ "solana-pubkey",
+ "solana-rent",
+ "solana-sanitize",
+ "solana-sdk-ids",
+ "solana-sdk-macro",
+ "solana-secp256k1-recover",
+ "solana-serde-varint",
+ "solana-serialize-utils",
+ "solana-sha256-hasher",
+ "solana-short-vec",
+ "solana-slot-hashes",
+ "solana-slot-history",
+ "solana-stable-layout",
+ "solana-stake-interface",
+ "solana-system-interface",
+ "solana-sysvar",
+ "solana-sysvar-id",
+ "solana-vote-interface",
+ "thiserror 2.0.12",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "solana-program-entrypoint"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "473ffe73c68d93e9f2aa726ad2985fe52760052709aaab188100a42c618060ec"
+dependencies = [
+ "solana-account-info",
+ "solana-msg",
+ "solana-program-error",
+ "solana-pubkey",
+]
+
+[[package]]
+name = "solana-program-error"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8ae2c1a8d0d4ae865882d5770a7ebca92bab9c685e43f0461682c6c05a35bfa"
+dependencies = [
+ "borsh 1.5.7",
+ "num-traits",
+ "serde",
+ "serde_derive",
+ "solana-decode-error",
+ "solana-instruction",
+ "solana-msg",
+ "solana-pubkey",
+]
+
+[[package]]
+name = "solana-program-memory"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b0268f6c89825fb634a34bd0c3b8fdaeaecfc3728be1d622a8ee6dd577b60d4"
+dependencies = [
+ "num-traits",
+ "solana-define-syscall",
+]
+
+[[package]]
+name = "solana-program-option"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc677a2e9bc616eda6dbdab834d463372b92848b2bfe4a1ed4e4b4adba3397d0"
+
+[[package]]
+name = "solana-program-pack"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "319f0ef15e6e12dc37c597faccb7d62525a509fec5f6975ecb9419efddeb277b"
+dependencies = [
+ "solana-program-error",
+]
+
+[[package]]
+name = "solana-pubkey"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cad77cf9f30b971a1eec48dde6a863dcac60ba005a34dfde23736afa5c7ac667"
+dependencies = [
+ "borsh 0.10.4",
+ "borsh 1.5.7",
+ "bs58",
+ "bytemuck",
+ "bytemuck_derive",
+ "curve25519-dalek",
+ "five8_const",
+ "getrandom 0.2.15",
+ "js-sys",
+ "num-traits",
+ "serde",
+ "serde_derive",
+ "solana-atomic-u64",
+ "solana-decode-error",
+ "solana-define-syscall",
+ "solana-sanitize",
+ "solana-sha256-hasher",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "solana-rent"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480"
+dependencies = [
+ "serde",
+ "serde_derive",
+ "solana-sdk-ids",
+ "solana-sdk-macro",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-sanitize"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf"
+
+[[package]]
+name = "solana-sdk-ids"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5d8b9cc68d5c88b062a33e23a6466722467dde0035152d8fb1afbcdf350a5f"
+dependencies = [
+ "solana-pubkey",
+]
+
+[[package]]
+name = "solana-sdk-macro"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86280da8b99d03560f6ab5aca9de2e38805681df34e0bb8f238e69b29433b9df"
+dependencies = [
+ "bs58",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "solana-secp256k1-recover"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baa3120b6cdaa270f39444f5093a90a7b03d296d362878f7a6991d6de3bbe496"
+dependencies = [
+ "libsecp256k1",
+ "solana-define-syscall",
+ "thiserror 2.0.12",
+]
+
+[[package]]
+name = "solana-security-txt"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183"
+
+[[package]]
+name = "solana-seed-derivable"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3beb82b5adb266c6ea90e5cf3967235644848eac476c5a1f2f9283a143b7c97f"
+dependencies = [
+ "solana-derivation-path",
+]
+
+[[package]]
+name = "solana-seed-phrase"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36187af2324f079f65a675ec22b31c24919cb4ac22c79472e85d819db9bbbc15"
+dependencies = [
+ "hmac",
+ "pbkdf2",
+ "sha2 0.10.8",
+]
+
+[[package]]
+name = "solana-serde-varint"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcc07d00200d82e6def2f7f7a45738e3406b17fe54a18adcf0defa16a97ccadb"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "solana-serialize-utils"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "817a284b63197d2b27afdba829c5ab34231da4a9b4e763466a003c40ca4f535e"
+dependencies = [
+ "solana-instruction",
+ "solana-pubkey",
+ "solana-sanitize",
+]
+
+[[package]]
+name = "solana-sha256-hasher"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0037386961c0d633421f53560ad7c80675c0447cba4d1bb66d60974dd486c7ea"
+dependencies = [
+ "sha2 0.10.8",
+ "solana-define-syscall",
+ "solana-hash",
+]
+
+[[package]]
+name = "solana-short-vec"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c54c66f19b9766a56fa0057d060de8378676cb64987533fa088861858fc5a69"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "solana-signature"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47d251c8f3dc015f320b4161daac7f108156c837428e5a8cc61136d25beb11d6"
+dependencies = [
+ "bs58",
+ "solana-sanitize",
+]
+
+[[package]]
+name = "solana-signer"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c41991508a4b02f021c1342ba00bcfa098630b213726ceadc7cb032e051975b"
+dependencies = [
+ "solana-pubkey",
+ "solana-signature",
+ "solana-transaction-error",
+]
+
+[[package]]
+name = "solana-slot-hashes"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c8691982114513763e88d04094c9caa0376b867a29577939011331134c301ce"
+dependencies = [
+ "serde",
+ "serde_derive",
+ "solana-hash",
+ "solana-sdk-ids",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-slot-history"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97ccc1b2067ca22754d5283afb2b0126d61eae734fc616d23871b0943b0d935e"
+dependencies = [
+ "bv",
+ "serde",
+ "serde_derive",
+ "solana-sdk-ids",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-stable-layout"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f14f7d02af8f2bc1b5efeeae71bc1c2b7f0f65cd75bcc7d8180f2c762a57f54"
+dependencies = [
+ "solana-instruction",
+ "solana-pubkey",
+]
+
+[[package]]
+name = "solana-stake-interface"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5269e89fde216b4d7e1d1739cf5303f8398a1ff372a81232abbee80e554a838c"
+dependencies = [
+ "borsh 0.10.4",
+ "borsh 1.5.7",
+ "num-traits",
+ "serde",
+ "serde_derive",
+ "solana-clock",
+ "solana-cpi",
+ "solana-decode-error",
+ "solana-instruction",
+ "solana-program-error",
+ "solana-pubkey",
+ "solana-system-interface",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-system-interface"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94d7c18cb1a91c6be5f5a8ac9276a1d7c737e39a21beba9ea710ab4b9c63bc90"
+dependencies = [
+ "js-sys",
+ "num-traits",
+ "serde",
+ "serde_derive",
+ "solana-decode-error",
+ "solana-instruction",
+ "solana-pubkey",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "solana-sysvar"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf6b44740d7f0c9f375d045c165bc0aab4a90658f92d6835aeb0649afaeaff9a"
+dependencies = [
+ "base64 0.22.1",
+ "bincode",
+ "bytemuck",
+ "bytemuck_derive",
+ "lazy_static",
+ "serde",
+ "serde_derive",
+ "solana-account-info",
+ "solana-clock",
+ "solana-define-syscall",
+ "solana-epoch-rewards",
+ "solana-epoch-schedule",
+ "solana-fee-calculator",
+ "solana-hash",
+ "solana-instruction",
+ "solana-instructions-sysvar",
+ "solana-last-restart-slot",
+ "solana-program-entrypoint",
+ "solana-program-error",
+ "solana-program-memory",
+ "solana-pubkey",
+ "solana-rent",
+ "solana-sanitize",
+ "solana-sdk-ids",
+ "solana-sdk-macro",
+ "solana-slot-hashes",
+ "solana-slot-history",
+ "solana-stake-interface",
+ "solana-sysvar-id",
+]
+
+[[package]]
+name = "solana-sysvar-id"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1"
+dependencies = [
+ "solana-pubkey",
+ "solana-sdk-ids",
+]
+
+[[package]]
+name = "solana-transaction-error"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "222a9dc8fdb61c6088baab34fc3a8b8473a03a7a5fd404ed8dd502fa79b67cb1"
+dependencies = [
+ "solana-instruction",
+ "solana-sanitize",
+]
+
+[[package]]
+name = "solana-vote-interface"
+version = "2.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78f039b0788337bedc6c5450d2f237718f938defb5ce0e0ad8ef507e78dcd370"
+dependencies = [
+ "bincode",
+ "num-derive",
+ "num-traits",
+ "serde",
+ "serde_derive",
+ "solana-clock",
+ "solana-decode-error",
+ "solana-hash",
+ "solana-instruction",
+ "solana-pubkey",
+ "solana-rent",
+ "solana-sdk-ids",
+ "solana-serde-varint",
+ "solana-serialize-utils",
+ "solana-short-vec",
+ "solana-system-interface",
+]
+
+[[package]]
+name = "solana-zk-sdk"
+version = "2.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70d19fb9ff055569f32871dfd619355780f151f17285cabd23effcdd74167f73"
+dependencies = [
+ "aes-gcm-siv",
+ "base64 0.22.1",
+ "bincode",
+ "bytemuck",
+ "bytemuck_derive",
+ "curve25519-dalek",
+ "itertools",
+ "js-sys",
+ "lazy_static",
+ "merlin",
+ "num-derive",
+ "num-traits",
+ "rand 0.8.5",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "sha3",
+ "solana-derivation-path",
+ "solana-instruction",
+ "solana-pubkey",
+ "solana-sdk-ids",
+ "solana-seed-derivable",
+ "solana-seed-phrase",
+ "solana-signature",
+ "solana-signer",
+ "subtle",
+ "thiserror 2.0.12",
+ "wasm-bindgen",
+ "zeroize",
+]
+
+[[package]]
+name = "spl-associated-token-account"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76fee7d65013667032d499adc3c895e286197a35a0d3a4643c80e7fd3e9969e3"
+dependencies = [
+ "borsh 1.5.7",
+ "num-derive",
+ "num-traits",
+ "solana-program",
+ "spl-associated-token-account-client",
+ "spl-token",
+ "spl-token-2022",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-associated-token-account-client"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6f8349dbcbe575f354f9a533a21f272f3eb3808a49e2fdc1c34393b88ba76cb"
+dependencies = [
+ "solana-instruction",
+ "solana-pubkey",
+]
+
+[[package]]
+name = "spl-discriminator"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7398da23554a31660f17718164e31d31900956054f54f52d5ec1be51cb4f4b3"
+dependencies = [
+ "bytemuck",
+ "solana-program-error",
+ "solana-sha256-hasher",
+ "spl-discriminator-derive",
+]
+
+[[package]]
+name = "spl-discriminator-derive"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750"
+dependencies = [
+ "quote",
+ "spl-discriminator-syn",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "spl-discriminator-syn"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "sha2 0.10.8",
+ "syn 2.0.100",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-elgamal-registry"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce0f668975d2b0536e8a8fd60e56a05c467f06021dae037f1d0cfed0de2e231d"
+dependencies = [
+ "bytemuck",
+ "solana-program",
+ "solana-zk-sdk",
+ "spl-pod",
+ "spl-token-confidential-transfer-proof-extraction",
+]
+
+[[package]]
+name = "spl-memo"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f09647c0974e33366efeb83b8e2daebb329f0420149e74d3a4bd2c08cf9f7cb"
+dependencies = [
+ "solana-account-info",
+ "solana-instruction",
+ "solana-msg",
+ "solana-program-entrypoint",
+ "solana-program-error",
+ "solana-pubkey",
+]
+
+[[package]]
+name = "spl-pod"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d994afaf86b779104b4a95ba9ca75b8ced3fdb17ee934e38cb69e72afbe17799"
+dependencies = [
+ "borsh 1.5.7",
+ "bytemuck",
+ "bytemuck_derive",
+ "num-derive",
+ "num-traits",
+ "solana-decode-error",
+ "solana-msg",
+ "solana-program-error",
+ "solana-program-option",
+ "solana-pubkey",
+ "solana-zk-sdk",
+ "thiserror 2.0.12",
+]
+
+[[package]]
+name = "spl-program-error"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d39b5186f42b2b50168029d81e58e800b690877ef0b30580d107659250da1d1"
+dependencies = [
+ "num-derive",
+ "num-traits",
+ "solana-program",
+ "spl-program-error-derive",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-program-error-derive"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "sha2 0.10.8",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "spl-tlv-account-resolution"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd99ff1e9ed2ab86e3fd582850d47a739fec1be9f4661cba1782d3a0f26805f3"
+dependencies = [
+ "bytemuck",
+ "num-derive",
+ "num-traits",
+ "solana-account-info",
+ "solana-decode-error",
+ "solana-instruction",
+ "solana-msg",
+ "solana-program-error",
+ "solana-pubkey",
+ "spl-discriminator",
+ "spl-pod",
+ "spl-program-error",
+ "spl-type-length-value",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-token"
+version = "7.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed320a6c934128d4f7e54fe00e16b8aeaecf215799d060ae14f93378da6dc834"
+dependencies = [
+ "arrayref",
+ "bytemuck",
+ "num-derive",
+ "num-traits",
+ "num_enum",
+ "solana-program",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-token-2022"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b27f7405010ef816587c944536b0eafbcc35206ab6ba0f2ca79f1d28e488f4f"
+dependencies = [
+ "arrayref",
+ "bytemuck",
+ "num-derive",
+ "num-traits",
+ "num_enum",
+ "solana-program",
+ "solana-security-txt",
+ "solana-zk-sdk",
+ "spl-elgamal-registry",
+ "spl-memo",
+ "spl-pod",
+ "spl-token",
+ "spl-token-confidential-transfer-ciphertext-arithmetic",
+ "spl-token-confidential-transfer-proof-extraction",
+ "spl-token-confidential-transfer-proof-generation",
+ "spl-token-group-interface",
+ "spl-token-metadata-interface",
+ "spl-transfer-hook-interface",
+ "spl-type-length-value",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-token-confidential-transfer-ciphertext-arithmetic"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "170378693c5516090f6d37ae9bad2b9b6125069be68d9acd4865bbe9fc8499fd"
+dependencies = [
+ "base64 0.22.1",
+ "bytemuck",
+ "solana-curve25519",
+ "solana-zk-sdk",
+]
+
+[[package]]
+name = "spl-token-confidential-transfer-proof-extraction"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eff2d6a445a147c9d6dd77b8301b1e116c8299601794b558eafa409b342faf96"
+dependencies = [
+ "bytemuck",
+ "solana-curve25519",
+ "solana-program",
+ "solana-zk-sdk",
+ "spl-pod",
+ "thiserror 2.0.12",
+]
+
+[[package]]
+name = "spl-token-confidential-transfer-proof-generation"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8627184782eec1894de8ea26129c61303f1f0adeed65c20e0b10bc584f09356d"
+dependencies = [
+ "curve25519-dalek",
+ "solana-zk-sdk",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-token-group-interface"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d595667ed72dbfed8c251708f406d7c2814a3fa6879893b323d56a10bedfc799"
+dependencies = [
+ "bytemuck",
+ "num-derive",
+ "num-traits",
+ "solana-decode-error",
+ "solana-instruction",
+ "solana-msg",
+ "solana-program-error",
+ "solana-pubkey",
+ "spl-discriminator",
+ "spl-pod",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-token-metadata-interface"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfb9c89dbc877abd735f05547dcf9e6e12c00c11d6d74d8817506cab4c99fdbb"
+dependencies = [
+ "borsh 1.5.7",
+ "num-derive",
+ "num-traits",
+ "solana-borsh",
+ "solana-decode-error",
+ "solana-instruction",
+ "solana-msg",
+ "solana-program-error",
+ "solana-pubkey",
+ "spl-discriminator",
+ "spl-pod",
+ "spl-type-length-value",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-transfer-hook-interface"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4aa7503d52107c33c88e845e1351565050362c2314036ddf19a36cd25137c043"
+dependencies = [
+ "arrayref",
+ "bytemuck",
+ "num-derive",
+ "num-traits",
+ "solana-account-info",
+ "solana-cpi",
+ "solana-decode-error",
+ "solana-instruction",
+ "solana-msg",
+ "solana-program-error",
+ "solana-pubkey",
+ "spl-discriminator",
+ "spl-pod",
+ "spl-program-error",
+ "spl-tlv-account-resolution",
+ "spl-type-length-value",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "spl-type-length-value"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba70ef09b13af616a4c987797870122863cba03acc4284f226a4473b043923f9"
+dependencies = [
+ "bytemuck",
+ "num-derive",
+ "num-traits",
+ "solana-account-info",
+ "solana-decode-error",
+ "solana-msg",
+ "solana-program-error",
+ "spl-discriminator",
+ "spl-pod",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "subtle"
+version = "2.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
+dependencies = [
+ "thiserror-impl 1.0.69",
+]
+
+[[package]]
+name = "thiserror"
+version = "2.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
+dependencies = [
+ "thiserror-impl 2.0.12",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "2.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "typenum"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+
+[[package]]
+name = "universal-hash"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
+dependencies = [
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "uriparse"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0200d0fc04d809396c2ad43f3c95da3582a2556eba8d453c1087f4120ee352ff"
+dependencies = [
+ "fnv",
+ "lazy_static",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "rustversion",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
+dependencies = [
+ "bumpalo",
+ "log",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "winnow"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+dependencies = [
+ "zerocopy-derive 0.7.35",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.8.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
+dependencies = [
+ "zerocopy-derive 0.8.24",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.8.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
+[[package]]
+name = "zeroize"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
+dependencies = [
+ "zeroize_derive",
+]
+
+[[package]]
+name = "zeroize_derive"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]

+ 1 - 1
tests/bench/package.json

@@ -1,6 +1,6 @@
 {
   "name": "bench",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/cashiers-check/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cashiers-check",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/cfo/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cfo",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/chat/package.json

@@ -1,6 +1,6 @@
 {
   "name": "chat",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/composite/package.json

@@ -1,6 +1,6 @@
 {
   "name": "composite",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/cpi-returns/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cpi-returns",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/custom-coder/package.json

@@ -1,6 +1,6 @@
 {
   "name": "custom-coder",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/custom-discriminator/package.json

@@ -1,6 +1,6 @@
 {
   "name": "custom-discriminator",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/declare-id/package.json

@@ -1,6 +1,6 @@
 {
   "name": "declare-id",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/declare-program/package.json

@@ -1,6 +1,6 @@
 {
   "name": "declare-program",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/errors/package.json

@@ -1,6 +1,6 @@
 {
   "name": "errors",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/escrow/package.json

@@ -1,6 +1,6 @@
 {
   "name": "escrow",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/events/package.json

@@ -1,6 +1,6 @@
 {
   "name": "events",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/floats/package.json

@@ -1,6 +1,6 @@
 {
   "name": "floats",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/idl/package.json

@@ -1,6 +1,6 @@
 {
   "name": "idl",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/ido-pool/package.json

@@ -1,6 +1,6 @@
 {
   "name": "ido-pool",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/lazy-account/package.json

@@ -1,6 +1,6 @@
 {
   "name": "lazy-account",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/lockup/package.json

@@ -1,6 +1,6 @@
 {
   "name": "lockup",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/misc/package.json

@@ -1,6 +1,6 @@
 {
   "name": "misc",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/multiple-suites/package.json

@@ -1,6 +1,6 @@
 {
   "name": "multiple-suites",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/multisig/package.json

@@ -1,6 +1,6 @@
 {
   "name": "multisig",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/optional/package.json

@@ -1,6 +1,6 @@
 {
   "name": "optional",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/pda-derivation/package.json

@@ -1,6 +1,6 @@
 {
   "name": "pda-derivation",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/pyth/package.json

@@ -1,6 +1,6 @@
 {
   "name": "pyth",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/realloc/package.json

@@ -1,6 +1,6 @@
 {
   "name": "realloc",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/relations-derivation/package.json

@@ -1,6 +1,6 @@
 {
   "name": "relations-derivation",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/solang/package.json

@@ -1,6 +1,6 @@
 {
   "name": "solang",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/spl/metadata/package.json

@@ -1,6 +1,6 @@
 {
   "name": "metadata",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/spl/token-extensions/package.json

@@ -1,6 +1,6 @@
 {
   "name": "token-extensions",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/spl/token-proxy/package.json

@@ -1,6 +1,6 @@
 {
   "name": "token-proxy",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/spl/token-wrapper/package.json

@@ -1,6 +1,6 @@
 {
   "name": "token-wrapper",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/spl/transfer-hook/package.json

@@ -1,6 +1,6 @@
 {
   "name": "transfer-hook",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/swap/package.json

@@ -1,6 +1,6 @@
 {
   "name": "swap",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/system-accounts/package.json

@@ -1,6 +1,6 @@
 {
   "name": "system-accounts",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/sysvars/package.json

@@ -1,6 +1,6 @@
 {
   "name": "sysvars",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/tictactoe/package.json

@@ -1,6 +1,6 @@
 {
   "name": "tictactoe",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/typescript/package.json

@@ -1,6 +1,6 @@
 {
   "name": "typescript-example",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/validator-clone/package.json

@@ -1,6 +1,6 @@
 {
   "name": "validator-clone",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/zero-copy/package.json

@@ -1,6 +1,6 @@
 {
   "name": "zero-copy",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
ts/packages/anchor-errors/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@coral-xyz/anchor-errors",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "description": "Anchor error codes",
   "main": "dist/index.js",
   "types": "dist/index.d.ts",

+ 3 - 3
ts/packages/anchor/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@coral-xyz/anchor",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "description": "Anchor client",
   "module": "./dist/esm/index.js",
   "main": "./dist/cjs/index.js",
@@ -33,8 +33,8 @@
     "test": "jest tests --detectOpenHandles"
   },
   "dependencies": {
-    "@coral-xyz/anchor-errors": "^0.31.0",
-    "@coral-xyz/borsh": "^0.31.0",
+    "@coral-xyz/anchor-errors": "^0.31.1",
+    "@coral-xyz/borsh": "^0.31.1",
     "@noble/hashes": "^1.3.1",
     "@solana/web3.js": "^1.69.0",
     "bn.js": "^5.1.2",

+ 1 - 1
ts/packages/borsh/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@coral-xyz/borsh",
-  "version": "0.31.0",
+  "version": "0.31.1",
   "description": "Anchor Borsh",
   "main": "dist/index.js",
   "types": "dist/index.d.ts",

+ 1 - 1
ts/packages/spl-associated-token-account/package.json

@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.31.0",
+    "@coral-xyz/anchor": "=0.31.1",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {

+ 1 - 1
ts/packages/spl-binary-option/package.json

@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.31.0",
+    "@coral-xyz/anchor": "=0.31.1",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {

+ 1 - 1
ts/packages/spl-binary-oracle-pair/package.json

@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.31.0",
+    "@coral-xyz/anchor": "=0.31.1",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {

+ 1 - 1
ts/packages/spl-feature-proposal/package.json

@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.31.0",
+    "@coral-xyz/anchor": "=0.31.1",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {

+ 1 - 1
ts/packages/spl-governance/package.json

@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.31.0",
+    "@coral-xyz/anchor": "=0.31.1",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {

+ 1 - 1
ts/packages/spl-memo/package.json

@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.31.0"
+    "@coral-xyz/anchor": "=0.31.1"
   },
   "devDependencies": {
     "@rollup/plugin-commonjs": "=21.0.2",

+ 1 - 1
ts/packages/spl-name-service/package.json

@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.31.0",
+    "@coral-xyz/anchor": "=0.31.1",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {

+ 1 - 1
ts/packages/spl-record/package.json

@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.31.0",
+    "@coral-xyz/anchor": "=0.31.1",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {

+ 1 - 1
ts/packages/spl-stake-pool/package.json

@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.31.0",
+    "@coral-xyz/anchor": "=0.31.1",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {

Vissa filer visades inte eftersom för många filer har ändrats