From 2a73a631bc0ee19e82ecfb7208a1cec88363c37f Mon Sep 17 00:00:00 2001 From: Russell Ballestrini Date: Sun, 28 Sep 2025 16:48:15 -0400 Subject: [PATCH] Add missing getblockhash method to DogecoinClient for late payment scanning The crypto watcher's late payment scanner was failing with: 'DogecoinClient' object has no attribute 'getblockhash' Added getblockhash() method to both DogecoinClient and MockDogecoinClient: - Uses standard Bitcoin RPC getblockhash call with block height parameter - Enables proper Dogecoin late payment detection in production - Required for crypto watcher to scan for missed payments Critical for production Dogecoin support. --- make_post_sell/lib/crypto_clients.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/make_post_sell/lib/crypto_clients.py b/make_post_sell/lib/crypto_clients.py index 0c75266..1e592c6 100644 --- a/make_post_sell/lib/crypto_clients.py +++ b/make_post_sell/lib/crypto_clients.py @@ -310,6 +310,10 @@ class DogecoinClient: """Get current block height.""" return self._call("getblockcount") + def getblockhash(self, block_height: int) -> str: + """Get block hash for a specific block height.""" + return self._call("getblockhash", [block_height]) + def getnetworkinfo(self) -> Dict[str, Any]: """Get network status information.""" return self._call("getnetworkinfo") @@ -435,6 +439,10 @@ class MockDogecoinClient: def getblockcount(self) -> int: return 5500000 # Mock block height + def getblockhash(self, block_height: int) -> str: + """Mock block hash for testing.""" + return f"mock_block_hash_{block_height}" + def getnetworkinfo(self) -> Dict[str, Any]: return { "version": 1140200,