/// <summary>
        /// Query blocks using ElasticSearch query-string syntax For more information on how to use the ElasticSearch query-string syntax
        /// checkout the Elastic Search documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax
        /// </summary>
        /// <param name="luceneQuery">lucene query to use for this query request</param>
        /// <param name="sort">Sort syntax of 'field:direction'</param>
        /// <param name="offset">Pagination offset integer of query (default 0)</param>
        /// <param name="limit">Pagination limit integer of query (default 10)</param>
        /// <returns></returns>
        public async Task <ApiResponse <QueryResult <BlockSchemaType> > > QueryBlocks(string luceneQuery = "", string sort = "", int offset = 0, int limit = 10)
        {
            var queryParams = LuceneHelper.GetLuceneParams(luceneQuery, sort, offset, limit);

            return(await _httpService.GetAsync <QueryResult <BlockSchemaType> >($"/block{queryParams}"));
        }
        /// <summary>
        /// Query smart contracts using ElasticSearch query-string syntax For more information on how to use the ElasticSearch query-string syntax
        /// checkout the Elastic Search documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax
        /// </summary>
        /// <param name="luceneQuery">lucene query to use for this query request. Example: `is_serial:true`</param>
        /// <param name="sort">Sort syntax of 'field:direction'. Example: `txn_type:asc`</param>
        /// <param name="offset">Pagination offset integer of query (default 0)</param>
        /// <param name="limit">Pagination limit integer of query (default 10)</param>
        /// <returns></returns>
        public async Task <ApiResponse <QueryResult <SmartContractAtRest> > > QuerySmartContracts(string luceneQuery = "", string sort = "", int offset = 0, int limit = 10)
        {
            var queryParams = LuceneHelper.GetLuceneParams(luceneQuery, sort, offset, limit);

            return(await _httpService.GetAsync <QueryResult <SmartContractAtRest> >($"/contract{queryParams}"));
        }
        /// <summary>
        /// Query transactions using ElasticSearch query-string syntax For more information on how to use the ElasticSearch query-string syntax
        /// checkout the Elastic Search documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax
        /// </summary>
        /// <param name="luceneQuery">lucene query to use for this query request</param>
        /// <param name="sort">Sort syntax of 'field:direction</param>
        /// <param name="offset">Pagination offset integer of query (default 0)</param>
        /// <param name="limit">Pagination limit integer of query (default 10)</param>
        /// <returns></returns>
        public async Task <ApiResponse <QueryResult <L1DragonchainTransactionFull> > > QueryTransactions(string luceneQuery = "", string sort = "", int offset = 0, int limit = 10)
        {
            var queryParams = LuceneHelper.GetLuceneParams(luceneQuery, sort, offset, limit);

            return(await _httpService.GetAsync <QueryResult <L1DragonchainTransactionFull> >($"/transaction{queryParams}"));
        }