Skip to content

Conversation

@rodrigopavezi
Copy link
Member

@rodrigopavezi rodrigopavezi commented Jan 21, 2026

Add Tron Blockchain Support for Smart Contracts and Payment Processor

Summary

This PR adds comprehensive Tron blockchain support to Request Network, enabling TRC20 token payments through the ERC20FeeProxy contract. The implementation includes smart contract deployment infrastructure, a new payment processor module, and a complete test suite to ensure feature parity with EVM chains.

Problem Statement

No payment proxy contract existed on Tron, blocking all payment functionality for Tron users. This PR resolves this by deploying the ERC20FeeProxy contract adapted for TRC20 tokens.

Changes

Smart Contracts (packages/smart-contracts)

  • TronBox Integration: Added tronbox-config.js with support for local development, Nile testnet, and mainnet
  • Tron-specific contracts: Created tron/contracts/ directory with Solidity contracts compiled for Tron (solc 0.8.6)
  • Test token contracts: Added TestTRC20, BadTRC20, TRC20True, TRC20NoReturn, TRC20False, TRC20Revert for comprehensive testing
  • Deployment scripts:
    • deploy-nile.js - Deploy to Nile testnet
    • deploy-mainnet.js - Deploy to Tron mainnet (with safety confirmations)
    • verify-deployment.js - Verify deployed contracts
    • setup-test-wallet.js - Helper for test wallet setup
  • Artifact registry: Updated ERC20FeeProxy artifact with Tron deployment addresses:
    • Nile testnet: THK5rNmrvCujhmrXa5DB1dASepwXTr9cJs
    • Mainnet: TCUDPYnS9dH3WvFEaE7wN7vnDa51J4R4fd

Payment Processor (packages/payment-processor)

  • utils-tron.ts: TronWeb utilities for address validation, balance/allowance checks, and contract interactions
  • tron-fee-proxy.ts: Payment functions for Tron:
    • payTronFeeProxyRequest() - Execute TRC20 payments
    • approveTronFeeProxyRequest() - Approve token spending
    • hasSufficientTronAllowance() - Check allowance
    • hasSufficientTronBalance() - Check balance
    • getTronPaymentInfo() - Get payment details from request

Currency Package (packages/currency)

  • Added TronChains class for Tron chain utilities
  • Added nile testnet chain definition
  • Updated tron chain with TRC20 token information

Types Package (packages/types)

  • Extended TronChainName to include 'tron' | 'nile'
  • Updated VMChainName to include Tron chains

CI/CD (.github/workflows)

  • tron-smart-contracts.yml: New workflow for Tron contract compilation and testing
    • Runs on PRs/pushes affecting Tron contracts
    • Uses tronbox/tre Docker image for local testing
    • Includes compile check and full test suite

Test Coverage

Smart Contract Tests (tron/test/ERC20FeeProxy.test.js)

13 test cases matching EVM test coverage:

  1. Event emission verification
  2. Balance changes (payment + fee transfers)
  3. No allowance handling
  4. Insufficient funds handling
  5. Zero fee transfers
  6. BadTRC20 (non-standard tokens)
  7. TRC20True (always returns true)
  8. TRC20NoReturn (no return value)
  9. TRC20False (returns false)
  10. TRC20Revert (always reverts)
  11. Multiple sequential payments
  12. Zero address edge cases
  13. Different payment references

Payment Processor Tests (test/payment/tron-fee-proxy.test.ts)

21 unit tests covering:

  • Payment execution with valid/invalid inputs
  • Allowance and balance checks
  • Address validation
  • Network validation
  • Payment encoding

New npm Scripts

yarn tron:compile # Compile Tron contracts
yarn tron:test # Run tests on local TRE
yarn tron:deploy:nile # Deploy to Nile testnet
yarn tron:deploy:mainnet # Deploy to mainnet
yarn tron:verify:nile # Verify Nile deployment
yarn tron:verify:mainnet # Verify mainnet deployment
yarn tron:setup-wallet # Setup test wallet
yarn tron:deploy:test-token # Deploy test token to Nile

Summary by CodeRabbit

  • New Features

    • Added Tron blockchain support (mainnet + Nile) and TRC20 payment + fee-proxy capabilities.
    • Exposed Tron payment utilities: allowance/balance checks, approve, pay, and payment info retrieval.
  • Tests

    • Comprehensive unit and integration tests covering Tron payment flows and token variants.
    • CI workflow added to compile and validate Tron contracts.
  • Chores

    • Deployment, verification and wallet/setup scripts plus deployment artifacts and configs added.
  • Documentation

    • New Tron deployment guide and usage notes.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 21, 2026

Warning

Rate limit exceeded

@rodrigopavezi has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 14 minutes and 52 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 6ff88e8 and 5d88414.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (39)
  • .github/workflows/tron-smart-contracts.yml
  • packages/currency/src/chains/declarative/data/nile.ts
  • packages/currency/src/chains/declarative/data/tron.ts
  • packages/currency/src/chains/declarative/index.ts
  • packages/currency/src/chains/index.ts
  • packages/currency/src/chains/tron/TronChains.ts
  • packages/currency/src/chains/tron/index.ts
  • packages/payment-processor/src/index.ts
  • packages/payment-processor/src/payment/tron-fee-proxy.ts
  • packages/payment-processor/src/payment/utils-tron.ts
  • packages/payment-processor/test/payment/tron-fee-proxy.test.ts
  • packages/smart-contracts/package.json
  • packages/smart-contracts/src/contracts/TestTRC20.sol
  • packages/smart-contracts/src/lib/artifacts/ERC20FeeProxy/index.ts
  • packages/smart-contracts/tron-build/BadTRC20.json
  • packages/smart-contracts/tron-build/ERC20FeeProxy.json
  • packages/smart-contracts/tron-build/Migrations.json
  • packages/smart-contracts/tron-build/TRC20False.json
  • packages/smart-contracts/tron-build/TRC20NoReturn.json
  • packages/smart-contracts/tron-build/TRC20Revert.json
  • packages/smart-contracts/tron-build/TRC20True.json
  • packages/smart-contracts/tron-build/TestTRC20.json
  • packages/smart-contracts/tron/TRON_DEPLOYMENT.md
  • packages/smart-contracts/tron/contracts/BadTRC20.sol
  • packages/smart-contracts/tron/contracts/ERC20FeeProxy.sol
  • packages/smart-contracts/tron/contracts/Migrations.sol
  • packages/smart-contracts/tron/contracts/TestTRC20.sol
  • packages/smart-contracts/tron/deployments/mainnet.json
  • packages/smart-contracts/tron/deployments/nile.json
  • packages/smart-contracts/tron/migrations/1_deploy_contracts.js
  • packages/smart-contracts/tron/scripts/deploy-mainnet.js
  • packages/smart-contracts/tron/scripts/deploy-nile.js
  • packages/smart-contracts/tron/scripts/deploy-test-token.js
  • packages/smart-contracts/tron/scripts/setup-test-wallet.js
  • packages/smart-contracts/tron/scripts/test-deployed-nile.js
  • packages/smart-contracts/tron/scripts/verify-deployment.js
  • packages/smart-contracts/tron/test/ERC20FeeProxy.test.js
  • packages/smart-contracts/tronbox-config.js
  • packages/types/src/currency-types.ts

Walkthrough

Adds Tron blockchain support: chain definitions, Tron-aware types, Tron smart contracts (ERC20FeeProxy and TRC20 variants), deployment/migration scripts, Tron utilities and payment-processor integrations, tests, artifacts, documentation, and a CI workflow for compiling Tron contracts.

Changes

Cohort / File(s) Summary
CI/CD Workflow
\.github/workflows/tron-smart-contracts.yml
New GitHub Actions workflow to compile Tron smart contracts, install TronBox/tronweb, run tron compile, and verify expected build artifacts and ABI contents.
Types & Chain Registry
packages/types/src/currency-types.ts, packages/currency/src/chains/declarative/index.ts, packages/currency/src/chains/declarative/data/nile.ts, packages/currency/src/chains/declarative/data/tron.ts, packages/currency/src/chains/tron/index.ts
Adds TronChainName/nile to types, creates Nile and Tron declarative chain data, and registers Tron chains in the declarative registry.
Chain Abstraction Export
packages/currency/src/chains/tron/TronChains.ts, packages/currency/src/chains/index.ts
New TronChains class and default instance; exported TronChains from the central chains index.
Payment-Processor: Tron Utilities
packages/payment-processor/src/payment/utils-tron.ts
New strongly-typed TronWeb interface, contract helpers, TRC20/ERC20FeeProxy ABIs, address validation, allowance/balance helpers, approve and payment processing functions, and encoding utilities.
Payment-Processor: Tron Fee Proxy Integration
packages/payment-processor/src/payment/tron-fee-proxy.ts, packages/payment-processor/src/index.ts
New high-level functions: hasSufficientTronAllowance, hasSufficientTronBalance, approveTronFeeProxyRequest, payTronFeeProxyRequest, getTronPaymentInfo; re-exported from package index.
Smart Contracts: Core & Test Tokens
packages/smart-contracts/src/contracts/TestTRC20.sol, packages/smart-contracts/tron/contracts/ERC20FeeProxy.sol, packages/smart-contracts/tron/contracts/TestTRC20.sol, packages/smart-contracts/tron/contracts/BadTRC20.sol, packages/smart-contracts/tron/contracts/Migrations.sol
Adds ERC20FeeProxy (transferFromWithReferenceAndFee + safeTransferFrom), TestTRC20 and non-standard TRC20 variants (NoReturn/False/Revert), BadTRC20, and Migrations contract.
Smart Contracts: Build, Artifacts & Deployments
packages/smart-contracts/tronbox-config.js, packages/smart-contracts/package.json, packages/smart-contracts/src/lib/artifacts/ERC20FeeProxy/index.ts, packages/smart-contracts/tron/tron-build/*.json, packages/smart-contracts/tron/deployments/{nile,mainnet}.json
TronBox config, new npm scripts and tronweb dependency, ERC20FeeProxy artifact entries extended with tron/nile deployments, and deployment metadata files for Nile/mainnet.
Smart Contracts: Migrations & Scripts
packages/smart-contracts/tron/migrations/1_deploy_contracts.js, packages/smart-contracts/tron/scripts/{deploy-nile,deploy-mainnet,deploy-test-token,setup-test-wallet,test-deployed-nile,verify-deployment}.js
Migration and multiple deployment/verification/setup scripts for Nile and mainnet (including mainnet confirmation, balance checks, artifact loading, and deployment persistence).
Tests
packages/payment-processor/test/payment/tron-fee-proxy.test.ts, packages/smart-contracts/tron/test/ERC20FeeProxy.test.js
New unit/integration test suites covering Tron fee proxy utilities, approval/balance checks, payment flows, and ERC20FeeProxy behavior across standard and non-standard TRC20 tokens.
Documentation
packages/smart-contracts/tron/TRON_DEPLOYMENT.md
New Tron deployment guide documenting prerequisites, compilation, testing, deployment, verification, addresses, and Tron-specific considerations.

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant PaymentProcessor
    participant TronWeb
    participant ERC20FeeProxy as ERC20FeeProxy<br/>(Contract)
    participant Token as TestTRC20<br/>(Token)

    Client->>PaymentProcessor: payTronFeeProxyRequest(request, amount, feeAmount)
    PaymentProcessor->>TronWeb: validate network & format data
    PaymentProcessor->>Token: getAllowance(payer, proxy)
    Token-->>PaymentProcessor: allowance
    PaymentProcessor->>Token: getBalance(payer)
    Token-->>PaymentProcessor: balance
    PaymentProcessor->>TronWeb: ensure allowance & balance
    PaymentProcessor->>ERC20FeeProxy: transferFromWithReferenceAndFee(token, to, amount, reference, feeAmount, feeAddress)
    ERC20FeeProxy->>Token: transferFrom(payer, to, amount)
    Token-->>ERC20FeeProxy: success/failure
    ERC20FeeProxy->>Token: transferFrom(payer, feeAddress, feeAmount) (if feeAmount>0)
    Token-->>ERC20FeeProxy: success/failure
    ERC20FeeProxy->>TronWeb: txHash / receipt
    TronWeb-->>PaymentProcessor: txHash/confirmation
    PaymentProcessor-->>Client: return txHash / result
Loading
sequenceDiagram
    participant Client
    participant PaymentProcessor
    participant TronWeb
    participant Token as TestTRC20<br/>(Token)

    Client->>PaymentProcessor: approveTronFeeProxyRequest(request, amount)
    PaymentProcessor->>TronWeb: validate request & compute totalAmount
    PaymentProcessor->>Token: approve(proxyAddress, totalAmount)
    Token-->>PaymentProcessor: txHash / approval confirmed
    PaymentProcessor-->>Client: return approval txHash
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely summarizes the main change: adding Tron blockchain support for smart contracts and payment processor.
Description check ✅ Passed The description is comprehensive and well-structured with clear sections covering summary, problem statement, changes, test coverage, and new npm scripts.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link

✅ Slither Security Analysis

Status: Passed

Findings Summary

Severity Count Status
✅ High 0 Pass
🟡 Medium 2 Review Recommended
🔵 Low 0 Info
ℹ️ Informational 1 Info

⚠️ Please review the findings in the Security tab or download the artifacts.

📄 Full report available in workflow artifacts.
🔍 View detailed findings in the Security tab.

@rodrigopavezi rodrigopavezi marked this pull request as ready for review January 21, 2026 10:09
@github-actions
Copy link

✅ Echidna Fuzzing Results

Mode: ci (50000 test sequences)
Status: All Properties Passed

Property Test Results

Status Count
✅ Passed 16
❌ Failed 0
Total 16
Pass Rate 100.0%

📄 Full report and corpus available in workflow artifacts.

ℹ️ About Echidna Fuzzing

Echidna is a property-based fuzzer that generates random sequences of transactions
to test invariants (properties that should always hold true).

Properties tested:

  • Fee calculation bounds
  • Access control enforcement
  • Amount constraints
  • No duplicate payments
  • Zero address validation
  • Integer overflow protection

@rodrigopavezi rodrigopavezi force-pushed the 01-21-add_tron_support_for_smart_contracts_and_payment_processor branch from 1946425 to 74afb66 Compare January 21, 2026 10:11
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 21, 2026

Greptile Summary

This PR adds comprehensive Tron blockchain support to Request Network, enabling TRC20 token payments through the ERC20FeeProxy contract. The implementation achieves feature parity with existing EVM chains.

Key Changes

  • Smart Contracts: Deployed ERC20FeeProxy contract adapted for Tron with proper TRC20 compatibility and non-standard token handling

    • Mainnet: TCUDPYnS9dH3WvFEaE7wN7vnDa51J4R4fd
    • Nile testnet: THK5rNmrvCujhmrXa5DB1dASepwXTr9cJs
  • Payment Processor: Complete integration with functions for payment execution, approval, balance/allowance checks, and payment info retrieval

  • Test Coverage: 13 smart contract tests and 21 payment processor tests covering standard flows, edge cases, and error conditions

  • CI/CD: New workflow using TronBox/TRE Docker image for automated testing

  • Infrastructure: Deployment scripts with safety confirmations, test token contracts, and verification utilities

Implementation Quality

The implementation demonstrates strong engineering practices:

  • Mirrors EVM contract structure for consistency
  • Handles non-standard TRC20 tokens (no return value, always true/false, reverting)
  • Comprehensive validation (addresses, networks, balances, allowances)
  • Safe deployment process with balance checks and explicit confirmations
  • Well-documented code with clear error messages
  • Proper separation of concerns (utils, payment processing, validation)

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk - comprehensive implementation with excellent test coverage
  • Score reflects thorough implementation: smart contracts mirror EVM versions with proper TRC20 handling, comprehensive test suites (13 contract tests + 21 payment processor tests), robust validation and error handling, safe deployment scripts with confirmation prompts, proper CI/CD integration, and complete documentation
  • No files require special attention

Important Files Changed

Filename Overview
packages/smart-contracts/tron/contracts/ERC20FeeProxy.sol Tron-compatible fee proxy contract with proper TRC20 handling and non-standard token support
packages/smart-contracts/tron/test/ERC20FeeProxy.test.js Comprehensive test suite with 13 test cases covering standard and edge case scenarios
packages/payment-processor/src/payment/tron-fee-proxy.ts Payment processor functions with proper validation and error handling for Tron payments
packages/payment-processor/src/payment/utils-tron.ts TronWeb utilities with address validation, balance/allowance checks, and payment encoding
.github/workflows/tron-smart-contracts.yml CI workflow with Tron node service, contract compilation, and test execution
packages/smart-contracts/src/lib/artifacts/ERC20FeeProxy/index.ts Added Tron network deployments with Base58 addresses for nile and mainnet

Sequence Diagram

sequenceDiagram
    participant User as User/Payer
    participant TronWeb as TronWeb
    participant PaymentProcessor as Payment Processor
    participant TRC20 as TRC20 Token
    participant FeeProxy as ERC20FeeProxy Contract
    participant Payee as Payment Recipient
    participant FeeRecipient as Fee Recipient

    User->>PaymentProcessor: payTronFeeProxyRequest(request, tronWeb)
    PaymentProcessor->>PaymentProcessor: validateRequest()
    PaymentProcessor->>PaymentProcessor: getTronPaymentInfo()
    
    Note over PaymentProcessor: Check allowance and balance
    PaymentProcessor->>TronWeb: getTronAllowance(tokenAddress, network)
    TronWeb->>TRC20: allowance(payer, proxyAddress)
    TRC20-->>TronWeb: currentAllowance
    TronWeb-->>PaymentProcessor: currentAllowance
    
    alt Insufficient Allowance
        PaymentProcessor-->>User: Error: Insufficient allowance
        User->>PaymentProcessor: approveTronFeeProxyRequest(request, tronWeb)
        PaymentProcessor->>TronWeb: approveTrc20(tokenAddress, network, amount)
        TronWeb->>TRC20: approve(proxyAddress, amount)
        TRC20-->>TronWeb: txHash
        TronWeb-->>PaymentProcessor: txHash
        PaymentProcessor-->>User: Approval txHash
    end
    
    PaymentProcessor->>TronWeb: isTronAccountSolvent(tokenAddress, totalAmount)
    TronWeb->>TRC20: balanceOf(payer)
    TRC20-->>TronWeb: balance
    TronWeb-->>PaymentProcessor: hasSufficientBalance
    
    alt Insufficient Balance
        PaymentProcessor-->>User: Error: Insufficient balance
    end
    
    Note over PaymentProcessor: Process payment
    PaymentProcessor->>TronWeb: processTronFeeProxyPayment()
    TronWeb->>FeeProxy: transferFromWithReferenceAndFee(tokenAddress, payee, amount, reference, feeAmount, feeAddress)
    
    Note over FeeProxy: Execute transfers
    FeeProxy->>TRC20: transferFrom(payer, payee, amount)
    TRC20->>Payee: Transfer payment amount
    TRC20-->>FeeProxy: success
    
    alt Fee Amount > 0
        FeeProxy->>TRC20: transferFrom(payer, feeRecipient, feeAmount)
        TRC20->>FeeRecipient: Transfer fee amount
        TRC20-->>FeeProxy: success
    end
    
    FeeProxy->>FeeProxy: emit TransferWithReferenceAndFee()
    FeeProxy-->>TronWeb: txHash
    TronWeb-->>PaymentProcessor: txHash
    PaymentProcessor-->>User: Payment txHash
Loading

@github-actions
Copy link

✅ Slither Security Analysis

Status: Passed

Findings Summary

Severity Count Status
✅ High 0 Pass
🟡 Medium 2 Review Recommended
🔵 Low 0 Info
ℹ️ Informational 1 Info

⚠️ Please review the findings in the Security tab or download the artifacts.

📄 Full report available in workflow artifacts.
🔍 View detailed findings in the Security tab.

@rodrigopavezi rodrigopavezi force-pushed the 01-21-add_tron_support_for_smart_contracts_and_payment_processor branch from 74afb66 to bfd7e2f Compare January 21, 2026 10:16
@github-actions
Copy link

✅ Echidna Fuzzing Results

Mode: ci (50000 test sequences)
Status: All Properties Passed

Property Test Results

Status Count
✅ Passed 16
❌ Failed 0
Total 16
Pass Rate 100.0%

📄 Full report and corpus available in workflow artifacts.

ℹ️ About Echidna Fuzzing

Echidna is a property-based fuzzer that generates random sequences of transactions
to test invariants (properties that should always hold true).

Properties tested:

  • Fee calculation bounds
  • Access control enforcement
  • Amount constraints
  • No duplicate payments
  • Zero address validation
  • Integer overflow protection

@github-actions
Copy link

✅ Slither Security Analysis

Status: Passed

Findings Summary

Severity Count Status
✅ High 0 Pass
🟡 Medium 2 Review Recommended
🔵 Low 0 Info
ℹ️ Informational 1 Info

⚠️ Please review the findings in the Security tab or download the artifacts.

📄 Full report available in workflow artifacts.
🔍 View detailed findings in the Security tab.

@github-actions
Copy link

✅ Echidna Fuzzing Results

Mode: ci (50000 test sequences)
Status: All Properties Passed

Property Test Results

Status Count
✅ Passed 16
❌ Failed 0
Total 16
Pass Rate 100.0%

📄 Full report and corpus available in workflow artifacts.

ℹ️ About Echidna Fuzzing

Echidna is a property-based fuzzer that generates random sequences of transactions
to test invariants (properties that should always hold true).

Properties tested:

  • Fee calculation bounds
  • Access control enforcement
  • Amount constraints
  • No duplicate payments
  • Zero address validation
  • Integer overflow protection

@rodrigopavezi rodrigopavezi force-pushed the 01-21-add_tron_support_for_smart_contracts_and_payment_processor branch from bfd7e2f to bf7961e Compare January 21, 2026 10:25
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@packages/smart-contracts/tron/deployments/mainnet.json`:
- Around line 8-11: The ERC20FeeProxy entry currently has hexAddress set to
"TO_BE_FILLED"; update the ERC20FeeProxy object so hexAddress contains the
correct Tron hex address (the 41... format) that corresponds to address
"TCUDPYnS9dH3WvFEaE7wN7vnDa51J4R4fd", or if that field is unused remove the
hexAddress key entirely; locate the ERC20FeeProxy block in the JSON (the object
with "address", "hexAddress", "creationBlockNumber") and either replace
"TO_BE_FILLED" with the actual 41-prefixed hex address or delete the hexAddress
property to avoid runtime resolution failures.

In `@packages/smart-contracts/tron/deployments/nile.json`:
- Around line 9-11: Replace the incorrect hexAddress value for the deployment
entry that has address "THK5rNmrvCujhmrXa5DB1dASepwXTr9cJs": update the
"hexAddress" field from "414b8e0e0d4c9ec8a8f3f4a5b6c7d8e9f0a1b2c3d4" to the
correct hex derived from the base58 address —
"41508B3B4059C40BB3AAC5DA5AC006CCDD9C4DC957" so the JSON entry's "hexAddress"
matches the "address" and prevents runtime contract interaction failures.

@github-actions
Copy link

✅ Slither Security Analysis

Status: Passed

Findings Summary

Severity Count Status
✅ High 0 Pass
🟡 Medium 2 Review Recommended
🔵 Low 0 Info
ℹ️ Informational 1 Info

⚠️ Please review the findings in the Security tab or download the artifacts.

📄 Full report available in workflow artifacts.
🔍 View detailed findings in the Security tab.

@github-actions
Copy link

✅ Echidna Fuzzing Results

Mode: ci (50000 test sequences)
Status: All Properties Passed

Property Test Results

Status Count
✅ Passed 16
❌ Failed 0
Total 16
Pass Rate 100.0%

📄 Full report and corpus available in workflow artifacts.

ℹ️ About Echidna Fuzzing

Echidna is a property-based fuzzer that generates random sequences of transactions
to test invariants (properties that should always hold true).

Properties tested:

  • Fee calculation bounds
  • Access control enforcement
  • Amount constraints
  • No duplicate payments
  • Zero address validation
  • Integer overflow protection

@rodrigopavezi rodrigopavezi force-pushed the 01-21-add_tron_support_for_smart_contracts_and_payment_processor branch from bf7961e to a990789 Compare January 21, 2026 10:37
@github-actions
Copy link

✅ Slither Security Analysis

Status: Passed

Findings Summary

Severity Count Status
✅ High 0 Pass
🟡 Medium 2 Review Recommended
🔵 Low 0 Info
ℹ️ Informational 1 Info

⚠️ Please review the findings in the Security tab or download the artifacts.

📄 Full report available in workflow artifacts.
🔍 View detailed findings in the Security tab.

@github-actions
Copy link

✅ Echidna Fuzzing Results

Mode: ci (50000 test sequences)
Status: All Properties Passed

Property Test Results

Status Count
✅ Passed 16
❌ Failed 0
Total 16
Pass Rate 100.0%

📄 Full report and corpus available in workflow artifacts.

ℹ️ About Echidna Fuzzing

Echidna is a property-based fuzzer that generates random sequences of transactions
to test invariants (properties that should always hold true).

Properties tested:

  • Fee calculation bounds
  • Access control enforcement
  • Amount constraints
  • No duplicate payments
  • Zero address validation
  • Integer overflow protection

@rodrigopavezi rodrigopavezi force-pushed the 01-21-add_tron_support_for_smart_contracts_and_payment_processor branch from a990789 to 6ff88e8 Compare January 21, 2026 10:49
@rodrigopavezi rodrigopavezi force-pushed the 01-21-add_tron_support_for_smart_contracts_and_payment_processor branch from 6ff88e8 to 5d88414 Compare January 21, 2026 10:53
@github-actions
Copy link

✅ Slither Security Analysis

Status: Passed

Findings Summary

Severity Count Status
✅ High 0 Pass
🟡 Medium 2 Review Recommended
🔵 Low 0 Info
ℹ️ Informational 1 Info

⚠️ Please review the findings in the Security tab or download the artifacts.

📄 Full report available in workflow artifacts.
🔍 View detailed findings in the Security tab.

1 similar comment
@github-actions
Copy link

✅ Slither Security Analysis

Status: Passed

Findings Summary

Severity Count Status
✅ High 0 Pass
🟡 Medium 2 Review Recommended
🔵 Low 0 Info
ℹ️ Informational 1 Info

⚠️ Please review the findings in the Security tab or download the artifacts.

📄 Full report available in workflow artifacts.
🔍 View detailed findings in the Security tab.

@github-actions
Copy link

✅ Echidna Fuzzing Results

Mode: ci (50000 test sequences)
Status: All Properties Passed

Property Test Results

Status Count
✅ Passed 16
❌ Failed 0
Total 16
Pass Rate 100.0%

📄 Full report and corpus available in workflow artifacts.

ℹ️ About Echidna Fuzzing

Echidna is a property-based fuzzer that generates random sequences of transactions
to test invariants (properties that should always hold true).

Properties tested:

  • Fee calculation bounds
  • Access control enforcement
  • Amount constraints
  • No duplicate payments
  • Zero address validation
  • Integer overflow protection

1 similar comment
@github-actions
Copy link

✅ Echidna Fuzzing Results

Mode: ci (50000 test sequences)
Status: All Properties Passed

Property Test Results

Status Count
✅ Passed 16
❌ Failed 0
Total 16
Pass Rate 100.0%

📄 Full report and corpus available in workflow artifacts.

ℹ️ About Echidna Fuzzing

Echidna is a property-based fuzzer that generates random sequences of transactions
to test invariants (properties that should always hold true).

Properties tested:

  • Fee calculation bounds
  • Access control enforcement
  • Amount constraints
  • No duplicate payments
  • Zero address validation
  • Integer overflow protection

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants