How to properly use PreviousTxnID in a Ripple Transaction? At the moment I am implementing a transaction overwriting with NOPs in Ripple. I want to store information about a transaction I am overwriting inside of the NOP. Looking at the PreviousTxnID field it appears to be ideal for this purpose. However, when I try to use it I get an error of:

{
  "id": 11,
  "status": "success",
  "type": "response",
  "result": {
    "engine_result": "tefWRONG_PRIOR",
    "engine_result_code": -184,
    "engine_result_message": "This previous transaction does not match.",
    "tx_blob": "1200032200000000240000F69555DA10915AA58303872299078F4CD9AD81D4771219C38764BE84B3AB3D6763977268400000000000000F7321025D9E40A50D78347EB8AFF7A36222BBE173CB9D06E68D109D189FF8616FC211077446304402204710D875B7DFC0F9A9F2101F67E0043AE255258BF9F6F21BCF7D42BC19B3A41E0220554CAB999EF43FD3EF720C6869D63F2E324AD774662B51AE4599F50B60E9B4DA8114448BD3912AA0E86A18B17784E7177B262FC38D73",
    "tx_json": {
      "Account": "rfESTMcbvbvCBqU1FTvGWiJP8cmUSu4GKg",
      "Fee": "15",
      "Flags": 0,
      "PreviousTxnID": "DA10915AA58303872299078F4CD9AD81D4771219C38764BE84B3AB3D67639772",
      "Sequence": 63125,
      "SigningPubKey": "025D9E40A50D78347EB8AFF7A36222BBE173CB9D06E68D109D189FF8616FC21107",
      "TransactionType": "AccountSet",
      "TxnSignature": "304402204710D875B7DFC0F9A9F2101F67E0043AE255258BF9F6F21BCF7D42BC19B3A41E0220554CAB999EF43FD3EF720C6869D63F2E324AD774662B51AE4599F50B60E9B4DA",
      "hash": "B1932085BA94FEBE7A360D71359752A1666C48CCBBD97DFF16FFFA8626EDA253"
    }
  }
}


What is the correct way to use PreviousTxnID to overwrite a prior transaction in Ripple? (say, a transaction we submitted that never got into a ledger due to the use of LastLedgerSequence).
The PreviousTxnID field is deprecated, broken, and should never be used. Instead, use AccountTxnID. It works as follows:


You must use fully-canonical signatures and you should set the fully canonical flag (0x80000000) on all your transactions. Otherwise, the transaction ID could (in theory) be maliciously modified.
You must enable transaction ID tracking on your account. You do this by performing an AccountSet transaction with SetFlag set to 5. This causes your account to begin tracking each account that it executes.
Include a PreviousTxnID field in your transactions that contains the ID of the previous transaction. This will ensure that a transaction only applies if it has the expected predecessor transaction.


Now, replacing a transaction with a nop will invalidate any successor transactions that have a PreviousTxnID field.

If you wish to disable PreviousTxnID tracking for your account, perform an AccountSet transaction with ClearFlag set to 5.