mirror of
https://github.com/trezor/blockbook.git
synced 2026-02-20 00:51:39 +01:00
Add support for h suffix in addition to ' suffix is to denote hardened xpub derivation #1200
This commit is contained in:
@@ -440,7 +440,7 @@ var (
|
||||
)
|
||||
|
||||
func init() {
|
||||
xpubDesriptorRegex, _ = regexp.Compile(`^(?P<type>(sh\(wpkh|wpkh|pk|pkh|wpkh|wsh|tr))\((\[\w+/(?P<bip>\d+)'/\d+'?/\d+'?\])?(?P<xpub>\w+)(/(({(?P<changelist1>\d+(,\d+)*)})|(<(?P<changelist2>\d+(;\d+)*)>)|(?P<change>\d+))/\*)?\)+`)
|
||||
xpubDesriptorRegex, _ = regexp.Compile(`^(?P<type>(sh\(wpkh|wpkh|pk|pkh|wpkh|wsh|tr))\((\[\w+/(?P<bip>\d+)['h]/\d+['h]?/\d+['h]?\])?(?P<xpub>\w+)(/(({(?P<changelist1>\d+(,\d+)*)})|(<(?P<changelist2>\d+(;\d+)*)>)|(?P<change>\d+))/\*)?\)+`)
|
||||
typeSubexpIndex = xpubDesriptorRegex.SubexpIndex("type")
|
||||
bipSubexpIndex = xpubDesriptorRegex.SubexpIndex("bip")
|
||||
xpubSubexpIndex = xpubDesriptorRegex.SubexpIndex("xpub")
|
||||
|
||||
@@ -823,6 +823,18 @@ func TestParseXpubDescriptors(t *testing.T) {
|
||||
ChangeIndexes: []uint32{0, 1, 2},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "tr([5c9e228d/86h/1h/0h]tpubD/{0,1,2}/*)#4rqwxvej",
|
||||
xpub: "tr([5c9e228d/86h/1h/0h]tpubDC88gkaZi5HvJGxGDNLADkvtdpni3mLmx6vr2KnXmWMG8zfkBRggsxHVBkUpgcwPe2KKpkyvTJCdXHb1UHEWE64vczyyPQfHr1skBcsRedN/{0,1,2}/*)#4rqwxvej",
|
||||
parser: btcTestnetParser,
|
||||
want: &bchain.XpubDescriptor{
|
||||
XpubDescriptor: "tr([5c9e228d/86h/1h/0h]tpubDC88gkaZi5HvJGxGDNLADkvtdpni3mLmx6vr2KnXmWMG8zfkBRggsxHVBkUpgcwPe2KKpkyvTJCdXHb1UHEWE64vczyyPQfHr1skBcsRedN/{0,1,2}/*)#4rqwxvej",
|
||||
Xpub: "tpubDC88gkaZi5HvJGxGDNLADkvtdpni3mLmx6vr2KnXmWMG8zfkBRggsxHVBkUpgcwPe2KKpkyvTJCdXHb1UHEWE64vczyyPQfHr1skBcsRedN",
|
||||
Type: bchain.P2TR,
|
||||
Bip: "86",
|
||||
ChangeIndexes: []uint32{0, 1, 2},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "tr([5c9e228d/86'/1'/0']tpubD/<0;1;2>/*)#4rqwxvej",
|
||||
xpub: "tr([5c9e228d/86'/1'/0']tpubDC88gkaZi5HvJGxGDNLADkvtdpni3mLmx6vr2KnXmWMG8zfkBRggsxHVBkUpgcwPe2KKpkyvTJCdXHb1UHEWE64vczyyPQfHr1skBcsRedN/<0;1;2>/*)#4rqwxvej",
|
||||
|
||||
Reference in New Issue
Block a user