Pieter Wuille
104b3a5069
Factor out checksum checking from descriptor parsing
2019-08-06 17:11:12 -07:00
MeshCollider
a4d1bd1a29
Add private key derivation functions to descriptors
2019-06-06 22:03:55 +12:00
Gregory Sanders
70946e7fee
Replace CScriptID and CKeyID in CTxDestination with dedicated types
2019-04-29 10:15:23 -04:00
Pieter Wuille
9a93c91c88
Keep full pubkeys in FlatSigningProvider::origins
2019-04-04 12:45:32 -07:00
Pieter Wuille
3b40bff988
Descriptor checksum
2019-02-15 22:36:05 -08:00
Andrew Chow
e7652d3f64
Add WriteHDKeypath function and move *HDKeypath to util/bip32.{h,cpp}
...
Creates new files util/bip32.h and util/bip32.cpp for containing
BIP 32 stuff.
Moves FormatKeyPath from descriptor.cpp to util/bip32.
Adds a wrapper around it to prepent the 'm' for when just the
BIP 32 style keypath is needed.
2019-02-14 14:00:28 -05:00
Sjors Provoost
2e68ffaf20
[doc] descriptor: explain GetPubKey() usage with cached public key
...
Plus a few typo fixes.
2019-01-29 16:55:45 +01:00
Sjors Provoost
2290269759
scripted-diff: rename DescriptorImpl m_script_arg to m_subdescriptor_arg
...
-BEGIN VERIFY SCRIPT-
sed -i -e 's/m_script_arg/m_subdescriptor_arg/g' src/script/descriptor.cpp
-END VERIFY SCRIPT-
2019-01-29 16:13:29 +01:00
Pieter Wuille
11e0fd8d66
Descriptor expansions only need pubkey entries for PKH/WPKH
2019-01-25 10:39:06 -08:00
Pieter Wuille
82df4c64ff
Add descriptor expansion cache
2018-11-28 15:24:49 -08:00
Pieter Wuille
1eda33aabc
[refactor] Combine the ToString and ToPrivateString implementations
2018-11-28 15:24:49 -08:00
Pieter Wuille
24d3a7b3a9
[refactor] Use DescriptorImpl internally, permitting access to new methods
2018-11-28 15:24:49 -08:00
Pieter Wuille
6be0fb4b3f
[refactor] Add a base DescriptorImpl with most common logic
2018-11-28 15:16:17 -08:00
Pieter Wuille
fdf146f329
Merge #14477 : Add ability to convert solvability info to descriptor
...
109699dd33
Add release notes (Pieter Wuille)
b65326b562
Add matching descriptors to scantxoutset output + tests (Pieter Wuille)
16203d5df7
Add descriptors to listunspent and getaddressinfo + tests (Pieter Wuille)
9b2a25b13f
Add tests for InferDescriptor and Descriptor::IsSolvable (Pieter Wuille)
225bf3e3b0
Add Descriptor::IsSolvable() to distinguish addr/raw from others (Pieter Wuille)
4d78bd93b5
Add support for inferring descriptors from scripts (Pieter Wuille)
Pull request description:
This PR adds functionality to convert a script to a descriptor, given a `SigningProvider` with the relevant information about public keys and redeemscripts/witnessscripts.
The feature is exposed in `listunspent`, `getaddressinfo`, and `scantxoutset` whenever these calls are applied to solvable outputs/addresses.
This is not very useful on its own, though when we add RPCs to import descriptors, or sign PSBTs using descriptors, these strings become a compact and standalone way of conveying everything necessary to sign an output (excluding private keys).
Unit tests and rudimentary RPC tests are included (more relevant tests can be added once RPCs support descriptors).
Fixes #14503 .
Tree-SHA512: cb36b84a3e0200375b7e06a98c7e750cfaf95cf5de132cad59f7ec3cbd201f739427de0dc108f515be7aca203652089fbf5f24ed283d4553bddf23a3224ab31f
2018-11-27 12:22:41 -08:00
practicalswift
9cc0230cfc
Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes.
2018-11-05 17:03:11 +01:00
Jim Posen
2068f089c8
scripted-diff: Move util files to separate directory.
...
-BEGIN VERIFY SCRIPT-
mkdir -p src/util
git mv src/util.h src/util/system.h
git mv src/util.cpp src/util/system.cpp
git mv src/utilmemory.h src/util/memory.h
git mv src/utilmoneystr.h src/util/moneystr.h
git mv src/utilmoneystr.cpp src/util/moneystr.cpp
git mv src/utilstrencodings.h src/util/strencodings.h
git mv src/utilstrencodings.cpp src/util/strencodings.cpp
git mv src/utiltime.h src/util/time.h
git mv src/utiltime.cpp src/util/time.cpp
sed -i 's/<util\.h>/<util\/system\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/<utilmemory\.h>/<util\/memory\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/<utilmoneystr\.h>/<util\/moneystr\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/<utilstrencodings\.h>/<util\/strencodings\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/<utiltime\.h>/<util\/time\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/BITCOIN_UTIL_H/BITCOIN_UTIL_SYSTEM_H/g' src/util/system.h
sed -i 's/BITCOIN_UTILMEMORY_H/BITCOIN_UTIL_MEMORY_H/g' src/util/memory.h
sed -i 's/BITCOIN_UTILMONEYSTR_H/BITCOIN_UTIL_MONEYSTR_H/g' src/util/moneystr.h
sed -i 's/BITCOIN_UTILSTRENCODINGS_H/BITCOIN_UTIL_STRENCODINGS_H/g' src/util/strencodings.h
sed -i 's/BITCOIN_UTILTIME_H/BITCOIN_UTIL_TIME_H/g' src/util/time.h
sed -i 's/ util\.\(h\|cpp\)/ util\/system\.\1/g' src/Makefile.am
sed -i 's/utilmemory\.\(h\|cpp\)/util\/memory\.\1/g' src/Makefile.am
sed -i 's/utilmoneystr\.\(h\|cpp\)/util\/moneystr\.\1/g' src/Makefile.am
sed -i 's/utilstrencodings\.\(h\|cpp\)/util\/strencodings\.\1/g' src/Makefile.am
sed -i 's/utiltime\.\(h\|cpp\)/util\/time\.\1/g' src/Makefile.am
sed -i 's/-> util ->/-> util\/system ->/' test/lint/lint-circular-dependencies.sh
sed -i 's/src\/util\.cpp/src\/util\/system\.cpp/g' test/lint/lint-format-strings.py test/lint/lint-locale-dependence.sh
sed -i 's/src\/utilmoneystr\.cpp/src\/util\/moneystr\.cpp/g' test/lint/lint-locale-dependence.sh
sed -i 's/src\/utilstrencodings\.\(h\|cpp\)/src\/util\/strencodings\.\1/g' test/lint/lint-locale-dependence.sh
sed -i 's/src\\utilstrencodings\.cpp/src\\util\\strencodings\.cpp/' build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj
-END VERIFY SCRIPT-
2018-11-04 22:46:07 -08:00
Pieter Wuille
225bf3e3b0
Add Descriptor::IsSolvable() to distinguish addr/raw from others
2018-10-26 10:21:05 -07:00
Pieter Wuille
4d78bd93b5
Add support for inferring descriptors from scripts
2018-10-26 10:21:05 -07:00
Pieter Wuille
2c6281f180
Add key origin support to descriptors
2018-10-20 20:29:02 -07:00
practicalswift
ada356208e
Fix typos reported by codespell
2018-09-04 13:11:26 +02:00
Pieter Wuille
f6b7fc349c
Support h instead of ' in hardened descriptor paths
2018-07-27 12:21:12 -07:00
Pieter Wuille
fe8a7dcd78
Output descriptors module
2018-07-27 11:52:45 -07:00