The non-hardened address index within the BIP32 account specified by
publicDerivationPath
at which to derive the P2PKH address.
Non-hardened address indexes must be positive integers between 0
and
2147483647
, inclusive. An error will be thrown or returned (in
accordance with throwErrors
) for address indexes outside of this range.
As standardized by BIP32, address indexes less than 2147483648
(0x80000000
) use standard derivation, while indexes equal to or greater
than 2147483648
use the "hardened" derivation algorithm. Note that this
prevents the HD public key derived from the provided HD private key
(deriveHdPublicKey) from deriving any address indexes beyond
2147483647
. (In these cases, hdPublicKeyToP2pkhLockingBytecode
and hdPublicKeyToP2pkhCashAddress will produce an error.)
An encoded HD public key, e.g.
xpub661MyMwAqRbcFkPHucMnrGNzDwb6teAX1RbKQmqtEF8kK3Z7LZ59qafCjB9eCRLiTVG3uxBxgKvRgbubRhqSKXnGGb1aoaqLrpMBDrVxga8
HD public keys may be encoded for either mainnet or testnet (the network
information is ignored in favor of prefix
).
Optional
hdThe path at which the provided hdPublicKey
should have been derived from
it's master HD private key. This is used only to verify that the depth
encoded in the provided hdPublicKey
is equal to the expected depth. This
verification can help to detect software incompatibility or HD public key
transmission errors which might otherwise result in derivation of addresses
at unexpected derivation paths.
Defaults to an empty string (""
), which disables depth verification.
Optional
prefix?: "bitcoincash" | "bchtest" | "bchreg"The CashAddressNetworkPrefix to use when encoding the address.
(Default: bitcoincash
)
Optional
publicThe public derivation path for the BIP32 account to use in deriving the
P2PKH address. By default, i
.
This path uses the notation specified in BIP32 and the i
character to represent the addressIndex
.
For example, for the first external P2PKH address of the first BCH account
as standardized by SLIP44, hdPublicKeyDerivationPath
should be
m/44'/145'/0'
, publicDerivationPath
should be 0/i
, while
addressIndex
is set to 0
. (For "change" addresses,
publicDerivationPath
should be 1/i
.)
This path must be relative, see WalletTemplateHdKey.publicDerivationPath for details.
Optional
throwIf true
, this function will throw an Error
if the provided
hdPublicKey
is invalid rather than returning the error as a string
(defaults to true
).
Optional
tokenIf true
, the address will indicate that the receiver accepts CashTokens;
defaults to false
.
Generated using TypeDoc
Derive the P2PKH address at the provided index of the provided HD public key.
Note that this function defaults to throwing an error if provided with an invalid HD public key. To handle errors in a type-safe way, set
throwErrors
tofalse
.To derive only the locking bytecode, use hdPublicKeyToP2pkhLockingBytecode. For non-HD public keys, use publicKeyToP2pkhCashAddress. For the HD private key equivalent, see hdPrivateKeyToP2pkhCashAddress.