2

Solana, and I use this function:

const fromTokenAccount = await getOrCreateAssociatedTokenAccount(
            connection,
            fromWallet,
            mintPublickey,
            fromWallet.publicKey
        );

and version is:

    "@solana/spl-token": "^0.2.0",
    "@solana/web3.js": "^1.39.1",

and show this issue:

TypeError: mint.toBuffer is not a function
    at /Users/yanjun/program/solana/solana_web/node_modules/@solana/spl-token/lib/cjs/state/mint.js:89:118
    at Generator.next (<anonymous>)
    at /Users/yanjun/program/solana/solana_web/node_modules/@solana/spl-token/lib/cjs/state/mint.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/Users/yanjun/program/solana/solana_web/node_modules/@solana/spl-token/lib/cjs/state/mint.js:4:12)
    at getAssociatedTokenAddress (/Users/yanjun/program/solana/solana_web/node_modules/@solana/spl-token/lib/cjs/state/mint.js:86:12)
    at /Users/yanjun/program/solana/solana_web/node_modules/@solana/spl-token/lib/cjs/actions/getOrCreateAssociatedTokenAccount.js:35:77
    at Generator.next (<anonymous>)
    at /Users/yanjun/program/solana/solana_web/node_modules/@solana/spl-token/lib/cjs/actions/getOrCreateAssociatedTokenAccount.js:8:71
    at new Promise (<anonymous>)

and I check into it show this line issue:

        const [address] = yield web3_js_1.PublicKey.findProgramAddress([owner.toBuffer(), programId.toBuffer(), mint.toBuffer()], associatedTokenProgramId);

1 Answers1

0

I know why, I forget new PublicKey(mintPublickey) it is work now:

const fromTokenAccount = await getOrCreateAssociatedTokenAccount(
            connection,
            fromWallet,
            new PublicKey(mintPublickey),
            fromWallet.publicKey
        );