For instance, an deal with for a easy P2SH script puzzle like x+5=6 will all the time be the identical deal with, so my understanding is that shouldn’t be ranged.
Descriptors can’t categorical such a script, in order that instance is irrelevant.
The place can I perceive the final logic for ranged vs non ranged descriptors?
A descriptor is ranged if it has a /*
in a derivation path someplace, as that can be expanded in a different way for every place. If there are not any expressions with *
in it, then it’s not ranged as clearly each place will yield the identical script.
See the descriptors reference doc for Bitcoin Core for particulars of the descriptor language.
And in addition particularly, for the case of P2SH the place the script will be nearly something.
The identical is true for P2WSH or P2TR; inside, arbitrary scripts will be positioned, however descriptors can solely categorical a small portion of that. In Bitcoin Core 24.0, miniscript descriptors can be utilized inside P2WSH (simply watchonly, although), which significantly expands the facility descriptors have. Even with that, it can’t categorical arbitrary scripts just like the x+5=6 puzzle.