When I run `scantxoutset` via RPC using big range (e.g. 10000) on XPUB, the progress report indicator (`scantxoutset status`) reports 100% at start (while the keys are being derived). This is most probably the result of the previous operation. The progress is only reset to zero when the actual scan starts. I would expect the progress is set to zero before the keys are being derived.

Output of periodic calls to `scantxoutset status` while performing long operation.

```
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 0 }
{ progress: 3 }
{ progress: 6 }
{ progress: 9 }
{ progress: 12 }
{ progress: 15 }
{ progress: 17 }
{ progress: 20 }
{ progress: 23 }
{ progress: 26 }
{ progress: 29 }
{ progress: 32 }
{ progress: 35 }
{ progress: 37 }
{ progress: 40 }
{ progress: 43 }
{ progress: 46 }
{ progress: 49 }
{ progress: 51 }
{ progress: 54 }
{ progress: 57 }
{ progress: 60 }
{ progress: 63 }
{ progress: 66 }
{ progress: 68 }
{ progress: 71 }
{ progress: 74 }
{ progress: 77 }
{ progress: 80 }
{ progress: 82 }
{ progress: 85 }
{ progress: 88 }
{ progress: 91 }
{ progress: 94 }
{ progress: 97 }
{ progress: 100 }
```
RPCResult{RPCResult::Type::NUM, "vsize", "virtual transaction size as defined in BIP 141. This is different from actual serialized size for witness transactions as witness data is discounted."},
    RPCResult{RPCResult::Type::NUM, "weight", "transaction weight as defined in BIP 141."},
    RPCResult{RPCResult::Type::STR_AMOUNT, "fee", "transaction fee in " + CURRENCY_UNIT + " (DEPRECATED)"},
    RPCResult{RPCResult::Type::STR_AMOUNT, "modifiedfee", "transaction fee with fee deltas used for mining priority (DEPRECATED)"},
    RPCResult{RPCResult::Type::NUM_TIME, "time", "local time transaction entered pool in seconds since 1 Jan 1970 GMT"},
    RPCResult{RPCResult::Type::NUM, "height", "block height when transaction entered pool"},
    RPCResult{RPCResult::Type::NUM, "descendantcount", "number of in-mempool descendant transactions (including this one)"},
    RPCResult{RPCResult::Type::NUM, "descendantsize", "virtual transaction size of in-mempool descendants (including this one)"},
    RPCResult{RPCResult::Type::STR_AMOUNT, "descendantfees", "modified fees (see above) of in-mempool descendants (including this one) (DEPRECATED)"},
    RPCResult{RPCResult::Type::NUM, "ancestorcount", "number of in-mempool ancestor transactions (including this one)"},
    RPCResult{RPCResult::Type::NUM, "ancestorsize", "virtual transaction size of in-mempool ancestors (including this one)"},
    RPCResult{RPCResult::Type::STR_AMOUNT, "ancestorfees", "modified fees (see above) of in-mempool ancestors (including this one) (DEPRECATED)"},
    RPCResult{RPCResult::Type::STR_HEX, "wtxid", "hash of serialized transaction, including witness data"},
    RPCResult{RPCResult::Type::OBJ, "fees", "",
        {
            RPCResult{RPCResult::Type::STR_AMOUNT, "base", "transaction fee in " + CURRENCY_UNIT},
            RPCResult{RPCResult::Type::STR_AMOUNT, "modified", "transaction fee with fee deltas used for mining priority in " + CURRENCY_UNIT},
            RPCResult{RPCResult::Type::STR_AMOUNT, "ancestor", "modified fees (see above) of in-mempool ancestors (including this one) in " + CURRENCY_UNIT},
            RPCResult{RPCResult::Type::STR_AMOUNT, "descendant", "modified fees (see above) of in-mempool descendants (including this one) in " + CURRENCY_UNIT},
        }},
    RPCResult{RPCResult::Type::ARR, "depends", "unconfirmed transactions used as inputs for this transaction",