Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switching to plain deserialize for TM resize #485

Merged
merged 1 commit into from
Sep 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 24 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 12 additions & 8 deletions src/config/data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -278,14 +278,18 @@ impl FromStr for Cluster {
}
}

impl ToString for Cluster {
fn to_string(&self) -> String {
match self {
Cluster::Devnet => "devnet".to_string(),
Cluster::Mainnet => "mainnet".to_string(),
Cluster::Localnet => "localnet".to_string(),
Cluster::Unknown => "unknown".to_string(),
}
impl Display for Cluster {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
f,
"{}",
match self {
Cluster::Devnet => "devnet",
Cluster::Mainnet => "mainnet",
Cluster::Localnet => "localnet",
Cluster::Unknown => "unknown",
}
)
}
}

Expand Down
5 changes: 3 additions & 2 deletions src/deploy/process.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ use anchor_client::solana_sdk::{
signature::{Keypair, Signer},
};
use anyhow::Result;
use borsh::BorshDeserialize;
use console::style;
use mpl_token_metadata::state::{Metadata, TokenMetadataAccount};
use mpl_token_metadata::state::Metadata;

use crate::{
cache::*,
Expand Down Expand Up @@ -175,7 +176,7 @@ pub async fn process_deploy(args: DeployArgs) -> Result<()> {

let collection_metadata = find_metadata_pda(&collection_mint);
let data = program.rpc().get_account_data(&collection_metadata)?;
let metadata = Metadata::safe_deserialize(data.as_slice())?;
let metadata = Metadata::deserialize(&mut data.as_slice())?;

let sig = initialize_candy_machine(
&config_data,
Expand Down
7 changes: 5 additions & 2 deletions src/freeze/thaw.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
use std::{fmt::Display, time::Duration};

use anchor_client::solana_sdk::compute_budget::ComputeBudgetInstruction;
use borsh::BorshDeserialize;
use mpl_candy_guard::{
accounts::Route as RouteAccount, guards::FreezeInstruction, instruction::Route,
instructions::RouteArgs, state::GuardType,
Expand Down Expand Up @@ -251,7 +252,8 @@ pub async fn process_thaw(args: ThawArgs) -> Result<()> {
.unwrap()
.value
.unwrap();
let metadata = Metadata::safe_deserialize(&metadata_account.data).unwrap();
let metadata =
Metadata::deserialize(&mut metadata_account.data.as_slice()).unwrap();

let rule_set = if let Some(ProgrammableConfig::V1 { rule_set }) =
metadata.programmable_config
Expand Down Expand Up @@ -460,7 +462,8 @@ pub async fn process_thaw(args: ThawArgs) -> Result<()> {
.unwrap()
.value
.unwrap();
let metadata = Metadata::safe_deserialize(&metadata_account.data).unwrap();
let metadata =
Metadata::deserialize(&mut metadata_account.data.as_slice()).unwrap();

let rule_set = if let Some(ProgrammableConfig::V1 { rule_set }) =
metadata.programmable_config
Expand Down
1 change: 1 addition & 0 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ fn setup_logging(level: Option<EnvFilter>) -> Result<()> {
let file = OpenOptions::new()
.write(true)
.create(true)
.truncate(true)
.open(log_path)
.unwrap();

Expand Down
5 changes: 3 additions & 2 deletions src/mint/process.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ use anchor_client::solana_sdk::{
system_program, sysvar,
};
use anyhow::Result;
use borsh::BorshDeserialize;
use console::style;
use mpl_candy_machine_core::{
accounts as nft_accounts, instruction as nft_instruction, AccountVersion, CandyMachine,
Expand All @@ -17,7 +18,7 @@ use mpl_token_metadata::{
find_collection_authority_account, find_metadata_delegate_record_account,
find_token_record_account,
},
state::{Metadata, TokenMetadataAccount},
state::Metadata,
};
use solana_client::rpc_response::Response;
use spl_associated_token_account::get_associated_token_address;
Expand Down Expand Up @@ -250,7 +251,7 @@ pub async fn mint(
let collection_metadata = find_metadata_pda(&collection_mint);

let data = program.rpc().get_account_data(&collection_metadata)?;
let metadata = Metadata::safe_deserialize(data.as_slice())?;
let metadata = Metadata::deserialize(&mut data.as_slice())?;

let metadata_pda = find_metadata_pda(&nft_mint.pubkey());
let master_edition_pda = find_master_edition_pda(&nft_mint.pubkey());
Expand Down
5 changes: 3 additions & 2 deletions src/pdas.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ use anchor_client::{
Program,
};
use anyhow::{anyhow, Result};
use borsh::BorshDeserialize;
use mpl_token_metadata::{
pda::{find_master_edition_account, find_metadata_account},
state::{Key, MasterEditionV2, Metadata, TokenMetadataAccount, MAX_MASTER_EDITION_LEN},
state::{Key, MasterEditionV2, Metadata, MAX_MASTER_EDITION_LEN},
utils::try_from_slice_checked,
};

Expand Down Expand Up @@ -37,7 +38,7 @@ pub fn get_metadata_pda<C: Deref<Target = impl Signer> + Clone>(
&metadata_pubkey.to_string()
)
})?;
let metadata = Metadata::safe_deserialize(metadata_account.data.as_slice());
let metadata = Metadata::deserialize(&mut metadata_account.data.as_slice());
metadata.map(|m| (metadata_pubkey, m)).map_err(|_| {
anyhow!(
"Failed to deserialize metadata account: {}",
Expand Down
2 changes: 1 addition & 1 deletion src/upload/process.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ pub async fn process_upload(args: UploadArgs) -> Result<()> {

// creates/loads the cache
let mut cache = load_cache(&args.cache, true)?;
if asset_pairs.get(&-1).is_none() {
if !asset_pairs.contains_key(&-1) {
cache.items.remove("-1");
}

Expand Down
Loading