09a558eaf0
The return pubkey is explicit in the tx prefix for all STAKE types:
CARROT (v>=4) stores it in protocol_tx_data.return_pubkey, pre-CARROT
stores it as a top-level prefix field. Use it as the primary matching
key instead of relying solely on the CARROT _returnOutputMap path.
- Extract return_pubkey from prefix when recording StakeRecords
- Match PROTOCOL outputs by publicKey against stored return_pubkey
as fallback when CARROT returnOriginKey isn't set
- Pass return_address/return_pubkey/protocol_tx_data through
_convertJsonToTx so JSON fallback path has the same fields