Estoy tratando de grabar un token (que definitivamente está acuñado y existe) en la red Solana usando el SDK de JavaScript Metaplex.
Su función de quema de fichas (escrita en la parte inferior) toma un objeto de esta interfaz para un parámetro:
interface IBurnTokenParams { connection: Connection; wallet: Wallet; token: PublicKey; mint: PublicKey; amount: number | u64; owner?: PublicKey; // close token account after close?: boolean; }Pero en ninguna parte de sus documentos explican exactamente qué representa el campo "menta". Probé la dirección pública del token (que creo que es para lo que sirve el campo 'token'), la dirección de la autoridad de menta y la dirección de actualización, y ninguno de ellos parece funcionar.
Aquí está la función:
export const burnToken = async ({ connection, wallet, token, mint, amount, owner, close = true, }: IBurnTokenParams): Promise<IBurnTokenResponse> => { const tx = new Transaction({ feePayer: wallet.publicKey }).add( Token.createBurnInstruction( TOKEN_PROGRAM_ID, mint, token, owner ?? wallet.publicKey, [], amount, ), ); if (close) { tx.add( Token.createCloseAccountInstruction( TOKEN_PROGRAM_ID, token, wallet.publicKey, owner ?? wallet.publicKey, [], ), ); } const txId = await sendTransaction({ connection, wallet, txs: [tx] }); return { txId }; };