acheron 1 年之前
父节点
当前提交
852fcc77be
共有 98 个文件被更改,包括 3622 次插入140 次删除
  1. 8 0
      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. 11 11
      docs/programs/tic-tac-toe/Cargo.lock
  14. 1 1
      docs/programs/tic-tac-toe/programs/tic-tac-toe/Cargo.toml
  15. 1 0
      docs/src/pages/_app.jsx
  16. 1 1
      docs/src/pages/docs/installation.md
  17. 2 2
      docs/src/pages/docs/manifest.md
  18. 2 2
      docs/src/pages/docs/publishing-source.md
  19. 2 2
      docs/src/pages/docs/verifiable-builds.md
  20. 327 0
      docs/src/pages/release-notes/0.30.0.md
  21. 90 0
      docs/src/pages/release-notes/changelog.md
  22. 1 1
      examples/tutorial/basic-0/package.json
  23. 1 1
      examples/tutorial/basic-1/package.json
  24. 1 1
      examples/tutorial/basic-2/package.json
  25. 1 1
      examples/tutorial/basic-3/package.json
  26. 1 1
      examples/tutorial/basic-4/package.json
  27. 1 1
      examples/tutorial/basic-5/package.json
  28. 1 1
      idl/Cargo.toml
  29. 10 10
      lang/Cargo.toml
  30. 2 2
      lang/attribute/access-control/Cargo.toml
  31. 2 2
      lang/attribute/account/Cargo.toml
  32. 2 2
      lang/attribute/constant/Cargo.toml
  33. 2 2
      lang/attribute/error/Cargo.toml
  34. 2 2
      lang/attribute/event/Cargo.toml
  35. 2 2
      lang/attribute/program/Cargo.toml
  36. 2 2
      lang/derive/accounts/Cargo.toml
  37. 2 2
      lang/derive/serde/Cargo.toml
  38. 1 1
      lang/derive/space/Cargo.toml
  39. 1 1
      lang/syn/Cargo.toml
  40. 2 2
      spl/Cargo.toml
  41. 1 1
      tests/anchor-cli-account/package.json
  42. 1 1
      tests/anchor-cli-idl/package.json
  43. 1 1
      tests/auction-house/package.json
  44. 186 0
      tests/bench/bench.json
  45. 2662 0
      tests/bench/locks/0.30.0.lock
  46. 1 1
      tests/bench/package.json
  47. 1 1
      tests/cashiers-check/package.json
  48. 1 1
      tests/cfo/package.json
  49. 1 1
      tests/chat/package.json
  50. 1 1
      tests/composite/package.json
  51. 1 1
      tests/cpi-returns/package.json
  52. 1 1
      tests/custom-coder/package.json
  53. 1 1
      tests/declare-id/package.json
  54. 1 1
      tests/declare-program/package.json
  55. 1 1
      tests/docs/package.json
  56. 1 1
      tests/errors/package.json
  57. 1 1
      tests/escrow/package.json
  58. 1 1
      tests/events/package.json
  59. 1 1
      tests/floats/package.json
  60. 1 1
      tests/idl/package.json
  61. 1 1
      tests/ido-pool/package.json
  62. 1 1
      tests/lockup/package.json
  63. 1 1
      tests/misc/package.json
  64. 1 1
      tests/multiple-suites/package.json
  65. 1 1
      tests/multisig/package.json
  66. 1 1
      tests/optional/package.json
  67. 1 1
      tests/pda-derivation/package.json
  68. 1 1
      tests/pyth/package.json
  69. 1 1
      tests/realloc/package.json
  70. 1 1
      tests/relations-derivation/package.json
  71. 1 1
      tests/solang/package.json
  72. 1 1
      tests/spl/metadata/package.json
  73. 1 1
      tests/spl/token-extensions/package.json
  74. 1 1
      tests/spl/token-proxy/package.json
  75. 1 1
      tests/spl/token-wrapper/package.json
  76. 1 1
      tests/spl/transfer-hook/package.json
  77. 1 1
      tests/swap/package.json
  78. 1 1
      tests/system-accounts/package.json
  79. 1 1
      tests/sysvars/package.json
  80. 1 1
      tests/tictactoe/package.json
  81. 1 1
      tests/typescript/package.json
  82. 1 1
      tests/validator-clone/package.json
  83. 1 1
      tests/zero-copy/package.json
  84. 2 2
      ts/packages/anchor/package.json
  85. 1 1
      ts/packages/borsh/package.json
  86. 1 1
      ts/packages/spl-associated-token-account/package.json
  87. 1 1
      ts/packages/spl-binary-option/package.json
  88. 1 1
      ts/packages/spl-binary-oracle-pair/package.json
  89. 1 1
      ts/packages/spl-feature-proposal/package.json
  90. 1 1
      ts/packages/spl-governance/package.json
  91. 1 1
      ts/packages/spl-memo/package.json
  92. 1 1
      ts/packages/spl-name-service/package.json
  93. 1 1
      ts/packages/spl-record/package.json
  94. 1 1
      ts/packages/spl-stake-pool/package.json
  95. 1 1
      ts/packages/spl-stateless-asks/package.json
  96. 1 1
      ts/packages/spl-token-lending/package.json
  97. 1 1
      ts/packages/spl-token-swap/package.json
  98. 2 2
      ts/packages/spl-token/package.json

+ 8 - 0
CHANGELOG.md

@@ -12,6 +12,14 @@ The minor version will be incremented upon a breaking change and the patch versi
 
 ### Features
 
+### Fixes
+
+### Breaking
+
+## [0.30.0] - 2024-04-15
+
+### Features
+
 - cli: Allow force `init` and `new` ([#2698](https://github.com/coral-xyz/anchor/pull/2698)).
 - cli: Add verifiable option when `deploy` ([#2705](https://github.com/coral-xyz/anchor/pull/2705)).
 - cli: Add support for passing arguments to the underlying `solana program deploy` command with `anchor deploy` ([#2709](https://github.com/coral-xyz/anchor/pull/2709)).

+ 15 - 15
Cargo.lock

@@ -119,7 +119,7 @@ checksum = "6b2d54853319fd101b8dd81de382bcbf3e03410a64d8928bbee85a3e7dcde483"
 
 [[package]]
 name = "anchor-attribute-access-control"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-syn",
  "proc-macro2",
@@ -129,7 +129,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-account"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-syn",
  "bs58 0.5.0",
@@ -140,7 +140,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-constant"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-syn",
  "quote",
@@ -149,7 +149,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-error"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-syn",
  "quote",
@@ -158,7 +158,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-event"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-syn",
  "proc-macro2",
@@ -168,7 +168,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-program"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-lang-idl",
  "anchor-syn",
@@ -183,7 +183,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-cli"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-client",
  "anchor-lang",
@@ -219,7 +219,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-client"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-lang",
  "anyhow",
@@ -236,7 +236,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-derive-accounts"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-syn",
  "quote",
@@ -245,7 +245,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-derive-serde"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-syn",
  "borsh-derive-internal 0.10.3",
@@ -256,7 +256,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-derive-space"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -265,7 +265,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-lang"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-attribute-access-control",
  "anchor-attribute-account",
@@ -300,7 +300,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-spl"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anchor-lang",
  "borsh 0.10.3",
@@ -317,7 +317,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-syn"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anyhow",
  "bs58 0.5.0",
@@ -663,7 +663,7 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "avm"
-version = "0.29.0"
+version = "0.30.0"
 dependencies = [
  "anyhow",
  "cargo_toml",

+ 1 - 1
VERSION

@@ -1 +1 @@
-0.29.0
+0.30.0

+ 1 - 1
avm/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "avm"
-version = "0.29.0"
+version = "0.30.0"
 rust-version = "1.60"
 edition = "2021"
 

+ 12 - 0
bench/BINARY_SIZE.md

@@ -16,6 +16,18 @@ The programs and their tests are located in [/tests/bench](https://github.com/co
 
 Solana version: 1.18.8
 
+| Program | Binary Size | -   |
+| ------- | ----------- | --- |
+| bench   | 791,008     | -   |
+
+### Notable changes
+
+---
+
+## [0.30.0]
+
+Solana version: 1.18.8
+
 | Program | Binary Size | -                      |
 | ------- | ----------- | ---------------------- |
 | bench   | 791,008     | 🔴 **+47,952 (6.45%)** |

+ 98 - 0
bench/COMPUTE_UNITS.md

@@ -16,6 +16,104 @@ The programs and their tests are located in [/tests/bench](https://github.com/co
 
 Solana version: 1.18.8
 
+| Instruction                 | Compute Units | -   |
+| --------------------------- | ------------- | --- |
+| accountInfo1                | 601           | -   |
+| accountInfo2                | 923           | -   |
+| accountInfo4                | 1,583         | -   |
+| accountInfo8                | 2,975         | -   |
+| accountEmptyInit1           | 5,034         | -   |
+| accountEmpty1               | 652           | -   |
+| accountEmptyInit2           | 9,687         | -   |
+| accountEmpty2               | 1,016         | -   |
+| accountEmptyInit4           | 18,501        | -   |
+| accountEmpty4               | 1,737         | -   |
+| accountEmptyInit8           | 36,169        | -   |
+| accountEmpty8               | 3,186         | -   |
+| accountSizedInit1           | 5,106         | -   |
+| accountSized1               | 668           | -   |
+| accountSizedInit2           | 9,828         | -   |
+| accountSized2               | 1,046         | -   |
+| accountSizedInit4           | 18,837        | -   |
+| accountSized4               | 1,807         | -   |
+| accountSizedInit8           | 36,761        | -   |
+| accountSized8               | 3,326         | -   |
+| accountUnsizedInit1         | 5,199         | -   |
+| accountUnsized1             | 702           | -   |
+| accountUnsizedInit2         | 10,078        | -   |
+| accountUnsized2             | 1,116         | -   |
+| accountUnsizedInit4         | 19,259        | -   |
+| accountUnsized4             | 1,953         | -   |
+| accountUnsizedInit8         | 37,331        | -   |
+| accountUnsized8             | 3,626         | -   |
+| boxedAccountEmptyInit1      | 5,064         | -   |
+| boxedAccountEmpty1          | 671           | -   |
+| boxedAccountEmptyInit2      | 9,721         | -   |
+| boxedAccountEmpty2          | 1,052         | -   |
+| boxedAccountEmptyInit4      | 18,582        | -   |
+| boxedAccountEmpty4          | 1,811         | -   |
+| boxedAccountEmptyInit8      | 36,329        | -   |
+| boxedAccountEmpty8          | 3,357         | -   |
+| boxedAccountSizedInit1      | 5,119         | -   |
+| boxedAccountSized1          | 686           | -   |
+| boxedAccountSizedInit2      | 9,845         | -   |
+| boxedAccountSized2          | 1,085         | -   |
+| boxedAccountSizedInit4      | 18,825        | -   |
+| boxedAccountSized4          | 1,874         | -   |
+| boxedAccountSizedInit8      | 36,824        | -   |
+| boxedAccountSized8          | 3,490         | -   |
+| boxedAccountUnsizedInit1    | 5,207         | -   |
+| boxedAccountUnsized1        | 721           | -   |
+| boxedAccountUnsizedInit2    | 10,015        | -   |
+| boxedAccountUnsized2        | 1,157         | -   |
+| boxedAccountUnsizedInit4    | 19,160        | -   |
+| boxedAccountUnsized4        | 2,019         | -   |
+| boxedAccountUnsizedInit8    | 37,496        | -   |
+| boxedAccountUnsized8        | 3,776         | -   |
+| boxedInterfaceAccountMint1  | 1,372         | -   |
+| boxedInterfaceAccountMint2  | 2,293         | -   |
+| boxedInterfaceAccountMint4  | 4,121         | -   |
+| boxedInterfaceAccountMint8  | 7,811         | -   |
+| boxedInterfaceAccountToken1 | 2,056         | -   |
+| boxedInterfaceAccountToken2 | 3,660         | -   |
+| boxedInterfaceAccountToken4 | 6,858         | -   |
+| boxedInterfaceAccountToken8 | 13,284        | -   |
+| interfaceAccountMint1       | 1,472         | -   |
+| interfaceAccountMint2       | 2,631         | -   |
+| interfaceAccountMint4       | 4,951         | -   |
+| interfaceAccountMint8       | 9,588         | -   |
+| interfaceAccountToken1      | 2,130         | -   |
+| interfaceAccountToken2      | 3,928         | -   |
+| interfaceAccountToken4      | 7,521         | -   |
+| interface1                  | 600           | -   |
+| interface2                  | 745           | -   |
+| interface4                  | 1,033         | -   |
+| interface8                  | 1,616         | -   |
+| program1                    | 596           | -   |
+| program2                    | 737           | -   |
+| program4                    | 1,019         | -   |
+| program8                    | 1,584         | -   |
+| signer1                     | 580           | -   |
+| signer2                     | 872           | -   |
+| signer4                     | 1,454         | -   |
+| signer8                     | 2,618         | -   |
+| systemAccount1              | 592           | -   |
+| systemAccount2              | 894           | -   |
+| systemAccount4              | 1,497         | -   |
+| systemAccount8              | 2,707         | -   |
+| uncheckedAccount1           | 563           | -   |
+| uncheckedAccount2           | 836           | -   |
+| uncheckedAccount4           | 1,378         | -   |
+| uncheckedAccount8           | 2,468         | -   |
+
+### Notable changes
+
+---
+
+## [0.30.0]
+
+Solana version: 1.18.8
+
 | Instruction                 | Compute Units | -                      |
 | --------------------------- | ------------- | ---------------------- |
 | accountInfo1                | 601           | 🟢 **-94 (13.53%)**    |

+ 98 - 0
bench/STACK_MEMORY.md

@@ -16,6 +16,104 @@ The programs and their tests are located in [/tests/bench](https://github.com/co
 
 Solana version: 1.18.8
 
+| Instruction                    | Stack Memory | -   |
+| ------------------------------ | ------------ | --- |
+| account_info1                  | 144          | -   |
+| account_info2                  | 144          | -   |
+| account_info4                  | 144          | -   |
+| account_info8                  | 144          | -   |
+| account_empty_init1            | 144          | -   |
+| account_empty_init2            | 144          | -   |
+| account_empty_init4            | 192          | -   |
+| account_empty_init8            | 224          | -   |
+| account_empty1                 | 144          | -   |
+| account_empty2                 | 144          | -   |
+| account_empty4                 | 144          | -   |
+| account_empty8                 | 144          | -   |
+| account_sized_init1            | 176          | -   |
+| account_sized_init2            | 192          | -   |
+| account_sized_init4            | 224          | -   |
+| account_sized_init8            | 288          | -   |
+| account_sized1                 | 144          | -   |
+| account_sized2                 | 144          | -   |
+| account_sized4                 | 144          | -   |
+| account_sized8                 | 144          | -   |
+| account_unsized_init1          | 192          | -   |
+| account_unsized_init2          | 224          | -   |
+| account_unsized_init4          | 288          | -   |
+| account_unsized_init8          | 416          | -   |
+| account_unsized1               | 144          | -   |
+| account_unsized2               | 144          | -   |
+| account_unsized4               | 144          | -   |
+| account_unsized8               | 144          | -   |
+| boxed_account_empty_init1      | 144          | -   |
+| boxed_account_empty_init2      | 144          | -   |
+| boxed_account_empty_init4      | 192          | -   |
+| boxed_account_empty_init8      | 224          | -   |
+| boxed_account_empty1           | 144          | -   |
+| boxed_account_empty2           | 144          | -   |
+| boxed_account_empty4           | 144          | -   |
+| boxed_account_empty8           | 144          | -   |
+| boxed_account_sized_init1      | 144          | -   |
+| boxed_account_sized_init2      | 144          | -   |
+| boxed_account_sized_init4      | 192          | -   |
+| boxed_account_sized_init8      | 224          | -   |
+| boxed_account_sized1           | 144          | -   |
+| boxed_account_sized2           | 144          | -   |
+| boxed_account_sized4           | 144          | -   |
+| boxed_account_sized8           | 144          | -   |
+| boxed_account_unsized_init1    | 144          | -   |
+| boxed_account_unsized_init2    | 144          | -   |
+| boxed_account_unsized_init4    | 192          | -   |
+| boxed_account_unsized_init8    | 224          | -   |
+| boxed_account_unsized1         | 144          | -   |
+| boxed_account_unsized2         | 144          | -   |
+| boxed_account_unsized4         | 144          | -   |
+| boxed_account_unsized8         | 144          | -   |
+| boxed_interface_account_mint1  | 144          | -   |
+| boxed_interface_account_mint2  | 144          | -   |
+| boxed_interface_account_mint4  | 144          | -   |
+| boxed_interface_account_mint8  | 144          | -   |
+| boxed_interface_account_token1 | 144          | -   |
+| boxed_interface_account_token2 | 144          | -   |
+| boxed_interface_account_token4 | 144          | -   |
+| boxed_interface_account_token8 | 144          | -   |
+| interface_account_mint1        | 144          | -   |
+| interface_account_mint2        | 144          | -   |
+| interface_account_mint4        | 144          | -   |
+| interface_account_mint8        | 144          | -   |
+| interface_account_token1       | 144          | -   |
+| interface_account_token2       | 144          | -   |
+| interface_account_token4       | 144          | -   |
+| interface1                     | 144          | -   |
+| interface2                     | 144          | -   |
+| interface4                     | 144          | -   |
+| interface8                     | 144          | -   |
+| program1                       | 144          | -   |
+| program2                       | 144          | -   |
+| program4                       | 144          | -   |
+| program8                       | 144          | -   |
+| signer1                        | 144          | -   |
+| signer2                        | 144          | -   |
+| signer4                        | 144          | -   |
+| signer8                        | 144          | -   |
+| system_account1                | 144          | -   |
+| system_account2                | 144          | -   |
+| system_account4                | 144          | -   |
+| system_account8                | 144          | -   |
+| unchecked_account1             | 144          | -   |
+| unchecked_account2             | 144          | -   |
+| unchecked_account4             | 144          | -   |
+| unchecked_account8             | 144          | -   |
+
+### Notable changes
+
+---
+
+## [0.30.0]
+
+Solana version: 1.18.8
+
 | Instruction                    | Stack Memory | -                   |
 | ------------------------------ | ------------ | ------------------- |
 | account_info1                  | 144          | 🔴 **+16 (12.50%)** |

+ 3 - 3
cli/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-cli"
-version = "0.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 rust-version = "1.60"
 edition = "2021"
@@ -16,9 +16,9 @@ path = "src/bin/main.rs"
 dev = []
 
 [dependencies]
-anchor-client = { path = "../client", version = "0.29.0" }
+anchor-client = { path = "../client", version = "0.30.0" }
 anchor-lang-idl = { path = "../idl", features = ["build"], version = "0.1.0" }
-anchor-lang = { path = "../lang", version = "0.29.0" }
+anchor-lang = { path = "../lang", version = "0.30.0" }
 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.29.0",
+  "version": "0.30.0",
   "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.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 rust-version = "1.60"
 edition = "2021"
@@ -16,7 +16,7 @@ async = []
 debug = []
 
 [dependencies]
-anchor-lang = { path = "../lang", version = "0.29.0" }
+anchor-lang = { path = "../lang", version = "0.30.0" }
 anyhow = "1"
 futures = "0.3"
 regex = "1"

+ 2 - 2
client/src/lib.rs

@@ -50,14 +50,14 @@
 //!
 //! More examples can be found in [here].
 //!
-//! [here]: https://github.com/coral-xyz/anchor/tree/v0.29.0/client/example/src
+//! [here]: https://github.com/coral-xyz/anchor/tree/v0.30.0/client/example/src
 //!
 //! # Features
 //!
 //! The client is blocking by default. To enable asynchronous client, add `async` feature:
 //!
 //! ```toml
-//! anchor-client = { version = "0.29.0 ", features = ["async"] }
+//! anchor-client = { version = "0.30.0 ", features = ["async"] }
 //! ````
 
 use anchor_lang::solana_program::hash::Hash;

+ 1 - 1
docker/Makefile

@@ -2,7 +2,7 @@ WORKDIR=$(PWD)
 #
 # Anchor version.
 #
-ANCHOR_CLI=v0.29.0
+ANCHOR_CLI=v0.30.0
 #
 # Solana toolchain.
 #

+ 11 - 11
docs/programs/tic-tac-toe/Cargo.lock

@@ -24,7 +24,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-access-control"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cf7d535e1381be3de2c0716c0a1c1e32ad9df1042cddcf7bc18d743569e53319"
 dependencies = [
@@ -38,7 +38,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-account"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c3bcd731f21048a032be27c7791701120e44f3f6371358fc4261a7f716283d29"
 dependencies = [
@@ -53,7 +53,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-constant"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1be64a48e395fe00b8217287f226078be2cf32dae42fdf8a885b997945c3d28"
 dependencies = [
@@ -64,7 +64,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-error"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38ea6713d1938c0da03656ff8a693b17dc0396da66d1ba320557f07e86eca0d4"
 dependencies = [
@@ -76,7 +76,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-event"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d401f11efb3644285685f8339829a9786d43ed7490bb1699f33c478d04d5a582"
 dependencies = [
@@ -89,7 +89,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-interface"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c6700a6f5c888a9c33fe8afc0c64fd8575fa28d05446037306d0f96102ae4480"
 dependencies = [
@@ -103,7 +103,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-program"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6ad769993b5266714e8939e47fbdede90e5c030333c7522d99a4d4748cf26712"
 dependencies = [
@@ -116,7 +116,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-attribute-state"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4e677fae4a016a554acdd0e3b7f178d3acafaa7e7ffac6b8690cf4e171f1c116"
 dependencies = [
@@ -129,7 +129,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-derive-accounts"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "340beef6809d1c3fcc7ae219153d981e95a8a277ff31985bd7050e32645dc9a8"
 dependencies = [
@@ -142,7 +142,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-lang"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "662ceafe667448ee4199a4be2ee83b6bb76da28566eee5cea05f96ab38255af8"
 dependencies = [
@@ -166,7 +166,7 @@ dependencies = [
 
 [[package]]
 name = "anchor-syn"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0418bcb5daac3b8cb1b60d8fdb1d468ca36f5509f31fb51179326fae1028fdcc"
 dependencies = [

+ 1 - 1
docs/programs/tic-tac-toe/programs/tic-tac-toe/Cargo.toml

@@ -16,6 +16,6 @@ cpi = ["no-entrypoint"]
 default = []
 
 [dependencies]
-anchor-lang = "=0.29.0"
+anchor-lang = "=0.30.0"
 num-traits = "0.2"
 num-derive = "0.3"

+ 1 - 0
docs/src/pages/_app.jsx

@@ -28,6 +28,7 @@ const navigation = [
     title: 'Release Notes',
     links: [
       { title: '0.29.0', href: '/release-notes/0.29.0' },
+      { title: '0.30.0', href: '/release-notes/0.30.0' },
       { title: 'CHANGELOG', href: '/release-notes/changelog' },
     ],
   },

+ 1 - 1
docs/src/pages/docs/installation.md

@@ -63,7 +63,7 @@ Anchor binaries are available via an NPM package [`@coral-xyz/anchor-cli`](https
 We can also use Cargo to install the CLI directly. Make sure that the `--tag` argument uses the version you want (the version here is just an example).
 
 ```shell
-cargo install --git https://github.com/coral-xyz/anchor --tag v0.29.0 anchor-cli --locked
+cargo install --git https://github.com/coral-xyz/anchor --tag v0.30.0 anchor-cli --locked
 ```
 
 On Linux systems you may need to install additional dependencies if cargo install fails. On Ubuntu,

+ 2 - 2
docs/src/pages/docs/manifest.md

@@ -200,6 +200,6 @@ Override toolchain data in the workspace similar to [`rust-toolchain.toml`](http
 
 ```toml
 [toolchain]
-anchor_version = "0.29.0"    # `anchor-cli` version to use(requires `avm`)
-solana_version = "1.17.0"    # Solana version to use(applies to all Solana tools)
+anchor_version = "0.30.0"    # `anchor-cli` version to use(requires `avm`)
+solana_version = "1.18.8"    # Solana version to use(applies to all Solana tools)
 ```

+ 2 - 2
docs/src/pages/docs/publishing-source.md

@@ -35,8 +35,8 @@ An example `Anchor.toml` config looks as follows,
 
 ```toml
 [toolchain]
-anchor_version = "0.29.0"
-solana_version = "1.17.0"
+anchor_version = "0.30.0"
+solana_version = "1.18.8"
 
 [workspace]
 members = ["programs/multisig"]

+ 2 - 2
docs/src/pages/docs/verifiable-builds.md

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

+ 327 - 0
docs/src/pages/release-notes/0.30.0.md

@@ -0,0 +1,327 @@
+---
+title: Release Notes 0.30.0
+description: Anchor - Release Notes 0.30.0
+---
+
+The long-awaited v0.30.0 release is finally here!
+
+We'll go over the main changes, but if you'd like to see all notable changes, check out the [CHANGELOG](https://github.com/coral-xyz/anchor/blob/v0.30.0/CHANGELOG.md#0300---2024-04-15).
+
+---
+
+## How to upgrade
+
+1. Update `avm`:
+
+   ```sh
+   cargo install --git https://github.com/coral-xyz/anchor --tag v0.30.0 avm --locked
+   ```
+
+2. Update `anchor-cli`:
+
+   ```sh
+   avm install latest
+   ```
+
+3. Update Anchor crate(s) to `0.30.0`. Optionally, run `cargo update` to update other dependencies to the latest compatible versions.
+
+4. Update TS package(s) to `0.30.0`.
+
+## Recommended Solana Version
+
+While this release supports anything above `1.16`, the recommended Solana version is `1.18.8`. You can upgrade Solana tools by running:
+
+```
+solana-install init 1.18.8
+```
+
+## IDL
+
+The IDL type specification and generation has been rewritten. To keep the release notes short, we won't go over the changes here, but see [this](https://github.com/coral-xyz/anchor/pull/2824) if you'd like to learn more.
+
+### `idl-build` feature
+
+`idl-build` feature is now required in your program's `Cargo.toml` definition in order for the IDL generation to work.
+
+Without this feature, `anchor build` outputs:
+
+```
+Error: `idl-build` feature is missing. To solve, add
+
+[features]
+idl-build = ["anchor-lang/idl-build"]
+
+in `<PATH_TO_CARGO_TOML>`.
+```
+
+Note that all crates that you use to generate type definitions for the IDL need to be specified in the list of `idl-build`, e.g. `anchor-spl/idl-build`, `some-program/idl-build`...
+
+## Lang
+
+### Dependency free program declaration
+
+Depending on other crates who used different versions of Anchor is not the best experience, to say the least. To solve this problem, program clients can now be generated from their IDL using the new `declare_program!` macro:
+
+```rs
+declare_program!(program_name);
+```
+
+`program_name` is based on the file name of the IDL in `idls` directory, e.g. `idls/program_name.json` is required to exist in order for the above example to work.
+
+This works for both on-chain (CPI) and off-chain (RPC) usage, allowing program interactions without creating a [dependency hell](https://en.wikipedia.org/wiki/Dependency_hell). Check out [this](https://github.com/coral-xyz/anchor/blob/0.30.0/tests/declare-program/programs/declare-program/src/lib.rs) example for on-chain CPI usage.
+
+For more information, see the macro's [documentation](https://docs.rs/anchor-lang/0.30.0/anchor_lang/macro.declare_program.html).
+
+### Token extensions
+
+#### Constraints
+
+There are new account constraints for [Token Extensions (Token 2022)](https://solana.com/solutions/token-extensions):
+
+- `group_pointer`:
+  - `authority`
+  - `group_address`
+- `group_member_pointer`:
+  - `authority`
+  - `member_address`
+- `metadata_pointer`:
+  - `authority`
+  - `metadata_address`
+- `close_authority`
+  - `authority`
+- `permanent_delegate`:
+  - `delegate`
+- `transfer_hook`:
+  - `authority`
+  - `program_id`
+
+**Note:** Above values are concatinated with `::` (similar to other Anchor constraints) and have `extensions` prefix e.g. `extensions::group_pointer::authority = <EXPR>`.
+
+These constraints can be used both with or without the `init` constraint.
+
+[Here](https://github.com/coral-xyz/anchor/blob/v0.30.0/tests/spl/token-extensions/programs/token-extensions/src/instructions.rs) is an example program that uses these constraints.
+
+#### CPI wrappers
+
+`anchor-spl` now includes CPI wrappers for Token Extensions which can be accessed from `anchor_spl::token_2022_extensions`.
+
+### `#[interface]` attribute
+
+Transfer hooks can now be used with the new `#[interface]` macro. This argument overrides the Anchor's default instruction discriminator to use the interface instruction's discriminator.
+
+Current supported values are:
+
+- `spl_transfer_hook_interface::initialize_extra_account_meta_list`
+- `spl_transfer_hook_interface::execute`
+
+```rs
+mod my_hook_program {
+    #[interface(spl_transfer_hook_interface::initialize_extra_account_meta_list)]
+    pub fn initialize(ctx: Context<Initialize>, metas: Vec<AnchorExtraAccountMeta>) -> Result<()> {
+        /* ... */
+    }
+
+    #[interface(spl_transfer_hook_interface::execute)]
+    pub fn execute(ctx: Context<Execute>, amount: u64) -> Result<()> {
+        /* ... */
+    }
+}
+```
+
+### Optional bumps
+
+When an optional account is not specified, instead of defaulting it to `u8::MAX`, this release changes the optional bump type to be `Option<u8>` and sets the bump field to `None`.
+
+### Less heap allocations
+
+[`BorshSerialize::try_to_vec`](https://github.com/near/borsh-rs/blob/79097e3c71ae469a101b4828457792bcf8be7f5f/borsh/src/ser/mod.rs#L47-L51) implementation, which is used in events, CPI, and return data, heap allocates [1024](https://github.com/near/borsh-rs/blob/79097e3c71ae469a101b4828457792bcf8be7f5f/borsh/src/ser/mod.rs#L19) bytes each time it's used, even if your data is much smaller. In this release, the default allocation is set to 256 bytes.
+
+There is also a new method `InstructionData::write_to()` to write to an existing allocation rather than creating a new allocation with `InstructionData::data()`.
+
+## CLI
+
+### Priority fees in CLI
+
+IDL commands take in `--priority-fee` argument
+As it's getting harder and harder to land transactions in mainnet-beta without using priority fees, this release supports setting `--priority-fee` argument for the IDL commands. For example:
+
+```
+anchor idl erase-authority --program-id <PROGRAM_ID> --priority-fee 9000
+```
+
+When the `--priortiy-fee` argument is not specified, the median fee of the last 150 confirmed slots is used.
+
+### `--no-idl` flag on builds
+
+IDL generation requires building of the program, but this is unnecessary if your program API doesn't change. In that case, you can use `--no-idl` flag to build your program but skip the IDL generation:
+
+```
+anchor build --no-idl
+```
+
+### IDL buffer is closed after `idl upgrade`
+
+After an IDL upgrade, the buffer account is now closed and the lamports are returned back to the IDL authority.
+
+### Pass deploy arguments to `solana-cli`
+
+You can now pass arguments to `solana program deploy` from `anchor deploy`:
+
+```
+anchor deploy -- --final
+```
+
+### Verifiable deployments
+
+Similar to verifiable builds, you can now deploy the verified build instead of the default build:
+
+```
+anchor deploy --verifiable
+```
+
+### Accept package name as program name
+
+`--program-name` (`-p`) argument of various commands also works with package name of the program rather than lib name which is snake_case. For example:
+
+```
+anchor build -p my-program
+```
+
+### Deactivate test-validator features
+
+You can now deactivate test-validator features from `Anchor.toml`:
+
+```toml
+[test.validator]
+deactivate_feature = ["GDH5TVdbTPUpRnXaRyQqiKUa7uZAbZ28Q2N9bhbKoMLm", "zkiTNuzBKxrCLMKehzuQeKZyLtX2yvFcEKMML8nExU8"]
+```
+
+### Crate and package compatibility
+
+Using non-matching versions of `anchor-cli`, `anchor-lang`, and `@coral-xyz/anchor` can result in unexpected behavior. In this release, you'll get a warning if any of them don't match.
+
+### Explicit `overflow-checks` flag
+
+[`overflow-checks`](https://doc.rust-lang.org/cargo/reference/profiles.html#overflow-checks) flag is implicitly disabled by default. Anchor workspaces that are crated with `anchor init` have this flag enabled, however, Anchor doesn't do any checks for it after the initial workspace creation.
+
+With this release, `overflow-checks` in the workspace `Cargo.toml` need to be specified. Note that "specified" does not mean enabled, as you can also disable it, but you need to be explicit in doing so.
+
+### Wildcard pattern in `Anchor.toml`
+
+`workspace.members` and `workspace.exclude` now supports simple wildcard pattern:
+
+```toml
+[workspace]
+members = ["programs/*"]
+```
+
+Note that the support is limited to this simple wildcard pattern, and more complex globs are not currently supported.
+
+### `cargo build-sbf` is now the default
+
+Before this release, `anchor build` used `cargo build-bpf` to build programs, however, because it is deprecated, `anchor build` now defaults to `cargo build-sbf`.
+
+To preserve the old behavior, you can use:
+
+```
+anchor build --arch bpf
+```
+
+### Run multiple commands in scripts
+
+Scripts in `Anchor.toml` now supports running multiple commands:
+
+```toml
+[scripts]
+test-all = "cargo test && yarn run ts-mocha tests/**/*.ts"
+```
+
+This script would run both `cargo` and `yarn` commands:
+
+```
+anchor run test-all
+```
+
+### Test only a specified program
+
+A single program can be tested in a multi program workspace with the `--program-name` (`-p`) argument:
+
+```
+anchor test --program-name example
+```
+
+This builds and tests only the specified program.
+
+### Rust test template
+
+A wild TypeScript test won't appear if you initialize your workspace with the new Rust test template:
+
+```
+anchor init --test-template rust
+```
+
+## TypeScript
+
+### Account resolution
+
+Account resolution refers to the ability of clients to resolve accounts without having to manually specify them when sending transactions.
+
+There are too many changes to the account resolution logic in the TS library, however, we can skip a good chunk of them since they're mostly internal.
+
+One change that affects everyone is the change in the `accounts` method. Even though the TS library had some support for account resolution, it had no type-level support for it — all accounts were essentially typed as partial, and there was no way to know which accounts were resolvable and which were not.
+
+There are now 3 methods to specify accounts with the transaction builder:
+
+- `accounts`: This method is now fully type-safe based on the resolution fields in the IDL, making it much easier to only specify the accounts that are actually needed.
+- `accountsPartial`: This method keeps the old behavior and let's you specify all accounts including the resolvable ones.
+- `accountsStrict`: If you don't want to use account resolution and specify all accounts manually (unchanged).
+
+This change is likely to result in errors in your existing `.accounts()` calls. To fix, either change `accounts` to `accountsPartial`, or remove all accounts that can be resolved from the IDL. For example:
+
+```diff
+- await program.methods
+-   .init()
+-   .accounts({
+-     pda: ...,
+-     signer: ...,
+-     systemProgram: ...,
+-   })
+-   .rpc();
++ await program.methods.init().rpc();
+```
+
+### Magic account names
+
+Another change that affects most projects is the removal of "magic" account names. The TS library used to autofill common program and sysvar accounts based on their name, e.g. `systemProgram`, however, this is no longer necessary with the introduction of the `address` field (in the IDL) which is used to resolve all program and sysvars by default.
+
+### Case conversion
+
+The internals of the TS library are filled with case conversion logic before making string comparison and this also forces other libraries who build on top of Anchor to do the same.
+
+Along with making the IDL have consistent casing, TS library also has consistent casing (camelCase) in this release.
+
+### No more Program ID
+
+`programId` parameter of `Program` is removed since the new IDL requires to store the program id in its `address` field:
+
+```diff
+- new Program(idl, programId);
++ new Program(idl);
+```
+
+### Optional provider options
+
+`opts` parameter of `AnchorProvider` is now optional:
+
+```diff
+- new AnchorProvider(connection, wallet, {});
++ new AnchorProvider(connection, wallet);
+```
+
+### Type changes
+
+There are too many type changes to list here, especially the types that are related to the IDL. The new IDL types can be found [here](https://github.com/coral-xyz/anchor/blob/v0.30.0/ts/packages/anchor/src/idl.ts).
+
+---
+
+See the full list of notable changes in the [CHANGELOG](https://github.com/coral-xyz/anchor/blob/v0.30.0/CHANGELOG.md#0300---2024-04-15).

+ 90 - 0
docs/src/pages/release-notes/changelog.md

@@ -8,6 +8,96 @@ The minor version will be incremented upon a breaking change and the patch versi
 
 ---
 
+## [0.30.0] - 2024-04-15
+
+### Features
+
+- cli: Allow force `init` and `new` ([#2698](https://github.com/coral-xyz/anchor/pull/2698)).
+- cli: Add verifiable option when `deploy` ([#2705](https://github.com/coral-xyz/anchor/pull/2705)).
+- cli: Add support for passing arguments to the underlying `solana program deploy` command with `anchor deploy` ([#2709](https://github.com/coral-xyz/anchor/pull/2709)).
+- lang: Add `InstructionData::write_to` implementation ([#2733](https://github.com/coral-xyz/anchor/pull/2733)).
+- lang: Add `#[interface(..)]` attribute for instruction discriminator overrides ([#2728](https://github.com/coral-xyz/anchor/pull/2728)).
+- ts: Add `.interface(..)` method for instruction discriminator overrides ([#2728](https://github.com/coral-xyz/anchor/pull/2728)).
+- cli: Check `anchor-lang` and CLI version compatibility ([#2753](https://github.com/coral-xyz/anchor/pull/2753)).
+- ts: Add missing IDL PDA seed types ([#2752](https://github.com/coral-xyz/anchor/pull/2752)).
+- cli: `idl close` accepts optional `--idl-address` parameter ([#2760](https://github.com/coral-xyz/anchor/pull/2760)).
+- cli: Add support for simple wildcard patterns in Anchor.toml's `workspace.members` and `workspace.exclude`. ([#2785](https://github.com/coral-xyz/anchor/pull/2785)).
+- cli: Add `--test-template` option for `init` command ([#2805](https://github.com/coral-xyz/anchor/pull/2805)).
+- cli: `anchor test` is able to run multiple commands ([#2799](https://github.com/coral-xyz/anchor/pull/2799)).
+- cli: Check `@coral-xyz/anchor` package and CLI version compatibility ([#2813](https://github.com/coral-xyz/anchor/pull/2813)).
+- cli: Accept package name as program name ([#2816](https://github.com/coral-xyz/anchor/pull/2816)).
+- cli: Add ability to build and test only a specified program ([#2823](https://github.com/coral-xyz/anchor/pull/2823)).
+- idl: Add new IDL spec ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- idl: Add support for `repr`s ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- idl: Add support for expression evaluation ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- idl: Add support for using external types when generating the IDL ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- idl, ts: Add unit and tuple struct support ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- idl, ts: Add generics support ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- ts: Add `accountsPartial` method to keep the old `accounts` method behavior ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- ts: Make `opts` parameter of `AnchorProvider` constructor optional ([#2843](https://github.com/coral-xyz/anchor/pull/2843)).
+- cli: Add `--no-idl` flag to the `build` command ([#2847](https://github.com/coral-xyz/anchor/pull/2847)).
+- cli: Add priority fees to idl commands ([#2845](https://github.com/coral-xyz/anchor/pull/2845)).
+- ts: Add `prepend` option to MethodBuilder `preInstructions` method ([#2863](https://github.com/coral-xyz/anchor/pull/2863)).
+- lang: Add `declare_program!` macro ([#2857](https://github.com/coral-xyz/anchor/pull/2857)).
+- cli: Add `deactivate_feature` flag to `solana-test-validator` config in Anchor.toml ([#2872](https://github.com/coral-xyz/anchor/pull/2872)).
+- idl: Add `docs` field for constants ([#2887](https://github.com/coral-xyz/anchor/pull/2887)).
+- idl: Store deployment addresses for other clusters ([#2892](https://github.com/coral-xyz/anchor/pull/2892)).
+- lang: Add `Event` utility type to get events from bytes ([#2897](https://github.com/coral-xyz/anchor/pull/2897)).
+- lang, spl: Add support for [token extensions](https://solana.com/solutions/token-extensions) ([#2789](https://github.com/coral-xyz/anchor/pull/2789)).
+- lang: Return overflow error from `Lamports` trait operations ([#2907](https://github.com/coral-xyz/anchor/pull/2907)).
+
+### Fixes
+
+- syn: Add missing `new_from_array` method to `Hash` ([#2682](https://github.com/coral-xyz/anchor/pull/2682)).
+- cli: Switch to Cargo feature resolver(`resolver = "2"`) ([#2676](https://github.com/coral-xyz/anchor/pull/2676)).
+- cli: Fix using user specific path for `provider.wallet` in `Anchor.toml` ([#2696](https://github.com/coral-xyz/anchor/pull/2696)).
+- syn: Fix IDL constant seeds parsing ([#2699](https://github.com/coral-xyz/anchor/pull/2699)).
+- cli: Display errors if toolchain override restoration fails ([#2700](https://github.com/coral-xyz/anchor/pull/2700)).
+- cli: Fix commit based `anchor_version` override ([#2704](https://github.com/coral-xyz/anchor/pull/2704)).
+- spl: Fix compilation with `shmem` feature enabled ([#2722](https://github.com/coral-xyz/anchor/pull/2722)).
+- cli: Localhost default test validator address changes from `localhost` to `127.0.0.1`, NodeJS 17 IP resolution changes for IPv6 ([#2725](https://github.com/coral-xyz/anchor/pull/2725)).
+- lang: Eliminate temporary Vec allocations when serializing data with discriminant and set the default capacity to 256 bytes ([#2691](https://github.com/coral-xyz/anchor/pull/2691)).
+- lang: Allow custom lifetime in Accounts structure ([#2741](https://github.com/coral-xyz/anchor/pull/2741)).
+- lang: Remove `try_to_vec` usage while setting the return data in order to reduce heap memory usage ([#2744](https://github.com/coral-xyz/anchor/pull/2744))
+- cli: Show installation progress if Solana tools are not installed when using toolchain overrides ([#2757](https://github.com/coral-xyz/anchor/pull/2757)).
+- ts: Fix formatting enums ([#2763](https://github.com/coral-xyz/anchor/pull/2763)).
+- cli: Fix `migrate` command not working without global `ts-node` installation ([#2767](https://github.com/coral-xyz/anchor/pull/2767)).
+- client, lang, spl, syn: Enable all features for docs.rs build ([#2774](https://github.com/coral-xyz/anchor/pull/2774)).
+- ts: Fix construction of field layouts for type aliased instruction arguments ([#2821](https://github.com/coral-xyz/anchor/pull/2821))
+- idl: Fix IDL ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- idl, ts: Make casing consistent ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- ts: Fix not being able to use numbers in instruction, account, or event names in some cases due to case conversion ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- cli: Fix excessive test validator requests ([#2828](https://github.com/coral-xyz/anchor/pull/2828)).
+- client: Fix `parse_logs_response` to prevent panics when more than 1 outer instruction exists in logs ([#2856](https://github.com/coral-xyz/anchor/pull/2856)).
+- avm, cli: Fix `stdsimd` feature compilation error from `ahash` when installing the CLI using newer Rust versions ([#2867](https://github.com/coral-xyz/anchor/pull/2867)).
+- spl: Fix not being able to deserialize newer token 2022 extensions ([#2876](https://github.com/coral-xyz/anchor/pull/2876)).
+- spl: Remove `solana-program` dependency ([#2900](https://github.com/coral-xyz/anchor/pull/2900)).
+- spl: Make `TokenAccount` and ` Mint` `Copy` ([#2904](https://github.com/coral-xyz/anchor/pull/2904)).
+- ts: Add missing errors ([#2906](https://github.com/coral-xyz/anchor/pull/2906)).
+
+### Breaking
+
+- cli: Make `cargo build-sbf` the default build command ([#2694](https://github.com/coral-xyz/anchor/pull/2694)).
+- cli: Require explicit `overflow-checks` flag ([#2716](https://github.com/coral-xyz/anchor/pull/2716)).
+- ts: Remove `anchor-deprecated-state` feature ([#2717](https://github.com/coral-xyz/anchor/pull/2717)).
+- lang: Remove `CLOSED_ACCOUNT_DISCRIMINATOR` ([#2726](https://github.com/coral-xyz/anchor/pull/2726)).
+- lang: Make bumps of optional accounts `Option<u8>` rather than `u8` ([#2730](https://github.com/coral-xyz/anchor/pull/2730)).
+- spl: Remove `shared-memory` program ([#2747](https://github.com/coral-xyz/anchor/pull/2747)).
+- ts: Remove `associated`, `account.associated` and `account.associatedAddress` methods ([#2749](https://github.com/coral-xyz/anchor/pull/2749)).
+- cli: `idl upgrade` command closes the IDL buffer account ([#2760](https://github.com/coral-xyz/anchor/pull/2760)).
+- cli: Remove `--jest` option from the `init` command ([#2805](https://github.com/coral-xyz/anchor/pull/2805)).
+- cli: Require `idl-build` feature in program `Cargo.toml` ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- cli: Rename `seeds` feature to `resolution` and make it enabled by default ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- cli: Remove `idl parse` command ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- idl: Change IDL spec ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- syn: Remove `idl-parse` and `seeds` features ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- ts: Change `accounts` method to no longer accept resolvable accounts ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- ts: `Program` instances use camelCase for everything ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- ts: Remove discriminator functions ([#2824](https://github.com/coral-xyz/anchor/pull/2824)).
+- ts: Remove `programId` parameter of the `Program` constructor ([#2864](https://github.com/coral-xyz/anchor/pull/2864)).
+- idl, syn: Move IDL types from the `anchor-syn` crate to the new IDL crate ([#2882](https://github.com/coral-xyz/anchor/pull/2882)).
+- idl: Add `#[non_exhaustive]` to IDL enums ([#2890](https://github.com/coral-xyz/anchor/pull/2890)).
+
 ## [0.29.0] - 2023-10-16
 
 ### Features

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

@@ -1,6 +1,6 @@
 {
   "name": "basic-0",
-  "version": "0.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
idl/Cargo.toml

@@ -21,5 +21,5 @@ serde = { version = "1", features = ["derive"] }
 serde_json = "1"
 
 # `build` feature only
-anchor-syn = { path = "../lang/syn", version = "0.29.0", optional = true }
+anchor-syn = { path = "../lang/syn", version = "0.30.0", optional = true }
 regex = { version = "1", optional = true }

+ 10 - 10
lang/Cargo.toml

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

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

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-attribute-access-control"
-version = "0.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -15,7 +15,7 @@ proc-macro = true
 anchor-debug = ["anchor-syn/anchor-debug"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.29.0" }
+anchor-syn = { path = "../../syn", version = "0.30.0" }
 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.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -16,7 +16,7 @@ anchor-debug = ["anchor-syn/anchor-debug"]
 idl-build = ["anchor-syn/idl-build"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.29.0", features = ["hash"] }
+anchor-syn = { path = "../../syn", version = "0.30.0", 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.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -16,6 +16,6 @@ anchor-debug = ["anchor-syn/anchor-debug"]
 idl-build = ["anchor-syn/idl-build"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.29.0" }
+anchor-syn = { path = "../../syn", version = "0.30.0" }
 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.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -16,6 +16,6 @@ anchor-debug = ["anchor-syn/anchor-debug"]
 idl-build = ["anchor-syn/idl-build"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.29.0" }
+anchor-syn = { path = "../../syn", version = "0.30.0" }
 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.29.0"
+version = "0.30.0"
 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.29.0", features = ["hash"] }
+anchor-syn = { path = "../../syn", version = "0.30.0", 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.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -18,7 +18,7 @@ interface-instructions = ["anchor-syn/interface-instructions"]
 
 [dependencies]
 anchor-lang-idl = { path = "../../../idl", version = "0.1.0" }
-anchor-syn = { path = "../../syn", version = "0.29.0" }
+anchor-syn = { path = "../../syn", version = "0.30.0" }
 anyhow = "1"
 bs58 = "0.5"
 heck = "0.3"

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

@@ -1,6 +1,6 @@
 [package]
 name = "anchor-derive-accounts"
-version = "0.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -18,6 +18,6 @@ idl-build = ["anchor-syn/idl-build"]
 init-if-needed = ["anchor-syn/init-if-needed"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.29.0" }
+anchor-syn = { path = "../../syn", version = "0.30.0" }
 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.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 repository = "https://github.com/coral-xyz/anchor"
 license = "Apache-2.0"
@@ -15,7 +15,7 @@ proc-macro = true
 idl-build = ["anchor-syn/idl-build"]
 
 [dependencies]
-anchor-syn = { path = "../../syn", version = "0.29.0" }
+anchor-syn = { path = "../../syn", version = "0.30.0" }
 borsh-derive-internal = ">=0.9, <0.11"
 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.29.0"
+version = "0.30.0"
 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.29.0"
+version = "0.30.0"
 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.29.0"
+version = "0.30.0"
 authors = ["Anchor Maintainers <accounts@200ms.io>"]
 rust-version = "1.60"
 edition = "2021"
@@ -27,7 +27,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.29.0", features = ["derive"] }
+anchor-lang = { path = "../lang", version = "0.30.0", features = ["derive"] }
 borsh = { version = ">=0.9, <0.11", optional = true }
 mpl-token-metadata = { version = "4", optional = true }
 serum_dex = { git = "https://github.com/openbook-dex/program/", rev = "1be91f2", version = "0.4.0", features = ["no-entrypoint"], optional = true }

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

@@ -1,6 +1,6 @@
 {
   "name": "anchor-cli-account",
-  "version": "0.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 186 - 0
tests/bench/bench.json

@@ -557,6 +557,192 @@
       }
     }
   },
+  "0.30.0": {
+    "solanaVersion": "1.18.8",
+    "result": {
+      "binarySize": {
+        "bench": 791008
+      },
+      "computeUnits": {
+        "accountInfo1": 601,
+        "accountInfo2": 923,
+        "accountInfo4": 1583,
+        "accountInfo8": 2975,
+        "accountEmptyInit1": 5034,
+        "accountEmpty1": 652,
+        "accountEmptyInit2": 9687,
+        "accountEmpty2": 1016,
+        "accountEmptyInit4": 18501,
+        "accountEmpty4": 1737,
+        "accountEmptyInit8": 36169,
+        "accountEmpty8": 3186,
+        "accountSizedInit1": 5106,
+        "accountSized1": 668,
+        "accountSizedInit2": 9828,
+        "accountSized2": 1046,
+        "accountSizedInit4": 18837,
+        "accountSized4": 1807,
+        "accountSizedInit8": 36761,
+        "accountSized8": 3326,
+        "accountUnsizedInit1": 5199,
+        "accountUnsized1": 702,
+        "accountUnsizedInit2": 10078,
+        "accountUnsized2": 1116,
+        "accountUnsizedInit4": 19259,
+        "accountUnsized4": 1953,
+        "accountUnsizedInit8": 37331,
+        "accountUnsized8": 3626,
+        "boxedAccountEmptyInit1": 5064,
+        "boxedAccountEmpty1": 671,
+        "boxedAccountEmptyInit2": 9721,
+        "boxedAccountEmpty2": 1052,
+        "boxedAccountEmptyInit4": 18582,
+        "boxedAccountEmpty4": 1811,
+        "boxedAccountEmptyInit8": 36329,
+        "boxedAccountEmpty8": 3357,
+        "boxedAccountSizedInit1": 5119,
+        "boxedAccountSized1": 686,
+        "boxedAccountSizedInit2": 9845,
+        "boxedAccountSized2": 1085,
+        "boxedAccountSizedInit4": 18825,
+        "boxedAccountSized4": 1874,
+        "boxedAccountSizedInit8": 36824,
+        "boxedAccountSized8": 3490,
+        "boxedAccountUnsizedInit1": 5207,
+        "boxedAccountUnsized1": 721,
+        "boxedAccountUnsizedInit2": 10015,
+        "boxedAccountUnsized2": 1157,
+        "boxedAccountUnsizedInit4": 19160,
+        "boxedAccountUnsized4": 2019,
+        "boxedAccountUnsizedInit8": 37496,
+        "boxedAccountUnsized8": 3776,
+        "boxedInterfaceAccountMint1": 1372,
+        "boxedInterfaceAccountMint2": 2293,
+        "boxedInterfaceAccountMint4": 4121,
+        "boxedInterfaceAccountMint8": 7811,
+        "boxedInterfaceAccountToken1": 2056,
+        "boxedInterfaceAccountToken2": 3660,
+        "boxedInterfaceAccountToken4": 6858,
+        "boxedInterfaceAccountToken8": 13284,
+        "interfaceAccountMint1": 1472,
+        "interfaceAccountMint2": 2631,
+        "interfaceAccountMint4": 4951,
+        "interfaceAccountMint8": 9588,
+        "interfaceAccountToken1": 2130,
+        "interfaceAccountToken2": 3928,
+        "interfaceAccountToken4": 7521,
+        "interface1": 600,
+        "interface2": 745,
+        "interface4": 1033,
+        "interface8": 1616,
+        "program1": 596,
+        "program2": 737,
+        "program4": 1019,
+        "program8": 1584,
+        "signer1": 580,
+        "signer2": 872,
+        "signer4": 1454,
+        "signer8": 2618,
+        "systemAccount1": 592,
+        "systemAccount2": 894,
+        "systemAccount4": 1497,
+        "systemAccount8": 2707,
+        "uncheckedAccount1": 563,
+        "uncheckedAccount2": 836,
+        "uncheckedAccount4": 1378,
+        "uncheckedAccount8": 2468
+      },
+      "stackMemory": {
+        "account_info1": 144,
+        "account_info2": 144,
+        "account_info4": 144,
+        "account_info8": 144,
+        "account_empty_init1": 144,
+        "account_empty_init2": 144,
+        "account_empty_init4": 192,
+        "account_empty_init8": 224,
+        "account_empty1": 144,
+        "account_empty2": 144,
+        "account_empty4": 144,
+        "account_empty8": 144,
+        "account_sized_init1": 176,
+        "account_sized_init2": 192,
+        "account_sized_init4": 224,
+        "account_sized_init8": 288,
+        "account_sized1": 144,
+        "account_sized2": 144,
+        "account_sized4": 144,
+        "account_sized8": 144,
+        "account_unsized_init1": 192,
+        "account_unsized_init2": 224,
+        "account_unsized_init4": 288,
+        "account_unsized_init8": 416,
+        "account_unsized1": 144,
+        "account_unsized2": 144,
+        "account_unsized4": 144,
+        "account_unsized8": 144,
+        "boxed_account_empty_init1": 144,
+        "boxed_account_empty_init2": 144,
+        "boxed_account_empty_init4": 192,
+        "boxed_account_empty_init8": 224,
+        "boxed_account_empty1": 144,
+        "boxed_account_empty2": 144,
+        "boxed_account_empty4": 144,
+        "boxed_account_empty8": 144,
+        "boxed_account_sized_init1": 144,
+        "boxed_account_sized_init2": 144,
+        "boxed_account_sized_init4": 192,
+        "boxed_account_sized_init8": 224,
+        "boxed_account_sized1": 144,
+        "boxed_account_sized2": 144,
+        "boxed_account_sized4": 144,
+        "boxed_account_sized8": 144,
+        "boxed_account_unsized_init1": 144,
+        "boxed_account_unsized_init2": 144,
+        "boxed_account_unsized_init4": 192,
+        "boxed_account_unsized_init8": 224,
+        "boxed_account_unsized1": 144,
+        "boxed_account_unsized2": 144,
+        "boxed_account_unsized4": 144,
+        "boxed_account_unsized8": 144,
+        "boxed_interface_account_mint1": 144,
+        "boxed_interface_account_mint2": 144,
+        "boxed_interface_account_mint4": 144,
+        "boxed_interface_account_mint8": 144,
+        "boxed_interface_account_token1": 144,
+        "boxed_interface_account_token2": 144,
+        "boxed_interface_account_token4": 144,
+        "boxed_interface_account_token8": 144,
+        "interface_account_mint1": 144,
+        "interface_account_mint2": 144,
+        "interface_account_mint4": 144,
+        "interface_account_mint8": 144,
+        "interface_account_token1": 144,
+        "interface_account_token2": 144,
+        "interface_account_token4": 144,
+        "interface1": 144,
+        "interface2": 144,
+        "interface4": 144,
+        "interface8": 144,
+        "program1": 144,
+        "program2": 144,
+        "program4": 144,
+        "program8": 144,
+        "signer1": 144,
+        "signer2": 144,
+        "signer4": 144,
+        "signer8": 144,
+        "system_account1": 144,
+        "system_account2": 144,
+        "system_account4": 144,
+        "system_account8": 144,
+        "unchecked_account1": 144,
+        "unchecked_account2": 144,
+        "unchecked_account4": 144,
+        "unchecked_account8": 144
+      }
+    }
+  },
   "unreleased": {
     "solanaVersion": "1.18.8",
     "result": {

+ 2662 - 0
tests/bench/locks/0.30.0.lock

@@ -0,0 +1,2662 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aead"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "aes"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8"
+dependencies = [
+ "cfg-if",
+ "cipher",
+ "cpufeatures",
+ "opaque-debug",
+]
+
+[[package]]
+name = "aes-gcm-siv"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc"
+dependencies = [
+ "aead",
+ "aes",
+ "cipher",
+ "ctr",
+ "polyval",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "ahash"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
+dependencies = [
+ "getrandom 0.2.14",
+ "once_cell",
+ "version_check",
+]
+
+[[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",
+]
+
+[[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.30.0"
+dependencies = [
+ "anchor-syn",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-account"
+version = "0.30.0"
+dependencies = [
+ "anchor-syn",
+ "bs58 0.5.1",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-constant"
+version = "0.30.0"
+dependencies = [
+ "anchor-syn",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-error"
+version = "0.30.0"
+dependencies = [
+ "anchor-syn",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-event"
+version = "0.30.0"
+dependencies = [
+ "anchor-syn",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-attribute-program"
+version = "0.30.0"
+dependencies = [
+ "anchor-lang-idl",
+ "anchor-syn",
+ "anyhow",
+ "bs58 0.5.1",
+ "heck",
+ "proc-macro2",
+ "quote",
+ "serde_json",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-derive-accounts"
+version = "0.30.0"
+dependencies = [
+ "anchor-syn",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-derive-serde"
+version = "0.30.0"
+dependencies = [
+ "anchor-syn",
+ "borsh-derive-internal 0.10.3",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-derive-space"
+version = "0.30.0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "anchor-lang"
+version = "0.30.0"
+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",
+ "arrayref",
+ "base64 0.21.7",
+ "bincode",
+ "borsh 0.10.3",
+ "bytemuck",
+ "getrandom 0.2.14",
+ "solana-program",
+ "thiserror",
+]
+
+[[package]]
+name = "anchor-lang-idl"
+version = "0.1.0"
+dependencies = [
+ "anchor-syn",
+ "anyhow",
+ "regex",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "anchor-spl"
+version = "0.30.0"
+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.30.0"
+dependencies = [
+ "anyhow",
+ "bs58 0.5.1",
+ "cargo_toml",
+ "heck",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "syn 1.0.109",
+ "thiserror",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
+
+[[package]]
+name = "ark-bn254"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f"
+dependencies = [
+ "ark-ec",
+ "ark-ff",
+ "ark-std",
+]
+
+[[package]]
+name = "ark-ec"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba"
+dependencies = [
+ "ark-ff",
+ "ark-poly",
+ "ark-serialize",
+ "ark-std",
+ "derivative",
+ "hashbrown 0.13.2",
+ "itertools",
+ "num-traits",
+ "zeroize",
+]
+
+[[package]]
+name = "ark-ff"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba"
+dependencies = [
+ "ark-ff-asm",
+ "ark-ff-macros",
+ "ark-serialize",
+ "ark-std",
+ "derivative",
+ "digest 0.10.7",
+ "itertools",
+ "num-bigint",
+ "num-traits",
+ "paste",
+ "rustc_version",
+ "zeroize",
+]
+
+[[package]]
+name = "ark-ff-asm"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348"
+dependencies = [
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "ark-ff-macros"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565"
+dependencies = [
+ "num-bigint",
+ "num-traits",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "ark-poly"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf"
+dependencies = [
+ "ark-ff",
+ "ark-serialize",
+ "ark-std",
+ "derivative",
+ "hashbrown 0.13.2",
+]
+
+[[package]]
+name = "ark-serialize"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5"
+dependencies = [
+ "ark-serialize-derive",
+ "ark-std",
+ "digest 0.10.7",
+ "num-bigint",
+]
+
+[[package]]
+name = "ark-serialize-derive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "ark-std"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185"
+dependencies = [
+ "num-traits",
+ "rand 0.8.5",
+]
+
+[[package]]
+name = "arrayref"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "assert_matches"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
+
+[[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 = "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 = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "bitmaps"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
+dependencies = [
+ "typenum",
+]
+
+[[package]]
+name = "blake3"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52"
+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 = [
+ "block-padding",
+ "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 = "block-padding"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
+
+[[package]]
+name = "borsh"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa"
+dependencies = [
+ "borsh-derive 0.9.3",
+ "hashbrown 0.11.2",
+]
+
+[[package]]
+name = "borsh"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b"
+dependencies = [
+ "borsh-derive 0.10.3",
+ "hashbrown 0.13.2",
+]
+
+[[package]]
+name = "borsh"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0901fc8eb0aca4c83be0106d6f2db17d86a08dfc2c25f0e84464bf381158add6"
+dependencies = [
+ "borsh-derive 1.4.0",
+ "cfg_aliases",
+]
+
+[[package]]
+name = "borsh-derive"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775"
+dependencies = [
+ "borsh-derive-internal 0.9.3",
+ "borsh-schema-derive-internal 0.9.3",
+ "proc-macro-crate 0.1.5",
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "borsh-derive"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7"
+dependencies = [
+ "borsh-derive-internal 0.10.3",
+ "borsh-schema-derive-internal 0.10.3",
+ "proc-macro-crate 0.1.5",
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "borsh-derive"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51670c3aa053938b0ee3bd67c3817e471e626151131b934038e83c5bf8de48f5"
+dependencies = [
+ "once_cell",
+ "proc-macro-crate 3.1.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+ "syn_derive",
+]
+
+[[package]]
+name = "borsh-derive-internal"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "borsh-derive-internal"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "borsh-schema-derive-internal"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "borsh-schema-derive-internal"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "bs58"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
+
+[[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.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[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.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
+dependencies = [
+ "bytemuck_derive",
+]
+
+[[package]]
+name = "bytemuck_derive"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[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.12",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7"
+dependencies = [
+ "jobserver",
+ "libc",
+]
+
+[[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.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
+name = "chrono"
+version = "0.4.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "cipher"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
+dependencies = [
+ "generic-array",
+]
+
+[[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.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "crypto-mac"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
+dependencies = [
+ "generic-array",
+ "subtle",
+]
+
+[[package]]
+name = "ctr"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "curve25519-dalek"
+version = "3.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0"
+dependencies = [
+ "byteorder",
+ "digest 0.9.0",
+ "rand_core 0.5.1",
+ "serde",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "darling"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
+dependencies = [
+ "darling_core",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "derivation-path"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0"
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[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 = "ed25519"
+version = "1.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "rand 0.7.3",
+ "serde",
+ "sha2 0.9.9",
+ "zeroize",
+]
+
+[[package]]
+name = "ed25519-dalek-bip32"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908"
+dependencies = [
+ "derivation-path",
+ "ed25519-dalek",
+ "hmac 0.12.1",
+ "sha2 0.10.8",
+]
+
+[[package]]
+name = "either"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
+
+[[package]]
+name = "env_logger"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7"
+dependencies = [
+ "atty",
+ "humantime",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "feature-probe"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da"
+
+[[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 = [
+ "serde",
+ "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",
+ "js-sys",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
+dependencies = [
+ "ahash 0.7.8",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+dependencies = [
+ "ahash 0.8.11",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+
+[[package]]
+name = "heck"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hmac"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840"
+dependencies = [
+ "crypto-mac",
+ "digest 0.9.0",
+]
+
+[[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 = "hmac-drbg"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1"
+dependencies = [
+ "digest 0.9.0",
+ "generic-array",
+ "hmac 0.8.1",
+]
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[package]]
+name = "im"
+version = "15.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9"
+dependencies = [
+ "bitmaps",
+ "rand_core 0.6.4",
+ "rand_xoshiro",
+ "rayon",
+ "serde",
+ "sized-chunks",
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.3",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "jobserver"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "685a7d121ee3f65ae4fddd72b25a04bb36b6af81bc0828f7d5434c0fe60fa3a2"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
+dependencies = [
+ "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.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[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",
+ "hmac-drbg",
+ "libsecp256k1-core",
+ "libsecp256k1-gen-ecmult",
+ "libsecp256k1-gen-genmult",
+ "rand 0.7.3",
+ "serde",
+ "sha2 0.9.9",
+ "typenum",
+]
+
+[[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 = "light-poseidon"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c9a85a9752c549ceb7578064b4ed891179d20acd85f27318573b64d2d7ee7ee"
+dependencies = [
+ "ark-bn254",
+ "ark-ff",
+ "num-bigint",
+ "thiserror",
+]
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+
+[[package]]
+name = "memchr"
+version = "2.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
+
+[[package]]
+name = "memmap2"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+dependencies = [
+ "libc",
+]
+
+[[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.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
+dependencies = [
+ "autocfg",
+ "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.59",
+]
+
+[[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.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
+dependencies = [
+ "proc-macro-crate 3.1.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "pbkdf2"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd"
+dependencies = [
+ "crypto-mac",
+]
+
+[[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.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "opaque-debug",
+ "universal-hash",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[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.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit 0.21.1",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.80"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e"
+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 = "qualifier_attr"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+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.14",
+]
+
+[[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 = "rand_xoshiro"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa"
+dependencies = [
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rayon"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
+
+[[package]]
+name = "ryu"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
+
+[[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.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+
+[[package]]
+name = "serde"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_bytes"
+version = "0.11.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.115"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_with"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
+dependencies = [
+ "serde",
+ "serde_with_macros",
+]
+
+[[package]]
+name = "serde_with_macros"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[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.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809"
+dependencies = [
+ "block-buffer 0.9.0",
+ "digest 0.9.0",
+ "keccak",
+ "opaque-debug",
+]
+
+[[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 = "signature"
+version = "1.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c"
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "sized-chunks"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e"
+dependencies = [
+ "bitmaps",
+ "typenum",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "solana-frozen-abi"
+version = "1.18.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b8177685ab2bc8cc8b3bf63aa1eaa0580d5af850ecefac323ca1c2473085d77"
+dependencies = [
+ "block-buffer 0.10.4",
+ "bs58 0.4.0",
+ "bv",
+ "either",
+ "generic-array",
+ "im",
+ "lazy_static",
+ "log",
+ "memmap2",
+ "rustc_version",
+ "serde",
+ "serde_bytes",
+ "serde_derive",
+ "sha2 0.10.8",
+ "solana-frozen-abi-macro",
+ "subtle",
+ "thiserror",
+]
+
+[[package]]
+name = "solana-frozen-abi-macro"
+version = "1.18.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a68241cad17b74c6034a68ba4890632d409a2c886e7bead9c1e1432befdb7c9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "rustc_version",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "solana-logger"
+version = "1.18.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea560989ef67ba4a1a0fd62a248721f1aa5bac8fa5ede9ccf4fe9ee484ccadf"
+dependencies = [
+ "env_logger",
+ "lazy_static",
+ "log",
+]
+
+[[package]]
+name = "solana-program"
+version = "1.18.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bddf573103c890b4ab8f9a6641d4f969d4148bce9a451c263f4a62afa949fae"
+dependencies = [
+ "ark-bn254",
+ "ark-ec",
+ "ark-ff",
+ "ark-serialize",
+ "base64 0.21.7",
+ "bincode",
+ "bitflags 2.5.0",
+ "blake3",
+ "borsh 0.10.3",
+ "borsh 0.9.3",
+ "borsh 1.4.0",
+ "bs58 0.4.0",
+ "bv",
+ "bytemuck",
+ "cc",
+ "console_error_panic_hook",
+ "console_log",
+ "curve25519-dalek",
+ "getrandom 0.2.14",
+ "itertools",
+ "js-sys",
+ "lazy_static",
+ "libc",
+ "libsecp256k1",
+ "light-poseidon",
+ "log",
+ "memoffset",
+ "num-bigint",
+ "num-derive",
+ "num-traits",
+ "parking_lot",
+ "rand 0.8.5",
+ "rustc_version",
+ "rustversion",
+ "serde",
+ "serde_bytes",
+ "serde_derive",
+ "serde_json",
+ "sha2 0.10.8",
+ "sha3 0.10.8",
+ "solana-frozen-abi",
+ "solana-frozen-abi-macro",
+ "solana-sdk-macro",
+ "thiserror",
+ "tiny-bip39",
+ "wasm-bindgen",
+ "zeroize",
+]
+
+[[package]]
+name = "solana-sdk"
+version = "1.18.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08b24b06fa176209ddb2a2f8172a00b07e8a3b18229fbfc49f1eb3ce6ad11ff1"
+dependencies = [
+ "assert_matches",
+ "base64 0.21.7",
+ "bincode",
+ "bitflags 2.5.0",
+ "borsh 1.4.0",
+ "bs58 0.4.0",
+ "bytemuck",
+ "byteorder",
+ "chrono",
+ "derivation-path",
+ "digest 0.10.7",
+ "ed25519-dalek",
+ "ed25519-dalek-bip32",
+ "generic-array",
+ "hmac 0.12.1",
+ "itertools",
+ "js-sys",
+ "lazy_static",
+ "libsecp256k1",
+ "log",
+ "memmap2",
+ "num-derive",
+ "num-traits",
+ "num_enum",
+ "pbkdf2 0.11.0",
+ "qstring",
+ "qualifier_attr",
+ "rand 0.7.3",
+ "rand 0.8.5",
+ "rustc_version",
+ "rustversion",
+ "serde",
+ "serde_bytes",
+ "serde_derive",
+ "serde_json",
+ "serde_with",
+ "sha2 0.10.8",
+ "sha3 0.10.8",
+ "siphasher",
+ "solana-frozen-abi",
+ "solana-frozen-abi-macro",
+ "solana-logger",
+ "solana-program",
+ "solana-sdk-macro",
+ "thiserror",
+ "uriparse",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "solana-sdk-macro"
+version = "1.18.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "869483c05f18d37d4d95a08d9e05e00a4f76a8c8349aeedeee9ba2d013cbacde"
+dependencies = [
+ "bs58 0.4.0",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "solana-security-txt"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183"
+
+[[package]]
+name = "solana-zk-token-sdk"
+version = "1.18.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "459c27f7b954798677d8243aa53b8080cfb314ecfecbf8889a5a65c91ad11fee"
+dependencies = [
+ "aes-gcm-siv",
+ "base64 0.21.7",
+ "bincode",
+ "bytemuck",
+ "byteorder",
+ "curve25519-dalek",
+ "getrandom 0.1.16",
+ "itertools",
+ "lazy_static",
+ "merlin",
+ "num-derive",
+ "num-traits",
+ "rand 0.7.3",
+ "serde",
+ "serde_json",
+ "sha3 0.9.1",
+ "solana-program",
+ "solana-sdk",
+ "subtle",
+ "thiserror",
+ "zeroize",
+]
+
+[[package]]
+name = "spl-associated-token-account"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2e688554bac5838217ffd1fab7845c573ff106b6336bf7d290db7c98d5a8efd"
+dependencies = [
+ "assert_matches",
+ "borsh 1.4.0",
+ "num-derive",
+ "num-traits",
+ "solana-program",
+ "spl-token",
+ "spl-token-2022",
+ "thiserror",
+]
+
+[[package]]
+name = "spl-discriminator"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34d1814406e98b08c5cd02c1126f83fd407ad084adce0b05fda5730677822eac"
+dependencies = [
+ "bytemuck",
+ "solana-program",
+ "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.59",
+]
+
+[[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.59",
+ "thiserror",
+]
+
+[[package]]
+name = "spl-memo"
+version = "4.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58e9bae02de3405079a057fe244c867a08f92d48327d231fc60da831f94caf0a"
+dependencies = [
+ "solana-program",
+]
+
+[[package]]
+name = "spl-pod"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "046ce669f48cf2eca1ec518916d8725596bfb655beb1c74374cf71dc6cb773c9"
+dependencies = [
+ "borsh 1.4.0",
+ "bytemuck",
+ "solana-program",
+ "solana-zk-token-sdk",
+ "spl-program-error",
+]
+
+[[package]]
+name = "spl-program-error"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5528f4dfa2a905012007999526955c79162c09668c69ad3c3f2ddfbd0b2984a4"
+dependencies = [
+ "num-derive",
+ "num-traits",
+ "solana-program",
+ "spl-program-error-derive",
+ "thiserror",
+]
+
+[[package]]
+name = "spl-program-error-derive"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "641aa3116b1d58481e921b5d41dafc26a67bd488cb288330dbde004641764dd4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "sha2 0.10.8",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "spl-tlv-account-resolution"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cace91ba08984a41556efe49cbf2edca4db2f577b649da7827d3621161784bf8"
+dependencies = [
+ "bytemuck",
+ "solana-program",
+ "spl-discriminator",
+ "spl-pod",
+ "spl-program-error",
+ "spl-type-length-value",
+]
+
+[[package]]
+name = "spl-token"
+version = "4.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95ae123223633a389f95d1da9d49c2d0a50d499e7060b9624626a69e536ad2a4"
+dependencies = [
+ "arrayref",
+ "bytemuck",
+ "num-derive",
+ "num-traits",
+ "num_enum",
+ "solana-program",
+ "thiserror",
+]
+
+[[package]]
+name = "spl-token-2022"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5412f99ae7ee6e0afde00defaa354e6228e47e30c0e3adf553e2e01e6abb584"
+dependencies = [
+ "arrayref",
+ "bytemuck",
+ "num-derive",
+ "num-traits",
+ "num_enum",
+ "solana-program",
+ "solana-security-txt",
+ "solana-zk-token-sdk",
+ "spl-memo",
+ "spl-pod",
+ "spl-token",
+ "spl-token-group-interface",
+ "spl-token-metadata-interface",
+ "spl-transfer-hook-interface",
+ "spl-type-length-value",
+ "thiserror",
+]
+
+[[package]]
+name = "spl-token-group-interface"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d419b5cfa3ee8e0f2386fd7e02a33b3ec8a7db4a9c7064a2ea24849dc4a273b6"
+dependencies = [
+ "bytemuck",
+ "solana-program",
+ "spl-discriminator",
+ "spl-pod",
+ "spl-program-error",
+]
+
+[[package]]
+name = "spl-token-metadata-interface"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30179c47e93625680dabb620c6e7931bd12d62af390f447bc7beb4a3a9b5feee"
+dependencies = [
+ "borsh 1.4.0",
+ "solana-program",
+ "spl-discriminator",
+ "spl-pod",
+ "spl-program-error",
+ "spl-type-length-value",
+]
+
+[[package]]
+name = "spl-transfer-hook-interface"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "66a98359769cd988f7b35c02558daa56d496a7e3bd8626e61f90a7c757eedb9b"
+dependencies = [
+ "arrayref",
+ "bytemuck",
+ "solana-program",
+ "spl-discriminator",
+ "spl-pod",
+ "spl-program-error",
+ "spl-tlv-account-resolution",
+ "spl-type-length-value",
+]
+
+[[package]]
+name = "spl-type-length-value"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "422ce13429dbd41d2cee8a73931c05fda0b0c8ca156a8b0c19445642550bb61a"
+dependencies = [
+ "bytemuck",
+ "solana-program",
+ "spl-discriminator",
+ "spl-pod",
+ "spl-program-error",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[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.59"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn_derive"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "tiny-bip39"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d"
+dependencies = [
+ "anyhow",
+ "hmac 0.8.1",
+ "once_cell",
+ "pbkdf2 0.4.0",
+ "rand 0.7.3",
+ "rustc-hash",
+ "sha2 0.9.9",
+ "thiserror",
+ "unicode-normalization",
+ "wasm-bindgen",
+ "zeroize",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+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.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.9",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.40",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow 0.6.6",
+]
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+
+[[package]]
+name = "universal-hash"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"
+dependencies = [
+ "generic-array",
+ "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.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[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.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
+
+[[package]]
+name = "web-sys"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "winnow"
+version = "0.5.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winnow"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
+name = "zeroize"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd"
+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.59",
+]

+ 1 - 1
tests/bench/package.json

@@ -1,6 +1,6 @@
 {
   "name": "bench",
-  "version": "0.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

+ 1 - 1
tests/docs/package.json

@@ -1,6 +1,6 @@
 {
   "name": "errors",
-  "version": "0.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+    "version": "0.30.0",
     "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+    "version": "0.30.0",
     "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "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.29.0",
+  "version": "0.30.0",
   "license": "(MIT OR Apache-2.0)",
   "homepage": "https://github.com/coral-xyz/anchor#readme",
   "bugs": {

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

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

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

@@ -1,6 +1,6 @@
 {
   "name": "@coral-xyz/borsh",
-  "version": "0.29.0",
+  "version": "0.30.0",
   "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.29.0",
+    "@coral-xyz/anchor": "=0.30.0",
     "@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.29.0",
+    "@coral-xyz/anchor": "=0.30.0",
     "@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.29.0",
+    "@coral-xyz/anchor": "=0.30.0",
     "@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.29.0",
+    "@coral-xyz/anchor": "=0.30.0",
     "@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.29.0",
+    "@coral-xyz/anchor": "=0.30.0",
     "@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.29.0"
+    "@coral-xyz/anchor": "=0.30.0"
   },
   "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.29.0",
+    "@coral-xyz/anchor": "=0.30.0",
     "@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.29.0",
+    "@coral-xyz/anchor": "=0.30.0",
     "@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.29.0",
+    "@coral-xyz/anchor": "=0.30.0",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {

+ 1 - 1
ts/packages/spl-stateless-asks/package.json

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

+ 1 - 1
ts/packages/spl-token-lending/package.json

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

+ 1 - 1
ts/packages/spl-token-swap/package.json

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

+ 2 - 2
ts/packages/spl-token/package.json

@@ -1,7 +1,7 @@
 {
   "name": "@coral-xyz/spl-token",
   "description": "Anchor client for Solana Program Library Token",
-  "version": "0.29.0",
+  "version": "0.30.0",
   "author": "acheron <acheroncrypto@gmail.com>",
   "license": "Apache-2.0",
   "repository": {
@@ -27,7 +27,7 @@
     "watch": "tsc -p tsconfig.cjs.json --watch"
   },
   "dependencies": {
-    "@coral-xyz/anchor": "=0.29.0",
+    "@coral-xyz/anchor": "=0.30.0",
     "@native-to-anchor/buffer-layout": "=0.1.0"
   },
   "devDependencies": {