public async Task <ActionResult> GetTransactionsForMultipleAddresses([FromBody] GetTxsForMultipleAddressesRequest request)
        {
            Stopwatch stopWatch = Stopwatch.StartNew();

            if (request == null)
            {
                //TODO Point user to documentation once docs include DTOs (RA-176)
                return(BadRequest
                       (
                           "Invalid request format. Expected JSON format: \n{\n\t\"addrs\": \"addr1,addr2,addrN\",\n \t\"from\": 0,\n\t\"to\": M,\n\t\"noAsm\": 1, \n\t\"noScriptSig\": 1, \n\t\"noSpend\": 1\n}"
                       ));
            }

            var validationResult = ValidateGetTransactionsFromMultipleAddressesInput(request.addrs, request.from, request.to);

            if (!validationResult.Item1)
            {
                return(BadRequest(validationResult.Item2));
            }

            var result = await DoGetTransactionsForMultipleAddresses
                         (
                validationResult.Item3, request.from, request.to,
                stopWatch, request.returnLegacyAddresses, request.noAsm == 1,
                request.noScriptSig == 1, request.noSpend == 1
                         );

            return(Json(new GetTransactionsForMultipleAddressesResponse
            {
                totalItems = result.Item2,
                from = request.from,
                to = result.Item3,
                items = result.Item1.ToArray()
            }));
        }
예제 #2
0
 public async Task <ActionResult> GetTransactionsForMultipleAddresses([FromBody] GetTxsForMultipleAddressesRequest request)
 {
     return(await DoGetTransactionsForMultipleAddresses
            (
                request.addrs, request.from, request.to,
                request.noAsm == 1, request.noScriptSig == 1, request.noSpend == 1
            ));
 }