Now that taproot is active, it can be treated as if it was always active for policy for the next major release. This simplifies the code and changes two things:
- Importing trdescriptors can be done before the chain is fully synced. This is fine, because the wallet will already generatetrdescriptors by default (regardless of the taproot status) after commit 47fe7445e7f54aee10ec6dbc53f1db1adbeb43de.
- Valid taproot spends won’t be rejected from the mempool before taproot is active. This is strictly speaking a bugfix after commit 47fe7445e7f54aee10ec6dbc53f1db1adbeb43de, since the wallet may generate taproot spends before the chain is fully synced. For example, a slow node or a purposefully offline node. Currently, the wallet needs the mempool to account for change. See #11887.
A similar change was done for segwit v0 in #13120 .
This effectively reverts commit c5ec0367d718544caa3a1578d6c730fc92ee4e94.