From 9570a72d501c7a328bd1c8da07b0ee78af14310b Mon Sep 17 00:00:00 2001 From: Oli Date: Thu, 6 Aug 2026 09:25:36 +0200 Subject: [PATCH] bip389: remove H as valid hardened step indicator In BIP380 the capital letter H is explicitly defined as an invalid indicator for a hardened step. The "Invalid expression" section has explicit examples prefixed "Invalid hardened indicators" that show "0H/0H/0H" as being wrong. --- bip-0389.mediawiki | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bip-0389.mediawiki b/bip-0389.mediawiki index ec1d14f9..43497061 100644 --- a/bip-0389.mediawiki +++ b/bip-0389.mediawiki @@ -38,12 +38,12 @@ For extended keys and their derivations paths in a Key Expression, BIP 380 state This is modified to state: * xpub encoded extended public key or xprv encoded extended private key (as defined in BIP 32) -** Followed by zero or more /NUM (may be followed by h, H, or ' to indicate a hardened step) path elements indicating BIP 32 derivation steps to be taken after the given extended key. -** Followed by zero or one / (each NUM may be followed by h, H, or ' to indicate a hardened step) path element indicating a tuple of BIP 32 derivation steps to be taken after the given extended key. -*** Followed by zero or more ;NUM (may be followed by h, H, or ' to indicate a hardened step) additional tuple values of BIP 32 derivation steps +** Followed by zero or more /NUM (may be followed by h or ' to indicate a hardened step) path elements indicating BIP 32 derivation steps to be taken after the given extended key. +** Followed by zero or one / (each NUM may be followed by h or ' to indicate a hardened step) path element indicating a tuple of BIP 32 derivation steps to be taken after the given extended key. +*** Followed by zero or more ;NUM (may be followed by h or ' to indicate a hardened step) additional tuple values of BIP 32 derivation steps *** Followed by a single >/ -** Followed by zero or more /NUM (may be followed by h, H, or ' to indicate a hardened step) path elements indicating BIP 32 derivation steps to be taken after the given extended key. -** Optionally followed by a single /* (may be followed by h, H, or ' to indicate a hardened step) final step to denote all direct unhardened or hardened children. +** Followed by zero or more /NUM (may be followed by h or ' to indicate a hardened step) path elements indicating BIP 32 derivation steps to be taken after the given extended key. +** Optionally followed by a single /* (may be followed by h or ' to indicate a hardened step) final step to denote all direct unhardened or hardened children. When a / is encountered, parsers should account for a presence of multiple descriptors where the first descriptor uses the first NUM, and a second descriptor uses the second NUM, and so on, until each NUM is accounted for in the production of public keys, scripts, and addresses, as well as descriptor import and export operations. Descriptors that contain multiple Key Expressions that each have a / must have tuples of exactly the same length so that they are derived in lockstep in the same way that /* paths in multiple Key expressions are handled.