ton-connect / sdk

SDK for TON Connect 2.0 — a comprehensive communication protocol between wallets and apps in TON ecosystem
Apache License 2.0
326 stars 92 forks source link

UI-REACT: Tonkeeper Mobile faulty transaction #277

Open GeorgeMA-Strong opened 3 weeks ago

GeorgeMA-Strong commented 3 weeks ago

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

tinh-wolffun commented 3 weeks ago

I have the same problem

GeorgeMA-Strong commented 2 weeks ago

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

Tony-ptech commented 2 weeks ago

Thanks for posting the issue. Your query would be best dealt with by the support team.

Please see the link below to our dedicated support line:

Support : Help Center

Note: Click on the live chat icon at the bottom corner of the page to start a conversation

Dayjo commented 5 days ago

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 5 days ago

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;