Maybe I need some guidance to really understand the program, I hope you will help. Thank you very much
currently i have token program and i need to add metadata , can you show me how to do it
use anchor_lang::prelude::*;use anchor_spl::{token::Mint, token_2022::Token2022};use crate::state::InitializeTokenMetadata;#[derive(Accounts)]#[instruction(params: InitializeTokenMetadata)]pub struct InitToken<'info> { #[account(mut)] pub metadata: UncheckedAccount<'info>, #[account( init, seeds = [b"mint", mint.key().as_ref()], bump, payer = payer, mint::decimals = params.decimals, mint::authority = mint, )] pub mint: Account<'info, Mint>, #[account(mut)] pub payer: Signer<'info>, pub rent: Sysvar<'info, Rent>, pub system_program: Program<'info, System>, pub token_program: Program<'info, Token2022>,}