syntax = "proto3";

import "blockchain.proto";

message FullTransaction {
    SignedTransaction transaction = 1;
    uint64 block_number = 2;
    bytes block_hash = 3;
    uint32 index = 4;
}


message Response {
    bytes request_id = 1;
    int64 code = 2;
    oneof data {
        string error_msg = 3;
        string tx_state = 4;
        uint64 block_number = 5;
        string block = 6;
        FullTransaction ts = 7;
        uint32 peercount = 8;
        bytes call_result = 9;
        string logs = 10;
        string receipt = 11;
        uint64 transaction_count = 12;
        bytes contract_code = 13;
        bytes contract_abi = 14;
        uint64 filter_id = 15;
        bool uninstall_filter = 16;
        string filter_changes = 17;
        string filter_logs = 18;
        bool none = 19;
        bytes transaction_proof = 20;
        // cita_getMetaData
        string meta_data = 21;
        // eth_getBalance
        bytes balance = 22;
        bytes state_proof = 23;
        bytes block_header = 24;
    }
}

