Update spl-token and spl-memo
This commit is contained in:
parent
433f262290
commit
ffbd859c42
|
@ -2943,7 +2943,7 @@ dependencies = [
|
|||
"log 0.4.8",
|
||||
"rand 0.7.3",
|
||||
"rayon",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-measure",
|
||||
"solana-runtime",
|
||||
"solana-sdk 1.3.0",
|
||||
|
@ -2961,7 +2961,7 @@ dependencies = [
|
|||
"solana-clap-utils",
|
||||
"solana-core",
|
||||
"solana-ledger",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-measure",
|
||||
"solana-perf",
|
||||
"solana-runtime",
|
||||
|
@ -2990,7 +2990,7 @@ dependencies = [
|
|||
"solana-faucet",
|
||||
"solana-genesis",
|
||||
"solana-local-cluster",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-net-utils",
|
||||
"solana-runtime",
|
||||
|
@ -3004,7 +3004,7 @@ version = "1.3.0"
|
|||
dependencies = [
|
||||
"clap",
|
||||
"solana-clap-utils",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-net-utils",
|
||||
"solana-streamer",
|
||||
"solana-version",
|
||||
|
@ -3028,7 +3028,7 @@ dependencies = [
|
|||
"solana-faucet",
|
||||
"solana-genesis",
|
||||
"solana-local-cluster",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-measure",
|
||||
"solana-metrics",
|
||||
"solana-net-utils",
|
||||
|
@ -3114,7 +3114,7 @@ dependencies = [
|
|||
"solana-config-program",
|
||||
"solana-core",
|
||||
"solana-faucet",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-net-utils",
|
||||
"solana-remote-wallet",
|
||||
"solana-runtime",
|
||||
|
@ -3158,7 +3158,7 @@ dependencies = [
|
|||
"serde_derive",
|
||||
"serde_json",
|
||||
"solana-account-decoder",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-net-utils",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-transaction-status",
|
||||
|
@ -3177,7 +3177,7 @@ dependencies = [
|
|||
"log 0.4.8",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-sdk 1.3.0",
|
||||
]
|
||||
|
||||
|
@ -3227,7 +3227,7 @@ dependencies = [
|
|||
"solana-faucet",
|
||||
"solana-genesis-programs",
|
||||
"solana-ledger",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-measure",
|
||||
"solana-merkle-tree",
|
||||
"solana-metrics",
|
||||
|
@ -3255,6 +3255,31 @@ dependencies = [
|
|||
"trees",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-crate-features"
|
||||
version = "1.2.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "610ba71932d0bf4abf88eabb081ee43fa1ee6bb5137c4fa6776ea9dd8630ca5c"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes 0.4.12",
|
||||
"cc",
|
||||
"curve25519-dalek",
|
||||
"ed25519-dalek",
|
||||
"either",
|
||||
"failure",
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"rand_chacha 0.2.2",
|
||||
"regex-syntax",
|
||||
"reqwest",
|
||||
"serde",
|
||||
"syn 0.15.44",
|
||||
"syn 1.0.27",
|
||||
"tokio 0.1.22",
|
||||
"winapi 0.3.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-crate-features"
|
||||
version = "1.3.0"
|
||||
|
@ -3290,7 +3315,7 @@ dependencies = [
|
|||
"solana-clap-utils",
|
||||
"solana-core",
|
||||
"solana-ledger",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-net-utils",
|
||||
"solana-runtime",
|
||||
"solana-sdk 1.3.0",
|
||||
|
@ -3321,7 +3346,7 @@ dependencies = [
|
|||
"num-traits",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-runtime",
|
||||
"solana-sdk 1.3.0",
|
||||
|
@ -3348,7 +3373,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_derive",
|
||||
"solana-clap-utils",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-version",
|
||||
|
@ -3369,7 +3394,7 @@ dependencies = [
|
|||
"solana-clap-utils",
|
||||
"solana-genesis-programs",
|
||||
"solana-ledger",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-runtime",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-stake-program",
|
||||
|
@ -3399,7 +3424,7 @@ dependencies = [
|
|||
"solana-clap-utils",
|
||||
"solana-client",
|
||||
"solana-core",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-net-utils",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-version",
|
||||
|
@ -3428,7 +3453,7 @@ dependencies = [
|
|||
"solana-clap-utils",
|
||||
"solana-client",
|
||||
"solana-config-program",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-version",
|
||||
"tar",
|
||||
|
@ -3483,7 +3508,7 @@ dependencies = [
|
|||
"sha2",
|
||||
"solana-budget-program",
|
||||
"solana-genesis-programs",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-measure",
|
||||
"solana-merkle-tree",
|
||||
"solana-metrics",
|
||||
|
@ -3516,7 +3541,7 @@ dependencies = [
|
|||
"solana-clap-utils",
|
||||
"solana-cli",
|
||||
"solana-ledger",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-runtime",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-stake-program",
|
||||
|
@ -3544,7 +3569,7 @@ dependencies = [
|
|||
"solana-faucet",
|
||||
"solana-genesis-programs",
|
||||
"solana-ledger",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-rayon-threadlimit",
|
||||
"solana-runtime",
|
||||
"solana-sdk 1.3.0",
|
||||
|
@ -3563,10 +3588,21 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_json",
|
||||
"solana-clap-utils",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-version",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-logger"
|
||||
version = "1.2.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc703cb2807e9d713f70df32ac8c3a7a9c8af437dd0d468b1b77cfd8e8b4cbc8"
|
||||
dependencies = [
|
||||
"env_logger",
|
||||
"lazy_static",
|
||||
"log 0.4.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-logger"
|
||||
version = "1.3.0"
|
||||
|
@ -3620,7 +3656,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_json",
|
||||
"solana-clap-utils",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -3637,7 +3673,7 @@ dependencies = [
|
|||
"serde_derive",
|
||||
"socket2",
|
||||
"solana-clap-utils",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-version",
|
||||
"tokio 0.1.22",
|
||||
"tokio-codec",
|
||||
|
@ -3649,7 +3685,7 @@ name = "solana-noop-program"
|
|||
version = "1.3.0"
|
||||
dependencies = [
|
||||
"log 0.4.8",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-sdk 1.3.0",
|
||||
]
|
||||
|
||||
|
@ -3689,7 +3725,7 @@ dependencies = [
|
|||
"rayon",
|
||||
"serde",
|
||||
"solana-budget-program",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-rayon-threadlimit",
|
||||
"solana-sdk 1.3.0",
|
||||
|
@ -3705,7 +3741,7 @@ dependencies = [
|
|||
"rayon",
|
||||
"solana-clap-utils",
|
||||
"solana-ledger",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-measure",
|
||||
"solana-perf",
|
||||
"solana-sdk 1.3.0",
|
||||
|
@ -3725,7 +3761,7 @@ dependencies = [
|
|||
"serde_yaml",
|
||||
"solana-client",
|
||||
"solana-core",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-net-utils",
|
||||
"solana-notifier",
|
||||
|
@ -3789,7 +3825,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_derive",
|
||||
"solana-config-program",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-measure",
|
||||
"solana-metrics",
|
||||
"solana-noop-program",
|
||||
|
@ -3815,27 +3851,38 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "solana-sdk"
|
||||
version = "1.2.13"
|
||||
version = "1.2.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cae779f912f1cbe2fe91df656ecc5ccdda9dd3378c0934f4390b7ba33501b3dc"
|
||||
checksum = "a556c1b456609b760ff47b933912f27563ea8a9a1692864cbc1014c02f5b981e"
|
||||
dependencies = [
|
||||
"assert_matches",
|
||||
"bincode",
|
||||
"bs58",
|
||||
"bv",
|
||||
"byteorder",
|
||||
"chrono",
|
||||
"ed25519-dalek",
|
||||
"generic-array 0.14.3",
|
||||
"hex",
|
||||
"hmac",
|
||||
"itertools",
|
||||
"log 0.4.8",
|
||||
"memmap",
|
||||
"num-derive 0.3.0",
|
||||
"num-traits",
|
||||
"pbkdf2",
|
||||
"rand 0.7.3",
|
||||
"rand_chacha 0.2.2",
|
||||
"rustc_version",
|
||||
"rustversion",
|
||||
"serde",
|
||||
"serde_bytes",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"sha2",
|
||||
"solana-sdk-macro 1.2.13",
|
||||
"solana-crate-features 1.2.17",
|
||||
"solana-logger 1.2.17",
|
||||
"solana-sdk-macro 1.2.17",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
|
@ -3869,8 +3916,8 @@ dependencies = [
|
|||
"serde_derive",
|
||||
"serde_json",
|
||||
"sha2",
|
||||
"solana-crate-features",
|
||||
"solana-logger",
|
||||
"solana-crate-features 1.3.0",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-sdk-macro 1.3.0",
|
||||
"solana-sdk-macro-frozen-abi",
|
||||
"thiserror",
|
||||
|
@ -3879,9 +3926,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "solana-sdk-macro"
|
||||
version = "1.2.13"
|
||||
version = "1.2.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8924af69f2685287988a530014c3268d78d6ce3fe4a1a61f87537c545afa8427"
|
||||
checksum = "38bc386020de692562a29c0696a71c14a3d94455a9a785a97c7b254c38d6a2c8"
|
||||
dependencies = [
|
||||
"bs58",
|
||||
"proc-macro2 1.0.17",
|
||||
|
@ -3942,7 +3989,7 @@ dependencies = [
|
|||
"solana-client",
|
||||
"solana-core",
|
||||
"solana-local-cluster",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-stake-program",
|
||||
|
@ -3962,7 +4009,7 @@ dependencies = [
|
|||
"solana-cli",
|
||||
"solana-cli-config",
|
||||
"solana-client",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-notifier",
|
||||
"solana-sdk 1.3.0",
|
||||
|
@ -3982,7 +4029,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_derive",
|
||||
"solana-config-program",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-sdk-macro-frozen-abi",
|
||||
|
@ -3997,7 +4044,7 @@ dependencies = [
|
|||
"libc",
|
||||
"log 0.4.8",
|
||||
"nix",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-measure",
|
||||
"solana-metrics",
|
||||
"solana-perf",
|
||||
|
@ -4014,7 +4061,7 @@ dependencies = [
|
|||
"log 0.4.8",
|
||||
"nix",
|
||||
"solana-clap-utils",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-version",
|
||||
"sysctl",
|
||||
"unix_socket2",
|
||||
|
@ -4093,7 +4140,7 @@ dependencies = [
|
|||
"solana-download-utils",
|
||||
"solana-faucet",
|
||||
"solana-ledger",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-net-utils",
|
||||
"solana-perf",
|
||||
|
@ -4112,7 +4159,7 @@ dependencies = [
|
|||
"rustc_version",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-sdk-macro-frozen-abi",
|
||||
]
|
||||
|
@ -4144,7 +4191,7 @@ dependencies = [
|
|||
"rustc_version",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-sdk 1.3.0",
|
||||
"solana-sdk-macro-frozen-abi",
|
||||
|
@ -4178,7 +4225,7 @@ dependencies = [
|
|||
"solana-cli",
|
||||
"solana-cli-config",
|
||||
"solana-client",
|
||||
"solana-logger",
|
||||
"solana-logger 1.3.0",
|
||||
"solana-metrics",
|
||||
"solana-notifier",
|
||||
"solana-sdk 1.3.0",
|
||||
|
@ -4213,24 +4260,24 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
|
|||
|
||||
[[package]]
|
||||
name = "spl-memo"
|
||||
version = "1.0.4"
|
||||
version = "1.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "451acd972c0ed2d114c42f8fffdd9a6007840e51fe7791f250d183e72c8ff7b5"
|
||||
checksum = "b303bab17e0c696de6d7550ba6f05a5a6dbf5c5d1597e68a4592899072e1c07a"
|
||||
dependencies = [
|
||||
"solana-sdk 1.2.13",
|
||||
"solana-sdk 1.2.17",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "spl-token"
|
||||
version = "1.0.3"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e1088b10ccb61c5f4f770dd46f643e8e2e7c70aeeda4e298a10ccf2090841328"
|
||||
checksum = "07c8482ae4aac6bb7d73aef79df5fb403a16a0cfbe200442532cff6b98613383"
|
||||
dependencies = [
|
||||
"cbindgen",
|
||||
"num-derive 0.2.5",
|
||||
"num-traits",
|
||||
"remove_dir_all",
|
||||
"solana-sdk 1.2.13",
|
||||
"solana-sdk 1.2.17",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Inflector = "0.11.4"
|
|||
lazy_static = "1.4.0"
|
||||
solana-sdk = { path = "../sdk", version = "1.3.0" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "1.3.0" }
|
||||
spl-token-v1-0 = { package = "spl-token", version = "1.0.3", features = ["skip-no-mangle"] }
|
||||
spl-token-v1-0 = { package = "spl-token", version = "1.0.6", features = ["skip-no-mangle"] }
|
||||
serde = "1.0.112"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.56"
|
||||
|
|
|
@ -3,7 +3,7 @@ use solana_sdk::pubkey::Pubkey;
|
|||
use spl_token_v1_0::{
|
||||
option::COption,
|
||||
solana_sdk::pubkey::Pubkey as SplTokenPubkey,
|
||||
state::{Account, Mint, Multisig, State},
|
||||
state::{unpack, Account, Mint, Multisig},
|
||||
};
|
||||
use std::{mem::size_of, str::FromStr};
|
||||
|
||||
|
@ -15,7 +15,7 @@ pub fn spl_token_id_v1_0() -> Pubkey {
|
|||
pub fn parse_token(data: &[u8]) -> Result<TokenAccountType, ParseAccountError> {
|
||||
let mut data = data.to_vec();
|
||||
if data.len() == size_of::<Account>() {
|
||||
let account: Account = *State::unpack(&mut data)
|
||||
let account: Account = *unpack(&mut data)
|
||||
.map_err(|_| ParseAccountError::AccountNotParsable(ParsableAccount::SplToken))?;
|
||||
Ok(TokenAccountType::Account(UiTokenAccount {
|
||||
mint: account.mint.to_string(),
|
||||
|
@ -30,7 +30,7 @@ pub fn parse_token(data: &[u8]) -> Result<TokenAccountType, ParseAccountError> {
|
|||
delegated_amount: account.delegated_amount,
|
||||
}))
|
||||
} else if data.len() == size_of::<Mint>() {
|
||||
let mint: Mint = *State::unpack(&mut data)
|
||||
let mint: Mint = *unpack(&mut data)
|
||||
.map_err(|_| ParseAccountError::AccountNotParsable(ParsableAccount::SplToken))?;
|
||||
Ok(TokenAccountType::Mint(UiMint {
|
||||
owner: match mint.owner {
|
||||
|
@ -41,7 +41,7 @@ pub fn parse_token(data: &[u8]) -> Result<TokenAccountType, ParseAccountError> {
|
|||
is_initialized: mint.is_initialized,
|
||||
}))
|
||||
} else if data.len() == size_of::<Multisig>() {
|
||||
let multisig: Multisig = *State::unpack(&mut data)
|
||||
let multisig: Multisig = *unpack(&mut data)
|
||||
.map_err(|_| ParseAccountError::AccountNotParsable(ParsableAccount::SplToken))?;
|
||||
Ok(TokenAccountType::Multisig(UiMultisig {
|
||||
num_required_signers: multisig.m,
|
||||
|
@ -106,13 +106,14 @@ pub struct UiMultisig {
|
|||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
use spl_token_v1_0::state::unpack_unchecked;
|
||||
|
||||
#[test]
|
||||
fn test_parse_token() {
|
||||
let mint_pubkey = SplTokenPubkey::new(&[2; 32]);
|
||||
let owner_pubkey = SplTokenPubkey::new(&[3; 32]);
|
||||
let mut account_data = [0; size_of::<Account>()];
|
||||
let mut account: &mut Account = State::unpack_unchecked(&mut account_data).unwrap();
|
||||
let mut account: &mut Account = unpack_unchecked(&mut account_data).unwrap();
|
||||
account.mint = mint_pubkey;
|
||||
account.owner = owner_pubkey;
|
||||
account.amount = 42;
|
||||
|
@ -131,7 +132,7 @@ mod test {
|
|||
);
|
||||
|
||||
let mut mint_data = [0; size_of::<Mint>()];
|
||||
let mut mint: &mut Mint = State::unpack_unchecked(&mut mint_data).unwrap();
|
||||
let mut mint: &mut Mint = unpack_unchecked(&mut mint_data).unwrap();
|
||||
mint.owner = COption::Some(owner_pubkey);
|
||||
mint.decimals = 3;
|
||||
mint.is_initialized = true;
|
||||
|
@ -148,7 +149,7 @@ mod test {
|
|||
let signer2 = SplTokenPubkey::new(&[2; 32]);
|
||||
let signer3 = SplTokenPubkey::new(&[3; 32]);
|
||||
let mut multisig_data = [0; size_of::<Multisig>()];
|
||||
let mut multisig: &mut Multisig = State::unpack_unchecked(&mut multisig_data).unwrap();
|
||||
let mut multisig: &mut Multisig = unpack_unchecked(&mut multisig_data).unwrap();
|
||||
let mut signers = [SplTokenPubkey::default(); 11];
|
||||
signers[0] = signer1;
|
||||
signers[1] = signer2;
|
||||
|
|
|
@ -67,7 +67,7 @@ solana-transaction-status = { path = "../transaction-status", version = "1.3.0"
|
|||
solana-version = { path = "../version", version = "1.3.0" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "1.3.0" }
|
||||
solana-vote-signer = { path = "../vote-signer", version = "1.3.0" }
|
||||
spl-token-v1-0 = { package = "spl-token", version = "1.0.3", features = ["skip-no-mangle"] }
|
||||
spl-token-v1-0 = { package = "spl-token", version = "1.0.6", features = ["skip-no-mangle"] }
|
||||
tempfile = "3.1.0"
|
||||
thiserror = "1.0"
|
||||
tokio = "0.1"
|
||||
|
|
|
@ -50,7 +50,7 @@ use solana_transaction_status::{
|
|||
ConfirmedBlock, ConfirmedTransaction, TransactionStatus, UiTransactionEncoding,
|
||||
};
|
||||
use solana_vote_program::vote_state::{VoteState, MAX_LOCKOUT_HISTORY};
|
||||
use spl_token_v1_0::state::{Account as TokenAccount, State as TokenState};
|
||||
use spl_token_v1_0::state::Account as TokenAccount;
|
||||
use std::{
|
||||
cmp::{max, min},
|
||||
collections::{HashMap, HashSet},
|
||||
|
@ -850,7 +850,7 @@ impl JsonRpcRequestProcessor {
|
|||
));
|
||||
}
|
||||
let mut data = account.data.to_vec();
|
||||
let balance = TokenState::unpack(&mut data)
|
||||
let balance = spl_token_v1_0::state::unpack(&mut data)
|
||||
.map_err(|_| {
|
||||
Error::invalid_params("Invalid param: not a v1.0 Token account".to_string())
|
||||
})
|
||||
|
@ -885,7 +885,7 @@ impl JsonRpcRequestProcessor {
|
|||
let supply = get_filtered_program_accounts(&bank, &mint_account.owner, filters)
|
||||
.map(|(_pubkey, account)| {
|
||||
let mut data = account.data.to_vec();
|
||||
TokenState::unpack(&mut data)
|
||||
spl_token_v1_0::state::unpack(&mut data)
|
||||
.map(|account: &mut TokenAccount| account.amount)
|
||||
.unwrap_or(0)
|
||||
})
|
||||
|
@ -4262,7 +4262,8 @@ pub mod tests {
|
|||
let RpcHandler { io, meta, bank, .. } = start_rpc_handler_with_tx(&Pubkey::new_rand());
|
||||
|
||||
let mut account_data = [0; size_of::<TokenAccount>()];
|
||||
let account: &mut TokenAccount = TokenState::unpack_unchecked(&mut account_data).unwrap();
|
||||
let account: &mut TokenAccount =
|
||||
spl_token_v1_0::state::unpack_unchecked(&mut account_data).unwrap();
|
||||
let mint = SplTokenPubkey::new(&[2; 32]);
|
||||
let owner = SplTokenPubkey::new(&[3; 32]);
|
||||
let delegate = SplTokenPubkey::new(&[4; 32]);
|
||||
|
@ -4306,7 +4307,8 @@ pub mod tests {
|
|||
|
||||
// Add the mint, plus another token account to ensure getTokenSupply sums all mint accounts
|
||||
let mut mint_data = [0; size_of::<Mint>()];
|
||||
let mint_state: &mut Mint = TokenState::unpack_unchecked(&mut mint_data).unwrap();
|
||||
let mint_state: &mut Mint =
|
||||
spl_token_v1_0::state::unpack_unchecked(&mut mint_data).unwrap();
|
||||
*mint_state = Mint {
|
||||
owner: COption::Some(owner),
|
||||
decimals: 2,
|
||||
|
@ -4344,7 +4346,8 @@ pub mod tests {
|
|||
|
||||
// Add another token account with the same owner and delegate but different mint
|
||||
let mut account_data = [0; size_of::<TokenAccount>()];
|
||||
let account: &mut TokenAccount = TokenState::unpack_unchecked(&mut account_data).unwrap();
|
||||
let account: &mut TokenAccount =
|
||||
spl_token_v1_0::state::unpack_unchecked(&mut account_data).unwrap();
|
||||
let new_mint = SplTokenPubkey::new(&[5; 32]);
|
||||
*account = TokenAccount {
|
||||
mint: new_mint,
|
||||
|
|
|
@ -17,8 +17,8 @@ solana-account-decoder = { path = "../account-decoder", version = "1.3.0" }
|
|||
solana-sdk = { path = "../sdk", version = "1.3.0" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "1.3.0" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "1.3.0" }
|
||||
spl-memo-v1-0 = { package = "spl-memo", version = "1.0.4", features = ["skip-no-mangle"] }
|
||||
spl-token-v1-0 = { package = "spl-token", version = "1.0.3", features = ["skip-no-mangle"] }
|
||||
spl-memo-v1-0 = { package = "spl-memo", version = "1.0.7", features = ["skip-no-mangle"] }
|
||||
spl-token-v1-0 = { package = "spl-token", version = "1.0.6", features = ["skip-no-mangle"] }
|
||||
serde = "1.0.112"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.56"
|
||||
|
|
Loading…
Reference in New Issue