private static SortedList <AccountHash, Account> SortAccounts(IEnumerable <Account> accounts, Hasher hasher)
        {
            var list = new SortedList <AccountHash, Account>();

            foreach (var account in accounts)
            {
                list.Add(hasher.GetHash(account), account);
            }
            return(list);
        }
 public LedgerMerkleRoot(IEnumerable <Account> accounts, IEnumerable <TxDeclaration> declarations, ILogger logger, Hasher hasher) : this(SortAccounts(accounts, hasher), SortDeclarations(declarations), logger)
 {
 }