Pay Destination
A destination for payments. This includes all the information needed to send and spend from this destination. It is often assumed that Bitcoin addresses are payment destinations, but this is not true. You really need an output script, and also (if P2SH) a redeem script. The reason why P2PKH addresses "work" as payment destinations is because they imply a specific script. But "baking in" this assumption will make the wallet a lot less flexible.
Inheritors
Properties
Get the %budoc/glossary/P2SH or %budoc/glossary/P2PKH address associated with this destination Note that only a subset of PayDestinations have addresses. A PayAddress will only exist if this destination constrains spending to require a signature (in the P2PKH case) or a script (P2SH case)
Return a set of bytes that can be put into a bloom filter to select any transaction that contains this destination
What type of destination is this?
Functions
Get the constraint script needed to send coins to this destination. This script will contain spend constraints in the non-P2SH case, or in the P2SH case this script only constrains spending to execution of the redeemScript and any additional constraints are located in the redeemScript
Get the output script needed to send tokens to this group destination. This script will contain spend constraints in the non-P2SH case, or in the P2SH case this script only constrains spending to execution of the redeemScript and any additional constraints are located in the redeemScript
Get the groupless suffix constraint script needed to send coins to this destination. In other words, this is not a complete output script -- it needs a prefix to either choose no group (NEXA) or a group. It is used as a fragment in script template operations.
Get the constraint script needed to send coins to this destination. This script will contain spend constraints in the non-P2SH case, or in the P2SH case this script only constrains spending to execution of the redeemScript and any additional constraints are located in the redeemScript
Get the %budoc/glossary/P2SH %budoc/glossary/redeem_script needed to spend this destination.
serialize any derived class & the type indicator
Create a spend (input) script that will satisfy the constraints specified by the outputScript and the redeemScript (if applicable). This script will contain the redeemScript in the P2SH case.
Create a spend (input) script that will satisfy the constraints specified by the outputScript and the redeemScript (if applicable). This script will contain the redeemScript in the P2SH case. Many scripts require signatures. This API provides the data needed for this class to craft signatures, and provides additional derived-class defined params.
Get the output script needed to send native coins to this destination. This script will contain spend constraints in the non-P2SH case, or in the P2SH case this script only constrains spending to execution of the redeemScript and any additional constraints are located in the redeemScript