Advertisement
Guest User

BTQ Wallet Dust Consolidation Script

a guest
Jun 1st, 2014
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.25 KB | None | 0 0
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. title DUSTBUSTER Batch Script V1.02
  4. mode con cols=140 lines=30 >nul
  5.  
  6. @REM ////////////// SET ALL USERS VARIABLES HERE ////////////////////////////////
  7.  
  8.  
  9. SET BITQUARKD_FOLDER="C:\Users\PLAzmA\AppData\Roaming\BitQuark\Program\"
  10.  
  11. SET PAYMENT_ADDRESS_DEFAULT=1abJidxtJJDRouwyv6znqmwzJQkNyWCgc
  12.  
  13. SET RPC_PASSWORD=PASSWORD
  14.  
  15. SET TEMP_FILE=C:\bitquark-temp.log
  16.  
  17. @REM ////// END OF USER VARIABLES SET NO FURTHER VARIABLES TO SET PAST HERE /////
  18.  
  19. cls
  20. echo.
  21. set OLDDIR=%CD%
  22. set PAYOUT_STARTED=no
  23. set PAYOUT_TOTAL=0
  24. set PAYOUT_TOTAL_MESSAGE=
  25. SET FRACTIONSSTARTED=no
  26.  
  27. @REM GET USER VARS
  28. echo.
  29. echo Please answer the required questions below.
  30. echo.
  31. echo Press enter to accept the default value shown in brackets and note
  32. echo all the answers must be whole numbers and yes and no answers
  33. echo must be in lower case letters only.
  34. echo.
  35. echo If you would like to thank me for the script, you can send a donation of
  36. echo some BTQ to 1abJidxtJJDRouwyv6znqmwzJQkNyWCgc
  37. echo.
  38. SET /P BTQVALUE=Enter the maximum BTQ value to attempt to make payment (100) :
  39. SET /P BTQMINPAY=Enter the minimum payment value, default is to pay until empty (0) :
  40. SET /P TRANSCATION_DELAY=Enter the seconds to delay between making payments (30) :
  41. SET /P PAYMENT_ADDRESS=Enter address to make payment to (%PAYMENT_ADDRESS_DEFAULT%) :
  42. SET /P FRACTIONS=Do you want to attempt fractions, 3/4 1/2 1/4 a coin (no) :
  43. IF "%BTQVALUE%" == "" (SET BTQVALUE=100)
  44. IF "%BTQMINPAY%" == "" (SET BTQMINPAY=0)
  45. IF "%TRANSCATION_DELAY%" == "" (SET TRANSCATION_DELAY=30)
  46. IF "%PAYMENT_ADDRESS%" == "" (SET PAYMENT_ADDRESS=%PAYMENT_ADDRESS_DEFAULT%)
  47. IF "%FRACTIONS%" == "" (SET FRACTIONS=no)
  48.  
  49. @REM MOVE TO WORKING FOLDER
  50. cd %BITQUARKD_FOLDER%
  51.  
  52. :PAYMENTLOOP
  53.  
  54. @REM ATTEMPT PAYMENT
  55. cls
  56. set TRANSCATION=
  57. echo Attempting to make a payment of %BTQVALUE% BTQ to %PAYMENT_ADDRESS% %PAYOUT_TOTAL_MESSAGE%
  58. echo.
  59.  
  60. @REM DEBUG echo COMMAND bitquarkd.exe -rpcpassword^=%RPC_PASSWORD% sendtoaddress %PAYMENT_ADDRESS% %BTQVALUE%
  61. bitquarkd.exe -rpcpassword=%RPC_PASSWORD% sendtoaddress %PAYMENT_ADDRESS% %BTQVALUE% 2> %TEMP_FILE%
  62.  
  63. @REM DEBUG type %TEMP_FILE%
  64. @REM DEBUG pause
  65.  
  66. findstr /C:"couldn't connect to server" %TEMP_FILE%
  67. IF %ERRORLEVEL% == 0 (GOTO OPENWALLET)
  68. findstr /C:"Transaction too large" %TEMP_FILE%
  69. IF %ERRORLEVEL% == 0 (SET TRANSCATION=reduce)
  70. findstr /C:"Insufficient funds" %TEMP_FILE%
  71. IF %ERRORLEVEL% == 0 (SET TRANSCATION=reduce)
  72.  
  73. IF "%TRANSCATION%" == "reduce" (IF "%FRACTIONS%" == "yes" (IF "%BTQVALUE%" == "1" (GOTO STARTFRACTIONS)))
  74. IF "%TRANSCATION%" == "reduce" (IF NOT "%FRACTIONS%" == "yes" (IF "%BTQVALUE%" == "1" (GOTO PAYOUTNOMORE)))
  75. IF "%TRANSCATION%" == "reduce" (IF "%FRACTIONS%" == "yes" (IF "%BTQVALUE%" == "0.25" (GOTO PAYOUTNOMORE)))
  76. IF "%TRANSCATION%" == "reduce" (IF NOT "%FRACTIONSSTARTED%" == "yes" (IF %BTQVALUE% GTR 1 ( set /a BTQVALUE=%BTQVALUE%-1 )))
  77.  
  78. IF "%FRACTIONSSTARTED%" == "yes" (GOTO PROCESSFRACTIONS)
  79.  
  80. IF %BTQVALUE% LSS %BTQMINPAY% ( GOTO PAYOUTNOMORE )
  81. IF "%PAYOUT_STARTED%" == "no" (IF NOT "%TRANSCATION%" == "reduce" (set PAYOUT_STARTED=yes))
  82. IF "%PAYOUT_STARTED%" == "yes" (IF "%TRANSCATION%" == "reduce " (IF "%BTQVALUE%" == "1" ( GOTO STARTFRACTIONS )))
  83.  
  84. IF NOT "%TRANSCATION%" == "reduce" (SET /a PAYOUT_TOTAL=%BTQVALUE% + %PAYOUT_TOTAL%)
  85. IF NOT "%TRANSCATION%" == "reduce" (IF NOT "%TRANSCATION%" == "PENDING" (
  86. echo.
  87. echo Payment Accepted
  88. echo.
  89. echo Waiting for next payment attempt
  90. timeout /t %TRANSCATION_DELAY%
  91. set PAYOUT_TOTAL_MESSAGE=- %PAYOUT_TOTAL%.00 BTQ Paid so far
  92. ))
  93.  
  94. GOTO PAYMENTLOOP
  95.  
  96. :PROCESSFRACTIONS
  97. SET BTQVALUEFP=%BTQVALUE:~2%
  98. IF "%TRANSCATION%" == "reduce" (SET BTQVALUE=%BTQVALUE:~2%)
  99. IF "%TRANSCATION%" == "reduce" (SET /a BTQVALUE=%BTQVALUE%-25)
  100. IF "%TRANSCATION%" == "reduce" (SET BTQVALUE=0.%BTQVALUE%)
  101.  
  102. IF "%PAYOUT_STARTED%" == "no" (IF NOT "%TRANSCATION%" == "reduce" (set PAYOUT_STARTED=yes))
  103. IF "%TRANSCATION%" == "reduce" (IF "%BTQVALUE%" == "0.0" ( GOTO PAYOUTNOMORE ))
  104.  
  105. IF NOT "%TRANSCATION%" == "reduce" (set PAYOUT_TOTAL=%PAYOUT_TOTAL:.=%)
  106. IF NOT "%TRANSCATION%" == "reduce" (set /a PAYOUT_TOTAL=%BTQVALUEFP% + %PAYOUT_TOTAL%)
  107. IF NOT "%TRANSCATION%" == "reduce" (set PAYOUT_TOTAL=%PAYOUT_TOTAL:~0,-2%.%PAYOUT_TOTAL:~-2%)
  108.  
  109. IF NOT "%TRANSCATION%" == "reduce" (
  110. echo.
  111. echo Payment Accepted
  112. echo.
  113. echo Waiting for next payment attempt
  114. timeout /t %TRANSCATION_DELAY%
  115. set PAYOUT_TOTAL_MESSAGE=- %PAYOUT_TOTAL% BTQ Paid so far
  116. )
  117.  
  118. GOTO PAYMENTLOOP
  119.  
  120. GOTO END
  121.  
  122. :STARTFRACTIONS
  123. IF NOT "%FRACTIONS%" == "yes" (GOTO PAYOUTNOMORE)
  124. SET PAYOUT_TOTAL=%PAYOUT_TOTAL%.00
  125. SET FRACTIONSSTARTED=yes
  126. SET BTQVALUE=0.75
  127. set TRANSCATION=
  128. GOTO PAYMENTLOOP
  129.  
  130. :PAYOUTNOMORE
  131. cls
  132. echo.
  133. echo Reached minimum payment value or no more funds to pay from
  134. echo.
  135. echo An total of %PAYOUT_TOTAL% BTQ was paid to %PAYMENT_ADDRESS%
  136. echo.
  137. pause
  138. echo.
  139. echo.
  140. GOTO END
  141.  
  142. :OPENWALLET
  143. cls
  144. echo.
  145. echo IF appears the wallet program is not started. Please ensure
  146. echo your wallet is open before running and the script again.
  147. echo.
  148. echo An overall total of %PAYOUT_TOTAL% BTQ was paid to %PAYMENT_ADDRESS%
  149. echo.
  150. echo Note the above value does not include the value of fraction payments
  151. echo.
  152. pause
  153. echo.
  154. echo.
  155. GOTO END
  156.  
  157. :END
  158. del /F /Q %TEMP_FILE%
  159. chdir /d %OLDDIR%
  160. title
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement