Skip to content

Commit c1ce9db

Browse files
authored
SPL: Use token-2022-interface crate (#7298)
#### Problem As outlined in #7256, we need to get Agave off of crates that depend back on Agave. spl-token-2022 is one of those crates #### Summary of changes Use spl-token-2022-interface instead. To go with this, we had to also upgrade to confidential-transfer-proof-extract v0.4.0, which requires modifications to some tests. Everything should be very straightforward otherwise, and we get to see some red lines in the lockfile!
1 parent 37eb5cc commit c1ce9db

38 files changed

+229
-694
lines changed

Cargo.lock

Lines changed: 15 additions & 145 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -567,8 +567,8 @@ spl-generic-token = "1.0.1"
567567
spl-memo-interface = "1.0.0"
568568
spl-pod = "0.5.1"
569569
spl-token = "8.0.0"
570-
spl-token-2022 = "8.0.1"
571-
spl-token-confidential-transfer-proof-extraction = "0.3.0"
570+
spl-token-2022-interface = "1.0.0"
571+
spl-token-confidential-transfer-proof-extraction = "0.4.0"
572572
spl-token-group-interface = "0.6.0"
573573
spl-token-metadata-interface = "0.7.0"
574574
static_assertions = "1.1.0"
@@ -648,7 +648,7 @@ crossbeam-epoch = { git = "https://github.com/anza-xyz/crossbeam", rev = "fd279d
648648
# * spl-memo-interface
649649
# * spl-pod
650650
# * spl-token
651-
# * spl-token-2022
651+
# * spl-token-2022-interface
652652
# * spl-token-metadata-interface
653653
#
654654
# They, in turn, depend on a number of crates that we also include directly

account-decoder/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ solana-sysvar = { workspace = true }
4646
solana-vote-interface = { workspace = true, features = ["bincode"] }
4747
spl-generic-token = { workspace = true }
4848
spl-token = { workspace = true, features = ["no-entrypoint"] }
49-
spl-token-2022 = { workspace = true, features = ["no-entrypoint"] }
49+
spl-token-2022-interface = { workspace = true }
5050
spl-token-group-interface = { workspace = true }
5151
spl-token-metadata-interface = { workspace = true }
5252
thiserror = { workspace = true }

account-decoder/src/parse_account_data.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use {
1313
solana_sdk_ids::{
1414
address_lookup_table, bpf_loader_upgradeable, config, stake, system_program, sysvar, vote,
1515
},
16-
spl_token_2022::extension::{
16+
spl_token_2022_interface::extension::{
1717
interest_bearing_mint::InterestBearingConfig, scaled_ui_amount::ScaledUiAmountConfig,
1818
},
1919
std::collections::HashMap,
@@ -34,7 +34,10 @@ pub static PARSABLE_PROGRAM_IDS: std::sync::LazyLock<HashMap<Pubkey, ParsableAcc
3434
m.insert(config::id(), ParsableAccount::Config);
3535
m.insert(system_program::id(), ParsableAccount::Nonce);
3636
m.insert(spl_token::id(), ParsableAccount::SplToken);
37-
m.insert(spl_token_2022::id(), ParsableAccount::SplToken2022);
37+
m.insert(
38+
spl_token_2022_interface::id(),
39+
ParsableAccount::SplToken2022,
40+
);
3841
m.insert(stake::id(), ParsableAccount::Stake);
3942
m.insert(sysvar::id(), ParsableAccount::Sysvar);
4043
m.insert(vote::id(), ParsableAccount::Vote);

account-decoder/src/parse_token.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use {
66
solana_program_option::COption,
77
solana_program_pack::Pack,
88
solana_pubkey::Pubkey,
9-
spl_token_2022::{
9+
spl_token_2022_interface::{
1010
extension::{BaseStateWithExtensions, StateWithExtensions},
1111
generic_token_account::GenericTokenAccount,
1212
state::{Account, AccountState, Mint, Multisig},
@@ -176,7 +176,7 @@ mod test {
176176
crate::parse_token_extension::{UiMemoTransfer, UiMintCloseAuthority},
177177
solana_account_decoder_client_types::token::UiExtension,
178178
spl_pod::optional_keys::OptionalNonZeroPubkey,
179-
spl_token_2022::extension::{
179+
spl_token_2022_interface::extension::{
180180
immutable_owner::ImmutableOwner, interest_bearing_mint::InterestBearingConfig,
181181
memo_transfer::MemoTransfer, mint_close_authority::MintCloseAuthority,
182182
scaled_ui_amount::ScaledUiAmountConfig, BaseStateWithExtensionsMut, ExtensionType,

account-decoder/src/parse_token_extension.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use {
1111
solana_clock::UnixTimestamp,
1212
solana_program_pack::Pack,
1313
solana_pubkey::Pubkey,
14-
spl_token_2022::{
14+
spl_token_2022_interface::{
1515
extension::{self, BaseState, BaseStateWithExtensions, ExtensionType, StateWithExtensions},
1616
solana_zk_sdk::encryption::pod::elgamal::PodElGamalPubkey,
1717
},
@@ -202,8 +202,9 @@ fn convert_mint_close_authority(
202202
fn convert_default_account_state(
203203
default_account_state: extension::default_account_state::DefaultAccountState,
204204
) -> UiDefaultAccountState {
205-
let account_state = spl_token_2022::state::AccountState::try_from(default_account_state.state)
206-
.unwrap_or_default();
205+
let account_state =
206+
spl_token_2022_interface::state::AccountState::try_from(default_account_state.state)
207+
.unwrap_or_default();
207208
UiDefaultAccountState {
208209
account_state: convert_account_state(account_state),
209210
}

0 commit comments

Comments
 (0)