Add Tron (TRC20/TRX) send/transfer support

Reuses the existing generic fee-sufficiency validation
(sufficientTransferableBalanceToPayOriginFee) and send flow
unchanged. Transaction construction goes through TronGrid's own
createtransaction/triggersmartcontract endpoints (verified live
against Shasta testnet) rather than a hand-rolled protobuf
implementation; signing reuses the existing secp256k1 path
(SignerPayloadRaw.skipMessageHashing) already used for Ethereum,
no new crypto library. Also fixes a Phase 1 gap: Chain.isValidAddress()
had no isTronBased branch, so every Tron send would have failed
address validation.

No Energy staking/delegation/rental UI - only Tron's default
protocol behavior (burn TRX to cover Bandwidth/Energy shortfall).
This commit is contained in:
2026-07-07 07:08:22 -07:00
parent 46d2a91510
commit 3cd07abe55
16 changed files with 1026 additions and 15 deletions
@@ -8,4 +8,6 @@ sealed interface TransactionExecution {
class Ethereum(val ethereumTransactionExecution: EthereumTransactionExecution) : TransactionExecution
class Substrate(val extrinsicExecutionResult: ExtrinsicExecutionResult) : TransactionExecution
class Tron(val hash: String) : TransactionExecution
}