elements/src
Pieter Wuille b25a4c2284
Merge #13072: Update createmultisig RPC to support segwit
f40b3b82df [tests] functional test for createmultisig RPC (Anthony Towns)
b9024fdda3 segwit support for createmultisig RPC (Anthony Towns)
d58055d25f Move AddAndGetDestinationForScript from wallet to outputype module (Anthony Towns)
9a44db2e46 Add outputtype module (Anthony Towns)

Pull request description:

  Adds an "address_type" parameter that accepts "legacy", "p2sh-segwit", and "bech32" to choose the type of address created. Defaults to "legacy" rather than the value of the `-address-type` option for backwards compatibility.

  As part of implementing this, OutputType is moved from wallet into its own module, and `AddAndGetDestinationForScript` is changed to apply to a `CKeyStore` rather than a wallet, and to invoke `keystore.AddCScript(script)` itself rather than expecting the caller to have done that.

  Fixes #12502

Tree-SHA512: a08c1cfa89976e4fd7d29caa90919ebd34a446354d17abb862e99f2ee60ed9bc19d8a21a18547c51dc3812cb9fbed86af0bef2f1e971f62bf95cade4a7d86237
2018-07-13 20:31:13 -07:00
..
bench Merge #13586: refactor: add benchmarks to bech32::Encode/Decode 2018-07-11 11:44:10 +02:00
compat GCC-7 and glibc-2.27 compat code 2018-06-02 19:18:41 +00:00
config
consensus [MOVEONLY] Move unused Merkle branch code to tests 2018-05-29 14:20:12 -07:00
crypto Merge #13386: SHA256 implementations based on Intel SHA Extensions 2018-07-09 21:17:18 +02:00
index Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
interfaces Merge #13566: Fix get balance 2018-07-13 19:46:31 -07:00
leveldb Bump leveldb subtree 2018-02-16 08:59:28 -05:00
obj
obj-test
policy Merge #13096: [Policy] Fix MAX_STANDARD_TX_WEIGHT check 2018-07-05 18:40:58 +02:00
primitives Removed unused == operator from CMutableTransaction. 2018-06-10 13:38:38 -07:00
qt Remove useless mapRequest tracking that just effects Qt display. 2018-07-09 20:06:39 -04:00
rpc Merge #13072: Update createmultisig RPC to support segwit 2018-07-13 20:31:13 -07:00
script Merge #13425: Moving final scriptSig construction from CombineSignatures to ProduceSignature (PSBT signer logic) 2018-07-05 17:18:50 +02:00
secp256k1 Bump secp256k1 subtree 2017-09-29 16:02:39 +02:00
support Make it clear which functions that are intended to be translation unit local 2018-05-03 21:47:40 +02:00
test Merge #13417: [net] Tighten scope in net_processing 2018-07-13 20:10:55 -07:00
univalue univalue: Bump subtree 2018-02-10 09:55:54 -05:00
wallet Merge #13072: Update createmultisig RPC to support segwit 2018-07-13 20:31:13 -07:00
zmq RPC: Add new getzmqnotifications method. 2018-07-05 08:02:22 +02:00
.clang-format Fix inconsistent namespace formatting guidelines 2018-04-13 15:37:20 -04:00
addrdb.cpp Add logging and error handling for file syncing 2018-04-23 14:25:28 +02:00
addrdb.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
addrman.cpp net: Correct addrman logging 2018-03-06 21:52:53 +01:00
addrman.h Merge #12731: Support serialization as another type without casting 2018-04-10 20:54:33 +02:00
amount.h Consensus: Policy: MOVEONLY: Move CFeeRate out of the consensus module 2017-05-03 18:00:13 +02:00
arith_uint256.cpp [arith_uint256] Do not destroy *this content if passed-in operator may reference it 2018-03-01 11:49:35 +09:00
arith_uint256.h Drop uint 256 not operator 2018-06-05 02:16:24 -07:00
base58.cpp use base58 map instead of strchr() 2018-03-21 11:57:57 +08:00
base58.h Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
bech32.cpp Tighten up bech32::Decode(); add tests. 2018-04-12 17:52:33 -07:00
bech32.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
bitcoin-cli-res.rc
bitcoin-cli.cpp cli: Ignore libevent warnings 2018-06-04 14:55:00 -04:00
bitcoin-tx-res.rc
bitcoin-tx.cpp bitcoin-tx: Stricter check for valid integers 2018-07-07 14:25:09 +02:00
bitcoind-res.rc
bitcoind.cpp Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
blockencodings.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
blockencodings.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
bloom.cpp replace modulus with FastMod 2018-05-06 13:55:33 +02:00
bloom.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.h Break circular dependency: chain -> pow -> chain 2018-05-14 18:36:39 -07:00
chainparams.cpp Trivial: s/SetBestChain/ChainStateFlushed in comments after #13106 2018-05-02 10:02:48 -04:00
chainparams.h [doc] Add comments for chainparams.h, validation.cpp 2018-04-17 17:15:20 -04:00
chainparamsbase.cpp Stop translating command line options 2018-05-30 14:23:35 +02:00
chainparamsbase.h Make gArgs aware of the arguments 2018-05-09 12:21:05 -04:00
chainparamsseeds.h Fix a-vs-an typos 2018-02-11 10:48:15 +01:00
checkpoints.cpp Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkpoints.h Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkqueue.h [Refactor] Remove unused fQuit var from checkqueue.h 2018-01-07 20:44:21 +00:00
clientversion.cpp Merge #11966: clientversion: Use full commit hash for commit-based version descriptions 2018-02-13 10:58:41 +01:00
clientversion.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
compat.h net: Minor accumulated cleanups 2018-04-16 13:24:14 -07:00
compressor.cpp Move compressor utility functions out of class 2018-03-21 14:17:18 -07:00
compressor.h Support serializing Span<unsigned char> and use that instead of FLATDATA 2018-04-05 08:20:37 -07:00
core_io.h Drop ParseHashUV in favor of calling ParseHashStr 2018-06-08 10:53:38 -07:00
core_memusage.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
core_read.cpp Drop ParseHashUV in favor of calling ParseHashStr 2018-06-08 10:53:38 -07:00
core_write.cpp Merge #12885: Reduce implementation code inside CScript 2018-04-23 21:09:17 +02:00
cuckoocache.h Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion 2018-03-27 00:37:20 +02:00
dbwrapper.cpp [logging] Comment all continuing logs. 2018-04-07 12:29:48 -04:00
dbwrapper.h [db] Create separate database for txindex. 2018-04-25 11:25:05 -07:00
fs.cpp scripted-diff: Replace #include "" with #include <> (ryanofsky) 2017-11-16 08:23:01 +13:00
fs.h [Trivial] Add BITCOIN_FS_H endif footer in fs.h 2017-05-19 02:01:28 -07:00
hash.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
hash.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
httprpc.cpp RPCAuth Detection in Logs 2018-05-16 23:37:13 -04:00
httprpc.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
httpserver.cpp util: Encapsulate logCategories within BCLog::Logger. 2018-04-27 16:10:02 -07:00
httpserver.h util: Encapsulate logCategories within BCLog::Logger. 2018-04-27 16:10:02 -07:00
indirectmap.h
init.cpp Merge #13417: [net] Tighten scope in net_processing 2018-07-13 20:10:55 -07:00
init.h Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
key.cpp scripted-diff: Rename master key to seed 2018-05-19 11:16:00 -04:00
key.h scripted-diff: Rename master key to seed 2018-05-19 11:16:00 -04:00
key_io.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
key_io.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
keystore.cpp Separate HaveKey function that checks whether a key is in a keystore 2018-05-05 00:43:04 -04:00
keystore.h Refactors keystore.h type aliases. 2018-07-12 00:48:49 +02:00
limitedmap.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
logging.cpp Merge #13149: Handle unsuccessful fseek(...):s 2018-05-07 13:39:19 +02:00
logging.h logging: remove unused return value from LogPrintStr 2018-05-02 11:25:20 +02:00
Makefile.am Merge #13072: Update createmultisig RPC to support segwit 2018-07-13 20:31:13 -07:00
Makefile.bench.include Merge #13586: refactor: add benchmarks to bech32::Encode/Decode 2018-07-11 11:44:10 +02:00
Makefile.leveldb.include build: verify that the assembler can handle crc32 functions 2017-07-13 12:49:05 -04:00
Makefile.qt.include crypto: cleanup sha256 build 2018-06-06 17:36:53 -04:00
Makefile.qttest.include crypto: cleanup sha256 build 2018-06-06 17:36:53 -04:00
Makefile.test.include Add SHA256 implementation using using Intel SHA intrinsics 2018-06-26 10:11:08 -07:00
memusage.h Bugfix: Include <memory> for std::unique_ptr 2018-04-02 18:31:52 +00:00
merkleblock.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
merkleblock.h have verifytxoutproof check the number of txns in proof structure 2018-06-14 09:54:41 -04:00
miner.cpp cleanup: avoid hidden copies in range-for loops 2018-06-15 13:40:00 -04:00
miner.h Add Clang thread safety analysis annotations 2018-05-05 16:51:22 +02:00
net.cpp Merge #13177: GCC-7 and glibc-2.27 back compat code 2018-07-12 17:46:29 +02:00
net.h net: Remove unused interrupt from SendMessages 2018-07-08 21:27:12 +08:00
net_processing.cpp Merge #13417: [net] Tighten scope in net_processing 2018-07-13 20:10:55 -07:00
net_processing.h Merge #13417: [net] Tighten scope in net_processing 2018-07-13 20:10:55 -07:00
netaddress.cpp scripted-diff: Replace NET_TOR with NET_ONION 2018-07-02 16:41:13 +02:00
netaddress.h scripted-diff: Replace NET_TOR with NET_ONION 2018-07-02 16:41:13 +02:00
netbase.cpp scripted-diff: Replace NET_TOR with NET_ONION 2018-07-02 16:41:13 +02:00
netbase.h Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s 2018-03-11 10:49:04 +01:00
netmessagemaker.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.h
outputtype.cpp Move AddAndGetDestinationForScript from wallet to outputype module 2018-07-10 00:06:19 +10:00
outputtype.h Move AddAndGetDestinationForScript from wallet to outputype module 2018-07-10 00:06:19 +10:00
pow.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pow.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
prevector.h Use memset() to optimize prevector::resize() 2018-02-27 13:27:51 -08:00
protocol.cpp Add setter for g_initial_block_download_completed 2018-02-17 21:28:50 +11:00
protocol.h Merge #12731: Support serialization as another type without casting 2018-04-10 20:54:33 +02:00
pubkey.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pubkey.h Remove template matching and pseudo opcodes 2018-05-29 14:40:18 -07:00
random.cpp Fix FreeBSD build by including utilstrencodings.h 2018-05-24 09:51:47 +02:00
random.h Merge #12742: Make FastRandomContext support standard C++11 RNG interface 2018-03-22 12:21:46 -04:00
rest.cpp refactor: add a function for determining if a block is pruned or not 2018-05-30 12:23:44 +09:00
reverse_iterator.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
reverselock.h
scheduler.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
scheduler.h scheduler: Add Clang thread safety annotations for variables guarded by m_cs_callbacks_pending 2018-04-30 11:17:06 +02:00
serialize.h Detect if char equals int8_t 2018-07-01 15:37:28 +00:00
shutdown.cpp Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
shutdown.h Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
span.h Add Slice: a (pointer, size) array view that acts like a container 2018-04-05 08:20:37 -07:00
streams.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
sync.cpp qa: Initialize lockstack to prevent null pointer deref 2018-05-22 06:31:26 -04:00
sync.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
threadinterrupt.cpp [index] Allow TxIndex sync thread to be interrupted. 2018-04-25 11:25:09 -07:00
threadinterrupt.h [index] Allow TxIndex sync thread to be interrupted. 2018-04-25 11:25:09 -07:00
threadsafety.h
timedata.cpp Merge #13116: Add Clang thread safety annotations for variables guarded by cs_{rpcWarmup,nTimeOffset,warnings} 2018-05-14 08:46:54 -04:00
timedata.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
tinyformat.h Fix typos 2018-03-21 08:34:44 +02:00
torcontrol.cpp scripted-diff: Replace NET_TOR with NET_ONION 2018-07-02 16:41:13 +02:00
torcontrol.h boost: drop boost threads from torcontrol 2018-02-08 14:35:29 -05:00
txdb.cpp Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
txdb.h index: Move index DBs into index/ directory. 2018-06-04 19:22:30 -07:00
txmempool.cpp cleanup: avoid hidden copies in range-for loops 2018-06-15 13:40:00 -04:00
txmempool.h doc: Clarify that mempool txiter is const_iterator 2018-06-24 15:49:09 -04:00
ui_interface.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
ui_interface.h wallet: Use shared pointer to retain wallet instance 2018-05-22 16:56:20 +01:00
uint256.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
uint256.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
undo.h Merge #12716: Fix typos and cleanup in various files 2018-03-21 11:17:43 -04:00
util.cpp Add unavailable options to hidden options category 2018-06-12 14:33:35 -07:00
util.h Add unavailable options to hidden options category 2018-06-12 14:33:35 -07:00
utilmoneystr.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilmoneystr.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilstrencodings.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
utilstrencodings.h Generalize ConvertBits 2018-03-06 20:28:08 -08:00
utiltime.cpp Fix for utiltime to compile with msvc. 2018-04-20 08:41:15 +10:00
utiltime.h Avoid std::locale/imbue in DateTimeStrFormat 2018-04-13 01:36:53 -07:00
validation.cpp Merge #11658: During IBD, when doing pruning, prune 10% extra to avoid pruning again soon after 2018-07-13 20:16:41 -07:00
validation.h doc: Rewrite some validation doc as lock annotations 2018-06-18 11:43:29 -04:00
validationinterface.cpp Remove useless mapRequest tracking that just effects Qt display. 2018-07-09 20:06:39 -04:00
validationinterface.h Remove useless mapRequest tracking that just effects Qt display. 2018-07-09 20:06:39 -04:00
version.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
versionbits.cpp scripted-diff: Convert 11 enums into scoped enums (C++11) 2018-03-09 15:03:40 +01:00
versionbits.h Merge #12757: Clarify include guard naming convention 2018-04-01 18:30:21 -04:00
walletinitinterface.h Make gArgs aware of the arguments 2018-05-09 12:21:05 -04:00
warnings.cpp Add Clang thread safety annotations for variables guarded by cs_warnings 2018-04-29 22:29:53 +02:00
warnings.h Remove "rpc" category from GetWarnings 2018-04-27 09:27:52 +02:00