diff --git a/Cargo.lock b/Cargo.lock index 3bbe57f65e..269592228e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -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", ] diff --git a/account-decoder/Cargo.toml b/account-decoder/Cargo.toml index 653524a299..50fc4831e5 100644 --- a/account-decoder/Cargo.toml +++ b/account-decoder/Cargo.toml @@ -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" diff --git a/accounts-cluster-bench/Cargo.toml b/accounts-cluster-bench/Cargo.toml index cfdfe1c962..1ba9891bef 100644 --- a/accounts-cluster-bench/Cargo.toml +++ b/accounts-cluster-bench/Cargo.toml @@ -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" } diff --git a/core/Cargo.toml b/core/Cargo.toml index ea617d62db..39824fed4b 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -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"] } diff --git a/programs/bpf/Cargo.lock b/programs/bpf/Cargo.lock index a943a8ac54..35da7b50dc 100644 --- a/programs/bpf/Cargo.lock +++ b/programs/bpf/Cargo.lock @@ -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", ] diff --git a/rpc/src/parsed_token_accounts.rs b/rpc/src/parsed_token_accounts.rs deleted file mode 100644 index bfcc9a1fa7..0000000000 --- a/rpc/src/parsed_token_accounts.rs +++ /dev/null @@ -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, - 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( - bank: Arc, - keyed_accounts: I, -) -> impl Iterator -where - I: Iterator, -{ - let mut mint_decimals: HashMap = 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, 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 { - Mint::unpack(data) - .map_err(|_| { - Error::invalid_params("Invalid param: Token mint could not be unpacked".to_string()) - }) - .map(|mint| mint.decimals) -} diff --git a/tokens/Cargo.toml b/tokens/Cargo.toml index 9b887da6c0..d8274fc91b 100644 --- a/tokens/Cargo.toml +++ b/tokens/Cargo.toml @@ -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" diff --git a/transaction-status/Cargo.toml b/transaction-status/Cargo.toml index d7ff30805a..fcc005c14c 100644 --- a/transaction-status/Cargo.toml +++ b/transaction-status/Cargo.toml @@ -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]