Exemple #1
0
        public async Task <APIResult <string[]> > FindTransactions(IEnumerable <string> addresses, IEnumerable <string> tags,
                                                                   IEnumerable <string> approves, IEnumerable <string> bundles)
        {
            FindTransactionsRequest findTransactionsRequest =
                new FindTransactionsRequest(bundles?.ToArray(), addresses?.ToArray(), tags?.ToArray(), approves?.ToArray());

            var response = await genericWebClient.RequestAsync <FindTransactionsResponse>(findTransactionsRequest);

            return(response?.RePackage(r => r.Hashes));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="addresses"> without checksum</param>
        /// <param name="tags"></param>
        /// <param name="approvees"></param>
        /// <param name="bundles"></param>
        /// <returns></returns>
        public FindTransactionsResponse FindTransactions(
            List <string> addresses, List <string> tags,
            List <string> approvees, List <string> bundles)
        {
            if (addresses != null)
            {
                for (int i = 0; i < addresses.Count; i++)
                {
                    addresses[i] = addresses[i].RemoveChecksum();
                }
            }

            if (tags != null)
            {
                foreach (var tag in tags)
                {
                    if (!InputValidator.IsTag(tag))
                    {
                        throw new ArgumentException(Constants.INVALID_TAG_INPUT_ERROR);
                    }
                }
            }

            if (approvees != null)
            {
                foreach (var approve in approvees)
                {
                    if (!InputValidator.IsHash(approve))
                    {
                        throw new ArgumentException(Constants.INVALID_BUNDLE_HASH_ERROR);
                    }
                }
            }

            if (bundles != null)
            {
                foreach (var bundle in bundles)
                {
                    if (!InputValidator.IsHash(bundle))
                    {
                        throw new ArgumentException(Constants.INVALID_BUNDLE_HASH_ERROR);
                    }
                }
            }


            var findTransactionsRequest = new FindTransactionsRequest(addresses, tags, approvees, bundles);

            return
                (Request <FindTransactionsRequest, FindTransactionsResponse>(findTransactionsRequest));
        }
        public async Task <string[]> FindTransactions(IEnumerable <string> addresses, IEnumerable <string> tags,
                                                      IEnumerable <string> approves, IEnumerable <string> bundles)
        {
            FindTransactionsRequest findTransactionsRequest =
                new FindTransactionsRequest(bundles?.ToArray(), addresses?.ToArray(),
                                            tags?.ToArray(), approves?.ToArray());
            var response = await genericClient.RequestAsync <FindTransactionsResponse>(findTransactionsRequest);

            if (response == null)
            {
                throw new NullReferenceException(nameof(response));
            }

            return(response.Hashes);
        }