ton-connect/sdk

UI-REACT: Tonkeeper Mobile faulty transaction

Opened this issue · 4 comments

Describe the bug

Hi. I’m making app with TON Ceonnect integration and during sending a transaction from Tonkeeper mobile there is a bug:
It’s sending bouncing transaction so TON is going back to the sender. On Telegram Wallet and Tonkeeper desktop is working fine (it’s sending normal transaction).
Code to reproduce it:
import { Address, beginCell, toNano } from '@ton/core’;

const handleSendTransactionTonConnect = () => {
      const body = beginCell()
        .storeUint(0, 32)
        .storeStringTail(UUID)
        .endCell();
      const paymentRequest: SendTransactionRequest = {
        messages: [
          {
            address: Address.parse(walletAddress).toRawString(),
            amount: toNano(amount).toString(),
            payload: body.toBoc().toString('base64'),
          },
        ],
        validUntil: Math.floor(Date.now() / 1000) + 3600,
      };
      tonConnectUI
        .sendTransaction(paymentRequest)
}

Telegram Wallet and Tonkeeper Desktop is working fine:
image
image

BUT for Tonkeeper mobile its working incorrectly:
image

I suspect Ton Connect can produce wrong link to Tonkeeper mobile which making transaction faulty.
This is example of real faulty transaction from Tonkeeper Mobile:
https://tonviewer.com/transaction/2cc989bfe3f131560e01ab9b5884e0677903b5ef67693abb2aa8c38cf40eb647

Expected behavior

Transaction is not bouncing back.

Current behavior

Transaction on Tonkeeper Mobile is being faulty during creation.

Steps to Reproduce

  1. Connect Tonkeeper Mobile
  2. Run transaction code I pasted above
  3. Proceed to Tonleeper app for transaction approve
  4. You will se such behaviour

Environment

/app
└─┬ @tonconnect/ui-react@2.0.9
└─┬ @tonconnect/ui@2.0.9
└─┬ @tonconnect/sdk@3.0.5
├── @tonconnect/isomorphic-eventsource@0.0.2
├── @tonconnect/isomorphic-fetch@0.0.3
└── @tonconnect/protocol@2.2.6

Additional context

No response

I have the same problem

I have the same problem

I also wrote to the tonkeeper support in case it's a problem from their side but no reply from them

Dayjo commented

I am also having this issue, it seems to work fine on desktop Tonkeeper but if I try on mobile it shows sent and then received instantly bouncing.

What's interesting is that that isn't the case for all wallets. I am trying to send to a relatively new wallet and I get this issue, but if I change the recipient wallet to an older wallet that has a lot of transactions it seems to process as expected.

I don't know what the difference is, they're both v4R2, both have TON in the wallet and have received TON successfully via other methods.

@GeorgeMA-Strong @tinh-wolffun did you get anywhere with this?

Dayjo commented

Ok, I was able to resolve this (it helped to type out my issue above :D). I just needed to send some TON from the recipient wallet which 'initialised' the wallet;