0

Error Report

Issue: I am encountering compilation errors when trying to compile my Rust project. The errors are related to unresolved imports and unknown fields in my code.

Error Messages:

error[E0432]: unresolved import `mpl_token_metadata`
 --> programs/context/src/context.rs:4:5
  |
4 | use mpl_token_metadata::ID as MetadataProgramId;
  |     ^^^^^^^^^^^^^^^^^^ use of undeclared crate or module `mpl_token_metadata`

error[E0432]: unresolved import `mpl_token_metadata`
 --> programs/context/src/lib.rs:8:5
  |
8 | use mpl_token_metadata::instruction as mpl_instruction;
  |     ^^^^^^^^^^^^^^^^^^ use of undeclared crate or module `mpl_token_metadata`

warning: unused import: `self`
 --> programs/context/src/context.rs:2:25
  |
2 | use anchor_spl::token::{self, Token, TokenAccount, Mint};
  |                         ^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `Metadata`
 --> programs/context/src/lib.rs:6:28
  |
6 | use anchor_spl::metadata::{Metadata, MetadataAccount};
  |                            ^^^^^^^^

warning: unused import: `Token`
 --> programs/context/src/lib.rs:7:31
  |
7 | use anchor_spl::token::{self, Token, Transfer};
  |                               ^^^^^

error[E0609]: no field `token_metadata_program` on type `&mut ImportCollection<'_>`
  --> programs/context/src/lib.rs:45:26
   |
45 |             ctx.accounts.token_metadata_program.key(),
   |                          ^^^^^^^^^^^^^^^^^^^^^^ unknown field
   |
   = note: available fields are: `collection`, `authority`, `metadata`, `system_program`, `marketplace_authority`

error[E0609]: no field `token_metadata_program` on type `&mut ImportCollection<'_>`
  --> programs/context/src/lib.rs:58:30
   |
58 |                 ctx.accounts.token_metadata_program.to_account_info(),
   |                              ^^^^^^^^^^^^^^^^^^^^^^ unknown field
   |
   = note: available fields are: `collection`, `authority`, `metadata`, `system_program`, `marketplace_authority`

Some errors have detailed explanations: E0432, E0609.
For more information about an error, try `rustc --explain E0432`.
warning: `context` (lib) generated 3 warnings
error: could not compile `context` (lib) due to 4 previous errors; 3 warnings emitted 

Code Context: Here are the relevant parts of my code: Cargo.toml:

[package]
name = "context"
version = "0.1.0"
description = "Created with Anchor"
edition = "2021"

[lib]
crate-type = ["cdylib", "lib"]
name = "context"

[features]
no-entrypoint = []
idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build"]
cpi = ["no-entrypoint"]
default = []

[dependencies]
anchor-lang = "0.29.0"
anchor-spl = { version = "0.29.0", features = ["metadata"] }

context.rs:

use anchor_lang::prelude::*;
use anchor_spl::token::{self, Token, TokenAccount, Mint};
use crate::state::*;
use mpl_token_metadata::ID as MetadataProgramId; 

lib.rs:

use anchor_lang::prelude::*;
use anchor_spl::metadata::{Metadata, MetadataAccount};
use anchor_spl::token::{self, Token, Transfer};
use mpl_token_metadata::instruction as mpl_instruction;  

Expected Behavior: The project should compile without any unresolved import errors or unknown field errors.

1 Answer 1

0

If you want to use mpl_token_metadata, be sure to include it under your dependencies:

[dependencies]
anchor-lang = "0.29.0"
anchor-spl = { version = "0.29.0", features = ["metadata"] }
mpl-token-metadata = "5"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.