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); }