- Fix get_next_address_index: use try_get::<i32> for PG SERIAL/INTEGER columns
- Fix search_tx: use try_get::<i32> for PG status column
- Fix execute_insert: parse locktime (String→i64) and in_vout (String→i32)
before binding to PG INTEGER columns
- Fix execute_insert: bind tbl_out vout as i32, amount as String for PG
- Fix save_new_address: cast xpub i64 to i32 for PG INTEGER column
- Fix get_pending_txs: cast i64 bind params to i32, use try_get::<i32> for reads
- Fix get_stats: use try_get::<i32> for all numeric PG INTEGER columns
- Add trace logging in parse_request_transactions for xpub address matching
- Add trace logging in get_all_addresses_by_xpub for query debugging
- download_and_install_bitcoincore.sh:
- Fix apt install with single-quoted string (was treating all deps as one package)
- Add sudo to apt install commands
- Fix tar extraction: now finds extracted dir and copies bitcoind/bitcoin-cli to /usr/local/bin
- Fix zmqpubrawblock -> zmqpubhashblock (pusher expects hashblock topic)
- Fix install check (0 was testing cd, not tar) with explicit extraction check
- Handle existing user in adduser
- Fix source lib.sh path
- download_and_install_bal.sh:
- Use curl -sfL (fail on 404, follow redirects) for Gitea download
- Add null/empty check after jq download URL extraction
- Change certbot --standalone to --nginx (avoids port 80 conflict)
- Enable nginx site symlink (was commented out)
- Handle existing 'bal' user in adduser
- install_tor.sh:
- Add sudo to all root-requiring commands (apt, tee, cp, sed, systemctl)
- Backup torrc with timestamp before modifying
- Add DisableDebuggerAttachment hardening