1

I'm trying to add ThawAccountInstruction to my main transaction but but I'm getting an error Signature verification failed.

I'm trying to unfreeze the frozen accounts (NFT) in my wallet and send them via transfer to another wallet. Without this instruction everything works correctly and the transaction is signed, but something is wrong here. For the freeze parameter I use the Freeze Authority public key.

I sign my transaction (one) at the end with Phantom (since I connect through it).

                const unfreeze = await createThawAccountInstruction (
                    senderTokenAccountAddress,
                    mintAddress,
                    freeze,
                    [],
                    TOKEN_PROGRAM_ID
                );
                    transaction.add(unfreeze);

I signing like this:

          transaction.feePayer = window.solana.publicKey;
          
          let blockhashObj = await connection.getLatestBlockhash();
          transaction.recentBlockhash = await blockhashObj.blockhash;

          const signed = await window.solana.signTransaction(transaction);
          let txid = await connection.sendRawTransaction(signed.serialize());
          await connection.confirmTransaction(txid);

1 Answer 1

0

You need to sign with freeze, so most likely the keypair at window.solana is not the same as freeze.

You'll need to find a way to sign with freeze, either by providing a web service to sign transactions, or make the freeze authority public in some way.

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.