The new locale-independent atoi64 method introduced in #20452 behaves differently for values passed which are greater than the uint64_t max. This commit is proof of that (the attached test fails), and is meant to spur discussion on how to handle such an incompatibility.
The change as committed in #20542 may break some end-usages of
bitcoind, but more than that may have consensus implications as this
deserialization mechanism is used in CScript::ParseScript. I think this
means it’s possible that #20542 could have been an accidental soft fork?
Edit: CScript::ParseScript
isn’t consensus-critical, but is used in e.g. script descriptor parsing.