BIP: 385 Layer: Applications Title: raw() and addr() Output Script Descriptors Author: Pieter Wuille <firstname.lastname@example.org> Andrew Chow <email@example.com> Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0385 Status: Draft Type: Informational Created: 2021-06-27 License: BSD-2-Clause
This document specifies
addr() output script descriptors.
raw() encapsulates a raw script as a descriptor.
an address as a descriptor.
This BIP is licensed under the BSD 2-clause license.
In order to make descriptors maximally compatible with scripts in use today, it is useful to be able to wrap any arbitrary output script or an address into a descriptor.
Two new script expressions are defined:
raw(HEX) expression can only be used as a top level descriptor. As
the argument, it takes a hex string representing a Bitcoin script. The
output script produced by this descriptor is the script represented by
addr(ADDR) expression can only be used as a top level descriptor.
It takes an address as its single argument. The output script produced
by this descriptor is the output script produced by the address
addr() descriptors use the format and general operation
specified in 380. As this is a wholly
new descriptor, it is not compatible with any implementation. The reuse
of existing Bitcoin addresses allows for this to be more easily
addr descriptors have been implemented in Bitcoin Core
since version 0.17.