fa6c0bedd3refactor: Return uint64_t from GetSerializeSize (MarcoFalke)fad0c8680erefactor: Use uint64_t over size_t for serialized-size values (MarcoFalke)fa4f388fc9refactor: Use fixed size ints over (un)signed ints for serialized values (MarcoFalke)fa01f38e53move-only: Move CBlockFileInfo to kernel namespace (MarcoFalke)fa2bbc9e4crefactor: [rpc] Remove cast when reporting serialized size (MarcoFalke)fa364af89btest: Remove outdated comment (MarcoFalke) Pull request description: Consensus code should arrive at the same conclusion, regardless of the architecture it runs on. Using architecture-specific types such as `size_t` can lead to issues, such as the low-severity [CVE-2025-46597](https://bitcoincore.org/en/2025/10/24/disclose-cve-2025-46597/). The CVE was already worked around, but it may be good to still fix the underlying issue. Fixes https://github.com/bitcoin/bitcoin/issues/33709 with a few refactors to use explicit fixed-sized integer types in serialization-size related code and concluding with a refactor to return `uint64_t` from `GetSerializeSize`. The refactors should not change any behavior, because the CVE was already worked around. ACKs for top commit: Crypt-iQ: crACKfa6c0bedd3l0rinc: ACKfa6c0bedd3laanwj: Code review ACKfa6c0bedd3Tree-SHA512: f45057bd86fb46011e4cb3edf0dc607057d72ed869fd6ad636562111ae80fea233b2fc45c34b02256331028359a9c3f4fa73e9b882b225bdc089d00becd0195e
src/node/
The src/node/ directory contains code that needs to access node state
(state in CChain, CBlockIndex, CCoinsView, CTxMemPool, and similar
classes).
Code in src/node/ is meant to be segregated from code in
src/wallet/ and src/qt/, to ensure wallet and GUI
code changes don't interfere with node operation, to allow wallet and GUI code
to run in separate processes, and to perhaps eventually allow wallet and GUI
code to be maintained in separate source repositories.
As a rule of thumb, code in one of the src/node/,
src/wallet/, or src/qt/ directories should avoid
calling code in the other directories directly, and only invoke it indirectly
through the more limited src/interfaces/ classes.
This directory is at the moment
sparsely populated. Eventually more substantial files like
src/validation.cpp and
src/txmempool.cpp might be moved there.