hedera 0.4.0

Hedera SDK for Rust
syntax = "proto3";

package proto;

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

enum ResponseCodeEnum {
    // response codes for pre check validation
    OK = 0; // the transaction passed the precheck
    INVALID_TRANSACTION = 1; // For any error not handled by specific error codes listed below.
    PAYER_ACCOUNT_NOT_FOUND  = 2; //Payer account does not exist.
    INVALID_NODE_ACCOUNT=3; //Node Account provided does not match the node account of the node the transaction was submitted to.
    TRANSACTION_EXPIRED = 4; // Pre-Check TransactionValidStart + transactionValidDuration is less than current consensus time.
    INVALID_TRANSACTION_START = 5;// Transaction start time is greater than current consensus time
    INVALID_TRANSACTION_DURATION=6;//valid transaction duration is a positive non zero number that does not exceed 120 seconds
    INVALID_SIGNATURE = 7;//the transaction signature is not valid
    MEMO_TOO_LONG =8;//Transaction memo size exceeded 100 bytes
    INSUFFICIENT_TX_FEE  = 9; // the transaction fee is insufficient for this type of transaction
    INSUFFICIENT_PAYER_BALANCE  = 10; // the payer account has insufficient cryptocurrency to pay the transaction fee
    DUPLICATE_TRANSACTION = 11; // this transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period)
    BUSY = 12; //If API is throttled out
    NOT_SUPPORTED = 13; //not supported API
    /*response codes used in queries */
    INVALID_FILE_ID = 14;//the file id is invalid or does not exist
    INVALID_ACCOUNT_ID = 15;//the account id is invalid or does not exist
    INVALID_CONTRACT_ID = 16;//the contract id is invalid or does ont exist
    INVALID_TRANSACTION_ID =17;//transaction id is not valid
    RECEIPT_NOT_FOUND = 18;//receipt for given transaction id does not exist
    RECORD_NOT_FOUND = 19;//record for given transaction id does not exist
    INVALID_SOLIDITY_ID=20;//the solidity id is invalid or entity with this solidity id does not exist

    // response code for Transaction receipt
    UNKNOWN = 21; // hasn't yet reached consensus, or has already expired
    SUCCESS = 22; // the transaction succeeded
    FAIL_INVALID = 23; // the transaction failed because it is invalid
    FAIL_FEE = 24; // the transaction fee was insufficient
    FAIL_BALANCE = 25; // the paying account had insufficient cryptocurrency

    //Crypto Response codes
    KEY_REQUIRED = 26; //Key not provided in the transaction body
    BAD_ENCODING = 27; //Unsupported algorithm/encoding used for keys in the transaction
    INSUFFICIENT_ACCOUNT_BALANCE=28; //When the account balance is not sufficient for the transfer
    INVALID_SOLIDITY_ADDRESS=29; //During an update transaction when the system is not able to find the Users Solidity address

    //Smart contract creation or execution
	INSUFFICIENT_GAS =30; //Not enough gas was supplied to execute tranasction
	CONTRACT_SIZE_LIMIT_EXCEEDED =31; //contract byte code size is over the limit
	LOCAL_CALL_MODIFICATION_EXCEPTION=32;//local execution (query) is requested for a function which changes state
	CONTRACT_REVERT_EXECUTED=33; //Contract REVERT OPCODE executed
	CONTRACT_EXECUTION_EXCEPTION=34;//For any contract execution related error not handled by specific error codes listed above.
    INVALID_RECEIVING_NODE_ACCOUNT = 35; //In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list 
	MISSING_QUERY_HEADER = 36; // Header is missing in Query request



    ACCOUNT_UPDATE_FAILED = 37; // the update of the account failed
	INVALID_KEY_ENCODING = 38;
    NULL_SOLIDITY_ADDRESS = 39; // null solidity address

    CONTRACT_UPDATE_FAILED = 40; // update of the contract failed
    INVALID_QUERY_HEADER = 41; // the query header is invalid

    INVALID_FEE_SUBMITTED = 42; // Invalid fee submitted*/
    INVALID_PAYER_SIGNATURE = 43; //  payer signature is invalid
    
    
    KEY_NOT_PROVIDED = 44;
    INVALID_EXPIRATION_TIME = 45;
    NO_WACL_KEY = 46;
    FILE_CONTENT_EMPTY = 47;
    INVALID_ACCOUNT_AMOUNTS = 48; // The crypto transfer credit and debit don't equal to 0
        // new response codes to be added
    EMPTY_TRANSACTION_BODY = 49; // transaction body is empty
    INVALID_TRANSACTION_BODY = 50; // invalid transaction body
	
}