Upgrade Solana to 2.1.0 (#3339)

This commit is contained in:
acheron 2024-11-01 14:17:19 +01:00 committed by GitHub
parent 4cdb0ebe8f
commit ebbad72fc4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 1527 additions and 829 deletions

View File

@ -11,7 +11,7 @@ jobs:
uses: ./.github/workflows/reusable-tests.yaml
with:
cache: false
solana_cli_version: 2.0.8
solana_cli_version: 2.1.0
node_version: 20.16.0
cargo_profile: release
anchor_binary_name: anchor-binary-no-caching

View File

@ -14,7 +14,7 @@ jobs:
uses: ./.github/workflows/reusable-tests.yaml
with:
cache: true
solana_cli_version: 2.0.8
solana_cli_version: 2.1.0
node_version: 20.16.0
cargo_profile: debug
anchor_binary_name: anchor-binary

1624
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -21,3 +21,12 @@ exclude = [
"tests/cfo/deps/openbook-dex",
]
resolver = "2"
# TODO: Remove once there is a new compatible release on crates.io
#
# The latest version of this crate on crates.io depends on `curve25519-dalek ^3.2.1` which
# conflicts with `solana-* ^2.1`.
#
# Details: https://github.com/solana-labs/solana-program-library/pull/7416#discussion_r1824643243
[patch.crates-io]
spl-token-confidential-transfer-proof-generation = { git = "https://github.com/solana-labs/solana-program-library", rev = "8e0ed0a" }

View File

@ -14,15 +14,16 @@ The programs and their tests are located in [/tests/bench](https://github.com/co
## [Unreleased]
Solana version: 2.0.8
Solana version: 2.1.0
| Program | Binary Size | - |
| ------- | ----------- | ------------------------ |
| bench | 1,097,424 | 🔴 **+306,416 (38.74%)** |
| bench | 1,042,424 | 🔴 **+251,416 (31.78%)** |
### Notable changes
- lang: Use closures for `init` constraints to reduce the stack usage of `try_accounts`. Note that the binary size increase is exaggerated for the bench program because it uses unusual number of `init` constraints. Impact for normal programs will be a lot less severe. ([#2939](https://github.com/coral-xyz/anchor/pull/2939)).
- Upgrade to Solana `2.1.0`. This upgrade decreased the binary size ~5% (55,000 bytes) ([#3339](https://github.com/coral-xyz/anchor/pull/3339)).
---

View File

@ -14,97 +14,97 @@ The programs and their tests are located in [/tests/bench](https://github.com/co
## [Unreleased]
Solana version: 2.0.8
Solana version: 2.1.0
| Instruction | Compute Units | - |
| --------------------------- | ------------- | --------------------- |
| accountInfo1 | 573 | 🟢 **-28 (4.66%)** |
| accountInfo2 | 899 | 🟢 **-24 (2.60%)** |
| accountInfo4 | 1,561 | 🟢 **-22 (1.39%)** |
| accountInfo8 | 2,957 | 🟢 **-18 (0.61%)** |
| accountEmptyInit1 | 5,014 | 🟢 **-20 (0.40%)** |
| accountEmpty1 | 649 | 🟢 **-3 (0.46%)** |
| accountEmptyInit2 | 9,155 | 🟢 **-532 (5.49%)** |
| accountEmpty2 | 1,015 | 🟢 **-1 (0.10%)** |
| accountEmptyInit4 | 17,465 | 🟢 **-1,036 (5.60%)** |
| accountEmpty4 | 1,740 | 🔴 **+3 (0.17%)** |
| accountEmptyInit8 | 34,115 | 🟢 **-2,054 (5.68%)** |
| accountEmpty8 | 3,193 | 🔴 **+7 (0.22%)** |
| accountSizedInit1 | 5,107 | 🔴 **+1 (0.02%)** |
| accountSized1 | 690 | 🔴 **+22 (3.29%)** |
| accountSizedInit2 | 9,313 | 🟢 **-515 (5.24%)** |
| accountSized2 | 1,069 | 🔴 **+23 (2.20%)** |
| accountSizedInit4 | 17,812 | 🟢 **-1,025 (5.44%)** |
| accountSized4 | 1,834 | 🔴 **+27 (1.49%)** |
| accountSizedInit8 | 34,706 | 🟢 **-2,055 (5.59%)** |
| accountSized8 | 3,357 | 🔴 **+31 (0.93%)** |
| accountUnsizedInit1 | 5,227 | 🔴 **+28 (0.54%)** |
| accountUnsized1 | 746 | 🔴 **+44 (6.27%)** |
| accountUnsizedInit2 | 9,599 | 🟢 **-479 (4.75%)** |
| accountUnsized2 | 1,163 | 🔴 **+47 (4.21%)** |
| accountUnsizedInit4 | 18,276 | 🟢 **-983 (5.10%)** |
| accountUnsized4 | 2,000 | 🔴 **+47 (2.41%)** |
| accountUnsizedInit8 | 35,328 | 🟢 **-2,003 (5.37%)** |
| accountUnsized8 | 3,671 | 🔴 **+45 (1.24%)** |
| boxedAccountEmptyInit1 | 5,106 | 🔴 **+42 (0.83%)** |
| boxedAccountEmpty1 | 740 | 🔴 **+69 (10.28%)** |
| boxedAccountEmptyInit2 | 9,268 | 🟢 **-453 (4.66%)** |
| boxedAccountEmpty2 | 1,125 | 🔴 **+73 (6.94%)** |
| boxedAccountEmptyInit4 | 17,619 | 🟢 **-963 (5.18%)** |
| boxedAccountEmpty4 | 1,886 | 🔴 **+75 (4.14%)** |
| boxedAccountEmptyInit8 | 34,346 | 🟢 **-1,983 (5.46%)** |
| boxedAccountEmpty8 | 3,435 | 🔴 **+78 (2.32%)** |
| boxedAccountSizedInit1 | 5,189 | 🔴 **+70 (1.37%)** |
| boxedAccountSized1 | 780 | 🔴 **+94 (13.70%)** |
| boxedAccountSizedInit2 | 9,411 | 🟢 **-434 (4.41%)** |
| boxedAccountSized2 | 1,180 | 🔴 **+95 (8.76%)** |
| boxedAccountSizedInit4 | 17,879 | 🟢 **-946 (5.03%)** |
| boxedAccountSized4 | 1,974 | 🔴 **+100 (5.34%)** |
| boxedAccountSizedInit8 | 34,842 | 🟢 **-1,982 (5.38%)** |
| boxedAccountSized8 | 3,593 | 🔴 **+103 (2.95%)** |
| boxedAccountUnsizedInit1 | 5,300 | 🔴 **+93 (1.79%)** |
| boxedAccountUnsized1 | 838 | 🔴 **+117 (16.23%)** |
| boxedAccountUnsizedInit2 | 9,609 | 🟢 **-406 (4.05%)** |
| boxedAccountUnsized2 | 1,275 | 🔴 **+118 (10.20%)** |
| boxedAccountUnsizedInit4 | 18,251 | 🟢 **-909 (4.74%)** |
| boxedAccountUnsized4 | 2,138 | 🔴 **+119 (5.89%)** |
| boxedAccountUnsizedInit8 | 35,562 | 🟢 **-1,934 (5.16%)** |
| boxedAccountUnsized8 | 3,895 | 🔴 **+119 (3.15%)** |
| boxedInterfaceAccountMint1 | 1,502 | 🔴 **+130 (9.48%)** |
| boxedInterfaceAccountMint2 | 2,423 | 🔴 **+130 (5.67%)** |
| boxedInterfaceAccountMint4 | 4,256 | 🔴 **+135 (3.28%)** |
| boxedInterfaceAccountMint8 | 7,950 | 🔴 **+139 (1.78%)** |
| boxedInterfaceAccountToken1 | 2,198 | 🔴 **+142 (6.91%)** |
| boxedInterfaceAccountToken2 | 3,803 | 🔴 **+143 (3.91%)** |
| boxedInterfaceAccountToken4 | 7,004 | 🔴 **+146 (2.13%)** |
| boxedInterfaceAccountToken8 | 13,434 | 🔴 **+150 (1.13%)** |
| interfaceAccountMint1 | 1,626 | 🔴 **+154 (10.46%)** |
| interfaceAccountMint2 | 2,788 | 🔴 **+157 (5.97%)** |
| interfaceAccountMint4 | 5,110 | 🔴 **+159 (3.21%)** |
| interfaceAccountMint8 | 9,749 | 🔴 **+161 (1.68%)** |
| interfaceAccountToken1 | 2,296 | 🔴 **+166 (7.79%)** |
| interfaceAccountToken2 | 4,096 | 🔴 **+168 (4.28%)** |
| interfaceAccountToken4 | 7,692 | 🔴 **+171 (2.27%)** |
| interface1 | 774 | 🔴 **+174 (29.00%)** |
| interface2 | 923 | 🔴 **+178 (23.89%)** |
| interface4 | 1,214 | 🔴 **+181 (17.52%)** |
| interface8 | 1,799 | 🔴 **+183 (11.32%)** |
| program1 | 782 | 🔴 **+186 (31.21%)** |
| program2 | 927 | 🔴 **+190 (25.78%)** |
| program4 | 1,210 | 🔴 **+191 (18.74%)** |
| program8 | 1,779 | 🔴 **+195 (12.31%)** |
| signer1 | 779 | 🔴 **+199 (34.31%)** |
| signer2 | 1,074 | 🔴 **+202 (23.17%)** |
| signer4 | 1,657 | 🔴 **+203 (13.96%)** |
| signer8 | 2,826 | 🔴 **+208 (7.94%)** |
| systemAccount1 | 802 | 🔴 **+210 (35.47%)** |
| systemAccount2 | 1,108 | 🔴 **+214 (23.94%)** |
| systemAccount4 | 1,713 | 🔴 **+216 (14.43%)** |
| systemAccount8 | 2,926 | 🔴 **+219 (8.09%)** |
| uncheckedAccount1 | 785 | 🔴 **+222 (39.43%)** |
| uncheckedAccount2 | 1,061 | 🔴 **+225 (26.91%)** |
| uncheckedAccount4 | 1,604 | 🔴 **+226 (16.40%)** |
| uncheckedAccount8 | 2,699 | 🔴 **+231 (9.36%)** |
| Instruction | Compute Units | - |
| --------------------------- | ------------- | ---------------------- |
| accountInfo1 | 571 | 🟢 **-30 (4.99%)** |
| accountInfo2 | 895 | 🟢 **-28 (3.03%)** |
| accountInfo4 | 1,553 | 🟢 **-30 (1.90%)** |
| accountInfo8 | 2,923 | 🟢 **-52 (1.75%)** |
| accountEmptyInit1 | 5,016 | 🟢 **-18 (0.36%)** |
| accountEmpty1 | 645 | 🟢 **-7 (1.07%)** |
| accountEmptyInit2 | 9,167 | 🟢 **-520 (5.37%)** |
| accountEmpty2 | 1,007 | 🟢 **-9 (0.89%)** |
| accountEmptyInit4 | 17,496 | 🟢 **-1,005 (5.43%)** |
| accountEmpty4 | 1,724 | 🟢 **-13 (0.75%)** |
| accountEmptyInit8 | 34,187 | 🟢 **-1,982 (5.48%)** |
| accountEmpty8 | 3,163 | 🟢 **-23 (0.72%)** |
| accountSizedInit1 | 5,125 | 🔴 **+19 (0.37%)** |
| accountSized1 | 693 | 🔴 **+25 (3.74%)** |
| accountSizedInit2 | 9,355 | 🟢 **-473 (4.81%)** |
| accountSized2 | 1,075 | 🔴 **+29 (2.77%)** |
| accountSizedInit4 | 17,902 | 🟢 **-935 (4.96%)** |
| accountSized4 | 1,848 | 🔴 **+41 (2.27%)** |
| accountSizedInit8 | 34,897 | 🟢 **-1,864 (5.07%)** |
| accountSized8 | 3,387 | 🔴 **+61 (1.83%)** |
| accountUnsizedInit1 | 5,238 | 🔴 **+39 (0.75%)** |
| accountUnsized1 | 746 | 🔴 **+44 (6.27%)** |
| accountUnsizedInit2 | 9,625 | 🟢 **-453 (4.49%)** |
| accountUnsized2 | 1,163 | 🔴 **+47 (4.21%)** |
| accountUnsizedInit4 | 18,335 | 🟢 **-924 (4.80%)** |
| accountUnsized4 | 2,002 | 🔴 **+49 (2.51%)** |
| accountUnsizedInit8 | 35,457 | 🟢 **-1,874 (5.02%)** |
| accountUnsized8 | 3,673 | 🔴 **+47 (1.30%)** |
| boxedAccountEmptyInit1 | 5,108 | 🔴 **+44 (0.87%)** |
| boxedAccountEmpty1 | 734 | 🔴 **+63 (9.39%)** |
| boxedAccountEmptyInit2 | 9,280 | 🟢 **-441 (4.54%)** |
| boxedAccountEmpty2 | 1,116 | 🔴 **+64 (6.08%)** |
| boxedAccountEmptyInit4 | 17,650 | 🟢 **-932 (5.02%)** |
| boxedAccountEmpty4 | 1,872 | 🔴 **+61 (3.37%)** |
| boxedAccountEmptyInit8 | 34,417 | 🟢 **-1,912 (5.26%)** |
| boxedAccountEmpty8 | 3,401 | 🔴 **+44 (1.31%)** |
| boxedAccountSizedInit1 | 5,204 | 🔴 **+85 (1.66%)** |
| boxedAccountSized1 | 783 | 🔴 **+97 (14.14%)** |
| boxedAccountSizedInit2 | 9,449 | 🟢 **-396 (4.02%)** |
| boxedAccountSized2 | 1,190 | 🔴 **+105 (9.68%)** |
| boxedAccountSizedInit4 | 17,962 | 🟢 **-863 (4.58%)** |
| boxedAccountSized4 | 1,996 | 🔴 **+122 (6.51%)** |
| boxedAccountSizedInit8 | 35,017 | 🟢 **-1,807 (4.91%)** |
| boxedAccountSized8 | 3,628 | 🔴 **+138 (3.95%)** |
| boxedAccountUnsizedInit1 | 5,304 | 🔴 **+97 (1.86%)** |
| boxedAccountUnsized1 | 836 | 🔴 **+115 (15.95%)** |
| boxedAccountUnsizedInit2 | 9,625 | 🟢 **-390 (3.89%)** |
| boxedAccountUnsized2 | 1,270 | 🔴 **+113 (9.77%)** |
| boxedAccountUnsizedInit4 | 18,290 | 🟢 **-870 (4.54%)** |
| boxedAccountUnsized4 | 2,132 | 🔴 **+113 (5.60%)** |
| boxedAccountUnsizedInit8 | 35,649 | 🟢 **-1,847 (4.93%)** |
| boxedAccountUnsized8 | 3,881 | 🔴 **+105 (2.78%)** |
| boxedInterfaceAccountMint1 | 1,351 | 🟢 **-21 (1.53%)** |
| boxedInterfaceAccountMint2 | 2,123 | 🟢 **-170 (7.41%)** |
| boxedInterfaceAccountMint4 | 3,656 | 🟢 **-465 (11.28%)** |
| boxedInterfaceAccountMint8 | 6,738 | 🟢 **-1,073 (13.74%)** |
| boxedInterfaceAccountToken1 | 2,011 | 🟢 **-45 (2.19%)** |
| boxedInterfaceAccountToken2 | 3,431 | 🟢 **-229 (6.26%)** |
| boxedInterfaceAccountToken4 | 6,260 | 🟢 **-598 (8.72%)** |
| boxedInterfaceAccountToken8 | 11,934 | 🟢 **-1,350 (10.16%)** |
| interfaceAccountMint1 | 1,476 | 🔴 **+4 (0.27%)** |
| interfaceAccountMint2 | 2,489 | 🟢 **-142 (5.40%)** |
| interfaceAccountMint4 | 4,511 | 🟢 **-440 (8.89%)** |
| interfaceAccountMint8 | 8,550 | 🟢 **-1,038 (10.83%)** |
| interfaceAccountToken1 | 2,111 | 🟢 **-19 (0.89%)** |
| interfaceAccountToken2 | 3,729 | 🟢 **-199 (5.07%)** |
| interfaceAccountToken4 | 6,955 | 🟢 **-566 (7.53%)** |
| interface1 | 769 | 🔴 **+169 (28.17%)** |
| interface2 | 912 | 🔴 **+167 (22.42%)** |
| interface4 | 1,189 | 🔴 **+156 (15.10%)** |
| interface8 | 1,748 | 🔴 **+132 (8.17%)** |
| program1 | 779 | 🔴 **+183 (30.70%)** |
| program2 | 920 | 🔴 **+183 (24.83%)** |
| program4 | 1,193 | 🔴 **+174 (17.08%)** |
| program8 | 1,744 | 🔴 **+160 (10.10%)** |
| signer1 | 774 | 🔴 **+194 (33.45%)** |
| signer2 | 1,064 | 🔴 **+192 (22.02%)** |
| signer4 | 1,637 | 🔴 **+183 (12.59%)** |
| signer8 | 2,788 | 🔴 **+170 (6.49%)** |
| systemAccount1 | 796 | 🔴 **+204 (34.46%)** |
| systemAccount2 | 1,096 | 🔴 **+202 (22.60%)** |
| systemAccount4 | 1,689 | 🔴 **+192 (12.83%)** |
| systemAccount8 | 2,880 | 🔴 **+173 (6.39%)** |
| uncheckedAccount1 | 783 | 🔴 **+220 (39.08%)** |
| uncheckedAccount2 | 1,056 | 🔴 **+220 (26.32%)** |
| uncheckedAccount4 | 1,594 | 🔴 **+216 (15.67%)** |
| uncheckedAccount8 | 2,679 | 🔴 **+211 (8.55%)** |
### Notable changes

View File

@ -14,97 +14,97 @@ The programs and their tests are located in [/tests/bench](https://github.com/co
## [Unreleased]
Solana version: 2.0.8
Solana version: 2.1.0
| 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 | - |
| Instruction | Stack Memory | - |
| ------------------------------ | ------------ | -------------------- |
| account_info1 | 46 | 🟢 **-98 (68.06%)** |
| account_info2 | 80 | 🟢 **-64 (44.44%)** |
| account_info4 | 80 | 🟢 **-64 (44.44%)** |
| account_info8 | 80 | 🟢 **-64 (44.44%)** |
| account_empty_init1 | 88 | 🟢 **-56 (38.89%)** |
| account_empty_init2 | 88 | 🟢 **-56 (38.89%)** |
| account_empty_init4 | 88 | 🟢 **-104 (54.17%)** |
| account_empty_init8 | 88 | 🟢 **-136 (60.71%)** |
| account_empty1 | 88 | 🟢 **-56 (38.89%)** |
| account_empty2 | 88 | 🟢 **-56 (38.89%)** |
| account_empty4 | 88 | 🟢 **-56 (38.89%)** |
| account_empty8 | 88 | 🟢 **-56 (38.89%)** |
| account_sized_init1 | 88 | 🟢 **-88 (50.00%)** |
| account_sized_init2 | 88 | 🟢 **-104 (54.17%)** |
| account_sized_init4 | 88 | 🟢 **-136 (60.71%)** |
| account_sized_init8 | 88 | 🟢 **-200 (69.44%)** |
| account_sized1 | 88 | 🟢 **-56 (38.89%)** |
| account_sized2 | 88 | 🟢 **-56 (38.89%)** |
| account_sized4 | 88 | 🟢 **-56 (38.89%)** |
| account_sized8 | 88 | 🟢 **-56 (38.89%)** |
| account_unsized_init1 | 88 | 🟢 **-104 (54.17%)** |
| account_unsized_init2 | 88 | 🟢 **-136 (60.71%)** |
| account_unsized_init4 | 88 | 🟢 **-200 (69.44%)** |
| account_unsized_init8 | 88 | 🟢 **-328 (78.85%)** |
| account_unsized1 | 88 | 🟢 **-56 (38.89%)** |
| account_unsized2 | 88 | 🟢 **-56 (38.89%)** |
| account_unsized4 | 88 | 🟢 **-56 (38.89%)** |
| account_unsized8 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_empty_init1 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_empty_init2 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_empty_init4 | 88 | 🟢 **-104 (54.17%)** |
| boxed_account_empty_init8 | 88 | 🟢 **-136 (60.71%)** |
| boxed_account_empty1 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_empty2 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_empty4 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_empty8 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_sized_init1 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_sized_init2 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_sized_init4 | 88 | 🟢 **-104 (54.17%)** |
| boxed_account_sized_init8 | 88 | 🟢 **-136 (60.71%)** |
| boxed_account_sized1 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_sized2 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_sized4 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_sized8 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_unsized_init1 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_unsized_init2 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_unsized_init4 | 88 | 🟢 **-104 (54.17%)** |
| boxed_account_unsized_init8 | 88 | 🟢 **-136 (60.71%)** |
| boxed_account_unsized1 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_unsized2 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_unsized4 | 88 | 🟢 **-56 (38.89%)** |
| boxed_account_unsized8 | 88 | 🟢 **-56 (38.89%)** |
| boxed_interface_account_mint1 | 88 | 🟢 **-56 (38.89%)** |
| boxed_interface_account_mint2 | 88 | 🟢 **-56 (38.89%)** |
| boxed_interface_account_mint4 | 88 | 🟢 **-56 (38.89%)** |
| boxed_interface_account_mint8 | 88 | 🟢 **-56 (38.89%)** |
| boxed_interface_account_token1 | 88 | 🟢 **-56 (38.89%)** |
| boxed_interface_account_token2 | 88 | 🟢 **-56 (38.89%)** |
| boxed_interface_account_token4 | 88 | 🟢 **-56 (38.89%)** |
| boxed_interface_account_token8 | 88 | 🟢 **-56 (38.89%)** |
| interface_account_mint1 | 88 | 🟢 **-56 (38.89%)** |
| interface_account_mint2 | 88 | 🟢 **-56 (38.89%)** |
| interface_account_mint4 | 88 | 🟢 **-56 (38.89%)** |
| interface_account_mint8 | 88 | 🟢 **-56 (38.89%)** |
| interface_account_token1 | 80 | 🟢 **-64 (44.44%)** |
| interface_account_token2 | 80 | 🟢 **-64 (44.44%)** |
| interface_account_token4 | 80 | 🟢 **-64 (44.44%)** |
| interface1 | 88 | 🟢 **-56 (38.89%)** |
| interface2 | 88 | 🟢 **-56 (38.89%)** |
| interface4 | 88 | 🟢 **-56 (38.89%)** |
| interface8 | 88 | 🟢 **-56 (38.89%)** |
| program1 | 88 | 🟢 **-56 (38.89%)** |
| program2 | 88 | 🟢 **-56 (38.89%)** |
| program4 | 88 | 🟢 **-56 (38.89%)** |
| program8 | 88 | 🟢 **-56 (38.89%)** |
| signer1 | 88 | 🟢 **-56 (38.89%)** |
| signer2 | 88 | 🟢 **-56 (38.89%)** |
| signer4 | 88 | 🟢 **-56 (38.89%)** |
| signer8 | 88 | 🟢 **-56 (38.89%)** |
| system_account1 | 88 | 🟢 **-56 (38.89%)** |
| system_account2 | 88 | 🟢 **-56 (38.89%)** |
| system_account4 | 88 | 🟢 **-56 (38.89%)** |
| system_account8 | 88 | 🟢 **-56 (38.89%)** |
| unchecked_account1 | 88 | 🟢 **-56 (38.89%)** |
| unchecked_account2 | 88 | 🟢 **-56 (38.89%)** |
| unchecked_account4 | 88 | 🟢 **-56 (38.89%)** |
| unchecked_account8 | 88 | 🟢 **-56 (38.89%)** |
### Notable changes

View File

@ -67,7 +67,7 @@
//! This feature allows passing in a custom RPC client when creating program instances, which is
//! useful for mocking RPC responses, e.g. via [`RpcClient::new_mock`].
//!
//! [`RpcClient::new_mock`]: https://docs.rs/solana-client/2.0.8/solana_client/rpc_client/struct.RpcClient.html#method.new_mock
//! [`RpcClient::new_mock`]: https://docs.rs/solana-client/2.1.0/solana_client/rpc_client/struct.RpcClient.html#method.new_mock
use anchor_lang::solana_program::program_error::ProgramError;
use anchor_lang::solana_program::pubkey::Pubkey;

View File

@ -1,8 +1,8 @@
#!/bin/bash
active_version=$(solana -V | awk '{print $2}')
if [ "$active_version" != "2.0.8" ]; then
agave-install init 2.0.8
if [ "$active_version" != "2.1.0" ]; then
agave-install init 2.1.0
fi
git submodule update --init --recursive --depth 1

View File

@ -930,188 +930,188 @@
}
},
"unreleased": {
"solanaVersion": "2.0.8",
"solanaVersion": "2.1.0",
"result": {
"binarySize": {
"bench": 1097424
"bench": 1042424
},
"computeUnits": {
"accountInfo1": 573,
"accountInfo2": 899,
"accountInfo4": 1561,
"accountInfo8": 2957,
"accountEmptyInit1": 5014,
"accountEmpty1": 649,
"accountEmptyInit2": 9155,
"accountEmpty2": 1015,
"accountEmptyInit4": 17465,
"accountEmpty4": 1740,
"accountEmptyInit8": 34115,
"accountEmpty8": 3193,
"accountSizedInit1": 5107,
"accountSized1": 690,
"accountSizedInit2": 9313,
"accountSized2": 1069,
"accountSizedInit4": 17812,
"accountSized4": 1834,
"accountSizedInit8": 34706,
"accountSized8": 3357,
"accountUnsizedInit1": 5227,
"accountInfo1": 571,
"accountInfo2": 895,
"accountInfo4": 1553,
"accountInfo8": 2923,
"accountEmptyInit1": 5016,
"accountEmpty1": 645,
"accountEmptyInit2": 9167,
"accountEmpty2": 1007,
"accountEmptyInit4": 17496,
"accountEmpty4": 1724,
"accountEmptyInit8": 34187,
"accountEmpty8": 3163,
"accountSizedInit1": 5125,
"accountSized1": 693,
"accountSizedInit2": 9355,
"accountSized2": 1075,
"accountSizedInit4": 17902,
"accountSized4": 1848,
"accountSizedInit8": 34897,
"accountSized8": 3387,
"accountUnsizedInit1": 5238,
"accountUnsized1": 746,
"accountUnsizedInit2": 9599,
"accountUnsizedInit2": 9625,
"accountUnsized2": 1163,
"accountUnsizedInit4": 18276,
"accountUnsized4": 2000,
"accountUnsizedInit8": 35328,
"accountUnsized8": 3671,
"boxedAccountEmptyInit1": 5106,
"boxedAccountEmpty1": 740,
"boxedAccountEmptyInit2": 9268,
"boxedAccountEmpty2": 1125,
"boxedAccountEmptyInit4": 17619,
"boxedAccountEmpty4": 1886,
"boxedAccountEmptyInit8": 34346,
"boxedAccountEmpty8": 3435,
"boxedAccountSizedInit1": 5189,
"boxedAccountSized1": 780,
"boxedAccountSizedInit2": 9411,
"boxedAccountSized2": 1180,
"boxedAccountSizedInit4": 17879,
"boxedAccountSized4": 1974,
"boxedAccountSizedInit8": 34842,
"boxedAccountSized8": 3593,
"boxedAccountUnsizedInit1": 5300,
"boxedAccountUnsized1": 838,
"boxedAccountUnsizedInit2": 9609,
"boxedAccountUnsized2": 1275,
"boxedAccountUnsizedInit4": 18251,
"boxedAccountUnsized4": 2138,
"boxedAccountUnsizedInit8": 35562,
"boxedAccountUnsized8": 3895,
"boxedInterfaceAccountMint1": 1502,
"boxedInterfaceAccountMint2": 2423,
"boxedInterfaceAccountMint4": 4256,
"boxedInterfaceAccountMint8": 7950,
"boxedInterfaceAccountToken1": 2198,
"boxedInterfaceAccountToken2": 3803,
"boxedInterfaceAccountToken4": 7004,
"boxedInterfaceAccountToken8": 13434,
"interfaceAccountMint1": 1626,
"interfaceAccountMint2": 2788,
"interfaceAccountMint4": 5110,
"interfaceAccountMint8": 9749,
"interfaceAccountToken1": 2296,
"interfaceAccountToken2": 4096,
"interfaceAccountToken4": 7692,
"interface1": 774,
"interface2": 923,
"interface4": 1214,
"interface8": 1799,
"program1": 782,
"program2": 927,
"program4": 1210,
"program8": 1779,
"signer1": 779,
"signer2": 1074,
"signer4": 1657,
"signer8": 2826,
"systemAccount1": 802,
"systemAccount2": 1108,
"systemAccount4": 1713,
"systemAccount8": 2926,
"uncheckedAccount1": 785,
"uncheckedAccount2": 1061,
"uncheckedAccount4": 1604,
"uncheckedAccount8": 2699
"accountUnsizedInit4": 18335,
"accountUnsized4": 2002,
"accountUnsizedInit8": 35457,
"accountUnsized8": 3673,
"boxedAccountEmptyInit1": 5108,
"boxedAccountEmpty1": 734,
"boxedAccountEmptyInit2": 9280,
"boxedAccountEmpty2": 1116,
"boxedAccountEmptyInit4": 17650,
"boxedAccountEmpty4": 1872,
"boxedAccountEmptyInit8": 34417,
"boxedAccountEmpty8": 3401,
"boxedAccountSizedInit1": 5204,
"boxedAccountSized1": 783,
"boxedAccountSizedInit2": 9449,
"boxedAccountSized2": 1190,
"boxedAccountSizedInit4": 17962,
"boxedAccountSized4": 1996,
"boxedAccountSizedInit8": 35017,
"boxedAccountSized8": 3628,
"boxedAccountUnsizedInit1": 5304,
"boxedAccountUnsized1": 836,
"boxedAccountUnsizedInit2": 9625,
"boxedAccountUnsized2": 1270,
"boxedAccountUnsizedInit4": 18290,
"boxedAccountUnsized4": 2132,
"boxedAccountUnsizedInit8": 35649,
"boxedAccountUnsized8": 3881,
"boxedInterfaceAccountMint1": 1351,
"boxedInterfaceAccountMint2": 2123,
"boxedInterfaceAccountMint4": 3656,
"boxedInterfaceAccountMint8": 6738,
"boxedInterfaceAccountToken1": 2011,
"boxedInterfaceAccountToken2": 3431,
"boxedInterfaceAccountToken4": 6260,
"boxedInterfaceAccountToken8": 11934,
"interfaceAccountMint1": 1476,
"interfaceAccountMint2": 2489,
"interfaceAccountMint4": 4511,
"interfaceAccountMint8": 8550,
"interfaceAccountToken1": 2111,
"interfaceAccountToken2": 3729,
"interfaceAccountToken4": 6955,
"interface1": 769,
"interface2": 912,
"interface4": 1189,
"interface8": 1748,
"program1": 779,
"program2": 920,
"program4": 1193,
"program8": 1744,
"signer1": 774,
"signer2": 1064,
"signer4": 1637,
"signer8": 2788,
"systemAccount1": 796,
"systemAccount2": 1096,
"systemAccount4": 1689,
"systemAccount8": 2880,
"uncheckedAccount1": 783,
"uncheckedAccount2": 1056,
"uncheckedAccount4": 1594,
"uncheckedAccount8": 2679
},
"stackMemory": {
"account_info1": 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
"account_info1": 46,
"account_info2": 80,
"account_info4": 80,
"account_info8": 80,
"account_empty_init1": 88,
"account_empty_init2": 88,
"account_empty_init4": 88,
"account_empty_init8": 88,
"account_empty1": 88,
"account_empty2": 88,
"account_empty4": 88,
"account_empty8": 88,
"account_sized_init1": 88,
"account_sized_init2": 88,
"account_sized_init4": 88,
"account_sized_init8": 88,
"account_sized1": 88,
"account_sized2": 88,
"account_sized4": 88,
"account_sized8": 88,
"account_unsized_init1": 88,
"account_unsized_init2": 88,
"account_unsized_init4": 88,
"account_unsized_init8": 88,
"account_unsized1": 88,
"account_unsized2": 88,
"account_unsized4": 88,
"account_unsized8": 88,
"boxed_account_empty_init1": 88,
"boxed_account_empty_init2": 88,
"boxed_account_empty_init4": 88,
"boxed_account_empty_init8": 88,
"boxed_account_empty1": 88,
"boxed_account_empty2": 88,
"boxed_account_empty4": 88,
"boxed_account_empty8": 88,
"boxed_account_sized_init1": 88,
"boxed_account_sized_init2": 88,
"boxed_account_sized_init4": 88,
"boxed_account_sized_init8": 88,
"boxed_account_sized1": 88,
"boxed_account_sized2": 88,
"boxed_account_sized4": 88,
"boxed_account_sized8": 88,
"boxed_account_unsized_init1": 88,
"boxed_account_unsized_init2": 88,
"boxed_account_unsized_init4": 88,
"boxed_account_unsized_init8": 88,
"boxed_account_unsized1": 88,
"boxed_account_unsized2": 88,
"boxed_account_unsized4": 88,
"boxed_account_unsized8": 88,
"boxed_interface_account_mint1": 88,
"boxed_interface_account_mint2": 88,
"boxed_interface_account_mint4": 88,
"boxed_interface_account_mint8": 88,
"boxed_interface_account_token1": 88,
"boxed_interface_account_token2": 88,
"boxed_interface_account_token4": 88,
"boxed_interface_account_token8": 88,
"interface_account_mint1": 88,
"interface_account_mint2": 88,
"interface_account_mint4": 88,
"interface_account_mint8": 88,
"interface_account_token1": 80,
"interface_account_token2": 80,
"interface_account_token4": 80,
"interface1": 88,
"interface2": 88,
"interface4": 88,
"interface8": 88,
"program1": 88,
"program2": 88,
"program4": 88,
"program8": 88,
"signer1": 88,
"signer2": 88,
"signer4": 88,
"signer8": 88,
"system_account1": 88,
"system_account2": 88,
"system_account4": 88,
"system_account8": 88,
"unchecked_account1": 88,
"unchecked_account2": 88,
"unchecked_account4": 88,
"unchecked_account8": 88
}
}
}