I could stake just fine earlier, then I encrypted my wallet and it stopped staking. After a day, I thought it was not just random variance and had a look. There indeed is a bug that prevents staking when the wallet is encrypted, even if it is unlocked.
Fixed by this patch:
diff --git a/src/main.cpp b/src/main.cpp
index 5c80a42..3ca309b 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -4348,12 +4348,14 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake)
}
//ADDED MINTING MESSAGE
+#if 0
while (pwallet->IsCrypted())
{
strMintWarning = strMintingMessage;
Sleep(1000);
}
strMintWarning = "";
+#endif
//
// Create new block
Somehow, this is pretty much the entire content of a recent patch, so I'm not sure why this was added.
Enjoy staking now
Sonofabitch, and here I thought I was going to call it a night.
There's no reason why changing the strMintWarning msg should be preventing anything from happening.
edit:turns out its something stupid and simple, as usual.