Merged
Conversation
5aaac66 to
2a625c7
Compare
5157cec to
e8ac163
Compare
c345616 to
ae27bff
Compare
Changes: - Add TronProvider with wallet integration, balance fetching, and address resolution - Add TronStepExecutor with sign, broadcast, and confirmation tasks - Add RPC retry with multi-URL fallback - Add Tron-specific error parsing for wallet and transaction errors - Add unit tests for error parsing, address resolution, and zero address utils - Register ChainType.TVM in SDK client storage
- Add TronCheckAllowanceTask and TronSetAllowanceTask for TRC-20 approval flow - Refactor TronSignAndExecuteTask to deserialize raw tx data from the API - Separate build, sign, and broadcast phases in approval to avoid re-signing on RPC retry - Add bandwidth error handling in parseTronErrors - Add stripHexPrefix utility and shared polling constants - Pass `from` address in TRC-20 balanceOf calls
- Use callTronRpcsWithRetry for broadcast in WaitForTransactionTask - Treat DUP_TRANSACTION_ERROR as success in both broadcast tasks - Remove unused getTronWebInstance - Add empty URLs guard in callTronRpcsWithRetry
- Chunk multicall aggregate3 calls to avoid Tron CPU timeouts - Failed batches are skipped gracefully (tokens get no amount) - Add multicallBatchSize option to TronProviderOptions (default: 50)
ae27bff to
8724e88
Compare
Changes: - Fallback to signedTransaction.txID when DUP_TRANSACTION_ERROR omits transaction - Replace parseInt with Number() + finite guard on fee limit; warn on bad estimate - Raise TRON_POLL_MAX_RETRIES from 20 to 40 (~120 s) to reduce timeout failures
Changes: - Cache TronWeb per RPC URL with LruMap to avoid re-allocating axios instances - Replace manual waitForTronConfirmation loop with waitForResult in WaitForTransactionTask - Remove unnecessary executionOptions spread in TronProvider.getStepExecutor
Changes: - Document no-amount contract on RPC failure in getTronBalance (aligns with Solana) - Explain toEvmHex 41-prefix convention in address.ts - Note tronweb@^6 source for string error literals in parseTronErrors - Add base58 explanation for TronAddressZero constant
- Extract waitForTronTxConfirmation with poll budget and error retry cap - Guard toEvmHex against unexpected hex prefix - Preserve original cause in bandwidth error rewrapping - Return undefined instead of BigInt(0) for missing block numbers - Move transactionRequest check before wallet pause point - Move DEFAULT_MULTICALL_BATCH_SIZE to shared constants - Export tronWebCache for test isolation - Add unit tests for address, callTronRpcsWithRetry, getTronBalance, and expanded parseTronErrors coverage - Annotate axios override with CVE context
- New getTronTxLink util returns undefined if no explorer URL is set, rather than producing a malformed link - Both TronSetAllowanceTask and TronWaitForTransactionTask use it - Remove duplicate !src/**/*.spec.ts entry in package.json
- Strip trailing slash from explorer URL before building tx link - Use pre-increment so exactly TRON_POLL_MAX_POLLS RPC calls are made
- Guard results[i] access in getTronBalanceMulticall against length mismatch - Explain DUP_TRANSACTION_ERROR txID fallback in allowance/execute tasks - Add waitForTronTxConfirmation unit spec (6 cases)
chybisov
approved these changes
Apr 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which Jira task is linked to this PR?
https://linear.app/lifi-linear/issue/EMB-178/add-support-for-tron-ecosystem
Why was it implemented this way?
Visual showcase (Screenshots or Videos)
If applicable, attach screenshots, GIFs, or videos to showcase the functionality, UI changes, or bug fixes.
Checklist before requesting a review