Overtorment / Cashier-BTC

💰 Self-hosted Bitcoin payment gateway (฿)
286 stars 101 forks source link

Failing to use /payout, everything else working. #25

Open DeusNexus opened 4 years ago

DeusNexus commented 4 years ago

I got Cashier-BTC working, npm test run without any errors and all ok. It's possible to check balanace, create new transaction, check seller balance the only thing not working is the payout.

I already checked if it could be because of balance issues or fee too high etc, which is all perfectly fine. In debugging I can see amount, amountToOutput, changeAddress, feeInSathoshis, fixedFee are all spendable and ok.

What could have caused the following error and how would I be able to fix it? Have not been able to locate the issue yet so any help will be appreciated.

code:500

message:"{"result":null,"error":{"code":-26,"message":"mandatory-script-verify-flag-failed (Script evaluated without error but finished with a false/empty top stack element) (code 16)"},"id":"62986010-8ef5-4917-9d5f-ab43ba5b957c"}\n"

stack:"Error: {"result":null,"error":{"code":-26,"message":"mandatory-script-verify-flag-failed (Script evaluated without error but finished with a false/empty top stack element) (code 16)"},"id":"62986010-8ef5-4917-9d5f-ab43ba5b957c"}\n\n at IncomingMessage. (/home/user/BitcoinPayment/Cashier-BTC/node_modules/jayson/lib/client/http.js:74:21)\n at emitNone (events.js:111:20)\n at IncomingMessage.emit (events.js:208:7)\n at endReadableNT (_stream_readable.js:1064:12)\n at _combinedTickCallback (internal/process/next_tick.js:138:11)\n at process._tickCallback (internal/process/next_tick.js:180:9)"

Overtorment commented 4 years ago

Hi, this sounds bad, looks like a bitcoinscript problem. Please try to get private keys from the database and use them in some wallet to see if funds are actually available.

On Sun, 20 Oct 2019 at 09:00, DeusNexus notifications@github.com wrote:

I got Cashier-BTC working, npm test run without any errors and all ok. It's possible to check balanace, create new transaction, check seller balance the only thing not working is the payout.

I already checked if it could be because of balance issues or fee too high etc, which is all perfectly fine. In debugging I can see amount, amountToOutput, changeAddress, feeInSathoshis, fixedFee are all spendable and ok.

What could have caused the following error and how would I be able to fix it? Have not been able to locate the issue yet so any help will be appreciated.

code:500

message:"{"result":null,"error":{"code":-26,"message":"mandatory-script-verify-flag-failed (Script evaluated without error but finished with a false/empty top stack element) (code 16)"},"id":"62986010-8ef5-4917-9d5f-ab43ba5b957c"}\n"

stack:"Error: {"result":null,"error":{"code":-26,"message":"mandatory-script-verify-flag-failed (Script evaluated without error but finished with a false/empty top stack element) (code 16)"},"id":"62986010-8ef5-4917-9d5f-ab43ba5b957c"}\n\n at IncomingMessage. (/home/user/BitcoinPayment/Cashier-BTC/node_modules/jayson/lib/client/http.js:74:21)\n at emitNone (events.js:111:20)\n at IncomingMessage.emit (events.js:208:7)\n at endReadableNT (_stream_readable.js:1064:12)\n at _combinedTickCallback (internal/process/next_tick.js:138:11)\n at process._tickCallback (internal/process/next_tick.js:180:9)"

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Overtorment/Cashier-BTC/issues/25?email_source=notifications&email_token=AAOTD6MHOMIJD7YTS654Q33QPQFZHA5CNFSM4JCTHFQ2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HS7I6DA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOTD6JKDBOYNQS4DOTEJJLQPQFZHANCNFSM4JCTHFQQ .

DeusNexus commented 4 years ago

@Overtorment I was trying to access the funds that the xPub generates every tx but I found that it says view-only for every generated wallet address. If I try to spend the received satohis those funds are not available. Then I tried to use the WIF to import the private key of that address which Cashier generates in the database.

Importing the privatekey inside the Bitcoin Core consosole gave me an error regarding to prune.

Error: Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)

Could it be that the RPC is unable to reach these addresses with the WIF because I enabled Prune? Since I'm also not able to import any private key manually in console?

Not sure if this will affect Cashier? Found this when prune is enabled,

Once this mode is enabled you can’t rescan your wallet as it requires you to download the blockchain again. Running a wallet in pruned mode is incompatible with -rescan and -txindex