elements/src
Andrew Poelstra 6eed792d43
Merge ElementsProject/elements#1050: wallet: fix a pile of bugs in transaction funding logic
a67a2df330 pset: remove one more intermediate-zero check from the blinding logic (Andrew Poelstra)
9eb285c19d test: add test for confidential non-wallet-owned change (Andrew Poelstra)
185d473fe8 walletcreatefundedpsbt: add functional test for blinding edge cases (Andrew Poelstra)
533da12c2c wallet: make sure extra OP_RETURN output is blinded when called from fundraw (Andrew Poelstra)
b09b63bd1b pset: allow input blinding factors to sum to zero, or value to be 0 (Andrew Poelstra)
9afcb83baf wallet: correctly handle blinding of manually-set change addresses (Andrew Poelstra)
9813c3e74a wallet: fix "cannot unblind IsMine output" check in SignPSBT (Andrew Poelstra)
7103471fd5 walletcreatefundedpsbt: signal blinding data correctly to `FundTransaction` (Andrew Poelstra)

Pull request description:

  Fixes #1049

  Needs backport to 0.21 (and a new rc).

  Although there are several bugs here, none affect the functionaries. There is a more thorough summary in the second-to-last commit message.

ACKs for top commit:
  achow101:
    ACK a67a2df330

Tree-SHA512: 25066c29f080e43cd00c5b33c60a986a8cb5bbf4ca01ceb3b4182c5b8f61979a1d6d946b8f28fa871ec90f44bdb6fc22014b5c11280cf081181db102cd588cdf
2021-10-02 15:13:45 +00:00
..
bench Implement Bech32m encoding/decoding 2021-08-17 22:32:47 +00:00
compat
config
consensus versionbits: allow specific deployments to override the signalling/threshold values 2021-09-15 17:48:12 +00:00
crc32c
crypto Implement Streaming SHA256 opcodes 2021-08-26 20:28:01 +00:00
index Merge 0d9e14a646 into merged_master (Bitcoin PR #19733) 2020-11-28 02:20:12 +00:00
interfaces Merge db88db4727 into merged_master (Bitcoin PR #19339) 2020-11-30 15:50:18 +00:00
leveldb
logging
node PSET: output warnings in decodepsbt and analyzepsbt about blinding status 2021-09-21 21:59:16 +00:00
policy Merge 80e32e120e into merged_master (Bitcoin PR #20305) 2020-12-02 17:53:59 +00:00
primitives Output PSBTOutputs with aux info from ConstructTransaction 2021-06-22 14:42:19 -04:00
qt Fix display of outputs in PSBT ops dialog 2021-06-22 14:42:38 -04:00
rpc PSET: output warnings in decodepsbt and analyzepsbt about blinding status 2021-09-21 21:59:16 +00:00
script sign.cpp: turn on SIGHASH_SCRIPT_RANGEPROOF when checking already-existing signatures 2021-09-19 14:18:13 +00:00
secp256k1 Merge commit '196c993d1f' into 2021-07--secp-update 2021-07-28 23:11:33 +00:00
support
test Merge ElementsProject/elements#1040: regtest: change network magic away from liquid v1 2021-09-15 22:36:31 +00:00
univalue
util wallet: fix "cannot unblind IsMine output" check in SignPSBT 2021-09-30 21:54:40 +00:00
wallet wallet: make sure extra OP_RETURN output is blinded when called from fundraw 2021-09-30 21:54:40 +00:00
zmq
.clang-format
addrdb.cpp
addrdb.h
addrman.cpp
addrman.h addrman: ensure old versions don't parse peers.dat 2020-11-11 16:05:15 +01:00
amount.h
arith_uint256.cpp
arith_uint256.h
asset.cpp
asset.h Merge dcacea096e into merged_master (Bitcoin PR #19032) 2020-11-26 01:08:50 +00:00
assetsdir.cpp Merge 544709763e into merged_master (Bitcoin PR #18571) 2020-11-26 01:08:20 +00:00
assetsdir.h Merge 544709763e into merged_master (Bitcoin PR #18571) 2020-11-26 01:08:20 +00:00
attributes.h
banman.cpp
banman.h
base58.cpp
base58.h
bech32.cpp naming nits 2021-08-17 22:32:47 +00:00
bech32.h naming nits 2021-08-17 22:32:47 +00:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Merge 2e24197117 into merged_master (Bitcoin PR #20115) 2020-12-01 19:06:05 +00:00
bitcoin-tx-res.rc
bitcoin-tx.cpp bitcoin-tx: add ASSET to the help text of some option 2021-04-15 17:33:44 +00:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp Merge f1fcbdea25 into merged_master (Bitcoin PR #20271) 2020-12-01 21:16:07 +00:00
bitcoind-res.rc
bitcoind.cpp Merge 8219893825 into merged_master (Bitcoin PR #19993) 2020-11-29 18:52:06 +00:00
blech32.cpp blech32: add blech32m format and use it to decode witness v1+ addresses 2021-08-18 15:54:20 +00:00
blech32.h blech32: add blech32m format and use it to decode witness v1+ addresses 2021-08-18 15:54:20 +00:00
blind.cpp Merge ElementsProject/elements#1014: Fix crash when creating large inputs 2021-08-30 20:56:31 +00:00
blind.h Use a constant for maximum surjection targets 2021-06-22 14:42:38 -04:00
blindpsbt.cpp Merge ElementsProject/elements#1050: wallet: fix a pile of bugs in transaction funding logic 2021-10-02 15:13:45 +00:00
blindpsbt.h combinepsbt: only use explicit values if the corresponding proofs pass 2021-10-01 17:17:41 +00:00
block_proof.cpp
block_proof.h
blockencodings.cpp Merge 082a417abc into merged_master (Bitcoin PR #18635) 2020-11-26 01:08:51 +00:00
blockencodings.h Merge 082a417abc into merged_master (Bitcoin PR #18635) 2020-11-26 01:08:51 +00:00
blockfilter.cpp
blockfilter.h
bloom.cpp
bloom.h
chain.cpp Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
chain.h Merge 4326515f01 into merged_master (Bitcoin PR #19822) 2020-11-28 15:13:09 +00:00
chainparams.cpp chainparams: change magic bytes for liquidv1test 2021-09-28 17:29:13 +00:00
chainparams.h Expose only blockchain hash twice in header 2021-07-01 17:56:44 +00:00
chainparamsbase.cpp chainparams: add undocumented regtest/testnet only -con_taproot_signal_start option 2021-09-15 19:57:06 +00:00
chainparamsbase.h Add liquidv1test chainparams. 2021-04-07 15:59:22 -07:00
chainparamsseeds.h Merge 95bde34a71 into merged_master (Bitcoin PR #20237) 2020-12-02 02:03:47 +00:00
checkqueue.h ci: fix benchmarks, fuzztests and unit tests 2021-03-26 17:33:05 +00:00
clientversion.cpp Merge fc895d7700 into merged_master (Bitcoin PR #18616) 2020-11-26 01:08:43 +00:00
clientversion.h
coins.cpp Merge 2f71a1ea35 into merged_master (Bitcoin PR #18637) 2020-11-26 20:30:20 +00:00
coins.h Merge 2f71a1ea35 into merged_master (Bitcoin PR #18637) 2020-11-26 20:30:20 +00:00
compat.h
compressor.cpp
compressor.h Merge 54f812d9d2 into merged_master (Bitcoin PR #18673) 2020-11-26 01:08:23 +00:00
confidential_validation.cpp Make it clear that the CRangeCheck is not called on explicit values 2021-02-18 11:12:59 +00:00
confidential_validation.h Merge 219c55da75 into merged_master (Bitcoin PR #16710) 2020-11-26 01:08:42 +00:00
core_io.h Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
core_memusage.h
core_read.cpp Allow specifying SIGHASH_RANGEPROOF 2021-06-22 14:42:38 -04:00
core_write.cpp Merge 81a19e7253 into merged_master (Bitcoin PR #19852) 2020-11-28 23:16:39 +00:00
cuckoocache.h
dbwrapper.cpp
dbwrapper.h
dummywallet.cpp
dynafed.cpp Merge 34eb236258 into merged_master (Bitcoin PR #19326) 2020-11-27 00:39:12 +00:00
dynafed.h
flatfile.cpp
flatfile.h
fs.cpp
fs.h
hash.cpp
hash.h Squashed 'src/secp256k1/' changes from 0129b77767e..90580edcc98 2021-07-28 22:05:08 +00:00
httprpc.cpp
httprpc.h
httpserver.cpp ci: various linter / CI compiler error fixes 2021-03-26 17:33:04 +00:00
httpserver.h
indirectmap.h
init.cpp Finish removing 'recheckpeginblockinterval'; move MainchainRPCCheck 2021-09-13 22:10:33 +00:00
init.h
issuance.cpp
issuance.h
key.cpp Merge 61b8c04d78 into merged_master (Bitcoin PR #19379) 2020-11-28 18:11:17 +00:00
key.h Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
key_io.cpp blech32: add blech32m format and use it to decode witness v1+ addresses 2021-08-18 15:54:20 +00:00
key_io.h Better error messages for invalid addresses 2021-08-17 22:32:47 +00:00
logging.cpp
logging.h
mainchainrpc.cpp When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
mainchainrpc.h
Makefile.am Implement BlindPSBT 2021-06-22 14:42:19 -04:00
Makefile.bench.include
Makefile.crc32c.include
Makefile.leveldb.include
Makefile.qt.include build: drop the rendered icon stuff 2021-03-26 17:33:05 +00:00
Makefile.qt_locale.include
Makefile.qttest.include Merge 8ed37f6c84 into merged_master (Bitcoin PR #19077) 2020-11-30 20:20:56 +00:00
Makefile.test.include fuzz: add fuzz test for segwitv0 and tapscript script interpreters 2021-08-27 19:31:34 +00:00
Makefile.test_fuzz.include
Makefile.test_util.include test: Mock IBD in net_processing fuzzers 2020-11-07 07:50:59 +01:00
memusage.h
merkleblock.cpp
merkleblock.h
miner.cpp Merge 2aaff4813c into merged_master (Bitcoin PR #19283) 2020-11-26 01:09:22 +00:00
miner.h Merge 2583966130 into merged_master (Bitcoin PR #19478) 2020-11-29 01:52:23 +00:00
net.cpp
net.h
net_permissions.cpp
net_permissions.h
net_processing.cpp
net_processing.h
net_types.h
netaddress.cpp Break circuit earlier 2020-11-16 15:54:24 -03:00
netaddress.h Merge #20033: refactor: minor whitespace fixups, s/const/constexpr/ and remove template (followup to #19845) 2020-11-16 07:57:34 +01:00
netbase.cpp
netbase.h
netmessagemaker.h
noui.cpp
noui.h
optional.h
outputtype.cpp Merge 7173a3c73b into merged_master (Bitcoin PR #19396) 2020-11-26 01:09:18 +00:00
outputtype.h Merge 735d6b57e7 into merged_master (Bitcoin PR #16227) 2020-11-09 03:58:21 +00:00
pegins.cpp When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
pegins.h When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
pow.cpp
pow.h
prevector.h
protocol.cpp Merge 0b2abaa666 into merged_master (Bitcoin PR #19954) 2020-11-30 17:12:23 +00:00
protocol.h Merge 0b2abaa666 into merged_master (Bitcoin PR #19954) 2020-11-30 17:12:23 +00:00
psbt.cpp pset: make sure combinepsbt doesn't crash when explicit values are missing 2021-10-01 20:10:27 +00:00
psbt.h pset: only check asset/amount proofs in case both explicit+blinded values are provided 2021-09-21 20:33:28 +00:00
pubkey.cpp Add XOnlyPubKey::CreateTapTweak 2021-08-27 19:31:32 +00:00
pubkey.h Add XOnlyPubKey::CreateTapTweak 2021-08-27 19:31:32 +00:00
random.cpp
random.h
randomenv.cpp
randomenv.h
rest.cpp Merge d692d192cd into merged_master (Bitcoin PR #19849) 2020-11-29 17:58:59 +00:00
reverse_iterator.h
scheduler.cpp
scheduler.h
serialize.h Implement PSBTv2 fields de/ser 2021-06-22 13:54:50 -04:00
shutdown.cpp
shutdown.h
signet.cpp Merge 8219893825 into merged_master (Bitcoin PR #19993) 2020-11-29 18:52:06 +00:00
signet.h
span.h
streams.h Merge 0b2abaa666 into merged_master (Bitcoin PR #19954) 2020-11-30 17:12:23 +00:00
sync.cpp
sync.h
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h
timedata.cpp
timedata.h
tinyformat.h
torcontrol.cpp
torcontrol.h
txdb.cpp Finish removing 'recheckpeginblockinterval'; move MainchainRPCCheck 2021-09-13 22:10:33 +00:00
txdb.h When validation is waiting for parent chain daemon, "stall". 2021-09-13 22:10:09 +00:00
txmempool.cpp Merge 9e217f5a6f into merged_master (Bitcoin PR #19572) 2020-11-29 19:44:31 +00:00
txmempool.h ci: eliminate a bunch of build warnings 2021-03-26 17:33:05 +00:00
txrequest.cpp
txrequest.h
uint256.cpp taproot: feed genesis hash and parent pegged asset to sighash function 2021-07-01 17:56:44 +00:00
uint256.h Make XOnlyPubKey act like byte container 2021-08-27 19:24:07 +00:00
undo.h
validation.cpp SIGHASH_RANGEPROOF and asset issuance rangeproofs 2021-09-20 22:10:47 +00:00
validation.h Finish removing 'recheckpeginblockinterval'; move MainchainRPCCheck 2021-09-13 22:10:33 +00:00
validationinterface.cpp
validationinterface.h
version.h
versionbits.cpp versionbits: allow specific deployments to override the signalling/threshold values 2021-09-15 17:48:12 +00:00
versionbits.h Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
versionbitsinfo.cpp Merge 3caee16946 into merged_master (Bitcoin PR #19953) 2020-12-01 02:54:57 +00:00
versionbitsinfo.h
walletinitinterface.h
warnings.cpp
warnings.h