private PathGroup[] GetPathGroups(AccountsToRefreshRequest request)
        {
            PathGroup[] groups = new PathGroup[request.Paths.Length];

            for (int i = 0; i < request.Paths.Length; i++)
            {
                AccountWithStorageStartingHash path = request.Paths[i];
                groups[i] = new PathGroup()
                {
                    Group = new[] { path.PathAndAccount.Path.Bytes, _emptyBytes }
                };
            }

            return(groups);
        }
        public async Task <byte[][]> GetTrieNodes(AccountsToRefreshRequest request, CancellationToken token)
        {
            PathGroup[] groups = GetPathGroups(request);

            GetTrieNodesMessage reqMsg = new ()
            {
                RootHash = request.RootHash,
                Paths    = groups,
                Bytes    = BYTES_LIMIT
            };

            TrieNodesMessage response = await SendRequest(reqMsg, _getTrieNodesRequests, token);

            Metrics.SnapGetTrieNodesSent++;

            return(response.Nodes);
        }