Commit Graph

192 Commits

Author SHA1 Message Date
b1e1451911 crypto: backport BIP340 x-only keys and schnorr primitives 2026-02-06 13:42:57 +01:00
f43e4981d5 docker-build: force Qt GUI build and fail if palladium-qt is missing 2026-02-06 11:19:46 +01:00
478e8fc306 build(secp256k1): upgrade to bitcoin-core v24.2 with taproot modules
Synchronize secp256k1 library to bitcoin-core/secp256k1 as of Bitcoin Core
v24.2, enabling cryptographic primitives required for Taproot (BIP340/341).

Changes:
- Upgrade src/secp256k1 from bitcoin v24.2 tag
- Enable experimental modules via configure.ac:
  * --enable-module-extrakeys (BIP340 x-only public keys)
  * --enable-module-schnorrsig (BIP340 Schnorr signatures)
  * --enable-module-recovery (ECDSA pubkey recovery, pre-existing)
- Update MSVC build configuration with corresponding preprocessor defines
- Regenerate autotools build files via autogen.sh

Module verification:
- ENABLE_MODULE_EXTRAKEYS: provides secp256k1_xonly_pubkey APIs
- ENABLE_MODULE_SCHNORRSIG: provides secp256k1_schnorrsig APIs
- ENABLE_MODULE_RECOVERY: provides secp256k1_ecdsa_recover APIs

Build targets:
- Linux/Unix: verified with autotools + quick-build.sh
- Windows MSVC: configuration updated (requires Windows build verification)

Testing:
- Static library compiled successfully (1.6M)
- All header files present (extrakeys.h, schnorrsig.h)
- Regtest functional tests passed:
  * Transaction signing/verification
  * ECDSA operations
  * Block mining and validation
- No regressions on existing ECDSA functionality

This commit provides the cryptographic foundation for subsequent Taproot
implementation (BIP340/341/342) without modifying consensus or wallet logic.
2026-02-06 10:19:01 +01:00
de0ef2ec7a docs(docker-build): rewrite README with complete build matrix and technical troubleshooting 2026-02-06 08:42:53 +01:00
3bc7cff5ba Normalize build scripts and fix Docker Qt dependencies for x86_64 2026-02-06 08:14:19 +01:00
c539ebedc7 git add test/util/data/ test/util/test_runner.py test/README.md test/lint/lint-format-strings.py contrib/devtools/circular-dependencies.py src/qt/palladiumgui.cpp 2026-02-05 13:31:07 +01:00
a5545a27ed Adapt functional tests to Palladium consensus rules 2026-02-05 13:30:12 +01:00
ba4446842d Adapt test framework to Palladium consensus rules 2026-02-05 13:29:25 +01:00
f94645004a chmod +x lint scripts 2026-02-04 09:31:28 +01:00
733fe26b42 Fix dark mode input heights and spinbox button visibility
- Set consistent min-height (22px) and padding (2px) for all input widgets
- Add dark-styled backgrounds to spinbox buttons (#2A2A2A with hover)
- Use native Qt arrows for spinbox buttons to match light mode
- Apply styling to QLineEdit, QSpinBox, QComboBox, PalladiumAmountField

Ensures uniform widget dimensions and visible controls across all pages
in both light and dark modes
v1.5.1
2026-01-26 23:03:29 +01:00
1acc4573ae Fix dark mode input field heights to match light mode
Set consistent min-height (20px) and padding (3px) for all input widgets
(QLineEdit, QSpinBox, QComboBox, PalladiumAmountField) in dark mode to
ensure uniform dimensions across themes
2026-01-26 22:45:35 +01:00
39f1ec41cb Fix UI inconsistencies and improve dark mode appearance
This commit addresses multiple UI issues related to theme switching and
dark mode styling:

1. Fix spinbox height inconsistency between light and dark modes
   - Add changeEvent() handler in AmountSpinBox to invalidate cached
     size hint when theme/style/palette changes
   - Force updateGeometry() on all visible widgets after theme toggle
   - Add min-height and padding to dark mode spinbox CSS to match
     light mode dimensions

2. Improve spinbox button visibility in dark mode
   - Add visible background and borders to up/down buttons
   - Use dark grey arrows (#808080) instead of white for better contrast
   - Add hover states with appropriate dark theme colors
   - Set proper button width (16px) for consistent appearance

3. Enhanced theme switching
   - Invalidate widget geometry caches when switching between themes
   - Ensure consistent rendering between native (light) and stylesheet
     (dark) rendering modes

Files modified:
- src/qt/palladiumamountfield.cpp: Add changeEvent() handler
- src/qt/palladiumgui.cpp: Force geometry update after theme change
- src/qt/res/styles/dark.qss: Improve spinbox styling with proper
  dimensions, button visibility, and dark-appropriate colors

This ensures a consistent user experience across both themes with
properly sized widgets and visible, theme-appropriate controls
2026-01-26 18:06:01 +01:00
4b10f64fde Improve modal overlay UI: add border and semi-transparent background
Enhance the sync modal overlay visibility and aesthetics:
- Add 1px border to content widget using palette(mid) for theme adaptation
- Restore semi-transparent background (alpha=230) to overlay backdrop
- Remove minimum window size constraint (950x550) for better flexibility

The border ensures the overlay is clearly visible in both light and dark
modes, while the semi-transparent background provides visual separation
without completely obscuring the underlying interface
2026-01-26 17:45:48 +01:00
21ae070217 Fix compilation with modern GCC (Ubuntu 24.04+)
Add missing C++ standard library includes required by GCC 13+ and newer
toolchains. These headers were previously included implicitly through
other headers in older GCC versions (e.g., GCC 9 on Ubuntu 20.04), but
modern compilers require explicit includes per C++ standard compliance.

Changes:
- Add <cstdint> to util/bip32.h for uint32_t type definitions
- Add <array> to net_processing.cpp for std::array
- Add <stdexcept> to multiple headers for exception types:
  * support/events.h (std::runtime_error)
  * dbwrapper.h (std::runtime_error base class)
  * streams.h (std::out_of_range, std::ios_base::failure)
  * coins.h (std::logic_error)
  * wallet/coinselection.h (std::invalid_argument, std::out_of_range)
  * rpc/util.h (std::runtime_error)
  * support/lockedpool.h (std::runtime_error)
  * support/lockedpool.cpp (std::runtime_error)
  * wallet/scriptpubkeyman.h (std::runtime_error)

This ensures compatibility across different compiler versions and
architectures (ARM64/x86_64) while maintaining backward compatibility
with older toolchains.

Tested on Ubuntu 24.04 with GCC 13.
2026-01-26 17:30:11 +01:00
5145f76aa9 Improve splash screen text visibility 2026-01-13 22:49:15 +01:00
840b635369 Improve default palladium.conf generation 2026-01-13 22:31:02 +01:00
8ff76cd2f7 Bump version to 1.5.1 2026-01-13 18:30:23 +01:00
a1d3da250a Improve icon quality and adjust splash screen layout
- Upgrade palladium.ico and palladium.png to higher quality versions
- Adjust icon position in splash screen for better visual balance
2026-01-13 18:26:07 +01:00
61ad4d7e39 Update copyright year and ignore backup files 2026-01-13 11:19:51 +01:00
88cf273b9e Widen transaction amount column header 2026-01-13 11:09:52 +01:00
a999ce3d36 Refine Qt GUI layout and adjust dark theme styling 2026-01-13 11:03:39 +01:00
95962816fb Fix dark mode styling in Send and Receive pages 2026-01-13 08:54:59 +01:00
b045fe7c0d Improve UI: enhance splash screen readability and fix window minimum size 2026-01-12 23:47:55 +01:00
5ff9fa136b Improve splash screen text visibility with shadow effect and larger font 2026-01-12 23:33:28 +01:00
79b4945b31 Fix text clipping in modal overlay and set minimum window size 2026-01-12 18:01:53 +01:00
d4914fccc5 Refine dark mode borders and improve modal overlay spacing 2026-01-12 17:40:02 +01:00
d0233e1759 Fix ModalOverlay readability by removing background transparency 2026-01-11 18:51:44 +01:00
f6223d1b1e Improve quick-build.sh: fix ccache and add rebuild option
- Document quick-build.sh usage in README.md with Ubuntu 20.04 note
2026-01-11 18:13:47 +01:00
3792ec0a60 Fix: handle missing argument in build-windows.sh
Fix unbound variable error when script is run without arguments.
Use parameter expansion ${1:-} instead of $1 to safely check for
--installer flag when set -u is enabled.
2026-01-08 22:44:40 +01:00
NotRin7
c1ac562a4a new logo + windows installer 2025-12-15 00:45:48 +01:00
NotRin7
79040450d2 Update modaloverlay and palladiumgui files v1.5.0 2025-12-10 01:19:11 +01:00
NotRin7
eafbe5ac94 Merge pull request #14 from palladium-coin/logic-improvements
Logic improvements
2025-11-25 15:00:01 +01:00
NotRin7
b20544c499 add params to chainparams.cpp 2025-11-24 00:03:44 +01:00
NotRin7
a3ca53a380 Merge pull request #13 from palladium-coin/master
Merge pull request #12 from palladium-coin/logic-improvements
2025-11-23 23:54:28 +01:00
NotRin7
e27ef57e41 Merge pull request #12 from palladium-coin/logic-improvements
Logic improvements
2025-11-22 20:07:33 +01:00
NotRin7
54a10bbc2a Release v1.5.0: Hard Fork Logic (Chat & DAA) activated at block 340,000 2025-11-22 18:59:39 +01:00
NotRin7
5eb70c65d2 replacing the deprecated state.DoS call with state.Invalid 2025-11-22 17:16:34 +01:00
NotRin7
5b37dcc469 fix linker error 2025-11-22 17:12:34 +01:00
NotRin7
89940a5e2f better diff adjustment at block 350.000 2025-11-22 16:38:29 +01:00
NotRin7
6620061934 fix 2025-11-22 16:18:00 +01:00
NotRin7
492a610637 Merge pull request #11 from NotRin7/master
smal fixes
2025-11-20 18:10:31 +01:00
NotRin7
8bd7bc2ff8 cod update 2025-11-20 17:53:49 +01:00
NotRin7
d59e9d6451 add combine script 2025-11-20 17:50:26 +01:00
NotRin7
4afc3365c4 Update palladiumgui.cpp 2025-11-20 17:43:40 +01:00
NotRin7
372c7b44db fix 2.0 2025-11-20 17:33:32 +01:00
NotRin7
c8cd9a5f3b fix 2025-11-20 15:58:58 +01:00
NotRin7
e3ab6b09cc Merge pull request #9 from palladium-coin/implement-update-checker
Implement update checker
2025-11-19 21:32:19 +01:00
NotRin7
3a6a2fcb32 Update palladiumgui.cpp 2025-11-19 21:31:38 +01:00
NotRin7
19715917b5 Update install_db4.sh 2025-11-19 21:18:41 +01:00
NotRin7
0644af1003 update info 2025-11-19 21:03:19 +01:00