Skip to content

Commit

Permalink
bip-path-templates: Change chars for ranges from "[]" to "{}"
Browse files Browse the repository at this point in the history
  • Loading branch information
dgpv committed May 11, 2021
1 parent bbe9ecf commit 4af4299
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions bip-path-templates.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Each section consists of ''index template'', optionally followed by the hardened
Index template can be:

* An integer value from 0 to 2147483647 ("Unit index template")
* The <nowiki>"["</nowiki> character, followed by a number of ''index ranges'' delimited by commas (","), followed by <nowiki>"]"</nowiki> character ("Ranged index template")
* The <nowiki>"{"</nowiki> character, followed by a number of ''index ranges'' delimited by commas (","), followed by <nowiki>"}"</nowiki> character ("Ranged index template")
Implementations MAY limit the maximum number of index ranges within the Ranged index template.

Expand Down Expand Up @@ -129,7 +129,7 @@ It may be desireable to have fully unambiguous encoding, where for each valid pa

To achieve this, two extra rules are needed:

* Within Ranged index template, subsequent range MUST NOT start with the value that is equal to the end of the previous range plus one. Thus, <nowiki>"[1,2,3-5]"</nowiki> is not allowed, and should be specified as <nowiki>"[1-5]"</nowiki> instead. This rule might make templates less convenient for frequent edits, though.
* Within Ranged index template, subsequent range MUST NOT start with the value that is equal to the end of the previous range plus one. Thus, <nowiki>"{1,2,3-5}"</nowiki> is not allowed, and should be specified as <nowiki>"{1-5}"</nowiki> instead. This rule might make templates less convenient for frequent edits, though.
* Only one type of hardened marker should be allowed (either "h" or "'").
Expand Down Expand Up @@ -193,7 +193,7 @@ At the moment, three implementations exist:
==Examples==

'''"m/[44,49,84]'/0'/0'/[0-1]/[0-50000]"''' specifies a full template that matches both external and internal chains of BIP44, BIP49 and BIP84 paths, with a constraint that the address index cannot be larger than 50000
'''"m/{44,49,84}'/0'/0'/{0-1}/{0-50000}"''' specifies a full template that matches both external and internal chains of BIP44, BIP49 and BIP84 paths, with a constraint that the address index cannot be larger than 50000

Its representation after parsing can be (using Python syntax, ignoring full/partial distinction):
[[(2147483692, 2147483692), (2147483697, 2147483697), (2147483732, 2147483732)),
Expand All @@ -202,7 +202,7 @@ Its representation after parsing can be (using Python syntax, ignoring full/part
[(0, 1)],
[(0, 50000)]]

'''"[0-2,33,123]/*"''' specifies a partial template that matches non-hardened values 0, 1, 2, 33, 123 as first index, and any non-hardened value at second index
'''"{0-2,33,123}/*"''' specifies a partial template that matches non-hardened values 0, 1, 2, 33, 123 as first index, and any non-hardened value at second index

Its representation after parsing can be:
[[(0, 2), (33, 33), (123, 123)], [(0, 2147483647)]]
Expand Down

0 comments on commit 4af4299

Please sign in to comment.