Enum bdk::wallet::AddressIndex
source · pub enum AddressIndex {
New,
LastUnused,
Peek(u32),
Reset(u32),
}
Expand description
The address index selection strategy to use to derived an address from the wallet’s external
descriptor. See Wallet::get_address
. If you’re unsure which one to use use WalletIndex::New
.
Variants§
New
Return a new address after incrementing the current descriptor index.
LastUnused
Return the address for the current descriptor index if it has not been used in a received
transaction. Otherwise return a new address as with AddressIndex::New
.
Use with caution, if the wallet has not yet detected an address has been used it could return an already used address. This function is primarily meant for situations where the caller is untrusted; for example when deriving donation addresses on-demand for a public web page.
Peek(u32)
Return the address for a specific descriptor index. Does not change the current descriptor
index used by AddressIndex::New
and AddressIndex::LastUsed
. The index must be non-hardened,
i.e., < 2**31.
Use with caution, if an index is given that is less than the current descriptor index then the returned address may have already been used.
Reset(u32)
Return the address for a specific descriptor index and reset the current descriptor index
used by AddressIndex::New
and AddressIndex::LastUsed
to this value. The index must be
non-hardened, i.e. < 2**31
Use with caution, if an index is given that is less than the current descriptor index
then the returned address and subsequent addresses returned by calls to AddressIndex::New
and AddressIndex::LastUsed
may have already been used. Also if the index is reset to a
value earlier than the crate::blockchain::Blockchain
stop_gap (default is 20) then a
larger stop_gap should be used to monitor for all possibly used addresses.