syntax = "proto3";

package proto;

option java_package = "com.hederahashgraph.api.proto.java";
option java_multiple_files = true;

import "BasicTypes.proto";
import "QueryHeader.proto";
import "ResponseHeader.proto";

/* Get the IDs in the format used by transactions, given the ID in the format used by Solidity. If the Solidity ID is for a smart contract instance, then both the ContractID and associated AccountID will be returned. */
message GetBySolidityIDQuery {
    QueryHeader header = 1; // standard info sent from client to node, including the signed payment, and what kind of response is requested (cost, state proof, both, or neither).
    string solidityID = 2; // the ID in the format used by Solidity
}

/* Response when the client sends the node GetBySolidityIDQuery */
message GetBySolidityIDResponse {
    ResponseHeader header = 1; //standard response from node to client, including the requested fields: cost, or state proof, or both, or neither
    AccountID accountID = 2; //  a cryptocurrency account
    FileID fileID = 3; // a file
    ContractID contractID = 4; // a smart contract instance (if this is included, then the associated accountID will also be included)
}


