LedgerHQ/ledger-live-common

Synchronization error for Tron wallet

galmi opened this issue · 0 comments

galmi commented

My tron wallet can not sync anymore, not in desktop nor in mobile app. I checked your source code and want to explain the reason.
I found out that it happens if wallet has more than 200 transactions.

Problem starts here:

const nextUrl = get(resp, "meta.links.next");

Example how to reproduce the problem:

  1. Take any wallet with big amount of transactions. For example, I found this wallet in tronscan TEKzjZaQ7q26TBhbr4Su5YVp1mVhYE3XnJ
  2. Your first API request returns last 100 transactions:

https://tron.coin.ledger.com/v1/accounts/TEKzjZaQ7q26TBhbr4Su5YVp1mVhYE3XnJ/transactions?limit=100

  1. Key meta.links.next contains link to the next 100 transactions:

https://api.trongrid.io/v1/accounts/TEKzjZaQ7q26TBhbr4Su5YVp1mVhYE3XnJ/transactions?limit=100&fingerprint=3wmN1yM3XR5abQ4fQEVJNS58FQiGYsBkafN473EZf767inR4Vys13z3sdFSTCxrGPDkPJ6Tc5ZjhGh4wPDXutRsGGXdsKBEka8mK

  1. Follow this link, it will return next 100 transactions. But now key meta.links.next contains next link without domain name:

/v1/accounts/TEKzjZaQ7q26TBhbr4Su5YVp1mVhYE3XnJ/transactions?limit=100&fingerprint=3wmN1yM3f1BnUF1VyQsQSYAqAvi4fmQSB8WWH7Yq8ApkQLETxgsj42HdsrbVLb1vB6YeoeKpJHSK5nk2cqxXij4zvLteySqNohPb

  1. This link will generate NetworkDown error, because app sends this request to localhost.

Please fix this problem asap. May be it will enough to load only first 200 transactions.
I found temporary solution for desktop app, but it not syncing anymore in mobile app.