Aims to isolate auxpow code for readability and to make a clear
demarcation for this custom Dogecoin functionality. Only moves
code.
- Creates a header for mining/auxpow shared usage containing
common functions between these functions.
- Moves all auxpow RPC methods into rpc/auxpow.cpp
Does a checkout of the full commit history and checks the status
integrity of each subtree using the git-subtree-check.sh provided
in contrib/devtools. Default subtree remotes are defined in the
new file contrib/subtrees.json
- Fix breaking change on UPNP_GetValidIGD by macro condition on
MINIUPNPC_API_VERSION > 18
- Verbosely log what was returned by UPNP_GetValidIGD - because
we can detect whether a valid outbound connection was found to
and unroutable external IP. This helps troubleshooting
situations where for example an ISP uses CGNAT.
See miniupnp commit c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f for
the full change.
Co-authored-by: Daniel Morante <daniel@morante.net>
This clarifies:
- what facilities are provided
- where to find code-signing keys
- where attestations can be found
- where to find full documentation for gitian builds
- openssl (was only needed for BIP70/71)
- http and network modules (Qt no longer implements any networking)
- qt socks integration (does not affect p2p socks routing)
This frees us from GitHub actions brownouts and early deprecation
by no longer using Microsoft-maintained images in favor of bare
images from Docker Hub. The latter keeps images available for a
longer time, regardless of whether or not Canonical directly
supports them.
Benefits:
- Decouples our release cycle from what Microsoft is willing to
spend support effort on.
- Reduces bloat in base images
Because the bare ubuntu images contain a lot less pre-installed
tooling, some changes in orchestration need to be made for this
to be successful, as well as some workarounds can be removed:
- All GitHub Actions base operating systems are set to
ubuntu-24.04, as all we use from this now is containerd.
- All docker images remain ubuntu:20.04 for now, as this is
needed for symbol compatibility (and for now, we use the same
version in Gitian builds)
- Until the base image used for GitHub Actions and the provided
containerd is providing sandboxed mounting on /proc, every
process that needs custom binfmts needs to be ran privileged.
Currently this means all windows builds need this.
see: https://lore.kernel.org/all/20211028103114.2849140-2-brauner@kernel.org/
- Staying on custom binfmts, the Microsoft-maintained image
contained mono runtimes and reduced compatibility with wine,
for which we had workarounds in place. These are no longer
needed and have been removed.
- For future troubleshooting, the currently installed binfmts
and the kernel version are verbosely displayed inside jobs
- Because GitHub Actions does not allow us to pass zero
arguments to container options, whenever there are none a
dummy environment value 1DOGE is set to 1DOGE.
- For macOS, the libbz2-dev library was missing from our system
dependencies, this was masked by it being installed by default
in the Microsoft-maintained image.
- Bare containers do not come configured with a timezone, so this
needed to be added to container initialization before any apt
calls are made.
- Because Microsoft runs the container under uid 1001, which does
not exist in the bare ubuntu:20.04 image, a special cleanup
step for the qa/cache needed to be made, or else the build
caches would fail to upload at the end of the CI run.
Completely removes BIP70 support from Dogecoin Qt code.
Also removes protobuf-compatibility tests as these rely on
paymentserverplus code and any TLS related configuration, and
the -enable-bip70 flag from init.cpp
- fixes the language coding: it should be either de_DE or just de;
the latter was chosen because there is only one German
translation and can be used generically. See RFC5646 for the
scheme, ISO 639 for the language part and ISO 3166 for the
territory part.
- Added the translation to the internationalizatio index in
doc/intl/README.md
[Bugfix] Fix incorrect disconnect call for static functions
Problem:
When using `uiInterface.NotifyBlockTip.disconnect(BlockNotifyGenesisWait)`
to disconnect a static function, the compilation fails because `boost::signals2::disconnect`
requires the exact type signature match of the slot. Using the function name directly
doesn't resolve to the correct function pointer for static functions.
Solution:
The fix explicitly uses `&BlockNotifyGenesisWait` to pass the function pointer.
This resolves the compilation error.
Impact:
Only affects the disconnect mechanism for static functions in `uiInterface.NotifyBlockTip`.
Signed-off-by: Dongyan Qian <dongyan0314@gmail.com>