1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
crate::ix!();
/**
| wallet flags in the upper section (> 1 <<
| 31) will lead to not opening the wallet if
| flag is unknown unknown wallet flags in the
| lower section <= (1 << 31) will be
| tolerated
*/
bitflags!{
pub struct WalletFlags: u64 {
/*
| will categorize coins as clean (not
| reused) and dirty (reused), and handle
| them with privacy considerations in
| mind
|
*/
const WALLET_FLAG_AVOID_REUSE = 1 << 0;
/*
| Indicates that the metadata has already
| been upgraded to contain key origins
|
*/
const WALLET_FLAG_KEY_ORIGIN_METADATA = 1 << 1;
/*
| Indicates that the descriptor cache
| has been upgraded to cache last hardened
| xpubs
|
*/
const WALLET_FLAG_LAST_HARDENED_XPUB_CACHED = 1 << 2;
/*
| will enforce the rule that the wallet
| can't contain any private keys (only
| watch-only/pubkeys)
|
*/
const WALLET_FLAG_DISABLE_PRIVATE_KEYS = 1 << 32;
/*
| Flag set when a wallet contains no HD seed
| and no private keys, scripts, addresses,
| and other watch only things, and is
| therefore "blank."
|
| The only function this flag serves is to
| distinguish a blank wallet from a newly
| created wallet when the wallet database is
| loaded, to avoid initialization that
| should only happen on first run.
|
| This flag is also a mandatory flag to
| prevent previous versions of bitcoin from
| opening the wallet, thinking it was newly
| created, and then improperly
| reinitializing it.
*/
const WALLET_FLAG_BLANK_WALLET = 1 << 33;
/*
| Indicate that this wallet supports
| DescriptorScriptPubKeyMan
|
*/
const WALLET_FLAG_DESCRIPTORS = 1 << 34;
/*
| Indicates that the wallet needs an external
| signer
|
*/
const WALLET_FLAG_EXTERNAL_SIGNER = 1 << 35;
}
}