Skip to content

Commit

Permalink
chore: cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
Nagaprasadvr committed Nov 15, 2024
1 parent bf501bd commit fa44e23
Show file tree
Hide file tree
Showing 13 changed files with 58 additions and 19 deletions.
16 changes: 10 additions & 6 deletions digital_asset_types/src/dao/scopes/asset.rs
Original file line number Diff line number Diff line change
Expand Up @@ -593,7 +593,7 @@ pub async fn get_nft_editions(
.ok_or(DbErr::RecordNotFound(
"Master Edition data not found".to_string(),
))
.map(|data| get_master_edition_data_from_json(data))??;
.map(get_master_edition_data_from_json)??;

let nft_editions = asset_v1_account_attachments::Entity::find()
.filter(
Expand All @@ -602,7 +602,7 @@ pub async fn get_nft_editions(
.and(asset_v1_account_attachments::Column::Data.is_not_null())
.and(Expr::cust(&format!(
"data->>'parent' = '{}'",
master_edition_pubkey.to_string()
master_edition_pubkey
))),
)
.order_by_asc(asset_v1_account_attachments::Column::SlotUpdated)
Expand All @@ -616,23 +616,27 @@ pub async fn get_nft_editions(
.data
.clone()
.ok_or(DbErr::RecordNotFound("Edition data not found".to_string()))
.map(|data| get_edition_data_from_json(data))??;
.map(get_edition_data_from_json)??;

Ok(NftEdition {
mint_address: mint_address.to_string(),
mint_address: e
.asset_id
.clone()
.map(|id| bs58::encode(id).into_string())
.unwrap_or("".to_string()),
edition_number: data.edition,
edition_address: bs58::encode(e.id.clone()).into_string(),
})
})
.collect::<Result<Vec<NftEdition>, _>>()?;

return Ok(NftEditions {
Ok(NftEditions {
total: nft_editions.len() as u32,
limit,
page,
master_edition_address: master_edition_pubkey.to_string(),
supply: master_edition_data.supply,
max_supply: master_edition_data.max_supply,
editions: nft_editions,
});
})
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
3 changes: 1 addition & 2 deletions integration_tests/tests/integration_tests/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,5 @@ mod cnft_tests;
mod common;
mod general_scenario_tests;
mod mpl_core_tests;
mod regular_nft_tests;

mod nft_editions_tests;
mod regular_nft_tests;
16 changes: 13 additions & 3 deletions integration_tests/tests/integration_tests/nft_editions_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,29 @@ async fn test_get_nft_editions() {
let setup = TestSetup::new_with_options(
name.clone(),
TestSetupOptions {
network: Some(Network::Devnet),
network: Some(Network::Mainnet),
},
)
.await;

let seeds: Vec<SeedEvent> = seed_accounts(["Ey2Qb8kLctbchQsMnhZs5DjY32To2QtPuXNwWvk4NosL"]);
let seeds: Vec<SeedEvent> = seed_accounts([
"Ey2Qb8kLctbchQsMnhZs5DjY32To2QtPuXNwWvk4NosL",
"9ZmY7qCaq7WbrR7RZdHWCNS9FrFRPwRqU84wzWfmqLDz",
"8SHfqzJYABeGfiG1apwiEYt6TvfGQiL1pdwEjvTKsyiZ",
"GJvFDcBWf6aDncd1TBzx2ou1rgLFYaMBdbYLBa9oTAEw",
"9ZmY7qCaq7WbrR7RZdHWCNS9FrFRPwRqU84wzWfmqLDz",
"AoxgzXKEsJmUyF5pBb3djn9cJFA26zh2SQHvd9EYijZV",
"9yQecKKYSHxez7fFjJkUvkz42TLmkoXzhyZxEf2pw8pz",
"4V9QuYLpiMu4ZQmhdEHmgATdgiHkDeJfvZi84BfkYcez",
"giWoA4jqHFkodPJgtbRYRcYtiXbsVytnxnEao3QT2gg",
]);

apply_migrations_and_delete_data(setup.db.clone()).await;
index_seed_events(&setup, seeds.iter().collect_vec()).await;

let request = r#"
{
"mintAddress": "BPU5vrAHafRuVeK33CgfdwTKSsmC4p6t3aqyav3cFF7Y"
"mintAddress": "Ey2Qb8kLctbchQsMnhZs5DjY32To2QtPuXNwWvk4NosL"
}
"#;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
source: integration_tests/tests/integration_tests/nft_editions_tests.rs
expression: response
snapshot_kind: text
---
{
"total": 2,
"limit": 10,
"master_edition_address": "8SHfqzJYABeGfiG1apwiEYt6TvfGQiL1pdwEjvTKsyiZ",
"supply": 60,
"max_supply": 69,
"editions": [
{
"mint_address": "GJvFDcBWf6aDncd1TBzx2ou1rgLFYaMBdbYLBa9oTAEw",
"edition_address": "AoxgzXKEsJmUyF5pBb3djn9cJFA26zh2SQHvd9EYijZV",
"edition_number": 1
},
{
"mint_address": "9yQecKKYSHxez7fFjJkUvkz42TLmkoXzhyZxEf2pw8pz",
"edition_address": "giWoA4jqHFkodPJgtbRYRcYtiXbsVytnxnEao3QT2gg",
"edition_number": 2
}
]
}
18 changes: 10 additions & 8 deletions program_transformers/src/token_metadata/v1_asset.rs
Original file line number Diff line number Diff line change
Expand Up @@ -144,14 +144,14 @@ async fn index_token_account_data<T: ConnectionTrait + TransactionTrait>(
Ok(())
}

fn check_is_non_fungible_from_token_standard(token_standard: &Option<TokenStandard>) -> bool {
match token_standard {
const fn check_is_non_fungible_from_token_standard(token_standard: Option<TokenStandard>) -> bool {
matches!(
token_standard,
Some(TokenStandard::NonFungible)
| Some(TokenStandard::NonFungibleEdition)
| Some(TokenStandard::ProgrammableNonFungible)
| Some(TokenStandard::ProgrammableNonFungibleEdition) => true,
_ => false,
}
| Some(TokenStandard::NonFungibleEdition)
| Some(TokenStandard::ProgrammableNonFungible)
| Some(TokenStandard::ProgrammableNonFungibleEdition)
)
}

pub async fn save_v1_asset<T: ConnectionTrait + TransactionTrait>(
Expand Down Expand Up @@ -413,7 +413,7 @@ pub async fn save_v1_asset<T: ConnectionTrait + TransactionTrait>(
txn.commit().await?;

// If the asset is a non-fungible token, then we need to insert to the asset_v1_account_attachments table
if check_is_non_fungible_from_token_standard(&metadata.token_standard) {
if check_is_non_fungible_from_token_standard(metadata.token_standard) {
upsert_asset_v1_account_attachments(conn, &mint_pubkey, slot).await?;
}

Expand All @@ -439,6 +439,8 @@ async fn upsert_asset_v1_account_attachments<T: ConnectionTrait + TransactionTra
id: ActiveValue::Set(edition_pubkey.to_bytes().to_vec()),
asset_id: ActiveValue::Set(Some(mint_pubkey_vec.clone())),
slot_updated: ActiveValue::Set(slot as i64),
// by default, the attachment type is MasterEditionV1
attachment_type: ActiveValue::Set(V1AccountAttachments::MasterEditionV1),
..Default::default()
};
let query = asset_v1_account_attachments::Entity::insert(attachment)
Expand Down

0 comments on commit fa44e23

Please sign in to comment.