Bump spl-token to v3.1.1 (backport #17951) (#17957)

* Bump spl-token to v3.1.1 (#17951)

(cherry picked from commit b7de369992)

# Conflicts:
#	Cargo.lock
#	account-decoder/Cargo.toml
#	accounts-cluster-bench/Cargo.toml
#	programs/bpf/Cargo.lock
#	rpc/Cargo.toml
#	tokens/Cargo.toml

* Fix conflicts

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
This commit is contained in:
mergify[bot]
2021-06-15 07:54:09 +00:00
committed by GitHub
parent b524e0a1a7
commit ff8f78199d
8 changed files with 149 additions and 241 deletions

141
Cargo.lock generated
View File

@ -4519,26 +4519,6 @@ dependencies = [
"tokio 1.1.1",
]
[[package]]
name = "solana-frozen-abi"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f81ac3925c8995d935d3af27390cf7b748a81837a29feb75a00e115f40dae6dc"
dependencies = [
"bs58",
"bv",
"generic-array 0.14.3",
"log 0.4.11",
"memmap2",
"rustc_version",
"serde",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi-macro 1.6.4",
"solana-logger 1.6.4",
"thiserror",
]
[[package]]
name = "solana-frozen-abi"
version = "1.6.12"
@ -4558,10 +4538,28 @@ dependencies = [
]
[[package]]
name = "solana-frozen-abi-macro"
version = "1.6.4"
name = "solana-frozen-abi"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae448159038e470f3b2dd1ab0d219246211f940a10bf1e656a02cb5c2d897437"
checksum = "95c481f0f29753f5b2d382628abae98a1dd87b572ddc7cbe5fe55ca62b6f7f07"
dependencies = [
"bs58",
"bv",
"generic-array 0.14.3",
"log 0.4.11",
"memmap2",
"rustc_version",
"serde",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi-macro 1.7.1",
"solana-logger 1.7.1",
"thiserror",
]
[[package]]
name = "solana-frozen-abi-macro"
version = "1.6.12"
dependencies = [
"lazy_static",
"proc-macro2 1.0.24",
@ -4572,9 +4570,10 @@ dependencies = [
[[package]]
name = "solana-frozen-abi-macro"
version = "1.6.12"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2068bcc47160ac9081893439b10a05e4bbe85cc0f6bccb6f1b0815423fbdd0c"
dependencies = [
"lazy_static",
"proc-macro2 1.0.24",
"quote 1.0.6",
"rustc_version",
@ -4805,9 +4804,7 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fa7bddd7b89c26c6e3ef4af9b47d6bc8d60888559affb5160f5ade18c0cd058"
version = "1.6.12"
dependencies = [
"env_logger 0.8.3",
"lazy_static",
@ -4816,7 +4813,9 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.6.12"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ea5932e186629f47859924b3773cfd8bcb4b8796898ac85c1fa0a6a2024e5c6"
dependencies = [
"env_logger 0.8.3",
"lazy_static",
@ -4971,38 +4970,6 @@ dependencies = [
"solana-version",
]
[[package]]
name = "solana-program"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "231bf4cd42997b6f34e7c74a1449e8a1e8816fd83662fc3a5a0922da48fc667b"
dependencies = [
"bincode",
"borsh",
"borsh-derive",
"bs58",
"bv",
"curve25519-dalek 2.1.0",
"hex",
"itertools",
"lazy_static",
"log 0.4.11",
"num-derive",
"num-traits",
"rand 0.7.3",
"rustc_version",
"rustversion",
"serde",
"serde_bytes",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi 1.6.4",
"solana-frozen-abi-macro 1.6.4",
"solana-logger 1.6.4",
"solana-sdk-macro 1.6.4",
"thiserror",
]
[[package]]
name = "solana-program"
version = "1.6.12"
@ -5037,6 +5004,40 @@ dependencies = [
"thiserror",
]
[[package]]
name = "solana-program"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a2df39c63e21c5b58e2012e7675bed5e8dd5100470ffddedcafb78f5a7e3abe"
dependencies = [
"bincode",
"blake3",
"borsh",
"borsh-derive",
"bs58",
"bv",
"curve25519-dalek 2.1.0",
"hex",
"itertools",
"lazy_static",
"log 0.4.11",
"num-derive",
"num-traits",
"rand 0.7.3",
"rustc_version",
"rustversion",
"serde",
"serde_bytes",
"serde_derive",
"sha2 0.9.2",
"sha3",
"solana-frozen-abi 1.7.1",
"solana-frozen-abi-macro 1.7.1",
"solana-logger 1.7.1",
"solana-sdk-macro 1.7.1",
"thiserror",
]
[[package]]
name = "solana-program-test"
version = "1.6.12"
@ -5222,9 +5223,7 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c805f1e32677f8ec0cc0b2f470833a0d5ab0922f068e52be3a4a93b468c9c70"
version = "1.6.12"
dependencies = [
"bs58",
"proc-macro2 1.0.24",
@ -5235,7 +5234,9 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.6.12"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6473d8fa445520564c84e8803320721404d160ffd876a125326a726541f11534"
dependencies = [
"bs58",
"proc-macro2 1.0.24",
@ -5628,7 +5629,7 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4adc47eebe5d2b662cbaaba1843719c28a67e5ec5d0460bc3ca60900a51f74e2"
dependencies = [
"solana-program 1.6.4",
"solana-program 1.7.1",
"spl-token",
]
@ -5638,20 +5639,20 @@ version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325"
dependencies = [
"solana-program 1.6.4",
"solana-program 1.7.1",
]
[[package]]
name = "spl-token"
version = "3.1.0"
version = "3.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b795e50d15dfd35aa5460b80a16414503a322be115a417a43db987c5824c6798"
checksum = "fbfa8fd791aeb4d7ad5fedb7872478de9f4e8b4fcb02dfd9e7f2f9ae3f3ddd73"
dependencies = [
"arrayref",
"num-derive",
"num-traits",
"num_enum",
"solana-program 1.6.4",
"solana-program 1.7.1",
"thiserror",
]

View File

@ -23,7 +23,7 @@ solana-config-program = { path = "../programs/config", version = "=1.6.12" }
solana-sdk = { path = "../sdk", version = "=1.6.12" }
solana-stake-program = { path = "../programs/stake", version = "=1.6.12" }
solana-vote-program = { path = "../programs/vote", version = "=1.6.12" }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.0", features = ["no-entrypoint"] }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.1", features = ["no-entrypoint"] }
thiserror = "1.0"
zstd = "0.5.1"

View File

@ -25,7 +25,7 @@ solana-runtime = { path = "../runtime", version = "=1.6.12" }
solana-sdk = { path = "../sdk", version = "=1.6.12" }
solana-transaction-status = { path = "../transaction-status", version = "=1.6.12" }
solana-version = { path = "../version", version = "=1.6.12" }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.0", features = ["no-entrypoint"] }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.1", features = ["no-entrypoint"] }
[dev-dependencies]
solana-local-cluster = { path = "../local-cluster", version = "=1.6.12" }

View File

@ -76,7 +76,7 @@ solana-sys-tuner = { path = "../sys-tuner", version = "=1.6.12" }
solana-transaction-status = { path = "../transaction-status", version = "=1.6.12" }
solana-version = { path = "../version", version = "=1.6.12" }
solana-vote-program = { path = "../programs/vote", version = "=1.6.12" }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.0", features = ["no-entrypoint"] }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.1", features = ["no-entrypoint"] }
tempfile = "3.1.0"
thiserror = "1.0"
tokio = { version = "1", features = ["full"] }

145
programs/bpf/Cargo.lock generated
View File

@ -3141,26 +3141,6 @@ dependencies = [
"tokio 1.1.1",
]
[[package]]
name = "solana-frozen-abi"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f81ac3925c8995d935d3af27390cf7b748a81837a29feb75a00e115f40dae6dc"
dependencies = [
"bs58",
"bv",
"generic-array 0.14.3",
"log",
"memmap2",
"rustc_version",
"serde",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi-macro 1.6.4",
"solana-logger 1.6.4",
"thiserror",
]
[[package]]
name = "solana-frozen-abi"
version = "1.6.12"
@ -3180,16 +3160,23 @@ dependencies = [
]
[[package]]
name = "solana-frozen-abi-macro"
version = "1.6.4"
name = "solana-frozen-abi"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae448159038e470f3b2dd1ab0d219246211f940a10bf1e656a02cb5c2d897437"
checksum = "95c481f0f29753f5b2d382628abae98a1dd87b572ddc7cbe5fe55ca62b6f7f07"
dependencies = [
"lazy_static",
"proc-macro2 1.0.24",
"quote 1.0.6",
"bs58",
"bv",
"generic-array 0.14.3",
"log",
"memmap2",
"rustc_version",
"syn 1.0.60",
"serde",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi-macro 1.7.1",
"solana-logger 1.7.1",
"thiserror",
]
[[package]]
@ -3204,10 +3191,20 @@ dependencies = [
]
[[package]]
name = "solana-logger"
version = "1.6.4"
name = "solana-frozen-abi-macro"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fa7bddd7b89c26c6e3ef4af9b47d6bc8d60888559affb5160f5ade18c0cd058"
checksum = "f2068bcc47160ac9081893439b10a05e4bbe85cc0f6bccb6f1b0815423fbdd0c"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"rustc_version",
"syn 1.0.60",
]
[[package]]
name = "solana-logger"
version = "1.6.12"
dependencies = [
"env_logger",
"lazy_static",
@ -3216,7 +3213,9 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.6.12"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ea5932e186629f47859924b3773cfd8bcb4b8796898ac85c1fa0a6a2024e5c6"
dependencies = [
"env_logger",
"lazy_static",
@ -3265,38 +3264,6 @@ dependencies = [
"url",
]
[[package]]
name = "solana-program"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "231bf4cd42997b6f34e7c74a1449e8a1e8816fd83662fc3a5a0922da48fc667b"
dependencies = [
"bincode",
"borsh",
"borsh-derive",
"bs58",
"bv",
"curve25519-dalek 2.1.0",
"hex",
"itertools 0.9.0",
"lazy_static",
"log",
"num-derive 0.3.0",
"num-traits",
"rand 0.7.3",
"rustc_version",
"rustversion",
"serde",
"serde_bytes",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi 1.6.4",
"solana-frozen-abi-macro 1.6.4",
"solana-logger 1.6.4",
"solana-sdk-macro 1.6.4",
"thiserror",
]
[[package]]
name = "solana-program"
version = "1.6.12"
@ -3329,6 +3296,40 @@ dependencies = [
"thiserror",
]
[[package]]
name = "solana-program"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a2df39c63e21c5b58e2012e7675bed5e8dd5100470ffddedcafb78f5a7e3abe"
dependencies = [
"bincode",
"blake3",
"borsh",
"borsh-derive",
"bs58",
"bv",
"curve25519-dalek 2.1.0",
"hex",
"itertools 0.9.0",
"lazy_static",
"log",
"num-derive 0.3.0",
"num-traits",
"rand 0.7.3",
"rustc_version",
"rustversion",
"serde",
"serde_bytes",
"serde_derive",
"sha2 0.9.2",
"sha3",
"solana-frozen-abi 1.7.1",
"solana-frozen-abi-macro 1.7.1",
"solana-logger 1.7.1",
"solana-sdk-macro 1.7.1",
"thiserror",
]
[[package]]
name = "solana-rayon-threadlimit"
version = "1.6.12"
@ -3454,9 +3455,7 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c805f1e32677f8ec0cc0b2f470833a0d5ab0922f068e52be3a4a93b468c9c70"
version = "1.6.12"
dependencies = [
"bs58",
"proc-macro2 1.0.24",
@ -3467,7 +3466,9 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.6.12"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6473d8fa445520564c84e8803320721404d160ffd876a125326a726541f11534"
dependencies = [
"bs58",
"proc-macro2 1.0.24",
@ -3595,7 +3596,7 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4adc47eebe5d2b662cbaaba1843719c28a67e5ec5d0460bc3ca60900a51f74e2"
dependencies = [
"solana-program 1.6.4",
"solana-program 1.7.1",
"spl-token",
]
@ -3605,20 +3606,20 @@ version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325"
dependencies = [
"solana-program 1.6.4",
"solana-program 1.7.1",
]
[[package]]
name = "spl-token"
version = "3.1.0"
version = "3.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b795e50d15dfd35aa5460b80a16414503a322be115a417a43db987c5824c6798"
checksum = "fbfa8fd791aeb4d7ad5fedb7872478de9f4e8b4fcb02dfd9e7f2f9ae3f3ddd73"
dependencies = [
"arrayref",
"num-derive 0.3.0",
"num-traits",
"num_enum",
"solana-program 1.6.4",
"solana-program 1.7.1",
"thiserror",
]

View File

@ -1,94 +0,0 @@
use {
jsonrpc_core::{Error, Result},
solana_account_decoder::{
parse_account_data::AccountAdditionalData,
parse_token::{get_token_account_mint, spl_token_id_v2_0, spl_token_v2_0_native_mint},
UiAccount, UiAccountData, UiAccountEncoding,
},
solana_client::rpc_response::RpcKeyedAccount,
solana_runtime::bank::Bank,
solana_sdk::{
account::{AccountSharedData, ReadableAccount},
pubkey::Pubkey,
},
spl_token_v2_0::{solana_program::program_pack::Pack, state::Mint},
std::{collections::HashMap, sync::Arc},
};
pub fn get_parsed_token_account(
bank: Arc<Bank>,
pubkey: &Pubkey,
account: AccountSharedData,
) -> UiAccount {
let additional_data = get_token_account_mint(&account.data())
.and_then(|mint_pubkey| get_mint_owner_and_decimals(&bank, &mint_pubkey).ok())
.map(|(_, decimals)| AccountAdditionalData {
spl_token_decimals: Some(decimals),
});
UiAccount::encode(
pubkey,
&account,
UiAccountEncoding::JsonParsed,
additional_data,
None,
)
}
pub fn get_parsed_token_accounts<I>(
bank: Arc<Bank>,
keyed_accounts: I,
) -> impl Iterator<Item = RpcKeyedAccount>
where
I: Iterator<Item = (Pubkey, AccountSharedData)>,
{
let mut mint_decimals: HashMap<Pubkey, u8> = HashMap::new();
keyed_accounts.filter_map(move |(pubkey, account)| {
let additional_data = get_token_account_mint(&account.data()).map(|mint_pubkey| {
let spl_token_decimals = mint_decimals.get(&mint_pubkey).cloned().or_else(|| {
let (_, decimals) = get_mint_owner_and_decimals(&bank, &mint_pubkey).ok()?;
mint_decimals.insert(mint_pubkey, decimals);
Some(decimals)
});
AccountAdditionalData { spl_token_decimals }
});
let maybe_encoded_account = UiAccount::encode(
&pubkey,
&account,
UiAccountEncoding::JsonParsed,
additional_data,
None,
);
if let UiAccountData::Json(_) = &maybe_encoded_account.data {
Some(RpcKeyedAccount {
pubkey: pubkey.to_string(),
account: maybe_encoded_account,
})
} else {
None
}
})
}
/// Analyze a mint Pubkey that may be the native_mint and get the mint-account owner (token
/// program_id) and decimals
pub fn get_mint_owner_and_decimals(bank: &Arc<Bank>, mint: &Pubkey) -> Result<(Pubkey, u8)> {
if mint == &spl_token_v2_0_native_mint() {
Ok((spl_token_id_v2_0(), spl_token_v2_0::native_mint::DECIMALS))
} else {
let mint_account = bank.get_account(mint).ok_or_else(|| {
Error::invalid_params("Invalid param: could not find mint".to_string())
})?;
let decimals = get_mint_decimals(&mint_account.data())?;
Ok((*mint_account.owner(), decimals))
}
}
fn get_mint_decimals(data: &[u8]) -> Result<u8> {
Mint::unpack(data)
.map_err(|_| {
Error::invalid_params("Invalid param: Token mint could not be unpacked".to_string())
})
.map(|mint| mint.decimals)
}

View File

@ -31,7 +31,7 @@ solana-stake-program = { path = "../programs/stake", version = "=1.6.12" }
solana-transaction-status = { path = "../transaction-status", version = "=1.6.12" }
solana-version = { path = "../version", version = "=1.6.12" }
spl-associated-token-account-v1-0 = { package = "spl-associated-token-account", version = "=1.0.2" }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.0", features = ["no-entrypoint"] }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.1", features = ["no-entrypoint"] }
tempfile = "3.1.0"
thiserror = "1.0"

View File

@ -25,7 +25,7 @@ solana-stake-program = { path = "../programs/stake", version = "=1.6.12" }
solana-vote-program = { path = "../programs/vote", version = "=1.6.12" }
spl-associated-token-account-v1-0 = { package = "spl-associated-token-account", version = "=1.0.2", features = ["no-entrypoint"] }
spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.0", features = ["no-entrypoint"] }
spl-token-v2-0 = { package = "spl-token", version = "=3.1.1", features = ["no-entrypoint"] }
thiserror = "1.0"
[package.metadata.docs.rs]