syntax = "proto3";
package tron_messages;

import "../tron/block_message.proto";
import "../evm/parsed_abi_block_message.proto";

message ContractInfo {
  bytes Address = 1;
  string Type = 2;
  string TypeUrl = 3;
}

message ParsedAbiTransaction {
  tron_messages.TransactionHeader TransactionHeader = 1;
  tron_messages.Receipt Receipt = 2;
  evm_messages.ParsedAbiTransactionStatus TransactionStatus = 3;
  tron_messages.TransactionResult TransactionResult = 4;
  ContractInfo ContractInfo = 5;
  repeated evm_messages.ParsedAbiCall Calls = 6;
  tron_messages.RewardWithdraw RewardWithdraw = 7;
}

message ParsedAbiBlockMessage {
  tron_messages.Chain Chain = 1;
  tron_messages.BlockHeader Header = 2;
  tron_messages.Witness Witness = 3;
  repeated ParsedAbiTransaction Transactions = 4;
}
