`crc32c`'s hardware accelerated code doesn't handle ARM 32-bit at all.
Make the check in `configure.ac` check for this architecture explicitly.
For the release binaries, the current `configure.ac` check happens
to work: it enables it on aarch64 but disables it for armhf. However
some combination of compiler version and settings might ostensibly cause
this check to succeed on armhf (as reported on IRC). So make the 64-bit
platform requirement explicit.
Github-Pull: #23045
Rebased-From: f2747d1602
(cherry picked from commit 85c78e08ec857e51a9748d1a2492d1d3794b221a)
Picks upstream commit 9a397666d28ca5f3c0d8233be3d39b2206555f45 to fix
dash compatibility. This fixes building zeromq in our CentOS 8 CI. This
is my preferred fix over backporting a zeromq update (which would
contain this change).
(cherry picked from commit 685ac6ad2e48093d69cccd1d242ed36a326cf90b)
2c7335fecc Remove duplicated code from merge (Pablo Greco)
Pull request description:
Remove duplicated code that looks like a bad merge in the 21-22 timeframe
ACKs for top commit:
delta1:
utACK 2c7335f
apoelstra:
utACK 2c7335fecc
Tree-SHA512: 19332412530b898783de7ba705108552dcb17a8e54987d9c916f15aeb33cd94063a3957578edd77fedc97650b224949e5e13a5e25cc045959f3d72567a773e5a
c6e074e25b liquidtestnet: Fix chain name in windows installer (Pablo Greco)
d0f391cfdb liquidtestnet: Add style for Elements-Qt (Pablo Greco)
48ddfbf8d7 liquidtestnet: Add fixed seeds (Pablo Greco)
3b34c8e927 liquidtestnet: Add seed nodes (Pablo Greco)
0d1964766f liquidtestnet: Accept multi OP_RETURN (Pablo Greco)
f955cb3d9c liquidtestnet: Add chainparams (Pablo Greco)
0fa20d006d CCustomParams: Move some defaults away from UpdateFromArgs (Pablo Greco)
e9df51121f Add text version of the fixed seeds for liquidv1 and liquidtestnet (Pablo Greco)
Pull request description:
Currently using liquidtestnet requires a big config file, which is error-prone and uncomfortable for users, this MR adds support for just using `-chain=liquidtestnet`.
There are a few things that need to be discussed/addressed
1. Main port (currently set to 18891 because that's the one used originally, and the one that's configured in `liquidtestnet.com`)
1. RPC and extra ports, I just chose some non-overlapping ports that are "close" to the ones in the other liquid/elements networks.
1. Icon color, I just used something different than `liquidv1` and `elementsregtest`, suggestions accepted 😉
1. `liquid-testnet.blockstream.com` is still using port 18892, it will be changed to 18891 soon.
1. both seeds are just CNAME dns records at the moment, they should be changed to real seed nodes (no changes in code required, but important for review)
ACKs for top commit:
delta1:
ACK c6e074e
wintercooled:
ACK c6e074e25b
apoelstra:
utACK c6e074e25b
Tree-SHA512: 48c17b8b90ba5a33ae987935ffb368737167f6ca5ae772f6dd8c0c5e7efb39355d81e2677cd02d3e22984f2592fdd67caaf838003902b3c827f6ade01f18a040
Make these two functions available to external callers.
CreateBlindValueProof is a wrapper around the static function to avoid
requiring callers to parse things into secp256k1 objects.
It is arguable whether attempting a value proof without an asset
commitment should be treated as incomplete or incorrect blinding. Since
the asset commitment is required to produce the value proof in the first
place, failing to provide it in the source PSET and thus at this call
site is treated as an error.
This does not change the existing behaviour since a missing asset
or value commitment in this function would already cause it to fail.
Future work on the blinding iterface should likely return the blinding
state directly from the verify calls and remove the duplicated mapping of
blinding error codes to transaction blinding error codes, instead of the
verify functions returning just true/false.
Prior to coin selection we need to indicate that the issuances will take
extra space, otherwise we may fail to select enough coins to cover our
fees, triggering the new "fee needed exceeds fees available" assertion.
(cherry picked from commit e5e3ec2700)
The Elements 22 blinding logic has an edge case where when we drop change,
leaving only a single blinded output, we recompute a bunch of blinding
data to handle the potential for us to have 0 inputs and 1 output to blind.
(BlindTransaction will fail in this case because it cannot make the
transaction balance with only one output to mess with.)
In this recomputation, we dropped more data than we meant to, causing us
to incorrectly blind an output.
(cherry picked from commit fac694be4c)
Prior to coin selection we need to indicate that the issuances will take
extra space, otherwise we may fail to select enough coins to cover our
fees, triggering the new "fee needed exceeds fees available" assertion.