Skip to content

TrustWallet - Cannot read properties of undefined (reading "serialize") #987

Description

@sineus

Describe the bug
Hi everybody, we use Trust wallet adapter on our application and we have a problem when we send transaction, Trust wallet try to serialize message from Transaction entity, but with "legacy" Transaction, there is no message property, only in VersionedTransaction. For me, this adapter isn't fully functional with Solana, have you a solution to fix this?

To Reproduce
Steps to reproduce the behavior:
Create function to create Transaction and send it with the wallet adapter:

// This function does not works
async function createLegacyTransaction(from: PublicKey, to: PublicKey, amount: number) {
  const transaction = new Transaction()

  transaction.add(
    SystemProgram.transfer({
      fromPubkey: from,
      toPubkey: to,
      lamports: amount
    })
  )
  transaction.add(ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 100000 }))

  const { blockhash } = await connection.getLatestBlockhash()

  transaction.recentBlockhash = blockhash
  transaction.feePayer = from

  return transaction;
}

// Function works
async function createVersionedTransaction(from: PublicKey, to: PublicKey, amount: number) {
  const { blockhash } = await connection.getLatestBlockhash()

  const messageV0 = new TransactionMessage({
    payerKey: from,
    recentBlockhash: blockhash,
    instructions: [
      SystemProgram.transfer({
        fromPubkey: from,
        toPubkey: to,
        lamports: amount
      }),
     ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 100000 })
    ],
  }).compileToV0Message();

  return new VersionedTransaction(messageV0)
}

Expected behavior
This wallet should be compatible with Solana "legacy" Transaction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions